diff --git a/CHANGELOG.md b/CHANGELOG.md index cbda15d..ad56225 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,34 @@ the [Deprecations](https://hugofara.github.io/pylinkage/deprecations.html) page. ### Fixed +- **`eliminate_theta()` returns the coupler curve.** It rewrote `cos(theta)` + as `sin(theta + pi/2)` before substituting `cos(theta)` — so nothing was + substituted, the Groebner basis was computed over the wrong generators, + and for a four-bar the function returned an expression still in `theta` + (which `docs/notebooks/05_symbolic_coupler_curve.ipynb` printed as a + "degree 0" curve). The rewrite is gone; every square root of the + parametrization becomes an unknown `r` with the constraint `r**2 = R`, so + the system is polynomial; floats are read as the rationals they stand for + (to 1e-10) so the basis is exact; and `cos(2*theta)` and the like are + expanded first. The rocker tip of a four-bar now gives its circle in well + under a second. Symbolic link lengths and a point built on a second dyad + (a root inside a root) remain slow, as the docstring says. + +- **The scipy and pymoo optimizers no longer print + `RuntimeWarning: invalid value encountered in subtract`.** Every wrapper + scores a candidate that cannot be built as `+inf` on purpose, and the + third-party code then subtracts one infinity from another — scipy's + finite differences in `dual_annealing_optimization`, the final polish of + `differential_evolution_optimization` and any gradient method given to + `minimize_linkage`; pymoo's crowding distance in + `multi_objective_optimization` and `co_optimize`. The wrappers now run the + third-party optimizer under `numpy.errstate(invalid="ignore")`, so the + expected `inf - inf` is silent. A warning printed during a run also names + the file that raised it, which is how the private path of the machine that + executed three tutorial notebooks ended up committed with their outputs; + the notebooks are re-executed, and a test now refuses a notebook whose + outputs name a home directory. + - **Putting a linkage back in a position puts its actuators back too.** An `ArcCrank` kept its angle and sweep direction, a `LinearActuator` its extension and direction, and a `Mechanism` `DriverLink` / `ArcDriverLink` diff --git a/docs/notebooks/02_optimize_coupler_curve.ipynb b/docs/notebooks/02_optimize_coupler_curve.ipynb index 72c4732..2c8eab1 100644 --- a/docs/notebooks/02_optimize_coupler_curve.ipynb +++ b/docs/notebooks/02_optimize_coupler_curve.ipynb @@ -25,10 +25,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:14.510918Z", - "iopub.status.busy": "2026-04-14T09:42:14.510788Z", - "iopub.status.idle": "2026-04-14T09:42:15.092437Z", - "shell.execute_reply": "2026-04-14T09:42:15.091894Z" + "iopub.execute_input": "2026-09-18T12:41:56.421048Z", + "iopub.status.busy": "2026-09-18T12:41:56.420932Z", + "iopub.status.idle": "2026-09-18T12:41:56.924314Z", + "shell.execute_reply": "2026-09-18T12:41:56.923839Z" } }, "outputs": [], @@ -67,10 +67,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:15.093983Z", - "iopub.status.busy": "2026-04-14T09:42:15.093756Z", - "iopub.status.idle": "2026-04-14T09:42:15.256254Z", - "shell.execute_reply": "2026-04-14T09:42:15.255555Z" + "iopub.execute_input": "2026-09-18T12:41:56.926236Z", + "iopub.status.busy": "2026-09-18T12:41:56.926030Z", + "iopub.status.idle": "2026-09-18T12:41:57.073611Z", + "shell.execute_reply": "2026-09-18T12:41:57.073145Z" } }, "outputs": [ @@ -108,16 +108,16 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:15.257622Z", - "iopub.status.busy": "2026-04-14T09:42:15.257510Z", - "iopub.status.idle": "2026-04-14T09:42:15.348220Z", - "shell.execute_reply": "2026-04-14T09:42:15.347792Z" + "iopub.execute_input": "2026-09-18T12:41:57.092794Z", + "iopub.status.busy": "2026-09-18T12:41:57.092568Z", + "iopub.status.idle": "2026-09-18T12:41:57.186133Z", + "shell.execute_reply": "2026-09-18T12:41:57.185640Z" } }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAICCAYAAADccUXLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAjntJREFUeJzs3Xd4FOXaBvB7tichhYSEGnrvoQQCSBNBQBSxi4oeu4AgfKJYKDawIDbEdhTLQVEpKiKISO8h9F5CT0IgvW2b+f4ILJlkNyQhu+9u9v5dV5R5dmbn3jeTzZPZKZKiKAqIiIiIiHyQRnQAIiIiIqKKYjNLRERERD6LzSwRERER+Sw2s0RERETks9jMEhEREZHPYjNLRERERD6LzSwRERER+Sw2s0RERETks9jMEhEREZHPYjNL5CYPP/wwJEmCJElYs2ZNuZdfs2aNY/l58+Y56vPmzcO0adPwwQcflFimb9++kCQJDRs2rLT1ufLWW2+hcePGMBgMkCQJDz/8cLnX6U4nT550vJ5p06aJjoOdO3dCo9EgMDAQqampHlnnggULMHz4cERFRTnG4t577y3Xc2zZsgUDBw5ESEgIgoKC0LNnTyxbtqzCmaZNm+bIcvLkyQo/jyvffvstevfujVq1asFgMKBatWqIiYnB22+/DZvNVqbnyMjIwLPPPot69erBaDSiSZMmmDJlCgoKCio97/W4dOkS7r//fjRv3hwhISHQ6/WoU6cO7rzzTuzatavMz7Ns2TL07NkTQUFBCAkJwcCBA7FlyxbVPH/88QckSULdunWRn5/vhldDdB0UInKLUaNGKQAUAMrq1avLvfzq1asdy3/zzTeOep8+fRQASoMGDUosU9pjFV2fM0uXLnXMe+Vr1KhR5V6nOyUmJjqyTZ06VXQcZdCgQQoA5ZlnnvHYOm+77bYS36d77rmnzMuvXbtWMRgMJZ5DkiRl/vz5Fco0depUx/MkJiZW6DlKM3LkyBJ5r3w99dRT11w+Pz9f6dixo9PlBw8erMiyXOmZK+ro0aMuX2tgYKBy4sSJaz7H/PnzFUmSSixvNBqVtWvXOuaTZVlp3bq1AkCZOXOmm18ZUflwzyyRl+rbty8URYGiKGXe67lmzRooiuKWPV5FFd3rs3btWiiKUqa9uZXJbrfDYrF4dJ2uKIpS6l67AwcOYMWKFQCA//znPx7L1b9/f8yePRsLFy6s0PJPPfUULBYLQkNDsX37dhw7dgz169eHoigYO3asV+6hGzRoEFasWIELFy4gJycHX375peOx+fPnX3P5jz76yLF9T58+HRcvXsQTTzwBAPjrr7/wyy+/uDF9+QQHB+O9997D4cOHkZ+fjyNHjqB79+4AgLy8PCxZsqTU5fPz8zF27FgoioL69evj6NGj2L59O0JDQ2E2m/H000875pUkCQ899BAA4OOPP4bdbnfzqyMqB9HdNFFV5WzPbNG9ha+++qryxhtvKPXq1VOCg4OVgQMHqvZUFd9TWnRZV3tFne2Z/euvv5SBAwcqdevWVUwmk2I0GpUWLVoor7zyipKXl+dyfa40aNDAaYYry2RkZCgTJ05UGjdurBgMBqV69erK4MGDlQ0bNjh9nj59+jhqrvamFn2dH374odKoUSNFo9EoO3fudJmz+HO98847SnR0tGIymZS+ffsq+/fvd8ybnp6u3H///UrLli2V0NBQRafTKTVr1lTuuOMOZd++fS5z//TTT0qrVq0UnU6nLF682GWW//u//1MAKA0bNlTVy7Pe61F0LMq6Z3bHjh2OZZ588klH/a233nLUFy1aVO4sRffMbt68WbnzzjuVatWqKREREcr48eMVs9lc7ue8lvDwcAWAEhERcc1527VrpwBQqlWrplitVkVRFOX8+fOOzLfeemuFMlgsFuW9995TOnbsqAQGBipBQUFK+/btr/kpSHl99NFHjqwff/xxqfMuXLjQMe+MGTMc9SeeeMJRT0hIcNSPHTvmqC9fvrxScxNdD53oZprIX3300UfIzMx0TP/9998YOXIkNm7cWKnr2bJlC/7++29V7fDhw3jjjTeQmJiIH374odLWlZWVhZ49e2L//v2OmsViwV9//YW///4bixYtwq233lrh5//jjz/w7bfflnu5L774AklJSY7pNWvWoF+/fti7dy+ioqKQkZFRYq9dSkoKFi5ciNWrV+PgwYOIiopSPb57927cd999KOy1S7dq1SoAQFxcnKpekfV6SkJCguPfLVu2dPrvhIQE3H777RVex4gRIxzfl5ycHHzwwQdIT0+vtL382dnZ+PHHH5GWlgYAqj2NzpjNZhw4cAAA0KRJE+h0hb8ia9eujZCQEGRlZanGpazsdjtuueWWEj+He/bswZo1ayrleHO73Y5jx47hf//7HwCgRo0auPPOO0tdpqzf45iYGODymNSsWRMpKSn4559/MGjQoOvOTVQZeJgBkSD5+fn4/fffkZaWhgEDBgAANm3ahHPnzjmdv2HDhlAUBX369AEANGjQwHEYQmm//IcOHYpNmzYhNTUVVqsVSUlJGDJkCHD5Y9crv+jL6uTJk5g6dapjOjEx0XEoxAcffOBoZEePHo309HSsWrUKAQEBsNvtGD16NGRZLtf6ikpLS8OUKVOQnp6OxMRENG7cuEzLZWRkYOXKlcjIyMDo0aMBABcuXHCcRFe9enUsXLgQZ86cQUFBgerj6bS0NKcfT2dkZODRRx/FhQsXkJSUVKJRvcJut2PPnj0AgDZt2qgeK896i544VdpXZSl6klpISIjTf1+4cOG61tGkSROcO3cOhw8fRrNmzYDLJ3AdPnwYKHZSYmlfxU+w3LJlCyRJQkhICJ588kkAwHPPPYfXX3+91DxpaWmOj8+Lvs6i0xV5zT/++KOjke3QoQMSEhKQk5ODzZs3O372UeQEztK++vbtW+L5b775Zuh0OrRs2RJbt25FdHQ0Vq9ejVq1apWaqyLf47Zt2wIAduzYUe5xIHIXNrNEgtx2220YNmwYqlevjhEjRjjqp0+frtT11K1bF19++SU6deqEwMBA1K5d23E2uqIoOHr0aKWt66+//gIAaDQazJgxA2FhYejfv7/j9Z09e1a117a8WrZsienTpyMsLAwNGzYs0XC4MmLECAwYMAChoaGYMWOGo+lbvXo1ACA0NBQnT57ErbfeioiICFSrVg2PP/64Y/krzVVRYWFh+PjjjxEZGYlatWqhZs2aTtd96dIlR4MUERGheqwi6xWt6J7o622ep06dijp16qB58+YYN26co16Rq39cy+zZs/HKK69UePkrr7sir7no1R8+/fRTxMTEICgoCN27d8cDDzxQ4UyunDlzBjfffDNOnTpVoeVL+x7XqFEDuPwJApG3YDNLJMiVPVEAYDKZHP82m82Vtg5ZlnHLLbfgm2++wZkzZ2C1WkvMU5kn8Vy8eBG43KQFBwc76tHR0Y5/l3ZZqmudVNK+ffsStYYNG15zz1XR9QcHByM0NFSVd/bs2Zg4cSJ27tyJ3NzcEss7G6PmzZurvm8VUZ71Tps2zbEnvrSvyhIZGen4d9HDYbKzs53OUxFFvy/16tVz/PvK96XoSZClfRX/nnfv3h2KoiArKwuLFy92/NEzc+bMUpuw8PBwaLXaEq+56OuuyGsuus23atXK5XxXTuAs7ctZo798+XJYrVYcO3YM99xzDwDg3LlzeO+990rNVZHv8fV8skLkLmxmiQTR6/WOf5dnb0955j127Bh27twJABgwYABSUlKgKAomTpxYzrRlc2WvTWZmJnJychz1M2fOlJjHaDQCgOoqAImJiaU+f0BAQIVyFV1/dna24xf3lSxXzlA3mUzYunUrbDYb9u7dWylZIiIiHA3SpUuXVI+VZ72ePsygU6dOjn8X3UN86NAhp/NURNHvy9mzZx3/vvJ9qehhBlcEBwdj+PDh6N+/P3D5j6XStjGj0YjWrVsDAI4fP+64Lm1SUhKysrIq/JqLNoRFx6+4ih5mAAA6nQ5NmjTB5MmTHbVrfepSke/xlW3Y1ScRRCKwmSXyMdWrVwcu771KTk4udd6ie3mNRiMCAgIQHx+P77//3i3Zbr75ZuDy3puXXnoJmZmZWL16NRYvXgxc3vt25Zi7K3vl9u3bh7NnzyI/Px8zZ84s9zpPnjx5zT1Xixcvxr///ovMzExMnjzZsQezX79+QJFxkiQJwcHByMjIqLQbLWi1Wsce5X379qkec+d6cfmkqosXLyI9Pd1Rs1gsuHjxIi5evOjYyzZv3rwSjWGnTp0cexF/+uknxMfH49ixY/jss8+Ay036le93RW9Q8frrryMpKQlHjx7Fhx9+6Ki7atiuJTk5GePHj8fmzZuRnp6O3NxcLFu2zHE4SfEbilzJXPQErCsf++fm5uKtt95CWlqa6jWNHDlSlbMsNykZOnSo49+jR4/G7t27kZeXh+3bt1/Xz+Inn3yCefPmITExEWazGadOncK7777reLzoMeXOblYxePBgx6Evc+fOxbFjxxAfH48FCxYAAFq3bu04+euKK39sde7cucK5iSqd6MspEFVV17o0V9FLT33zzTcl5nV1qayil0a68vXll18qipNLc1ksFqVp06Yl5m/SpEmZ1+eMqwvfZ2RkKC1btnR66S6tVqu6fNVnn33meEyn0ylGo1EJDAy85qW5yqroWNeuXbtEnqioKCUlJaXE63E2RkXX6+ySYtdy5dJcxW9mUZ71VkTRbdDZ15XvnbPtT1EUZc2aNWW6aUJ5blBR9DU7+75cz2su7fJ1AJRnn31WNb+zdZbnpgllvUmJzWZTBg4c6PQ5r+f1lvb9DQ8PV44ePeqY19XPbFlvmqAUu0kDL81F3oR7Zol8zNixY/Hggw86PootjV6vx++//45+/fohKCgI0dHRmDVrlltOOsHlY2U3bdqE5557Do0aNYJer0dYWBgGDRqEf//9F8OHD3fM+9hjj+Gll15C3bp1YTAYMHDgQPz+++9uyfXEE0/gnXfeQXR0NIxGI/r27Yt///3XcdmryZMnY/z48YiKikK1atVw55134scff6y09T/yyCMAgFOnTiE+Pt5Rd/d6r1efPn2wdu1a3HTTTQgODkZgYCB69OiBpUuX4r777nPMV/TwiY4dO5b5+RctWoQ777wT1apVQ3h4OMaNG4cvvviiwnnDw8Px5JNPom3btggLC4NWq0VERAT69++Pb7/91uktoIszmUxYvXo1xo4di7p160Kv16NRo0Z49dVXsWjRItWhHFde97Ves1arxdKlS/Huu++iY8eOCAgIQGBgINq1a1fhvdAAcOutt2LQoEGoU6cODAYDTCYTmjdvjqeffhoJCQlo2rTpNZ/jvvvuw9KlS9GjRw8EBgYiODgYN910E9asWYPevXur5v3111+By5+w3HTTTRXOTVTZJKUyzxggIiKnbr75ZqxYsQJPP/00Pv30U9FxKtXMmTMxefJk3H777Vi0aJHoOB6RnJzsuP7s/v37VSewVUWKoqBNmzY4ePAg3n77bUyaNEl0JCIH7pklIvKAt956C5IkYd68eaVe0cEXrVy5EtWrV69yTXppVq5cCQB45513qnwjCwBLly7FwYMHUadOHYwdO1Z0HCIV7pklIiIiIp/FPbNERERE5LPYzBIRERGRz2IzS0REREQ+i80sEREREfksnegAnibLMs6fP4/g4OBKvfUjEREREVUORVGQnZ2NOnXqQKMpfd+r3zWz58+fd9xGk4iIiIi815kzZ655+Tu/a2aDg4OBy4MTEhLi9vXJsozU1FRERkZe8y8Lf8OxcY7j4hrHxjmOi2scG+c4Lq5xbJzz9LhkZWUhOjra0beVxu+a2SuHFoSEhHismS0oKEBISAh/KIrh2DjHcXGNY+Mcx8U1jo1zHBfXODbOiRqXshwSyu8SEREREfksNrNERERE5LPYzBIRERGRz/K7Y2aJiIiqOkVRYLPZYLfbnT4uyzKsVisKCgp4XGgxHBvn3DEuer0eWq32up+HzSwREVEVYrFYkJSUhLy8PJfzKIoCWZaRnZ3Na64Xw7Fxzh3jIkkS6tWrh2rVql3X87CZJSIiqiJkWUZiYiK0Wi3q1KkDg8HgtPG4sudWp9OxYSuGY+NcZY+LoihITU3F2bNn0axZs+vaQ8tmloiIqIqwWCyQZRnR0dEIDAx0OR8bNtc4Ns65Y1wiIyNx8uRJWK3W62pmeTAIERFRFcNjPckXVFZTzK2diIiIiHwWm1kiIiIi8llsZomIiIjIZ7GZJSIiohJOpWXjwzV78cKSrfhwzV6cSst26/oefvhhSJLk+IqIiMDNN9+MPXv2uHW95Pt4NQMiIqIqSlYUZORbStQVRYHdZoNWZ3d6Es5f+0/jvVW7AUgAFAAS5m05jOcHdMTNraPLvP6wAAM05TjJ5+abb8Y333wDAEhOTsYrr7yCW265BadPny7zc5D/YTNLRERURWXkW9Dvwz+u4xkU1f/fXrkLb6/cVealV48bhvBAY5nnNxqNqFWrFgCgVq1aePHFF3HDDTcgNTUVkZGR5cxO/oKHGRAREfkKRQHM5sL/V3E5OTn44Ycf0LRpU0RERIiOQ16MzSwREZG3O38e6NAB0GgAkwkYN050IrdYunQpqlWrhmrVqiE4OBi///47FixYwOvmUqm4dRAREXmrn38GJAmoWxcoeiLU2rUiU7lNv379sGvXLuzatQvbtm3DoEGDMHjwYJw6dUp0NPJiPGaWiIjImxQUAP/5D/Djj67n+e9/y/RUYQEGrB43rET96glgJW9NejY9B6O+Xw3ZyZEMGgn47qH+qBsWVOb1l0dQUBCaNm3qmP7qq68QGhqKL7/8Em+88Ua5nov8B5tZIiIib3D0KBAbC2RkuJ5n3jxg1KgyP6VGkpyegKUoCmw2LXROmtnwQCOmDemCacviIUGCAsXx/2lDuqBdnfDyva7rIEkSNBoN8vPzPbZO8j1sZomIiET65Rfg7rtdP96kCfDvv0D9+h6LdFv7hoipVwOL9yTifEYe6oQF4vb2jVA/vJpb12s2m5GcnAwASE9PxyeffIKcnBwMG1Zy7zLRFWxmiYiIPE2WgeefB95/3/U8//d/wMyZgFbryWQO9cOrYVzfdh5d5/Lly1G7dm0AQHBwMFq2bIlffvkFffv29WgO8i1sZomIiDwlOxsYOhRYv971PMuXA4MGeTKVV5g3bx7mzZsnOgb5IDazRERE7nbqFBATA6SnO3+8cWNg3brCqxYQUbnw0lxERETusnVr4aW1GjZ03siOHFl4E4Tjx9nIElUQm1kiIqJS2Gw2vPvuu2jbti1MJhPCw8PRr18/JCQkuF7ozz8Lm9ju3Z0/Pnt24V28fvgBMJTv8lVEpMbDDIiIiEpxzz33YNGiRWjWrBlmzpwJvV6Pf//9F/v27UOnTp3UM3/zTeE1Yl1ZtgwYPNjtmYn8CZtZIiIiF9avX49FixYhNDQUmzZtQo0aNQAAo0ePhizLV2f88ENg/HjXT7R3L9C2rQcSE/kfHmZARETkwpYtWwAAvXv3djSyV2g0GuDttwsPJ3DWyFavDpw5U3g4ARtZIrdhM0tERFRe06cXNrEvvljysTZtgLS0wq969USkI/IrPMyAiIjIhbi4OODy4QaXLl1CxBdfAC+9BACQi+8RiosDVq4EgoLEhCXyU2xmiYiIXOjVqxdGjBiBRYsWoWeNGngagBHAvwCGAXgQAPr1K7x6QUCA6LhEfonNLBERkSvffIMFixbhfQDfApgEwASgPYDW3bsDa9YARqPolER+jcfMEhERFffbb4XHxP7nP9BdbmL3AzADyOzbF+sLCtB58+Yq3chmnUlFwmd/Yv3U75Hw2Z/IOpPq9nUmJydj7NixaNy4MYxGI6KjozFs2DCsWrXK7esm38U9s0RERFds3er6RgedOwNr1/rUMbGKLMOcmVeyriiw2W3QaXWQJKnE44n/7ET8R79BkgovxiBJwP7/rUbXZ29DwwExZV6/MTQQkqZs+81OnjyJnj17IiwsDO+++y7atWsHq9WKFStWYPTo0Th06FCZ10v+hc0sERH5nawDW5G+6j0g/ywQUA/VW9+PkAEjnM/ctCmwYwcQEuLpmNfNnJmHX4ZNrfDyiqL+//YPl2D7h0vKvPxdf0yHqXq1Ms37zDPPQJIkbNu2DUFF/mBo06YN/lPajSjI77GZJSIiv3J2/hQEp7yJUAWQ9Apg2wZlzyKcvbEO6q06f3XGoCDgxAkgKkpkXL+QlpaG5cuX480331Q1sleEhYUJyUW+gcfMEhGR38g6sBXBKW9CkhRoNAokCZAkBYCC4KHJyKobXDjj4cNATg4bWQ85duwYFEVBy5YtRUchH8RmloiI/Eb6qllO61eODU0f3bPwH82bezybP1OuHMdAVAE8zICIiPzDgQPAqQQodQqbV6e0GR4O5V7G0EDc9cf0EvXSTgDLPn8Jy5/6+OqBskVJEgZ/NhbV6kSUef1l0axZM0iSxJO8qEK4Z5aIiKo0KT0d0rhxQPv2sF5wvQdQkhQgINqj2dxN0mhgql7N+VeY83pkmwboMfluQCNB0mogaaTCKxJoJPSYfDdqtGng+jmLfZX1Sgbh4eEYNGgQ5syZg9zc3BKPZ2RUrT8yqHJxzywREVVN+fmQ2rZFzRMnAAAyJJw41RGRMScdl5sqrnqPez2f0ws1GRKLyPaNcWzpVuQmpSGodjia3tINIfVquG2dc+bMQc+ePREbG4vXXnsN7du3h81mw8qVKzF37lwcPHjQbesm38ZmloiIqp7Jk4GZM1G0Xz3cIBYp9obYGX8TYrqshCwX7o290tRKEqBL/hmAi0t0+ZmQejXQ6amhHltf48aNkZCQgDfffBMTJ05EUlISIiMj0blzZ8ydO9djOcj3sJklIqKqY+1aoG/fEuU8QxB2N+sH5Ftw5lQbpF2si8YtD6NO9AmYdMmO+WxHf4Yt6TnoanfzcHACgNq1a+OTTz7BJ598IjoK+RAeM0tERL4vIwPQ6502sllvvon4yXNhzbc4arm5Yajz6PeIHLMfMFZXzW9e/zzPrifyIWxmiYjIdykK8OSTQPXqgM2mfqx/f8gWC852vRGn/tmleqjJkK6Iat8Ikqk6jN1eVj1mP78BtuO/eSI9EVUCNrNEROSbVq0CNBrgiy9KPnb6NLBqFeyygkNf/aN6yFAtADFPXz0W1NB+NKSQRqp5zBtfhGK3ui87EVUaNrNERORbcnKAgABgwICSj/30U+He2ujCS2wd+nk9cs+lqWbp+OQQBFQPdkxLOiNMPd9UzSOnH4F135fuegVEVInYzBIRke94800gOBgoKFDXb78dkGXgnnscpdzkdOz9dqVqtoiW0Wh2a/cST6trfjc0NbuoauYt06GYsyr7FRBRJWMzS0RE3u/o0cJrZ73ySsnHzp0DFi0qceHY7R/9BntBkUMFJAnd/u8OaLQlf/VJkgamG95V1ZT8VJh3vFOJL4KI3IHNLBEReS9ZLjycoHnzko99+23hIQV16pR46Nzmgzizbq+q1vy27oho6foOX7p6faBrPExVsyTMhpxz7npeARG5GZtZIiLyTn/9BWi1hSd6FdWmDWCxAA895HQxm9mKbbMXq2rG0CB0fGLINVdp7DUTkLRFniwf5k2vVvAFEJEnsJklIiLvYjYDtWsDQ5w0n/HxwL59hdeUdWH/D/8i5/wlVS3m6aEwhgRec9Xa8FbQt31UVbMe+Bb2i3tdLkNEYgltZmfMmIGuXbsiODgYUVFRGD58OA4fPlzqMvPmzYMkSaovk8nkscxERORGCxYAJhOQnKyujx1beEhB586lLp597iL2/e9fVS2sZV00vrn05Yoydp8G6IOKVBQUrH+hzMsTkWcJbWbXrl2L0aNHY8uWLVi5ciWsVisGDhyI3NzcUpcLCQlBUlKS4+vUqVMey0xERG6QmwvodMC995Z8LCUF+Oijaz6FoijYNnsxZMvVmydIWg1aPjYAkqbsv+40QbVg7Py8qmY/tRy20/+4XKYqsqcfRcGGychbdj8KNkyGPf2o29eZnJyMsWPHonHjxjAajYiOjsawYcOwqvihJkRF6ESufPny5arpefPmISoqCjt27EDv3r1dLidJEmrVquWBhERE5HZffFF4F6/i3nsPmDixzE9zZt0+nN9ySFVrMaInghtGlTuSofNEWPZ+DiU3yVErWD8JQffHQ5J85wg9RZGh5F9yUleg2G2QtTpIxa4CAQDWwz/CvG4CAAmAAkCCZce7MPaeDX0LJ39wuCAFRJR5vE6ePImePXsiLCwM7777Ltq1awer1YoVK1Zg9OjROHToUBmehfyR0Ga2uMzMTABAeHh4qfPl5OSgQYMGkGUZnTp1wltvvYU2bdo4nddsNsNsNjums7IKrxkoyzJkWa7U/M7IsgxFUTyyLl/DsXGO4+Iax8Y5nx2XrCxoqld3+pCclgaEhhZezaAMbPkWbP9wiaoWEBGCtg8PQEZedvnHRhsAQ7dpMP97tcmWU3fBcuB76Fs9WL7n8qAr28KVLznvInK/rLydP+a142BeO67M8wc9ngxNYGSZ5n3mmWcgSRK2bt2KoKCrh3m0bt0ajzzyCBRFqVDmiriyLk+u0xdU9rg4tlMnPVl5fma9ppmVZRnjx49Hz5490bZtW5fztWjRAl9//TXat2+PzMxMvPfee+jRowf279+PevXqlZh/xowZmD59eol6amoqCopfdNsNZFlGZmYmFEWBphwfc/kDjo1zHBfXODbO+eK4BPz4I0InTChRz3z/feTfd1/hSWAXLpT5+Y7+sBZ5FzJUtSYP9kZ6blbFx6bGEJhCW0CTefVcjvyNLyM9tDegCyjfc3mI1WqFLMuw2Wyw2WxQ7LYyLOU+drsNsu3aGdLS0rB8+XK89tprMBqNsBVbplq1aiVq7qIoCux2O3D5k2Aq5I5xsdlskGUZly5dgr7YSZ3Z2dllfh6vaWZHjx6Nffv2YcOGDaXOFxcXh7i4OMd0jx490KpVK3z++ed4/fXXS8w/efJkTCjyhpmVlYXo6GhERkYiJCSkkl9FSbIsQ5IkREZG+swvGU/h2DjHcXGNY+OcT41LQQGk8HBIRT4xAwAlIADKhQsIDgxEsMuFncs8mYJTf8SrajU7NUX723tDUZTrGhtbn3dR8PutjmlN3nmEnf8Jhi7eeUJYQUEBsrOzodPpoNPpIGvF/prXanXQ6K6d4eTJk1AUBa1bt4auDPN7QvHmigpV5rjodDpoNBpERESUOJm/PCf3e8UWM2bMGCxduhTr1q1zune1NHq9HjExMTh27JjTx41GI4xGY4m6RqPx2Ju+JEkeXZ8v4dg4x3FxjWPjnE+My++/A7fdVrI+fz6k++5DRfb1KIqC7R8sgWK/+pGkRqdFt4kjoNVqHY1+RcdG32gorNH9YT9z9QoJlvi3YWj7WJk/PvckjUZT4oo/IpU3gzdkvvIHELhnVsUd43Ll++3s57M8P69Cm1lFUTB27FgsXrwYa9asQaNGjcr9HHa7HXv37sUQZ9cjJCIi8ex2oEUL4Pjxko/l5ABBQc6WKpOT/+xESoJ6Z0are/sgtEHNCj9nUZIkwdTrbeT+2PVq0ZIFy7bXYep77SssiCYFRKDaEykl6oUfGdugdXICmJx5Ank/9wQUJ8csShoE3r0JmtCy/b6WAiLKNF+zZs0gSRJP8qIKEfon/OjRo/HDDz9g/vz5CA4ORnJyMpKTk5Gfn++Y56GHHsLkyZMd06+99hr+/vtvnDhxAgkJCXjggQdw6tQpPPbYY4JeBRERubR5c+Elt4o3sh9+WHjd2OtoZC05+djxye+qWlDN6mg3akCFn9MZbc3O0LccqV73ns88cqmq6yVJGmgCI51+SQHO67ra3WAa8BUgaQrvhlbk/6YBX0FXO9blc5ZYRxmvZBAeHo5BgwZhzpw5Ti/PmZGR4XQ5IohuZufOnYvMzEz07dsXtWvXdnwtWLDAMc/p06eRlHT10ijp6el4/PHH0apVKwwZMgRZWVnYtGkTWrduLehVEBGRU3fcAfToUbJ+8SLw7LPX/fS7/7sC+ZfUJ4l0GXcb9AElDy27XsYebwDaIs8r22De+FKlr8dbGNo8jGqjDsHQ+f+ga3Y3DJ3/r3C6zcNuW+ecOXNgt9sRGxuLhQsX4ujRozh48CA++ugj1bkyRMUJP8zgWtasWaOanj17NmbPnu3GVEREdF2SkoA6dUrWX3oJePPNSllF2tHzOLxQfcJw3bhWiL7B9dVwrocmpAEMHcfCsuM9R812bCFs5zdBV8dJw14FaMKawtRrhsfW17hxYyQkJODNN9/ExIkTkZSUhMjISHTu3Blz5871WA7yPV5xAhgREVURn34KjB5dsn7iBFCB8yKcUWQZ295fCEW+ukNEY9Ch6/jhbj1hx9j1JVj3fw2lIM1RM6+fBO3d63miUCWpXbs2PvnkE3zyySeio5AP8eLTXomIyGdYrUBYWMlGdsCAwhsfVFIjCwDH/4pH6t6TqlrbB/ojuG6NSluHM5IpDIbYV1Q1e9Im2I4vdut6iah0bGaJiOj6bN8OGAzA5bs4OqxYAaxcCVTiXktzVh4S5i5V1YLrRqDtyP6Vto7SGDo8Aym0sTrThslQ7FaPrJ+ISmIzS0REFTd6NBAbW7KemwsMHFjpq9v5+TKYM9Rnu3cdfzu0Rs9c4F7SGmDq+ZaqJmcchXXv5x5ZPxGVxGaWiIjKLy+vcI/rp5+q69OnF15yKzCw0ld58eBpHP19i6pWv0871I1rVenrKo2u2V3Q1uqmqpm3vgbFnOlyGSJyHzazRERUPuvXO78+7OHDwJQpblmlbJex9b2FhY3yZVqTAV2edXJHMTeTJAnGG95V1ZT8izDHv+3xLETEZpaIiMrjySeB3r3VtSZNCu/y1by521Z79PctSDt8VlVr//BNCKpZ3W3rLI2ubi/omgxX1SwJH0DOPiMkD5E/YzNLRETXlp9feFjBF1+o63PnAseOAeW4j3q5V52ejV2fL1PVQhvWRKt7ertcxhOMPWcU3hnrCnsBzJvcs2eaiFxjM0tERKWLj3d+DGxiIvDUU25ffcKnS2HJyVfVYieMgFYv9lLp2vAW0Ld7XFWzHvwO9tTdwjIR+SM2s0RE5NqrrwJdu6prjRsXHlbQsKHbV39h9wmc+CteVWt4UwxqdWrq9nWXhbHbVEBfrUhFQcH6SQITEfkfNrNERFSSLBfeBOGNN9T1Dz8Ejh9362EFjgg2O7a+v0hV0weZ0Hn0rW5fd1lpgmrC2EXdvNpPr4Tt5AphmahyNGrUCB988IHoGF7hv//9LwYNGlTu5bp3746FCxe6JVNRbGaJiEjt3DlAqy15E4RDh4Bnn/VYjEMLNyDjeJKq1uHRQQisEeKxDGVh6DQBUlAdVa1gwyQosl1YJl+VnJyMsWPHonHjxjAajYiOjsawYcOwatUq0dH8VkFBAV599VVMKXalkqysLLz88sto2bIlTCYTatWqhQEDBmDRokVQLl915JVXXsGLL74IWZbdmpHNLBERXbVoEVCvXsm6xQK0aOGxGHmpmdj9lXrvZvWmddBiRE+PZSgrSR8IY4/XVDX54l5YD34vLJMvOnnyJDp37ox///0X7777Lvbu3Yvly5ejX79+GF38Nsk+wGKxeGxdVqv77kD366+/IiQkBD17Xv3Zy8jIQI8ePfDdd99h8uTJSEhIwLp163DPPfdg0qRJyLz8h/DgwYORnZ2Nv/76y235wGaWiIgcRo0C7rhDXXvmmcJru+o9c4etK+I/+R22fLOqFjtxBDQ6rctlRNK3GgVNjXaqmnnzq1CsecIy+ZpnnnkGkiRh27ZtuOOOO9C8eXO0adMGEyZMwJYtV2+Wcfr0adx2222oVq0aQkJCcPfddyMlJcXx+MMPP4zhw9WXTRs/fjz69u3rmO7bty/GjBmDMWPGIDQ0FDVq1MCrr77q2KPoTEZGBh577DFERkYiJCQE/fv3x+7dV0/2mzZtGjp27IivvvoKjRo1gslkcvlcGzduRN++fREYGIjq1atj0KBBSE9PBwA0bNiwxOENHTt2xLRp0xzTkiRh7ty5uPXWWxEUFITXX38d9erVw9y5c1XL7dy5ExqNBqdOnSrTa3Dmp59+wrBhw1S1l156CSdPnsTWrVsxatQotG7dGs2bN8fjjz+OXbt2oVq1wuPItVothgwZgp9++qnUdVwvsaeCEhGReDab82Z1xQq33JL2WpLij+DUql2qWpOhsYhq18jjWcpK0mhh6vU28pYMcdSUnHOw7PwAxtiXhGYDAHTpAiQnq0pubwBq1Sq8EkYZpKWlYfny5XjzzTcR5OSGHGFhYQAAWZYdjezatWths9kwevRo3HPPPVizZk254n377bd49NFHsW3bNsTHx+OJJ55A/fr18dhjjzmd/6677kJAQAD++usvhIaG4vPPP8eNN96II0eOIDw8HABw7NgxLFy4EIsWLYJW6/wPr127duHGG2/Ef/7zH3z44YfQ6XRYvXo17PbyHZYybdo0zJw5Ex988AF0Oh3y8/Mxf/58PP300455/ve//6Fnz55o0KBBmV9DcRs2bMCDDz7omJZlGT/99BNGjhyJOnXqlJj/SiN7RWxsLGbOnFmu11ZebGaJiPzZ2bNAdHTJ+oULQGSkx+PYLTZsK3bSlyE4AJ2eGurxLOWlbTAI2voDYD/9j6Nmjn8b+raPQRMYJTQbkpMLj4W+TBIapqRjx45BURS0bNmy1PlWrVqFvXv3IjExEdGXt9vvvvsObdq0wfbt29G1+JU3ShEdHY3Zs2dDkiS0aNECe/fuxezZs502sxs2bMC2bdtw4cIFGI1GAMB7772HJUuW4Ndff8UTTzwBXD604LvvvkNkKT8777zzDrp06YJPi9wKuk2bNmXOfcX999+PRx55xDE9cuRIzJo1C6dPn0b9+vUdTecrr7xSrtdQVEZGBjIzM1VN68WLF5Genn7N79UVderUwZkzZyDLMjRuOnGUzSwRkb9auhQo9vEhatYEkpIKb5AgwIEFa5F1OlVVi3lyKEzVq7lcxltIkgRTr3eQO78zgMsfV1uyYd76GgL6fSI2XK1aqsmiH6a77TtdbJ2lKe3j/aIOHjyI6OhoRyMLAK1bt0ZYWBgOHjxYrma2e/fukIps53FxcZg1a5bTPaS7d+9GTk4OIiIiVPX8/HwcP37cMd2gQYNSG1lc3jN71113lTmnK126dFFNd+zYEa1atcL8+fPx4osvYu3atbhw4YJjXWV9DcUfA6A6ZKKs36srAgICIMsyzGYzAgICyrVsWbGZJSLyR88/D7z3nrr2f/8HvPuuqETISU7D3nkrVbWIVtFoOqybsEzlpY3qCH2rB2E9+J2jZt37BQwdn4W2uvtu93tNxT/uVxTYbDbodDphf7gU1axZM0iShEOHDl33c2k0mhIN1/WeIJWTk4PatWs7PZThyiEQAJweIlHctRq6suZ3tq6RI0c6mtn58+fj5ptvdjSvZX0NRUVERECSJMfxvAAQGRmJsLCwMn+v0tLSEBQU5LZGFjwBjIjIzyhK4U0PijeyK1YIbWQBYPuHS2A3F/mlLUnoNvEOaLS+9avK2ON1QFvk5B/ZBvOGySIjeb3w8HAMGjQIc+bMQW5ubonHMzIyAACtWrXCmTNncObMGcdjBw4cQEZGBlq3bg1cbraSktSXdNu1axeK27p1q2p6y5YtaNasmdNjXTt16oTk5GTodDo0bdpU9VWjRo1yvdb27duXeqmx4vmzsrKQmJhYpue+//77sW/fPuzYsQO//vorRo4ceV2vwWAwoHXr1jhw4ICjptFocO+99+J///sfzp8/X2KZnJwc2Gw2x/S+ffsQExNTpvwV5VvvEEREVHF5eYU3Oyj+i/HcOSEnehV1dtMBnF2/X1VrPjwOES2dHM/r5TTB0TDEjFPVbMcXw3Zug7BMvmDOnDmw2+2IjY3FwoULcfToURw8eBAfffQR4uLiAAADBgxAu3btMHLkSCQkJGDbtm146KGH0KdPH8fH7v3790d8fDy+++47HD16FFOnTsW+fftKrO/06dOYMGECDh8+jB9//BEff/wxxo0bV2K+K+uNi4vD8OHD8ffff+PkyZPYtGkTXn75ZcSX8SS3KyZPnozt27fjmWeewZ49e3Do0CHMnTsXFy9edOT//vvvsX79euzduxejRo1yeTJZcQ0bNkSPHj3w6KOPwm6349Zbr95gpKKvYdCgQdiwQb3tvvnmm4iOjka3bt3w3Xff4cCBAzh69Ci+/vprxMTEICcnxzHv+vXrMdDN7y9sZomI/MHx44Czj0CtVsDJGcmeZDNbsX32YlXNGFYNHR8fLCzT9TJ2fRGSSX1sonn9pHIfb+hPGjdujISEBPTr1w8TJ05E27ZtcdNNN2HVqlWOS05JkoTffvsN1atXR+/evTFgwAA0btwYCxYscDzPoEGD8Oqrr2LSpEno2rUrsrOz8dBDD5VY30MPPYT8/HzExsZi9OjRGDdunNOToK6sd9myZejduzceeeQRNG/eHPfeey9OnTqFmjVrlut1Nm/eHH///Td2796N2NhYxMXF4bfffis85ONys9unTx/ccsstGDp0KIYPH44mTZqU+flHjhyJ3bt34/bbb1d9tF/R1/Doo49i2bJljmvH4vKe9C1btuCBBx7AG2+8gZiYGNxwww348ccf8e677yI0NBQAcO7cOWzatEl1opo7SIqf/WRlZWUhNDQUmZmZCAlx/11kZFnGhQsXEBUV5baz+HwVx8Y5jotrHBvnrjkuy5YBQ4tdDWDw4MK6F9j93+XY8436WNkeL9+LJoPLfjKPKyK3GfPOj2BeO15VCxiyAPrm13/yjysFBQVITEy85nVOlSLHzEpecMysp/Xt2xcdO3Z0ertafx8bZ+666y7ExMTg+eefL9e4vPDCC0hPT8cXX3zh9PHSttfy9Gv8bUBEVJVNnVqykX3vPa9pZLPOpGLfD/+qalHtG6HxzV1cLuMrDO2fgiasqapWsPElKHbP3RmKqDK8++67Ja4fWxZRUVF4/fXX3ZKpKDazRERVVd++wGvq26xi9Wpg4kRRiVQURcH22YshW69eCknSahA78Y4qsUdM0hpg7PmWqqZkHodlz1yXyxB5o4YNG2Ls2LHlXm7ixInlPgyjInhpLiKiqkaWAWcnjJw5A9SrJyKRU6fX7sX5bYdVtZZ33oDqTWoLy1TZdE3vgLZ2HOxJmx01y9Y3YGg1CpLJ+eWQyP3Ke7cw8m7cM0tEVJXk5jpvZAsKvKqRteaZEf/RElUtoEYIOjwq9qoKlU2SJBhvUF/yTCm4BHO8e2/vSeRP2MwSEVUVZ88CxY9ra9CgcE/t5dtXeou981Yi70KmqtZl7K3QB7o+aclX6er0gK7pCFXNsvNDyFmn3bZOPzu3m3xUZW2nbGaJiKoA/c6d0DRooC6OHAmcPOkVd3gqKuNEMg4sWKuq1erSDA36dxSWyd2MPWcAmiJH9tnNMG9+tdLXo9frAQB5eXmV/txElc1iKTwZsqzX0XWFx8wSEfm6BQsQcf/96to77xTestbLKIqCbe8vgmKXHTWNTovYCSOqxElfrmirN4O+3ZOw7p7jqFkP/gBDzHhooyrv7kharRZhYWG4cOECACAwMNDpuPLyU65xbJyr7HGRZRmpqakIDAx0XGO3otjMEhH5stdeg2bqVHXt99+BYcNEJSpV4soEpOw6rqq1vq8vQutHCcvkKcZuU2A9+D1gybpcUVCwfhICR/xdqU1TrVq1AMDR0DqjKApkWYZGo2HDVgzHxjl3jItGo0H9+vWv+/nYzBIR+aqRI4H589W1PXuAdu1EJSqVJScfOz75Q1ULqlUd7UYNEJbJkzSBkTB2eQHmTS87avYzq2A7uRz6RpV3tzNJklC7dm1ERUXBarU6nUeWZVy6dAkRERG8AUkxHBvn3DEuBoOhUp6LzSwRkS+KjQW2b1eV5KQkaC7vlfNGu79agYK0bFWt67jh0JkMwjJ5mqHTeFj2zIWSc9ZRM294AboGAyFpru+4weK0Wq3LYxFlWYZer4fJZGLDVgzHxjlvHhfvSkNERKVTFCA0tEQjm3ziBBDlvR/Vpx05i8OLNqhqdXu0Rr1ebYRlEkHSBcAYp76RhXxpH6wH5gnLROTr2MwSEfkKux3QaICsLFVZtlqBgABhsa5FkWVsnbUIinz1Mjxagw5dxw/3y2MS9a0ehKZGe1XNvHkKFGuusExEvozNLBGRL8jPB4qf8RseXngNWS/7yK+4Y8u24+L+U6pa24cGILhOhLBMIkkaLUw3vKOqKblJsCS8LywTkS/z7ndAIiIC0tKAwEB1rXt34NIlr7uGbHHmzFzsnLtUVQuuVwNt7usrLJM30DUYCG199d3OzPHvQs5NEZaJyFexmSUi8mbnzwMRxfZgjhwJbN4sKlG57Px8GcyZ6gv4xz53O7RGvbBM3qJw72yRP0asOTBvnS4yEpFPYjNLROStEhOBunXVtZdfBn74QVSickndfwpH/9iqqtXv2x51urUUlsmbaCPbQ996lKpm3fsl7GmHhGUi8kVsZomIvNHBg0DjxuraJ58Ab7whKlG5yHYZ22YtKrz6wmW6AAO6PHub0Fzexhj3GqArcvKeYod5w2SRkYh8DptZIiJvs3Mn0Lq1uvbDD8Do0aISldvRJZuQduSsqtb+kYEIigoTlskbaYLrwRAzXlWznfgNtnPrhWUi8jVsZomIvMmmTUCnTura4sWFx8n6iPy0bOz88i9VLbRhTbS6u7ewTN7M2OUFSAGRqlrBuuehFNmrTUSusZklIvIW//wD9Oyprv39NzB8uKhEFZLw6VJYcwpUtdgJI6DRVe4drqoKyRgCY/cpqpqcsg22Iz8Ly0TkS9jMEhF5g6VLgZtuUtc2bixZ83Ipu47jxPJ4Va3RoM6o1ampsEy+QN/2CWiqN1fVCja+BMVmFpaJyFewmSUiEm3pUmDYMHUtIQHo0UNUogqRbXZsnbVIVdMHmdD5mVuEZfIVklYPY88ZqpqSlQjLnk+FZSLyFWxmiYhE+vPPko3sgQNATIyoRBV26Jf1yExMVtU6Pn4zAiJChGXyJbomw6Gtoz7MxLz1DSgF6cIyEfkCNrNERKIsWwbcUmyv5eHDQKtWohJVWF5qJnZ//beqVr1ZHTQf7lt7l0WSJAnGXurb3MKcDvP2t0RFIvIJbGaJiET46y9g6FB17dAhoHlzV0t4tfiPf4MtX318Z7eJd/Ckr3LS1YmDrtmdqppl18eQM08Ky0Tk7djMEhF52vLlwJAh6trBg0CLFqISXZfz2w7j1L+7VbWmw7ohsm1DYZl8mannW4CmyO1+7RYUbHpFZCQir8ZmlojIk1asAAYPVtcOHgRa+uYtXu0WG7a9rz7pyxASiJgnh7hchkqnCWsKQ/unVDXb4fmwp+wQlonIm7GZJSLylHXrgJtvVtcOHPDZRhYADvy4BtlnL6pqnZ4aClNYNWGZqgJDt1cBg/rEuYL1k3gjBSIn2MwSEXnCjh1Anz7q2v79Pnmy1xXZ5y9h77crVbUareuj6S2xwjJVFZqAGjB2nayq2c+uhu3kMmGZiLwVm1kiInc7eBDo0kVd270baN1aVKJKEf/hEtgtNse0pJEQO/EOSBr+aqkMhphnIQVHq2rm9S9AkW0ulyHyR3zHISJyp5MnSzatmzcD7duLSlQpzmzYj7MbD6hqzW/vgYgW9YRlqmokXQCMPd5Q1eS0A7Du/0ZYJiJvxGaWiMhdkpKARo3UtX/+Abp3F5WoUtgKLNj+4RJVzRQejI6PDXa5DFWMvuVIaCLVN9Awb54KxZIjLBORt2EzS0TkDmlpQJ066tqSJcCNN4pKVGn2fb8KuUlpqlrnZ26BIThAWKaqSpI0MN2gvpGCkpcMS8IsYZmIvA2bWSKiypaXB0REqGvffw/cdpuoRJUm63Qq9s9frapFdWyMRoM6C8tU1enq3whdQ/Veb/OO9yDnJrtchsifsJklIqpMdjsQFKSuzZkDPPCAqESVRlEUbJu9CLLV7qhJWg1iJ4yAJElCs1V1xl5vA1KRX9nWXJg3TxUZichrsJklIqosigLodOra9OnAM8+ISlSpTq/eg6TtR1S1Vnf3RvXGtYVl8hfaGm2hbz1KVbPu/y/slw64XIbIX7CZJSKqLMHB6ulHHgGmTBGVplJZ8woQ//FvqlpgZCjaPzJQWCZ/Y4x7DdAVOS5ZkWHe8KLISEReQWgzO2PGDHTt2hXBwcGIiorC8OHDcfjw4Wsu98svv6Bly5YwmUxo164dli3jRaSJSLDOnYHc3KvTN9wAfP21yESVas83K5GXmqmqdRl7G/SBRmGZ/I2mWl0YOk1Q1WyJS2E7s0ZYJiJvILSZXbt2LUaPHo0tW7Zg5cqVsFqtGDhwIHKL/kIoZtOmTbjvvvvw6KOPYufOnRg+fDiGDx+Offv2eTQ7EZHDvfcCCQlXpyMjC29dW0Wkn0jCwZ/Vr6d21+ao38+3r5Xri4xdJkEKjFLVCjZMgqLIwjIRiSa0mV2+fDkefvhhtGnTBh06dMC8efNw+vRp7Nixw+UyH374IW6++WY8//zzaNWqFV5//XV06tQJn3zyiUezExEBKDyMYMECde3CBVFpKp2iKNj2/iIo9qvNkkavRexzPOlLBMkQDGM39Ylfcko8bIcXuFyGqKrTlWEej8nMLPwIKzw83OU8mzdvxoQJ6o9ZBg0ahCVLljid32w2w2w2O6azsrIAALIsQ5bd/5esLMtQFMUj6/I1HBvnOC6ued3Y/PgjNK+/rirJVivg4XzuHJcTK3bgwq4Tqlrr+/qiWr0I7/k+lMLrtplKoG39H0i7PoKSfvWwvIJNL0PTeDgkXdkO+6iK41JZODbOeXpcyrMer2lmZVnG+PHj0bNnT7Rt29blfMnJyahZs6aqVrNmTSQnO7/e3owZMzB9+vQS9dTUVBQUFFRC8tLJsozMzEwoigIN71euwrFxjuPimjeNjX7HDkQUu9xWcmIicPGix7O4a1ysuQXY8cnvqpopKhRRg9rhgo/sffambaYyadu8AOOG/zimlayTSN/0NmwtnyrT8lV1XCoDx8Y5T49LdnZ2mef1mmZ29OjR2LdvHzZs2FCpzzt58mTVntysrCxER0cjMjISISEhlbouZ2RZhiRJiIyM5A9FMRwb5zgurnnN2Jw+Dc0tt6hKclISoqKiXC7iTu4al+0fLIElM09V6/bcCNSOrltp63A3r9lmKpkS+SDyT3wN+fzV35mGgx+heuwYSCbXn25eUVXHpTJwbJzz9LiYTKYyz+sVzeyYMWOwdOlSrFu3DvXq1St13lq1aiElJUVVS0lJQa1atZzObzQaYTSW/NhFo9F4bCOVJMmj6/MlHBvnOC6uCR+bnBygUSN1be9eaFy8B3lKZY/LpcNncXTJJlWtXs/WqH+D60/OvJXwbcZNAnq/h9yful8tmDNgjZ8BU++y3eq2qo5LZeDYOOfJcSnPOoR+lxRFwZgxY7B48WL8+++/aFT8F4QTcXFxWLVqlaq2cuVKxMXFuTEpEdHlu3sVv5bs0qVAKYdG+SJFlrFt1kIosuKoaY16dBk3XGguUtPWioWu+T2qmmX3HMiZicIyEYkgtJkdPXo0fvjhB8yfPx/BwcFITk5GcnIy8vPzHfM89NBDmDx5smN63LhxWL58OWbNmoVDhw5h2rRpiI+Px5gxYwS9CiLyG8Xv7vX++8DQoaLSuM2xpdtw8cBpVa3dQwMQXCdCWCZyztTzTUCjv1qwW1Cw8WWRkYg8TmgzO3fuXGRmZqJv376oXbu242tBkcvcnD59GklJSY7pHj16YP78+fjiiy/QoUMH/Prrr1iyZEmpJ40REV233r3V0w8/DDz3nKg0blOQkYOEz/5U1UKiI9H6vr7CMpFrmtDGMHQYrarZjvwEe/J2YZmIPE3oMbOKolxznjVrSt7Z5K677sJdd93lplRERMVMmwasX391unlz4JtvRCZym52fL4MlS33SV9cJt0Nr8IpTLMgJQ+zLsOz/BrBcvUNbwfrnEXjnal4LmPwCj2wmIirNH38AxS/vV4bbbvui1H2ncOyPrapag34dUKdrC2GZ6No0AREwxr6kqtnPrYPtxB/CMhF5EptZIiJXjhwBbr1VXfPA9alFkG12bJ31q6qmCzCiy7O3CctEZWfoOBZScANVzbzhRSiyTVgmIk9hM0tE5Ex2NtCi2B7Js2cBJ5f6qwqOLNmE9KPnVbUO/xmIwMhQYZmo7CSdCaaeb6hqcvohWPf9V1gmIk9hM0tEVJyiAMVvqrJ+PVDXd24WUB75l7Kw68vlqlpoo1poedcNwjJR+ela3AdNVCdVzbxlGhRL2e+kROSL2MwSERVXv756+pNPgF69RKVxux2fLoU1V334RLeJI6DRaYVlovKTJA1MN7yrqil5KTDveE9YJiJPYDNLRFTUhAmFhxNcceedwOjRpS3h01J2Hkfiih2qWuNBnVGzYxNhmajidNH9oGukvvaxZccsyDnnXS5D5OvYzBIRXbF0KTB7trr2yy+i0rhd4UlfC1U1fTUTOo0eJiwTXT9jr7cBqcivd1sezFumioxE5FZsZomIAODUKWBYsSbOVrXPBD/48zpknkxR1WIeH4yA8GCXy5D300a0hr7Nf1Q16/5vYL+0X1gmIndiM0tEZLEADRuqa+fPA9qqe8xo7oUM7Pnmb1UtvHk9NBveQ1gmqjzGuOmAPuhqQZFhXv+CyEhEbsNmloio+OW2Vq0CatcWlcYj4j/6DbZ8y9WCJCF24ghotPy1UBVogmrD0GmiqmY7uQy2M/8Ky0TkLnzXIiL/du+96ukpU4D+/UWl8YjzWw/h9Jo9qlrTW7ohsk0Dl8uQ7zF2/j9IgTVVtYJ1z0NRZGGZiNyBzSwR+a9ffgEWLLg63bRpyVvXVjF2sxXbZi9W1Yyhgej01BBhmcg9JEM1GLtPU9Xk1J2wHpovLBORO7CZJSL/dPo0cPfd6tqRI6LSeMz+H9cg++xFVS3m6VtgDA1yuQz5Ln3bR6EJb6WqmTe9AsVWNW/LTP6JzSwR+R+7HWhQ7CP1ixcBSRKVyCOyz1/Cvu/+UdUi2zZA0yFdhWUi95I0Ohh7zVTVlOzTsO7+WFgmosrGZpaI/E9Qsb2Qq1YBERGi0niEoijY/sFi2C1XLzcmaSTETrwDkoa/CqoyXaNboK3bR1WzbJ8JmNOEZSKqTHwHIyL/8vzzgNl8dXrChCp/whcAnN2wH+c2HVTVmo/oifBmdYVlIs+QJAmm3urb3MKSCf3+D0VFIqpUbGaJyH9s2QK8V+Q+9YGBwKxZIhN5hK3Agu0fLlHVTOHB6PjYzcIykWdpa3aBrsV9qpru2DzIGceFZSKqLGxmicg/5OUBcXHqWlaWqDQetffbf5CbnK6qdR4zDIZqAcIykeeZerwJaA2OaUm2wrL5FaGZiCoDm1ki8g/Fj5M9erRK3+HriszTF3DgxzWqWs2YJmh0UydhmUgMTWhDGDqMUdVsR3+BLWmrsExElYHNLBFVfSNHqqc//bTwmrJVnKIo2Pb+Isg2u6MmaTWInTACUhW/cgM5Z4x9GTBWV9XM65+HoijCMhFdLzazRFS1/f03ML/IReLbtAGeflpkIo859e8uJMcfVdVa3dMbYY1qCctEYkmm6jB2e1lVs5/fANvx34RlIrpebGaJqOrKzgYGDVLX9u4VlcajrHkFiP/4d1UtMCoU7R8eKCwTeQdD+9GQQhqpauaNL0KxW4VlIroebGaJqOoKCVFPnz9f5W+McMXu//6N/IvqE9y6PDsc+kCjsEzkHSSdEYYeb6hqcvoRWPd9KSwT0fVgM0tEVdPjj6unv/4aqF1bVBqPSj+ehEO/rlfV6sS2QP0+7YRlIu+ia3YX7OEdVDXzlulQzP5xhQ+qWtjMElHVs2kT8NVXV6dbtgQeeURkIo9RFAXbZi2EYpcdNY1ei67P3c6TvshBkjSwdpyiqin5qTDveEdYJqKKYjNLRFWL2Qz07KmuHTggKo3HnVgejwt7ElW1tg/0R0h0pLBM5J3kqDhoG92iqlkSZkPOOScsE1FFsJkloqoloNiNAI4f95vjZM3ZedgxZ6mqVq12ONo8cKOwTOTdjD1nAFKR6y3b8mHePKW0RYi8DptZIqo63n0XKHq9zHfeARo3FpnIo3Z/uRzmjBxVretzt0Nn1AvLRN5NE94K+raPqmrW/fNgv+gfV/2gqoHNLBFVDadPA5MmXZ3WaoHnnxeZyKOyjifj6G9bVLV6N7RBvR6thWUi32DsPg3QF71DnoKC9S8ITERUPmxmicj3KQrQoIG6lpsrKo3HyXYZB79cqdorrTXq0XXccKG5yDdogmrB2Fn9h5/91HLYTv8jLBNRebCZJSLfN3SoenrtWsDoP9dTPb50K7KOJatq7R6+CdVqhQvLRL7F0HkipCD1pesK1k+CosgulyHyFmxmici3rV8P/PXX1enbbgN69xaZyKMK0nOw64u/VLWQ+pFofW8fYZnI90j6IBjjpqtqcuouWA/+ICwTUVmxmSUi32WzlWxclywRlUaIhM/+hCU7X1WLnTACWr1OWCbyTfrWj0AT0UZVM29+FYot3+UyRN6AzSwR+a7oaPX0qVOikghxYW8ijv+5TVVrcGNH1O7SXFgm8l2SRgtjr7dVNSX7DCw7PxSWiags2MwSkW/68UcguchxotOmAfXri0zkUbLNjm2zFqlqugAjuoy5VVgm8n26hoOhje6vqpm3z4SclyosE9G1sJklIt+TkwPcf7+6NnWqqDRCHF60EenHzqtq7R8diMDIUGGZyPdJkgTTDcVuaWvJgmXb66IiEV0Tm1ki8jma0GINW0aGqChC5F3Mwu6vlqtq1erXQIsRPV0uQ1RW2qhO0LccqapZ9nwGe/pRYZmISsNmloh8SuA336gLX38NFG9uq7gdc36HNc+sqrV8/CZodFqXyxCVh7HHG4C2yOXtZBvMG18SGYnIJTazROQ7MjIQ8lKRX6h6PfDIIyITeVxywjGcXLlTVWt8c2dUb1VPWCaqejQhDWDoOFZVsx1bCNv5zcIyEbnCZpaIfIYmIkJdyMwUFUUIu9WGbe+rT/oyVAtAzNO3CMtEVZex60uQTOobb5jXPw+lyJ3miLwBm1ki8g0ffKCeXrAACAgQlUaIgwvWIfNkiqrW8ckhMFWvJiwTVV2SKQyG2FdUNXvSJtiOLxaWicgZNrNE5P0yM4HnnnNMKqGhwN13C43kabnJ6dgzb6WqFtEyGs1u7S4sE1V9hg7PQAptrKqZN0yGYrcKy0RUHJtZIvJ+YWGqSSUpSVgUUeI//g32AsvVgiQhduIIaLR8Gyf3kbQGmHq+parJGUdh3fu5sExExfFdkIi825dfqiYz5s4FjEaXs1dF5zYfxOm1e1W1Zrd2R41W/nOTCBJH1+wuaGt1U9XMW1+DYvavY9bJe7GZJSLvlZcHPPGEY1IxGFAwfLjQSJ5mN1ux/QP1MYrGsCDEPDlEWCbyL5IkwXjDu6qakn8R5vi3XS5D5ElsZonIe9WsqZpULl0SFkWUff/7F9nn1K+709O3wBgSKCwT+R9d3V7QNVH/IWlJ+ABy9hlhmYiuYDNLRN7pjz8Kb1t7xWefAYH+1cBln7uIfT/8q6pFtmuIJoO7CMtE/svYcwYgFbkxh70A5k1TREYiAtjMEpFXstuBW29V1558UlQaIRRFwfYPlkC22Bw1SSMhdsIdkDR86ybP04a3gL7dE6qa9eB3sKfuFpaJCGxmicgr9eqlnk5NFZVEmDPr9+Hc5oOqWos7eiG8WR1hmYiM3aYA+qLXNVZQsH6SwEREbGaJyNvs2QNs2XJ1etIkoEYNkYk8zppvxvYPlqhqARHB6PDoIGGZiABAE1QTxi7q5tV+eiVsJ1cIy0TEZpaIvEuHDurpt/3vjOm93/6DvAsZqlrnMbfCUM2/7nhG3snQaQKkIPUnBAUbXoAi24VlIv/GZpaIvMekYh9X7t8vKokwmadScPCntapazU5N0XBAjLBMREVJ+kAYe7ymqskX98B68Hthmci/sZklIu+Qng68W+Ralr16Aa1bi0zkcYqiYNv7iyDbru7h0ui06DZhBCRJEpqNqCh9q1HQ1Ginqpk3vwrFmicsE/kvNrNE5B3Cw9XTa9e6mrPKOrlqF5J3HFPVWt3TG6ENa7pchkgESaOFqZf6ECAl5xwsOz8Qlon8F5tZIhJv2TL19C+/AH52+SlLbgF2fPy7qhYYFYZ2D98kLBNRabQNBkFbf4CqZo5/G3LeBWGZyD/5128LIvI+igIMHaqu3XmnqDTC7P7vCuRfylLVuo4bDn2AUVgmotJIkgRTr3cAFDkExpIN89bXSluMqNKxmSUise67Tz2dkiIqiTDpx87j8MINqlqd7i0R3butsExEZaGN6gh9qwdVNeveL2BPPyIsE/kfNrNEJM6FC8CCBVenH3oIiIoSmcjjFFnG1lkLodhlR01j0CH2udt50hf5BGOP1wGt6WpBtsG8YbLISORn2MwSkTg1i53YNG+eqCTCnFgej9S9J1W1tiP7I7iuf90ognyXJjgahphxqprt+GLYzm1wuQxRZWIzS0RiFD/p688/AT/bE2nOysOOT5eqasF1I9Dmgf7CMhFVhLHri5BMEaqaef0kKIoiLBP5D6HN7Lp16zBs2DDUqVMHkiRhyZIlpc6/Zs0aSJJU4is5OdljmYmokhQ/6WvIEFFJhNn1xTKYM3JVta7jb4fOqBeWiagiJGMoDN1eVdXsyVtgO/qrsEzkP4Q2s7m5uejQoQPmzJlTruUOHz6MpKQkx1eUnx1jR+TzxoxRT/vhSV8XD57Gkd+2qGrRvduhblwrYZmIroeh/VPQhDVV1Qo2vgTFbhGWifyDTuTKBw8ejMGDB5d7uaioKISFhbklExG5WU4OUPQP2GHD/O6kL9kuY9usRYWXJbtMazKg67O3Cc1FdD0krQHGnm8h/8+7HTUl8zgsez6DMeZZodmoahPazFZUx44dYTab0bZtW0ybNg09e/Z0Oa/ZbIbZbHZMZ2UVXsdRlmXIsuxyucoiyzIURfHIunwNx8a5qj4uUvPmRa9KCXnRIqCMr7WqjM2R3zfj0qEzqlq7h25EQFRohV5bVRkXd+DYOOeucdE0vh2aWt0hJ1/91MG89XXoWj4AyegbO6G4zTjn6XEpz3p8qpmtXbs2PvvsM3Tp0gVmsxlfffUV+vbti61bt6JTp05Ol5kxYwamT59eop6amoqCggK3Z5ZlGZmZmVAUBRo/u6PRtXBsnKvK46I7fBg1kpIc05mzZiH/4sUyL18VxsaSmYudn/2pqgXVDUdEv1a4cKFid06qCuPiLhwb59w5Lpq2k2FKLvIpQ8ElZKybCmuHlyt1Pe7CbcY5T49LdnZ2meeVFC851VCSJCxevBjDhw8v13J9+vRB/fr18f333zt93Nme2ejoaKSnpyMkJOS6c1+LLMtITU1FZGQkfyiK4dg4V5XHRaPVqqZlu71cy1eFsdk8YwFO/BWvqt34wZOo1ampy2WupSqMi7twbJxz97jk/3kX7McXXy1ojQh86CA0wfUrfV2VjduMc54el6ysLFSvXh2ZmZnX7Nd8as+sM7GxsdiwwfW17IxGI4zGkreD1Gg0HttIJUny6Pp8CcfGuSo5Lj/+qJ7evbtCr8+Xx+bCnsQSjWzDATGo06X5dT+3L4+Lu3FsnHPnuJh6zURu4h+AbCss2M2wbpmKgEHfVvq63IHbjHOeHJfyrMPnv0u7du1C7dq1RccgotIoCnD//Venw8KA9u1FJvI42WbHtlkLVTV9oBGdx9wqLBORu2irN4O+3ZOqmvXgD7Bf2CksE1VdQvfM5uTk4NixY47pxMRE7Nq1C+Hh4ahfvz4mT56Mc+fO4bvvvgMAfPDBB2jUqBHatGmDgoICfPXVV/j333/x999/C3wVRHRN48erpxMTRSUR5vCijUg/nqSqdXjsZgTWcP/hTkQiGLtNgfXg94Al63JFQcH6SQgc8Tdv1UyVSuie2fj4eMTExCAmJgYAMGHCBMTExGDKlCkAgKSkJJw+fdoxv8ViwcSJE9GuXTv06dMHu3fvxj///IMbb7xR2GsgomtQFOCjj65ODx9euGfWj+RdzMTur5aratWb1EaLEa6vxELk6zSBkTB2eUFVs59ZBdvJ5S6XIaoIoXtm+/btW+qt7uYVu0/7pEmTMGnSJA8kI6JKc+mSenrhQldzVlk7Pv4d1jyzqhb7f3dAo9O6XIaoKjB0Gg/LnrlQcs46auYNL0DXYCAkDbd/qhw+f8wsEXm5iAhg8mTgppuAffsAPzuhIin+CE6u2qWqNRnSFVHtGgnLROQpki4Axh6vq2rypX2wHpjnchmi8vKv3ypE5HmSBLz1FvD330CbNqLTeJTdasO22YtVNUNwADo9fYuwTESepm/5ADQ11Cd8mjdPgWLNFZaJqhY2s0REbnLwp7XIOqW+EULMk0Ngql5NWCYiT5M0WphueEdVU3KTYEl4X1gmqlrYzBIRuUFOchr2zFupqkW0ikbTYd2FZSISRddgILT1B6pq5vh3IeemCMtEVQebWSIiN4j/8DfYzdarBUlCt4l3QKPl2y75p8K9s0UuyWXNgXlrydvNE5UX31WJiCrZuc0HcWb9PlWt+W1xiGgZLSwTkWjayPbQtx6lqln3fgl72iFhmahqKHczO2rUKKxbt849aYiIfJzNbC1x0pcxrBo6PjFYWCYib2GMew3QBVwtKHaYN0wWGYmqgHI3s5mZmRgwYACaNWuGt956C+fOnXNPMiIiH7T/h1XIOa++tm7nZ4bCGBIoLBORt9AE14MhRn1HQNuJ32A7t15YJvJ95W5mlyxZgnPnzuHpp5/GggUL0LBhQwwePBi//vorrFZrGZ6BiKhqyjp7Efv+t1pVi2rfCI1v7iIsE5G3MXZ5AVJApKpWsO75Um+iRFSaCh0zGxkZiQkTJmD37t3YunUrmjZtigcffBB16tTBc889h6NHj1Z+UiIiL6YoCrbPXgzZYnPUJK0GsRPvgORnN4ogKo1kDIGx+xRVTU7ZBtuRn4VlIt92Xe+wSUlJWLlyJVauXAmtVoshQ4Zg7969aN26NWbPnl15KYmIvNyZdXtxfqv6RJaWd/ZC9Sa1hWUi8lb6tk9AU725qlaw8SUoNrPLZYhcKXcza7VasXDhQtxyyy1o0KABfvnlF4wfPx7nz5/Ht99+i3/++Qc///wzXnvtNfckJiLyMtY8M7Z/+JuqFhARgvb/GSQsE5E3k7R6GHvOUNWUrERY9nwqLBP5Ll15F6hduzZkWcZ9992Hbdu2oWPHjiXm6devH8LCwiorIxGRV9s7byXyLmSoap3H3gpDkElYJiJvp2syHNo6PWE/v9FRM299A4bWD0MyVReajXxLuffMzp49G+fPn8ecOXOcNrIAEBYWhsTExMrIR0Tk1TISk3FgwVpVrVbnZmh4o/P3RyIqJEkSjL3Ut7mFOR3m7W+JikQ+qtzN7IMPPgiTiXsbiIgURcG29xdBscuOmkanRezEEZAkqdRliQjQ1YmDrtmdqppl18eQM08Ky0S+h6fYEhFV0MmVO5Gy87iq1vq+vgitHyUsE5GvMfV8C9DorxbsFpg3vyoyEvkYNrNERBVgycnHjjm/q2pBNauj7UM3CstE5Is0YU1haP+UqmY99D/YU3YIy0S+hc0sEVEF7P5qBfIvZatqXccPhz7AKCwTka8ydHsVMISoagXrJ/FGClQmbGaJiMop7eg5HF60QVWr26MV6vVqIywTkS/TBNSAsetkVc1+djVsJ5cJy0S+g80sEVE5KLKMbbMWQpGv7jHSGnToOu52nvRFdB0MMc9CCo5W1czrX4Ai21wuQwQ2s0RE5XN82Xak7julqrV98EYE140QlomoKpB0ATD2eENVk9MOwLr/G2GZyDewmSUiKiNzZi4S5i5V1YLrRqDN/f2EZSKqSvQtR0ITGaOqmTdPhWLJEZaJvB+bWSKiMtr5+TKYM/NUta7PjYDWqHe5DBGVnSRpYLpBfSMFJS8ZloRZwjKR92MzS0RUBhcPnMbRP7aqavX7tkfd7i2FZSKqinT1b4Su4WBVzbzjPci5ycIykXdjM0tEdA2yXcbW9xYCRS4TpAswoMvYW4XmIqqqjL3eBqQiLYo1F+bNU0VGIi/GZpaI6BqO/rYZaUfOqmrtH74JQTWrC8tEVJVpa7SFvvUoVc26/7+wXzogLBN5LzazRESlyE/Lxs4v1Ne6DG1YEy3v7i0sE5E/MMa9BugCrhYUGeYNL4qMRF6KzSwRUSkSPl0Ka06BqhY7YQS0ep2wTET+QFOtLgydJqhqtsSlsJ1ZIywTeSc2s0RELqTsPoETy+NVtUYDO6FWp6bCMhH5E2OXSZACo1S1gg2ToCiysEzkfdjMEhE5Idvs2DZroaqmDzKh8+hhwjIR+RvJEAxjN/WJX3JKPGyHFwjLRN6HzSwRkROHft2AjBPqSwF1eOxmBESECMtE5I/0bR+DpnoLVa1g08tQbGZhmci7sJklIiomLzUTu/+7QlWr3qwOWtzeQ1gmIn8lafUw9pqpqilZJ2HZ/YmwTORd2MwSERUT//FvsOWr9/p0m3gHNDqtsExE/kzX+FZo696gqpm3vQmlIE1YJvIebGaJiIpI2n4Ep/7drao1vSUWkW0bCstE5O8kSYLphnfVRXMGzNveFBWJvAibWSKiy+wWG7a9v0hVM4QEIuapocIyEVEhba1Y6Jrfo6pZds+BnJkoLBN5BzazRESXHfhpDbLOpKpqMU8OgSmsmrBMRHSVqeebgEZ/tWC3oGDjyyIjkRdgM0tEBCAnKQ17v/1HVYtoVR/NhnUTlomI1DShjWHoMFpVsx35Cfbk7cIykXhsZomIAGz/cAnsZqtjWtJI6DZxBCQN3yaJvImx2yuAMUxVK1j/PBRFEZaJxOK7NBH5vbMbD+Dshv2qWvPhPRDRMlpYJiJyTjKFw9h1sqpmP7cOthN/CMtEYrGZJSK/ZjNbsf2DxaqaqXo1dHx8sLBMRFQ6Q8exkIIbqGrmDS9CkW3CMpE4bGaJyK/t+34VcpLU16rs9MwwGIIDhGUiotJJOhNMPd9Q1eT0Q7Du+6+wTCQOm1ki8ltZZ1Kx/3//qmpRHRqj8c2dhWUiorLRtbgPmqhOqpp5yzQolmxhmUgMNrNE5JcURcG22YsgW+2OmqTVIHbiCEiSJDQbEV2bJGlK3EhByUuBecd7wjKRGGxmicgvnV6zB0nbjqhqre66AdUb1xaWiYjKRxfdD7pG6puaWHbMgpxzXlgm8jw2s0Tkd6x5ZsR/9JuqFlAjBO3/M1BYJiKqGGOvtwGpSDtjy4N5y1SRkcjD2MwSkd/ZM+9v5KVmqmpdxt4GfaBJWCYiqhhtRGvo2/xHVbPu/wb2S/tdLkNVC5tZIvIrGSeScXDBOlWtdtfmaNC/g7BMRHR9jHHTAX3Q1YIiw7z+BZGRyIPYzBKR31AUBVvfXwjFLjtqGr0Wsc/xpC8iX6YJqg1Dp4mqmu3kMtjO/OtyGao62MwSkd9I/DsBF3adUNVa39cPIfUjhWUiosph7Px/kAJrqWoF656Hosgul6Gqgc0sEfkFS3Y+dsxR3+4yqFZ1tHvoRmGZiKjySIZqMMZNU9Xk1J2wHpovLBN5BptZIvILu/67HAVp6oupdx0/HDqTQVgmIqpc+jb/gSa8lapm3vQKFFuBsEzkfmxmiajKu3T4LI4s2qiq1evZGtG92grLRESVT9LoYOw1U1VTsk/DsutjYZnI/djMElGVpsgyts1aCEVWHDWtQYcu44YLzUVE7qFrdAu0dfuoauZtb0HOvyQsE7kXm1kiqtKO/bkNFw+cVtXaPjQAwXUihGUiIveRJAmm3urb3MKSCcu2N0RFIjdjM0tEVZY5Mxc7P/tTVQuuVwNt7u8nLBMRuZ+2ZhfoWtynqll2fwo547iwTOQ+bGaJqMpK+GwZzJl5qlrshBHQGnTCMhGRZ5h6vAloi5zgKVtRsPFlkZHITdjMElGVlLrvFI79sUVVa9CvA+rEthCWiYg8RxPaEIYOY1Q129GfYUvaKiwTuQebWSKqcmS7jG3vL1TVdAEGdB57q7BMROR5xtiXAWN1Vc28/nkoiuJyGfI9bGaJqMo5smQT0o6cU9XaPzIQQVFhwjIRkedJpuowdlMfWmA/vwG2478Jy0SVT2gzu27dOgwbNgx16tSBJElYsmTJNZdZs2YNOnXqBKPRiKZNm2LevHkeyUpEviE/LRu7vvxLVQttVAut7u4tLBMRiWNoPxpSSCNVzbzxRSh2q7BMVLmENrO5ubno0KED5syZU6b5ExMTMXToUPTr1w+7du3C+PHj8dhjj2HFihVuz0pEviFhzh+w5qjv9tNtwghodFphmYhIHElnhKnnm6qanH4E1n1fCstElUvoKb2DBw/G4MGDyzz/Z599hkaNGmHWrFkAgFatWmHDhg2YPXs2Bg0a5MakROQLUnYex4kVO1S1xoM6o2ZME2GZiEg8XfO7oUmYDTllu6Nm3jId+pYPQDKGCM1G18+nrk+zefNmDBgwQFUbNGgQxo8f73IZs9kMs9nsmM7KygIAyLIMWZbdmBaO9SiK4pF1+RqOjXMcF9dKGxvZZsfWYid96auZ0PHpoVV+LLnNuMaxcc4fx8XYcybyF93omFbyU1EQ/zaMca+r5vPHsSkLT49LedbjU81scnIyatasqarVrFkTWVlZyM/PR0BAQIllZsyYgenTp5eop6amoqCgoES9ssmyjMzMTCiKAo2G59sVxbFxjuPiWmljc/K3bchMTFHVGt/TE9m2fGRfyPdwUs/iNuMax8Y5vxwXQysY6twE3fmVjpIlYTayat8JJbC2o+aXY1MGnh6X7OzsMs/rU81sRUyePBkTJkxwTGdlZSE6OhqRkZEICXH/RwuyLEOSJERGRvKHohiOjXMcF9dcjU3ehQwk/rpZNW/1ZnXR6YGB0Gir/hhym3GNY+Ocv46L3P995P2vI6DYAQCSvQDBxz6BacDV42f9dWyuxdPjYjKZyjyvTzWztWrVQkqKes9LSkoKQkJCnO6VBQCj0Qij0ViirtFoPLaRSpLk0fX5Eo6NcxwX15yNTcKcpbDlW1TzdZt4B3R6n3qLuy7cZlzj2Djnj+OiqdEG+raPwrr3C0fNdmAelE7joa3RzlHzx7EpC0+OS3nW4VPfpbi4OKxatUpVW7lyJeLi4oRlIiKxzm87jFOrd6tqTYd1R2TbBsIyEZH3MnafBuiDilQUFKx/QWAiul5Cm9mcnBzs2rULu3btAi5femvXrl04ffo0cPkQgYceesgx/1NPPYUTJ05g0qRJOHToED799FP8/PPPeO6554S9BiISx26xYdv7i1Q1Y2ggOj01RFgmIvJumqBaMHZ+XlWzn1oO2+l/hGWi6yO0mY2Pj0dMTAxiYmIAABMmTEBMTAymTJkCAEhKSnI0tgDQqFEj/Pnnn1i5ciU6dOiAWbNm4auvvuJluYj81P75q5F99qKqFvPUUBhDg1wuQ0Rk6DwRUlBtVa1g/SQoCq9g4IuEHlDWt2/fUu+P7OzuXn379sXOnTvdnIyIvF32+UvY9516T0qNNg3QdGissExE5BskfRCMcdNR8M8TjpqcugvWgz9A1/IBodmo/HzqmFkioiu2f7AEdovNMS1pJHSbOAIST9ggojLQt34Emog2qpp586tQbFX7Un5VEd/1icjnnN2wH+c2HVDVmo/oifDm9YRlIiLfImm0MPZ6W1VTss/AuusjYZmoYtjMEpFPsZutiP/oN1XNFB6Mjo/dLCwTEfkmXcPB0Eb3V9Us8W8DBZeEZaLyYzNLRD4lcdEW5Canq2qdRw+DoZrza00TEbkiSRJMN7yjLlqyoN8/W1QkqgA2s0TkM7JOX8DJ37arajU7NkGjgZ2EZSIi36aN6gR9y5Gqmu7Yd5AzjgrLROXDZpaIfIKiKNj+wRIoNrujJmk1iJ0wApIkCc1GRL7N2OMNQHv1bqGSYoN50ytCM1HZsZklIp9w6t/dSI5X7ylpdU9vhDWuJSwTEVUNmpAGMHQcq6rZjy2E7fxmYZmo7NjMEpHXs+YVIP5j9UlfgVGhaP/wQGGZiKhqMXZ9CZIpXFUzr3++1Ovhk3dgM0tEXm/P138j/2KWqtZl7G3QBxpdLkNEVB6SKQyGWPWhBfakTbAdXywsE5UNm1ki8mrpJ5Jw8Jf1qlrtrs1Rv297YZmIqGoydHgGUkhjVc28YTIUu1VYJro2NrNE5LUURcG2WYug2K/eL13SadFl/HCe9EVElU7SGmDo8aaqJmcchXXv58Iy0bWxmSUir3Vi+Q5c2H1CVWs4PBYh0ZHCMhFR1aZrdifsEerL/Zm3vgbFnCksE5WOzSwReSVLdj4SPv1DVatWOxyNbu8mLBMRVX2SJMHa8VVVTcm/CHP82y6XIbHYzBKRV9r15V8oSM9R1TqPuw1ao15YJiLyD3JkN2gb36aqWRI+gJx9Rlgmco3NLBF5nUuHzuDIkk2qWr1ebVCvR2thmYjIvxh7vgVI2qsFewHMm6aIjEQusJklIq+iyDK2zloERb56bUetUY+u44YLzUVE/kVTvQX07Z5Q1awHv4M9dbewTOQcm1ki8ipH/9iKSwdPq2rtRg1AtdrhLpchInIHY7cpgL5akYqCgvWTBCYiZ9jMEpHXKMjIwc7Pl6lqIdGRaH1vX2GZiMh/aYJqwthF3bzaT6+E7dTfwjJRSWxmichr7PzsT1iy8lS12AkjoDXohGUiIv9m6DQBUlAdVa1g/SQosl1YJlJjM0tEXiF130kcW7pNVWvQvwNqd20uLBMRkaQPhLHHa6qafHEPrAe/F5aJ1NjMEpFwss2Ore8tVNV0AUZ0GXuby2WIiDxF32oUNDXaqWrmza9Csea5XIY8h80sEQl3ePEmpB87r6p1eHQQAiNDhWUiIrpC0mhh6qW+aYKScw6WnR8Iy0RXsZklIqHyLmZh91fLVbWwxrXQ8s5ewjIRERWnbTAI2voDVDVz/NuQ8y4Iy0SF2MwSkVAJn/4Ba26BqhY78Q5odFqXyxAReZokSTD1egeAdLVoyYZ562ulLUYewGaWiIRJTjiGxL8TVLXGN3dBzQ6NhWUiInJFG9UR+lYPqmrWvV/Ann5EWCZiM0tEgtitNmx7f5GqZqgWgE7P3CIsExHRtRh7vA5oTVcLsg3mDZNFRvJ7bGaJSIhDP69D5skUVa3jE4MREB4sLBMR0bVogqNhiBmnqtmOL4bt3AZhmfwdm1ki8rjclHTs/malqhbeoh6a3RYnLBMRUVkZu74IKaCGqmZePwmKogjL5M/YzBKRx8V//DvsBZarBUlCt4l3QKPlWxIReT/JGApjt1dVNXvyFtiO/ioskz/jbw4i8qhzWw7h9Jo9qlqzYd1Qo3V9YZmIiMpL3+5JaMKaqmoFG1+CYre4XIbcg80sEXmM3WzF9tnqk76MYUGIeXKIsExERBUhaQ0w9nxLVVMyj8Oy5zNhmfwVm1ki8pj981cj+9wlVa3TU0NhDA0SlomIqKJ0Te+Atrb6WH/L1tehFGQIy+SP2MwSkUdkn7uEfd+vUtUi2zZAkyFdhWUiIroekiTBeMO7qppScAnm+JnCMvkjNrNE5HaKomD7B4tht9gcNUkjIXbiHZA0fBsiIt+lq9MDuqYjVDXLzg8hZ50Wlsnf8LcIEbndmfX7cG7zQVWtxYheCG9WV1gmIqLKYuw5A9DorhbsZpg3v1raIlSJ2MwSkVtZ882I//A3VS0gIhgdHhskLBMRUWXSVm8GfbsnVTXrwR9gv7BTWCZ/wmaWiNxq33erkJuSrqp1Hn0rDNUChGUiIqpsxm5TAENIkYqCAt5IwSPYzBKR22SeSsGBH9eoajU7NUXDm2KEZSIicgdNYCSMXV5Q1exnVsF2crmwTP6CzSwRuYWiKNj2/mLINrujJmk1iH3udkiSJDQbEZE7GDqNh1Stnqpm3vACFNnuchm6fmxmicgtTq7aheQdR1W11vf2QVijWsIyERG5k6QLgLHH66qafGkfrAfmCcvkD9jMElGls+QWYMfHv6tqgVFhaPfwTcIyERF5gr7lA9DU6KCqmTdPgWLNFZapqmMzS0SVbs/XK5B/KUtV6zruNugDjMIyERF5gqTRwnTD26qakpsES8JsYZmqOjazRFSp0o8n4dCvG1S1Ot1aIrp3O2GZiIg8SddgILT1B6pq5vh3IOemCMtUlbGZJaJKo8gytr73KxS77KhpDDp05UlfRORnTDe8A6DI+541B+at00VGqrLYzBJRpTmxPB6pe0+qam1H9kdIvRrCMhERiaCNbA9961GqmnXvl7CnHRKWqapiM0tElcKclYcdn/6pqlWrE4E2D/QXlomISCRj3GuArsgNYhQ7zBsmi4xUJbGZJaJKseuLv2DOyFHVYp+7HTqjXlgmIiKRNMH1YIgZr6rZTvwG27n1wjJVRWxmiei6XTp0Bkd+26yqRd/QFnXjWgnLRETkDYxdXoAUEKmqFax7nre5rURsZonoush2GVtnLQSKvDFrjXp0GXeb0FxERN5AMobA2H2KqianbIPtyM/CMlU1bGaJ6Loc+2MLLh08o6q1f/gmVKsVLiwTEZE30bd9AprqzVW1go0vQbGZhWWqStjMElGFFaTnYOfny1S1kAZRaHVvH2GZiIi8jaTVw9hzhqqmZCXCsudTYZmqEjazRFRhCXOXwpKdr6rFThgBrV4nLBMRkTfSNRkObZ2eqpp56xtQCtKFZaoq2MwSUYVc2JOI48u2q2oNb+yI2p2bCctEROStJEmC8YZ31UVzOszb3xIVqcpgM0tE5Sbb7Ng2a6Gqpg80ovPYW4VlIiLydrra3aFrdqeqZtn1MeTMky6XoWtjM0tE5XZ40UakH09S1To8djMCa4QKy0RE5AtMPd8CNEWuv223wLz5VZGRfB6bWSIql7yLmdj91XJVrXqT2mgxoqfLZYiIqJAmrCkM7Z9S1ayH/gd7yg5hmXwdm1kiKpcdn/wBa576cjKxE++ARqcVlomIyJcYur0KGEJUtYL1k3gjhQpiM0tEZZa04yhO/rNTVWsypCui2jcSlomIyNdoAmrA2HWyqmY/uxq2k8tcLkOusZklojKxW23Y9v4iVc1QLQAxTw8VlomIyFcZYp6FFBytqpnXvwBFtgnL5KvYzBJRmRz8aS2yTl1Q1WKeGoKA6sHCMhER+SpJFwBjjzdUNTntAKz7vxGWyVd5RTM7Z84cNGzYECaTCd26dcO2bdtczjtv3jxIkqT6MplMHs1L5G9yk9Ox59t/VLWIltFoOqy7sExERL5O33IkNJExqpp581QolhxhmXyR8GZ2wYIFmDBhAqZOnYqEhAR06NABgwYNwoULF1wuExISgqSkJMfXqVOnPJqZyN9s/+g32AssVwuShG7/dwc0WuFvIUREPkuSNDDd8I6qpuQlw5IwS1gmXyT8N9H777+Pxx9/HI888ghat26Nzz77DIGBgfj6669dLiNJEmrVquX4qlmzpkczE/mTc5sP4sy6vapa89u6I6JltMtliIiobHT1b4Su4WBVzbzjPci5ycIy+RqhN1C3WCzYsWMHJk++ekafRqPBgAEDsHnzZpfL5eTkoEGDBpBlGZ06dcJbb72FNm3aOJ3XbDbDbL56GaGsrCwAgCzLkGW5Ul+PM7IsQ1EUj6zL13BsnPOmcbGZrdg2W33SlzE0CO0fu1lIPm8aG2/CcXGNY+Mcx8U1EWOj7zkDtlMrAOXyOq25KNg8Fab+cz2W4Vo8PS7lWY/QZvbixYuw2+0l9qzWrFkThw4dcrpMixYt8PXXX6N9+/bIzMzEe++9hx49emD//v2oV69eiflnzJiB6dOnl6inpqaioKCgEl+Nc7IsIzMzE4qiQKMRviPcq3BsnPOmcTm+YCNyzqepak0f6I3MghygwPPHdHnT2HgTjotrHBvnOC6uiRmbKBga3QPdiR8dFev+/yI7eiSU0OYeylA6T49LdnZ2mecV2sxWRFxcHOLi4hzTPXr0QKtWrfD555/j9ddfLzH/5MmTMWHCBMd0VlYWoqOjERkZiZCQkBLzVzZZliFJEiIjI/mGUQzHxjlvGZfscxdx8jf1yZiR7Rqiw119IQnK5S1j4204Lq5xbJzjuLgmamzkvjORd3oJYMsHAEiKjGqH3kPAsCUey1AaT49LeU7uF9rM1qhRA1qtFikpKap6SkoKatWqVabn0Ov1iImJwbFjx5w+bjQaYTQaS9Q1Go3HNlJJkjy6Pl/CsXFO9LgoioL4D3+DbLl6vUNJq0G3iXdAqxP7N7DosfFWHBfXODbOcVxcEzE2mpBoGDpNgGXbm46aPXEp5PProavXx2M5SuPJcSnPOoRuwQaDAZ07d8aqVascNVmWsWrVKtXe19LY7Xbs3bsXtWvXdmNSIv9yZt0+nN+iPtSnxR29UL1pHWGZiIiqOmOXSZACo1S1gvXPQ1F4bHNphP85NmHCBHz55Zf49ttvcfDgQTz99NPIzc3FI488AgB46KGHVCeIvfbaa/j7779x4sQJJCQk4IEHHsCpU6fw2GOPCXwVRFWHNd+M7R+qP9YKiAhBh0cHCctEROQPJEMwjN2mqmpySjxshxcIy+QLhB8ze8899yA1NRVTpkxBcnIyOnbsiOXLlztOCjt9+rRqV3N6ejoef/xxJCcno3r16ujcuTM2bdqE1q1bC3wVRFXH3nkrkXchQ1XrPPZWGIJ4cxIiInfTt30Mll0fQU4/7KgVbHoZuqYjIOlKHjZJXtDMAsCYMWMwZswYp4+tWbNGNT179mzMnj3bQ8mI/EvmyRQc+Gmtqlarc1M0vLGjsExERP5E0uph7DUT+X/c7qgpWSdh2f0JjJ0nCs3mrYQfZkBE3kFRFGx9fxEU+9VjszQ6LWInjIAkSUKzERH5E13jW6Gte4OqZt72JpSCNJfL+DM2s0QEADj5z06kJKivCtLq3j4IbcA77BEReZIkSTDd8K66aM6AuciVDugqNrNEBEtOPnZ88ruqFlSzOtqNGiAsExGRP9PWioWu+T2qmmX3HMiZicIyeSs2s0SE3f9dgfxL6rutdBl3G/QBPNmAiEgUU883AY3+asFuQcHGl0VG8kpsZon8XNrR8zi8cIOqVjeuFaJvaCssExERAZrQxjB0GK2q2Y78BHvydmGZvBGbWSI/psgytr2/EIqsOGoagw5dxw/nSV9ERF7A2O0VwBimqhXeSEFxuYy/YTNL5MeO/xWP1L0nVbW2D/RHcN0awjIREdFVkikcxq6TVTX7uXWwJS4VlsnbsJkl8lPmrDwkzFW/GQbXjUDbkf2FZSIiopIMHcdCCm6gqpnXvwBFtgnL5E3YzBL5qZ2fL4M5I1dV6/rcCGiNepfLEBGR50k6E0w931DV5PRDsO77r7BM3oTNLJEfunjwNI7+vkVVq9+nHep2byksExERuaZrcR80UZ1UNfOWaVAs2S6X8RdsZon8jGyXsfW9hUCRkwe0JgO6PHub0FxEROSaJGlK3EhByUuBecd7wjJ5CzazRH7m6O9bkHb4rKrW/uGbEFSzurBMRER0bbroftA1GqqqWXbMgpxzXlgmb8BmlsiP5KdnY9fny1S10IY10eqe3sIyERFR2Rl7vQ1IRdo3Wx7MW6aKjCQcm1kiP5Lw6VJYcvJVtdgJI6DV64RlIiKistNGtIa+zX9UNev+b2C/tF9YJtHYzBL5iQu7T+DEX/GqWsObYlCrU1NhmYiIqPyMcdMBfdDVgiLDvP4FkZGEYjNL5Adkmx1b31+kqumDTOg8+lZhmYiIqGI0QbVh6DRRVbOdXAbbmX+FZRKJzSyRHzi0cAMyjiepah0eHYTAGiHCMhERUcUZO/8fpMBaqlrBuuehKLKwTKKwmSWq4vJSM7H7qxWqWvWmddBiRE9hmYiI6PpIhmowxk1T1eTUnbAd/lFYJlHYzBJVcfGf/A5bvllV6/Z/d0Cj0wrLRERE10/f5j/QhLdS1Qo2vgzFViAskwhsZomqsKT4Izi1apeq1mRoLCLbNhSWiYiIKoek0cHYa6aqpmSfhmXXx8IyicBmlqiKslts2FbspC9DcAA6PTXU5TJERORbdI1ugbZuH1XNvO0tyPmXhGXyNDazRFXUgZ/WIOt0qqoW8+RQmKpXE5aJiIgqlyRJMPVW3+YWlkxYtr0hKpLHsZklqoJyktKw99t/VLWIVvXRdFg3YZmIiMg9tDW7QNfiPlXNsvtTyBnHhWXyJDazRFXQ9o+WwG62Xi1IErpNHAGNlj/yRERVkanHm4DWcLUgW1Gw8WWRkTyGv9mIqpizmw7g7Hr1bQ2bD49DRMtoYZmIiMi9NKENYegwRlWzHf0ZtqStwjJ5CptZoirEZrZi++zFqpoxrBo6Pj5YWCYiIvIMY+zLgLG6qmZe/zwURRGWyRPYzBJVIfu+X4WcpDRVrfPoW2AMCRSWiYiIPEMyVYexm/rQAvv5DbAd/01YJk9gM0tURWSdScX+/6nvyx3VoTEa39xFWCYiIvIsQ/vRkEIaqWrmjS9CsVtdLuPr2MwSVQGKomD77MWQrXZHTdJqEDthBCRJEpqNiIg8R9IZYer5pqompx+Bdd+XwjK5G5tZoirg9Nq9OL/tsKrW8s4bUL1JbWGZiIhIDF3ze6Cp2VVVM2+ZDsWSLSyTO7GZJfJx1jwz4j9aoqoF1AhBh0cHCstERETiSJIE0w3vqGpKfirM8e+4XMaXsZkl8nF75v2NvAuZqlqXsbdBH2gSlomIiMTS1esDXeNhqpol4X3IOeeEZXIXNrNEPizjRDIOLlinqtXq0gwN+ncQlomIiLyDsddMQNJeLdjyYd48RWQkt2AzS+SjFEXBtvcXQbHLjppGp+VJX0REBADQhreCvu2jqpp1/zzYL+4Vlskd2MwS+ajElQlI2aW+73br+/oitH6UsExERORdjN2nAfqgIhUFBetfEJio8rGZJfJBlpx87PjkD1UtqFZ1tBs1QFgmIiLyPpqgWjB2fl5Vs59aDtvpf4RlqmxsZol80K6vlqMgTX2Jla7jh0NnMgjLRERE3snQeSKkIPWlGgvWT4KiyC6X8SVsZol8TNqRsziyaKOqVrdHa0T3aissExEReS9JHwRj3HRVTU7dBevBH4RlqkxsZol8iCLL2DprERRZcdS0Bh26jh8uNBcREXk3fetHoIloo6qZN78KxZYvLFNlYTNL5EOOLduOi/tPqWptHxqA4DoRwjIREZH3kzRaGHu9raop2Wdg2fmhsEyVhc0skY8wZ+Zi59ylqlpyfjp6jR6BVq1aYe7cucKyERGR99M1HAxtdH9Vzbx9JuS8VGGZKgObWSIfkfDZMpgz81S1Wnd0xltvz0BSUhKeeeYZHDlyRFg+IiLybs5ucwtLFizb3hAVqVKwmSXyAan7T+HY0q2q2raLR9B/1HDcdNNNCA8PBwBkZma6eAYiIiJAG9UJ+pYPqGqWPXMhZxwTlul6sZkl8nKyXca2WYsA5epJXwV2C/6XuAb16tVDy5YtkZiYiIcffhhdu3YVmpWIiLyfscfrgNZ4tSDbULDxJZGRrgubWSIvd3TJJqQdOauqLTmzBemWHCxbtgx//PEHunbtih9++AErV64UlpOIiHyDJqQBDB3Hqmq2o7/Cdn6zsEzXg80skRfLT8vGzi//UtVCG9bEivMJAIB+/frhlltuwcMPPwybzYYFCxYISkpERL7E2PUlSKZwVc28/nkoRT4F9BVsZom8WMKcP2DNKVDVuk28A/bLd2355ZdfMG/ePMeVDJo0aSIkJxER+RbJFAZD7Cuqmj1pE2zHFwvLVFE60QGIyLmUXSdwYsUOVa3RoM6oGXO1YX3ooYeg1WpRs2ZNPPPMM5gwYYKApERE5IsMHZ6BZfcnUDJPOGrmDZOhazQMklYvNFt5sJkl8kKyzY742YtUNX2QCZ2fuQUAfPJjICIi8i6S1gBTz7eQv+xeR03OOArr3s9h6DhGaLby4GEGXiIxMREajQaSJGHAgAGi45Bgp5clIDMxRVXr+PjNCIgIEZaJiIiqHl2zu6Ct1U1VM299DYq5/Jd6lCQJkiRBp9MhNDQUMTExmDZtGvLz3XvLXDazXuLbb7+FoijQarVYvXo1Tp8+LToSCXBo30l89X9f4fD3a1X16s3qoPnwHsJyERFR1SRJEow3vKuqKfkXYY5/2+Uy1/L1119j6tSpsNlsmD59OgYMGACbzVYJaZ1jM+sFFEXBd999B71ejxdffBGyLOPbb78VHYs87JfPl2HrUx/DtO0wNMUOI+g28U5odFph2YiIqOrS1e0FXZPhqpol4QPI2Wcq9Hx33303JkyYgO3bt6Nx48bYtGkTfv7550pKWxKbWS+wdu1aJCYmYvDgwRg7diy0Wi2b2SrEapeRnmfGqbRs7Dufhs2JKfj74Fks3HUC87Ycxsdr92HqvH+Q9/0qaABIxZZXAKQJyk5ERP7B2HMGIBXZaWIvgHnTlOt6TpPJhCFDhgAANm7ceL0RXeIJYF5g3rx5AIABAwYgPz8f3bp1w6ZNm7Bu3Tr07t1bdDy/Z5Nl5BRYkW22IrvAimyzBdkFVmRdmS6wIMvxuKXIfIXT+Vb7Nddxw6FTaCxd7lyLUQCsnb8aLd562D0vkIiI/J42vAX07Z6Adc9cR8168DsYOo2HNrJDhZ/3ygnLklR8V03lYTMrWE5ODn799VcAwLPPPotnn33W8di8efPYzFYCu6wg13yl+SxsNrMKijWeRZrUok1rVoEVeRb3HedzRUi+GVIpFygwX8hwewYiIvJvxu5TYT34PWDNuVxRULD+BQSNWF6h58vLy8Off/4JAOjRw33nfbCZrSSnT5/GxYsXS9RlWUZaWhrCw8Oh0ZQ8qmP16tXIzc3FLbfcgkcffRS4/FfM/fffj19++QUff/wxgoKCPPIavJWsKMg125DlaD5Lb0KzVHtHLcgxu78ZvV5ZAUYoTg4xAAqLxqgwz4ciIiK/ogmMQkq9J5C0btbV4pkVMBnnQFOzW6n9TI0aNRz//uWXX5Camoqvv/4aJ0+eRI8ePXD33Xe7LTeb2Upw+vRptGjRAgUFBWWYW+3KBvHYY4/htttuc9QHDBiApUuX4tdff8WoUaMqNa+nKYqCXIutROOZmW9G0sV0KEcvIefK3tJiH9Fnm63IKbA6+/TdJ+m1GoSY9Ag2GhBs0iPYqEewSQ9DrTDg+PkSDa1y+T997u8nLjQREfmF06dPo/29n6BEO/P+ta85azKZHP9++OGHERQUhIYNG2LKlCl48cUXodO5r+VkM1sJLl68WKFGFpf33O7YsQOdOnVS1f/4449KSnf9FEVBvtVeeGxoGY8TLb7nVK4i3ahOIyHYZHA0ocFGPUJMBqf/Di7atF7+t1GncXnc0C8WK/K+/wfKlWNnL/8/8MEBaNG2gcdfKxER+ZfCfsZcoWULCgqc9jOewGbWDyiKggKbveRH8C6OEy2cT92U2qvIHae0klSk2SxsNJ3tKVU3oVebVJNO67aD2O96cjAO92yNtf/7F3nJaQisFY4+I/uzkSUiIiqFVzSzc+bMwbvvvovk5GR06NABH3/8MWJjY13O/8svv+DVV1/FyZMn0axZM7z99tuOSz9UVQVW+9XG09lxokUey3Kyp9RWRXaNaiSgWok9oOo9pVemQ0xFGtbL9QC9+5rRytCibQM0e3MULly4gKioKKfHJREREdFVwpvZBQsWYMKECfjss8/QrVs3fPDBBxg0aBAOHz6MqKioEvNv2rQJ9913H2bMmIFbbrkF8+fPx/Dhw5GQkIC2bdsKeQ3Xa8meRKzL1F/9iN7JnlKLXRYds1JIAKpdaTqNehg1QERwIIJNBtUeUlcf1wcadNB4cTNKREREniW8mX3//ffx+OOP45FHHgEAfPbZZ/jzzz/x9ddf48UXXywx/4cffoibb74Zzz//PADg9ddfx8qVK/HJJ5/gs88+83j+yvBj/HEEJvnOntNqRl2Jj+VDVHtH1R/RX91TakCQ8WozKssy90ASERHRdRHazFosFuzYsQOTJ0921DQaDQYMGIDNmzc7XWbz5s2YMGGCqjZo0CAsWbLE6fxmsxlm89WDmbOysoDLjZQsV87ezsp6Hk8JNOgcH8NXK96AGvUuT24KNukRZNBDq7mOPaOKAvny8beyLENRFJ8bP3fjuLjGsXGO4+Iax8Y5jotr/jw21/uaRfVWQpvZixcvwm63o2bNmqp6zZo1cejQIafLJCcnO50/OTnZ6fwzZszA9OnTS9RTU1MrfAWC4tLSPHuzUZNOg2oGHYIMusv/15aYDjZenS4+T/maUQWABbBYUGABKmfECsmyjMzMTCiKwj2zRXBcXOPYOMdxcY1j4xzHxTV/Hpvr7WfS0tJw4cKFSsmSnZ1d5nmFH2bgbpMnT1btyc3KykJ0dDQiIyMREhJSKesIDw+/ruU71gtH45b11HtBVSc06VGtyJ5TvbZq/HDJsgxJkhAZGel3bxil4bi4xrFxjuPiGsfGOY6La/48Ntfbz4SHhzs936kiil639lqENrM1atSAVqtFSkqKqp6SkoJatWo5XaZWrVrlmt9oNMJoNJaoazSaSttIr/d5Jg/sJOS6bN5AkqRK/V5UFRwX1zg2znFcXOPYOMdxcc1fx+Z6X6+o3krod8lgMKBz585YtWqVoybLMlatWoW4uDiny8TFxanmB4CVK1e6nJ+IiIiIqi7hhxlMmDABo0aNQpcuXRAbG4sPPvgAubm5jqsbPPTQQ6hbty5mzJgBABg3bhz69OmDWbNmYejQofjpp58QHx+PL774QvArISIiIiJPE97M3nPPPUhNTcWUKVOQnJyMjh07Yvny5Y6TvE6fPq3a1dyjRw/Mnz8fr7zyCl566SU0a9YMS5Ys8dlrzBIRERFRxQlvZgFgzJgxGDNmjNPH1qxZU6J211134a677vJAMiIiIiLyZv51ZLOb1KhRo1xn3RVlMplQo0aNSs9EREREVB6+2s94xZ5ZX1e/fn0cPnwYFy9eLPGYLMtIS0tDeHi40zPzatSogfr163soKREREZFzvtrPsJmtJPXr13f6TeQtW4mIiMhX+GI/411piIiIiIjKgc0sEREREfksNrNERERE5LPYzBIRERGRz2IzS0REREQ+i80sEREREfksNrNERERE5LPYzBIRERGRz2IzS0REREQ+y+/uAKYoCgAgKyvLI+uTZRnZ2dkwmUxed8cM0Tg2znFcXOPYOMdxcY1j4xzHxTWOjXOeHpcrfdqVvq00ftfMZmdnAwCio6NFRyEiIiKiUmRnZyM0NLTUeSSlLC1vFSLLMs6fP4/g4GBIkuT29WVlZSE6OhpnzpxBSEiI29fnSzg2znFcXOPYOMdxcY1j4xzHxTWOjXOeHhdFUZCdnY06depcc0+w3+2Z1Wg0qFevnsfXGxISwh8KFzg2znFcXOPYOMdxcY1j4xzHxTWOjXOeHJdr7ZG9ggeDEBEREZHPYjNLRERERD6LzaybGY1GTJ06FUajUXQUr8OxcY7j4hrHxjmOi2scG+c4Lq5xbJzz5nHxuxPAiIiIiKjq4J5ZIiIiIvJZbGaJiIiIyGexmSUiIiIin8VmloiIiIh8FpvZSjBnzhw0bNgQJpMJ3bp1w7Zt20qd/5dffkHLli1hMpnQrl07LFu2zGNZPa08YzNv3jxIkqT6MplMHs3rCevWrcOwYcNQp04dSJKEJUuWXHOZNWvWoFOnTjAajWjatCnmzZvnkayeVN5xWbNmTYntRZIkJCcneyyzJ8yYMQNdu3ZFcHAwoqKiMHz4cBw+fPiay/nD+0xFxsYf3mfmzp2L9u3bOy5uHxcXh7/++qvUZfxhe0EFxsYfthdnZs6cCUmSMH78+FLn85bths3sdVqwYAEmTJiAqVOnIiEhAR06dMCgQYNw4cIFp/Nv2rQJ9913Hx599FHs3LkTw4cPx/Dhw7Fv3z6PZ3e38o4NLt9ZJCkpyfF16tQpj2b2hNzcXHTo0AFz5swp0/yJiYkYOnQo+vXrh127dmH8+PF47LHHsGLFCrdn9aTyjssVhw8fVm0zUVFRbssowtq1azF69Ghs2bIFK1euhNVqxcCBA5Gbm+tyGX95n6nI2MAP3mfq1auHmTNnYseOHYiPj0f//v1x2223Yf/+/U7n95ftBRUYG/jB9lLc9u3b8fnnn6N9+/alzudV241C1yU2NlYZPXq0Y9putyt16tRRZsyY4XT+u+++Wxk6dKiq1q1bN+XJJ590e1ZPK+/YfPPNN0poaKgHE4oHQFm8eHGp80yaNElp06aNqnbPPfcogwYNcnM6ccoyLqtXr1YAKOnp6R7L5Q0uXLigAFDWrl3rch5/ep8pqixj44/vM4qiKNWrV1e++uorp4/56/ZyRWlj42/bS3Z2ttKsWTNl5cqVSp8+fZRx48a5nNebthvumb0OFosFO3bswIABAxw1jUaDAQMGYPPmzU6X2bx5s2p+ABg0aJDL+X1VRcYGAHJyctCgQQNER0df869lf+Ev20xFdezYEbVr18ZNN92EjRs3io7jdpmZmQCA8PBwl/P46zZTlrGBn73P2O12/PTTT8jNzUVcXJzTefx1eynL2MDPtpfRo0dj6NChJbYHZ7xpu2Ezex0uXrwIu92OmjVrquo1a9Z0edxecnJyueb3VRUZmxYtWuDrr7/Gb7/9hh9++AGyLKNHjx44e/ash1J7J1fbTFZWFvLz84XlEq127dr47LPPsHDhQixcuBDR0dHo27cvEhISREdzG1mWMX78ePTs2RNt27Z1OZ+/vM8UVdax8Zf3mb1796JatWowGo146qmnsHjxYrRu3drpvP62vZRnbPxlewGAn376CQkJCZgxY0aZ5vem7Ubn8TUSuRAXF6f667hHjx5o1aoVPv/8c7z++utCs5H3adGiBVq0aOGY7tGjB44fP47Zs2fj+++/F5rNXUaPHo19+/Zhw4YNoqN4nbKOjb+8z7Ro0QK7du1CZmYmfv31V4waNQpr16512bT5k/KMjb9sL2fOnMG4ceOwcuVKnzzBjc3sdahRowa0Wi1SUlJU9ZSUFNSqVcvpMrVq1SrX/L6qImNTnF6vR0xMDI4dO+amlL7B1TYTEhKCgIAAYbm8UWxsbJVt9MaMGYOlS5di3bp1qFevXqnz+sv7zBXlGZviqur7jMFgQNOmTQEAnTt3xvbt2/Hhhx/i888/LzGvv20v5Rmb4qrq9rJjxw5cuHABnTp1ctTsdjvWrVuHTz75BGazGVqtVrWMN203PMzgOhgMBnTu3BmrVq1y1GRZxqpVq1wefxMXF6eaHwBWrlxZ6vE6vqgiY1Oc3W7H3r17Ubt2bTcm9X7+ss1Uhl27dlW57UVRFIwZMwaLFy/Gv//+i0aNGl1zGX/ZZioyNsX5y/uMLMswm81OH/OX7cWV0samuKq6vdx4443Yu3cvdu3a5fjq0qULRo4ciV27dpVoZOFt243HTzmrYn766SfFaDQq8+bNUw4cOKA88cQTSlhYmJKcnKwoiqI8+OCDyosvvuiYf+PGjYpOp1Pee+895eDBg8rUqVMVvV6v7N27V+CrcI/yjs306dOVFStWKMePH1d27Nih3HvvvYrJZFL2798v8FVUvuzsbGXnzp3Kzp07FQDK+++/r+zcuVM5deqUoiiK8uKLLyoPPvigY/4TJ04ogYGByvPPP68cPHhQmTNnjqLVapXly5cLfBWVr7zjMnv2bGXJkiXK0aNHlb179yrjxo1TNBqN8s8//wh8FZXv6aefVkJDQ5U1a9YoSUlJjq+8vDzHPP76PlORsfGH95kXX3xRWbt2rZKYmKjs2bNHefHFFxVJkpS///5bUfx4e1EqMDb+sL24UvxqBt683bCZrQQff/yxUr9+fcVgMCixsbHKli1bHI/16dNHGTVqlGr+n3/+WWnevLliMBiUNm3aKH/++aeA1J5RnrEZP368Y96aNWsqQ4YMURISEgQld58rl5Qq/nVlLEaNGqX06dOnxDIdO3ZUDAaD0rhxY+Wbb74RlN59yjsub7/9ttKkSRPFZDIp4eHhSt++fZV///1X4CtwD2djAkC1Dfjr+0xFxsYf3mf+85//KA0aNFAMBoMSGRmp3HjjjY5mTfHj7UWpwNj4w/biSvFm1pu3G0kpfEMgIiIiIvI5PGaWiIiIiHwWm1kiIiIi8llsZomIiIjIZ7GZJSIiIiKfxWaWiP6/XTtGTSWMwjB8bgrTSOzEHUwTYYqQ1iXoPlK7hZRhuixg2pRipRAITBMsZGpBCNi4AMEi3u4u4BYzHHie8q++8uXwA0BaYhYAgLTELAAAaYlZAADSErMAAKQlZgEASEvMAgCQlpgFSOp8PsdkMonX19d/b03TxGAwiO122+s2gK78ud1ut75HAPB/1ut1LBaLaJomiqKIsixjPp/H29tb39MAOiFmAZJ7eXmJzWYTT09P0bZtfH9/x/39fd+zADohZgGSu1wu8fj4GD8/P7Hb7WI6nfY9CaAz/swCJHc4HOJ0OsXv728cj8e+5wB0ymUWILHr9RrPz89RlmUURRFVVUXbtjEej/ueBtAJMQuQ2HK5jI+Pj9jv9zEcDmM2m8VoNIrVatX3NIBO+GYAkNTn52dUVRV1XcfDw0Pc3d1FXdfx9fUV7+/vfc8D6ITLLAAAabnMAgCQlpgFACAtMQsAQFpiFgCAtMQsAABpiVkAANISswAApCVmAQBIS8wCAJCWmAUAIC0xCwBAWn8BfaExXyzw2lAAAAAASUVORK5CYII=", + "image/png": "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tEGDBsrHH3/shoTiZGdnF6u1atVK9TO5qIcfflhp1qyZak47dOigjBkzxmU53c1isdh//l717bffKhqNRsnLy3M6Ljg4WFm6dKkbEopls9mUPn36KO+//74yYMAA5c477yxx+eHDhyu9evWyP7ZarUqdOnWU6dOnuyGtGo+ZvQ5r165F69atVX+hDRs2DOfPn8fBgwcrbIy3OXXqFI4fP44hQ4bYa1WrVkXnzp3x119/lTh2zZo16N27N+644w58+umnsNlsbkjsPoGBgU73TDuzdu1a9OrVS3X7wGHDhiE+Ph7JyckuSClGeffC//LLL+jVqxdGjRqF7777Dr52tcGQkBDVY61Wi8DAQJjNZqdj1q5diwEDBsBgMNhrw4YNwz///FOqPd7eICgoqNjhBCEhIbBYLJBlucSxn3/+OXr16oUxY8Zg6dKlLk7qfkFBQarHp06dwunTp9G6dWunY9auXYtBgwap5nTo0KHX/JntTXQ6nernryzL2LhxI5o2bXrNa6e+/vrr6N27N8aNG4e1a9e6Ia37zZkzBwaDAY888kipll+7dq3q97xWq8WgQYOEvGfYzF6HhISEYrvSrz5OSEiosDHe5up2ONrOkrYxIiIC9957L5577jn06dMHs2fPxogRI1ye19OV9J45ffq0oFSeoWrVqhg7diyef/55dOnSBY8//jgeeOAB0bFc6ueff8axY8cwdOhQp8s4e89YLBZcuHDBDSndLycnB++++y4GDx4Mnc75EXR169bFuHHj8Pzzz6N58+a455578Nxzz7k1qzukpqaiS5cuaN26NVq2bInnn38e9913n9Plnb1nLl68WOIfTt7oxRdfROfOnVGzZk3s2bMHf/75Z4nLN2vWDPfddx+effZZ1KpVC7fccgvmz5/vtrzusGnTJnz00Uf4+uuvSzzm/KqMjAxkZGSU+fe8q/CY2etgsViK/QUcGBhof66ixnibq9tR9C/dwMDAErfxk08+sY/p27cv2rZti65du9qP9/NXFovF4VzCh94z5fX999+r3jMNGzbEkCFDMGXKFMTGxoqOV+F27NiB8ePHY+bMmSUe++pv7xmbzYYxY8YgJycHH374YYnLrly5UvWeqVKlCh566CE8+uijqFq1qpsSu15oaCjmzZuHrKws/Pbbb3jxxRfRsWNH9OzZ0+Hy13rPFN7L7+3uuece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", "text/plain": [ "
" ] @@ -173,10 +173,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:15.349643Z", - "iopub.status.busy": "2026-04-14T09:42:15.349523Z", - "iopub.status.idle": "2026-04-14T09:42:15.357910Z", - "shell.execute_reply": "2026-04-14T09:42:15.357340Z" + "iopub.execute_input": "2026-09-18T12:41:57.187205Z", + "iopub.status.busy": "2026-09-18T12:41:57.187121Z", + "iopub.status.idle": "2026-09-18T12:41:57.190168Z", + "shell.execute_reply": "2026-09-18T12:41:57.189847Z" } }, "outputs": [ @@ -218,10 +218,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:15.359334Z", - "iopub.status.busy": "2026-04-14T09:42:15.359212Z", - "iopub.status.idle": "2026-04-14T09:42:16.886931Z", - "shell.execute_reply": "2026-04-14T09:42:16.886228Z" + "iopub.execute_input": "2026-09-18T12:41:57.191362Z", + "iopub.status.busy": "2026-09-18T12:41:57.191279Z", + "iopub.status.idle": "2026-09-18T12:41:58.057691Z", + "shell.execute_reply": "2026-09-18T12:41:58.057210Z" } }, "outputs": [ @@ -232,227 +232,173 @@ "Search bounds:\n", " Lower: [0.33333333 1. 1. ]\n", " Upper: [3. 9. 9.]\n", - "PSO iter 1/80 best cost: -3.212958\r", - "PSO iter 2/80 best cost: -3.212958\r", - "PSO iter 3/80 best cost: -3.636473\r", - "PSO iter 4/80 best cost: -4.053438\r" + "PSO iter 1/80 best cost: -3.243309\r", + "PSO iter 2/80 best cost: -3.765502\r", + "PSO iter 3/80 best cost: -4.386427\r", + "PSO iter 4/80 best cost: -4.386427\r", + "PSO iter 5/80 best cost: -4.588675\r", + "PSO iter 6/80 best cost: -4.588675\r", + "PSO iter 7/80 best cost: -4.654217\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 5/80 best cost: -4.298585\r", - "PSO iter 6/80 best cost: -4.441580\r", - "PSO iter 7/80 best cost: -4.525071\r", - "PSO iter 8/80 best cost: -4.574277\r", - "PSO iter 9/80 best cost: -4.603671\r" + "PSO iter 8/80 best cost: -4.654217\r", + "PSO iter 9/80 best cost: -4.654217\r", + "PSO iter 10/80 best cost: -4.654217\r", + "PSO iter 11/80 best cost: -4.654217\r", + "PSO iter 12/80 best cost: -4.654217\r", + "PSO iter 13/80 best cost: -4.654217\r", + "PSO iter 14/80 best cost: -4.655243\r", + "PSO iter 15/80 best cost: -4.655243\r", + "PSO iter 16/80 best cost: -4.710292\r", + "PSO iter 17/80 best cost: -4.710292\r", + "PSO iter 18/80 best cost: -4.710292\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 10/80 best cost: -4.621324\r" + "PSO iter 19/80 best cost: -4.710292\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 11/80 best cost: -4.631872\r", - "PSO iter 12/80 best cost: -4.638186\r", - "PSO iter 13/80 best cost: -4.641969\r" + "PSO iter 20/80 best cost: -4.710292\r", + "PSO iter 21/80 best cost: -4.710292\r", + "PSO iter 22/80 best cost: -4.710292\r", + "PSO iter 23/80 best cost: -4.710292\r", + "PSO iter 24/80 best cost: -4.710292\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 14/80 best cost: -4.644236\r", - "PSO iter 15/80 best cost: -4.645596\r", - "PSO iter 16/80 best cost: -4.646411\r", - "PSO iter 17/80 best cost: -4.646901\r" + "PSO iter 25/80 best cost: -4.710292\r", + "PSO iter 26/80 best cost: -4.710292\r", + "PSO iter 27/80 best cost: -4.710292\r", + "PSO iter 28/80 best cost: -4.712936\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 18/80 best cost: -4.647194\r", - "PSO iter 19/80 best cost: -4.647370\r", - "PSO iter 20/80 best cost: -4.647476\r", - "PSO iter 21/80 best cost: -4.647539\r" + "PSO iter 29/80 best cost: -4.714629\r", + "PSO iter 30/80 best cost: -4.715643\r", + "PSO iter 31/80 best cost: -4.716252\r", + "PSO iter 32/80 best cost: -4.716617\r", + "PSO iter 33/80 best cost: -4.716835\r", + "PSO iter 34/80 best cost: -4.731969\r", + "PSO iter 35/80 best cost: -4.731969\r", + "PSO iter 36/80 best cost: -4.731969\r", + "PSO iter 37/80 best cost: -4.731969\r", + "PSO iter 38/80 best cost: -4.731969\r", + "PSO iter 39/80 best cost: -4.731969\r", + "PSO iter 40/80 best cost: -4.731969\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 22/80 best cost: -4.647577\r" + "PSO iter 41/80 best cost: -4.731969\r", + "PSO iter 42/80 best cost: -4.731969\r", + "PSO iter 43/80 best cost: -4.731969\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 23/80 best cost: -4.647600\r", - "PSO iter 24/80 best cost: -4.647614\r", - "PSO iter 25/80 best cost: -4.647622\r" + "PSO iter 44/80 best cost: -4.731969\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 26/80 best cost: -4.647627\r", - "PSO iter 27/80 best cost: -4.648513\r", - "PSO iter 28/80 best cost: -4.650146\r", - "PSO iter 29/80 best cost: -4.651126\r", - "PSO iter 30/80 best cost: -4.651713\r" + "PSO iter 45/80 best cost: -4.731969\r", + "PSO iter 46/80 best cost: -4.731969\r", + "PSO iter 47/80 best cost: -4.731969\r", + "PSO iter 48/80 best cost: -4.731969\r", + "PSO iter 49/80 best cost: -4.731969\r", + "PSO iter 50/80 best cost: -4.731969\r", + "PSO iter 51/80 best cost: -4.731969\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 31/80 best cost: -4.652066\r", - "PSO iter 32/80 best cost: -4.652277\r" + "PSO iter 52/80 best cost: -4.731969\r", + "PSO iter 53/80 best cost: -4.731969\r", + "PSO iter 54/80 best cost: -4.731969\r", + "PSO iter 55/80 best cost: -4.731969\r", + "PSO iter 56/80 best cost: -4.739245\r", + "PSO iter 57/80 best cost: -4.739245\r", + "PSO iter 58/80 best cost: -4.739245\r", + "PSO iter 59/80 best cost: -4.739245\r", + "PSO iter 60/80 best cost: -4.739245\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 33/80 best cost: -4.652404\r", - "PSO iter 34/80 best cost: -4.652480\r" + "PSO iter 61/80 best cost: -4.739245\r", + "PSO iter 62/80 best cost: -4.739502\r", + "PSO iter 63/80 best cost: -4.742405\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 35/80 best cost: -4.652526\r", - "PSO iter 36/80 best cost: -4.652924\r", - "PSO iter 37/80 best cost: -4.653249\r" + "PSO iter 64/80 best cost: -4.742405\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 38/80 best cost: -4.653444\r", - "PSO iter 39/80 best cost: -4.653561\r", - "PSO iter 40/80 best cost: -4.653631\r", - "PSO iter 41/80 best cost: -4.653673\r", - "PSO iter 42/80 best cost: -4.653698\r", - "PSO iter 43/80 best cost: -4.653713\r" + "PSO iter 65/80 best cost: -4.742405\r", + "PSO iter 66/80 best cost: -4.742405\r", + "PSO iter 67/80 best cost: -4.742405\r", + "PSO iter 68/80 best cost: -4.744760\r", + "PSO iter 69/80 best cost: -4.744760\r", + "PSO iter 70/80 best cost: -4.744760\r", + "PSO iter 71/80 best cost: -4.744760\r", + "PSO iter 72/80 best cost: -4.744885\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 44/80 best cost: -4.653722\r" + "PSO iter 73/80 best cost: -4.744885\r", + "PSO iter 74/80 best cost: -4.744885\r", + "PSO iter 75/80 best cost: -4.744885\r", + "PSO iter 76/80 best cost: -4.744885\r", + "PSO iter 77/80 best cost: -4.744885\r", + "PSO iter 78/80 best cost: -4.744885\r", + "PSO iter 79/80 best cost: -4.744885\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "PSO iter 45/80 best cost: -4.653728\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 46/80 best cost: -4.653731\r", - "PSO iter 47/80 best cost: -4.653733\r", - "PSO iter 48/80 best cost: -4.653734\r", - "PSO iter 49/80 best cost: -4.653735\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 50/80 best cost: -4.653735\r", - "PSO iter 51/80 best cost: -4.653735\r", - "PSO iter 52/80 best cost: -4.653736\r", - "PSO iter 53/80 best cost: -4.653736\r", - "PSO iter 54/80 best cost: -4.653736\r", - "PSO iter 55/80 best cost: -4.653772\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 56/80 best cost: -4.653827\r", - "PSO iter 57/80 best cost: -4.653860\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 58/80 best cost: -4.653879\r", - "PSO iter 59/80 best cost: -4.653891\r", - "PSO iter 60/80 best cost: -4.653898\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 61/80 best cost: -4.653903\r", - "PSO iter 62/80 best cost: -4.653905\r", - "PSO iter 63/80 best cost: -4.653925\r", - "PSO iter 64/80 best cost: -4.653940\r", - "PSO iter 65/80 best cost: -4.653949\r", - "PSO iter 66/80 best cost: -4.653955\r", - "PSO iter 67/80 best cost: -4.653958\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 68/80 best cost: -4.653970\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 69/80 best cost: -4.653978\r", - "PSO iter 70/80 best cost: -4.653983\r", - "PSO iter 71/80 best cost: -4.653986\r", - "PSO iter 72/80 best cost: -4.653991\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 73/80 best cost: -4.653998\r", - "PSO iter 74/80 best cost: -4.654003\r", - "PSO iter 75/80 best cost: -4.654006\r", - "PSO iter 76/80 best cost: -4.654007\r", - "PSO iter 77/80 best cost: -4.654008\r", - "PSO iter 78/80 best cost: -4.654011\r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PSO iter 79/80 best cost: -4.654013\r", - "PSO iter 80/80 best cost: -4.654014\r\n", + "PSO iter 80/80 best cost: -4.744885\r\n", "\n", - "Best score: 4.6540\n", - "Best dimensions: a=1.716, b=5.466, c=4.936\n" + "Best score: 4.7449\n", + "Best dimensions: a=1.655, b=5.735, c=3.391\n" ] } ], @@ -495,16 +441,16 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:16.888374Z", - "iopub.status.busy": "2026-04-14T09:42:16.888246Z", - "iopub.status.idle": "2026-04-14T09:42:17.047997Z", - "shell.execute_reply": "2026-04-14T09:42:17.047404Z" + "iopub.execute_input": "2026-09-18T12:41:58.058620Z", + "iopub.status.busy": "2026-09-18T12:41:58.058536Z", + "iopub.status.idle": "2026-09-18T12:41:58.202163Z", + "shell.execute_reply": "2026-09-18T12:41:58.201553Z" } }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABUAAAAJZCAYAAABoeJ/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8zPcfB/DXjewdYoSIxAiJiMSqvYuatUcVpdQuVUr5GbVbVJfSktizZqlVe29qC2IGkcied9/v74+Tk2/uklzmZbyej8c99N7fz/fzfd83py7v+wyZKIoiiIiIiIiIiIiIiAohubETICIiIiIiIiIiIsotLIASERERERERERFRocUCKBERERERERERERVaLIASERERERERERFRocUCKBERERERERERERVaLIASERERERERERFRocUCKBERERERERERERVaLIASERERERERERFRocUCKBERERERERERERVaLIASERERERFRvhUQEACZTIagoKAc63P69OmQyWQ51p+hZDIZpk+fblDb8+fPw9TUFI8fP871vAqDo0ePQiaTYevWrcZOhfKBXr16oUePHsZOg/IRFkCJiIiIiIjIYDdv3sQnn3yCMmXKwMzMDM7Ozujbty9u3ryZrX7nzJmDHTt25FieBd23336L3r17w9XVNc+uef78eQwfPhw1a9aEiYlJporEQUFBkMlkaT4+//xzbdsLFy5g5MiR8PLygpWVFcqVK4cePXrg3r17ufTKcsaAAQP0vrYqVapkuq8HDx7A3NwcMpkMFy9elBxr2rRpmvfRxMQkB19R7pg9ezZkMhmqVatm8DkbN26En58fzM3N4eTkhEGDBuHNmzfpnnPy5EntfUndduLEifjrr79w7dq1LL8OKlyUxk6AiIiIiIiICoZt27ahd+/ecHR0xKBBg+Dm5oagoCCsWLECW7duxcaNG/Hxxx9nqe85c+agW7du6Ny5syTer18/9OrVC2ZmZjn0KoApU6bgm2++ybH+ctrVq1dx6NAhnD59Ok+vu3fvXvz555+oXr063N3dM1WQdHJywpo1a3Ti+/btw7p16/Dhhx9qY/Pnz8epU6fQvXt3VK9eHS9fvsQvv/wCPz8/nD17NlOFs7xmZmaGP//8UxKzs7PLdD9jx46FUqlEQkKCzrFvv/0WgwcPlsRiYmLwxRdfSO5jfvTs2TPM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x7O6jE9Vqampys7O1pYtWxooZfyo6bmTkZGhRo0aWcsVy0aMGJHwTcGbb75Zb7zxhhYsWKCOHTvWettkev351vGMT1WJ/voTCATUvXt3SdLQoUO1fPlyPfroo3rqqaeq3TYZnzvHMz5VJfJzZ+XKlcrLy9OQIUMqa5FIRAsWLNBjjz2mUCgkv99v3CcZnz8AAACIHSyBP0GBQEBDhw7VvHnzKmuu62revHk17hM2atQo4/aSNHfu3Fr3FYtXdRmfqiKRiNatW6d27do1YNL4kEzPnfqSk5OTsM8dz/N08803a9asWXr//ffVrVu377xPMj2H6jI+VSXb64/rugqFQkf9vWR67tSktvGpKpGfO2effbbWrVunnJycyl/Dhg3Tj3/8Y+Xk5FRrfornDwAAACxjBmg9mDJliq688koNGzZMI0aM0PTp01VSUqKrr75aknTFFVeoQ4cOlftk3XLLLTrjjDP00EMPaeLEifrnP/+pFStW6Omnn7b8nTSM4x2f3/3udzrllFPUvXt3HTx4UA8++KC2b9+u6667zvJ3Uv+Ki4uN2UHbtm1TTk6OWrZsqc6dO2vq1KnatWuX/va3v0mSbrrpJj322GO64447dM011+j999/XSy+9pDfffNPid9Fwjnd8pk+frm7duqlfv34qKyvTM888o/fff1/vvvuuxe+i4UyePFkvvPCCXn/9daWnp1fupdesWbPKGcHJ/PpTl/FJptefqVOnasKECercubOKior0wgsvaP78+XrnnXekJH/uqA7jk0zPnfT09Gp76TZp0kStWrWqrCf78wcAAACxhQZoPbjsssuUn5+vu+66S7m5uRo8eLDmzJlTudn/jh07jNPORo8erRdeeEG/+c1v9Ktf/Uo9evTQ7Nmzaz2YI54d7/gcOHBA119/vXJzc9WiRQsNHTpUixcvTsg96VasWKEzzzyz8vrbE3KvvPJKzZw5U3v27NGOHTsqf79bt25688039Ytf/EKPPvqoOnbsqGeeeUbjx4+3kr+hHe/4hMNh3Xbbbdq1a5caN26sgQMH6r333jO+RiJ58sknJUljx4416n/5y1901VVXSUn++lOX8Umm15+8vDxdccUV2rNnj5o1a6aBAwfqnXfe0TnnnCMl+XNHdRifZHruHItkf/4AAAAgtjie53m2QwAAAABIDIWFhWrWrJkKCgqUkZFR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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABW0AAAIdCAYAAABGEl/8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XdYU2cbBvD7JIEAsgRRHOBW3Av33nvPat2rdYuto63buutoXa21Q22tWz+1at2rTtxaF7hRRJQNgSTn+yMSPSQRAoEw7t915bJ5znvOefKSKjy8eV5BFEURRERERERERERERJQpyKydABERERERERERERG9x6ItERERERERERERUSbCoi0RERERERERERFRJsKiLREREREREREREVEmwqItERERERERERERUSbCoi0RERERERERERFRJsKiLREREREREREREVEmwqItERERERERERERUSbCoi0RERERERERERFRJsKiLREREREREREREVEmwqItEWVKkZGRKFGiBNatW5cu49NybnR0NHx9fbFz506z75WZPH/+HCVKlMCmTZusnUqW9PLlS/j4+ODs2bPWToWIiIiIiIiyGRZtiSjdlChRAqNHj07VuRqNBgEBAXj79q0+9vr1a5QoUQK//fZbisan5V4fs2DBAoSGhqJdu3Zm3yst4uPjsW/fPvTv3x+lSpVCy5Yt03S9hIQEBAQEIDw83GI5GhMcHIxvv/0WrVq1QsWKFdGyZUssWLAg3e+bWinN19PTE3Xq1MH48eMhiqLV8iUiIiIiIqLsh0VbIko3AQEBePHiRarOdXZ2xv379zFkyBB9TK1WIyAgAGFhYSkanx4iIyOxdOlSjB49GjY2Nul6r6RatWqFVatWoWnTphBFEY8fP87Q+6dWgwYNAAATJ07Exo0b0atXLyxbtgxVq1Y1+rW0NnPy9fPzw/nz53Hw4EErZUtERERERETZkcLaCRARGSOTyVCiRIl0G59aGzZsQGxsLHr37p3u90pq//79UCqVAICFCxdCrVZneA6pcfPmTUmBu2LFinB0dESPHj3w119/4bPPPrNqfkmZk2/58uVRqVIlrF69Gq1atbJSxkRERERERJTdcKUtEWWYD3uoXrp0CR07dkT58uXRqVMnXLt2TTI2aZ/Zq1evonbt2gCAb7/9FiVKlECJEiUwbdo0o+MTlStXTj+2TJkyaN68OVavXg2NRpOq17Bjxw5UrFgRnp6eBscsfa+kEgu26eH06dNo06YNypcvj27duuHKlSsWu7axFcn58uUD3rVoSK2dO3eiS5cuqFChAho2bIhvv/0WMTExacoVqci3RYsWOHDggEXuTURERERERASutCWijJTYQ/XUqVPYtm0bxo0bBxsbG0ycOBGNGzfGw4cP4eLiAhjpM1umTBls2rQJtWvXxvDhwzFgwAAAMDk+0Z49e6DVaoF3hd0zZ85g0qRJCAgIwOLFi83KX61W4+zZs+jbt6/R4ym9V6NGjfDs2bNk7+fr64u//vrLrBxT49KlS/j7778xceJECIKA+fPno27dujh+/Dhq1KihH2epvENCQjB37lzkz58fPXv2TFXOI0eOxE8//YQvv/wSEyZMgCiKOHjwIL766issW7YsQ/OtVasWFi1ahLNnz6Jp06apej1EREREREREH2LRlogy3JEjR3Dr1i0oFLq/gn799Vf4+Phg/fr1JjcuUyqVKFKkCAAgT548KW6FUKxYMcnzKlWqID4+HhMnTsScOXNgZ2eX4rxfvnyJmJgYFCpUKE33evToUYr60RpbzZsejhw5gnv37ulXmNapUwclS5bE2LFjcfbsWf24tOTt7++Pnj17QqVS4cWLF/D19cWFCxeQN29es/M9ePAgVq1ahe+++w5+fn76eL169SQtIzIqXy8vLwDAgwcPWLQlIiIiIiIii2DRlogyXJcuXfQFWwAoXbo0nJ2dcffuXYvf686dO/jhhx9w6dIlhIWFQaPRIDo6GhqNBg8ePED58uVTfK03b94AAFxdXdN0rxMnTqSoLYC9vX2Kc0uLbt26SVoC2NjYoFevXliwYAHevHkDNzc3II15lytXDgcOHEB0dDQuX76M6dOno23btjh8+DA8PDzMynfbtm0QBMFoL9wP31cZlW/i+yHx/UFERERERESUVizaElGGM7ZSNXfu3AgNDbXofW7duoWaNWuiTp06mD59OgoXLgylUok9e/bAz88PcXFxZl3P0dERABAdHZ2mexUuXNgCr85yjH09EmMvX77UF23TkrednZ1+dXSlSpVQtWpVVK5cGXPmzMHy5cvNutazZ8/g4eEBBweHj47LqHwT3w9OTk6pvh8RERERERHRh1i0JaIMJ5fLjcZFUbTofX7++WfEx8dj586dyJUr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iIiIiMgMoigiMjISBQoUYJ9vIiIiIsq2clzRNigoCF5eXtZOg4iIiIjS4OnTpyhUqJC10yAiIiIiShc5rmjr5OQEvPtG39nZOUPuqdVqERISAg8PD64ISYJzYxrnxjTOjWmcm4/j/JjGuTGNc2OaNeYmIiICXl5e+u/piIiIiIiyoxxXtE1sieDs7JyhRdu4uDg4Ozvzh70kODemcW5M49yYxrn5OM6PaZwb0zg3pllzbtjmioiIiIiyM/7kQURERERERERERJSJsGhLRERERERERERElInkuPYIRERElL1oNBokJCSk2/W1Wi0SEhIQFxfH9ghJpOfc2NjYQC6XW/SaRERERERZBYu2RERElGVFRUXh2bNnEEUx3e4hiiK0Wi0iIyPZRzWJ9JwbQRBQqFAhODo6WvS6RERERERZAYu2RERElCVpNBo8e/YMDg4O8PDwSLeCqiiKUKvVUCgULNomkV5zI4oiQkJC8OzZM5QsWZIrbomIiIgox2HRloiIiLKkhIQEiKIIDw8P2Nvbp9t9WLQ1LT3nxsPDA48ePUJCQgKLtkRERESU47AxGxEREWVpLKRmT/y6EhEREVFOxqItERERERERERERUSbC9ghEREREFnL+/Hns2bMHAKBUKlG6dGl06tQJtra21k6NiIiIiIiyEK60JSIiohzl8ZtILD9+A5N2ncfy4zfw+E2kxa598eJF7Nq1C3Z2dkhISMD8+fPRt29fi12fiIiIiIhyBq60JSIioixNK4p4E6NK0dj9t55g8ZFrAAQAIgABv527iy+bVUarsl5GzxFFERq1GnKFBoIgwNXeFrKP9Fv18fHBN998AwBo27YtunbtmspXRkREREREORWLtkRERJSlhcfGo9WPh8w8S5T8ueDQVSw4dDVFZx4b2x5uDkqTx2/duoVvvvkG8fHxOH36NCZNmmRmbkRERERElNOxaEtERERkQXK5HHZ2dpDL5VAoFAgMDLR2SkRERERElMWwaEtERERkQR+2R/jqq6+QJ08eDB8+HD4+PtZOjYiIiIiIsghuREZERESUTkRRhCiKiI2NtXYqRERERESUhXClLRERUVam1QKCoHvkUC72tjg2tn2y4569jUL/DcegFQ2PyQRgfb8mKOiay+DY+43IFPqNyD4msadtQkICjh8/jooVK6JChQrmvSgiIiIiIsrRWLQlIiLK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ed1SV7mG59eD9NprWunqTWRZhiRJiImJCcgfhEvD3rjG3rjG3pSO/XGNvXEt0Htzra9xoqKiEBsbW2F5TCZThX0uIiIiIiJvJWxo27JlSyxatAhms9n54vvAgQMAgBYtWlTYOUajEUajsVhdo9FU6A9e1/q5nu7TBu3bt6+wPL5EkqQK///DX7A3rrE3rrE3pWN/XGNvXAvk3lzrY/a211xERERERL5A2KveQYMGwW634/PPP3fWFi5ciKZNm6JNmzZA/nYIY8eOxebNm8t8DhEREREREREREZEvE7bStmbNmnjnnXfw1FNP4ffff0dqair27NmDX3/91fnWf4vFgoULF6Jjx47o0qVLmc4hIiIiIiIiIiIi8mXChrYA8PDDD+OGG27A2rVrYTQacfPNN6Nq1arOjwcHB+Odd95BQkJCmc8hIiIiIiIiIiIi8mVCh7YA0LBhQzRs2LDEjxkMBowdO9atc4iIiIiIiIiIiIh8Ga/kUEGio6PLfTVjk8mE6OjoCs9EREREdK34GoeIiIiIyPOEr7T1F3Xq1MGhQ4eQkpJS7GOyLCM1NRVRUVElXvE4OjoaderU8VBSIiIiorLjaxwiIiIiIs/j0LYC1alTp8QfTGRZRlJSEmJjY0v8gYaIiIjIm/E1DhERERGRZ/HVNREREREREREREZEX4dCWiIiIiIiIiIiIyItwaEtERERERERERETkRTi0JSIiIiIiIiIiIvIiHNoSEREREREREREReREObYmIiIiIiIiIiIi8CIe2RERERERERERERF6EQ1siIiIiIiIiIiIiL8KhLREREREREREREZEX0YkO4GmKogAAMjIyPPY1ZVlGZmYmTCYTNBrOyQtjb1xjb1xjb1xjb0rH/rjG3rjG3rgmojdXXsNdeU1HREREROSPAm5om5mZCQCIi4sTHYWIiIiIyikzMxMRERGiYxARERERVQpJCbBlCrIs4/z58wgLC4MkSR75mhkZGYiLi8OZM2cQHh7uka/pK9gb19gb19gb19ib0rE/rrE3rrE3ronojaIoyMzMRM2aNbnymYiIiIj8VsCttNVoNKhdu7aQrx0eHs4f9lxgb1xjb1xjb1xjb0rH/rjG3rjG3rjm6d5whS0RERER+TsuTyAiIiIiIiIiIiLyIhzaEhEREREREREREXkRDm09wGg0YsqUKTAajaKjeB32xjX2xjX2xjX2pnTsj2vsjWvsjWvsDRERERFR5Qi4C5EREREREREREREReTOutCUiIiIiIiIiIiLyIhzaEhEREREREREREXkRDm2JiIiIiIiIiIiIvIhOdAB/sGjRInz33XewWCzo27cvxo8ff9ULcpTnHF/0+++/46OPPkJqaio6duyISZMmISoqyuX9X3jhBaxevVpVa9++Pd59910PpPWs3bt34/3338fOnTvx2muvoW/fvlc9Z8eOHZg3bx5Onz6NJk2a4Pnnn0fDhg09kteTTp06hQ8//BCrV6/GqFGjMHr06FLvv2bNGkyaNKlY/ddffy31+eaLfv75ZyxduhRnz55Fw4YNMXbsWLRu3brUc9LT0/HGG29g06ZNiIiIwP/93/9h0KBBHsvsKZs2bcLnn3+Ow4cPo2bNmhg5cuRV/1316NEDdrtdVRs/fjyGDx9eyWk9Ky0tDe+++y7Wr18PrVaLLl26YMyYMYiMjCz1vMWLF+Obb75BdnY2evfujYkTJyI4ONhjuT3BYrHg008/xV9//YXs7Gy0bt0aTzzxBOrUqePynGnTpuGXX35R1Zo3b47PPvvMA4nF+Oeff/Dcc8+hR48emD17dqn33bdvH2bPno0TJ06gYcOGePbZZ9GsWTOPZSUiIiIi8gcc2l6jadOmYfbs2Zg7dy4iIiLw/PPPY9u2bVi6dGmFnuOLfvjhBwwfPhzTpk1Dy5Yt8eabb6J3797Ytm0bDAZDiedcGbY8++yzzlp4eLgHU3vGggUL8OGHH+Lhhx/G+++/j5SUlKues2fPHvTo0QMPPvgg7rnnHixatAhdu3bFrl27ULNmTY/k9oRVq1bh4YcfxgMPPIBz587hzJkzVz3n0qVL2L9/P/766y9VPSwsrBKTet4LL7yA/fv3Y8iQIahduzaWL1+ODh06YPXq1ejZs2eJ5zgcDtx0000AgMmTJ+PIkSO444478Nlnn+Hee+/18COoPF9//TUWLlyIkSNH4o477sDWrVtx6623YuHChXj44Yddnrdp0ybMnj0bCQkJzlq9evU8lNpzbrzxRgwcOBDjxo1DZmYmZsyYge+++w7bt2+HTlfyS4F58+bhxRdfxJw5cxAbG4sXX3wRGzduxO+//+7x/JXp3nvvRZ06dfDAAw9Ao9HgvffeQ6dOnbB7925Ur169xHOOHTuGKlWq4JVXXnHWQkNDPZjasy5duoRRo0bBaDTi4MGDpd738OHD6NatG4YPH47nn38e33zzDbp27YodO3agfv36HstMREREROTzFCq3jIwMJSgoSHnvvfectXXr1ikAlG3btlXYOb6qadOmypgxY5zHSUlJil6vVxYtWuTynKFDhyqjR4/2UEJx0tLSFEVRFJvNpgBQvvnmm6ueM2TIEKVXr17OY7vdrtStW1eZOHFipWb1tMzMTMXhcChK/nNo8uTJVz3nu+++UyIiIjyQTqzMzMxiteuvv14ZNmyYy3P+97//KRqNRjl79qyz9vTTTytxcXGKLMuVltXTSurNE088oTRv3rzU87RarfLbb79VYjLvkJ2drTresmWLAkDZu3dvifc3m81KRESEMmvWLGdt586dCgDl77//rvS8nlS0N9nZ2YokSaV+Xx45cqQyYsQID6TzDgMGDFCmT5+uDB06VOnfv3+p973//vuVjh07Oo9lWVaaN2+uPProox5ISkRERETkP7in7TXYsGEDcnNzMXDgQGete/fuqFq1KlauXFlh5/iis2fP4tChQ6rHGRMTg65du171ca5atQq9e/fGsGHD8N5778HhcHggsWdFRES4fc6qVatU/dRqtejfv79fPW+Qv1pNo3H/W1Nubi5uvfVW9OvXD8888wwSExMrJZ9IJa3kCw0NhdVqdXnOqlWr0L59e9SqVctZGzRoEM6cOYPDhw9XWlZPK09vrpg2bRp69+6N//u//8M///xTSQnFKrqlwdq1axEZGYm4uLgS779161akp6ervue0bdsWderU8bvvOUV7s27dOmg0GsTHx5d63oYNG3D99ddj6NChePvtt2Gz2So5qRjz589Heno6nnvuuTLdf9WqVRgwYIDzWJIkDBw40O+eN0RERERElY3bI1yDU6dOQZIk1dsnJUlCjRo1cOrUqQo7xxddeSxF37Zfs2bNUh9nlSpVcN9996Fr1644fvw4Xn31Vfzyyy9YsWJFpWf2Zunp6UhPT3e7n4FCkiTccccduPPOOyHLMt599120aNECu3btKnVfSl+3Y8cO/Pbbb/joo49c3ufUqVMlPm+ufKxp06aVnlOEpKQkfPzxx7j//vtLvV+rVq3wwAMPoE6dOli1ahVuvPHGq26p4KsWLVqE999/H4mJidDpdPj7779d/gKpvN/DfdXatWvx7LPPIj09HcnJ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Nmwo8NGIce7cOWzevNl5PGrUKOzZswedO3dGvXr1cPLkSYwfP97vfolGRERERFTZJEVRFNEh/MHhw4dhsVjQvHlz6HTqWfiuXbtQpUoV1KtXr8zn+JPTp08jNTUVTZo0Kba/5OHDh2G329GiRQtnzWw24+jRo4iOjvar1W6Fpaen48CBA8Xq1apVQ/369YH8C01dvHgRHTp0UN0nKSkJZ8+eRf369f1qeHKF1WrFjh07itXDw8Odz5NLly7hyJEj6NChA/R6PZC//cbx48ehKArq1avnl/+mjh07huTk5GL14OBgtG7dGsjfImD37t1o0aIFwsPDnfcxm804ePAgIiIinM8xf3L+/HmcPn26xI8lJCQ4b2/atAn16tVTfW+5dOkSLly4gHr16iE0NNQjeUXIzs7GsWPHEB0djRo1ahTbX3Tv3r0IDg4uNng8evQocnJy0Lx5c+e/N39jtVpx+PBhhIWFoXbt2sUuFnrs2DHk5uYiPj6+2DlVq1ZFjRo1BKT2vCNHjkCWZTRt2tRZO3/+PM6ePYvOnTur7puSkoLTp0+jbt26frkPMhERERFRZePQloiIiIiIiIiIiMiLcE9bIiIiIiIiIiIiIi/CoS0RERERERERERGRF+HQloiIiIiIiIiIiMiLcGhLRERERERERERE5EU4tCUiIiIiIiIiIiLyIhzaEhEREREREREREXkRDm2JiIiIiIiIiIiIvAiHtkRERERERERERERehENbIiIiIiIiIiIiIi/CoS0RkR9Yvnw5tm/frqpt27YNy5cvF5aJiIiIiIiIiMqHQ1siIj9w9uxZ3HDDDTh58iQA4OTJk+jTpw/Onj0rOhoRERERERERuUlSFEURHYKIiK7dwIEDkZqaitWrV+OGG25AVFQUfv75Z9GxiIiIiIiIiMhNHNoSEfmJ5ORktG7dGjExMUhKSsLevXsRExMjOhYRERERERERuYnbIxAR+YmYmBg8+eST2Lt3LyZPnsyBLREREREREZGP4kpbIiI/cf78ebRu3RrVqlVDbm4udu/ejbCwMNGxiIiIiIiIiMhNXGlLROQHFEXByJEj0bZtW2zduhXBwcEYO3as6FhEREREREREVA460QGIiOjazZs3Dzt27MCePXsQHByMxYsXo3Pnzujfvz/uvPNO0fGIiIiIiIiIyA1caUtE5OOysrKwZ88efPHFF6hVqxYAoHXr1vjwww/x999/w263i45IRERERERERG7gnrZEREREREREREREXoQrbYmIiIiIiIiIiIi8CIe2RERERERERERERF6EQ1siIiIiIiIiIiIiL8KhLREREREREREREZEX4dCWiIiIiIiIiIiIyItwaEtERERERERERETkRTi0JSIiIiIiIiIiIvIiHNoSEREREREREREReREObYmIiIiIiIiIiIi8CIe2RERERERERERERF6EQ1siIiIiIiIiIiIiL8KhLREREREREREREZEX+X9oerArzjaKQQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -553,16 +499,16 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:17.049656Z", - "iopub.status.busy": "2026-04-14T09:42:17.049517Z", - "iopub.status.idle": "2026-04-14T09:42:17.135327Z", - "shell.execute_reply": "2026-04-14T09:42:17.134818Z" + "iopub.execute_input": "2026-09-18T12:41:58.203372Z", + "iopub.status.busy": "2026-09-18T12:41:58.203286Z", + "iopub.status.idle": "2026-09-18T12:41:58.293789Z", + "shell.execute_reply": "2026-09-18T12:41:58.293264Z" } }, "outputs": [ { "data": { - "image/png": "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NXc+nVsV0WVlZTh16hRmzJjh9OM+Pj72TULq0+l0ii8InU6nWDbP1YQQ9vvlSLT7q/06qP910vCYtIWvn3bxtdM2vn7axteveZr7/Kj6LD7zzDPYuHEjzp49i61bt+K2226DXq/HPffco2ZaRERERERNUnUkOjMzE/fccw8KCgoQFRWFa6+9Ftu3b2/2VtRERETkHUqO7EDhT28BlRcAvySETfgDgvsMVzst8mKqFtFff/21mg/foWpqavDyyy/ju+++g9FohMFgwDPPPGPf7KQpZ8+exapVqzBnzhx7bOrUqXj77bfRs2fPFuXR2usaExkZid27dyM5Odkl90dERG0gBFBdDVy8CGRl2W5FRUBVle1WWWm7NefYagVk2X6TZBlRZjMkwBYTou6c2v/7+QF//GPTW/86u/n7A0FBwJWNuxrK/OJZBOW9hVAhAUYBYd4Jsfo7ZO5/EYn3vOr0GqL25lY90Z5s5syZqK6uxv79+xEQEICzZ89iypQpsFgsTlciqe/s2bOYP3++oohesWJFq/Jo7XVqqN3QhojIKwgBlJQA2dnA6dOOtwsXgOJi1dKTADgvcespKgJ+//vWP4ifHxAcbCuor9xKonwQdM06SBIAybasrCQJCAEE5f4FJX8XCB46AejZE4iObrQQJ3I1dpZ3gIyMDCxZsgQffvghAgICAADJycl466237Ev2bdiwAf369cN9992Hfv36YfDgwfadHOfMmYPjx48jNTUVN998s/362o+PHTsWf/jDH3DdddehU6dOePnll7FixQpce+21SE5Oxj/+8Q97LrXX5eXlITU11X6LjIzErFmz7PlOmzYNQ4cOxYABA/Cvf/3Lfv3SpUvRu3dvDBgwAM8991yTn/ebb76J/v37Y+DAgRgxYgQqKiqwYcMGxRblhw4dso9inz17FqGhoXj++ecxaNAg/O1vf0NERARyc3Pt58+dOxdPPfXUVfMkIlKdELYR4RUrgHnzgGnTbEWeJDm/6XRAaCjQpw9w443AE08A77wDLF0KHDqkagHdYSorbc/ZyZPAvn3Apk0o9DkKCMdJ/JJke4oL0xcC48YB8fGAwdD489u7N/CrXwFz5wLff297jCvL1RK1hncM8w0ZAtQrxFxB8cTFxgK7dzd67r59+9C9e3dEREQo4iNHjsSFCxeQn58PADh8+DDeffddfPbZZ1i0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xZVNmzbh+PHj7OuLM2VlZaiurkZ3dzfeeecdbNy4Ebt27WIhHePq6+vxgx/8ANu3b4fL5ZKdDkXpgQceGPnzokWLUFlZiRkzZuB3v/sdW6kmAYvoKGRlZUHTNLS0tAjxlpYW5OXlScuLyCqee+45vP/++9i9ezeKiopkp0NRcDgcmD17NgBg6dKlOHjwIP7pn/4Jr732muzU6DoOHz6M1tZWLFmyZCSm6zp2796NX/ziF/D7/dA0TWqOFLm0tDTMmTMHZ8+elZ1KQmBPdBQcDgeWLl2KnTt3jsQMw8DOnTvZ20c0hUzTxHPPPYd3330Xn376KWbNmiU7JbpFhmHA7/fLToNuYN26daipqUF1dfXIx7Jly/DEE0+gurqaBXSc6evrw7lz55Cfny87lYTAkegobd68GRs3bsSyZcuwYsUKbNmyBT6fD0899ZTs1OgG+vr6hFffFy5cQHV1NTIyMlBSUiI1N7q+TZs24c0338Qf//hHeDweNDc3AwC8Xi/cbrfs9OgGXnzxRTzwwAMoKSlBb28v3nzzTXz++ef4+OOPZadGN+DxeMLmHiQnJyMzM5NzEuLA3//93+Phhx/GjBkz0NjYiJdffhmapuHxxx+XnVpCYBEdpcceewxtbW146aWX0NzcjPLycmzbti1ssiHFnkOHDuHee+8dOd68eTMAYOPGjXj99dclZkY38uqrrwIA1qxZI8R/85vf4Mknn5SUFUWqtbUV3/72t9HU1ASv14tFixbh448/xn333Sc7NaKE1tDQgMcffxwdHR3Izs7GXXfdhf379yM7O1t2agmB60QTEREREUWJPdFERERERFFiEU1EREREFCUW0UREREREUWIRTUREREQUJRbRRERERERRYhFNRERERBQlFtFERERERFFiEU1EREREFCUW0UREREREUWIRTUREREQUJRbRRERERERRYhFNRJSg2trakJeXhx//+Mcjsb1798LhcGDnzp1ScyMiineKaZqm7CSIiGhqfPjhh3j00Uexd+9elJWVoby8HI888gh+/vOfy06NiCiusYgmIkpwmzZtwo4dO7Bs2TLU1NTg4MGDcDqdstMiIoprLKKJiBLcwMAAFi5ciPr6ehw+fBh33HGH7JSIiOIee6KJiBLcuXPn0NjYCMMwcPHiRdnpEBElBI5EExElsEAggBUrVqC8vBxlZWXYsmULampqkJOTIzs1IqK4xiKaiCiB/cM//APeeecdHDt2DCkpKVi9ejW8Xi/ef/992akREcU1tnMQESWozz//HFu2bMEbb7yB1NRUqKqKN954A3/605/w6quvyk6PiCiucSSaiIiIiChKHIkmIiIiIooSi2giIiIioiixiCYiIiIiihKLaCIiIiKiKLGIJiIiIiKKEotoIiIiIqIosYgmIiIiIooSi2giIiIioiixiCYiIiIiihKLaCIiIiKiKLGIJiIiIiKKEotoIiIiIqIo/X9eAcjtQfokGgAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAH4CAYAAABXMI4qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAqhVJREFUeJzs3XeYE9X+BvB3JtlNtvfOLr33DuIVBARBBBuKeO2oWLDgT69evQp6Ffu9qFyxg4K9AyKiIIo06W3pfdllF1i2b7LJnN8fwyY7sCVbT7L7fp4nDzknM8mbnGTJNzNzRhFCCBARERERERFRnVNlByAiIiIiIiJqrFh0ExEREREREdUTFt1ERERERERE9YRFNxEREREREVE9YdFNREREREREVE9YdBMRERERERHVExbdRERERERERPWERTcRERERERFRPWHRTURERERERFRPWHQTETUyRUVFePPNN3HJJZegefPmiI2NRdu2bTFs2DDMnTtXdjwAwN69exEeHo7w8HC8+eabsuM0GbV93Stav3Xr1ggPD8eECRPq7PEa+3ukPl6zish6LR999FHX4+bk5DTY4xIReRuz7ABERFR3Dh06hNGjRyM1NRV9+vTBvHnz0KZNGxw6dAjLli3Dtm3bZEcEADidTteX8OLiYtlxmozavu4VrZ+Tk4OcnBzk5+fX2eM19vdIfbxmFZH1WhYWFroeVwjRYI9LRORtWHQTETUSTqcT48aNQ2pqKsLDw7F06VKEh4cDABISEjBw4EDZEUmydu3aITs7GwAQEBBQ7+vX9vGaovp4zTgORERycfdyIqJG4vvvv8fWrVsBALfffrur4K5ITk4OnnjiCfTo0QOxsbFo3rw5rrzySqxYscK1zMqVK127h3788ceu/nvuucfVX6rsLqxPPfUU7r77bnTt2hWJiYn4+9//joyMjCqfQ15eHp5++mn07t0bcXFx6Ny5M2644QZs37693Md588038e2336J79+5o0aJFhfdbWFiI559/HgMGDEB8fDy6dOmCp59+GkVFRbV6nmUfPyUlBc2aNUN4eDimTp1qePybb74Z4eHhaN26Nex2u8fPFQDefvttXHDBBWjWrBnatWuHa6+9FgsXLjQsM2bMGISHh6N9+/aVvr779+9HixYt0KJFC7z77rvnPZ9p06ZhypQp6N69O5KTkzF27Fjs3r27wvXXr1+P8PBwnD59GgCwZMkS1319+OGH5T5eTk6Oa5nw8HBER0ejXbt2+Pvf/46dO3dWmv9cBQUF1XrNPXkty+PJZ8XT939NXrPSH9LCw8PxzDPPYPLkyWjbti1SUlIwadIkHDhwAFOmTEHLli2RkpKC8ePH4/Dhw5WO++OPP24Yh7KXsq+lp+/TvXv3Yty4cUhISECvXr3w6KOPoqCgoFrjSUTUaAkiImoUpkyZIgAIAGL+/PmVLpudnS3at28vAIiRI0eKvXv3io8++kiYTCahKIqYO3euEEKI5cuXu+7z/fffd61/8803u/pLpaamuvr8/f3Fl19+KXbv3i369esnAIju3bsLh8Nx3rIvv/yyEEKInJwc0aVLFwFAXHfddeLQoUPis88+E6qqCpPJJBYsWHDeuhMmTBAffvihyMjIEGfOnCn3uebm5oru3bsLAKJNmzbit99+EwcOHBBvv/22ePvtt2v1PM99/Ntvv10AEJGRkcJmswkhhDhz5oywWq0CgHjooYeq9Vw/+ugjAUC0bdtWpKamioMHD4pvv/1WjBw5UqxYscKVafDgwQKAiIuLq3Tcy3vdy/YFBASIb775RuzcuVM0b95cABDdunWrcH2HwyGys7NFZGSk672UnZ0tsrOzhc1mK/fxNE1zLZOdnS32798vJk2aJACI+Ph4kZWVVWHW8nj6mnv6Wp7L08+Kp+//mrxm27Ztc/WFhYWJ5cuXi2XLlrn6FEURr776qti7d69r3AYPHlzpuBcWFroeNz09XfTs2dO1zF133VWt92lubq5ITEwUAMTo0aPFvn37xOzZs133B0BkZ2dX+t4kImrMWHQTETUS119/vesL7i+//FLpstOmTXMtu23bNlf/iBEjXAWM3W43FKMffviha7mqitGrr77a1b948eLzfgworwh45plnBAChqqo4efKka/2//e1vAoBo3779eetOnDixytfl3//+t2v5ZcuWlbtMTZ/nuY+/bt06121ff/21EEKIt99+29WXmppared61113CQCiXbt2YuvWra4fLcTZ4rVUXRXdN954o2vZyZMnu/rz8vIqXF8IIaKiogQAcdlll1X5eOXZvXu3a7mPPvqoWut6+pp7+lqey9PPSnXe/9V9zcoW3XfccYdr2dLCPSkpyfUcSt+z/v7+rr7KXktN08Q111zjut3Pz0/8+uuv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GavlzTffxKOPPoq0tDSPdjMHgC+++AITJkxATk5OuVO1l7elOzk5GdnZ2V4/ezmn9fdtHEPfxzH0fRxD38cx9H0cQ9/X1MawuLgYhw4dQvPmzREYGCg7Tp0pKSlpFD8gyFBUVIRDhw6hRYsWsFqtrv7c3FxEREQgJyen0tpS+pbusvr374+ioiIcPnzY46Lbbre7jrcoj8VigcViOa9fVVWv/6OhKIpP5KSKcQx9H8fQ93EMfR/H0PdxDH1fUxrD0q3BJpOp0WwVFkK4nktjeU4NqfQ9ce5nwNPPg7RPzfr1613HV5f6+uuvERISgrZt2wJnf1F48MEHsW7dOgDAhg0bcObMGdfyxcXF+N///oc+ffp4XKQTERERERFRxe6+++4KN2pS9UkrurOysjBgwABcddVVuPPOO9GvXz+8//77mDt3rusAdZvNhpkzZ2Lnzp0AgFOnTmHgwIG46qqrcNttt6Fjx47IycnBnDlzZD0NIiIiIiKievfQQw/h+PHjVS5XtmC+6667DJN9eVpMf/jhhyy665C03ctHjRqFQYMGYcWKFcjIyMCVV16JwYMHG46bCAgIwH/+8x/069cPADBixAisW7cOy5cvR1ZWFm688UZcdNFFtZq+nYiIiIiIyNt9/PHHuP32212TSlekf//+rl3I33//fcyaNctVL5W9jRqO1GO6Q0NDcfnll1d4u8ViwYMPPmjoCwkJwdixYxsgHRERERERkfeZNGkS/vnPf2LOnDlQFAVTpkxBdHQ0AGDt2rX4+9//jjfeeAOapuGuu+4CAMycORNr167FjTfeCAB4+OGHXZNRX3TRRbjyyis9emy73Y65c+di69atKCoqwqRJk9C9e3f885//xH/+8x/g7OR79957L9566y1X3n/84x+YP38+evToAZvNhqCgIIwZM8a1/P33348XXngBwcHBKCkpwYcffogdO3agRYsWmDRpUrmTZvuKxj8TAhERERERUS3ZbBVfSkpqvmxNvP/++7jrrrsQGRmJ3bt349prr3XdVrprePv27aEoCvr3748BAwbAZDJhzpw5rt3Ge/fujQEDBqBFixZ4/vnn8d5771X5uEIIXHLJJfj888/Rrl07DBgwADExMbDZbPj4449dy2mahg8//NCQd/LkyYiIiEBycjJiYmLw7LPPum5funQpNm/ejODgYAghcNlll2HL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1TBVVZX+F+5C3/iXXTIJN31xWsHqocJTFKUk/q7RyPEYmh+PYem70PdD64ybYJ+/vmD1UOHx59D8eAzNj8ew8PL9Xkr7jt9www2YMWMGfvSjH8Hr9eL06dN4+OGHcdttt6UCdU9PDyorK7F9+/a89yEiIiIiIiIqFdJCt81mw86dO3Hu3DlUV1djxowZ+OIXv4hnn3029RwhBHp6ehAOh/Peh4iIiIiIiKhUSF1IbebMmXjvvfcQDoehaRo0zXgussfjQVdXF5xOZ977EBEREREREZUKqaE7yWbLvvKnoiiorKwc1j5EREREREREpYJn0Us0ffp0qfsTERGVAr4fEhHRWFYSne7xasmSJdi3bx9Onjw54LHk+ewejyfrqq7Tp0/HkiVLRqlSIiKi4uH7IRERjWUM3ZItWbIk64cFXdfR1taGuro6LutPRERjHt8PiYhorOK7FxEREREREVGRMHQTERERERERFQlDNxEREREREVGRMHQTERERERERFQlDNxEREREREVGRMHQTERERERERFQlDNxEREREREVGRMHQTERERERERFYlFdgGjTQgBAPB6vbJLGZSu6/D5fHA4HFBV/m7EjHgMzY/H0Px4DM2Px9D8eAzNj8fQ/HgMiyOZKZMZM5dxF7p9Ph8AoLGxUXYpREREREREZHI+nw8ejyfn44oYKpaPMbquo6WlBeXl5VAURXY5OXm9XjQ2NuL06dOoqKiQXQ6NAI+h+fEYmh+PofnxGJofj6H58RiaH49hcQgh4PP50NDQMOgMgnHX6VZVFVOmTJFdRt4qKir4g2FyPIbmx2NofjyG5sdjaH48hubHY2h+PIaFN1iHO4kT+omIiIiIiIiKhKGbiIiIiIiIqEgYukuU3W7HQw89BLvdLrsUGiEeQ/PjMTQ/HkPz4zE0Px5D8+MxND8eQ7nG3UJqRERERERERKOFnW4iIiIiIiKiImHoJiIiIiIiIioShm4iIiIiIiKiIhl31+kudcFgEL/85S+xZ88eOBwOrF27FnfccYfssmgYent7sX37drz88suor6/Htm3bZJdEw7R//3787ne/w/Hjx9HQ0IANGzZgxYoVssuiYTh79iyefvppfPjhh3C5XLj66quxadMmlJWVyS6NRuA73/kODh8+jGeeeQYLFy6UXQ7l6ZZbbkFra6thbP369fjBD34grSYavjNn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", "text/plain": [ "
" ] @@ -618,17 +564,17 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:17.136678Z", - "iopub.status.busy": "2026-04-14T09:42:17.136562Z", - "iopub.status.idle": "2026-04-14T09:42:17.453546Z", - "shell.execute_reply": "2026-04-14T09:42:17.453041Z" + "iopub.execute_input": "2026-09-18T12:41:58.295336Z", + "iopub.status.busy": "2026-09-18T12:41:58.295246Z", + "iopub.status.idle": "2026-09-18T12:41:58.555829Z", + "shell.execute_reply": "2026-09-18T12:41:58.555425Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5cc57c1b47414dc89efba428a509639f", + "model_id": "09192f9ece0d4ee1821ed50bddf17b01", "version_major": 2, "version_minor": 0 }, @@ -667,29 +613,21 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:17.455471Z", - "iopub.status.busy": "2026-04-14T09:42:17.455349Z", - "iopub.status.idle": "2026-04-14T09:42:17.926250Z", - "shell.execute_reply": "2026-04-14T09:42:17.925570Z" + "iopub.execute_input": "2026-09-18T12:41:58.557771Z", + "iopub.status.busy": "2026-09-18T12:41:58.557663Z", + "iopub.status.idle": "2026-09-18T12:41:58.825274Z", + "shell.execute_reply": "2026-09-18T12:41:58.824816Z" } }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/h/Documents/dev/hu/the-great-walker/pylinkage/.venv/lib/python3.11/site-packages/scipy/optimize/_numdiff.py:686: RuntimeWarning: invalid value encountered in subtract\n", - " df = [f_eval - f0 for f_eval in f_evals]\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ "Dual annealing score: 13.5000\n", - "Dimensions: a=3.000, b=9.000, c=8.219\n", + "Dimensions: a=3.000, b=9.000, c=8.186\n", "\n", - "PSO score for comparison: 4.6540\n" + "PSO score for comparison: 4.7449\n" ] } ], @@ -721,16 +659,16 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:17.927848Z", - "iopub.status.busy": "2026-04-14T09:42:17.927748Z", - "iopub.status.idle": "2026-04-14T09:42:18.012658Z", - "shell.execute_reply": "2026-04-14T09:42:18.012030Z" + "iopub.execute_input": "2026-09-18T12:41:58.826379Z", + "iopub.status.busy": "2026-09-18T12:41:58.826290Z", + "iopub.status.idle": "2026-09-18T12:41:58.903491Z", + "shell.execute_reply": "2026-09-18T12:41:58.903021Z" } }, "outputs": [ { "data": { - "image/png": "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vrjvMQ3DMBISEqxmnDaZTMbp06et2tztOF5eXsaFCxfuuu87Zy9P6WFvb298++23VtssWbLEUm9nZ2e4ublZvT+S3o+HDh1KNsO3s7Oz1fs7SWpnL69evbrlNTh58qRV3ZUrVyyf55IlSxrGPd6jd84Afr8YUppBfNmyZXdd+eDOY925z6RHkSJFUvzsPszs5XdKafthw4YlO/6dv5eGDh1619daRCSrUU+3iEgGGjhwIH/99RddunQhKCgIJycncufOTc2aNfn8888t90G2atWKdevW0aZNG3x8fHBwcCA4OJh+/fqxadMmywzT3B763Lx5c9zd3fH09OSDDz6476zZY8eO5fnnn8fb2xsPDw+ee+455syZc8+hrfnz52fbtm307duXggUL4ujoSO7cualatSqDBg16pNmo3d3d2bBhA4MGDaJUqVI4Ozvj4eFBtWrVqFat2iOd692ULFnS6r7n//bQcruHe8aMGdSrVw8PDw9cXFwoXLgwHTt25LfffrO069+/Pw0aNCBv3rw4Ojri7+9PkyZNWLhwYarva38U33//PT179qR06dL4+vri4OBAnjx5eOKJJ1i/fr3VBGsODg7Mnj2bX3/9lUaNGuHj44OjoyMBAQF06tSJDRs2WHqS78fOzo5nnnnG8rxhw4ZWIxIA3n33XWrUqEHu3Lkta0G3bduWFStWWGbqTg17e3u8vLwoU6YML774Ijt27KB///5WbVq0aMHXX39NoUKFcHJyonr16pae3TsVL16cmTNnUrp0aZydnSlfvjwLFiygaNGiqY7nTidOnGDLli0A1K1bN9k95rlz57b08B88eJCdO3c+1HFSo1mzZmzatMmyTrejo6NltvlvvvnGshrA+++/z4ABA8iTJw/u7u506tSJadOmpVtc/zVo0CA++OAD8uTJg5ubG0888QRjx4611Pv6+mZYLCIi6c1kpGYslIiIZHmTJk2iZ8+ecHvW7bQe4iwiklrHjx8nKirK8oVQeHg4vXv3ZtasWXB7hvNy5crZOEoRkbThYOsARERERCRn2bJlC126dMHDwwMvLy8uXbpkmbOib9++SrhFJFvR8HIRERERyVClS5fmsccew83NjYsXL+Lm5ka9evWYNGkS33//va3DExFJUxpeLiIiIiIiIpJO1NMtIiIiIiIikk6UdIuIiIiIiIikEyXdIiIiIiIiIukkS89ebjabOX/+PB4eHvdcW1ZEREREREQkLRmGQUREBIGBgdjZ3b0/O0sn3efPn6dAgQK2DkNERERERERyqDNnzhAUFHTX+iyddHt4eMDtk/T09LR1OFbMZjNXrlzB39//nt96SPai657z6JrnTLruOY+uec6k657z6JrnTA973cPDwylQoIAlL72bLJ10Jw0p9/T0zJRJd3R0NJ6envrA5iC67jmPrnnOpOue8+ia50y67jmPrnnO9KjX/X63OuudJCIiIiIiIpJOlHSLiIiIiIiIpJMsPbxcRERERESSS0hIIC4uztZhZDlms5m4uDiio6M1vDwHud91d3R0xN7e/qH3r6RbRERERCQbuXnzJmfPnsUwDFuHkuUYhoHZbCYiIkJLEucg97vuJpOJoKAg3N3dH2r/SrpFRERERLKJhIQEzp49i5ubG/7+/kocH5BhGMTHx+Pg4KDXLge513U3DIMrV65w9uxZihUr9lA93kq6RURERESyibi4OAzDwN/fH1dXV1uHk+Uo6c6Z7nfd/f39OXnyJHFxcQ+VdOtGBRERERGRbEYJo0jaedTPk5JuERERERERkXSipFtERERERNJNSEgIJUqUoGLFipQuXZrvv//eUvfhhx9StmxZKlSoQMmSJXn77bctdWFhYfTp04fChQtTsmRJqlWrxqJFi+55rLfeeovp06en6/mktR49emAymbhx48Zd26xdu5Zq1apRpkwZSpcuzaZNmwCYNGkSXl5eVKxYkYoVK9KoUaNk20ZFRVG6dGkqVqxoKdu9ezctW7ZMpzOS/9I93SIiIiIikq5+//13KlasyKlTpyhfvjz16tXj8OHDLF68mK1bt+Lq6kp8fDz79u2D2/fYtmrVikqVKnH48GEcHBzYuXMnrVu3ZtKkSTRr1izZMc6dO8eiRYv4/PPP0/Vcku79TQtz5szB0dHxnm3Onz9P9+7dWbx4MaVKlSImJoaoqChLfaNGjZg3b95dt3/33XepU6cOW7dutZSVL18eZ2dnVq1aRePGjdPkXOTu1NMtIiIiIpJdVa0KQUHp96ha9YHCKViwICVKlODw4cOcPXsWX19fXFxcAHBwcKBChQoArFy5klOnTjFq1ChLgluxYkX+97//8dFHH6W4759//pmOHTta7r/9448/KF++PBUrVqRs2bLMnz8fbifnnTp1oly5cpQv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", + "image/png": "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FClShG+//Za2bdvaXRPMPbwvLBYLa9euZcqUKRw8eJDY2Fg+//xz9u3bx5YtW2xxk8H3r9lsZsiQIZhMJurUqZOmvmPHjrZrmW9eR5/efp2dnW3ne7fP0O3aZvS9+m/OP6Nlt4uxfv367Nu3j6lTpxITE0OJEiWYNWsWtWrVghuzLEREciOTcbslakVEJFfq3bs3s2fPxtPTk5iYGEeHIyJ5RFhYGM7Ozvj6+trKPv/8c1544QUA/vzzTxo1auTACEVEModGukVEREQk04WFhdGlSxdat25NqVKlOHz4MD///DMWi4WxY8cq4RaRXEtJt4hIHnOv075FRB6ESpUqsX37dubOncvBgwfJly8fn376KR06dLjrZRQiIjmZppeLiIiIiIiIZBLdMkxEREREREQkkyjpFhEREREREckkSrpFREREREREMkmOXkjNarVy4cIF8uXLh8lkcnQ4IiIiIiIikkcYhkF0dDRFihTBbL79eHaOTrovXLhAsWLFHB2GiIiIiIiI5FFnz56laNGit63P0Ul3vnz54MZJent7OzQWq9VKWFgYAQEBd/yWQ3IP9XnepH7Pe9TneZP6Pe9Rn+dN6ve850H2eVRUFMWKFbPlpbeTo5Pum1PKvb29s0XSnZCQgLe3tz6weYT6PG9Sv+c96vO8Sf2e96jP8yb1e96TGX1+t0ud9c4SERERERERySQ5eqRbRERERETSslqtJCUlOTqMbM9qtZKcnExCQoJGuvOI++lzFxeXf/X+UNItIiIiIpKLJCUlERISgtVqdXQo2Z5hGFitVqKjo3U3pDzifvrcbDZTsmRJXFxc7uuYSrpFRERERHIJwzC4ePEiTk5OFCtWTKO3d2EYBikpKVgsFiXdecS99vnN21RfvHiR4sWL39f7REm3iIiIiEgukZKSQlxcHEWKFMHDw8PR4WR7Srrznvvp84CAAC5cuEBKSgrOzs73fEx99SUiIiIikkukpqbCjWtQReTBuPl5uvn5uldKukVEREREcpm8PGqbmppKXFyco8PI9gzDICYmxtFh5Aj/9vOkpFtERERERDJNXFwcERERREZG3rbN3VZaj4+Pz/DxRo8ezZw5c+4pRkezWq1ERETcdiTVMAwiIiLS/BiGcdf9REdH222TmJho22erVq24fPlyJp+dKOkWEREREZFM8+STT1KkSBFKlCiBp6cnzz//vC1Z3LhxI1WqVMHb25siRYrw0Ucf2SWMEydOpHDhwvj4+ODj48PLL798xwQ9MjKSmTNn0rdv3yw5twdlzJgx5M+fny1btqRbHxYWRnBwsO2naNGiBAUFpXkt0ttPkyZNKFasmG3b7777Dm6syP3MM8/w8ccfZ/LZiZJuERERERHJVB999BEREREcPnyYhQsXsmjRIgD69OnD4MGDiYuLY+/evYSHh3P27FkAJk2axGeffcbChQtJTExk+/bt/Pnnnzz77LO3Pc6cOXNo3bo1Fsv/1os2DIPIyEgiIiLS3EYtOTmZiIiINCPpycnJafYdExNDSkoK3Bi9v9W/uSf6rl272L17N2XLlr1tm8DAQLvR6pEjR9K9e3dcXV0ztJ+NGzfatn3++edt5d26dWPq1Km6vVwmU9ItIiIiIiJZolixYtSrV4/jx49jGAZXr17lkUcewWw2U6BAAT744AOCg4MxDIMPP/yQ//73v9SvXx+TyUS5cuWYOnUqP//8822nRK9bt4569erZnr/55pt4eXlRokQJgoODOXfuHADHjx+nRYsW+Pr6UrZsWYYPHw7A33//TY0aNfDy8qJo0aLMmzfPtq9HH32U1157jaJFi9KtWzcAVq1aRfny5fHz8yMoKIi5c+fa2v9zWvetPzclJSXx4osv8tVXX2X4NTQMgx9//JGnn346w/uxWq3pfpHg7++Pv78/+/bty/Dx5d7plmEiIiIiIrlV7dpw6VLm7b9QIdix467N4uPjiYiIYN++faxbt47//Oc/mEwmPvzwQx555BHatm3LQw89xKOPPkqBAgUIDQ3l8uXLNGnSxG4/FSpUwM/Pj/3791OwYME0xzlz5gxFihQBICoqim+//ZZz587h5+dn16537960b9+eFStWYDKZbCPjffr0YdCgQfzf//0fGzdupFOnTjRq1IjChQsDcPLkSY4ePYqHhwehoaG8+OKLzJo1i5IlS3L06FE6depE+/bt8fLyom3bthw8eDDd1+P8+fN4enryzjvvMHDgQIoWLZrhl3zdunWYTCaaNm1qK7vTfvLly0e7du2IjIzkoYce4rvvvqNy5cq2+qCgIE6fPk316tUzHIPcGyXdIiIiIiK51aVLcP68o6Ng9OjRvP/++xQqVIjhw4fTpk0bAJ5//nn69+/Pli1b2LBhAzVq1GDJkiUUL14cbtx3/J9u3mM5PWaz2TZV2svLi6CgIJ544glatmxJ165dKV26NOHh4Rw4cIBt27ZhMplsx7h69SonT57khRdewGQy0axZM+rUqcO2bdt47LHHABg8eLDt/uebN2+2jZjf6syZM1SqVIkVK1bcdmE0T09PduzYwbZt23j99ddtU99jYmJISkq64y3fvv/+ewYOHGh7frf9bNy4EYDExETGjRtHv3792LVrl2371NRUnJycbns8+feUdIuIiIiI5FaFCmWL/X/00Ud21xLfKl++fLRp04Y2bdoQERHBL7/8wqeffkpwcDArV66kX79+trbbt28nPj6eatWqpbuv0qVL264JN5vNbNu2jZUrV7JmzRoaNGjA0qVLqVSpkm269a3JrcViwWq1kpqaakvqExMTcXZ2trXx9PS0PTabzdStW5c///wz3VjuNtL9559/smPHDoKDg+HGdPQePXrwzTff8MQTT6S7XXh4OEuWLGHChAm2sozux9XVleeee46PPvoIwzBst8E6e/YspUuXTvd48mAo6RYRERERya0yMPXbkZo0acKbb75JjRo1OH36NCtWrGDo0KFwYyXuYcOG4erqSsOGDTl06BBDhw7lpZdeSjNd/KZWrVqxatUqBg8ejNVqJT4+niZNmlCtWjV27drFsWPHqFevHk2bNmXo0KGMHDkSLy8vPD098fHx4aGHHuKNN97gpZdeYu3atRw8eJD69eune6ymTZsyZMgQPvnkEx5//HE8PDwwmUz4+PjAjZHwO3nppZd46aWXbM8rVKjA999/T+PGjeFG8uzm5maX9E+bNo0WLVrYprvfbT9Wq5WoqCi4MZL/7rvv0rBhQ1vCfenSJZKSkqhQoUIGekvulxZSExERERGRTOPp6Wm3yvatPvroI7788ktq167NwIED6d69u21E/Mknn+Srr75i4sSJ1KpVi2HDhvGf//yH8ePH3/ZYXbt25c8//yQ+Pp4TJ04QHBxMyZIladasGVWqVKFnz54ATJ8+naSkJJo1a2a3kNrMmTM5fvw49evXZ/LkySxevBh/f3+4MV391mntvr6+rFq1inXr1lGnTh2Cg4PtrpW+V97e3nb7b9u2LStXrrRrM3/+fAYPHpzh/dz6Gjz88MOkpqYyY8YMW9tZs2bZLcgmmcNk/POO6jlIVFQUPj4+REZG4u3t7dBYrFYroaGhBAYGYjbr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iIhIhCh0i4iIiIiIiESIQreIiIiIiIhIhCh0i4iIiIiIiESIQreIiIiIiIhIhCh0i4iIiIiIiESIQreIiIiIiIhIhCh0i4iIiIiIiESIQreIiIiIiIhIhCh0i4iIiIiIiESIQreIiIiIiIhIhCh0i4iIiIiIiESILdYNnA7TNAEoLi6OdSsEAgFKSkpwuVxYLPouIx5on8cn7ff4o30en7Tf44/2eXzSfo8/NbnPv8+h3+fScOp06C4pKQGgbdu2sW5FRERERERE4lBJSQkpKSlh7zfMH4vltVggEGDnzp0kJydjGEZMeykuLqZt27Zs27aNhg0bxrQXiQ7t8/ik/R5/tM/jk/Z7/NE+j0/a7/GnJve5aZqUlJTQqlWrao+a1+kj3RaLhTZt2sS6jaM0bNhQb9g4o30en7Tf44/2eXzSfo8/2ufxSfs9/tTUPq/uCPf3dOGCiIiIiIiISIQodIuIiIiIiIhEiEJ3DXE6nTz++OM4nc5YtyJRon0en7Tf44/2eXzSfo8/2ufxSfs9/sRin9fpgdREREREREREajMd6RYRERERERGJEIVuERERERERkQhR6BYRERERERGJEIXuCPD7/UyaNImxY8dy3nnn8dvf/pYNGzbEui2pQe+//z6XXnopZ599No8//jhlZWWxbkkiyO/388477zBmzBjOO+887rzzTjZt2hTrtiSKHn/8cQYOHMinn34a61YkCqZNm8aoUaM4//zzeeGFF/D5fLFuSSKopKSECRMmcPHFF3Puuedy++23s2bNmli3JTUoEAjwySefcNlllzFw4EBKS0tD1k2ZMoVLLrmEs88+m/Hjx+vzXR23Y8cOfv/73zN48GBeeuml4+6P5uc7he4I+MUvfsFnn33GxRdfzLhx4zhw4AC9e/dm9erVsW5NasCrr77Kz372M84//3zuuOMOPvzwQy6++GI0JmH9deONN/Lll19y6aWXMm7cOPbu3Uvv3r31oSxOfPzxx3z44YcsWLCAvXv3xrodibB77rmHX/7yl5x99tk8/PDDHDp0iCeffDLWbUkEjRw5knfeeYebbrqJBx54gL179zJw4EC2bt0a69akhlx22WW8+uqrdO7cmQULFoT8Iu3ll1/m5ptv5oILLuCOO+7ggw8+4LLLLotJv3L65s+fz5AhQzBNk/3797N58+bjaqL6+c6UGldSUnLUciAQMLt162befffdMetJaobX6zUbN25sPvnkk0fWrV692gTML774Iqa9SeQc+572+/1m586dzfvuuy9mPUl0bN++3WzdurW5YsUKEzDffPPNWLckETRr1iwTML/++uuj1ldUVMSsJ4msw4cPm4A5derUI+vcbrdpsVjMt956K6a9Sc05dOiQaZqm+fHHH5uAefDgwaPud7vdZmpqqjlhwoQj61atWhXy/wdSN5SWlpo+n880TdPs27eveeeddx5XE83PdzrSHQENGjQ4atkwDJKSkvB4PDHrSWrGsmXL2L9/P5dccsmRdRkZGXTr1o2vv/46pr1J5Bz7nrZYLCQmJuo9Xc8FAgGuvfZa7r33Xnr27BnrdiQK/vWvf9GtWzfOOeeco9a7XK6Y9SSRlZycTLdu3Zg7d+6RdXPnzsUwDPr06RPT3qTmpKSkVHv/kiVLOHjw4FGf77KysujUqZM+39VRSUlJWK3Wamui+flOoTsKPv/8c5YuXcrIkSNj3Yqcpi1btgDQqlWro9a3atXqyH1S/3388cesXLlS7+l67oknnsDhcHDnnXfGuhWJkoKCAvr168ebb77Jeeedx8iRI/nTn/6kL9jqMcMw+N///sfcuXNp3749PXv2ZPTo0Xz++ef06NEj1u1JlOjznRDhz3e2Gn/GemjOnDn87ne/q7bmtttu4/rrrz9ufX5+Ptdeey2//e1vOe+88yLYpUSD1+sFwOl0HrU+ISHhyH1Sv61YsYLrr7+ee+65h5ycnFi3IxEyc+ZMXn31VZYtW4ZhGLFuR6KksrKSTz/9lNLSUu677z727dvHQw89xKxZs5g6dWqs25MIGTduHIcPH+b555+nUaNG/OMf/+C2225j5syZtGjRItbtSRTo851E+vOdQvcJyMrKCjni3Q+1a9fuuHWFhYWcc845XH755T/6eKkb0tLSADhw4AANGzY8sn7//v06/TQO5Ofnc+6553L11VfzwgsvxLodiaB//etfAFx++eVHrX/yySf56quvePfdd2PUmURSWloahmHw/vvvH/nwnZSUxGWXXcbOnTuPOwomdd+CBQuYNGkSixYtol+/fgCcc845dOrUiT//+c8888wzsW5RouCHn+8SExOPrN+/fz+dOnWKYWcSDdH4fKfQfQIaNWrEwIEDT+oxa9asIScnhwsuuIC//e1vOlJST/Tu3RuLxcKiRYvo0KEDAOXl5axatYobbrgh1u1JBBUUFHD22WczcuRIXnvtNb2n67kHH3yQn//850etGzRoEGPHjmXUqFEx60siq1+/fqxfv/6oo10tW7YE4ODBgwrd9dCBAwcAaN269ZF1VquV5s2bH7lP6r8zzzwTwzBYtGgRbdq0AaC0tJSCggJ++ctfxro9iaBofb7TNd0RsG7duiOB+4033sBi0X/m+qJZs2ZcfPHFPP/885SXlwPw/PPPY7Vaufrqq2PdnkTImjVrOPvss7n00kt5/fXXFbjjQKdOnRg4cOBRPwCdO3emV69esW5PIuSmm25ix44dfPbZZ/DdHK7/93//R5s2bUhPT491exIBffv2JTExkT//+c9Hpv6cNWsWS5cuZdiwYbFuT6KkZcuWXHDBBUycOJGKigoAnnvuORwOB1dddVWs25MIiebnO8PU5MI17vzzz+frr7+mX79+RwXuQYMG8eKLL8a0Nzl9RUVFXHbZZeTn55OamkpZWRlvv/02F1xwQaxbkwg5++yzycvLo3///kf9D3no0KE6zTyOGIbBm2++yY033hjrViSCPvjgA371q1/RvHlzDh48SGpqKm+//faRU4+l/pk+fTq//vWvsVgspKSksHHjRm6//Xaef/75WLcmNeSll15iypQpHDp0iDVr1tCvXz+sVisTJ05k+PDhAOzevZvLLruMwsJCUlJSqKio4J133uH888+PdftyCkpLSzn33HMBWLVqFcnJybRv355u3brx9ttvQ5Q/3yl0R0BBQQHFxcXHrW/UqBEZGRkx6Ulq3oYNGygtLaV79+44HI5YtyMRFO49nZqaqqNfcWT+/Pl07tyZpk2bxroViTC3201hYSGNGjWiXbt2OrslDvh8PrZu3UpFRQUdOnQgKSkp1i1JDdqyZQu7du06bn16ejqpqalHrVu/fj3l5eVkZGTo810d5vf7WbRo0XHrk5KSjozDFM3PdwrdIiIiIiIiIhGii41FREREREREIkShW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIkShW0REJI6UlpYyZcoUtm3bdtT6zz77jPnz58esLxERkfpKoVtERCSONGjQgGnTpnHFFVfg9XoBmDZtGpdffjkulyvW7YmIiNQ7hmmaZqybEBERkeg5ePAgZ5xxBmPHjuWOO+6gV69ePPjgg9x7772xbk1ERKTeUegWERGJQzNmzODcc88lPT2dFi1a8NVXX2EYRqzbEhERqXcUukVEROLUT37yE7788ktWrFhBz549Y92OiIhIvaRrukVEROLQF198QW5uLt26dWP8+PGxbkdERKTeUugWERGJM3v37uWmm27i0Ucf5aOPPuLzzz/nzTffjHVbIiIi9ZJOLxcREYkzI0eOZN++fcycOROr1cprr73Gvffey7Jly+jcuXOs2xMREalXdKRbREQkjixfvpzExETeeecdrFYrALfeeiu33XYbH330UazbExERqXd0pFtEREREREQkQnSkW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIkShW0RERERERCRCFLpFREREREREIuT/AdYsmEYL4eCUAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -786,10 +724,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:42:18.014080Z", - "iopub.status.busy": "2026-04-14T09:42:18.013969Z", - "iopub.status.idle": "2026-04-14T09:42:18.196504Z", - "shell.execute_reply": "2026-04-14T09:42:18.195794Z" + "iopub.execute_input": "2026-09-18T12:41:58.904543Z", + "iopub.status.busy": "2026-09-18T12:41:58.904452Z", + "iopub.status.idle": "2026-09-18T12:41:59.019376Z", + "shell.execute_reply": "2026-09-18T12:41:59.018831Z" } }, "outputs": [ @@ -797,11 +735,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Chained score: 13.4989\n", + "Chained score: 13.5000\n", "Standalone DA score: 13.5000\n", - "PSO score: 4.6540\n", + "PSO score: 4.7449\n", "\n", - "Chained dimensions: a=3.000, b=9.000, c=8.359\n" + "Chained dimensions: a=3.000, b=9.000, c=8.186\n" ] } ], @@ -887,23 +825,30 @@ "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { - "19e7ae2d69654caa94099b508306836e": { + "09192f9ece0d4ee1821ed50bddf17b01": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", - "model_name": "SliderStyleModel", + "model_name": "VBoxModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", - "_model_name": "SliderStyleModel", + "_model_name": "VBoxModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", + "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "description_width": "", - "handle_color": null + "_view_name": "VBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_3491ea7f8dda417892b7fdb9389be8d7", + "IPY_MODEL_807a11266e1547bbbcd74daa2c1117cd" + ], + "layout": "IPY_MODEL_c7dfa214f0364a4aac6a5c3313cf5f07", + "tabbable": null, + "tooltip": null } }, - "2a9ba94a9f5b4986a9b9cae7341329a3": { + "3491ea7f8dda417892b7fdb9389be8d7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "IntSliderModel", @@ -921,43 +866,20 @@ "description": "Frame:", "description_allow_html": false, "disabled": false, - "layout": "IPY_MODEL_6a89353eb5454b67903eac17b183743b", + "layout": "IPY_MODEL_60a80db06a21428bb1c21ee67077fb9d", "max": 99, "min": 0, "orientation": "horizontal", "readout": true, "readout_format": "d", "step": 1, - "style": "IPY_MODEL_19e7ae2d69654caa94099b508306836e", + "style": "IPY_MODEL_a8d28d0c0502470ea3ce46c9f78320fa", "tabbable": null, "tooltip": null, "value": 0 } }, - "5cc57c1b47414dc89efba428a509639f": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "VBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "VBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "VBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_2a9ba94a9f5b4986a9b9cae7341329a3", - "IPY_MODEL_ccaab09744114774954f1ebc919ef2f1" - ], - "layout": "IPY_MODEL_bea6787ac0364691a45cbe3033c7a6b2", - "tabbable": null, - "tooltip": null - } - }, - "6a89353eb5454b67903eac17b183743b": { + "60a80db06a21428bb1c21ee67077fb9d": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", @@ -1010,63 +932,10 @@ "width": "800px" } }, - "bea6787ac0364691a45cbe3033c7a6b2": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ccaab09744114774954f1ebc919ef2f1": { + "807a11266e1547bbbcd74daa2c1117cd": { "buffers": [ { - "data": "AAAAAAAAAAAAAAAAAAAQQJmIRP7zZ/s/THTFseErEUA=", + "data": "AAAAAAAAAAAAAAAAAAAQQDN1PN48bPo/cU7fhd2LHUA=", "encoding": "base64", "path": [ "_py2js_addTraces", @@ -1077,7 +946,7 @@ ] }, { - "data": "AAAAAAAAAAAAAAAAAAAAAENqv22Alrs/sGsdxVO1E0A=", + "data": "AAAAAAAAAAAAAAAAAAAAAPf0VsUdmbo/sNE1dR/bxD8=", "encoding": "base64", "path": [ "_py2js_addTraces", @@ -1089,7 +958,7 @@ } ], "model_module": "anywidget", - "model_module_version": "~0.10.*", + "model_module_version": "~0.11.*", "model_name": "AnyModel", "state": { "_anywidget_id": "plotly.graph_objs._figurewidget.FigureWidget", @@ -1097,7 +966,7 @@ "plotlyServerURL": "https://plot.ly" }, "_dom_classes": [], - "_esm": "var rX=Object.create;var Wk=Object.defineProperty;var aX=Object.getOwnPropertyDescriptor;var iX=Object.getOwnPropertyNames;var nX=Object.getPrototypeOf,oX=Object.prototype.hasOwnProperty;var sX=(ue,ge)=>()=>(ge||ue((ge={exports:{}}).exports,ge),ge.exports);var lX=(ue,ge,Ye,Rt)=>{if(ge&&typeof ge==\"object\"||typeof ge==\"function\")for(let gr of iX(ge))!oX.call(ue,gr)&&gr!==Ye&&Wk(ue,gr,{get:()=>ge[gr],enumerable:!(Rt=aX(ge,gr))||Rt.enumerable});return ue};var uX=(ue,ge,Ye)=>(Ye=ue!=null?rX(nX(ue)):{},lX(ge||!ue||!ue.__esModule?Wk(Ye,\"default\",{value:ue,enumerable:!0}):Ye,ue));var a7=sX((r7,c2)=>{(function(ue,ge){typeof c2==\"object\"&&c2.exports?c2.exports=ge():ue.moduleName=ge()})(typeof self<\"u\"?self:r7,()=>{\"use strict\";var ue=(()=>{var ge=Object.create,Ye=Object.defineProperty,Rt=Object.defineProperties,gr=Object.getOwnPropertyDescriptor,Yr=Object.getOwnPropertyDescriptors,Ea=Object.getOwnPropertyNames,ei=Object.getOwnPropertySymbols,oi=Object.getPrototypeOf,Cn=Object.prototype.hasOwnProperty,bn=Object.prototype.propertyIsEnumerable,Fn=(Z,G,v)=>G in Z?Ye(Z,G,{enumerable:!0,configurable:!0,writable:!0,value:v}):Z[G]=v,To=(Z,G)=>{for(var v in G||(G={}))Cn.call(G,v)&&Fn(Z,v,G[v]);if(ei)for(var v of ei(G))bn.call(G,v)&&Fn(Z,v,G[v]);return Z},ds=(Z,G)=>Rt(Z,Yr(G)),Qs=(Z,G)=>{var v={};for(var x in Z)Cn.call(Z,x)&&G.indexOf(x)<0&&(v[x]=Z[x]);if(Z!=null&&ei)for(var x of ei(Z))G.indexOf(x)<0&&bn.call(Z,x)&&(v[x]=Z[x]);return v},Vo=(Z,G)=>function(){return Z&&(G=(0,Z[Ea(Z)[0]])(Z=0)),G},Xe=(Z,G)=>function(){return G||(0,Z[Ea(Z)[0]])((G={exports:{}}).exports,G),G.exports},Kl=(Z,G)=>{for(var v in G)Ye(Z,v,{get:G[v],enumerable:!0})},nu=(Z,G,v,x)=>{if(G&&typeof G==\"object\"||typeof G==\"function\")for(let S of Ea(G))!Cn.call(Z,S)&&S!==v&&Ye(Z,S,{get:()=>G[S],enumerable:!(x=gr(G,S))||x.enumerable});return Z},jp=(Z,G,v)=>(v=Z!=null?ge(oi(Z)):{},nu(G||!Z||!Z.__esModule?Ye(v,\"default\",{value:Z,enumerable:!0}):v,Z)),zf=Z=>nu(Ye({},\"__esModule\",{value:!0}),Z),fp=Xe({\"src/version.js\"(Z){\"use strict\";Z.version=\"3.4.0\"}}),Ff=Xe({\"node_modules/native-promise-only/lib/npo.src.js\"(Z,G){(function(x,S,E){S[x]=S[x]||E(),typeof G<\"u\"&&G.exports&&(G.exports=S[x])})(\"Promise\",typeof window<\"u\"?window:Z,function(){\"use strict\";var x,S,E,e=Object.prototype.toString,t=typeof setImmediate<\"u\"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},\"x\",{}),x=function(_,w,A,M){return Object.defineProperty(_,w,{value:A,writable:!0,configurable:M!==!1})}}catch{x=function(w,A,M){return w[A]=M,w}}E=function(){var _,w,A;function M(g,b){this.fn=g,this.self=b,this.next=void 0}return{add:function(b,d){A=new M(b,d),w?w.next=A:_=A,w=A,A=void 0},drain:function(){var b=_;for(_=w=S=void 0;b;)b.fn.call(b.self),b=b.next}}}();function r(l,_){E.add(l,_),S||(S=t(E.drain))}function o(l){var _,w=typeof l;return l!=null&&(w==\"object\"||w==\"function\")&&(_=l.then),typeof _==\"function\"?_:!1}function a(){for(var l=0;l0&&r(a,w))}catch(A){s.call(new c(w),A)}}}function s(l){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=l,_.state=2,_.chain.length>0&&r(a,_))}function h(l,_,w,A){for(var M=0;M<_.length;M++)(function(b){l.resolve(_[b]).then(function(u){w(b,u)},A)})(M)}function c(l){this.def=l,this.triggered=!1}function m(l){this.promise=l,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function p(l){if(typeof l!=\"function\")throw TypeError(\"Not a function\");if(this.__NPO__!==0)throw TypeError(\"Not a promise\");this.__NPO__=1;var _=new m(this);this.then=function(A,M){var g={success:typeof A==\"function\"?A:!0,failure:typeof M==\"function\"?M:!1};return g.promise=new this.constructor(function(d,u){if(typeof d!=\"function\"||typeof u!=\"function\")throw TypeError(\"Not a function\");g.resolve=d,g.reject=u}),_.chain.push(g),_.state!==0&&r(a,_),g.promise},this.catch=function(A){return this.then(void 0,A)};try{l.call(void 0,function(A){i.call(_,A)},function(A){s.call(_,A)})}catch(w){s.call(_,w)}}var T=x({},\"constructor\",p,!1);return p.prototype=T,x(T,\"__NPO__\",0,!1),x(p,\"resolve\",function(_){var w=this;return _&&typeof _==\"object\"&&_.__NPO__===1?_:new w(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");M(_)})}),x(p,\"reject\",function(_){return new this(function(A,M){if(typeof A!=\"function\"||typeof M!=\"function\")throw TypeError(\"Not a function\");M(_)})}),x(p,\"all\",function(_){var w=this;return e.call(_)!=\"[object Array]\"?w.reject(TypeError(\"Not an array\")):_.length===0?w.resolve([]):new w(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");var b=_.length,d=Array(b),u=0;h(w,_,function(f,R){d[f]=R,++u===b&&M(d)},g)})}),x(p,\"race\",function(_){var w=this;return e.call(_)!=\"[object Array]\"?w.reject(TypeError(\"Not an array\")):new w(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");h(w,_,function(d,u){M(u)},g)})}),p})}}),Hn=Xe({\"node_modules/@plotly/d3/d3.js\"(Z,G){(function(){var v={version:\"3.8.2\"},x=[].slice,S=function(de){return x.call(de)},E=self.document;function e(de){return de&&(de.ownerDocument||de.document||de).documentElement}function t(de){return de&&(de.ownerDocument&&de.ownerDocument.defaultView||de.document&&de||de.defaultView)}if(E)try{S(E.documentElement.childNodes)[0].nodeType}catch{S=function(Fe){for(var et=Fe.length,mt=new Array(et);et--;)mt[et]=Fe[et];return mt}}if(Date.now||(Date.now=function(){return+new Date}),E)try{E.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch{var r=this.Element.prototype,o=r.setAttribute,a=r.setAttributeNS,n=this.CSSStyleDeclaration.prototype,i=n.setProperty;r.setAttribute=function(Fe,et){o.call(this,Fe,et+\"\")},r.setAttributeNS=function(Fe,et,mt){a.call(this,Fe,et,mt+\"\")},n.setProperty=function(Fe,et,mt){i.call(this,Fe,et+\"\",mt)}}v.ascending=s;function s(de,Fe){return deFe?1:de>=Fe?0:NaN}v.descending=function(de,Fe){return Fede?1:Fe>=de?0:NaN},v.min=function(de,Fe){var et=-1,mt=de.length,bt,Mt;if(arguments.length===1){for(;++et=Mt){bt=Mt;break}for(;++etMt&&(bt=Mt)}else{for(;++et=Mt){bt=Mt;break}for(;++etMt&&(bt=Mt)}return bt},v.max=function(de,Fe){var et=-1,mt=de.length,bt,Mt;if(arguments.length===1){for(;++et=Mt){bt=Mt;break}for(;++etbt&&(bt=Mt)}else{for(;++et=Mt){bt=Mt;break}for(;++etbt&&(bt=Mt)}return bt},v.extent=function(de,Fe){var et=-1,mt=de.length,bt,Mt,ar;if(arguments.length===1){for(;++et=Mt){bt=ar=Mt;break}for(;++etMt&&(bt=Mt),ar=Mt){bt=ar=Mt;break}for(;++etMt&&(bt=Mt),ar1)return ar/(_r-1)},v.deviation=function(){var de=v.variance.apply(this,arguments);return de&&Math.sqrt(de)};function m(de){return{left:function(Fe,et,mt,bt){for(arguments.length<3&&(mt=0),arguments.length<4&&(bt=Fe.length);mt>>1;de(Fe[Mt],et)<0?mt=Mt+1:bt=Mt}return mt},right:function(Fe,et,mt,bt){for(arguments.length<3&&(mt=0),arguments.length<4&&(bt=Fe.length);mt>>1;de(Fe[Mt],et)>0?bt=Mt:mt=Mt+1}return mt}}}var p=m(s);v.bisectLeft=p.left,v.bisect=v.bisectRight=p.right,v.bisector=function(de){return m(de.length===1?function(Fe,et){return s(de(Fe),et)}:de)},v.shuffle=function(de,Fe,et){(mt=arguments.length)<3&&(et=de.length,mt<2&&(Fe=0));for(var mt=et-Fe,bt,Mt;mt;)Mt=Math.random()*mt--|0,bt=de[mt+Fe],de[mt+Fe]=de[Mt+Fe],de[Mt+Fe]=bt;return de},v.permute=function(de,Fe){for(var et=Fe.length,mt=new Array(et);et--;)mt[et]=de[Fe[et]];return mt},v.pairs=function(de){for(var Fe=0,et=de.length-1,mt,bt=de[0],Mt=new Array(et<0?0:et);Fe=0;)for(ar=de[Fe],et=ar.length;--et>=0;)Mt[--bt]=ar[et];return Mt};var l=Math.abs;v.range=function(de,Fe,et){if(arguments.length<3&&(et=1,arguments.length<2&&(Fe=de,de=0)),(Fe-de)/et===1/0)throw new Error(\"infinite range\");var mt=[],bt=_(l(et)),Mt=-1,ar;if(de*=bt,Fe*=bt,et*=bt,et<0)for(;(ar=de+et*++Mt)>Fe;)mt.push(ar/bt);else for(;(ar=de+et*++Mt)=Fe.length)return bt?bt.call(de,_r):mt?_r.sort(mt):_r;for(var Xr=-1,xa=_r.length,da=Fe[Gr++],Ja,ti,Sa,Fa=new A,Xa;++Xr=Fe.length)return Ot;var Gr=[],Xr=et[_r++];return Ot.forEach(function(xa,da){Gr.push({key:xa,values:ar(da,_r)})}),Xr?Gr.sort(function(xa,da){return Xr(xa.key,da.key)}):Gr}return de.map=function(Ot,_r){return Mt(_r,Ot,0)},de.entries=function(Ot){return ar(Mt(v.map,Ot,0),0)},de.key=function(Ot){return Fe.push(Ot),de},de.sortKeys=function(Ot){return et[Fe.length-1]=Ot,de},de.sortValues=function(Ot){return mt=Ot,de},de.rollup=function(Ot){return bt=Ot,de},de},v.set=function(de){var Fe=new z;if(de)for(var et=0,mt=de.length;et=0&&(mt=de.slice(et+1),de=de.slice(0,et)),de)return arguments.length<2?this[de].on(mt):this[de].on(mt,Fe);if(arguments.length===2){if(Fe==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(mt,null);return this}};function X(de){var Fe=[],et=new A;function mt(){for(var bt=Fe,Mt=-1,ar=bt.length,Ot;++Mt=0&&(et=de.slice(0,Fe))!==\"xmlns\"&&(de=de.slice(Fe+1)),ce.hasOwnProperty(et)?{space:ce[et],local:de}:de}},ae.attr=function(de,Fe){if(arguments.length<2){if(typeof de==\"string\"){var et=this.node();return de=v.ns.qualify(de),de.local?et.getAttributeNS(de.space,de.local):et.getAttribute(de)}for(Fe in de)this.each(be(Fe,de[Fe]));return this}return this.each(be(de,Fe))};function be(de,Fe){de=v.ns.qualify(de);function et(){this.removeAttribute(de)}function mt(){this.removeAttributeNS(de.space,de.local)}function bt(){this.setAttribute(de,Fe)}function Mt(){this.setAttributeNS(de.space,de.local,Fe)}function ar(){var _r=Fe.apply(this,arguments);_r==null?this.removeAttribute(de):this.setAttribute(de,_r)}function Ot(){var _r=Fe.apply(this,arguments);_r==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,_r)}return Fe==null?de.local?mt:et:typeof Fe==\"function\"?de.local?Ot:ar:de.local?Mt:bt}function Ae(de){return de.trim().replace(/\\s+/g,\" \")}ae.classed=function(de,Fe){if(arguments.length<2){if(typeof de==\"string\"){var et=this.node(),mt=(de=ze(de)).length,bt=-1;if(Fe=et.classList){for(;++bt=0;)(Mt=et[mt])&&(bt&&bt!==Mt.nextSibling&&bt.parentNode.insertBefore(Mt,bt),bt=Mt);return this},ae.sort=function(de){de=Oe.apply(this,arguments);for(var Fe=-1,et=this.length;++Fe=Fe&&(Fe=bt+1);!(_r=ar[Fe])&&++Fe0&&(de=de.slice(0,bt));var ar=qt.get(de);ar&&(de=ar,Mt=kr);function Ot(){var Xr=this[mt];Xr&&(this.removeEventListener(de,Xr,Xr.$),delete this[mt])}function _r(){var Xr=Mt(Fe,S(arguments));Ot.call(this),this.addEventListener(de,this[mt]=Xr,Xr.$=et),Xr._=Fe}function Gr(){var Xr=new RegExp(\"^__on([^.]+)\"+v.requote(de)+\"$\"),xa;for(var da in this)if(xa=da.match(Xr)){var Ja=this[da];this.removeEventListener(xa[1],Ja,Ja.$),delete this[da]}}return bt?Fe?_r:Ot:Fe?U:Gr}var qt=v.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});E&&qt.forEach(function(de){\"on\"+de in E&&qt.remove(de)});function Wt(de,Fe){return function(et){var mt=v.event;v.event=et,Fe[0]=this.__data__;try{de.apply(this,Fe)}finally{v.event=mt}}}function kr(de,Fe){var et=Wt(de,Fe);return function(mt){var bt=this,Mt=mt.relatedTarget;(!Mt||Mt!==bt&&!(Mt.compareDocumentPosition(bt)&8))&&et.call(bt,mt)}}var mr,qr=0;function Sr(de){var Fe=\".dragsuppress-\"+ ++qr,et=\"click\"+Fe,mt=v.select(t(de)).on(\"touchmove\"+Fe,$).on(\"dragstart\"+Fe,$).on(\"selectstart\"+Fe,$);if(mr==null&&(mr=\"onselectstart\"in de?!1:O(de.style,\"userSelect\")),mr){var bt=e(de).style,Mt=bt[mr];bt[mr]=\"none\"}return function(ar){if(mt.on(Fe,null),mr&&(bt[mr]=Mt),ar){var Ot=function(){mt.on(et,null)};mt.on(et,function(){$(),Ot()},!0),setTimeout(Ot,0)}}}v.mouse=function(de){return wt(de,se())};var Rr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function wt(de,Fe){Fe.changedTouches&&(Fe=Fe.changedTouches[0]);var et=de.ownerSVGElement||de;if(et.createSVGPoint){var mt=et.createSVGPoint();if(Rr<0){var bt=t(de);if(bt.scrollX||bt.scrollY){et=v.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var Mt=et[0][0].getScreenCTM();Rr=!(Mt.f||Mt.e),et.remove()}}return Rr?(mt.x=Fe.pageX,mt.y=Fe.pageY):(mt.x=Fe.clientX,mt.y=Fe.clientY),mt=mt.matrixTransform(de.getScreenCTM().inverse()),[mt.x,mt.y]}var ar=de.getBoundingClientRect();return[Fe.clientX-ar.left-de.clientLeft,Fe.clientY-ar.top-de.clientTop]}v.touch=function(de,Fe,et){if(arguments.length<3&&(et=Fe,Fe=se().changedTouches),Fe){for(var mt=0,bt=Fe.length,Mt;mt0?1:de<0?-1:0}function _t(de,Fe,et){return(Fe[0]-de[0])*(et[1]-de[1])-(Fe[1]-de[1])*(et[0]-de[0])}function Ct(de){return de>1?0:de<-1?Ie:Math.acos(de)}function ir(de){return de>1?Ee:de<-1?-Ee:Math.asin(de)}function rr(de){return((de=Math.exp(de))-1/de)/2}function er(de){return((de=Math.exp(de))+1/de)/2}function Lr(de){return((de=Math.exp(2*de))-1)/(de+1)}function fa(de){return(de=Math.sin(de/2))*de}var Da=Math.SQRT2,Ia=2,qa=4;v.interpolateZoom=function(de,Fe){var et=de[0],mt=de[1],bt=de[2],Mt=Fe[0],ar=Fe[1],Ot=Fe[2],_r=Mt-et,Gr=ar-mt,Xr=_r*_r+Gr*Gr,xa,da;if(Xr0&&(gn=gn.transition().duration(ar)),gn.call(ni.event)}function Jn(){Fa&&Fa.domain(Sa.range().map(function(gn){return(gn-de.x)/de.k}).map(Sa.invert)),fi&&fi.domain(Xa.range().map(function(gn){return(gn-de.y)/de.k}).map(Xa.invert))}function ro(gn){Ot++||gn({type:\"zoomstart\"})}function Yo(gn){Jn(),gn({type:\"zoom\",scale:de.k,translate:[de.x,de.y]})}function io(gn){--Ot||(gn({type:\"zoomend\"}),et=null)}function Ho(){var gn=this,vo=ti.of(gn,arguments),cs=0,ms=v.select(t(gn)).on(Gr,Su).on(Xr,Rl),Al=La(v.mouse(gn)),Hl=Sr(gn);Bn.call(gn),ro(vo);function Su(){cs=1,vn(v.mouse(gn),Al),Yo(vo)}function Rl(){ms.on(Gr,null).on(Xr,null),Hl(cs),io(vo)}}function cl(){var gn=this,vo=ti.of(gn,arguments),cs={},ms=0,Al,Hl=\".zoom-\"+v.event.changedTouches[0].identifier,Su=\"touchmove\"+Hl,Rl=\"touchend\"+Hl,_c=[],it=v.select(gn),Zt=Sr(gn);oa(),ro(vo),it.on(_r,null).on(da,oa);function fr(){var _a=v.touches(gn);return Al=de.k,_a.forEach(function(Ya){Ya.identifier in cs&&(cs[Ya.identifier]=La(Ya))}),_a}function oa(){var _a=v.event.target;v.select(_a).on(Su,wa).on(Rl,ma),_c.push(_a);for(var Ya=v.event.changedTouches,bi=0,yi=Ya.length;bi1){var zi=si[0],Ei=si[1],Na=zi[0]-Ei[0],ea=zi[1]-Ei[1];ms=Na*Na+ea*ea}}function wa(){var _a=v.touches(gn),Ya,bi,yi,si;Bn.call(gn);for(var yn=0,zi=_a.length;yn1?1:Fe,et=et<0?0:et>1?1:et,bt=et<=.5?et*(1+Fe):et+Fe-et*Fe,mt=2*et-bt;function Mt(Ot){return Ot>360?Ot-=360:Ot<0&&(Ot+=360),Ot<60?mt+(bt-mt)*Ot/60:Ot<180?bt:Ot<240?mt+(bt-mt)*(240-Ot)/60:mt}function ar(Ot){return Math.round(Mt(Ot)*255)}return new Tt(ar(de+120),ar(de),ar(de-120))}v.hcl=Jt;function Jt(de,Fe,et){return this instanceof Jt?(this.h=+de,this.c=+Fe,void(this.l=+et)):arguments.length<2?de instanceof Jt?new Jt(de.h,de.c,de.l):de instanceof ra?Ra(de.l,de.a,de.b):Ra((de=Hr((de=v.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Jt(de,Fe,et)}var Fr=Jt.prototype=new wi;Fr.brighter=function(de){return new Jt(this.h,this.c,Math.min(100,this.l+ca*(arguments.length?de:1)))},Fr.darker=function(de){return new Jt(this.h,this.c,Math.max(0,this.l-ca*(arguments.length?de:1)))},Fr.rgb=function(){return ta(this.h,this.c,this.l).rgb()};function ta(de,Fe,et){return isNaN(de)&&(de=0),isNaN(Fe)&&(Fe=0),new ra(et,Math.cos(de*=Pe)*Fe,Math.sin(de)*Fe)}v.lab=ra;function ra(de,Fe,et){return this instanceof ra?(this.l=+de,this.a=+Fe,void(this.b=+et)):arguments.length<2?de instanceof ra?new ra(de.l,de.a,de.b):de instanceof Jt?ta(de.h,de.c,de.l):Hr((de=Tt(de)).r,de.g,de.b):new ra(de,Fe,et)}var ca=18,Ba=.95047,$a=1,Za=1.08883,ri=ra.prototype=new wi;ri.brighter=function(de){return new ra(Math.min(100,this.l+ca*(arguments.length?de:1)),this.a,this.b)},ri.darker=function(de){return new ra(Math.max(0,this.l-ca*(arguments.length?de:1)),this.a,this.b)},ri.rgb=function(){return pi(this.l,this.a,this.b)};function pi(de,Fe,et){var mt=(de+16)/116,bt=mt+Fe/500,Mt=mt-et/200;return bt=tn(bt)*Ba,mt=tn(mt)*$a,Mt=tn(Mt)*Za,new Tt(hn(3.2404542*bt-1.5371385*mt-.4985314*Mt),hn(-.969266*bt+1.8760108*mt+.041556*Mt),hn(.0556434*bt-.2040259*mt+1.0572252*Mt))}function Ra(de,Fe,et){return de>0?new Jt(Math.atan2(et,Fe)*ft,Math.sqrt(Fe*Fe+et*et),de):new Jt(NaN,NaN,de)}function tn(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function on(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function hn(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}v.rgb=Tt;function Tt(de,Fe,et){return this instanceof Tt?(this.r=~~de,this.g=~~Fe,void(this.b=~~et)):arguments.length<2?de instanceof Tt?new Tt(de.r,de.g,de.b):Ir(\"\"+de,Tt,Yt):new Tt(de,Fe,et)}function ut(de){return new Tt(de>>16,de>>8&255,de&255)}function Br(de){return ut(de)+\"\"}var Cr=Tt.prototype=new wi;Cr.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Fe=this.r,et=this.g,mt=this.b,bt=30;return!Fe&&!et&&!mt?new Tt(bt,bt,bt):(Fe&&Fe>4,mt=mt>>4|mt,bt=_r&240,bt=bt>>4|bt,Mt=_r&15,Mt=Mt<<4|Mt):de.length===7&&(mt=(_r&16711680)>>16,bt=(_r&65280)>>8,Mt=_r&255)),Fe(mt,bt,Mt))}function Ur(de,Fe,et){var mt=Math.min(de/=255,Fe/=255,et/=255),bt=Math.max(de,Fe,et),Mt=bt-mt,ar,Ot,_r=(bt+mt)/2;return Mt?(Ot=_r<.5?Mt/(bt+mt):Mt/(2-bt-mt),de==bt?ar=(Fe-et)/Mt+(Fe0&&_r<1?0:ar),new Kt(ar,Ot,_r)}function Hr(de,Fe,et){de=xt(de),Fe=xt(Fe),et=xt(et);var mt=on((.4124564*de+.3575761*Fe+.1804375*et)/Ba),bt=on((.2126729*de+.7151522*Fe+.072175*et)/$a),Mt=on((.0193339*de+.119192*Fe+.9503041*et)/Za);return ra(116*bt-16,500*(mt-bt),200*(bt-Mt))}function xt(de){return(de/=255)<=.04045?de/12.92:Math.pow((de+.055)/1.055,2.4)}function Xt(de){var Fe=parseFloat(de);return de.charAt(de.length-1)===\"%\"?Math.round(Fe*2.55):Fe}var vr=v.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});vr.forEach(function(de,Fe){vr.set(de,ut(Fe))});function Or(de){return typeof de==\"function\"?de:function(){return de}}v.functor=Or,v.xhr=ba(F);function ba(de){return function(Fe,et,mt){return arguments.length===2&&typeof et==\"function\"&&(mt=et,et=null),Pa(Fe,et,de,mt)}}function Pa(de,Fe,et,mt){var bt={},Mt=v.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),ar={},Ot=new XMLHttpRequest,_r=null;self.XDomainRequest&&!(\"withCredentials\"in Ot)&&/^(http(s)?:)?\\/\\//.test(de)&&(Ot=new XDomainRequest),\"onload\"in Ot?Ot.onload=Ot.onerror=Gr:Ot.onreadystatechange=function(){Ot.readyState>3&&Gr()};function Gr(){var Xr=Ot.status,xa;if(!Xr&&la(Ot)||Xr>=200&&Xr<300||Xr===304){try{xa=et.call(bt,Ot)}catch(da){Mt.error.call(bt,da);return}Mt.load.call(bt,xa)}else Mt.error.call(bt,Ot)}return Ot.onprogress=function(Xr){var xa=v.event;v.event=Xr;try{Mt.progress.call(bt,Ot)}finally{v.event=xa}},bt.header=function(Xr,xa){return Xr=(Xr+\"\").toLowerCase(),arguments.length<2?ar[Xr]:(xa==null?delete ar[Xr]:ar[Xr]=xa+\"\",bt)},bt.mimeType=function(Xr){return arguments.length?(Fe=Xr==null?null:Xr+\"\",bt):Fe},bt.responseType=function(Xr){return arguments.length?(_r=Xr,bt):_r},bt.response=function(Xr){return et=Xr,bt},[\"get\",\"post\"].forEach(function(Xr){bt[Xr]=function(){return bt.send.apply(bt,[Xr].concat(S(arguments)))}}),bt.send=function(Xr,xa,da){if(arguments.length===2&&typeof xa==\"function\"&&(da=xa,xa=null),Ot.open(Xr,de,!0),Fe!=null&&!(\"accept\"in ar)&&(ar.accept=Fe+\",*/*\"),Ot.setRequestHeader)for(var Ja in ar)Ot.setRequestHeader(Ja,ar[Ja]);return Fe!=null&&Ot.overrideMimeType&&Ot.overrideMimeType(Fe),_r!=null&&(Ot.responseType=_r),da!=null&&bt.on(\"error\",da).on(\"load\",function(ti){da(null,ti)}),Mt.beforesend.call(bt,Ot),Ot.send(xa??null),bt},bt.abort=function(){return Ot.abort(),bt},v.rebind(bt,Mt,\"on\"),mt==null?bt:bt.get(ya(mt))}function ya(de){return de.length===1?function(Fe,et){de(Fe==null?et:null)}:de}function la(de){var Fe=de.responseType;return Fe&&Fe!==\"text\"?de.response:de.responseText}v.dsv=function(de,Fe){var et=new RegExp('[\"'+de+`\n]`),mt=de.charCodeAt(0);function bt(Gr,Xr,xa){arguments.length<3&&(xa=Xr,Xr=null);var da=Pa(Gr,Fe,Xr==null?Mt:ar(Xr),xa);return da.row=function(Ja){return arguments.length?da.response((Xr=Ja)==null?Mt:ar(Ja)):Xr},da}function Mt(Gr){return bt.parse(Gr.responseText)}function ar(Gr){return function(Xr){return bt.parse(Xr.responseText,Gr)}}bt.parse=function(Gr,Xr){var xa;return bt.parseRows(Gr,function(da,Ja){if(xa)return xa(da,Ja-1);var ti=function(Sa){for(var Fa={},Xa=da.length,fi=0;fi=ti)return da;if(fi)return fi=!1,xa;var sn=Sa;if(Gr.charCodeAt(sn)===34){for(var rn=sn;rn++24?(isFinite(Fe)&&(clearTimeout(Ki),Ki=setTimeout(En,Fe)),ki=0):(ki=1,_n(En))}v.timer.flush=function(){On(),no()};function On(){for(var de=Date.now(),Fe=Ta;Fe;)de>=Fe.t&&Fe.c(de-Fe.t)&&(Fe.c=null),Fe=Fe.n;return de}function no(){for(var de,Fe=Ta,et=1/0;Fe;)Fe.c?(Fe.t=0;--Ot)Sa.push(bt[Gr[xa[Ot]][2]]);for(Ot=+Ja;Ot1&&_t(de[et[mt-2]],de[et[mt-1]],de[bt])<=0;)--mt;et[mt++]=bt}return et.slice(0,mt)}function hs(de,Fe){return de[0]-Fe[0]||de[1]-Fe[1]}v.geom.polygon=function(de){return V(de,Oo),de};var Oo=v.geom.polygon.prototype=[];Oo.area=function(){for(var de=-1,Fe=this.length,et,mt=this[Fe-1],bt=0;++deKe)Ot=Ot.L;else if(ar=Fe-Gn(Ot,et),ar>Ke){if(!Ot.R){mt=Ot;break}Ot=Ot.R}else{Mt>-Ke?(mt=Ot.P,bt=Ot):ar>-Ke?(mt=Ot,bt=Ot.N):mt=bt=Ot;break}var _r=Xo(de);if(uo.insert(mt,_r),!(!mt&&!bt)){if(mt===bt){ko(mt),bt=Xo(mt.site),uo.insert(_r,bt),_r.edge=bt.edge=Vs(mt.site,_r.site),xn(mt),xn(bt);return}if(!bt){_r.edge=Vs(mt.site,_r.site);return}ko(mt),ko(bt);var Gr=mt.site,Xr=Gr.x,xa=Gr.y,da=de.x-Xr,Ja=de.y-xa,ti=bt.site,Sa=ti.x-Xr,Fa=ti.y-xa,Xa=2*(da*Fa-Ja*Sa),fi=da*da+Ja*Ja,ni=Sa*Sa+Fa*Fa,La={x:(Fa*fi-Ja*ni)/Xa+Xr,y:(da*ni-Sa*fi)/Xa+xa};Ts(bt.edge,Gr,ti,La),_r.edge=Vs(Gr,de,null,La),bt.edge=Vs(de,ti,null,La),xn(mt),xn(bt)}}function _s(de,Fe){var et=de.site,mt=et.x,bt=et.y,Mt=bt-Fe;if(!Mt)return mt;var ar=de.P;if(!ar)return-1/0;et=ar.site;var Ot=et.x,_r=et.y,Gr=_r-Fe;if(!Gr)return Ot;var Xr=Ot-mt,xa=1/Mt-1/Gr,da=Xr/Gr;return xa?(-da+Math.sqrt(da*da-2*xa*(Xr*Xr/(-2*Gr)-_r+Gr/2+bt-Mt/2)))/xa+mt:(mt+Ot)/2}function Gn(de,Fe){var et=de.N;if(et)return _s(et,Fe);var mt=de.site;return mt.y===Fe?mt.x:1/0}function zs(de){this.site=de,this.edges=[]}zs.prototype.prepare=function(){for(var de=this.edges,Fe=de.length,et;Fe--;)et=de[Fe].edge,(!et.b||!et.a)&&de.splice(Fe,1);return de.sort(Ws),de.length};function vs(de){for(var Fe=de[0][0],et=de[1][0],mt=de[0][1],bt=de[1][1],Mt,ar,Ot,_r,Gr=ss,Xr=Gr.length,xa,da,Ja,ti,Sa,Fa;Xr--;)if(xa=Gr[Xr],!(!xa||!xa.prepare()))for(Ja=xa.edges,ti=Ja.length,da=0;daKe||l(_r-ar)>Ke)&&(Ja.splice(da,0,new js(vl(xa.site,Fa,l(Ot-Fe)Ke?{x:Fe,y:l(Mt-Fe)Ke?{x:l(ar-bt)Ke?{x:et,y:l(Mt-et)Ke?{x:l(ar-mt)=-Te)){var da=_r*_r+Gr*Gr,Ja=Xr*Xr+Fa*Fa,ti=(Fa*da-Gr*Ja)/xa,Sa=(_r*Ja-Xr*da)/xa,Fa=Sa+Ot,Xa=Cs.pop()||new il;Xa.arc=de,Xa.site=bt,Xa.x=ti+ar,Xa.y=Fa+Math.sqrt(ti*ti+Sa*Sa),Xa.cy=Fa,de.circle=Xa;for(var fi=null,ni=ls._;ni;)if(Xa.y0)){if(Sa/=Ja,Ja<0){if(Sa0){if(Sa>da)return;Sa>xa&&(xa=Sa)}if(Sa=et-Ot,!(!Ja&&Sa<0)){if(Sa/=Ja,Ja<0){if(Sa>da)return;Sa>xa&&(xa=Sa)}else if(Ja>0){if(Sa0)){if(Sa/=ti,ti<0){if(Sa0){if(Sa>da)return;Sa>xa&&(xa=Sa)}if(Sa=mt-_r,!(!ti&&Sa<0)){if(Sa/=ti,ti<0){if(Sa>da)return;Sa>xa&&(xa=Sa)}else if(ti>0){if(Sa0&&(bt.a={x:Ot+xa*Ja,y:_r+xa*ti}),da<1&&(bt.b={x:Ot+da*Ja,y:_r+da*ti}),bt}}}}}}function Is(de){for(var Fe=Ns,et=bo(de[0][0],de[0][1],de[1][0],de[1][1]),mt=Fe.length,bt;mt--;)bt=Fe[mt],(!pu(bt,de)||!et(bt)||l(bt.a.x-bt.b.x)=Mt)return;if(Xr>da){if(!mt)mt={x:ti,y:ar};else if(mt.y>=Ot)return;et={x:ti,y:Ot}}else{if(!mt)mt={x:ti,y:Ot};else if(mt.y1)if(Xr>da){if(!mt)mt={x:(ar-Xa)/Fa,y:ar};else if(mt.y>=Ot)return;et={x:(Ot-Xa)/Fa,y:Ot}}else{if(!mt)mt={x:(Ot-Xa)/Fa,y:Ot};else if(mt.y=Mt)return;et={x:Mt,y:Fa*Mt+Xa}}else{if(!mt)mt={x:Mt,y:Fa*Mt+Xa};else if(mt.x=Xr&&Xa.x<=da&&Xa.y>=xa&&Xa.y<=Ja?[[Xr,Ja],[da,Ja],[da,xa],[Xr,xa]]:[];fi.point=_r[Sa]}),Gr}function Ot(_r){return _r.map(function(Gr,Xr){return{x:Math.round(mt(Gr,Xr)/Ke)*Ke,y:Math.round(bt(Gr,Xr)/Ke)*Ke,i:Xr}})}return ar.links=function(_r){return du(Ot(_r)).edges.filter(function(Gr){return Gr.l&&Gr.r}).map(function(Gr){return{source:_r[Gr.l.i],target:_r[Gr.r.i]}})},ar.triangles=function(_r){var Gr=[];return du(Ot(_r)).cells.forEach(function(Xr,xa){for(var da=Xr.site,Ja=Xr.edges.sort(Ws),ti=-1,Sa=Ja.length,Fa,Xa,fi=Ja[Sa-1].edge,ni=fi.l===da?fi.r:fi.l;++tini&&(ni=Xr.x),Xr.y>La&&(La=Xr.y),Ja.push(Xr.x),ti.push(Xr.y);else for(Sa=0;Sani&&(ni=sn),rn>La&&(La=rn),Ja.push(sn),ti.push(rn)}var vn=ni-Xa,Pn=La-fi;vn>Pn?La=fi+vn:ni=Xa+Pn;function Jn(io,Ho,cl,al,xl,gn,vo,cs){if(!(isNaN(cl)||isNaN(al)))if(io.leaf){var ms=io.x,Al=io.y;if(ms!=null)if(l(ms-cl)+l(Al-al)<.01)ro(io,Ho,cl,al,xl,gn,vo,cs);else{var Hl=io.point;io.x=io.y=io.point=null,ro(io,Hl,ms,Al,xl,gn,vo,cs),ro(io,Ho,cl,al,xl,gn,vo,cs)}else io.x=cl,io.y=al,io.point=Ho}else ro(io,Ho,cl,al,xl,gn,vo,cs)}function ro(io,Ho,cl,al,xl,gn,vo,cs){var ms=(xl+vo)*.5,Al=(gn+cs)*.5,Hl=cl>=ms,Su=al>=Al,Rl=Su<<1|Hl;io.leaf=!1,io=io.nodes[Rl]||(io.nodes[Rl]=lu()),Hl?xl=ms:vo=ms,Su?gn=Al:cs=Al,Jn(io,Ho,cl,al,xl,gn,vo,cs)}var Yo=lu();if(Yo.add=function(io){Jn(Yo,io,+xa(io,++Sa),+da(io,Sa),Xa,fi,ni,La)},Yo.visit=function(io){Pl(io,Yo,Xa,fi,ni,La)},Yo.find=function(io){return ic(Yo,io[0],io[1],Xa,fi,ni,La)},Sa=-1,Fe==null){for(;++SaMt||da>ar||Ja=sn,Pn=et>=rn,Jn=Pn<<1|vn,ro=Jn+4;Jnet&&(Mt=Fe.slice(et,Mt),Ot[ar]?Ot[ar]+=Mt:Ot[++ar]=Mt),(mt=mt[0])===(bt=bt[0])?Ot[ar]?Ot[ar]+=bt:Ot[++ar]=bt:(Ot[++ar]=null,_r.push({i:ar,x:ml(mt,bt)})),et=nc.lastIndex;return et=0&&!(mt=v.interpolators[et](de,Fe)););return mt}v.interpolators=[function(de,Fe){var et=typeof Fe;return(et===\"string\"?vr.has(Fe.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(Fe)?Ou:xs:Fe instanceof wi?Ou:Array.isArray(Fe)?qu:et===\"object\"&&isNaN(Fe)?nl:ml)(de,Fe)}],v.interpolateArray=qu;function qu(de,Fe){var et=[],mt=[],bt=de.length,Mt=Fe.length,ar=Math.min(de.length,Fe.length),Ot;for(Ot=0;Ot=0?de.slice(0,Fe):de,mt=Fe>=0?de.slice(Fe+1):\"in\";return et=xh.get(et)||fl,mt=ns.get(mt)||F,bh(mt(et.apply(null,x.call(arguments,1))))};function bh(de){return function(Fe){return Fe<=0?0:Fe>=1?1:de(Fe)}}function Es(de){return function(Fe){return 1-de(1-Fe)}}function to(de){return function(Fe){return .5*(Fe<.5?de(2*Fe):2-de(2-2*Fe))}}function Wc(de){return de*de}function Vu(de){return de*de*de}function jl(de){if(de<=0)return 0;if(de>=1)return 1;var Fe=de*de,et=Fe*de;return 4*(de<.5?et:3*(de-Fe)+et-.75)}function Mf(de){return function(Fe){return Math.pow(Fe,de)}}function Ac(de){return 1-Math.cos(de*Ee)}function nf(de){return Math.pow(2,10*(de-1))}function $l(de){return 1-Math.sqrt(1-de*de)}function Jf(de,Fe){var et;return arguments.length<2&&(Fe=.45),arguments.length?et=Fe/Ve*Math.asin(1/de):(de=1,et=Fe/4),function(mt){return 1+de*Math.pow(2,-10*mt)*Math.sin((mt-et)*Ve/Fe)}}function Of(de){return de||(de=1.70158),function(Fe){return Fe*Fe*((de+1)*Fe-de)}}function of(de){return de<1/2.75?7.5625*de*de:de<2/2.75?7.5625*(de-=1.5/2.75)*de+.75:de<2.5/2.75?7.5625*(de-=2.25/2.75)*de+.9375:7.5625*(de-=2.625/2.75)*de+.984375}v.interpolateHcl=jc;function jc(de,Fe){de=v.hcl(de),Fe=v.hcl(Fe);var et=de.h,mt=de.c,bt=de.l,Mt=Fe.h-et,ar=Fe.c-mt,Ot=Fe.l-bt;return isNaN(ar)&&(ar=0,mt=isNaN(mt)?Fe.c:mt),isNaN(Mt)?(Mt=0,et=isNaN(et)?Fe.h:et):Mt>180?Mt-=360:Mt<-180&&(Mt+=360),function(_r){return ta(et+Mt*_r,mt+ar*_r,bt+Ot*_r)+\"\"}}v.interpolateHsl=Bf;function Bf(de,Fe){de=v.hsl(de),Fe=v.hsl(Fe);var et=de.h,mt=de.s,bt=de.l,Mt=Fe.h-et,ar=Fe.s-mt,Ot=Fe.l-bt;return isNaN(ar)&&(ar=0,mt=isNaN(mt)?Fe.s:mt),isNaN(Mt)?(Mt=0,et=isNaN(et)?Fe.h:et):Mt>180?Mt-=360:Mt<-180&&(Mt+=360),function(_r){return Yt(et+Mt*_r,mt+ar*_r,bt+Ot*_r)+\"\"}}v.interpolateLab=Nf;function Nf(de,Fe){de=v.lab(de),Fe=v.lab(Fe);var et=de.l,mt=de.a,bt=de.b,Mt=Fe.l-et,ar=Fe.a-mt,Ot=Fe.b-bt;return function(_r){return pi(et+Mt*_r,mt+ar*_r,bt+Ot*_r)+\"\"}}v.interpolateRound=Gu;function Gu(de,Fe){return Fe-=de,function(et){return Math.round(de+Fe*et)}}v.transform=function(de){var Fe=E.createElementNS(v.ns.prefix.svg,\"g\");return(v.transform=function(et){if(et!=null){Fe.setAttribute(\"transform\",et);var mt=Fe.transform.baseVal.consolidate()}return new Ef(mt?mt.matrix:qc)})(de)};function Ef(de){var Fe=[de.a,de.b],et=[de.c,de.d],mt=Xc(Fe),bt=oc(Fe,et),Mt=Xc(Ql(et,Fe,-bt))||0;Fe[0]*et[1]180?Fe+=360:Fe-de>180&&(de+=360),mt.push({i:et.push(Sc(et)+\"rotate(\",null,\")\")-2,x:ml(de,Fe)})):Fe&&et.push(Sc(et)+\"rotate(\"+Fe+\")\")}function fh(de,Fe,et,mt){de!==Fe?mt.push({i:et.push(Sc(et)+\"skewX(\",null,\")\")-2,x:ml(de,Fe)}):Fe&&et.push(Sc(et)+\"skewX(\"+Fe+\")\")}function Uf(de,Fe,et,mt){if(de[0]!==Fe[0]||de[1]!==Fe[1]){var bt=et.push(Sc(et)+\"scale(\",null,\",\",null,\")\");mt.push({i:bt-4,x:ml(de[0],Fe[0])},{i:bt-2,x:ml(de[1],Fe[1])})}else(Fe[0]!==1||Fe[1]!==1)&&et.push(Sc(et)+\"scale(\"+Fe+\")\")}function Zc(de,Fe){var et=[],mt=[];return de=v.transform(de),Fe=v.transform(Fe),Zs(de.translate,Fe.translate,et,mt),kf(de.rotate,Fe.rotate,et,mt),fh(de.skew,Fe.skew,et,mt),Uf(de.scale,Fe.scale,et,mt),de=Fe=null,function(bt){for(var Mt=-1,ar=mt.length,Ot;++Mt0?Mt=La:(et.c=null,et.t=NaN,et=null,Fe.end({type:\"end\",alpha:Mt=0})):La>0&&(Fe.start({type:\"start\",alpha:Mt=La}),et=Rn(de.tick)),de):Mt},de.start=function(){var La,sn=Ja.length,rn=ti.length,vn=mt[0],Pn=mt[1],Jn,ro;for(La=0;La=0;)Mt.push(Xr=Gr[_r]),Xr.parent=Ot,Xr.depth=Ot.depth+1;et&&(Ot.value=0),Ot.children=Gr}else et&&(Ot.value=+et.call(mt,Ot,Ot.depth)||0),delete Ot.children;return mc(bt,function(xa){var da,Ja;de&&(da=xa.children)&&da.sort(de),et&&(Ja=xa.parent)&&(Ja.value+=xa.value)}),ar}return mt.sort=function(bt){return arguments.length?(de=bt,mt):de},mt.children=function(bt){return arguments.length?(Fe=bt,mt):Fe},mt.value=function(bt){return arguments.length?(et=bt,mt):et},mt.revalue=function(bt){return et&&(Ec(bt,function(Mt){Mt.children&&(Mt.value=0)}),mc(bt,function(Mt){var ar;Mt.children||(Mt.value=+et.call(mt,Mt,Mt.depth)||0),(ar=Mt.parent)&&(ar.value+=Mt.value)})),bt},mt};function Bu(de,Fe){return v.rebind(de,Fe,\"sort\",\"children\",\"value\"),de.nodes=de,de.links=Nu,de}function Ec(de,Fe){for(var et=[de];(de=et.pop())!=null;)if(Fe(de),(bt=de.children)&&(mt=bt.length))for(var mt,bt;--mt>=0;)et.push(bt[mt])}function mc(de,Fe){for(var et=[de],mt=[];(de=et.pop())!=null;)if(mt.push(de),(ar=de.children)&&(Mt=ar.length))for(var bt=-1,Mt,ar;++btbt&&(bt=Ot),mt.push(Ot)}for(ar=0;armt&&(et=Fe,mt=bt);return et}function hl(de){return de.reduce(uf,0)}function uf(de,Fe){return de+Fe[1]}v.layout.histogram=function(){var de=!0,Fe=Number,et=gf,mt=kc;function bt(Mt,da){for(var Ot=[],_r=Mt.map(Fe,this),Gr=et.call(this,_r,da),Xr=mt.call(this,Gr,_r,da),xa,da=-1,Ja=_r.length,ti=Xr.length-1,Sa=de?1:1/Ja,Fa;++da0)for(da=-1;++da=Gr[0]&&Fa<=Gr[1]&&(xa=Ot[v.bisect(Xr,Fa,1,ti)-1],xa.y+=Sa,xa.push(Mt[da]));return Ot}return bt.value=function(Mt){return arguments.length?(Fe=Mt,bt):Fe},bt.range=function(Mt){return arguments.length?(et=Or(Mt),bt):et},bt.bins=function(Mt){return arguments.length?(mt=typeof Mt==\"number\"?function(ar){return Hu(ar,Mt)}:Or(Mt),bt):mt},bt.frequency=function(Mt){return arguments.length?(de=!!Mt,bt):de},bt};function kc(de,Fe){return Hu(de,Math.ceil(Math.log(Fe.length)/Math.LN2+1))}function Hu(de,Fe){for(var et=-1,mt=+de[0],bt=(de[1]-mt)/Fe,Mt=[];++et<=Fe;)Mt[et]=bt*et+mt;return Mt}function gf(de){return[v.min(de),v.max(de)]}v.layout.pack=function(){var de=v.layout.hierarchy().sort(Wu),Fe=0,et=[1,1],mt;function bt(Mt,ar){var Ot=de.call(this,Mt,ar),_r=Ot[0],Gr=et[0],Xr=et[1],xa=mt==null?Math.sqrt:typeof mt==\"function\"?mt:function(){return mt};if(_r.x=_r.y=0,mc(_r,function(Ja){Ja.r=+xa(Ja.value)}),mc(_r,Vf),Fe){var da=Fe*(mt?1:Math.max(2*_r.r/Gr,2*_r.r/Xr))/2;mc(_r,function(Ja){Ja.r+=da}),mc(_r,Vf),mc(_r,function(Ja){Ja.r-=da})}return gc(_r,Gr/2,Xr/2,mt?1:1/Math.max(2*_r.r/Gr,2*_r.r/Xr)),Ot}return bt.size=function(Mt){return arguments.length?(et=Mt,bt):et},bt.radius=function(Mt){return arguments.length?(mt=Mt==null||typeof Mt==\"function\"?Mt:+Mt,bt):mt},bt.padding=function(Mt){return arguments.length?(Fe=+Mt,bt):Fe},Bu(bt,de)};function Wu(de,Fe){return de.value-Fe.value}function Kc(de,Fe){var et=de._pack_next;de._pack_next=Fe,Fe._pack_prev=de,Fe._pack_next=et,et._pack_prev=Fe}function Lf(de,Fe){de._pack_next=Fe,Fe._pack_prev=de}function iu(de,Fe){var et=Fe.x-de.x,mt=Fe.y-de.y,bt=de.r+Fe.r;return .999*bt*bt>et*et+mt*mt}function Vf(de){if(!(Fe=de.children)||!(da=Fe.length))return;var Fe,et=1/0,mt=-1/0,bt=1/0,Mt=-1/0,ar,Ot,_r,Gr,Xr,xa,da;function Ja(La){et=Math.min(La.x-La.r,et),mt=Math.max(La.x+La.r,mt),bt=Math.min(La.y-La.r,bt),Mt=Math.max(La.y+La.r,Mt)}if(Fe.forEach(Xu),ar=Fe[0],ar.x=-ar.r,ar.y=0,Ja(ar),da>1&&(Ot=Fe[1],Ot.x=Ot.r,Ot.y=0,Ja(Ot),da>2))for(_r=Fe[2],ql(ar,Ot,_r),Ja(_r),Kc(ar,_r),ar._pack_prev=_r,Kc(_r,Ot),Ot=ar._pack_next,Gr=3;GrFa.x&&(Fa=sn),sn.depth>Xa.depth&&(Xa=sn)});var fi=Fe(Sa,Fa)/2-Sa.x,ni=et[0]/(Fa.x+Fe(Fa,Sa)/2+fi),La=et[1]/(Xa.depth||1);Ec(Ja,function(sn){sn.x=(sn.x+fi)*ni,sn.y=sn.depth*La})}return da}function Mt(Xr){for(var xa={A:null,children:[Xr]},da=[xa],Ja;(Ja=da.pop())!=null;)for(var ti=Ja.children,Sa,Fa=0,Xa=ti.length;Fa0&&(sc(Qt(Sa,Xr,da),Xr,sn),Xa+=sn,fi+=sn),ni+=Sa.m,Xa+=Ja.m,La+=Fa.m,fi+=ti.m;Sa&&!Jc(ti)&&(ti.t=Sa,ti.m+=ni-fi),Ja&&!Lc(Fa)&&(Fa.t=Ja,Fa.m+=Xa-La,da=Xr)}return da}function Gr(Xr){Xr.x*=et[0],Xr.y=Xr.depth*et[1]}return bt.separation=function(Xr){return arguments.length?(Fe=Xr,bt):Fe},bt.size=function(Xr){return arguments.length?(mt=(et=Xr)==null?Gr:null,bt):mt?null:et},bt.nodeSize=function(Xr){return arguments.length?(mt=(et=Xr)==null?null:Gr,bt):mt?et:null},Bu(bt,de)};function xu(de,Fe){return de.parent==Fe.parent?1:2}function Lc(de){var Fe=de.children;return Fe.length?Fe[0]:de.t}function Jc(de){var Fe=de.children,et;return(et=Fe.length)?Fe[et-1]:de.t}function sc(de,Fe,et){var mt=et/(Fe.i-de.i);Fe.c-=mt,Fe.s+=et,de.c+=mt,Fe.z+=et,Fe.m+=et}function Pc(de){for(var Fe=0,et=0,mt=de.children,bt=mt.length,Mt;--bt>=0;)Mt=mt[bt],Mt.z+=Fe,Mt.m+=Fe,Fe+=Mt.s+(et+=Mt.c)}function Qt(de,Fe,et){return de.a.parent===Fe.parent?de.a:et}v.layout.cluster=function(){var de=v.layout.hierarchy().sort(null).value(null),Fe=xu,et=[1,1],mt=!1;function bt(Mt,ar){var Ot=de.call(this,Mt,ar),_r=Ot[0],Gr,Xr=0;mc(_r,function(Sa){var Fa=Sa.children;Fa&&Fa.length?(Sa.x=aa(Fa),Sa.y=br(Fa)):(Sa.x=Gr?Xr+=Fe(Sa,Gr):0,Sa.y=0,Gr=Sa)});var xa=$r(_r),da=ka(_r),Ja=xa.x-Fe(xa,da)/2,ti=da.x+Fe(da,xa)/2;return mc(_r,mt?function(Sa){Sa.x=(Sa.x-_r.x)*et[0],Sa.y=(_r.y-Sa.y)*et[1]}:function(Sa){Sa.x=(Sa.x-Ja)/(ti-Ja)*et[0],Sa.y=(1-(_r.y?Sa.y/_r.y:1))*et[1]}),Ot}return bt.separation=function(Mt){return arguments.length?(Fe=Mt,bt):Fe},bt.size=function(Mt){return arguments.length?(mt=(et=Mt)==null,bt):mt?null:et},bt.nodeSize=function(Mt){return arguments.length?(mt=(et=Mt)!=null,bt):mt?et:null},Bu(bt,de)};function br(de){return 1+v.max(de,function(Fe){return Fe.y})}function aa(de){return de.reduce(function(Fe,et){return Fe+et.x},0)/de.length}function $r(de){var Fe=de.children;return Fe&&Fe.length?$r(Fe[0]):de}function ka(de){var Fe=de.children,et;return Fe&&(et=Fe.length)?ka(Fe[et-1]):de}v.layout.treemap=function(){var de=v.layout.hierarchy(),Fe=Math.round,et=[1,1],mt=null,bt=li,Mt=!1,ar,Ot=\"squarify\",_r=.5*(1+Math.sqrt(5));function Gr(Sa,Fa){for(var Xa=-1,fi=Sa.length,ni,La;++Xa0;)fi.push(La=ni[Pn-1]),fi.area+=La.area,Ot!==\"squarify\"||(rn=da(fi,vn))<=sn?(ni.pop(),sn=rn):(fi.area-=fi.pop().area,Ja(fi,vn,Xa,!1),vn=Math.min(Xa.dx,Xa.dy),fi.length=fi.area=0,sn=1/0);fi.length&&(Ja(fi,vn,Xa,!0),fi.length=fi.area=0),Fa.forEach(Xr)}}function xa(Sa){var Fa=Sa.children;if(Fa&&Fa.length){var Xa=bt(Sa),fi=Fa.slice(),ni,La=[];for(Gr(fi,Xa.dx*Xa.dy/Sa.value),La.area=0;ni=fi.pop();)La.push(ni),La.area+=ni.area,ni.z!=null&&(Ja(La,ni.z?Xa.dx:Xa.dy,Xa,!fi.length),La.length=La.area=0);Fa.forEach(xa)}}function da(Sa,Fa){for(var Xa=Sa.area,fi,ni=0,La=1/0,sn=-1,rn=Sa.length;++snni&&(ni=fi));return Xa*=Xa,Fa*=Fa,Xa?Math.max(Fa*ni*_r/Xa,Xa/(Fa*La*_r)):1/0}function Ja(Sa,Fa,Xa,fi){var ni=-1,La=Sa.length,sn=Xa.x,rn=Xa.y,vn=Fa?Fe(Sa.area/Fa):0,Pn;if(Fa==Xa.dx){for((fi||vn>Xa.dy)&&(vn=Xa.dy);++niXa.dx)&&(vn=Xa.dx);++ni1);return de+Fe*mt*Math.sqrt(-2*Math.log(Mt)/Mt)}},logNormal:function(){var de=v.random.normal.apply(v,arguments);return function(){return Math.exp(de())}},bates:function(de){var Fe=v.random.irwinHall(de);return function(){return Fe()/de}},irwinHall:function(de){return function(){for(var Fe=0,et=0;et2?mi:dn,Gr=mt?Cu:$f;return bt=_r(de,Fe,Gr,et),Mt=_r(Fe,de,Gr,Ul),Ot}function Ot(_r){return bt(_r)}return Ot.invert=function(_r){return Mt(_r)},Ot.domain=function(_r){return arguments.length?(de=_r.map(Number),ar()):de},Ot.range=function(_r){return arguments.length?(Fe=_r,ar()):Fe},Ot.rangeRound=function(_r){return Ot.range(_r).interpolate(Gu)},Ot.clamp=function(_r){return arguments.length?(mt=_r,ar()):mt},Ot.interpolate=function(_r){return arguments.length?(et=_r,ar()):et},Ot.ticks=function(_r){return fo(de,_r)},Ot.tickFormat=function(_r,Gr){return d3_scale_linearTickFormat(de,_r,Gr)},Ot.nice=function(_r){return ao(de,_r),ar()},Ot.copy=function(){return Mn(de,Fe,et,mt)},ar()}function Qn(de,Fe){return v.rebind(de,Fe,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function ao(de,Fe){return Pi(de,Di(eo(de,Fe)[2])),Pi(de,Di(eo(de,Fe)[2])),de}function eo(de,Fe){Fe==null&&(Fe=10);var et=Hi(de),mt=et[1]-et[0],bt=Math.pow(10,Math.floor(Math.log(mt/Fe)/Math.LN10)),Mt=Fe/mt*bt;return Mt<=.15?bt*=10:Mt<=.35?bt*=5:Mt<=.75&&(bt*=2),et[0]=Math.ceil(et[0]/bt)*bt,et[1]=Math.floor(et[1]/bt)*bt+bt*.5,et[2]=bt,et}function fo(de,Fe){return v.range.apply(v,eo(de,Fe))}var An={s:1,g:1,p:1,r:1,e:1};function un(de){return-Math.floor(Math.log(de)/Math.LN10+.01)}function yo(de,Fe){var et=un(Fe[2]);return de in An?Math.abs(et-un(Math.max(l(Fe[0]),l(Fe[1]))))+ +(de!==\"e\"):et-(de===\"%\")*2}v.scale.log=function(){return Ko(v.scale.linear().domain([0,1]),10,!0,[1,10])};function Ko(de,Fe,et,mt){function bt(Ot){return(et?Math.log(Ot<0?0:Ot):-Math.log(Ot>0?0:-Ot))/Math.log(Fe)}function Mt(Ot){return et?Math.pow(Fe,Ot):-Math.pow(Fe,-Ot)}function ar(Ot){return de(bt(Ot))}return ar.invert=function(Ot){return Mt(de.invert(Ot))},ar.domain=function(Ot){return arguments.length?(et=Ot[0]>=0,de.domain((mt=Ot.map(Number)).map(bt)),ar):mt},ar.base=function(Ot){return arguments.length?(Fe=+Ot,de.domain(mt.map(bt)),ar):Fe},ar.nice=function(){var Ot=Pi(mt.map(bt),et?Math:Ss);return de.domain(Ot),mt=Ot.map(Mt),ar},ar.ticks=function(){var Ot=Hi(mt),_r=[],Gr=Ot[0],Xr=Ot[1],xa=Math.floor(bt(Gr)),da=Math.ceil(bt(Xr)),Ja=Fe%1?2:Fe;if(isFinite(da-xa)){if(et){for(;xa0;ti--)_r.push(Mt(xa)*ti);for(xa=0;_r[xa]Xr;da--);_r=_r.slice(xa,da)}return _r},ar.copy=function(){return Ko(de.copy(),Fe,et,mt)},Qn(ar,de)}var Ss={floor:function(de){return-Math.ceil(-de)},ceil:function(de){return-Math.floor(-de)}};v.scale.pow=function(){return rl(v.scale.linear(),1,[0,1])};function rl(de,Fe,et){var mt=Os(Fe),bt=Os(1/Fe);function Mt(ar){return de(mt(ar))}return Mt.invert=function(ar){return bt(de.invert(ar))},Mt.domain=function(ar){return arguments.length?(de.domain((et=ar.map(Number)).map(mt)),Mt):et},Mt.ticks=function(ar){return fo(et,ar)},Mt.tickFormat=function(ar,Ot){return d3_scale_linearTickFormat(et,ar,Ot)},Mt.nice=function(ar){return Mt.domain(ao(et,ar))},Mt.exponent=function(ar){return arguments.length?(mt=Os(Fe=ar),bt=Os(1/Fe),de.domain(et.map(mt)),Mt):Fe},Mt.copy=function(){return rl(de.copy(),Fe,et)},Qn(Mt,de)}function Os(de){return function(Fe){return Fe<0?-Math.pow(-Fe,de):Math.pow(Fe,de)}}v.scale.sqrt=function(){return v.scale.pow().exponent(.5)},v.scale.ordinal=function(){return el([],{t:\"range\",a:[[]]})};function el(de,Fe){var et,mt,bt;function Mt(Ot){return mt[((et.get(Ot)||(Fe.t===\"range\"?et.set(Ot,de.push(Ot)):NaN))-1)%mt.length]}function ar(Ot,_r){return v.range(de.length).map(function(Gr){return Ot+_r*Gr})}return Mt.domain=function(Ot){if(!arguments.length)return de;de=[],et=new A;for(var _r=-1,Gr=Ot.length,Xr;++_r0?et[Mt-1]:de[0],Mtda?0:1;if(Xr=Ce)return _r(Xr,ti)+(Gr?_r(Gr,1-ti):\"\")+\"Z\";var Sa,Fa,Xa,fi,ni=0,La=0,sn,rn,vn,Pn,Jn,ro,Yo,io,Ho=[];if((fi=(+ar.apply(this,arguments)||0)/2)&&(Xa=mt===Iu?Math.sqrt(Gr*Gr+Xr*Xr):+mt.apply(this,arguments),ti||(La*=-1),Xr&&(La=ir(Xa/Xr*Math.sin(fi))),Gr&&(ni=ir(Xa/Gr*Math.sin(fi)))),Xr){sn=Xr*Math.cos(xa+La),rn=Xr*Math.sin(xa+La),vn=Xr*Math.cos(da-La),Pn=Xr*Math.sin(da-La);var cl=Math.abs(da-xa-2*La)<=Ie?0:1;if(La&&yc(sn,rn,vn,Pn)===ti^cl){var al=(xa+da)/2;sn=Xr*Math.cos(al),rn=Xr*Math.sin(al),vn=Pn=null}}else sn=rn=0;if(Gr){Jn=Gr*Math.cos(da-ni),ro=Gr*Math.sin(da-ni),Yo=Gr*Math.cos(xa+ni),io=Gr*Math.sin(xa+ni);var xl=Math.abs(xa-da+2*ni)<=Ie?0:1;if(ni&&yc(Jn,ro,Yo,io)===1-ti^xl){var gn=(xa+da)/2;Jn=Gr*Math.cos(gn),ro=Gr*Math.sin(gn),Yo=io=null}}else Jn=ro=0;if(Ja>Ke&&(Sa=Math.min(Math.abs(Xr-Gr)/2,+et.apply(this,arguments)))>.001){Fa=Gr0?0:1}function ho(de,Fe,et,mt,bt){var Mt=de[0]-Fe[0],ar=de[1]-Fe[1],Ot=(bt?mt:-mt)/Math.sqrt(Mt*Mt+ar*ar),_r=Ot*ar,Gr=-Ot*Mt,Xr=de[0]+_r,xa=de[1]+Gr,da=Fe[0]+_r,Ja=Fe[1]+Gr,ti=(Xr+da)/2,Sa=(xa+Ja)/2,Fa=da-Xr,Xa=Ja-xa,fi=Fa*Fa+Xa*Xa,ni=et-mt,La=Xr*Ja-da*xa,sn=(Xa<0?-1:1)*Math.sqrt(Math.max(0,ni*ni*fi-La*La)),rn=(La*Xa-Fa*sn)/fi,vn=(-La*Fa-Xa*sn)/fi,Pn=(La*Xa+Fa*sn)/fi,Jn=(-La*Fa+Xa*sn)/fi,ro=rn-ti,Yo=vn-Sa,io=Pn-ti,Ho=Jn-Sa;return ro*ro+Yo*Yo>io*io+Ho*Ho&&(rn=Pn,vn=Jn),[[rn-_r,vn-Gr],[rn*et/ni,vn*et/ni]]}function Ro(){return!0}function Dc(de){var Fe=cn,et=lo,mt=Ro,bt=Yu,Mt=bt.key,ar=.7;function Ot(_r){var Gr=[],Xr=[],xa=-1,da=_r.length,Ja,ti=Or(Fe),Sa=Or(et);function Fa(){Gr.push(\"M\",bt(de(Xr),ar))}for(;++xa1?de.join(\"L\"):de+\"Z\"}function Ue(de){return de.join(\"L\")+\"Z\"}function I(de){for(var Fe=0,et=de.length,mt=de[0],bt=[mt[0],\",\",mt[1]];++Fe1&&bt.push(\"H\",mt[0]),bt.join(\"\")}function ie(de){for(var Fe=0,et=de.length,mt=de[0],bt=[mt[0],\",\",mt[1]];++Fe1){Ot=Fe[1],Mt=de[_r],_r++,mt+=\"C\"+(bt[0]+ar[0])+\",\"+(bt[1]+ar[1])+\",\"+(Mt[0]-Ot[0])+\",\"+(Mt[1]-Ot[1])+\",\"+Mt[0]+\",\"+Mt[1];for(var Gr=2;Gr9&&(Mt=et*3/Math.sqrt(Mt),ar[Ot]=Mt*mt,ar[Ot+1]=Mt*bt));for(Ot=-1;++Ot<=_r;)Mt=(de[Math.min(_r,Ot+1)][0]-de[Math.max(0,Ot-1)][0])/(6*(1+ar[Ot]*ar[Ot])),Fe.push([Mt||0,ar[Ot]*Mt||0]);return Fe}function cr(de){return de.length<3?Yu(de):de[0]+St(de,zt(de))}v.svg.line.radial=function(){var de=Dc(yr);return de.radius=de.x,delete de.x,de.angle=de.y,delete de.y,de};function yr(de){for(var Fe,et=-1,mt=de.length,bt,Mt;++etIe)+\",1 \"+xa}function Gr(Xr,xa,da,Ja){return\"Q 0,0 \"+Ja}return Mt.radius=function(Xr){return arguments.length?(et=Or(Xr),Mt):et},Mt.source=function(Xr){return arguments.length?(de=Or(Xr),Mt):de},Mt.target=function(Xr){return arguments.length?(Fe=Or(Xr),Mt):Fe},Mt.startAngle=function(Xr){return arguments.length?(mt=Or(Xr),Mt):mt},Mt.endAngle=function(Xr){return arguments.length?(bt=Or(Xr),Mt):bt},Mt};function pa(de){return de.radius}v.svg.diagonal=function(){var de=jr,Fe=Qr,et=Aa;function mt(bt,Mt){var ar=de.call(this,bt,Mt),Ot=Fe.call(this,bt,Mt),_r=(ar.y+Ot.y)/2,Gr=[ar,{x:ar.x,y:_r},{x:Ot.x,y:_r},Ot];return Gr=Gr.map(et),\"M\"+Gr[0]+\"C\"+Gr[1]+\" \"+Gr[2]+\" \"+Gr[3]}return mt.source=function(bt){return arguments.length?(de=Or(bt),mt):de},mt.target=function(bt){return arguments.length?(Fe=Or(bt),mt):Fe},mt.projection=function(bt){return arguments.length?(et=bt,mt):et},mt};function Aa(de){return[de.x,de.y]}v.svg.diagonal.radial=function(){var de=v.svg.diagonal(),Fe=Aa,et=de.projection;return de.projection=function(mt){return arguments.length?et(za(Fe=mt)):Fe},de};function za(de){return function(){var Fe=de.apply(this,arguments),et=Fe[0],mt=Fe[1]-Ee;return[et*Math.cos(mt),et*Math.sin(mt)]}}v.svg.symbol=function(){var de=Vi,Fe=ci;function et(mt,bt){return(nn.get(de.call(this,mt,bt))||ji)(Fe.call(this,mt,bt))}return et.type=function(mt){return arguments.length?(de=Or(mt),et):de},et.size=function(mt){return arguments.length?(Fe=Or(mt),et):Fe},et};function ci(){return 64}function Vi(){return\"circle\"}function ji(de){var Fe=Math.sqrt(de/Ie);return\"M0,\"+Fe+\"A\"+Fe+\",\"+Fe+\" 0 1,1 0,\"+-Fe+\"A\"+Fe+\",\"+Fe+\" 0 1,1 0,\"+Fe+\"Z\"}var nn=v.map({circle:ji,cross:function(de){var Fe=Math.sqrt(de/5)/2;return\"M\"+-3*Fe+\",\"+-Fe+\"H\"+-Fe+\"V\"+-3*Fe+\"H\"+Fe+\"V\"+-Fe+\"H\"+3*Fe+\"V\"+Fe+\"H\"+Fe+\"V\"+3*Fe+\"H\"+-Fe+\"V\"+Fe+\"H\"+-3*Fe+\"Z\"},diamond:function(de){var Fe=Math.sqrt(de/(2*Kn)),et=Fe*Kn;return\"M0,\"+-Fe+\"L\"+et+\",0 0,\"+Fe+\" \"+-et+\",0Z\"},square:function(de){var Fe=Math.sqrt(de)/2;return\"M\"+-Fe+\",\"+-Fe+\"L\"+Fe+\",\"+-Fe+\" \"+Fe+\",\"+Fe+\" \"+-Fe+\",\"+Fe+\"Z\"},\"triangle-down\":function(de){var Fe=Math.sqrt(de/Sn),et=Fe*Sn/2;return\"M0,\"+et+\"L\"+Fe+\",\"+-et+\" \"+-Fe+\",\"+-et+\"Z\"},\"triangle-up\":function(de){var Fe=Math.sqrt(de/Sn),et=Fe*Sn/2;return\"M0,\"+-et+\"L\"+Fe+\",\"+et+\" \"+-Fe+\",\"+et+\"Z\"}});v.svg.symbolTypes=nn.keys();var Sn=Math.sqrt(3),Kn=Math.tan(30*Pe);ae.transition=function(de){for(var Fe=ps||++Zo,et=$o(de),mt=[],bt,Mt,ar=ul||{time:Date.now(),ease:jl,delay:0,duration:250},Ot=-1,_r=this.length;++Ot<_r;){mt.push(bt=[]);for(var Gr=this[Ot],Xr=-1,xa=Gr.length;++Xr0;)xa[--fi].call(de,Xa);if(Fa>=1)return ar.event&&ar.event.end.call(de,de.__data__,Fe),--Mt.count?delete Mt[mt]:delete de[et],1}ar||(Ot=bt.time,_r=Rn(da,0,Ot),ar=Mt[mt]={tween:new A,time:Ot,timer:_r,delay:bt.delay,duration:bt.duration,ease:bt.ease,index:Fe},bt=null,++Mt.count)}v.svg.axis=function(){var de=v.scale.linear(),Fe=eu,et=6,mt=6,bt=3,Mt=[10],ar=null,Ot;function _r(Gr){Gr.each(function(){var Xr=v.select(this),xa=this.__chart__||de,da=this.__chart__=de.copy(),Ja=ar??(da.ticks?da.ticks.apply(da,Mt):da.domain()),ti=Ot??(da.tickFormat?da.tickFormat.apply(da,Mt):F),Sa=Xr.selectAll(\".tick\").data(Ja,da),Fa=Sa.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ke),Xa=v.transition(Sa.exit()).style(\"opacity\",Ke).remove(),fi=v.transition(Sa.order()).style(\"opacity\",1),ni=Math.max(et,0)+bt,La,sn=Qi(da),rn=Xr.selectAll(\".domain\").data([0]),vn=(rn.enter().append(\"path\").attr(\"class\",\"domain\"),v.transition(rn));Fa.append(\"line\"),Fa.append(\"text\");var Pn=Fa.select(\"line\"),Jn=fi.select(\"line\"),ro=Sa.select(\"text\").text(ti),Yo=Fa.select(\"text\"),io=fi.select(\"text\"),Ho=Fe===\"top\"||Fe===\"left\"?-1:1,cl,al,xl,gn;if(Fe===\"bottom\"||Fe===\"top\"?(La=vu,cl=\"x\",xl=\"y\",al=\"x2\",gn=\"y2\",ro.attr(\"dy\",Ho<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),vn.attr(\"d\",\"M\"+sn[0]+\",\"+Ho*mt+\"V0H\"+sn[1]+\"V\"+Ho*mt)):(La=Tl,cl=\"y\",xl=\"x\",al=\"y2\",gn=\"x2\",ro.attr(\"dy\",\".32em\").style(\"text-anchor\",Ho<0?\"end\":\"start\"),vn.attr(\"d\",\"M\"+Ho*mt+\",\"+sn[0]+\"H0V\"+sn[1]+\"H\"+Ho*mt)),Pn.attr(gn,Ho*et),Yo.attr(xl,Ho*ni),Jn.attr(al,0).attr(gn,Ho*et),io.attr(cl,0).attr(xl,Ho*ni),da.rangeBand){var vo=da,cs=vo.rangeBand()/2;xa=da=function(ms){return vo(ms)+cs}}else xa.rangeBand?xa=da:Xa.call(La,da,xa);Fa.call(La,xa,da),fi.call(La,da,da)})}return _r.scale=function(Gr){return arguments.length?(de=Gr,_r):de},_r.orient=function(Gr){return arguments.length?(Fe=Gr in Ru?Gr+\"\":eu,_r):Fe},_r.ticks=function(){return arguments.length?(Mt=S(arguments),_r):Mt},_r.tickValues=function(Gr){return arguments.length?(ar=Gr,_r):ar},_r.tickFormat=function(Gr){return arguments.length?(Ot=Gr,_r):Ot},_r.tickSize=function(Gr){var Xr=arguments.length;return Xr?(et=+Gr,mt=+arguments[Xr-1],_r):et},_r.innerTickSize=function(Gr){return arguments.length?(et=+Gr,_r):et},_r.outerTickSize=function(Gr){return arguments.length?(mt=+Gr,_r):mt},_r.tickPadding=function(Gr){return arguments.length?(bt=+Gr,_r):bt},_r.tickSubdivide=function(){return arguments.length&&_r},_r};var eu=\"bottom\",Ru={top:1,right:1,bottom:1,left:1};function vu(de,Fe,et){de.attr(\"transform\",function(mt){var bt=Fe(mt);return\"translate(\"+(isFinite(bt)?bt:et(mt))+\",0)\"})}function Tl(de,Fe,et){de.attr(\"transform\",function(mt){var bt=Fe(mt);return\"translate(0,\"+(isFinite(bt)?bt:et(mt))+\")\"})}v.svg.brush=function(){var de=le(Xr,\"brushstart\",\"brush\",\"brushend\"),Fe=null,et=null,mt=[0,0],bt=[0,0],Mt,ar,Ot=!0,_r=!0,Gr=uc[0];function Xr(Sa){Sa.each(function(){var Fa=v.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ti).on(\"touchstart.brush\",ti),Xa=Fa.selectAll(\".background\").data([0]);Xa.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),Fa.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var fi=Fa.selectAll(\".resize\").data(Gr,F);fi.exit().remove(),fi.enter().append(\"g\").attr(\"class\",function(rn){return\"resize \"+rn}).style(\"cursor\",function(rn){return cu[rn]}).append(\"rect\").attr(\"x\",function(rn){return/[ew]$/.test(rn)?-3:null}).attr(\"y\",function(rn){return/^[ns]/.test(rn)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),fi.style(\"display\",Xr.empty()?\"none\":null);var ni=v.transition(Fa),La=v.transition(Xa),sn;Fe&&(sn=Qi(Fe),La.attr(\"x\",sn[0]).attr(\"width\",sn[1]-sn[0]),da(ni)),et&&(sn=Qi(et),La.attr(\"y\",sn[0]).attr(\"height\",sn[1]-sn[0]),Ja(ni)),xa(ni)})}Xr.event=function(Sa){Sa.each(function(){var Fa=de.of(this,arguments),Xa={x:mt,y:bt,i:Mt,j:ar},fi=this.__chart__||Xa;this.__chart__=Xa,ps?v.select(this).transition().each(\"start.brush\",function(){Mt=fi.i,ar=fi.j,mt=fi.x,bt=fi.y,Fa({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ni=qu(mt,Xa.x),La=qu(bt,Xa.y);return Mt=ar=null,function(sn){mt=Xa.x=ni(sn),bt=Xa.y=La(sn),Fa({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){Mt=Xa.i,ar=Xa.j,Fa({type:\"brush\",mode:\"resize\"}),Fa({type:\"brushend\"})}):(Fa({type:\"brushstart\"}),Fa({type:\"brush\",mode:\"resize\"}),Fa({type:\"brushend\"}))})};function xa(Sa){Sa.selectAll(\".resize\").attr(\"transform\",function(Fa){return\"translate(\"+mt[+/e$/.test(Fa)]+\",\"+bt[+/^s/.test(Fa)]+\")\"})}function da(Sa){Sa.select(\".extent\").attr(\"x\",mt[0]),Sa.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",mt[1]-mt[0])}function Ja(Sa){Sa.select(\".extent\").attr(\"y\",bt[0]),Sa.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",bt[1]-bt[0])}function ti(){var Sa=this,Fa=v.select(v.event.target),Xa=de.of(Sa,arguments),fi=v.select(Sa),ni=Fa.datum(),La=!/^(n|s)$/.test(ni)&&Fe,sn=!/^(e|w)$/.test(ni)&&et,rn=Fa.classed(\"extent\"),vn=Sr(Sa),Pn,Jn=v.mouse(Sa),ro,Yo=v.select(t(Sa)).on(\"keydown.brush\",cl).on(\"keyup.brush\",al);if(v.event.changedTouches?Yo.on(\"touchmove.brush\",xl).on(\"touchend.brush\",vo):Yo.on(\"mousemove.brush\",xl).on(\"mouseup.brush\",vo),fi.interrupt().selectAll(\"*\").interrupt(),rn)Jn[0]=mt[0]-Jn[0],Jn[1]=bt[0]-Jn[1];else if(ni){var io=+/w$/.test(ni),Ho=+/^n/.test(ni);ro=[mt[1-io]-Jn[0],bt[1-Ho]-Jn[1]],Jn[0]=mt[io],Jn[1]=bt[Ho]}else v.event.altKey&&(Pn=Jn.slice());fi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),v.select(\"body\").style(\"cursor\",Fa.style(\"cursor\")),Xa({type:\"brushstart\"}),xl();function cl(){v.event.keyCode==32&&(rn||(Pn=null,Jn[0]-=mt[1],Jn[1]-=bt[1],rn=2),$())}function al(){v.event.keyCode==32&&rn==2&&(Jn[0]+=mt[1],Jn[1]+=bt[1],rn=0,$())}function xl(){var cs=v.mouse(Sa),ms=!1;ro&&(cs[0]+=ro[0],cs[1]+=ro[1]),rn||(v.event.altKey?(Pn||(Pn=[(mt[0]+mt[1])/2,(bt[0]+bt[1])/2]),Jn[0]=mt[+(cs[0]0))return Wt;do Wt.push(kr=new Date(+Pt)),Oe(Pt,qt),he(Pt);while(kr=It)for(;he(It),!Pt(It);)It.setTime(It-1)},function(It,qt){if(It>=It)if(qt<0)for(;++qt<=0;)for(;Oe(It,-1),!Pt(It););else for(;--qt>=0;)for(;Oe(It,1),!Pt(It););})},tt&&(Qe.count=function(Pt,It){return x.setTime(+Pt),S.setTime(+It),he(x),he(S),Math.floor(tt(x,S))},Qe.every=function(Pt){return Pt=Math.floor(Pt),!isFinite(Pt)||!(Pt>0)?null:Pt>1?Qe.filter(ot?function(It){return ot(It)%Pt===0}:function(It){return Qe.count(0,It)%Pt===0}):Qe}),Qe}var e=E(function(){},function(he,Oe){he.setTime(+he+Oe)},function(he,Oe){return Oe-he});e.every=function(he){return he=Math.floor(he),!isFinite(he)||!(he>0)?null:he>1?E(function(Oe){Oe.setTime(Math.floor(Oe/he)*he)},function(Oe,tt){Oe.setTime(+Oe+tt*he)},function(Oe,tt){return(tt-Oe)/he}):e};var t=e.range,r=1e3,o=6e4,a=36e5,n=864e5,i=6048e5,s=E(function(he){he.setTime(he-he.getMilliseconds())},function(he,Oe){he.setTime(+he+Oe*r)},function(he,Oe){return(Oe-he)/r},function(he){return he.getUTCSeconds()}),h=s.range,c=E(function(he){he.setTime(he-he.getMilliseconds()-he.getSeconds()*r)},function(he,Oe){he.setTime(+he+Oe*o)},function(he,Oe){return(Oe-he)/o},function(he){return he.getMinutes()}),m=c.range,p=E(function(he){he.setTime(he-he.getMilliseconds()-he.getSeconds()*r-he.getMinutes()*o)},function(he,Oe){he.setTime(+he+Oe*a)},function(he,Oe){return(Oe-he)/a},function(he){return he.getHours()}),T=p.range,l=E(function(he){he.setHours(0,0,0,0)},function(he,Oe){he.setDate(he.getDate()+Oe)},function(he,Oe){return(Oe-he-(Oe.getTimezoneOffset()-he.getTimezoneOffset())*o)/n},function(he){return he.getDate()-1}),_=l.range;function w(he){return E(function(Oe){Oe.setDate(Oe.getDate()-(Oe.getDay()+7-he)%7),Oe.setHours(0,0,0,0)},function(Oe,tt){Oe.setDate(Oe.getDate()+tt*7)},function(Oe,tt){return(tt-Oe-(tt.getTimezoneOffset()-Oe.getTimezoneOffset())*o)/i})}var A=w(0),M=w(1),g=w(2),b=w(3),d=w(4),u=w(5),y=w(6),f=A.range,R=M.range,L=g.range,z=b.range,F=d.range,N=u.range,O=y.range,P=E(function(he){he.setDate(1),he.setHours(0,0,0,0)},function(he,Oe){he.setMonth(he.getMonth()+Oe)},function(he,Oe){return Oe.getMonth()-he.getMonth()+(Oe.getFullYear()-he.getFullYear())*12},function(he){return he.getMonth()}),U=P.range,B=E(function(he){he.setMonth(0,1),he.setHours(0,0,0,0)},function(he,Oe){he.setFullYear(he.getFullYear()+Oe)},function(he,Oe){return Oe.getFullYear()-he.getFullYear()},function(he){return he.getFullYear()});B.every=function(he){return!isFinite(he=Math.floor(he))||!(he>0)?null:E(function(Oe){Oe.setFullYear(Math.floor(Oe.getFullYear()/he)*he),Oe.setMonth(0,1),Oe.setHours(0,0,0,0)},function(Oe,tt){Oe.setFullYear(Oe.getFullYear()+tt*he)})};var X=B.range,$=E(function(he){he.setUTCSeconds(0,0)},function(he,Oe){he.setTime(+he+Oe*o)},function(he,Oe){return(Oe-he)/o},function(he){return he.getUTCMinutes()}),se=$.range,le=E(function(he){he.setUTCMinutes(0,0,0)},function(he,Oe){he.setTime(+he+Oe*a)},function(he,Oe){return(Oe-he)/a},function(he){return he.getUTCHours()}),fe=le.range,V=E(function(he){he.setUTCHours(0,0,0,0)},function(he,Oe){he.setUTCDate(he.getUTCDate()+Oe)},function(he,Oe){return(Oe-he)/n},function(he){return he.getUTCDate()-1}),Y=V.range;function ee(he){return E(function(Oe){Oe.setUTCDate(Oe.getUTCDate()-(Oe.getUTCDay()+7-he)%7),Oe.setUTCHours(0,0,0,0)},function(Oe,tt){Oe.setUTCDate(Oe.getUTCDate()+tt*7)},function(Oe,tt){return(tt-Oe)/i})}var q=ee(0),oe=ee(1),ae=ee(2),j=ee(3),Q=ee(4),re=ee(5),ce=ee(6),be=q.range,Ae=oe.range,De=ae.range,ze=j.range,Ze=Q.range,at=re.range,nt=ce.range,rt=E(function(he){he.setUTCDate(1),he.setUTCHours(0,0,0,0)},function(he,Oe){he.setUTCMonth(he.getUTCMonth()+Oe)},function(he,Oe){return Oe.getUTCMonth()-he.getUTCMonth()+(Oe.getUTCFullYear()-he.getUTCFullYear())*12},function(he){return he.getUTCMonth()}),st=rt.range,Me=E(function(he){he.setUTCMonth(0,1),he.setUTCHours(0,0,0,0)},function(he,Oe){he.setUTCFullYear(he.getUTCFullYear()+Oe)},function(he,Oe){return Oe.getUTCFullYear()-he.getUTCFullYear()},function(he){return he.getUTCFullYear()});Me.every=function(he){return!isFinite(he=Math.floor(he))||!(he>0)?null:E(function(Oe){Oe.setUTCFullYear(Math.floor(Oe.getUTCFullYear()/he)*he),Oe.setUTCMonth(0,1),Oe.setUTCHours(0,0,0,0)},function(Oe,tt){Oe.setUTCFullYear(Oe.getUTCFullYear()+tt*he)})};var ye=Me.range;v.timeDay=l,v.timeDays=_,v.timeFriday=u,v.timeFridays=N,v.timeHour=p,v.timeHours=T,v.timeInterval=E,v.timeMillisecond=e,v.timeMilliseconds=t,v.timeMinute=c,v.timeMinutes=m,v.timeMonday=M,v.timeMondays=R,v.timeMonth=P,v.timeMonths=U,v.timeSaturday=y,v.timeSaturdays=O,v.timeSecond=s,v.timeSeconds=h,v.timeSunday=A,v.timeSundays=f,v.timeThursday=d,v.timeThursdays=F,v.timeTuesday=g,v.timeTuesdays=L,v.timeWednesday=b,v.timeWednesdays=z,v.timeWeek=A,v.timeWeeks=f,v.timeYear=B,v.timeYears=X,v.utcDay=V,v.utcDays=Y,v.utcFriday=re,v.utcFridays=at,v.utcHour=le,v.utcHours=fe,v.utcMillisecond=e,v.utcMilliseconds=t,v.utcMinute=$,v.utcMinutes=se,v.utcMonday=oe,v.utcMondays=Ae,v.utcMonth=rt,v.utcMonths=st,v.utcSaturday=ce,v.utcSaturdays=nt,v.utcSecond=s,v.utcSeconds=h,v.utcSunday=q,v.utcSundays=be,v.utcThursday=Q,v.utcThursdays=Ze,v.utcTuesday=ae,v.utcTuesdays=De,v.utcWednesday=j,v.utcWednesdays=ze,v.utcWeek=q,v.utcWeeks=be,v.utcYear=Me,v.utcYears=ye,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),Xv=Xe({\"node_modules/d3-time-format/dist/d3-time-format.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z,dd()):(v=v||self,x(v.d3=v.d3||{},v.d3))})(Z,function(v,x){\"use strict\";function S(Ne){if(0<=Ne.y&&Ne.y<100){var Ke=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ke.setFullYear(Ne.y),Ke}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function E(Ne){if(0<=Ne.y&&Ne.y<100){var Ke=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ke.setUTCFullYear(Ne.y),Ke}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function e(Ne,Ke,Te){return{y:Ne,m:Ke,d:Te,H:0,M:0,S:0,L:0}}function t(Ne){var Ke=Ne.dateTime,Te=Ne.date,Ie=Ne.time,Ve=Ne.periods,Ce=Ne.days,Ee=Ne.shortDays,Pe=Ne.months,ft=Ne.shortMonths,ct=h(Ve),_t=c(Ve),Ct=h(Ce),ir=c(Ce),rr=h(Ee),er=c(Ee),Lr=h(Pe),fa=c(Pe),Da=h(ft),Ia=c(ft),qa={a:$a,A:Za,b:ri,B:pi,c:null,d:P,e:P,f:se,H:U,I:B,j:X,L:$,m:le,M:fe,p:Ra,q:tn,Q:It,s:qt,S:V,u:Y,U:ee,V:q,w:oe,W:ae,x:null,X:null,y:j,Y:Q,Z:re,\"%\":Pt},Wa={a:on,A:hn,b:Tt,B:ut,c:null,d:ce,e:ce,f:Ze,H:be,I:Ae,j:De,L:ze,m:at,M:nt,p:Br,q:Cr,Q:It,s:qt,S:rt,u:st,U:Me,V:ye,w:he,W:Oe,x:null,X:null,y:tt,Y:ot,Z:Qe,\"%\":Pt},Ca={a:Yt,A:Jt,b:Fr,B:ta,c:ra,d,e:d,f:z,H:y,I:y,j:u,L,m:b,M:f,p:Ft,q:g,Q:N,s:O,S:R,u:p,U:T,V:l,w:m,W:_,x:ca,X:Ba,y:A,Y:w,Z:M,\"%\":F};qa.x=hi(Te,qa),qa.X=hi(Ie,qa),qa.c=hi(Ke,qa),Wa.x=hi(Te,Wa),Wa.X=hi(Ie,Wa),Wa.c=hi(Ke,Wa);function hi(xr,Ir){return function(Ur){var Hr=[],xt=-1,Xt=0,vr=xr.length,Or,ba,Pa;for(Ur instanceof Date||(Ur=new Date(+Ur));++xt53)return null;\"w\"in Hr||(Hr.w=1),\"Z\"in Hr?(Xt=E(e(Hr.y,0,1)),vr=Xt.getUTCDay(),Xt=vr>4||vr===0?x.utcMonday.ceil(Xt):x.utcMonday(Xt),Xt=x.utcDay.offset(Xt,(Hr.V-1)*7),Hr.y=Xt.getUTCFullYear(),Hr.m=Xt.getUTCMonth(),Hr.d=Xt.getUTCDate()+(Hr.w+6)%7):(Xt=S(e(Hr.y,0,1)),vr=Xt.getDay(),Xt=vr>4||vr===0?x.timeMonday.ceil(Xt):x.timeMonday(Xt),Xt=x.timeDay.offset(Xt,(Hr.V-1)*7),Hr.y=Xt.getFullYear(),Hr.m=Xt.getMonth(),Hr.d=Xt.getDate()+(Hr.w+6)%7)}else(\"W\"in Hr||\"U\"in Hr)&&(\"w\"in Hr||(Hr.w=\"u\"in Hr?Hr.u%7:\"W\"in Hr?1:0),vr=\"Z\"in Hr?E(e(Hr.y,0,1)).getUTCDay():S(e(Hr.y,0,1)).getDay(),Hr.m=0,Hr.d=\"W\"in Hr?(Hr.w+6)%7+Hr.W*7-(vr+5)%7:Hr.w+Hr.U*7-(vr+6)%7);return\"Z\"in Hr?(Hr.H+=Hr.Z/100|0,Hr.M+=Hr.Z%100,E(Hr)):S(Hr)}}function Kt(xr,Ir,Ur,Hr){for(var xt=0,Xt=Ir.length,vr=Ur.length,Or,ba;xt=vr)return-1;if(Or=Ir.charCodeAt(xt++),Or===37){if(Or=Ir.charAt(xt++),ba=Ca[Or in r?Ir.charAt(xt++):Or],!ba||(Hr=ba(xr,Ur,Hr))<0)return-1}else if(Or!=Ur.charCodeAt(Hr++))return-1}return Hr}function Ft(xr,Ir,Ur){var Hr=ct.exec(Ir.slice(Ur));return Hr?(xr.p=_t[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function Yt(xr,Ir,Ur){var Hr=rr.exec(Ir.slice(Ur));return Hr?(xr.w=er[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function Jt(xr,Ir,Ur){var Hr=Ct.exec(Ir.slice(Ur));return Hr?(xr.w=ir[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function Fr(xr,Ir,Ur){var Hr=Da.exec(Ir.slice(Ur));return Hr?(xr.m=Ia[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function ta(xr,Ir,Ur){var Hr=Lr.exec(Ir.slice(Ur));return Hr?(xr.m=fa[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function ra(xr,Ir,Ur){return Kt(xr,Ke,Ir,Ur)}function ca(xr,Ir,Ur){return Kt(xr,Te,Ir,Ur)}function Ba(xr,Ir,Ur){return Kt(xr,Ie,Ir,Ur)}function $a(xr){return Ee[xr.getDay()]}function Za(xr){return Ce[xr.getDay()]}function ri(xr){return ft[xr.getMonth()]}function pi(xr){return Pe[xr.getMonth()]}function Ra(xr){return Ve[+(xr.getHours()>=12)]}function tn(xr){return 1+~~(xr.getMonth()/3)}function on(xr){return Ee[xr.getUTCDay()]}function hn(xr){return Ce[xr.getUTCDay()]}function Tt(xr){return ft[xr.getUTCMonth()]}function ut(xr){return Pe[xr.getUTCMonth()]}function Br(xr){return Ve[+(xr.getUTCHours()>=12)]}function Cr(xr){return 1+~~(xr.getUTCMonth()/3)}return{format:function(xr){var Ir=hi(xr+=\"\",qa);return Ir.toString=function(){return xr},Ir},parse:function(xr){var Ir=wi(xr+=\"\",!1);return Ir.toString=function(){return xr},Ir},utcFormat:function(xr){var Ir=hi(xr+=\"\",Wa);return Ir.toString=function(){return xr},Ir},utcParse:function(xr){var Ir=wi(xr+=\"\",!0);return Ir.toString=function(){return xr},Ir}}}var r={\"-\":\"\",_:\" \",0:\"0\"},o=/^\\s*\\d+/,a=/^%/,n=/[\\\\^$*+?|[\\]().{}]/g;function i(Ne,Ke,Te){var Ie=Ne<0?\"-\":\"\",Ve=(Ie?-Ne:Ne)+\"\",Ce=Ve.length;return Ie+(Ce68?1900:2e3),Te+Ie[0].length):-1}function M(Ne,Ke,Te){var Ie=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ke.slice(Te,Te+6));return Ie?(Ne.Z=Ie[1]?0:-(Ie[2]+(Ie[3]||\"00\")),Te+Ie[0].length):-1}function g(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+1));return Ie?(Ne.q=Ie[0]*3-3,Te+Ie[0].length):-1}function b(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+2));return Ie?(Ne.m=Ie[0]-1,Te+Ie[0].length):-1}function d(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+2));return Ie?(Ne.d=+Ie[0],Te+Ie[0].length):-1}function u(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+3));return Ie?(Ne.m=0,Ne.d=+Ie[0],Te+Ie[0].length):-1}function y(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+2));return Ie?(Ne.H=+Ie[0],Te+Ie[0].length):-1}function f(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+2));return Ie?(Ne.M=+Ie[0],Te+Ie[0].length):-1}function R(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+2));return Ie?(Ne.S=+Ie[0],Te+Ie[0].length):-1}function L(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+3));return Ie?(Ne.L=+Ie[0],Te+Ie[0].length):-1}function z(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te,Te+6));return Ie?(Ne.L=Math.floor(Ie[0]/1e3),Te+Ie[0].length):-1}function F(Ne,Ke,Te){var Ie=a.exec(Ke.slice(Te,Te+1));return Ie?Te+Ie[0].length:-1}function N(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te));return Ie?(Ne.Q=+Ie[0],Te+Ie[0].length):-1}function O(Ne,Ke,Te){var Ie=o.exec(Ke.slice(Te));return Ie?(Ne.s=+Ie[0],Te+Ie[0].length):-1}function P(Ne,Ke){return i(Ne.getDate(),Ke,2)}function U(Ne,Ke){return i(Ne.getHours(),Ke,2)}function B(Ne,Ke){return i(Ne.getHours()%12||12,Ke,2)}function X(Ne,Ke){return i(1+x.timeDay.count(x.timeYear(Ne),Ne),Ke,3)}function $(Ne,Ke){return i(Ne.getMilliseconds(),Ke,3)}function se(Ne,Ke){return $(Ne,Ke)+\"000\"}function le(Ne,Ke){return i(Ne.getMonth()+1,Ke,2)}function fe(Ne,Ke){return i(Ne.getMinutes(),Ke,2)}function V(Ne,Ke){return i(Ne.getSeconds(),Ke,2)}function Y(Ne){var Ke=Ne.getDay();return Ke===0?7:Ke}function ee(Ne,Ke){return i(x.timeSunday.count(x.timeYear(Ne)-1,Ne),Ke,2)}function q(Ne,Ke){var Te=Ne.getDay();return Ne=Te>=4||Te===0?x.timeThursday(Ne):x.timeThursday.ceil(Ne),i(x.timeThursday.count(x.timeYear(Ne),Ne)+(x.timeYear(Ne).getDay()===4),Ke,2)}function oe(Ne){return Ne.getDay()}function ae(Ne,Ke){return i(x.timeMonday.count(x.timeYear(Ne)-1,Ne),Ke,2)}function j(Ne,Ke){return i(Ne.getFullYear()%100,Ke,2)}function Q(Ne,Ke){return i(Ne.getFullYear()%1e4,Ke,4)}function re(Ne){var Ke=Ne.getTimezoneOffset();return(Ke>0?\"-\":(Ke*=-1,\"+\"))+i(Ke/60|0,\"0\",2)+i(Ke%60,\"0\",2)}function ce(Ne,Ke){return i(Ne.getUTCDate(),Ke,2)}function be(Ne,Ke){return i(Ne.getUTCHours(),Ke,2)}function Ae(Ne,Ke){return i(Ne.getUTCHours()%12||12,Ke,2)}function De(Ne,Ke){return i(1+x.utcDay.count(x.utcYear(Ne),Ne),Ke,3)}function ze(Ne,Ke){return i(Ne.getUTCMilliseconds(),Ke,3)}function Ze(Ne,Ke){return ze(Ne,Ke)+\"000\"}function at(Ne,Ke){return i(Ne.getUTCMonth()+1,Ke,2)}function nt(Ne,Ke){return i(Ne.getUTCMinutes(),Ke,2)}function rt(Ne,Ke){return i(Ne.getUTCSeconds(),Ke,2)}function st(Ne){var Ke=Ne.getUTCDay();return Ke===0?7:Ke}function Me(Ne,Ke){return i(x.utcSunday.count(x.utcYear(Ne)-1,Ne),Ke,2)}function ye(Ne,Ke){var Te=Ne.getUTCDay();return Ne=Te>=4||Te===0?x.utcThursday(Ne):x.utcThursday.ceil(Ne),i(x.utcThursday.count(x.utcYear(Ne),Ne)+(x.utcYear(Ne).getUTCDay()===4),Ke,2)}function he(Ne){return Ne.getUTCDay()}function Oe(Ne,Ke){return i(x.utcMonday.count(x.utcYear(Ne)-1,Ne),Ke,2)}function tt(Ne,Ke){return i(Ne.getUTCFullYear()%100,Ke,2)}function ot(Ne,Ke){return i(Ne.getUTCFullYear()%1e4,Ke,4)}function Qe(){return\"+0000\"}function Pt(){return\"%\"}function It(Ne){return+Ne}function qt(Ne){return Math.floor(+Ne/1e3)}var Wt;kr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",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 kr(Ne){return Wt=t(Ne),v.timeFormat=Wt.format,v.timeParse=Wt.parse,v.utcFormat=Wt.utcFormat,v.utcParse=Wt.utcParse,Wt}var mr=\"%Y-%m-%dT%H:%M:%S.%LZ\";function qr(Ne){return Ne.toISOString()}var Sr=Date.prototype.toISOString?qr:v.utcFormat(mr);function Rr(Ne){var Ke=new Date(Ne);return isNaN(Ke)?null:Ke}var wt=+new Date(\"2000-01-01T00:00:00.000Z\")?Rr:v.utcParse(mr);v.isoFormat=Sr,v.isoParse=wt,v.timeFormatDefaultLocale=kr,v.timeFormatLocale=t,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),YA=Xe({\"node_modules/d3-format/dist/d3-format.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z):(v=typeof globalThis<\"u\"?globalThis:v||self,x(v.d3=v.d3||{}))})(Z,function(v){\"use strict\";function x(b){return Math.abs(b=Math.round(b))>=1e21?b.toLocaleString(\"en\").replace(/,/g,\"\"):b.toString(10)}function S(b,d){if((u=(b=d?b.toExponential(d-1):b.toExponential()).indexOf(\"e\"))<0)return null;var u,y=b.slice(0,u);return[y.length>1?y[0]+y.slice(2):y,+b.slice(u+1)]}function E(b){return b=S(Math.abs(b)),b?b[1]:NaN}function e(b,d){return function(u,y){for(var f=u.length,R=[],L=0,z=b[0],F=0;f>0&&z>0&&(F+z+1>y&&(z=Math.max(1,y-F)),R.push(u.substring(f-=z,f+z)),!((F+=z+1)>y));)z=b[L=(L+1)%b.length];return R.reverse().join(d)}}function t(b){return function(d){return d.replace(/[0-9]/g,function(u){return b[+u]})}}var r=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function o(b){if(!(d=r.exec(b)))throw new Error(\"invalid format: \"+b);var d;return new a({fill:d[1],align:d[2],sign:d[3],symbol:d[4],zero:d[5],width:d[6],comma:d[7],precision:d[8]&&d[8].slice(1),trim:d[9],type:d[10]})}o.prototype=a.prototype;function a(b){this.fill=b.fill===void 0?\" \":b.fill+\"\",this.align=b.align===void 0?\">\":b.align+\"\",this.sign=b.sign===void 0?\"-\":b.sign+\"\",this.symbol=b.symbol===void 0?\"\":b.symbol+\"\",this.zero=!!b.zero,this.width=b.width===void 0?void 0:+b.width,this.comma=!!b.comma,this.precision=b.precision===void 0?void 0:+b.precision,this.trim=!!b.trim,this.type=b.type===void 0?\"\":b.type+\"\"}a.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function n(b){e:for(var d=b.length,u=1,y=-1,f;u0&&(y=0);break}return y>0?b.slice(0,y)+b.slice(f+1):b}var i;function s(b,d){var u=S(b,d);if(!u)return b+\"\";var y=u[0],f=u[1],R=f-(i=Math.max(-8,Math.min(8,Math.floor(f/3)))*3)+1,L=y.length;return R===L?y:R>L?y+new Array(R-L+1).join(\"0\"):R>0?y.slice(0,R)+\".\"+y.slice(R):\"0.\"+new Array(1-R).join(\"0\")+S(b,Math.max(0,d+R-1))[0]}function h(b,d){var u=S(b,d);if(!u)return b+\"\";var y=u[0],f=u[1];return f<0?\"0.\"+new Array(-f).join(\"0\")+y:y.length>f+1?y.slice(0,f+1)+\".\"+y.slice(f+1):y+new Array(f-y.length+2).join(\"0\")}var c={\"%\":function(b,d){return(b*100).toFixed(d)},b:function(b){return Math.round(b).toString(2)},c:function(b){return b+\"\"},d:x,e:function(b,d){return b.toExponential(d)},f:function(b,d){return b.toFixed(d)},g:function(b,d){return b.toPrecision(d)},o:function(b){return Math.round(b).toString(8)},p:function(b,d){return h(b*100,d)},r:h,s,X:function(b){return Math.round(b).toString(16).toUpperCase()},x:function(b){return Math.round(b).toString(16)}};function m(b){return b}var p=Array.prototype.map,T=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function l(b){var d=b.grouping===void 0||b.thousands===void 0?m:e(p.call(b.grouping,Number),b.thousands+\"\"),u=b.currency===void 0?\"\":b.currency[0]+\"\",y=b.currency===void 0?\"\":b.currency[1]+\"\",f=b.decimal===void 0?\".\":b.decimal+\"\",R=b.numerals===void 0?m:t(p.call(b.numerals,String)),L=b.percent===void 0?\"%\":b.percent+\"\",z=b.minus===void 0?\"-\":b.minus+\"\",F=b.nan===void 0?\"NaN\":b.nan+\"\";function N(P){P=o(P);var U=P.fill,B=P.align,X=P.sign,$=P.symbol,se=P.zero,le=P.width,fe=P.comma,V=P.precision,Y=P.trim,ee=P.type;ee===\"n\"?(fe=!0,ee=\"g\"):c[ee]||(V===void 0&&(V=12),Y=!0,ee=\"g\"),(se||U===\"0\"&&B===\"=\")&&(se=!0,U=\"0\",B=\"=\");var q=$===\"$\"?u:$===\"#\"&&/[boxX]/.test(ee)?\"0\"+ee.toLowerCase():\"\",oe=$===\"$\"?y:/[%p]/.test(ee)?L:\"\",ae=c[ee],j=/[defgprs%]/.test(ee);V=V===void 0?6:/[gprs]/.test(ee)?Math.max(1,Math.min(21,V)):Math.max(0,Math.min(20,V));function Q(re){var ce=q,be=oe,Ae,De,ze;if(ee===\"c\")be=ae(re)+be,re=\"\";else{re=+re;var Ze=re<0||1/re<0;if(re=isNaN(re)?F:ae(Math.abs(re),V),Y&&(re=n(re)),Ze&&+re==0&&X!==\"+\"&&(Ze=!1),ce=(Ze?X===\"(\"?X:z:X===\"-\"||X===\"(\"?\"\":X)+ce,be=(ee===\"s\"?T[8+i/3]:\"\")+be+(Ze&&X===\"(\"?\")\":\"\"),j){for(Ae=-1,De=re.length;++Aeze||ze>57){be=(ze===46?f+re.slice(Ae+1):re.slice(Ae))+be,re=re.slice(0,Ae);break}}}fe&&!se&&(re=d(re,1/0));var at=ce.length+re.length+be.length,nt=at>1)+ce+re+be+nt.slice(at);break;default:re=nt+ce+re+be;break}return R(re)}return Q.toString=function(){return P+\"\"},Q}function O(P,U){var B=N((P=o(P),P.type=\"f\",P)),X=Math.max(-8,Math.min(8,Math.floor(E(U)/3)))*3,$=Math.pow(10,-X),se=T[8+X/3];return function(le){return B($*le)+se}}return{format:N,formatPrefix:O}}var _;w({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function w(b){return _=l(b),v.format=_.format,v.formatPrefix=_.formatPrefix,_}function A(b){return Math.max(0,-E(Math.abs(b)))}function M(b,d){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(E(d)/3)))*3-E(Math.abs(b)))}function g(b,d){return b=Math.abs(b),d=Math.abs(d)-b,Math.max(0,E(d)-E(b))+1}v.FormatSpecifier=a,v.formatDefaultLocale=w,v.formatLocale=l,v.formatSpecifier=o,v.precisionFixed=A,v.precisionPrefix=M,v.precisionRound=g,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),l7=Xe({\"node_modules/is-string-blank/index.js\"(Z,G){\"use strict\";G.exports=function(v){for(var x=v.length,S,E=0;E13)&&S!==32&&S!==133&&S!==160&&S!==5760&&S!==6158&&(S<8192||S>8205)&&S!==8232&&S!==8233&&S!==8239&&S!==8287&&S!==8288&&S!==12288&&S!==65279)return!1;return!0}}}),rs=Xe({\"node_modules/fast-isnumeric/index.js\"(Z,G){\"use strict\";var v=l7();G.exports=function(x){var S=typeof x;if(S===\"string\"){var E=x;if(x=+x,x===0&&v(E))return!1}else if(S!==\"number\")return!1;return x-x<1}}}),Hs=Xe({\"src/constants/numerical.js\"(Z,G){\"use strict\";G.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}}}),KA=Xe({\"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z):(v=typeof globalThis<\"u\"?globalThis:v||self,x(v[\"base64-arraybuffer\"]={}))})(Z,function(v){\"use strict\";for(var x=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",S=typeof Uint8Array>\"u\"?[]:new Uint8Array(256),E=0;E>2],i+=x[(o[a]&3)<<4|o[a+1]>>4],i+=x[(o[a+1]&15)<<2|o[a+2]>>6],i+=x[o[a+2]&63];return n%3===2?i=i.substring(0,i.length-1)+\"=\":n%3===1&&(i=i.substring(0,i.length-2)+\"==\"),i},t=function(r){var o=r.length*.75,a=r.length,n,i=0,s,h,c,m;r[r.length-1]===\"=\"&&(o--,r[r.length-2]===\"=\"&&o--);var p=new ArrayBuffer(o),T=new Uint8Array(p);for(n=0;n>4,T[i++]=(h&15)<<4|c>>2,T[i++]=(c&3)<<6|m&63;return p};v.decode=t,v.encode=e,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),Zv=Xe({\"src/lib/is_plain_object.js\"(Z,G){\"use strict\";G.exports=function(x){return window&&window.process&&window.process.versions?Object.prototype.toString.call(x)===\"[object Object]\":Object.prototype.toString.call(x)===\"[object Object]\"&&Object.getPrototypeOf(x).hasOwnProperty(\"hasOwnProperty\")}}}),bp=Xe({\"src/lib/array.js\"(Z){\"use strict\";var G=KA().decode,v=Zv(),x=Array.isArray,S=ArrayBuffer,E=DataView;function e(s){return S.isView(s)&&!(s instanceof E)}Z.isTypedArray=e;function t(s){return x(s)||e(s)}Z.isArrayOrTypedArray=t;function r(s){return!t(s[0])}Z.isArray1D=r,Z.ensureArray=function(s,h){return x(s)||(s=[]),s.length=h,s};var o={u1c:typeof Uint8ClampedArray>\"u\"?void 0:Uint8ClampedArray,i1:typeof Int8Array>\"u\"?void 0:Int8Array,u1:typeof Uint8Array>\"u\"?void 0:Uint8Array,i2:typeof Int16Array>\"u\"?void 0:Int16Array,u2:typeof Uint16Array>\"u\"?void 0:Uint16Array,i4:typeof Int32Array>\"u\"?void 0:Int32Array,u4:typeof Uint32Array>\"u\"?void 0:Uint32Array,f4:typeof Float32Array>\"u\"?void 0:Float32Array,f8:typeof Float64Array>\"u\"?void 0:Float64Array};o.uint8c=o.u1c,o.uint8=o.u1,o.int8=o.i1,o.uint16=o.u2,o.int16=o.i2,o.uint32=o.u4,o.int32=o.i4,o.float32=o.f4,o.float64=o.f8;function a(s){return s.constructor===ArrayBuffer}Z.isArrayBuffer=a,Z.decodeTypedArraySpec=function(s){var h=[],c=n(s),m=c.dtype,p=o[m];if(!p)throw new Error('Error in dtype: \"'+m+'\"');var T=p.BYTES_PER_ELEMENT,l=c.bdata;a(l)||(l=G(l));var _=c.shape===void 0?[l.byteLength/T]:(\"\"+c.shape).split(\",\");_.reverse();var w=_.length,A,M,g=+_[0],b=T*g,d=0;if(w===1)h=new p(l);else if(w===2)for(A=+_[1],M=0;M2)return p[A]=p[A]|e,_.set(w,null);if(l){for(h=A;h0)return Math.log(S)/Math.LN10;var e=Math.log(Math.min(E[0],E[1]))/Math.LN10;return v(e)||(e=Math.log(Math.max(E[0],E[1]))/Math.LN10-6),e}}}),f7=Xe({\"src/lib/relink_private.js\"(Z,G){\"use strict\";var v=bp().isArrayOrTypedArray,x=Zv();G.exports=function S(E,e){for(var t in e){var r=e[t],o=E[t];if(o!==r)if(t.charAt(0)===\"_\"||typeof r==\"function\"){if(t in E)continue;E[t]=r}else if(v(r)&&v(o)&&x(r[0])){if(t===\"customdata\"||t===\"ids\")continue;for(var a=Math.min(r.length,o.length),n=0;nE/2?S-Math.round(S/E)*E:S}G.exports={mod:v,modHalf:x}}}),Ch=Xe({\"node_modules/tinycolor2/tinycolor.js\"(Z,G){(function(v){var x=/^\\s+/,S=/\\s+$/,E=0,e=v.round,t=v.min,r=v.max,o=v.random;function a(j,Q){if(j=j||\"\",Q=Q||{},j instanceof a)return j;if(!(this instanceof a))return new a(j,Q);var re=n(j);this._originalInput=j,this._r=re.r,this._g=re.g,this._b=re.b,this._a=re.a,this._roundA=e(100*this._a)/100,this._format=Q.format||re.format,this._gradientType=Q.gradientType,this._r<1&&(this._r=e(this._r)),this._g<1&&(this._g=e(this._g)),this._b<1&&(this._b=e(this._b)),this._ok=re.ok,this._tc_id=E++}a.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 j=this.toRgb();return(j.r*299+j.g*587+j.b*114)/1e3},getLuminance:function(){var j=this.toRgb(),Q,re,ce,be,Ae,De;return Q=j.r/255,re=j.g/255,ce=j.b/255,Q<=.03928?be=Q/12.92:be=v.pow((Q+.055)/1.055,2.4),re<=.03928?Ae=re/12.92:Ae=v.pow((re+.055)/1.055,2.4),ce<=.03928?De=ce/12.92:De=v.pow((ce+.055)/1.055,2.4),.2126*be+.7152*Ae+.0722*De},setAlpha:function(j){return this._a=P(j),this._roundA=e(100*this._a)/100,this},toHsv:function(){var j=c(this._r,this._g,this._b);return{h:j.h*360,s:j.s,v:j.v,a:this._a}},toHsvString:function(){var j=c(this._r,this._g,this._b),Q=e(j.h*360),re=e(j.s*100),ce=e(j.v*100);return this._a==1?\"hsv(\"+Q+\", \"+re+\"%, \"+ce+\"%)\":\"hsva(\"+Q+\", \"+re+\"%, \"+ce+\"%, \"+this._roundA+\")\"},toHsl:function(){var j=s(this._r,this._g,this._b);return{h:j.h*360,s:j.s,l:j.l,a:this._a}},toHslString:function(){var j=s(this._r,this._g,this._b),Q=e(j.h*360),re=e(j.s*100),ce=e(j.l*100);return this._a==1?\"hsl(\"+Q+\", \"+re+\"%, \"+ce+\"%)\":\"hsla(\"+Q+\", \"+re+\"%, \"+ce+\"%, \"+this._roundA+\")\"},toHex:function(j){return p(this._r,this._g,this._b,j)},toHexString:function(j){return\"#\"+this.toHex(j)},toHex8:function(j){return T(this._r,this._g,this._b,this._a,j)},toHex8String:function(j){return\"#\"+this.toHex8(j)},toRgb:function(){return{r:e(this._r),g:e(this._g),b:e(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+e(this._r)+\", \"+e(this._g)+\", \"+e(this._b)+\")\":\"rgba(\"+e(this._r)+\", \"+e(this._g)+\", \"+e(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:e(U(this._r,255)*100)+\"%\",g:e(U(this._g,255)*100)+\"%\",b:e(U(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+e(U(this._r,255)*100)+\"%, \"+e(U(this._g,255)*100)+\"%, \"+e(U(this._b,255)*100)+\"%)\":\"rgba(\"+e(U(this._r,255)*100)+\"%, \"+e(U(this._g,255)*100)+\"%, \"+e(U(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:N[p(this._r,this._g,this._b,!0)]||!1},toFilter:function(j){var Q=\"#\"+l(this._r,this._g,this._b,this._a),re=Q,ce=this._gradientType?\"GradientType = 1, \":\"\";if(j){var be=a(j);re=\"#\"+l(be._r,be._g,be._b,be._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+ce+\"startColorstr=\"+Q+\",endColorstr=\"+re+\")\"},toString:function(j){var Q=!!j;j=j||this._format;var re=!1,ce=this._a<1&&this._a>=0,be=!Q&&ce&&(j===\"hex\"||j===\"hex6\"||j===\"hex3\"||j===\"hex4\"||j===\"hex8\"||j===\"name\");return be?j===\"name\"&&this._a===0?this.toName():this.toRgbString():(j===\"rgb\"&&(re=this.toRgbString()),j===\"prgb\"&&(re=this.toPercentageRgbString()),(j===\"hex\"||j===\"hex6\")&&(re=this.toHexString()),j===\"hex3\"&&(re=this.toHexString(!0)),j===\"hex4\"&&(re=this.toHex8String(!0)),j===\"hex8\"&&(re=this.toHex8String()),j===\"name\"&&(re=this.toName()),j===\"hsl\"&&(re=this.toHslString()),j===\"hsv\"&&(re=this.toHsvString()),re||this.toHexString())},clone:function(){return a(this.toString())},_applyModification:function(j,Q){var re=j.apply(null,[this].concat([].slice.call(Q)));return this._r=re._r,this._g=re._g,this._b=re._b,this.setAlpha(re._a),this},lighten:function(){return this._applyModification(M,arguments)},brighten:function(){return this._applyModification(g,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(_,arguments)},saturate:function(){return this._applyModification(w,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(d,arguments)},_applyCombination:function(j,Q){return j.apply(null,[this].concat([].slice.call(Q)))},analogous:function(){return this._applyCombination(L,arguments)},complement:function(){return this._applyCombination(u,arguments)},monochromatic:function(){return this._applyCombination(z,arguments)},splitcomplement:function(){return this._applyCombination(R,arguments)},triad:function(){return this._applyCombination(y,arguments)},tetrad:function(){return this._applyCombination(f,arguments)}},a.fromRatio=function(j,Q){if(typeof j==\"object\"){var re={};for(var ce in j)j.hasOwnProperty(ce)&&(ce===\"a\"?re[ce]=j[ce]:re[ce]=fe(j[ce]));j=re}return a(j,Q)};function n(j){var Q={r:0,g:0,b:0},re=1,ce=null,be=null,Ae=null,De=!1,ze=!1;return typeof j==\"string\"&&(j=oe(j)),typeof j==\"object\"&&(q(j.r)&&q(j.g)&&q(j.b)?(Q=i(j.r,j.g,j.b),De=!0,ze=String(j.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):q(j.h)&&q(j.s)&&q(j.v)?(ce=fe(j.s),be=fe(j.v),Q=m(j.h,ce,be),De=!0,ze=\"hsv\"):q(j.h)&&q(j.s)&&q(j.l)&&(ce=fe(j.s),Ae=fe(j.l),Q=h(j.h,ce,Ae),De=!0,ze=\"hsl\"),j.hasOwnProperty(\"a\")&&(re=j.a)),re=P(re),{ok:De,format:j.format||ze,r:t(255,r(Q.r,0)),g:t(255,r(Q.g,0)),b:t(255,r(Q.b,0)),a:re}}function i(j,Q,re){return{r:U(j,255)*255,g:U(Q,255)*255,b:U(re,255)*255}}function s(j,Q,re){j=U(j,255),Q=U(Q,255),re=U(re,255);var ce=r(j,Q,re),be=t(j,Q,re),Ae,De,ze=(ce+be)/2;if(ce==be)Ae=De=0;else{var Ze=ce-be;switch(De=ze>.5?Ze/(2-ce-be):Ze/(ce+be),ce){case j:Ae=(Q-re)/Ze+(Q1&&(rt-=1),rt<1/6?at+(nt-at)*6*rt:rt<1/2?nt:rt<2/3?at+(nt-at)*(2/3-rt)*6:at}if(Q===0)ce=be=Ae=re;else{var ze=re<.5?re*(1+Q):re+Q-re*Q,Ze=2*re-ze;ce=De(Ze,ze,j+1/3),be=De(Ze,ze,j),Ae=De(Ze,ze,j-1/3)}return{r:ce*255,g:be*255,b:Ae*255}}function c(j,Q,re){j=U(j,255),Q=U(Q,255),re=U(re,255);var ce=r(j,Q,re),be=t(j,Q,re),Ae,De,ze=ce,Ze=ce-be;if(De=ce===0?0:Ze/ce,ce==be)Ae=0;else{switch(ce){case j:Ae=(Q-re)/Ze+(Q>1)+720)%360;--Q;)ce.h=(ce.h+be)%360,Ae.push(a(ce));return Ae}function z(j,Q){Q=Q||6;for(var re=a(j).toHsv(),ce=re.h,be=re.s,Ae=re.v,De=[],ze=1/Q;Q--;)De.push(a({h:ce,s:be,v:Ae})),Ae=(Ae+ze)%1;return De}a.mix=function(j,Q,re){re=re===0?0:re||50;var ce=a(j).toRgb(),be=a(Q).toRgb(),Ae=re/100,De={r:(be.r-ce.r)*Ae+ce.r,g:(be.g-ce.g)*Ae+ce.g,b:(be.b-ce.b)*Ae+ce.b,a:(be.a-ce.a)*Ae+ce.a};return a(De)},a.readability=function(j,Q){var re=a(j),ce=a(Q);return(v.max(re.getLuminance(),ce.getLuminance())+.05)/(v.min(re.getLuminance(),ce.getLuminance())+.05)},a.isReadable=function(j,Q,re){var ce=a.readability(j,Q),be,Ae;switch(Ae=!1,be=ae(re),be.level+be.size){case\"AAsmall\":case\"AAAlarge\":Ae=ce>=4.5;break;case\"AAlarge\":Ae=ce>=3;break;case\"AAAsmall\":Ae=ce>=7;break}return Ae},a.mostReadable=function(j,Q,re){var ce=null,be=0,Ae,De,ze,Ze;re=re||{},De=re.includeFallbackColors,ze=re.level,Ze=re.size;for(var at=0;atbe&&(be=Ae,ce=a(Q[at]));return a.isReadable(j,ce,{level:ze,size:Ze})||!De?ce:(re.includeFallbackColors=!1,a.mostReadable(j,[\"#fff\",\"#000\"],re))};var F=a.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\"},N=a.hexNames=O(F);function O(j){var Q={};for(var re in j)j.hasOwnProperty(re)&&(Q[j[re]]=re);return Q}function P(j){return j=parseFloat(j),(isNaN(j)||j<0||j>1)&&(j=1),j}function U(j,Q){$(j)&&(j=\"100%\");var re=se(j);return j=t(Q,r(0,parseFloat(j))),re&&(j=parseInt(j*Q,10)/100),v.abs(j-Q)<1e-6?1:j%Q/parseFloat(Q)}function B(j){return t(1,r(0,j))}function X(j){return parseInt(j,16)}function $(j){return typeof j==\"string\"&&j.indexOf(\".\")!=-1&&parseFloat(j)===1}function se(j){return typeof j==\"string\"&&j.indexOf(\"%\")!=-1}function le(j){return j.length==1?\"0\"+j:\"\"+j}function fe(j){return j<=1&&(j=j*100+\"%\"),j}function V(j){return v.round(parseFloat(j)*255).toString(16)}function Y(j){return X(j)/255}var ee=function(){var j=\"[-\\\\+]?\\\\d+%?\",Q=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",re=\"(?:\"+Q+\")|(?:\"+j+\")\",ce=\"[\\\\s|\\\\(]+(\"+re+\")[,|\\\\s]+(\"+re+\")[,|\\\\s]+(\"+re+\")\\\\s*\\\\)?\",be=\"[\\\\s|\\\\(]+(\"+re+\")[,|\\\\s]+(\"+re+\")[,|\\\\s]+(\"+re+\")[,|\\\\s]+(\"+re+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(re),rgb:new RegExp(\"rgb\"+ce),rgba:new RegExp(\"rgba\"+be),hsl:new RegExp(\"hsl\"+ce),hsla:new RegExp(\"hsla\"+be),hsv:new RegExp(\"hsv\"+ce),hsva:new RegExp(\"hsva\"+be),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 q(j){return!!ee.CSS_UNIT.exec(j)}function oe(j){j=j.replace(x,\"\").replace(S,\"\").toLowerCase();var Q=!1;if(F[j])j=F[j],Q=!0;else if(j==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var re;return(re=ee.rgb.exec(j))?{r:re[1],g:re[2],b:re[3]}:(re=ee.rgba.exec(j))?{r:re[1],g:re[2],b:re[3],a:re[4]}:(re=ee.hsl.exec(j))?{h:re[1],s:re[2],l:re[3]}:(re=ee.hsla.exec(j))?{h:re[1],s:re[2],l:re[3],a:re[4]}:(re=ee.hsv.exec(j))?{h:re[1],s:re[2],v:re[3]}:(re=ee.hsva.exec(j))?{h:re[1],s:re[2],v:re[3],a:re[4]}:(re=ee.hex8.exec(j))?{r:X(re[1]),g:X(re[2]),b:X(re[3]),a:Y(re[4]),format:Q?\"name\":\"hex8\"}:(re=ee.hex6.exec(j))?{r:X(re[1]),g:X(re[2]),b:X(re[3]),format:Q?\"name\":\"hex\"}:(re=ee.hex4.exec(j))?{r:X(re[1]+\"\"+re[1]),g:X(re[2]+\"\"+re[2]),b:X(re[3]+\"\"+re[3]),a:Y(re[4]+\"\"+re[4]),format:Q?\"name\":\"hex8\"}:(re=ee.hex3.exec(j))?{r:X(re[1]+\"\"+re[1]),g:X(re[2]+\"\"+re[2]),b:X(re[3]+\"\"+re[3]),format:Q?\"name\":\"hex\"}:!1}function ae(j){var Q,re;return j=j||{level:\"AA\",size:\"small\"},Q=(j.level||\"AA\").toUpperCase(),re=(j.size||\"small\").toLowerCase(),Q!==\"AA\"&&Q!==\"AAA\"&&(Q=\"AA\"),re!==\"small\"&&re!==\"large\"&&(re=\"small\"),{level:Q,size:re}}typeof G<\"u\"&&G.exports?G.exports=a:window.tinycolor=a})(Math)}}),Qo=Xe({\"src/lib/extend.js\"(Z){\"use strict\";var G=Zv(),v=Array.isArray;function x(E,e){var t,r;for(t=0;t=0)))return a;if(c===3)s[c]>1&&(s[c]=1);else if(s[c]>=1)return a}var m=Math.round(s[0]*255)+\", \"+Math.round(s[1]*255)+\", \"+Math.round(s[2]*255);return h?\"rgba(\"+m+\", \"+s[3]+\")\":\"rgb(\"+m+\")\"}}}),Ym=Xe({\"src/constants/interactions.js\"(Z,G){\"use strict\";G.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}}}),Jy=Xe({\"src/lib/regex.js\"(Z){\"use strict\";Z.counter=function(G,v,x,S){var E=(v||\"\")+(x?\"\":\"$\"),e=S===!1?\"\":\"^\";return G===\"xy\"?new RegExp(e+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+E):new RegExp(e+G+\"([2-9]|[1-9][0-9]+)?\"+E)}}}),h7=Xe({\"src/lib/coerce.js\"(Z){\"use strict\";var G=rs(),v=Ch(),x=Qo().extendFlat,S=ru(),E=W0(),e=$n(),t=Ym().DESELECTDIM,r=b_(),o=Jy().counter,a=Yy().modHalf,n=bp().isArrayOrTypedArray,i=bp().isTypedArraySpec,s=bp().decodeTypedArraySpec;Z.valObjectMeta={data_array:{coerceFunction:function(c,m,p){m.set(n(c)?c:i(c)?s(c):p)}},enumerated:{coerceFunction:function(c,m,p,T){T.coerceNumber&&(c=+c),T.values.indexOf(c)===-1?m.set(p):m.set(c)},validateFunction:function(c,m){m.coerceNumber&&(c=+c);for(var p=m.values,T=0;T_===!0||_===!1;l(c)||T.arrayOk&&Array.isArray(c)&&c.length>0&&c.every(l)?m.set(c):m.set(p)}},number:{coerceFunction:function(c,m,p,T){i(c)&&(c=s(c)),!G(c)||T.min!==void 0&&cT.max?m.set(p):m.set(+c)}},integer:{coerceFunction:function(c,m,p,T){if((T.extras||[]).indexOf(c)!==-1){m.set(c);return}i(c)&&(c=s(c)),c%1||!G(c)||T.min!==void 0&&cT.max?m.set(p):m.set(+c)}},string:{coerceFunction:function(c,m,p,T){if(typeof c!=\"string\"){var l=typeof c==\"number\";T.strict===!0||!l?m.set(p):m.set(String(c))}else T.noBlank&&!c?m.set(p):m.set(c)}},color:{coerceFunction:function(c,m,p){i(c)&&(c=s(c)),v(c).isValid()?m.set(c):m.set(p)}},colorlist:{coerceFunction:function(c,m,p){function T(l){return v(l).isValid()}!Array.isArray(c)||!c.length?m.set(p):c.every(T)?m.set(c):m.set(p)}},colorscale:{coerceFunction:function(c,m,p){m.set(E.get(c,p))}},angle:{coerceFunction:function(c,m,p){i(c)&&(c=s(c)),c===\"auto\"?m.set(\"auto\"):G(c)?m.set(a(+c,360)):m.set(p)}},subplotid:{coerceFunction:function(c,m,p,T){var l=T.regex||o(p);let _=w=>typeof w==\"string\"&&l.test(w);_(c)||T.arrayOk&&n(c)&&c.length>0&&c.every(_)?m.set(c):m.set(p)},validateFunction:function(c,m){var p=m.dflt;return c===p?!0:typeof c!=\"string\"?!1:!!o(p).test(c)}},flaglist:{coerceFunction:function(c,m,p,T){if((T.extras||[]).indexOf(c)!==-1){m.set(c);return}if(typeof c!=\"string\"){m.set(p);return}for(var l=c.split(\"+\"),_=0;_/g),c=0;c1){var e=[\"LOG:\"];for(E=0;E1){var t=[];for(E=0;E\"),\"long\")}},S.warn=function(){var E;if(v.logging>0){var e=[\"WARN:\"];for(E=0;E0){var t=[];for(E=0;E\"),\"stick\")}},S.error=function(){var E;if(v.logging>0){var e=[\"ERROR:\"];for(E=0;E0){var t=[];for(E=0;E\"),\"stick\")}}}}),p2=Xe({\"src/lib/noop.js\"(Z,G){\"use strict\";G.exports=function(){}}}),$A=Xe({\"src/lib/push_unique.js\"(Z,G){\"use strict\";G.exports=function(x,S){if(S instanceof RegExp){for(var E=S.toString(),e=0;eTo({valType:\"string\",dflt:\"\",editType:E},e!==!1?{arrayOk:!0}:{}),Z.texttemplateAttrs=({editType:E=\"calc\",arrayOk:e}={},t={})=>To({valType:\"string\",dflt:\"\",editType:E},e!==!1?{arrayOk:!0}:{}),Z.shapeTexttemplateAttrs=({editType:E=\"arraydraw\",newshape:e}={},t={})=>({valType:\"string\",dflt:\"\",editType:E}),Z.templatefallbackAttrs=({editType:E=\"none\"}={})=>({valType:\"any\",dflt:\"-\",editType:E})}}),v2=Xe({\"src/components/shapes/label_texttemplate.js\"(Z,G){\"use strict\";function v(A,M){return M?M.d2l(A):A}function x(A,M){return M?M.l2d(A):A}function S(A){return A.x0}function E(A){return A.x1}function e(A){return A.y0}function t(A){return A.y1}function r(A){return A.x0shift||0}function o(A){return A.x1shift||0}function a(A){return A.y0shift||0}function n(A){return A.y1shift||0}function i(A,M){return v(A.x1,M)+o(A)-v(A.x0,M)-r(A)}function s(A,M,g){return v(A.y1,g)+n(A)-v(A.y0,g)-a(A)}function h(A,M){return Math.abs(i(A,M))}function c(A,M,g){return Math.abs(s(A,M,g))}function m(A,M,g){return A.type!==\"line\"?void 0:Math.sqrt(Math.pow(i(A,M),2)+Math.pow(s(A,M,g),2))}function p(A,M){return x((v(A.x1,M)+o(A)+v(A.x0,M)+r(A))/2,M)}function T(A,M,g){return x((v(A.y1,g)+n(A)+v(A.y0,g)+a(A))/2,g)}function l(A,M,g){return A.type!==\"line\"?void 0:s(A,M,g)/i(A,M)}var _=[\"x0\",\"x1\",\"y0\",\"y1\",\"dy\",\"height\",\"ycenter\"],w=[\"x0\",\"x1\",\"y0\",\"y1\",\"dx\",\"width\",\"xcenter\"];G.exports={x0:S,x1:E,y0:e,y1:t,slope:l,dx:i,dy:s,width:h,height:c,length:m,xcenter:p,ycenter:T,simpleXVariables:_,simpleYVariables:w}}}),j7=Xe({\"src/components/shapes/draw_newshape/attributes.js\"(Z,G){\"use strict\";var v=pc().overrideAll,x=ru(),S=tc(),E=Gh().dash,e=Qo().extendFlat,{shapeTexttemplateAttrs:t,templatefallbackAttrs:r}=Jl(),o=v2();G.exports=v({newshape:{visible:e({},x.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:e({},x.legend,{}),legendgroup:e({},x.legendgroup,{}),legendgrouptitle:{text:e({},x.legendgrouptitle.text,{}),font:S({})},legendrank:e({},x.legendrank,{}),legendwidth:e({},x.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:e({},E,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:e({},x.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:t({newshape:!0},{keys:Object.keys(o)}),texttemplatefallback:r({editType:\"arraydraw\"}),font:S({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\",description:\"Sets the color filling the active shape' interior.\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")}}),q7=Xe({\"src/components/selections/draw_newselection/attributes.js\"(Z,G){\"use strict\";var v=Gh().dash,x=Qo().extendFlat;G.exports={newselection:{mode:{valType:\"enumerated\",values:[\"immediate\",\"gradual\"],dflt:\"immediate\",editType:\"none\"},line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:1,dflt:1,editType:\"none\"},dash:x({},v,{dflt:\"dot\",editType:\"none\"}),editType:\"none\"},editType:\"none\"},activeselection:{fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}}}),m2=Xe({\"src/plots/pad_attributes.js\"(Z,G){\"use strict\";G.exports=function(v){var x=v.editType;return{t:{valType:\"number\",dflt:0,editType:x},r:{valType:\"number\",dflt:0,editType:x},b:{valType:\"number\",dflt:0,editType:x},l:{valType:\"number\",dflt:0,editType:x},editType:x}}}}),$y=Xe({\"src/plots/layout_attributes.js\"(Z,G){\"use strict\";var v=tc(),x=A_(),S=sh(),E=j7(),e=q7(),t=m2(),r=Qo().extendFlat,o=v({editType:\"calc\"});o.family.dflt='\"Open Sans\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=S.defaultLine,G.exports={font:o,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:v({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:v({editType:\"layoutstyle\"}),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:r(t({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},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\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,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\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:S.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:S.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:S.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\"},newshape:E.newshape,activeshape:E.activeshape,newselection:e.newselection,activeselection:e.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:r({},x.transition,{editType:\"none\"})}}}),V7=Xe({\"node_modules/maplibre-gl/dist/maplibre-gl.css\"(){(function(){if(!document.getElementById(\"a75c73da1cd7a97e8992659f6aed556255838daadea9ca0c9fc3af7f1ddf63c0\")){var Z=document.createElement(\"style\");Z.id=\"a75c73da1cd7a97e8992659f6aed556255838daadea9ca0c9fc3af7f1ddf63c0\",Z.textContent=`.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}`,document.head.appendChild(Z)}})()}}),so=Xe({\"src/registry.js\"(Z){\"use strict\";var G=Km(),v=p2(),x=$A(),S=Zv(),E=T_().addStyleRule,e=Qo(),t=ru(),r=$y(),o=e.extendFlat,a=e.extendDeepAll;Z.modules={},Z.allCategories={},Z.allTypes=[],Z.subplotsRegistry={},Z.componentsRegistry={},Z.layoutArrayContainers=[],Z.layoutArrayRegexes=[],Z.traceLayoutAttributes={},Z.localeRegistry={},Z.apiMethodRegistry={},Z.collectableSubplotTypes=null,Z.register=function(w){if(Z.collectableSubplotTypes=null,w)w&&!Array.isArray(w)&&(w=[w]);else throw new Error(\"No argument passed to Plotly.register.\");for(var A=0;A=l&&F<=_?F:e}if(typeof F!=\"string\"&&typeof F!=\"number\")return e;F=String(F);var B=p(N),X=F.charAt(0);B&&(X===\"G\"||X===\"g\")&&(F=F.slice(1),N=\"\");var $=B&&N.slice(0,7)===\"chinese\",se=F.match($?c:h);if(!se)return e;var le=se[1],fe=se[3]||\"1\",V=Number(se[5]||1),Y=Number(se[7]||0),ee=Number(se[9]||0),q=Number(se[11]||0);if(B){if(le.length===2)return e;le=Number(le);var oe;try{var ae=i.getComponentMethod(\"calendars\",\"getCal\")(N);if($){var j=fe.charAt(fe.length-1)===\"i\";fe=parseInt(fe,10),oe=ae.newDate(le,ae.toMonthIndex(le,fe,j),V)}else oe=ae.newDate(le,Number(fe),V)}catch{return e}return oe?(oe.toJD()-n)*t+Y*r+ee*o+q*a:e}le.length===2?le=(Number(le)+2e3-m)%100+m:le=Number(le),fe-=1;var Q=new Date(Date.UTC(2e3,fe,V,Y,ee));return Q.setUTCFullYear(le),Q.getUTCMonth()!==fe||Q.getUTCDate()!==V?e:Q.getTime()+q*a},l=Z.MIN_MS=Z.dateTime2ms(\"-9999\"),_=Z.MAX_MS=Z.dateTime2ms(\"9999-12-31 23:59:59.9999\"),Z.isDateTime=function(F,N){return Z.dateTime2ms(F,N)!==e};function w(F,N){return String(F+Math.pow(10,N)).slice(1)}var A=90*t,M=3*r,g=5*o;Z.ms2DateTime=function(F,N,O){if(typeof F!=\"number\"||!(F>=l&&F<=_))return e;N||(N=0);var P=Math.floor(S(F+.05,1)*10),U=Math.round(F-P/10),B,X,$,se,le,fe;if(p(O)){var V=Math.floor(U/t)+n,Y=Math.floor(S(F,t));try{B=i.getComponentMethod(\"calendars\",\"getCal\")(O).fromJD(V).formatDate(\"yyyy-mm-dd\")}catch{B=s(\"G%Y-%m-%d\")(new Date(U))}if(B.charAt(0)===\"-\")for(;B.length<11;)B=\"-0\"+B.slice(1);else for(;B.length<10;)B=\"0\"+B;X=N=l+t&&F<=_-t))return e;var N=Math.floor(S(F+.05,1)*10),O=new Date(Math.round(F-N/10)),P=G(\"%Y-%m-%d\")(O),U=O.getHours(),B=O.getMinutes(),X=O.getSeconds(),$=O.getUTCMilliseconds()*10+N;return b(P,U,B,X,$)};function b(F,N,O,P,U){if((N||O||P||U)&&(F+=\" \"+w(N,2)+\":\"+w(O,2),(P||U)&&(F+=\":\"+w(P,2),U))){for(var B=4;U%10===0;)B-=1,U/=10;F+=\".\"+w(U,B)}return F}Z.cleanDate=function(F,N,O){if(F===e)return N;if(Z.isJSDate(F)||typeof F==\"number\"&&isFinite(F)){if(p(O))return x.error(\"JS Dates and milliseconds are incompatible with world calendars\",F),N;if(F=Z.ms2DateTimeLocal(+F),!F&&N!==void 0)return N}else if(!Z.isDateTime(F,O))return x.error(\"unrecognized date\",F),N;return F};var d=/%\\d?f/g,u=/%h/g,y={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function f(F,N,O,P){F=F.replace(d,function(B){var X=Math.min(+B.charAt(1)||6,6),$=(N/1e3%1+2).toFixed(X).slice(2).replace(/0+$/,\"\")||\"0\";return $});var U=new Date(Math.floor(N+.05));if(F=F.replace(u,function(){return y[O(\"%q\")(U)]}),p(P))try{F=i.getComponentMethod(\"calendars\",\"worldCalFmt\")(F,N,P)}catch{return\"Invalid\"}return O(F)(U)}var R=[59,59.9,59.99,59.999,59.9999];function L(F,N){var O=S(F+.05,t),P=w(Math.floor(O/r),2)+\":\"+w(S(Math.floor(O/o),60),2);if(N!==\"M\"){v(N)||(N=0);var U=Math.min(S(F/a,60),R[N]),B=(100+U).toFixed(N).slice(1);N>0&&(B=B.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),P+=\":\"+B}return P}Z.formatDate=function(F,N,O,P,U,B){if(U=p(U)&&U,!N)if(O===\"y\")N=B.year;else if(O===\"m\")N=B.month;else if(O===\"d\")N=B.dayMonth+`\n`+B.year;else return L(F,O)+`\n`+f(B.dayMonthYear,F,P,U);return f(N,F,P,U)};var z=3*t;Z.incrementMonth=function(F,N,O){O=p(O)&&O;var P=S(F,t);if(F=Math.round(F-P),O)try{var U=Math.round(F/t)+n,B=i.getComponentMethod(\"calendars\",\"getCal\")(O),X=B.fromJD(U);return N%12?B.add(X,N,\"m\"):B.add(X,N/12,\"y\"),(X.toJD()-n)*t+P}catch{x.error(\"invalid ms \"+F+\" in calendar \"+O)}var $=new Date(F+z);return $.setUTCMonth($.getUTCMonth()+N)+P-z},Z.findExactDates=function(F,N){for(var O=0,P=0,U=0,B=0,X,$,se=p(N)&&i.getComponentMethod(\"calendars\",\"getCal\")(N),le=0;le1?(n[h-1]-n[0])/(h-1):1,p,T;for(m>=0?T=i?e:t:T=i?o:r,a+=m*E*(i?-1:1)*(m>=0?1:-1);s90&&v.log(\"Long binary search...\"),s-1};function e(a,n){return an}function o(a,n){return a>=n}Z.sorterAsc=function(a,n){return a-n},Z.sorterDes=function(a,n){return n-a},Z.distinctVals=function(a){var n=a.slice();n.sort(Z.sorterAsc);var i;for(i=n.length-1;i>-1&&n[i]===S;i--);for(var s=n[i]-n[0]||1,h=s/(i||1)/1e4,c=[],m,p=0;p<=i;p++){var T=n[p],l=T-m;m===void 0?(c.push(T),m=T):l>h&&(s=Math.min(s,l),c.push(T),m=T)}return{vals:c,minDiff:s}},Z.roundUp=function(a,n,i){for(var s=0,h=n.length-1,c,m=0,p=i?0:1,T=i?1:0,l=i?Math.ceil:Math.floor;s0&&(s=1),i&&s)return a.sort(n)}return s?a:a.reverse()},Z.findIndexOfMin=function(a,n){n=n||x;for(var i=1/0,s,h=0;hE.length)&&(e=E.length),G(S)||(S=!1),v(E[0])){for(r=new Array(e),t=0;tx.length-1)return x[x.length-1];var E=S%1;return E*x[Math.ceil(S)]+(1-E)*x[Math.floor(S)]}}}),W7=Xe({\"src/lib/angles.js\"(Z,G){\"use strict\";var v=Yy(),x=v.mod,S=v.modHalf,E=Math.PI,e=2*E;function t(T){return T/180*E}function r(T){return T/E*180}function o(T){return Math.abs(T[1]-T[0])>e-1e-14}function a(T,l){return S(l-T,e)}function n(T,l){return Math.abs(a(T,l))}function i(T,l){if(o(l))return!0;var _,w;l[0]w&&(w+=e);var A=x(T,e),M=A+e;return A>=_&&A<=w||M>=_&&M<=w}function s(T,l,_,w){if(!i(l,w))return!1;var A,M;return _[0]<_[1]?(A=_[0],M=_[1]):(A=_[1],M=_[0]),T>=A&&T<=M}function h(T,l,_,w,A,M,g){A=A||0,M=M||0;var b=o([_,w]),d,u,y,f,R;b?(d=0,u=E,y=e):_1/3&&v.x<2/3},Z.isRightAnchor=function(v){return v.xanchor===\"right\"||v.xanchor===\"auto\"&&v.x>=2/3},Z.isTopAnchor=function(v){return v.yanchor===\"top\"||v.yanchor===\"auto\"&&v.y>=2/3},Z.isMiddleAnchor=function(v){return v.yanchor===\"middle\"||v.yanchor===\"auto\"&&v.y>1/3&&v.y<2/3},Z.isBottomAnchor=function(v){return v.yanchor===\"bottom\"||v.yanchor===\"auto\"&&v.y<=1/3}}}),Z7=Xe({\"src/lib/geometry2d.js\"(Z){\"use strict\";var G=Yy().mod;Z.segmentsIntersect=v;function v(t,r,o,a,n,i,s,h){var c=o-t,m=n-t,p=s-n,T=a-r,l=i-r,_=h-i,w=c*_-p*T;if(w===0)return null;var A=(m*_-p*l)/w,M=(m*T-c*l)/w;return M<0||M>1||A<0||A>1?null:{x:t+c*A,y:r+T*A}}Z.segmentDistance=function(r,o,a,n,i,s,h,c){if(v(r,o,a,n,i,s,h,c))return 0;var m=a-r,p=n-o,T=h-i,l=c-s,_=m*m+p*p,w=T*T+l*l,A=Math.min(x(m,p,_,i-r,s-o),x(m,p,_,h-r,c-o),x(T,l,w,r-i,o-s),x(T,l,w,a-i,n-s));return Math.sqrt(A)};function x(t,r,o,a,n){var i=a*t+n*r;if(i<0)return a*a+n*n;if(i>o){var s=a-t,h=n-r;return s*s+h*h}else{var c=a*r-n*t;return c*c/o}}var S,E,e;Z.getTextLocation=function(r,o,a,n){if((r!==E||n!==e)&&(S={},E=r,e=n),S[a])return S[a];var i=r.getPointAtLength(G(a-n/2,o)),s=r.getPointAtLength(G(a+n/2,o)),h=Math.atan((s.y-i.y)/(s.x-i.x)),c=r.getPointAtLength(G(a,o)),m=(c.x*4+i.x+s.x)/6,p=(c.y*4+i.y+s.y)/6,T={x:m,y:p,theta:h};return S[a]=T,T},Z.clearLocationCache=function(){E=null},Z.getVisibleSegment=function(r,o,a){var n=o.left,i=o.right,s=o.top,h=o.bottom,c=0,m=r.getTotalLength(),p=m,T,l;function _(A){var M=r.getPointAtLength(A);A===0?T=M:A===m&&(l=M);var g=M.xi?M.x-i:0,b=M.yh?M.y-h:0;return Math.sqrt(g*g+b*b)}for(var w=_(c);w;){if(c+=w+a,c>p)return;w=_(c)}for(w=_(p);w;){if(p-=w+a,c>p)return;w=_(p)}return{min:c,max:p,len:p-c,total:m,isClosed:c===0&&p===m&&Math.abs(T.x-l.x)<.1&&Math.abs(T.y-l.y)<.1}},Z.findPointOnPath=function(r,o,a,n){n=n||{};for(var i=n.pathLength||r.getTotalLength(),s=n.tolerance||.001,h=n.iterationLimit||30,c=r.getPointAtLength(0)[a]>r.getPointAtLength(i)[a]?-1:1,m=0,p=0,T=i,l,_,w;m0?T=l:p=l,m++}return _}}}),y2=Xe({\"src/lib/throttle.js\"(Z){\"use strict\";var G={};Z.throttle=function(S,E,e){var t=G[S],r=Date.now();if(!t){for(var o in G)G[o].tst.ts+E){a();return}t.timer=setTimeout(function(){a(),t.timer=null},E)},Z.done=function(x){var S=G[x];return!S||!S.timer?Promise.resolve():new Promise(function(E){var e=S.onDone;S.onDone=function(){e&&e(),E(),S.onDone=null}})},Z.clear=function(x){if(x)v(G[x]),delete G[x];else for(var S in G)Z.clear(S)};function v(x){x&&x.timer!==null&&(clearTimeout(x.timer),x.timer=null)}}}),Y7=Xe({\"src/lib/clear_responsive.js\"(Z,G){\"use strict\";G.exports=function(x){x._responsiveChartHandler&&(window.removeEventListener(\"resize\",x._responsiveChartHandler),delete x._responsiveChartHandler)}}}),K7=Xe({\"node_modules/is-mobile/index.js\"(Z,G){\"use strict\";G.exports=E,G.exports.isMobile=E,G.exports.default=E;var v=/(android|bb\\d+|meego).+mobile|armv7l|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|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,x=/CrOS/,S=/android|ipad|playbook|silk/i;function E(e){e||(e={});let t=e.ua;if(!t&&typeof navigator<\"u\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=v.test(t)&&!x.test(t)||!!e.tablet&&S.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}}}),J7=Xe({\"src/lib/preserve_drawing_buffer.js\"(Z,G){\"use strict\";var v=rs(),x=K7();G.exports=function(e){var t;if(e&&e.hasOwnProperty(\"userAgent\")?t=e.userAgent:t=S(),typeof t!=\"string\")return!0;var r=x({ua:{headers:{\"user-agent\":t}},tablet:!0,featureDetect:!1});if(!r)for(var o=t.split(\" \"),a=1;a-1;i--){var s=o[i];if(s.slice(0,8)===\"Version/\"){var h=s.slice(8).split(\".\")[0];if(v(h)&&(h=+h),h>=13)return!0}}}return r};function S(){var E;return typeof navigator<\"u\"&&(E=navigator.userAgent),E&&E.headers&&typeof E.headers[\"user-agent\"]==\"string\"&&(E=E.headers[\"user-agent\"]),E}}}),$7=Xe({\"src/lib/make_trace_groups.js\"(Z,G){\"use strict\";var v=Hn();G.exports=function(S,E,e){var t=S.selectAll(\"g.\"+e.replace(/\\s/g,\".\")).data(E,function(o){return o[0].trace.uid});t.exit().remove(),t.enter().append(\"g\").attr(\"class\",e),t.order();var r=S.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return t.each(function(o){o[0][r]=v.select(this)}),t}}}),Q7=Xe({\"src/lib/localize.js\"(Z,G){\"use strict\";var v=so();G.exports=function(S,E){for(var e=S._context.locale,t=0;t<2;t++){for(var r=S._context.locales,o=0;o<2;o++){var a=(r[e]||{}).dictionary;if(a){var n=a[E];if(n)return n}r=v.localeRegistry}var i=e.split(\"-\")[0];if(i===e)break;e=i}return E}}}),r5=Xe({\"src/lib/filter_unique.js\"(Z,G){\"use strict\";G.exports=function(x){for(var S={},E=[],e=0,t=0;t1?(E*x+E*S)/E:x+S,t=String(e).length;if(t>16){var r=String(S).length,o=String(x).length;if(t>=o+r){var a=parseFloat(e).toPrecision(12);a.indexOf(\"e+\")===-1&&(e=+a)}}return e}}}),rz=Xe({\"src/lib/clean_number.js\"(Z,G){\"use strict\";var v=rs(),x=Hs().BADNUM,S=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;G.exports=function(e){return typeof e==\"string\"&&(e=e.replace(S,\"\")),v(e)?Number(e):x}}}),sa=Xe({\"src/lib/index.js\"(Z,G){\"use strict\";var v=Hn(),x=Xv().utcFormat,S=YA().format,E=rs(),e=Hs(),t=e.FP_SAFE,r=-t,o=e.BADNUM,a=G.exports={};a.adjustFormat=function(j){return!j||/^\\d[.]\\df/.test(j)||/[.]\\d%/.test(j)?j:j===\"0.f\"?\"~f\":/^\\d%/.test(j)?\"~%\":/^\\ds/.test(j)?\"~s\":!/^[~,.0$]/.test(j)&&/[&fps]/.test(j)?\"~\"+j:j};var n={};a.warnBadFormat=function(ae){var j=String(ae);n[j]||(n[j]=1,a.warn('encountered bad format: \"'+j+'\"'))},a.noFormat=function(ae){return String(ae)},a.numberFormat=function(ae){var j;try{j=S(a.adjustFormat(ae))}catch{return a.warnBadFormat(ae),a.noFormat}return j},a.nestedProperty=b_(),a.keyedContainer=u7(),a.relativeAttr=c7(),a.isPlainObject=Zv(),a.toLogRange=h2(),a.relinkPrivateKeys=f7();var i=bp();a.isArrayBuffer=i.isArrayBuffer,a.isTypedArray=i.isTypedArray,a.isArrayOrTypedArray=i.isArrayOrTypedArray,a.isArray1D=i.isArray1D,a.ensureArray=i.ensureArray,a.concat=i.concat,a.maxRowLength=i.maxRowLength,a.minRowLength=i.minRowLength;var s=Yy();a.mod=s.mod,a.modHalf=s.modHalf;var h=h7();a.valObjectMeta=h.valObjectMeta,a.coerce=h.coerce,a.coerce2=h.coerce2,a.coerceFont=h.coerceFont,a.coercePattern=h.coercePattern,a.coerceHoverinfo=h.coerceHoverinfo,a.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,a.validate=h.validate;var c=G7();a.dateTime2ms=c.dateTime2ms,a.isDateTime=c.isDateTime,a.ms2DateTime=c.ms2DateTime,a.ms2DateTimeLocal=c.ms2DateTimeLocal,a.cleanDate=c.cleanDate,a.isJSDate=c.isJSDate,a.formatDate=c.formatDate,a.incrementMonth=c.incrementMonth,a.dateTick0=c.dateTick0,a.dfltRange=c.dfltRange,a.findExactDates=c.findExactDates,a.MIN_MS=c.MIN_MS,a.MAX_MS=c.MAX_MS;var m=g2();a.findBin=m.findBin,a.sorterAsc=m.sorterAsc,a.sorterDes=m.sorterDes,a.distinctVals=m.distinctVals,a.roundUp=m.roundUp,a.sort=m.sort,a.findIndexOfMin=m.findIndexOfMin,a.sortObjectKeys=Jm();var p=H7();a.aggNums=p.aggNums,a.len=p.len,a.mean=p.mean,a.geometricMean=p.geometricMean,a.median=p.median,a.midRange=p.midRange,a.variance=p.variance,a.stdev=p.stdev,a.interp=p.interp;var T=d2();a.init2dArray=T.init2dArray,a.transposeRagged=T.transposeRagged,a.dot=T.dot,a.translationMatrix=T.translationMatrix,a.rotationMatrix=T.rotationMatrix,a.rotationXYMatrix=T.rotationXYMatrix,a.apply3DTransform=T.apply3DTransform,a.apply2DTransform=T.apply2DTransform,a.apply2DTransform2=T.apply2DTransform2,a.convertCssMatrix=T.convertCssMatrix,a.inverseTransformMatrix=T.inverseTransformMatrix;var l=W7();a.deg2rad=l.deg2rad,a.rad2deg=l.rad2deg,a.angleDelta=l.angleDelta,a.angleDist=l.angleDist,a.isFullCircle=l.isFullCircle,a.isAngleInsideSector=l.isAngleInsideSector,a.isPtInsideSector=l.isPtInsideSector,a.pathArc=l.pathArc,a.pathSector=l.pathSector,a.pathAnnulus=l.pathAnnulus;var _=X7();a.isLeftAnchor=_.isLeftAnchor,a.isCenterAnchor=_.isCenterAnchor,a.isRightAnchor=_.isRightAnchor,a.isTopAnchor=_.isTopAnchor,a.isMiddleAnchor=_.isMiddleAnchor,a.isBottomAnchor=_.isBottomAnchor;var w=Z7();a.segmentsIntersect=w.segmentsIntersect,a.segmentDistance=w.segmentDistance,a.getTextLocation=w.getTextLocation,a.clearLocationCache=w.clearLocationCache,a.getVisibleSegment=w.getVisibleSegment,a.findPointOnPath=w.findPointOnPath;var A=Qo();a.extendFlat=A.extendFlat,a.extendDeep=A.extendDeep,a.extendDeepAll=A.extendDeepAll,a.extendDeepNoArrays=A.extendDeepNoArrays;var M=Km();a.log=M.log,a.warn=M.warn,a.error=M.error;var g=Jy();a.counterRegex=g.counter;var b=y2();a.throttle=b.throttle,a.throttleDone=b.done,a.clearThrottle=b.clear;var d=T_();a.getGraphDiv=d.getGraphDiv,a.isPlotDiv=d.isPlotDiv,a.removeElement=d.removeElement,a.addStyleRule=d.addStyleRule,a.addRelatedStyleRule=d.addRelatedStyleRule,a.deleteRelatedStyleRule=d.deleteRelatedStyleRule,a.setStyleOnHover=d.setStyleOnHover,a.getFullTransformMatrix=d.getFullTransformMatrix,a.getElementTransformMatrix=d.getElementTransformMatrix,a.getElementAndAncestors=d.getElementAndAncestors,a.equalDomRects=d.equalDomRects,a.clearResponsive=Y7(),a.preserveDrawingBuffer=J7(),a.makeTraceGroups=$7(),a._=Q7(),a.notifier=JA(),a.filterUnique=r5(),a.filterVisible=ez(),a.pushUnique=$A(),a.increment=tz(),a.cleanNumber=rz(),a.ensureNumber=function(j){return E(j)?(j=Number(j),j>t||j=j?!1:E(ae)&&ae>=0&&ae%1===0},a.noop=p2(),a.identity=S_(),a.repeat=function(ae,j){for(var Q=new Array(j),re=0;reQ?Math.max(Q,Math.min(j,ae)):Math.max(j,Math.min(Q,ae))},a.bBoxIntersect=function(ae,j,Q){return Q=Q||0,ae.left<=j.right+Q&&j.left<=ae.right+Q&&ae.top<=j.bottom+Q&&j.top<=ae.bottom+Q},a.simpleMap=function(ae,j,Q,re,ce){for(var be=ae.length,Ae=new Array(be),De=0;De=Math.pow(2,Q)?ce>10?(a.warn(\"randstr failed uniqueness\"),Ae):ae(j,Q,re,(ce||0)+1):Ae},a.OptionControl=function(ae,j){ae||(ae={}),j||(j=\"opt\");var Q={};return Q.optionList=[],Q._newoption=function(re){re[j]=ae,Q[re.name]=re,Q.optionList.push(re)},Q[\"_\"+j]=ae,Q},a.smooth=function(ae,j){if(j=Math.round(j)||0,j<2)return ae;var Q=ae.length,re=2*Q,ce=2*j-1,be=new Array(ce),Ae=new Array(Q),De,ze,Ze,at;for(De=0;De=re&&(Ze-=re*Math.floor(Ze/re)),Ze<0?Ze=-1-Ze:Ze>=Q&&(Ze=re-1-Ze),at+=ae[Ze]*be[ze];Ae[De]=at}return Ae},a.syncOrAsync=function(ae,j,Q){var re,ce;function be(){return a.syncOrAsync(ae,j,Q)}for(;ae.length;)if(ce=ae.splice(0,1)[0],re=ce(j),re&&re.then)return re.then(be);return Q&&Q(j)},a.stripTrailingSlash=function(ae){return ae.slice(-1)===\"/\"?ae.slice(0,-1):ae},a.noneOrAll=function(ae,j,Q){if(ae){var re=!1,ce=!0,be,Ae;for(be=0;be0?ce:0})},a.fillArray=function(ae,j,Q,re){if(re=re||a.identity,a.isArrayOrTypedArray(ae))for(var ce=0;ceL.test(window.navigator.userAgent);var z=/Firefox\\/(\\d+)\\.\\d+/;a.getFirefoxVersion=function(){var ae=z.exec(window.navigator.userAgent);if(ae&&ae.length===2){var j=parseInt(ae[1]);if(!isNaN(j))return j}return null},a.isD3Selection=function(ae){return ae instanceof v.selection},a.ensureSingle=function(ae,j,Q,re){var ce=ae.select(j+(Q?\".\"+Q:\"\"));if(ce.size())return ce;var be=ae.append(j);return Q&&be.classed(Q,!0),re&&be.call(re),be},a.ensureSingleById=function(ae,j,Q,re){var ce=ae.select(j+\"#\"+Q);if(ce.size())return ce;var be=ae.append(j).attr(\"id\",Q);return re&&be.call(re),be},a.objectFromPath=function(ae,j){for(var Q=ae.split(\".\"),re,ce=re={},be=0;be1?ce+Ae[1]:\"\";if(be&&(Ae.length>1||De.length>4||Q))for(;re.test(De);)De=De.replace(re,\"$1\"+be+\"$2\");return De+ze},a.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var P=/^\\w*$/;a.templateString=function(ae,j){var Q={};return ae.replace(a.TEMPLATE_STRING_REGEX,function(re,ce){var be;return P.test(ce)?be=j[ce]:(Q[ce]=Q[ce]||a.nestedProperty(j,ce).get,be=Q[ce](!0)),be!==void 0?be:\"\"})};var U={max:10,count:0,name:\"hovertemplate\"};a.hovertemplateString=ae=>fe(ds(To({},ae),{opts:U}));var B={max:10,count:0,name:\"texttemplate\"};a.texttemplateString=ae=>fe(ds(To({},ae),{opts:B}));var X=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function $(ae){var j=ae.match(X);return j?{key:j[1],op:j[2],number:Number(j[3])}:{key:ae,op:null,number:null}}var se={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};a.texttemplateStringForShapes=ae=>fe(ds(To({},ae),{opts:se}));var le=/^[:|\\|]/;function fe({data:ae=[],locale:j,fallback:Q,labels:re={},opts:ce,template:be}){return be.replace(a.TEMPLATE_STRING_REGEX,(Ae,De,ze)=>{let Ze=[\"xother\",\"yother\"].includes(De),at=[\"_xother\",\"_yother\"].includes(De),nt=[\"_xother_\",\"_yother_\"].includes(De),rt=[\"xother_\",\"yother_\"].includes(De),st=Ze||at||rt||nt;(at||nt)&&(De=De.substring(1)),(rt||nt)&&(De=De.substring(0,De.length-1));let Me=null,ye=null;if(ce.parseMultDiv){var he=$(De);De=he.key,Me=he.op,ye=he.number}let Oe;if(st){if(re[De]===void 0)return\"\";Oe=re[De]}else for(let Pt of ae)if(Pt){if(Pt.hasOwnProperty(De)){Oe=Pt[De];break}if(P.test(De)||(Oe=a.nestedProperty(Pt,De).get(!0)),Oe!==void 0)break}if(Oe===void 0){let{count:Pt,max:It,name:qt}=ce,Wt=Q===!1?Ae:Q;return Pt=V&&Ae<=Y,Ze=De>=V&&De<=Y;if(ze&&(re=10*re+Ae-V),Ze&&(ce=10*ce+De-V),!ze||!Ze){if(re!==ce)return re-ce;if(Ae!==De)return Ae-De}}return ce-re};var ee=2e9;a.seedPseudoRandom=function(){ee=2e9},a.pseudoRandom=function(){var ae=ee;return ee=(69069*ee+1)%4294967296,Math.abs(ee-ae)<429496729?a.pseudoRandom():ee/4294967296},a.fillText=function(ae,j,Q){var re=Array.isArray(Q)?function(Ae){Q.push(Ae)}:function(Ae){Q.text=Ae},ce=a.extractOption(ae,j,\"htx\",\"hovertext\");if(a.isValidTextValue(ce))return re(ce);var be=a.extractOption(ae,j,\"tx\",\"text\");if(a.isValidTextValue(be))return re(be)},a.isValidTextValue=function(ae){return ae||ae===0},a.formatPercent=function(ae,j){j=j||0;for(var Q=(Math.round(100*ae*Math.pow(10,j))*Math.pow(.1,j)).toFixed(j)+\"%\",re=0;re1&&(Ze=1):Ze=0,a.strTranslate(ce-Ze*(Q+Ae),be-Ze*(re+De))+a.strScale(Ze)+(ze?\"rotate(\"+ze+(j?\"\":\" \"+Q+\" \"+re)+\")\":\"\")},a.setTransormAndDisplay=function(ae,j){ae.attr(\"transform\",a.getTextTransform(j)),ae.style(\"display\",j.scale?null:\"none\")},a.ensureUniformFontSize=function(ae,j){var Q=a.extendFlat({},j);return Q.size=Math.max(j.size,ae._fullLayout.uniformtext.minsize||0),Q},a.join2=function(ae,j,Q){var re=ae.length;return re>1?ae.slice(0,-1).join(j)+Q+ae[re-1]:ae.join(j)},a.bigFont=function(ae){return Math.round(1.2*ae)};var q=a.getFirefoxVersion(),oe=q!==null&&q<86;a.getPositionFromD3Event=function(){return oe?[v.event.layerX,v.event.layerY]:[v.event.offsetX,v.event.offsetY]}}}),az=Xe({\"build/plotcss.js\"(){\"use strict\";var Z=sa(),G={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;border: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 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 .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X:focus-within .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-group a\":\"display:grid;place-content:center;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;border:none;background:rgba(0,0,0,0);\",\"X .modebar-btn svg\":\"position:relative;\",\"X .modebar-btn:focus-visible\":\"outline:1px solid #000;outline-offset:1px;border-radius:3px;\",\"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:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;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 rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;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,.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:.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(x in G)v=x.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Z.addStyleRule(v,G[x]);var v,x}}),a5=Xe({\"node_modules/is-browser/client.js\"(Z,G){G.exports=!0}}),i5=Xe({\"node_modules/has-hover/index.js\"(Z,G){\"use strict\";var v=a5(),x;typeof window.matchMedia==\"function\"?x=!window.matchMedia(\"(hover: none)\").matches:x=v,G.exports=x}}),Z0=Xe({\"node_modules/events/events.js\"(Z,G){\"use strict\";var v=typeof Reflect==\"object\"?Reflect:null,x=v&&typeof v.apply==\"function\"?v.apply:function(M,g,b){return Function.prototype.apply.call(M,g,b)},S;v&&typeof v.ownKeys==\"function\"?S=v.ownKeys:Object.getOwnPropertySymbols?S=function(M){return Object.getOwnPropertyNames(M).concat(Object.getOwnPropertySymbols(M))}:S=function(M){return Object.getOwnPropertyNames(M)};function E(A){console&&console.warn&&console.warn(A)}var e=Number.isNaN||function(M){return M!==M};function t(){t.init.call(this)}G.exports=t,G.exports.once=l,t.EventEmitter=t,t.prototype._events=void 0,t.prototype._eventsCount=0,t.prototype._maxListeners=void 0;var r=10;function o(A){if(typeof A!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof A)}Object.defineProperty(t,\"defaultMaxListeners\",{enumerable:!0,get:function(){return r},set:function(A){if(typeof A!=\"number\"||A<0||e(A))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+A+\".\");r=A}}),t.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},t.prototype.setMaxListeners=function(M){if(typeof M!=\"number\"||M<0||e(M))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+M+\".\");return this._maxListeners=M,this};function a(A){return A._maxListeners===void 0?t.defaultMaxListeners:A._maxListeners}t.prototype.getMaxListeners=function(){return a(this)},t.prototype.emit=function(M){for(var g=[],b=1;b0&&(y=g[0]),y instanceof Error)throw y;var f=new Error(\"Unhandled error.\"+(y?\" (\"+y.message+\")\":\"\"));throw f.context=y,f}var R=u[M];if(R===void 0)return!1;if(typeof R==\"function\")x(R,this,g);else for(var L=R.length,z=m(R,L),b=0;b0&&y.length>d&&!y.warned){y.warned=!0;var f=new Error(\"Possible EventEmitter memory leak detected. \"+y.length+\" \"+String(M)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");f.name=\"MaxListenersExceededWarning\",f.emitter=A,f.type=M,f.count=y.length,E(f)}return A}t.prototype.addListener=function(M,g){return n(this,M,g,!1)},t.prototype.on=t.prototype.addListener,t.prototype.prependListener=function(M,g){return n(this,M,g,!0)};function i(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function s(A,M,g){var b={fired:!1,wrapFn:void 0,target:A,type:M,listener:g},d=i.bind(b);return d.listener=g,b.wrapFn=d,d}t.prototype.once=function(M,g){return o(g),this.on(M,s(this,M,g)),this},t.prototype.prependOnceListener=function(M,g){return o(g),this.prependListener(M,s(this,M,g)),this},t.prototype.removeListener=function(M,g){var b,d,u,y,f;if(o(g),d=this._events,d===void 0)return this;if(b=d[M],b===void 0)return this;if(b===g||b.listener===g)--this._eventsCount===0?this._events=Object.create(null):(delete d[M],d.removeListener&&this.emit(\"removeListener\",M,b.listener||g));else if(typeof b!=\"function\"){for(u=-1,y=b.length-1;y>=0;y--)if(b[y]===g||b[y].listener===g){f=b[y].listener,u=y;break}if(u<0)return this;u===0?b.shift():p(b,u),b.length===1&&(d[M]=b[0]),d.removeListener!==void 0&&this.emit(\"removeListener\",M,f||g)}return this},t.prototype.off=t.prototype.removeListener,t.prototype.removeAllListeners=function(M){var g,b,d;if(b=this._events,b===void 0)return this;if(b.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):b[M]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete b[M]),this;if(arguments.length===0){var u=Object.keys(b),y;for(d=0;d=0;d--)this.removeListener(M,g[d]);return this};function h(A,M,g){var b=A._events;if(b===void 0)return[];var d=b[M];return d===void 0?[]:typeof d==\"function\"?g?[d.listener||d]:[d]:g?T(d):m(d,d.length)}t.prototype.listeners=function(M){return h(this,M,!0)},t.prototype.rawListeners=function(M){return h(this,M,!1)},t.listenerCount=function(A,M){return typeof A.listenerCount==\"function\"?A.listenerCount(M):c.call(A,M)},t.prototype.listenerCount=c;function c(A){var M=this._events;if(M!==void 0){var g=M[A];if(typeof g==\"function\")return 1;if(g!==void 0)return g.length}return 0}t.prototype.eventNames=function(){return this._eventsCount>0?S(this._events):[]};function m(A,M){for(var g=new Array(M),b=0;b{},{passive:!0}),S},triggerHandler:function(S,E,e){var t,r=S._ev;if(!r)return;var o=r._events[E];if(!o)return;function a(i){if(i.listener){if(r.removeListener(E,i.listener),!i.fired)return i.fired=!0,i.listener.apply(r,[e])}else return i.apply(r,[e])}o=Array.isArray(o)?o:[o];var n;for(n=0;nx.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)},E.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},E.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},E.undo=function(t){var r,o;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,o=0;o=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,o=0;o=P.length)return!1;if(L.dimensions===2){if(F++,z.length===F)return L;var U=z[F];if(!w(U))return!1;L=P[O][U]}else L=P[O]}else L=P}}return L}function w(L){return L===Math.round(L)&&L>=0}function A(L){var z,F;z=G.modules[L]._module,F=z.basePlotModule;var N={};N.type=null;var O=o({},x),P=o({},z.attributes);Z.crawl(P,function(X,$,se,le,fe){i(O,fe).set(void 0),X===void 0&&i(P,fe).set(void 0)}),o(N,O),G.traceIs(L,\"noOpacity\")&&delete N.opacity,G.traceIs(L,\"showLegend\")||(delete N.showlegend,delete N.legendgroup),G.traceIs(L,\"noHover\")&&(delete N.hoverinfo,delete N.hoverlabel),z.selectPoints||delete N.selectedpoints,o(N,P),F.attributes&&o(N,F.attributes),N.type=L;var U={meta:z.meta||{},categories:z.categories||{},animatable:!!z.animatable,type:L,attributes:b(N)};if(z.layoutAttributes){var B={};o(B,z.layoutAttributes),U.layoutAttributes=b(B)}return z.animatable||Z.crawl(U,function(X){Z.isValObject(X)&&\"anim\"in X&&delete X.anim}),U}function M(){var L={},z,F;o(L,S);for(z in G.subplotsRegistry)if(F=G.subplotsRegistry[z],!!F.layoutAttributes)if(Array.isArray(F.attr))for(var N=0;N=a&&(o._input||{})._templateitemname;i&&(n=a);var s=r+\"[\"+n+\"]\",h;function c(){h={},i&&(h[s]={},h[s][x]=i)}c();function m(_,w){h[_]=w}function p(_,w){i?G.nestedProperty(h[s],_).set(w):h[s+\".\"+_]=w}function T(){var _=h;return c(),_}function l(_,w){_&&p(_,w);var A=T();for(var M in A)G.nestedProperty(t,M).set(A[M])}return{modifyBase:m,modifyItem:p,getUpdateObj:T,applyUpdate:l}}}}),lh=Xe({\"src/plots/cartesian/constants.js\"(Z,G){\"use strict\";var v=Jy().counter;G.exports={idRegex:{x:v(\"x\",\"( domain)?\"),y:v(\"y\",\"( domain)?\")},attrRegex:v(\"[xy]axis\"),xAxisMatch:v(\"xaxis\"),yAxisMatch:v(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,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\"},zindexSeparator:\"z\"}}}),ef=Xe({\"src/plots/cartesian/axis_ids.js\"(Z){\"use strict\";var G=so(),v=lh();Z.id2name=function(E){if(!(typeof E!=\"string\"||!E.match(v.AX_ID_PATTERN))){var e=E.split(\" \")[0].slice(1);return e===\"1\"&&(e=\"\"),E.charAt(0)+\"axis\"+e}},Z.name2id=function(E){if(E.match(v.AX_NAME_PATTERN)){var e=E.slice(5);return e===\"1\"&&(e=\"\"),E.charAt(0)+e}},Z.cleanId=function(E,e,t){var r=/( domain)$/.test(E);if(!(typeof E!=\"string\"||!E.match(v.AX_ID_PATTERN))&&!(e&&E.charAt(0)!==e)&&!(r&&!t)){var o=E.split(\" \")[0].slice(1).replace(/^0+/,\"\");return o===\"1\"&&(o=\"\"),E.charAt(0)+o+(r&&t?\" domain\":\"\")}},Z.list=function(S,E,e){var t=S._fullLayout;if(!t)return[];var r=Z.listIds(S,E),o=new Array(r.length),a;for(a=0;at?1:-1:+(S.slice(1)||1)-+(E.slice(1)||1)},Z.ref2id=function(S){return/^[xyz]/.test(S)?S.split(\" \")[0]:!1};function x(S,E){if(E&&E.length){for(var e=0;e0?\".\":\"\")+i;v.isPlainObject(s)?t(s,o,h,n+1):o(h,i,s)}})}}}),bc=Xe({\"src/plots/plots.js\"(Z,G){\"use strict\";var v=Hn(),x=Xv().timeFormatLocale,S=YA().formatLocale,E=rs(),e=KA(),t=so(),r=e1(),o=zl(),a=sa(),n=$n(),i=Hs().BADNUM,s=ef(),h=$m().clearOutline,c=_2(),m=A_(),p=n5(),T=Hh().getModuleCalcData,l=a.relinkPrivateKeys,_=a._,w=G.exports={};a.extendFlat(w,t),w.attributes=ru(),w.attributes.type.values=w.allTypes,w.fontAttrs=tc(),w.layoutAttributes=$y();var A=nz();w.executeAPICommand=A.executeAPICommand,w.computeAPICommandBindings=A.computeAPICommandBindings,w.manageCommandObserver=A.manageCommandObserver,w.hasSimpleAPICommandBindings=A.hasSimpleAPICommandBindings,w.redrawText=function(V){return V=a.getGraphDiv(V),new Promise(function(Y){setTimeout(function(){V._fullLayout&&(t.getComponentMethod(\"annotations\",\"draw\")(V),t.getComponentMethod(\"legend\",\"draw\")(V),t.getComponentMethod(\"colorbar\",\"draw\")(V),Y(w.previousPromises(V)))},300)})},w.resize=function(V){V=a.getGraphDiv(V);var Y,ee=new Promise(function(q,oe){(!V||a.isHidden(V))&&oe(new Error(\"Resize must be passed a displayed plot div element.\")),V._redrawTimer&&clearTimeout(V._redrawTimer),V._resolveResize&&(Y=V._resolveResize),V._resolveResize=q,V._redrawTimer=setTimeout(function(){if(!V.layout||V.layout.width&&V.layout.height||a.isHidden(V)){q(V);return}delete V.layout.width,delete V.layout.height;var ae=V.changed;V.autoplay=!0,t.call(\"relayout\",V,{autosize:!0}).then(function(){V.changed=ae,V._resolveResize===q&&(delete V._resolveResize,q(V))})},100)});return Y&&Y(ee),ee},w.previousPromises=function(V){if((V._promises||[]).length)return Promise.all(V._promises).then(function(){V._promises=[]})},w.addLinks=function(V){if(!(!V._context.showLink&&!V._context.showSources)){var Y=V._fullLayout,ee=a.ensureSingle(Y._paper,\"text\",\"js-plot-link-container\",function(re){re.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:n.defaultLine,\"pointer-events\":\"all\"}).each(function(){var ce=v.select(this);ce.append(\"tspan\").classed(\"js-link-to-tool\",!0),ce.append(\"tspan\").classed(\"js-link-spacer\",!0),ce.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),q=ee.node(),oe={y:Y._paper.attr(\"height\")-9};document.body.contains(q)&&q.getComputedTextLength()>=Y.width-20?(oe[\"text-anchor\"]=\"start\",oe.x=5):(oe[\"text-anchor\"]=\"end\",oe.x=Y._paper.attr(\"width\")-7),ee.attr(oe);var ae=ee.select(\".js-link-to-tool\"),j=ee.select(\".js-link-spacer\"),Q=ee.select(\".js-sourcelinks\");V._context.showSources&&V._context.showSources(V),V._context.showLink&&M(V,ae),j.text(ae.text()&&Q.text()?\" - \":\"\")}};function M(V,Y){Y.text(\"\");var ee=Y.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(V._context.linkText+\" \\xBB\");if(V._context.sendData)ee.on(\"click\",function(){w.sendDataToCloud(V)});else{var q=window.location.pathname.split(\"/\"),oe=window.location.search;ee.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+q[2].split(\".\")[0]+\"/\"+q[1]+oe})}}w.sendDataToCloud=function(V){var Y=(window.PLOTLYENV||{}).BASE_URL||V._context.plotlyServerURL;if(Y){V.emit(\"plotly_beforeexport\");var ee=v.select(V).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),q=ee.append(\"form\").attr({action:Y+\"/external\",method:\"post\",target:\"_blank\"}),oe=q.append(\"input\").attr({type:\"text\",name:\"data\"});return oe.node().value=w.graphJson(V,!1,\"keepdata\"),q.node().submit(),ee.remove(),V.emit(\"plotly_afterexport\"),!1}};var g=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],b=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];w.supplyDefaults=function(V,Y){var ee=Y&&Y.skipUpdateCalc,q=V._fullLayout||{};if(q._skipDefaults){delete q._skipDefaults;return}var oe=V._fullLayout={},ae=V.layout||{},j=V._fullData||[],Q=V._fullData=[],re=V.data||[],ce=V.calcdata||[],be=V._context||{},Ae;V._transitionData||w.createTransitionData(V),oe._dfltTitle={plot:_(V,\"Click to enter Plot title\"),subtitle:_(V,\"Click to enter Plot subtitle\"),x:_(V,\"Click to enter X axis title\"),y:_(V,\"Click to enter Y axis title\"),colorbar:_(V,\"Click to enter Colorscale title\"),annotation:_(V,\"new text\")},oe._traceWord=_(V,\"trace\");var De=y(V,g);if(oe._mapboxAccessToken=be.mapboxAccessToken,q._initialAutoSizeIsDone){var ze=q.width,Ze=q.height;w.supplyLayoutGlobalDefaults(ae,oe,De),ae.width||(oe.width=ze),ae.height||(oe.height=Ze),w.sanitizeMargins(oe)}else{w.supplyLayoutGlobalDefaults(ae,oe,De);var at=!ae.width||!ae.height,nt=oe.autosize,rt=be.autosizable,st=at&&(nt||rt);st?w.plotAutoSize(V,ae,oe):at&&w.sanitizeMargins(oe),!nt&&at&&(ae.width=oe.width,ae.height=oe.height)}oe._d3locale=f(De,oe.separators),oe._extraFormat=y(V,b),oe._initialAutoSizeIsDone=!0,oe._dataLength=re.length,oe._modules=[],oe._visibleModules=[],oe._basePlotModules=[];var Me=oe._subplots=u(),ye=oe._splomAxes={x:{},y:{}},he=oe._splomSubplots={};oe._splomGridDflt={},oe._scatterStackOpts={},oe._firstScatter={},oe._alignmentOpts={},oe._colorAxes={},oe._requestRangeslider={},oe._traceUids=d(j,re),w.supplyDataDefaults(re,Q,ae,oe);var Oe=Object.keys(ye.x),tt=Object.keys(ye.y);if(Oe.length>1&&tt.length>1){for(t.getComponentMethod(\"grid\",\"sizeDefaults\")(ae,oe),Ae=0;Ae15&&tt.length>15&&oe.shapes.length===0&&oe.images.length===0,w.linkSubplots(Q,oe,j,q),w.cleanPlot(Q,oe,j,q);var qt=!!(q._has&&q._has(\"cartesian\")),Wt=!!(oe._has&&oe._has(\"cartesian\")),kr=qt,mr=Wt;kr&&!mr?q._bgLayer.remove():mr&&!kr&&(oe._shouldCreateBgLayer=!0),q._zoomlayer&&!V._dragging&&h({_fullLayout:q}),R(Q,oe),l(oe,q),t.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(Q,oe),oe._preGUI||(oe._preGUI={}),oe._tracePreGUI||(oe._tracePreGUI={});var qr=oe._tracePreGUI,Sr={},Rr;for(Rr in qr)Sr[Rr]=\"old\";for(Ae=0;Ae0){var be=1-2*ae;j=Math.round(be*j),Q=Math.round(be*Q)}}var Ae=w.layoutAttributes.width.min,De=w.layoutAttributes.height.min;j1,Ze=!ee.height&&Math.abs(q.height-Q)>1;(Ze||ze)&&(ze&&(q.width=j),Ze&&(q.height=Q)),Y._initialAutoSize||(Y._initialAutoSize={width:j,height:Q}),w.sanitizeMargins(q)},w.supplyLayoutModuleDefaults=function(V,Y,ee,q){var oe=t.componentsRegistry,ae=Y._basePlotModules,j,Q,re,ce=t.subplotsRegistry.cartesian;for(j in oe)re=oe[j],re.includeBasePlot&&re.includeBasePlot(V,Y);ae.length||ae.push(ce),Y._has(\"cartesian\")&&(t.getComponentMethod(\"grid\",\"contentDefaults\")(V,Y),ce.finalizeSubplots(V,Y));for(var be in Y._subplots)Y._subplots[be].sort(a.subplotSort);for(Q=0;Q1&&(ee.l/=nt,ee.r/=nt)}if(De){var rt=(ee.t+ee.b)/De;rt>1&&(ee.t/=rt,ee.b/=rt)}var st=ee.xl!==void 0?ee.xl:ee.x,Me=ee.xr!==void 0?ee.xr:ee.x,ye=ee.yt!==void 0?ee.yt:ee.y,he=ee.yb!==void 0?ee.yb:ee.y;ze[Y]={l:{val:st,size:ee.l+at},r:{val:Me,size:ee.r+at},b:{val:he,size:ee.b+at},t:{val:ye,size:ee.t+at}},Ze[Y]=1}if(!q._replotting)return w.doAutoMargin(V)}};function P(V){if(\"_redrawFromAutoMarginCount\"in V._fullLayout)return!1;var Y=s.list(V,\"\",!0);for(var ee in Y)if(Y[ee].autoshift||Y[ee].shift)return!0;return!1}w.doAutoMargin=function(V){var Y=V._fullLayout,ee=Y.width,q=Y.height;Y._size||(Y._size={}),F(Y);var oe=Y._size,ae=Y.margin,j={t:0,b:0,l:0,r:0},Q=a.extendFlat({},oe),re=ae.l,ce=ae.r,be=ae.t,Ae=ae.b,De=Y._pushmargin,ze=Y._pushmarginIds,Ze=Y.minreducedwidth,at=Y.minreducedheight;if(ae.autoexpand!==!1){for(var nt in De)ze[nt]||delete De[nt];var rt=V._fullLayout._reservedMargin;for(var st in rt)for(var Me in rt[st]){var ye=rt[st][Me];j[Me]=Math.max(j[Me],ye)}De.base={l:{val:0,size:re},r:{val:1,size:ce},t:{val:1,size:be},b:{val:0,size:Ae}};for(var he in j){var Oe=0;for(var tt in De)tt!==\"base\"&&E(De[tt][he].size)&&(Oe=De[tt][he].size>Oe?De[tt][he].size:Oe);var ot=Math.max(0,ae[he]-Oe);j[he]=Math.max(0,j[he]-ot)}for(var Qe in De){var Pt=De[Qe].l||{},It=De[Qe].b||{},qt=Pt.val,Wt=Pt.size,kr=It.val,mr=It.size,qr=ee-j.r-j.l,Sr=q-j.t-j.b;for(var Rr in De){if(E(Wt)&&De[Rr].r){var wt=De[Rr].r.val,Ne=De[Rr].r.size;if(wt>qt){var Ke=(Wt*wt+(Ne-qr)*qt)/(wt-qt),Te=(Ne*(1-qt)+(Wt-qr)*(1-wt))/(wt-qt);Ke+Te>re+ce&&(re=Ke,ce=Te)}}if(E(mr)&&De[Rr].t){var Ie=De[Rr].t.val,Ve=De[Rr].t.size;if(Ie>kr){var Ce=(mr*Ie+(Ve-Sr)*kr)/(Ie-kr),Ee=(Ve*(1-kr)+(mr-Sr)*(1-Ie))/(Ie-kr);Ce+Ee>Ae+be&&(Ae=Ce,be=Ee)}}}}}var Pe=a.constrain(ee-ae.l-ae.r,N,Ze),ft=a.constrain(q-ae.t-ae.b,O,at),ct=Math.max(0,ee-Pe),_t=Math.max(0,q-ft);if(ct){var Ct=(re+ce)/ct;Ct>1&&(re/=Ct,ce/=Ct)}if(_t){var ir=(Ae+be)/_t;ir>1&&(Ae/=ir,be/=ir)}if(oe.l=Math.round(re)+j.l,oe.r=Math.round(ce)+j.r,oe.t=Math.round(be)+j.t,oe.b=Math.round(Ae)+j.b,oe.p=Math.round(ae.pad),oe.w=Math.round(ee)-oe.l-oe.r,oe.h=Math.round(q)-oe.t-oe.b,!Y._replotting&&(w.didMarginChange(Q,oe)||P(V))){\"_redrawFromAutoMarginCount\"in Y?Y._redrawFromAutoMarginCount++:Y._redrawFromAutoMarginCount=1;var rr=3*(1+Object.keys(ze).length);if(Y._redrawFromAutoMarginCount1)return!0}return!1},w.graphJson=function(V,Y,ee,q,oe,ae){(oe&&Y&&!V._fullData||oe&&!Y&&!V._fullLayout)&&w.supplyDefaults(V);var j=oe?V._fullData:V.data,Q=oe?V._fullLayout:V.layout,re=(V._transitionData||{})._frames;function ce(De,ze){if(typeof De==\"function\")return ze?\"_function_\":null;if(a.isPlainObject(De)){var Ze={},at;return Object.keys(De).sort().forEach(function(Me){if([\"_\",\"[\"].indexOf(Me.charAt(0))===-1){if(typeof De[Me]==\"function\"){ze&&(Ze[Me]=\"_function\");return}if(ee===\"keepdata\"){if(Me.slice(-3)===\"src\")return}else if(ee===\"keepstream\"){if(at=De[Me+\"src\"],typeof at==\"string\"&&at.indexOf(\":\")>0&&!a.isPlainObject(De.stream))return}else if(ee!==\"keepall\"&&(at=De[Me+\"src\"],typeof at==\"string\"&&at.indexOf(\":\")>0))return;Ze[Me]=ce(De[Me],ze)}}),Ze}var nt=Array.isArray(De),rt=a.isTypedArray(De);if((nt||rt)&&De.dtype&&De.shape){var st=De.bdata;return ce({dtype:De.dtype,shape:De.shape,bdata:a.isArrayBuffer(st)?e.encode(st):st},ze)}return nt?De.map(function(Me){return ce(Me,ze)}):rt?a.simpleMap(De,a.identity):a.isJSDate(De)?a.ms2DateTimeLocal(+De):De}var be={data:(j||[]).map(function(De){var ze=ce(De);return Y&&delete ze.fit,ze})};if(!Y&&(be.layout=ce(Q),oe)){var Ae=Q._size;be.layout.computed={margin:{b:Ae.b,l:Ae.l,r:Ae.r,t:Ae.t}}}return re&&(be.frames=ce(re)),ae&&(be.config=ce(V._context,!0)),q===\"object\"?be:JSON.stringify(be)},w.modifyFrames=function(V,Y){var ee,q,oe,ae=V._transitionData._frames,j=V._transitionData._frameHash;for(ee=0;ee0&&(V._transitioningWithDuration=!0),V._transitionData._interruptCallbacks.push(function(){q=!0}),ee.redraw&&V._transitionData._interruptCallbacks.push(function(){return t.call(\"redraw\",V)}),V._transitionData._interruptCallbacks.push(function(){V.emit(\"plotly_transitioninterrupted\",[])});var De=0,ze=0;function Ze(){return De++,function(){ze++,!q&&ze===De&&Q(Ae)}}ee.runFn(Ze),setTimeout(Ze())})}function Q(Ae){if(V._transitionData)return ae(V._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(ee.redraw)return t.call(\"redraw\",V)}).then(function(){V._transitioning=!1,V._transitioningWithDuration=!1,V.emit(\"plotly_transitioned\",[])}).then(Ae)}function re(){if(V._transitionData)return V._transitioning=!1,oe(V._transitionData._interruptCallbacks)}var ce=[w.previousPromises,re,ee.prepareFn,w.rehover,w.reselect,j],be=a.syncOrAsync(ce,V);return(!be||!be.then)&&(be=Promise.resolve()),be.then(function(){return V})}w.doCalcdata=function(V,Y){var ee=s.list(V),q=V._fullData,oe=V._fullLayout,ae,j,Q,re,ce=new Array(q.length),be=(V.calcdata||[]).slice();for(V.calcdata=ce,oe._numBoxes=0,oe._numViolins=0,oe._violinScaleGroupStats={},V._hmpixcount=0,V._hmlumcount=0,oe._piecolormap={},oe._sunburstcolormap={},oe._treemapcolormap={},oe._iciclecolormap={},oe._funnelareacolormap={},Q=0;Q=0;re--)if(he[re].enabled){ae._indexToPoints=he[re]._indexToPoints;break}j&&j.calc&&(ye=j.calc(V,ae))}(!Array.isArray(ye)||!ye[0])&&(ye=[{x:i,y:i}]),ye[0].t||(ye[0].t={}),ye[0].trace=ae,ce[st]=ye}}for(le(ee,q,oe),Q=0;QQ||ze>re)&&(ae.style(\"overflow\",\"hidden\"),Ae=ae.node().getBoundingClientRect(),De=Ae.width,ze=Ae.height);var Ze=+O.attr(\"x\"),at=+O.attr(\"y\"),nt=V||O.node().getBoundingClientRect().height,rt=-nt/4;if(se[0]===\"y\")j.attr({transform:\"rotate(\"+[-90,Ze,at]+\")\"+x(-De/2,rt-ze/2)});else if(se[0]===\"l\")at=rt-ze/2;else if(se[0]===\"a\"&&se.indexOf(\"atitle\")!==0)Ze=0,at=rt;else{var st=O.attr(\"text-anchor\");Ze=Ze-De*(st===\"middle\"?.5:st===\"end\"?1:0),at=at+rt-ze/2}ae.attr({x:Ze,y:at}),U&&U.call(O,j),fe(j)})})):le(),O};var t=/(<|<|<)/g,r=/(>|>|>)/g;function o(O){return O.replace(t,\"\\\\lt \").replace(r,\"\\\\gt \")}var a=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function n(O,P,U){var B=parseInt((MathJax.version||\"\").split(\".\")[0]);if(B!==2&&B!==3){v.warn(\"No MathJax version:\",MathJax.version);return}var X,$,se,le,fe=function(){return $=v.extendDeepAll({},MathJax.Hub.config),se=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:a},displayAlign:\"left\"})},V=function(){$=v.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=a},Y=function(){if(X=MathJax.Hub.config.menuSettings.renderer,X!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},ee=function(){X=MathJax.config.startup.output,X!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},q=function(){var ce=\"math-output-\"+v.randstr({},64);le=G.select(\"body\").append(\"div\").attr({id:ce}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":P.fontSize+\"px\"}).text(o(O));var be=le.node();return B===2?MathJax.Hub.Typeset(be):MathJax.typeset([be])},oe=function(){var ce=le.select(B===2?\".MathJax_SVG\":\".MathJax\"),be=!ce.empty()&&le.select(\"svg\").node();if(!be)v.log(\"There was an error in the tex syntax.\",O),U();else{var Ae=be.getBoundingClientRect(),De;B===2?De=G.select(\"body\").select(\"#MathJax_SVG_glyphs\"):De=ce.select(\"defs\"),U(ce,De,Ae)}le.remove()},ae=function(){if(X!==\"SVG\")return MathJax.Hub.setRenderer(X)},j=function(){X!==\"svg\"&&(MathJax.config.startup.output=X)},Q=function(){return se!==void 0&&(MathJax.Hub.processSectionDelay=se),MathJax.Hub.Config($)},re=function(){MathJax.config=$};B===2?MathJax.Hub.Queue(fe,Y,q,oe,ae,Q):B===3&&(V(),ee(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){q(),oe(),j(),re()}))}var i={sup:\"font-size:70%\",sub:\"font-size:70%\",s:\"text-decoration:line-through\",u:\"text-decoration:underline\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},s={sub:\"0.3em\",sup:\"-0.6em\"},h={sub:\"-0.21em\",sup:\"0.42em\"},c=\"\\u200B\",m=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],p=Z.NEWLINES=/(\\r\\n?|\\n)/g,T=/(<[^<>]*>)/,l=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,_=//i;Z.BR_TAG_ALL=//gi;var w=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,A=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,M=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,g=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function b(O,P){if(!O)return null;var U=O.match(P),B=U&&(U[3]||U[4]);return B&&f(B)}var d=/(^|;)\\s*color:/;Z.plainText=function(O,P){P=P||{};for(var U=P.len!==void 0&&P.len!==-1?P.len:1/0,B=P.allowedTags!==void 0?P.allowedTags:[\"br\"],X=\"...\",$=X.length,se=O.split(T),le=[],fe=\"\",V=0,Y=0;Y$?le.push(ee.slice(0,Math.max(0,j-$))+X):le.push(ee.slice(0,j));break}fe=\"\"}}return le.join(\"\")};var u={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},y=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function f(O){return O.replace(y,function(P,U){var B;return U.charAt(0)===\"#\"?B=R(U.charAt(1)===\"x\"?parseInt(U.slice(2),16):parseInt(U.slice(1),10)):B=u[U],B||P})}Z.convertEntities=f;function R(O){if(!(O>1114111)){var P=String.fromCodePoint;if(P)return P(O);var U=String.fromCharCode;return O<=65535?U(O):U((O>>10)+55232,O%1024+56320)}}function L(O,P){P=P.replace(p,\" \");var U=!1,B=[],X,$=-1;function se(){$++;var ze=document.createElementNS(S.svg,\"tspan\");G.select(ze).attr({class:\"line\",dy:$*E+\"em\"}),O.appendChild(ze),X=ze;var Ze=B;if(B=[{node:ze}],Ze.length>1)for(var at=1;at.\",P);return}var Ze=B.pop();ze!==Ze.type&&v.log(\"Start tag <\"+Ze.type+\"> doesnt match end tag <\"+ze+\">. Pretending it did match.\",P),X=B[B.length-1].node}var Y=_.test(P);Y?se():(X=O,B=[{node:O}]);for(var ee=P.split(T),q=0;q=0;_--,w++){var A=p[_];l[w]=[1-A[0],A[1]]}return l}function h(p,T){T=T||{};for(var l=p.domain,_=p.range,w=_.length,A=new Array(w),M=0;Mp-c?c=p-(m-p):m-p=0?_=o.colorscale.sequential:_=o.colorscale.sequentialminus,s._sync(\"colorscale\",_)}}}}),rc=Xe({\"src/components/colorscale/index.js\"(Z,G){\"use strict\";var v=W0(),x=wp();G.exports={moduleType:\"component\",name:\"colorscale\",attributes:ku(),layoutAttributes:o5(),supplyLayoutDefaults:oz(),handleDefaults:_h(),crossTraceDefaults:sz(),calc:Tp(),scales:v.scales,defaultScale:v.defaultScale,getScale:v.get,isValidScale:v.isValid,hasColorscale:x.hasColorscale,extractOpts:x.extractOpts,extractScale:x.extractScale,flipScale:x.flipScale,makeColorScaleFunc:x.makeColorScaleFunc,makeColorScaleFuncFromTrace:x.makeColorScaleFuncFromTrace}}}),Fu=Xe({\"src/traces/scatter/subtypes.js\"(Z,G){\"use strict\";var v=sa(),x=bp().isTypedArraySpec;G.exports={hasLines:function(S){return S.visible&&S.mode&&S.mode.indexOf(\"lines\")!==-1},hasMarkers:function(S){return S.visible&&(S.mode&&S.mode.indexOf(\"markers\")!==-1||S.type===\"splom\")},hasText:function(S){return S.visible&&S.mode&&S.mode.indexOf(\"text\")!==-1},isBubble:function(S){var E=S.marker;return v.isPlainObject(E)&&(v.isArrayOrTypedArray(E.size)||x(E.size))}}}}),r1=Xe({\"src/traces/scatter/make_bubble_size_func.js\"(Z,G){\"use strict\";var v=rs();G.exports=function(S,E){E||(E=2);var e=S.marker,t=e.sizeref||1,r=e.sizemin||0,o=e.sizemode===\"area\"?function(a){return Math.sqrt(a/t)}:function(a){return a/t};return function(a){var n=o(a/E);return v(n)&&n>0?Math.max(n,r):0}}}}),$p=Xe({\"src/components/fx/helpers.js\"(Z){\"use strict\";var G=sa();Z.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},Z.isTraceInSubplots=function(t,r){if(t.type===\"splom\"){for(var o=t.xaxes||[],a=t.yaxes||[],n=0;n=0&&o.index2&&(r.push([a].concat(n.splice(0,2))),i=\"l\",a=a==\"m\"?\"l\":\"L\");;){if(n.length==v[i])return n.unshift(a),r.push(n);if(n.length0&&(ye=100,Me=Me.replace(\"-open\",\"\")),Me.indexOf(\"-dot\")>0&&(ye+=200,Me=Me.replace(\"-dot\",\"\")),Me=l.symbolNames.indexOf(Me),Me>=0&&(Me+=ye)}return Me%100>=d||Me>=400?0:Math.floor(Math.max(Me,0))};function y(Me,ye,he,Oe){var tt=Me%100;return l.symbolFuncs[tt](ye,he,Oe)+(Me>=200?u:\"\")}var f=S(\"~f\"),R={radial:{type:\"radial\"},radialreversed:{type:\"radial\",reversed:!0},horizontal:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};l.gradient=function(Me,ye,he,Oe,tt,ot){var Qe=R[Oe];return L(Me,ye,he,Qe.type,tt,ot,Qe.start,Qe.stop,!1,Qe.reversed)};function L(Me,ye,he,Oe,tt,ot,Qe,Pt,It,qt){var Wt=tt.length,kr;Oe===\"linear\"?kr={node:\"linearGradient\",attrs:{x1:Qe.x,y1:Qe.y,x2:Pt.x,y2:Pt.y,gradientUnits:It?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:qt}:Oe===\"radial\"&&(kr={node:\"radialGradient\",reversed:qt});for(var mr=new Array(Wt),qr=0;qr=0&&Me.i===void 0&&(Me.i=ot.i),ye.style(\"opacity\",Oe.selectedOpacityFn?Oe.selectedOpacityFn(Me):Me.mo===void 0?Qe.opacity:Me.mo),Oe.ms2mrc){var It;Me.ms===\"various\"||Qe.size===\"various\"?It=3:It=Oe.ms2mrc(Me.ms),Me.mrc=It,Oe.selectedSizeFn&&(It=Me.mrc=Oe.selectedSizeFn(Me));var qt=l.symbolNumber(Me.mx||Qe.symbol)||0;Me.om=qt%200>=100;var Wt=st(Me,he),kr=Q(Me,he);ye.attr(\"d\",y(qt,It,Wt,kr))}var mr=!1,qr,Sr,Rr;if(Me.so)Rr=Pt.outlierwidth,Sr=Pt.outliercolor,qr=Qe.outliercolor;else{var wt=(Pt||{}).width;Rr=(Me.mlw+1||wt+1||(Me.trace?(Me.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in Me?Sr=Me.mlcc=Oe.lineScale(Me.mlc):x.isArrayOrTypedArray(Pt.color)?Sr=r.defaultLine:Sr=Pt.color,x.isArrayOrTypedArray(Qe.color)&&(qr=r.defaultLine,mr=!0),\"mc\"in Me?qr=Me.mcc=Oe.markerScale(Me.mc):qr=Qe.color||Qe.colors||\"rgba(0,0,0,0)\",Oe.selectedColorFn&&(qr=Oe.selectedColorFn(Me))}let Ne=Me.mld||(Pt||{}).dash;if(Ne&&l.dashLine(ye,Ne,Rr),Me.om)ye.call(r.stroke,qr).style({\"stroke-width\":(Rr||1)+\"px\",fill:\"none\"});else{ye.style(\"stroke-width\",(Me.isBlank?0:Rr)+\"px\");var Ke=Qe.gradient,Te=Me.mgt;Te?mr=!0:Te=Ke&&Ke.type,x.isArrayOrTypedArray(Te)&&(Te=Te[0],R[Te]||(Te=0));var Ie=Qe.pattern,Ve=l.getPatternAttr,Ce=Ie&&(Ve(Ie.shape,Me.i,\"\")||Ve(Ie.path,Me.i,\"\"));if(Te&&Te!==\"none\"){var Ee=Me.mgc;Ee?mr=!0:Ee=Ke.color;var Pe=he.uid;mr&&(Pe+=\"-\"+Me.i),l.gradient(ye,tt,Pe,Te,[[0,Ee],[1,qr]],\"fill\")}else if(Ce){var ft=!1,ct=Ie.fgcolor;!ct&&ot&&ot.color&&(ct=ot.color,ft=!0);var _t=Ve(ct,Me.i,ot&&ot.color||null),Ct=Ve(Ie.bgcolor,Me.i,null),ir=Ie.fgopacity,rr=Ve(Ie.size,Me.i,8),er=Ve(Ie.solidity,Me.i,.3);ft=ft||Me.mcc||x.isArrayOrTypedArray(Ie.shape)||x.isArrayOrTypedArray(Ie.path)||x.isArrayOrTypedArray(Ie.bgcolor)||x.isArrayOrTypedArray(Ie.fgcolor)||x.isArrayOrTypedArray(Ie.size)||x.isArrayOrTypedArray(Ie.solidity);var Lr=he.uid;ft&&(Lr+=\"-\"+Me.i),l.pattern(ye,\"point\",tt,Lr,Ce,rr,er,Me.mcc,Ie.fillmode,Ct,_t,ir)}else x.isArrayOrTypedArray(qr)?r.fill(ye,qr[Me.i]):r.fill(ye,qr);Rr&&r.stroke(ye,Sr)}},l.makePointStyleFns=function(Me){var ye={},he=Me.marker;return ye.markerScale=l.tryColorscale(he,\"\"),ye.lineScale=l.tryColorscale(he,\"line\"),t.traceIs(Me,\"symbols\")&&(ye.ms2mrc=m.isBubble(Me)?p(Me):function(){return(he.size||6)/2}),Me.selectedpoints&&x.extendFlat(ye,l.makeSelectedPointStyleFns(Me)),ye},l.makeSelectedPointStyleFns=function(Me){var ye={},he=Me.selected||{},Oe=Me.unselected||{},tt=Me.marker||{},ot=he.marker||{},Qe=Oe.marker||{},Pt=tt.opacity,It=ot.opacity,qt=Qe.opacity,Wt=It!==void 0,kr=qt!==void 0;(x.isArrayOrTypedArray(Pt)||Wt||kr)&&(ye.selectedOpacityFn=function(Ie){var Ve=Ie.mo===void 0?tt.opacity:Ie.mo;return Ie.selected?Wt?It:Ve:kr?qt:c*Ve});var mr=tt.color,qr=ot.color,Sr=Qe.color;(qr||Sr)&&(ye.selectedColorFn=function(Ie){var Ve=Ie.mcc||mr;return Ie.selected?qr||Ve:Sr||Ve});var Rr=tt.size,wt=ot.size,Ne=Qe.size,Ke=wt!==void 0,Te=Ne!==void 0;return t.traceIs(Me,\"symbols\")&&(Ke||Te)&&(ye.selectedSizeFn=function(Ie){var Ve=Ie.mrc||Rr/2;return Ie.selected?Ke?wt/2:Ve:Te?Ne/2:Ve}),ye},l.makeSelectedTextStyleFns=function(Me){var ye={},he=Me.selected||{},Oe=Me.unselected||{},tt=Me.textfont||{},ot=he.textfont||{},Qe=Oe.textfont||{},Pt=tt.color,It=ot.color,qt=Qe.color;return ye.selectedTextColorFn=function(Wt){var kr=Wt.tc||Pt;return Wt.selected?It||kr:qt||(It?kr:r.addOpacity(kr,c))},ye},l.selectedPointStyle=function(Me,ye){if(!(!Me.size()||!ye.selectedpoints)){var he=l.makeSelectedPointStyleFns(ye),Oe=ye.marker||{},tt=[];he.selectedOpacityFn&&tt.push(function(ot,Qe){ot.style(\"opacity\",he.selectedOpacityFn(Qe))}),he.selectedColorFn&&tt.push(function(ot,Qe){r.fill(ot,he.selectedColorFn(Qe))}),he.selectedSizeFn&&tt.push(function(ot,Qe){var Pt=Qe.mx||Oe.symbol||0,It=he.selectedSizeFn(Qe);ot.attr(\"d\",y(l.symbolNumber(Pt),It,st(Qe,ye),Q(Qe,ye))),Qe.mrc2=It}),tt.length&&Me.each(function(ot){for(var Qe=v.select(this),Pt=0;Pt0?he:0}l.textPointStyle=function(Me,ye,he){if(Me.size()){var Oe;if(ye.selectedpoints){var tt=l.makeSelectedTextStyleFns(ye);Oe=tt.selectedTextColorFn}var ot=ye.texttemplate,Qe=he._fullLayout;Me.each(function(Pt){var It=v.select(this),qt=ot?x.extractOption(Pt,ye,\"txt\",\"texttemplate\"):x.extractOption(Pt,ye,\"tx\",\"text\");if(!qt&&qt!==0){It.remove();return}if(ot){var Wt=ye._module.formatLabels,kr=Wt?Wt(Pt,ye,Qe):{},mr={};T(mr,ye,Pt.i),qt=x.texttemplateString({data:[mr,Pt,ye._meta],fallback:ye.texttemplatefallback,labels:kr,locale:Qe._d3locale,template:qt})}var qr=Pt.tp||ye.textposition,Sr=N(Pt,ye),Rr=Oe?Oe(Pt):Pt.tc||ye.textfont.color;It.call(l.font,{family:Pt.tf||ye.textfont.family,weight:Pt.tw||ye.textfont.weight,style:Pt.ty||ye.textfont.style,variant:Pt.tv||ye.textfont.variant,textcase:Pt.tC||ye.textfont.textcase,lineposition:Pt.tE||ye.textfont.lineposition,shadow:Pt.tS||ye.textfont.shadow,size:Sr,color:Rr}).text(qt).call(n.convertToTspans,he).call(F,qr,Sr,Pt.mrc)})}},l.selectedTextStyle=function(Me,ye){if(!(!Me.size()||!ye.selectedpoints)){var he=l.makeSelectedTextStyleFns(ye);Me.each(function(Oe){var tt=v.select(this),ot=he.selectedTextColorFn(Oe),Qe=Oe.tp||ye.textposition,Pt=N(Oe,ye);r.fill(tt,ot);var It=t.traceIs(ye,\"bar-like\");F(tt,Qe,Pt,Oe.mrc2||Oe.mrc,It)})}};var O=.5;l.smoothopen=function(Me,ye){if(Me.length<3)return\"M\"+Me.join(\"L\");var he=\"M\"+Me[0],Oe=[],tt;for(tt=1;tt=It||Ie>=Wt&&Ie<=It)&&(Ve<=kr&&Ve>=qt||Ve>=kr&&Ve<=qt)&&(Me=[Ie,Ve])}return Me}l.applyBackoff=V,l.makeTester=function(){var Me=x.ensureSingleById(v.select(\"body\"),\"svg\",\"js-plotly-tester\",function(he){he.attr(i.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),ye=x.ensureSingle(Me,\"path\",\"js-reference-point\",function(he){he.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});l.tester=Me,l.testref=ye},l.savedBBoxes={};var Y=0,ee=1e4;l.bBox=function(Me,ye,he){he||(he=q(Me));var Oe;if(he){if(Oe=l.savedBBoxes[he],Oe)return x.extendFlat({},Oe)}else if(Me.childNodes.length===1){var tt=Me.childNodes[0];if(he=q(tt),he){var ot=+tt.getAttribute(\"x\")||0,Qe=+tt.getAttribute(\"y\")||0,Pt=tt.getAttribute(\"transform\");if(!Pt){var It=l.bBox(tt,!1,he);return ot&&(It.left+=ot,It.right+=ot),Qe&&(It.top+=Qe,It.bottom+=Qe),It}if(he+=\"~\"+ot+\"~\"+Qe+\"~\"+Pt,Oe=l.savedBBoxes[he],Oe)return x.extendFlat({},Oe)}}var qt,Wt;ye?qt=Me:(Wt=l.tester.node(),qt=Me.cloneNode(!0),Wt.appendChild(qt)),v.select(qt).attr(\"transform\",null).call(n.positionText,0,0);var kr=qt.getBoundingClientRect(),mr=l.testref.node().getBoundingClientRect();ye||Wt.removeChild(qt);var qr={height:kr.height,width:kr.width,left:kr.left-mr.left,top:kr.top-mr.top,right:kr.right-mr.left,bottom:kr.bottom-mr.top};return Y>=ee&&(l.savedBBoxes={},Y=0),he&&(l.savedBBoxes[he]=qr),Y++,x.extendFlat({},qr)};function q(Me){var ye=Me.getAttribute(\"data-unformatted\");if(ye!==null)return ye+Me.getAttribute(\"data-math\")+Me.getAttribute(\"text-anchor\")+Me.getAttribute(\"style\")}l.setClipUrl=function(Me,ye,he){Me.attr(\"clip-path\",oe(ye,he))};function oe(Me,ye){if(!Me)return null;var he=ye._context,Oe=he._exportedPlot?\"\":he._baseUrl||\"\";return Oe?\"url('\"+Oe+\"#\"+Me+\"')\":\"url(#\"+Me+\")\"}l.getTranslate=function(Me){var ye=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,he=Me.attr?\"attr\":\"getAttribute\",Oe=Me[he](\"transform\")||\"\",tt=Oe.replace(ye,function(ot,Qe,Pt){return[Qe,Pt].join(\" \")}).split(\" \");return{x:+tt[0]||0,y:+tt[1]||0}},l.setTranslate=function(Me,ye,he){var Oe=/(\\btranslate\\(.*?\\);?)/,tt=Me.attr?\"attr\":\"getAttribute\",ot=Me.attr?\"attr\":\"setAttribute\",Qe=Me[tt](\"transform\")||\"\";return ye=ye||0,he=he||0,Qe=Qe.replace(Oe,\"\").trim(),Qe+=a(ye,he),Qe=Qe.trim(),Me[ot](\"transform\",Qe),Qe},l.getScale=function(Me){var ye=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,he=Me.attr?\"attr\":\"getAttribute\",Oe=Me[he](\"transform\")||\"\",tt=Oe.replace(ye,function(ot,Qe,Pt){return[Qe,Pt].join(\" \")}).split(\" \");return{x:+tt[0]||1,y:+tt[1]||1}},l.setScale=function(Me,ye,he){var Oe=/(\\bscale\\(.*?\\);?)/,tt=Me.attr?\"attr\":\"getAttribute\",ot=Me.attr?\"attr\":\"setAttribute\",Qe=Me[tt](\"transform\")||\"\";return ye=ye||1,he=he||1,Qe=Qe.replace(Oe,\"\").trim(),Qe+=\"scale(\"+ye+\",\"+he+\")\",Qe=Qe.trim(),Me[ot](\"transform\",Qe),Qe};var ae=/\\s*sc.*/;l.setPointGroupScale=function(Me,ye,he){if(ye=ye||1,he=he||1,!!Me){var Oe=ye===1&&he===1?\"\":\"scale(\"+ye+\",\"+he+\")\";Me.each(function(){var tt=(this.getAttribute(\"transform\")||\"\").replace(ae,\"\");tt+=Oe,tt=tt.trim(),this.setAttribute(\"transform\",tt)})}};var j=/translate\\([^)]*\\)\\s*$/;l.setTextPointsScale=function(Me,ye,he){Me&&Me.each(function(){var Oe,tt=v.select(this),ot=tt.select(\"text\");if(ot.node()){var Qe=parseFloat(ot.attr(\"x\")||0),Pt=parseFloat(ot.attr(\"y\")||0),It=(tt.attr(\"transform\")||\"\").match(j);ye===1&&he===1?Oe=[]:Oe=[a(Qe,Pt),\"scale(\"+ye+\",\"+he+\")\",a(-Qe,-Pt)],It&&Oe.push(It),tt.attr(\"transform\",Oe.join(\"\"))}})};function Q(Me,ye){var he;return Me&&(he=Me.mf),he===void 0&&(he=ye.marker&&ye.marker.standoff||0),!ye._geo&&!ye._xA?-he:he}l.getMarkerStandoff=Q;var re=Math.atan2,ce=Math.cos,be=Math.sin;function Ae(Me,ye){var he=ye[0],Oe=ye[1];return[he*ce(Me)-Oe*be(Me),he*be(Me)+Oe*ce(Me)]}var De,ze,Ze,at,nt,rt;function st(Me,ye){var he=Me.ma;he===void 0&&(he=ye.marker.angle,(!he||x.isArrayOrTypedArray(he))&&(he=0));var Oe,tt,ot=ye.marker.angleref;if(ot===\"previous\"||ot===\"north\"){if(ye._geo){var Qe=ye._geo.project(Me.lonlat);Oe=Qe[0],tt=Qe[1]}else{var Pt=ye._xA,It=ye._yA;if(Pt&&It)Oe=Pt.c2p(Me.x),tt=It.c2p(Me.y);else return 90}if(ye._geo){var qt=Me.lonlat[0],Wt=Me.lonlat[1],kr=ye._geo.project([qt,Wt+1e-5]),mr=ye._geo.project([qt+1e-5,Wt]),qr=re(mr[1]-tt,mr[0]-Oe),Sr=re(kr[1]-tt,kr[0]-Oe),Rr;if(ot===\"north\")Rr=he/180*Math.PI;else if(ot===\"previous\"){var wt=qt/180*Math.PI,Ne=Wt/180*Math.PI,Ke=De/180*Math.PI,Te=ze/180*Math.PI,Ie=Ke-wt,Ve=ce(Te)*be(Ie),Ce=be(Te)*ce(Ne)-ce(Te)*be(Ne)*ce(Ie);Rr=-re(Ve,Ce)-Math.PI,De=qt,ze=Wt}var Ee=Ae(qr,[ce(Rr),0]),Pe=Ae(Sr,[be(Rr),0]);he=re(Ee[1]+Pe[1],Ee[0]+Pe[0])/Math.PI*180,ot===\"previous\"&&!(rt===ye.uid&&Me.i===nt+1)&&(he=null)}if(ot===\"previous\"&&!ye._geo)if(rt===ye.uid&&Me.i===nt+1&&E(Oe)&&E(tt)){var ft=Oe-Ze,ct=tt-at,_t=ye.line&&ye.line.shape||\"\",Ct=_t.slice(_t.length-1);Ct===\"h\"&&(ct=0),Ct===\"v\"&&(ft=0),he+=re(ct,ft)/Math.PI*180+90}else he=null}return Ze=Oe,at=tt,nt=Me.i,rt=ye.uid,he}l.getMarkerAngle=st}}),K0=Xe({\"src/components/titles/index.js\"(Z,G){\"use strict\";var v=Hn(),x=rs(),S=bc(),E=so(),e=sa(),t=e.strTranslate,r=es(),o=$n(),a=ou(),n=Ym(),i=uh().OPPOSITE_SIDE,s=/ [XY][0-9]* /,h=1.6,c=1.6;function m(p,T,l){var _=p._fullLayout,w=l.propContainer,A=l.propName,M=l.placeholder,g=l.traceIndex,b=l.avoid||{},d=l.attributes,u=l.transform,y=l.containerGroup,f=1,R=w.title,L=(R&&R.text?R.text:\"\").trim(),z=!1,F=R&&R.font?R.font:{},N=F.family,O=F.size,P=F.color,U=F.weight,B=F.style,X=F.variant,$=F.textcase,se=F.lineposition,le=F.shadow,fe=l.subtitlePropName,V=!!fe,Y=l.subtitlePlaceholder,ee=(w.title||{}).subtitle||{text:\"\",font:{}},q=(ee.text||\"\").trim(),oe=!1,ae=1,j=ee.font,Q=j.family,re=j.size,ce=j.color,be=j.weight,Ae=j.style,De=j.variant,ze=j.textcase,Ze=j.lineposition,at=j.shadow,nt;A===\"title.text\"?nt=\"titleText\":A.indexOf(\"axis\")!==-1?nt=\"axisTitleText\":A.indexOf(\"colorbar\")!==-1&&(nt=\"colorbarTitleText\");var rt=p._context.edits[nt];function st(mr,qr){return mr===void 0||qr===void 0?!1:mr.replace(s,\" % \")===qr.replace(s,\" % \")}L===\"\"?f=0:st(L,M)&&(rt||(L=\"\"),f=.2,z=!0),V&&(q===\"\"?ae=0:st(q,Y)&&(rt||(q=\"\"),ae=.2,oe=!0)),l._meta?L=e.templateString(L,l._meta):_._meta&&(L=e.templateString(L,_._meta));var Me=L||q||rt,ye;y||(y=e.ensureSingle(_._infolayer,\"g\",\"g-\"+T),ye=_._hColorbarMoveTitle);var he=y.selectAll(\"text.\"+T).data(Me?[0]:[]);he.enter().append(\"text\"),he.text(L).attr(\"class\",T),he.exit().remove();var Oe=null,tt=T+\"-subtitle\",ot=q||rt;if(V&&(Oe=y.selectAll(\"text.\"+tt).data(ot?[0]:[]),Oe.enter().append(\"text\"),Oe.text(q).attr(\"class\",tt),Oe.exit().remove()),!Me)return y;function Qe(mr,qr){e.syncOrAsync([Pt,It],{title:mr,subtitle:qr})}function Pt(mr){var qr=mr.title,Sr=mr.subtitle,Rr;!u&&ye&&(u={}),u?(Rr=\"\",u.rotate&&(Rr+=\"rotate(\"+[u.rotate,d.x,d.y]+\")\"),(u.offset||ye)&&(Rr+=t(0,(u.offset||0)-(ye||0)))):Rr=null,qr.attr(\"transform\",Rr);function wt(Ce){if(Ce){var Ee=v.select(Ce.node().parentNode).select(\".\"+tt);if(!Ee.empty()){var Pe=Ce.node().getBBox();if(Pe.height){var ft=Pe.y+Pe.height+h*re;Ee.attr(\"y\",ft)}}}}if(qr.style(\"opacity\",f*o.opacity(P)).call(r.font,{color:o.rgb(P),size:v.round(O,2),family:N,weight:U,style:B,variant:X,textcase:$,shadow:le,lineposition:se}).attr(d).call(a.convertToTspans,p,wt),Sr&&!Sr.empty()){var Ne=y.select(\".\"+T+\"-math-group\"),Ke=qr.node().getBBox(),Te=Ne.node()?Ne.node().getBBox():void 0,Ie=Te?Te.y+Te.height+h*re:Ke.y+Ke.height+c*re,Ve=e.extendFlat({},d,{y:Ie});Sr.attr(\"transform\",Rr),Sr.style(\"opacity\",ae*o.opacity(ce)).call(r.font,{color:o.rgb(ce),size:v.round(re,2),family:Q,weight:be,style:Ae,variant:De,textcase:ze,shadow:at,lineposition:Ze}).attr(Ve).call(a.convertToTspans,p)}return S.previousPromises(p)}function It(mr){var qr=mr.title,Sr=v.select(qr.node().parentNode);if(b&&b.selection&&b.side&&L){Sr.attr(\"transform\",null);var Rr=i[b.side],wt=b.side===\"left\"||b.side===\"top\"?-1:1,Ne=x(b.pad)?b.pad:2,Ke=r.bBox(Sr.node()),Te={t:0,b:0,l:0,r:0},Ie=p._fullLayout._reservedMargin;for(var Ve in Ie)for(var Ce in Ie[Ve]){var Ee=Ie[Ve][Ce];Te[Ce]=Math.max(Te[Ce],Ee)}var Pe={left:Te.l,top:Te.t,right:_.width-Te.r,bottom:_.height-Te.b},ft=b.maxShift||wt*(Pe[b.side]-Ke[b.side]),ct=0;if(ft<0)ct=ft;else{var _t=b.offsetLeft||0,Ct=b.offsetTop||0;Ke.left-=_t,Ke.right-=_t,Ke.top-=Ct,Ke.bottom-=Ct,b.selection.each(function(){var rr=r.bBox(this);e.bBoxIntersect(Ke,rr,Ne)&&(ct=Math.max(ct,wt*(rr[b.side]-Ke[Rr])+Ne))}),ct=Math.min(ft,ct),w._titleScoot=Math.abs(ct)}if(ct>0||ft<0){var ir={left:[-ct,0],right:[ct,0],top:[0,-ct],bottom:[0,ct]}[b.side];Sr.attr(\"transform\",t(ir[0],ir[1]))}}}he.call(Qe,Oe);function qt(mr,qr){mr.text(qr).on(\"mouseover.opacity\",function(){v.select(this).transition().duration(n.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){v.select(this).transition().duration(n.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(rt&&(L?he.on(\".opacity\",null):(qt(he,M),z=!0),he.call(a.makeEditable,{gd:p}).on(\"edit\",function(mr){g!==void 0?E.call(\"_guiRestyle\",p,A,mr,g):E.call(\"_guiRelayout\",p,A,mr)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(Qe)}).on(\"input\",function(mr){this.text(mr||\" \").call(a.positionText,d.x,d.y)}),V)){if(V&&!L){var Wt=he.node().getBBox(),kr=Wt.y+Wt.height+c*re;Oe.attr(\"y\",kr)}q?Oe.on(\".opacity\",null):(qt(Oe,Y),oe=!0),Oe.call(a.makeEditable,{gd:p}).on(\"edit\",function(mr){E.call(\"_guiRelayout\",p,\"title.subtitle.text\",mr)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(Qe)}).on(\"input\",function(mr){this.text(mr||\" \").call(a.positionText,Oe.attr(\"x\"),Oe.attr(\"y\"))})}return he.classed(\"js-placeholder\",z),Oe&&!Oe.empty()&&Oe.classed(\"js-placeholder\",oe),y}G.exports={draw:m,SUBTITLE_PADDING_EM:c,SUBTITLE_PADDING_MATHJAX_EM:h}}}),wv=Xe({\"src/plots/cartesian/set_convert.js\"(Z,G){\"use strict\";var v=Hn(),x=Xv().utcFormat,S=sa(),E=S.numberFormat,e=rs(),t=S.cleanNumber,r=S.ms2DateTime,o=S.dateTime2ms,a=S.ensureNumber,n=S.isArrayOrTypedArray,i=Hs(),s=i.FP_SAFE,h=i.BADNUM,c=i.LOG_CLIP,m=i.ONEWEEK,p=i.ONEDAY,T=i.ONEHOUR,l=i.ONEMIN,_=i.ONESEC,w=ef(),A=lh(),M=A.HOUR_PATTERN,g=A.WEEKDAY_PATTERN;function b(u){return Math.pow(10,u)}function d(u){return u!=null}G.exports=function(y,f){f=f||{};var R=y._id||\"x\",L=R.charAt(0);function z(q,oe){if(q>0)return Math.log(q)/Math.LN10;if(q<=0&&oe&&y.range&&y.range.length===2){var ae=y.range[0],j=y.range[1];return .5*(ae+j-2*c*Math.abs(ae-j))}else return h}function F(q,oe,ae,j){if((j||{}).msUTC&&e(q))return+q;var Q=o(q,ae||y.calendar);if(Q===h)if(e(q)){q=+q;var re=Math.floor(S.mod(q+.05,1)*10),ce=Math.round(q-re/10);Q=o(new Date(ce))+re/10}else return h;return Q}function N(q,oe,ae){return r(q,oe,ae||y.calendar)}function O(q){return y._categories[Math.round(q)]}function P(q){if(d(q)){if(y._categoriesMap===void 0&&(y._categoriesMap={}),y._categoriesMap[q]!==void 0)return y._categoriesMap[q];y._categories.push(typeof q==\"number\"?String(q):q);var oe=y._categories.length-1;return y._categoriesMap[q]=oe,oe}return h}function U(q,oe){for(var ae=new Array(oe),j=0;jy.range[1]&&(ae=!ae);for(var j=ae?-1:1,Q=j*q,re=0,ce=0;ceAe)re=ce+1;else{re=Q<(be+Ae)/2?ce:ce+1;break}}var De=y._B[re]||0;return isFinite(De)?se(q,y._m2,De):0},V=function(q){var oe=y._rangebreaks.length;if(!oe)return le(q,y._m,y._b);for(var ae=0,j=0;jy._rangebreaks[j].pmax&&(ae=j+1);return le(q,y._m2,y._B[ae])}}y.c2l=y.type===\"log\"?z:a,y.l2c=y.type===\"log\"?b:a,y.l2p=fe,y.p2l=V,y.c2p=y.type===\"log\"?function(q,oe){return fe(z(q,oe))}:fe,y.p2c=y.type===\"log\"?function(q){return b(V(q))}:V,[\"linear\",\"-\"].indexOf(y.type)!==-1?(y.d2r=y.r2d=y.d2c=y.r2c=y.d2l=y.r2l=t,y.c2d=y.c2r=y.l2d=y.l2r=a,y.d2p=y.r2p=function(q){return y.l2p(t(q))},y.p2d=y.p2r=V,y.cleanPos=a):y.type===\"log\"?(y.d2r=y.d2l=function(q,oe){return z(t(q),oe)},y.r2d=y.r2c=function(q){return b(t(q))},y.d2c=y.r2l=t,y.c2d=y.l2r=a,y.c2r=z,y.l2d=b,y.d2p=function(q,oe){return y.l2p(y.d2r(q,oe))},y.p2d=function(q){return b(V(q))},y.r2p=function(q){return y.l2p(t(q))},y.p2r=V,y.cleanPos=a):y.type===\"date\"?(y.d2r=y.r2d=S.identity,y.d2c=y.r2c=y.d2l=y.r2l=F,y.c2d=y.c2r=y.l2d=y.l2r=N,y.d2p=y.r2p=function(q,oe,ae){return y.l2p(F(q,0,ae))},y.p2d=y.p2r=function(q,oe,ae){return N(V(q),oe,ae)},y.cleanPos=function(q){return S.cleanDate(q,h,y.calendar)}):y.type===\"category\"?(y.d2c=y.d2l=P,y.r2d=y.c2d=y.l2d=O,y.d2r=y.d2l_noadd=X,y.r2c=function(q){var oe=$(q);return oe!==void 0?oe:y.fraction2r(.5)},y.l2r=y.c2r=a,y.r2l=$,y.d2p=function(q){return y.l2p(y.r2c(q))},y.p2d=function(q){return O(V(q))},y.r2p=y.d2p,y.p2r=V,y.cleanPos=function(q){return typeof q==\"string\"&&q!==\"\"?q:a(q)}):y.type===\"multicategory\"&&(y.r2d=y.c2d=y.l2d=O,y.d2r=y.d2l_noadd=X,y.r2c=function(q){var oe=X(q);return oe!==void 0?oe:y.fraction2r(.5)},y.r2c_just_indices=B,y.l2r=y.c2r=a,y.r2l=X,y.d2p=function(q){return y.l2p(y.r2c(q))},y.p2d=function(q){return O(V(q))},y.r2p=y.d2p,y.p2r=V,y.cleanPos=function(q){return Array.isArray(q)||typeof q==\"string\"&&q!==\"\"?q:a(q)},y.setupMultiCategory=function(q){var oe=y._traceIndices,ae,j,Q=y._matchGroup;if(Q&&y._categories.length===0){for(var re in Q)if(re!==R){var ce=f[w.id2name(re)];oe=oe.concat(ce._traceIndices)}}var be=[[0,{}],[0,{}]],Ae=[];for(ae=0;aece[1]&&(j[re?0:1]=ae),j[0]===j[1]){var be=y.l2r(oe),Ae=y.l2r(ae);if(oe!==void 0){var De=be+1;ae!==void 0&&(De=Math.min(De,Ae)),j[re?1:0]=De}if(ae!==void 0){var ze=Ae+1;oe!==void 0&&(ze=Math.max(ze,be)),j[re?0:1]=ze}}}},y.cleanRange=function(q,oe){y._cleanRange(q,oe),y.limitRange(q)},y._cleanRange=function(q,oe){oe||(oe={}),q||(q=\"range\");var ae=S.nestedProperty(y,q).get(),j,Q;if(y.type===\"date\"?Q=S.dfltRange(y.calendar):L===\"y\"?Q=A.DFLTRANGEY:y._name===\"realaxis\"?Q=[0,1]:Q=oe.dfltRange||A.DFLTRANGEX,Q=Q.slice(),(y.rangemode===\"tozero\"||y.rangemode===\"nonnegative\")&&(Q[0]=0),!ae||ae.length!==2){S.nestedProperty(y,q).set(Q);return}var re=ae[0]===null,ce=ae[1]===null;for(y.type===\"date\"&&!y.autorange&&(ae[0]=S.cleanDate(ae[0],h,y.calendar),ae[1]=S.cleanDate(ae[1],h,y.calendar)),j=0;j<2;j++)if(y.type===\"date\"){if(!S.isDateTime(ae[j],y.calendar)){y[q]=Q;break}if(y.r2l(ae[0])===y.r2l(ae[1])){var be=S.constrain(y.r2l(ae[0]),S.MIN_MS+1e3,S.MAX_MS-1e3);ae[0]=y.l2r(be-1e3),ae[1]=y.l2r(be+1e3);break}}else{if(!e(ae[j]))if(!(re||ce)&&e(ae[1-j]))ae[j]=ae[1-j]*(j?10:.1);else{y[q]=Q;break}if(ae[j]<-s?ae[j]=-s:ae[j]>s&&(ae[j]=s),ae[0]===ae[1]){var Ae=Math.max(1,Math.abs(ae[0]*1e-6));ae[0]-=Ae,ae[1]+=Ae}}},y.setScale=function(q){var oe=f._size;if(y.overlaying){var ae=w.getFromId({_fullLayout:f},y.overlaying);y.domain=ae.domain}var j=q&&y._r?\"_r\":\"range\",Q=y.calendar;y.cleanRange(j);var re=y.r2l(y[j][0],Q),ce=y.r2l(y[j][1],Q),be=L===\"y\";if(be?(y._offset=oe.t+(1-y.domain[1])*oe.h,y._length=oe.h*(y.domain[1]-y.domain[0]),y._m=y._length/(re-ce),y._b=-y._m*ce):(y._offset=oe.l+y.domain[0]*oe.w,y._length=oe.w*(y.domain[1]-y.domain[0]),y._m=y._length/(ce-re),y._b=-y._m*re),y._rangebreaks=[],y._lBreaks=0,y._m2=0,y._B=[],y.rangebreaks){var Ae,De;if(y._rangebreaks=y.locateBreaks(Math.min(re,ce),Math.max(re,ce)),y._rangebreaks.length){for(Ae=0;Aece&&(ze=!ze),ze&&y._rangebreaks.reverse();var Ze=ze?-1:1;for(y._m2=Ze*y._length/(Math.abs(ce-re)-y._lBreaks),y._B.push(-y._m2*(be?ce:re)),Ae=0;AeQ&&(Q+=7,reQ&&(Q+=24,re=j&&re=j&&q=Qe.min&&(heQe.max&&(Qe.max=Oe),tt=!1)}tt&&ce.push({min:he,max:Oe})}};for(ae=0;ae_*2}function i(c){return Math.max(1,(c-1)/1e3)}function s(c,m){for(var p=c.length,T=i(p),l=0,_=0,w={},A=0;Al*2}function h(c){return E(c[0])&&E(c[1])}}}),Yd=Xe({\"src/plots/cartesian/autorange.js\"(Z,G){\"use strict\";var v=Hn(),x=rs(),S=sa(),E=Hs().FP_SAFE,e=so(),t=es(),r=ef(),o=r.getFromId,a=r.isLinked;G.exports={applyAutorangeOptions:y,getAutoRange:n,makePadFn:s,doAutoRange:p,findExtremes:T,concatExtremes:m};function n(f,R){var L,z,F=[],N=f._fullLayout,O=s(N,R,0),P=s(N,R,1),U=m(f,R),B=U.min,X=U.max;if(B.length===0||X.length===0)return S.simpleMap(R.range,R.r2l);var $=B[0].val,se=X[0].val;for(L=1;L0&&(Ae=oe-O(Q)-P(re),Ae>ae?De/Ae>j&&(ce=Q,be=re,j=De/Ae):De/oe>j&&(ce={val:Q.val,nopad:1},be={val:re.val,nopad:1},j=De/oe));function ze(st,Me){return Math.max(st,P(Me))}if($===se){var Ze=$-1,at=$+1;if(ee)if($===0)F=[0,1];else{var nt=($>0?X:B).reduce(ze,0),rt=$/(1-Math.min(.5,nt/oe));F=$>0?[0,rt]:[rt,0]}else q?F=[Math.max(0,Ze),Math.max(1,at)]:F=[Ze,at]}else ee?(ce.val>=0&&(ce={val:0,nopad:1}),be.val<=0&&(be={val:0,nopad:1})):q&&(ce.val-j*O(ce)<0&&(ce={val:0,nopad:1}),be.val<=0&&(be={val:1,nopad:1})),j=(be.val-ce.val-i(R,Q.val,re.val))/(oe-O(ce)-P(be)),F=[ce.val-j*O(ce),be.val+j*P(be)];return F=y(F,R),R.limitRange&&R.limitRange(),fe&&F.reverse(),S.simpleMap(F,R.l2r||Number)}function i(f,R,L){var z=0;if(f.rangebreaks)for(var F=f.locateBreaks(R,L),N=0;N0?L.ppadplus:L.ppadminus)||L.ppad||0),Q=ae((f._m>0?L.ppadminus:L.ppadplus)||L.ppad||0),re=ae(L.vpadplus||L.vpad),ce=ae(L.vpadminus||L.vpad);if(!B){if(q=1/0,oe=-1/0,U)for($=0;$0&&(q=se),se>oe&&se-E&&(q=se),se>oe&&se=De;$--)Ae($);return{min:z,max:F,opts:L}}function l(f,R,L,z){w(f,R,L,z,M)}function _(f,R,L,z){w(f,R,L,z,g)}function w(f,R,L,z,F){for(var N=z.tozero,O=z.extrapad,P=!0,U=0;U=L&&(B.extrapad||!O)){P=!1;break}else F(R,B.val)&&B.pad<=L&&(O||!B.extrapad)&&(f.splice(U,1),U--)}if(P){var X=N&&R===0;f.push({val:R,pad:X?0:L,extrapad:X?!1:O})}}function A(f){return x(f)&&Math.abs(f)=R}function b(f,R){var L=R.autorangeoptions;return L&&L.minallowed!==void 0&&u(R,L.minallowed,L.maxallowed)?L.minallowed:L&&L.clipmin!==void 0&&u(R,L.clipmin,L.clipmax)?Math.max(f,R.d2l(L.clipmin)):f}function d(f,R){var L=R.autorangeoptions;return L&&L.maxallowed!==void 0&&u(R,L.minallowed,L.maxallowed)?L.maxallowed:L&&L.clipmax!==void 0&&u(R,L.clipmin,L.clipmax)?Math.min(f,R.d2l(L.clipmax)):f}function u(f,R,L){return R!==void 0&&L!==void 0?(R=f.d2l(R),L=f.d2l(L),R=U&&(N=U,L=U),O<=U&&(O=U,z=U)}}return L=b(L,R),z=d(z,R),[L,z]}}}),Go=Xe({\"src/plots/cartesian/axes.js\"(Z,G){\"use strict\";var v=Hn(),x=rs(),S=bc(),E=so(),e=sa(),t=e.strTranslate,r=ou(),o=K0(),a=$n(),n=es(),i=Wh(),s=l5(),h=lh(),c=Hs(),m=c.ONEMAXYEAR,p=c.ONEAVGYEAR,T=c.ONEMINYEAR,l=c.ONEMAXQUARTER,_=c.ONEAVGQUARTER,w=c.ONEMINQUARTER,A=c.ONEMAXMONTH,M=c.ONEAVGMONTH,g=c.ONEMINMONTH,b=c.ONEWEEK,d=c.ONEDAY,u=d/2,y=c.ONEHOUR,f=c.ONEMIN,R=c.ONESEC,L=c.ONEMILLI,z=c.ONEMICROSEC,F=c.MINUS_SIGN,N=c.BADNUM,O={K:\"zeroline\"},P={K:\"gridline\",L:\"path\"},U={K:\"minor-gridline\",L:\"path\"},B={K:\"tick\",L:\"path\"},X={K:\"tick\",L:\"text\"},$={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},se=uh(),le=se.MID_SHIFT,fe=se.CAP_SHIFT,V=se.LINE_SPACING,Y=se.OPPOSITE_SIDE,ee=3,q=G.exports={};q.setConvert=wv();var oe=a1(),ae=ef(),j=ae.idSort,Q=ae.isLinked;q.id2name=ae.id2name,q.name2id=ae.name2id,q.cleanId=ae.cleanId,q.list=ae.list,q.listIds=ae.listIds,q.getFromId=ae.getFromId,q.getFromTrace=ae.getFromTrace;var re=Yd();q.getAutoRange=re.getAutoRange,q.findExtremes=re.findExtremes;var ce=1e-4;function be(Tt){var ut=(Tt[1]-Tt[0])*ce;return[Tt[0]-ut,Tt[1]+ut]}q.coerceRef=function(Tt,ut,Br,Cr,xr,Ir){var Ur=Cr.charAt(Cr.length-1),Hr=Br._fullLayout._subplots[Ur+\"axis\"],xt=Cr+\"ref\",Xt={};return xr||(xr=Hr[0]||(typeof Ir==\"string\"?Ir:Ir[0])),Ir||(Ir=xr),Hr=Hr.concat(Hr.map(function(vr){return vr+\" domain\"})),Xt[xt]={valType:\"enumerated\",values:Hr.concat(Ir?typeof Ir==\"string\"?[Ir]:Ir:[]),dflt:xr},e.coerce(Tt,ut,Xt,xt)},q.coerceRefArray=function(Tt,ut,Br,Cr,xr,Ir,Ur){let Hr=Cr.charAt(Cr.length-1);var xt=Br._fullLayout._subplots[Hr+\"axis\"];let Xt=Cr+\"ref\";var vr=Tt[Xt];xr||(xr=xt[0]||(typeof Ir==\"string\"?Ir:Ir[0])),xt=xt.concat(xt.map(ba=>ba+\" domain\")),xt=xt.concat(Ir||[]),vr.length>Ur?(e.warn(\"Array attribute \"+Xt+\" has more entries than expected, truncating to \"+Ur),vr=vr.slice(0,Ur)):vr.length2e-6||((Br-Tt._forceTick0)/Tt._minDtick%1+1.000001)%1>2e-6)&&(Tt._minDtick=0))},q.saveRangeInitial=function(Tt,ut){for(var Br=q.list(Tt,\"\",!0),Cr=!1,xr=0;xrOr*.3||Xt(Cr)||Xt(xr))){var ba=Br.dtick/2;Tt+=Tt+baUr){var Hr=Number(Br.slice(1));Ir.exactYears>Ur&&Hr%12===0?Tt=q.tickIncrement(Tt,\"M6\",\"reverse\")+d*1.5:Ir.exactMonths>Ur?Tt=q.tickIncrement(Tt,\"M1\",\"reverse\")+d*15.5:Tt-=u;var xt=q.tickIncrement(Tt,Br);if(xt<=Cr)return xt}return Tt}q.prepMinorTicks=function(Tt,ut,Br){if(!ut.minor.dtick){delete Tt.dtick;var Cr=ut.dtick&&x(ut._tmin),xr;if(Cr){var Ir=q.tickIncrement(ut._tmin,ut.dtick,!0);xr=[ut._tmin,Ir*.99+ut._tmin*.01]}else{var Ur=e.simpleMap(ut.range,ut.r2l);xr=[Ur[0],.8*Ur[0]+.2*Ur[1]]}if(Tt.range=e.simpleMap(xr,ut.l2r),Tt._isMinor=!0,q.prepTicks(Tt,Br),Cr){var Hr=x(ut.dtick),xt=x(Tt.dtick),Xt=Hr?ut.dtick:+ut.dtick.substring(1),vr=xt?Tt.dtick:+Tt.dtick.substring(1);Hr&&xt?nt(Xt,vr)?Xt===2*b&&vr===2*d&&(Tt.dtick=b):Xt===2*b&&vr===3*d?Tt.dtick=b:Xt===b&&!(ut._input.minor||{}).nticks?Tt.dtick=d:rt(Xt/vr,2.5)?Tt.dtick=Xt/2:Tt.dtick=Xt:String(ut.dtick).charAt(0)===\"M\"?xt?Tt.dtick=\"M1\":nt(Xt,vr)?Xt>=12&&vr===2&&(Tt.dtick=\"M3\"):Tt.dtick=ut.dtick:String(Tt.dtick).charAt(0)===\"L\"?String(ut.dtick).charAt(0)===\"L\"?nt(Xt,vr)||(Tt.dtick=rt(Xt/vr,2.5)?ut.dtick/2:ut.dtick):Tt.dtick=\"D1\":Tt.dtick===\"D2\"&&+ut.dtick>1&&(Tt.dtick=1)}Tt.range=ut.range}ut.minor._tick0Init===void 0&&(Tt.tick0=ut.tick0)};function nt(Tt,ut){return Math.abs((Tt/ut+.5)%1-.5)<.001}function rt(Tt,ut){return Math.abs(Tt/ut-1)<.001}q.prepTicks=function(Tt,ut){var Br=e.simpleMap(Tt.range,Tt.r2l,void 0,void 0,ut);if(Tt.tickmode===\"auto\"||!Tt.dtick){var Cr=Tt.nticks,xr;Cr||(Tt.type===\"category\"||Tt.type===\"multicategory\"?(xr=Tt.tickfont?e.bigFont(Tt.tickfont.size||12):15,Cr=Tt._length/xr):(xr=Tt._id.charAt(0)===\"y\"?40:80,Cr=e.constrain(Tt._length/xr,4,9)+1),Tt._name===\"radialaxis\"&&(Cr*=2)),Tt.minor&&Tt.minor.tickmode!==\"array\"||Tt.tickmode===\"array\"&&(Cr*=100),Tt._roughDTick=Math.abs(Br[1]-Br[0])/Cr,q.autoTicks(Tt,Tt._roughDTick),Tt._minDtick>0&&Tt.dtick0?(Ir=Cr-1,Ur=Cr):(Ir=Cr,Ur=Cr);var Hr=Tt[Ir].value,xt=Tt[Ur].value,Xt=Math.abs(xt-Hr),vr=Br||Xt,Or=0;vr>=T?Xt>=T&&Xt<=m?Or=Xt:Or=p:Br===_&&vr>=w?Xt>=w&&Xt<=l?Or=Xt:Or=_:vr>=g?Xt>=g&&Xt<=A?Or=Xt:Or=M:Br===b&&vr>=b?Or=b:vr>=d?Or=d:Br===u&&vr>=u?Or=u:Br===y&&vr>=y&&(Or=y);var ba;Or>=Xt&&(Or=Xt,ba=!0);var Pa=xr+Or;if(ut.rangebreaks&&Or>0){for(var ya=84,la=0,Ta=0;Tab&&(Or=Xt)}(Or>0||Cr===0)&&(Tt[Cr].periodX=xr+Or/2)}}q.calcTicks=function(ut,Br){for(var Cr=ut.type,xr=ut.calendar,Ir=ut.ticklabelstep,Ur=ut.ticklabelmode===\"period\",Hr=ut.range[0]>ut.range[1],xt=!ut.ticklabelindex||e.isArrayOrTypedArray(ut.ticklabelindex)?ut.ticklabelindex:[ut.ticklabelindex],Xt=e.simpleMap(ut.range,ut.r2l,void 0,void 0,Br),vr=Xt[1]=(Ki?0:1);_n--){var Rn=!_n;_n?(ut._dtickInit=ut.dtick,ut._tick0Init=ut.tick0):(ut.minor._dtickInit=ut.minor.dtick,ut.minor._tick0Init=ut.minor.tick0);var En=_n?ut:e.extendFlat({},ut,ut.minor);if(Rn?q.prepMinorTicks(En,ut,Br):q.prepTicks(En,Br),En.tickmode===\"array\"){_n?(Ta=[],ya=tt(ut,!Rn)):(Ai=[],la=tt(ut,!Rn));continue}if(En.tickmode===\"sync\"){Ta=[],ya=Oe(ut);continue}var On=be(Xt),no=On[0],cn=On[1],lo=x(En.dtick),Wo=Cr===\"log\"&&!(lo||En.dtick.charAt(0)===\"L\"),hs=q.tickFirst(En,Br);if(_n){if(ut._tmin=hs,hs=cn:Wn<=cn;Wn=q.tickIncrement(Wn,Ns,vr,xr)){if(_n&&No++,En.rangebreaks&&!vr){if(Wn=ba)break}if(Ta.length>Pa||Wn===Oo)break;Oo=Wn;var ss={value:Wn};_n?(Wo&&Wn!==(Wn|0)&&(ss.simpleLabel=!0),Ir>1&&No%Ir&&(ss.skipLabel=!0),Ta.push(ss)):(ss.minor=!0,Ai.push(ss))}}if(!Ai||Ai.length<2)xt=!1;else{var uo=(Ai[1].value-Ai[0].value)*(Hr?-1:1);hn(uo,ut.tickformat)||(xt=!1)}if(!xt)ki=Ta;else{var jn=Ta.concat(Ai);Ur&&Ta.length&&(jn=jn.slice(1)),jn=jn.sort(function(Vs,vl){return Vs.value-vl.value}).filter(function(Vs,vl,Ts){return vl===0||Vs.value!==Ts[vl-1].value});var Xn=jn.map(function(Vs,vl){return Vs.minor===void 0&&!Vs.skipLabel?vl:null}).filter(function(Vs){return Vs!==null});Xn.forEach(function(Vs){xt.map(function(vl){var Ts=Vs+vl;Ts>=0&&Ts-1;Gn--){if(Ta[Gn].drop){Ta.splice(Gn,1);continue}Ta[Gn].value=ri(Ta[Gn].value,ut);var il=ut.c2p(Ta[Gn].value);(zs?Ws>il-vs:Wsba||jsba&&(Ts.periodX=ba),jsxr&&bap)ut/=p,Cr=xr(10),Tt.dtick=\"M\"+12*mr(ut,Cr,ot);else if(Ir>M)ut/=M,Tt.dtick=\"M\"+mr(ut,1,Qe);else if(Ir>d){if(Tt.dtick=mr(ut,d,Tt._hasDayOfWeekBreaks?[1,2,7,14]:It),!Br){var Ur=q.getTickFormat(Tt),Hr=Tt.ticklabelmode===\"period\";Hr&&(Tt._rawTick0=Tt.tick0),/%[uVW]/.test(Ur)?Tt.tick0=e.dateTick0(Tt.calendar,2):Tt.tick0=e.dateTick0(Tt.calendar,1),Hr&&(Tt._dowTick0=Tt.tick0)}}else Ir>y?Tt.dtick=mr(ut,y,Qe):Ir>f?Tt.dtick=mr(ut,f,Pt):Ir>R?Tt.dtick=mr(ut,R,Pt):(Cr=xr(10),Tt.dtick=mr(ut,Cr,ot))}else if(Tt.type===\"log\"){Tt.tick0=0;var xt=e.simpleMap(Tt.range,Tt.r2l);if(Tt._isMinor&&(ut*=1.5),ut>.7)Tt.dtick=Math.ceil(ut);else if(Math.abs(xt[1]-xt[0])<1){var Xt=1.5*Math.abs((xt[1]-xt[0])/ut);ut=Math.abs(Math.pow(10,xt[1])-Math.pow(10,xt[0]))/Xt,Cr=xr(10),Tt.dtick=\"L\"+mr(ut,Cr,ot)}else Tt.dtick=ut>.3?\"D2\":\"D1\"}else Tt.type===\"category\"||Tt.type===\"multicategory\"?(Tt.tick0=0,Tt.dtick=Math.ceil(Math.max(ut,1))):Za(Tt)?(Tt.tick0=0,Cr=1,Tt.dtick=mr(ut,Cr,kr)):(Tt.tick0=0,Cr=xr(10),Tt.dtick=mr(ut,Cr,ot));if(Tt.dtick===0&&(Tt.dtick=1),!x(Tt.dtick)&&typeof Tt.dtick!=\"string\"){var vr=Tt.dtick;throw Tt.dtick=1,\"ax.dtick error: \"+String(vr)}};function qr(Tt){var ut=Tt.dtick;if(Tt._tickexponent=0,!x(ut)&&typeof ut!=\"string\"&&(ut=1),(Tt.type===\"category\"||Tt.type===\"multicategory\")&&(Tt._tickround=null),Tt.type===\"date\"){var Br=Tt.r2l(Tt.tick0),Cr=Tt.l2r(Br).replace(/(^-|i)/g,\"\"),xr=Cr.length;if(String(ut).charAt(0)===\"M\")xr>10||Cr.slice(5)!==\"01-01\"?Tt._tickround=\"d\":Tt._tickround=+ut.slice(1)%12===0?\"y\":\"m\";else if(ut>=d&&xr<=10||ut>=d*15)Tt._tickround=\"d\";else if(ut>=f&&xr<=16||ut>=y)Tt._tickround=\"M\";else if(ut>=R&&xr<=19||ut>=f)Tt._tickround=\"S\";else{var Ir=Tt.l2r(Br+ut).replace(/^-/,\"\").length;Tt._tickround=Math.max(xr,Ir)-20,Tt._tickround<0&&(Tt._tickround=4)}}else if(x(ut)||ut.charAt(0)===\"L\"){var Ur=Tt.range.map(Tt.r2d||Number);x(ut)||(ut=Number(ut.slice(1))),Tt._tickround=2-Math.floor(Math.log(ut)/Math.LN10+.01);var Hr=Math.max(Math.abs(Ur[0]),Math.abs(Ur[1])),xt=Math.floor(Math.log(Hr)/Math.LN10+.01),Xt=Tt.minexponent===void 0?3:Tt.minexponent;Math.abs(xt)>Xt&&(Pe(Tt.exponentformat)&&Tt.exponentformat!==\"SI extended\"&&!ft(xt)||Pe(Tt.exponentformat)&&Tt.exponentformat===\"SI extended\"&&!ct(xt)?Tt._tickexponent=3*Math.round((xt-1)/3):Tt._tickexponent=xt)}else Tt._tickround=null}q.tickIncrement=function(Tt,ut,Br,Cr){var xr=Br?-1:1;if(x(ut))return e.increment(Tt,xr*ut);var Ir=ut.charAt(0),Ur=xr*Number(ut.slice(1));if(Ir===\"M\")return e.incrementMonth(Tt,Ur,Cr);if(Ir===\"L\")return Math.log(Math.pow(10,Tt)+Ur)/Math.LN10;if(Ir===\"D\"){var Hr=ut===\"D2\"?Wt:qt,xt=Tt+xr*.01,Xt=e.roundUp(e.mod(xt,1),Hr,Br);return Math.floor(xt)+Math.log(v.round(Math.pow(10,Xt),1))/Math.LN10}throw\"unrecognized dtick \"+String(ut)},q.tickFirst=function(Tt,ut){var Br=Tt.r2l||Number,Cr=e.simpleMap(Tt.range,Br,void 0,void 0,ut),xr=Cr[1]=0&&Ai<=Tt._length?Ta:null};if(Ir&&e.isArrayOrTypedArray(Tt.ticktext)){var Or=e.simpleMap(Tt.range,Tt.r2l),ba=(Math.abs(Or[1]-Or[0])-(Tt._lBreaks||0))/1e4;for(Xt=0;Xt\"+Hr;else{var Xt=pi(Tt),vr=Tt._trueSide||Tt.side;(!Xt&&vr===\"top\"||Xt&&vr===\"bottom\")&&(Ur+=\"
\")}ut.text=Ur}function wt(Tt,ut,Br,Cr,xr){var Ir=Tt.dtick,Ur=ut.x,Hr=Tt.tickformat,xt=typeof Ir==\"string\"&&Ir.charAt(0);if(xr===\"never\"&&(xr=\"\"),Cr&&xt!==\"L\"&&(Ir=\"L3\",xt=\"L\"),Hr||xt===\"L\")ut.text=Ct(Math.pow(10,Ur),Tt,xr,Cr);else if(x(Ir)||xt===\"D\"&&(Tt.minorloglabels===\"complete\"||e.mod(Ur+.01,1)<.1)){var Xt;Tt.minorloglabels===\"complete\"&&!(e.mod(Ur+.01,1)<.1)&&(Xt=!0,ut.fontSize*=.75);var vr=Math.pow(10,Ur).toExponential(0),Or=vr.split(\"e\"),ba=+Or[1],Pa=Math.abs(ba),ya=Tt.exponentformat;ya===\"power\"||Pe(ya)&&ya!==\"SI extended\"&&ft(ba)||Pe(ya)&&ya===\"SI extended\"&&ct(ba)?(ut.text=Or[0],Pa>0&&(ut.text+=\"x10\"),ut.text===\"1x10\"&&(ut.text=\"10\"),ba!==0&&ba!==1&&(ut.text+=\"\"+(ba>0?\"\":F)+Pa+\"\"),ut.fontSize*=1.25):(ya===\"e\"||ya===\"E\")&&Pa>2?ut.text=Or[0]+ya+(ba>0?\"+\":F)+Pa:(ut.text=Ct(Math.pow(10,Ur),Tt,\"\",\"fakehover\"),Ir===\"D1\"&&Tt._id.charAt(0)===\"y\"&&(ut.dy-=ut.fontSize/6))}else if(xt===\"D\")ut.text=Tt.minorloglabels===\"none\"?\"\":String(Math.round(Math.pow(10,e.mod(Ur,1)))),ut.fontSize*=.75;else throw\"unrecognized dtick \"+String(Ir);if(Tt.dtick===\"D1\"){var la=String(ut.text).charAt(0);(la===\"0\"||la===\"1\")&&(Tt._id.charAt(0)===\"y\"?ut.dx-=ut.fontSize/4:(ut.dy+=ut.fontSize/2,ut.dx+=(Tt.range[1]>Tt.range[0]?1:-1)*ut.fontSize*(Ur<0?.5:.25)))}}function Ne(Tt,ut){var Br=Tt._categories[Math.round(ut.x)];Br===void 0&&(Br=\"\"),ut.text=String(Br)}function Ke(Tt,ut,Br){var Cr=Math.round(ut.x),xr=Tt._categories[Cr]||[],Ir=xr[1]===void 0?\"\":String(xr[1]),Ur=xr[0]===void 0?\"\":String(xr[0]);Br?ut.text=Ur+\" - \"+Ir:(ut.text=Ir,ut.text2=Ur)}function Te(Tt,ut,Br,Cr,xr){xr===\"never\"?xr=\"\":Tt.showexponent===\"all\"&&Math.abs(ut.x/Tt.dtick)<1e-6&&(xr=\"hide\"),ut.text=Ct(ut.x,Tt,xr,Cr)}function Ie(Tt,ut,Br,Cr,xr){if(Tt.thetaunit===\"radians\"&&!Br){var Ir=ut.x/180;if(Ir===0)ut.text=\"0\";else{var Ur=Ve(Ir);if(Ur[1]>=100)ut.text=Ct(e.deg2rad(ut.x),Tt,xr,Cr);else{var Hr=ut.x<0;Ur[1]===1?Ur[0]===1?ut.text=\"\\u03C0\":ut.text=Ur[0]+\"\\u03C0\":ut.text=[\"\",Ur[0],\"\",\"\\u2044\",\"\",Ur[1],\"\",\"\\u03C0\"].join(\"\"),Hr&&(ut.text=F+ut.text)}}}else ut.text=Ct(ut.x,Tt,xr,Cr)}function Ve(Tt){function ut(Hr,xt){return Math.abs(Hr-xt)<=1e-6}function Br(Hr,xt){return ut(xt,0)?Hr:Br(xt,Hr%xt)}function Cr(Hr){for(var xt=1;!ut(Math.round(Hr*xt)/xt,Hr);)xt*=10;return xt}var xr=Cr(Tt),Ir=Tt*xr,Ur=Math.abs(Br(Ir,xr));return[Math.round(Ir/Ur),Math.round(xr/Ur)]}var Ce=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"],Ee=[\"q\",\"r\",\"y\",\"z\",\"a\",...Ce,\"P\",\"E\",\"Z\",\"Y\",\"R\",\"Q\"],Pe=Tt=>[\"SI\",\"SI extended\",\"B\"].includes(Tt);function ft(Tt){return Tt>14||Tt<-15}function ct(Tt){return Tt>32||Tt<-30}function _t(Tt,ut){return Pe(ut)?!!(ut===\"SI extended\"&&ct(Tt)||ut!==\"SI extended\"&&ft(Tt)):!1}function Ct(Tt,ut,Br,Cr){var xr=Tt<0,Ir=ut._tickround,Ur=Br||ut.exponentformat||\"B\",Hr=ut._tickexponent,xt=q.getTickFormat(ut),Xt=ut.separatethousands;if(Cr){var vr={exponentformat:Ur,minexponent:ut.minexponent,dtick:ut.showexponent===\"none\"?ut.dtick:x(Tt)&&Math.abs(Tt)||1,range:ut.showexponent===\"none\"?ut.range.map(ut.r2d):[0,Tt||1]};qr(vr),Ir=(Number(vr._tickround)||0)+4,Hr=vr._tickexponent,ut.hoverformat&&(xt=ut.hoverformat)}if(xt)return ut._numFormat(xt)(Tt).replace(/-/g,F);var Or=Math.pow(10,-Ir)/2;if(Ur===\"none\"&&(Hr=0),Tt=Math.abs(Tt),Tt\"+ya+\"\":Ur===\"B\"&&Hr===9?Tt+=\"B\":Pe(Ur)&&(Tt+=Ur===\"SI extended\"?Ee[Hr/3+10]:Ce[Hr/3+5])}return xr?F+Tt:Tt}q.getTickFormat=function(Tt){var ut;function Br(xt){return typeof xt!=\"string\"?xt:Number(xt.replace(\"M\",\"\"))*M}function Cr(xt,Xt){var vr=[\"L\",\"D\"];if(typeof xt==typeof Xt){if(typeof xt==\"number\")return xt-Xt;var Or=vr.indexOf(xt.charAt(0)),ba=vr.indexOf(Xt.charAt(0));return Or===ba?Number(xt.replace(/(L|D)/g,\"\"))-Number(Xt.replace(/(L|D)/g,\"\")):Or-ba}else return typeof xt==\"number\"?1:-1}function xr(xt,Xt,vr){var Or=vr||function(ya){return ya},ba=Xt[0],Pa=Xt[1];return(!ba&&typeof ba!=\"number\"||Or(ba)<=Or(xt))&&(!Pa&&typeof Pa!=\"number\"||Or(Pa)>=Or(xt))}function Ir(xt,Xt){var vr=Xt[0]===null,Or=Xt[1]===null,ba=Cr(xt,Xt[0])>=0,Pa=Cr(xt,Xt[1])<=0;return(vr||ba)&&(Or||Pa)}var Ur,Hr;if(Tt.tickformatstops&&Tt.tickformatstops.length>0)switch(Tt.type){case\"date\":case\"linear\":{for(ut=0;ut=0&&xr.unshift(xr.splice(vr,1).shift())}});var Hr={false:{left:0,right:0}};return e.syncOrAsync(xr.map(function(xt){return function(){if(xt){var Xt=q.getFromId(Tt,xt);Br||(Br={}),Br.axShifts=Hr,Br.overlayingShiftedAx=Ur;var vr=q.drawOne(Tt,Xt,Br);return Xt._shiftPusher&&tn(Xt,Xt._fullDepth||0,Hr,!0),Xt._r=Xt.range.slice(),Xt._rl=e.simpleMap(Xt._r,Xt.r2l),vr}}}))},q.drawOne=function(Tt,ut,Br){Br=Br||{};var Cr=Br.axShifts||{},xr=Br.overlayingShiftedAx||[],Ir,Ur,Hr;ut.setScale();var xt=Tt._fullLayout,Xt=ut._id,vr=Xt.charAt(0),Or=q.counterLetter(Xt),ba=xt._plots[ut._mainSubplot],Pa=ut.zerolinelayer===\"above traces\";if(!ba)return;if(ut._shiftPusher=ut.autoshift||xr.indexOf(ut._id)!==-1||xr.indexOf(ut.overlaying)!==-1,ut._shiftPusher&ut.anchor===\"free\"){var ya=ut.linewidth/2||0;ut.ticks===\"inside\"&&(ya+=ut.ticklen),tn(ut,ya,Cr,!0),tn(ut,ut.shift||0,Cr,!1)}(Br.skipTitle!==!0||ut._shift===void 0)&&(ut._shift=on(ut,Cr));var la=ba[vr+\"axislayer\"],Ta=ut._mainLinePosition,Ai=Ta+=ut._shift,ki=ut._mainMirrorPosition,Ki=ut._vals=q.calcTicks(ut),_n=[ut.mirror,Ai,ki].join(\"_\");for(Ir=0;Ir0?js.bottom-vl:0,Ts))));var su=0,Tc=0;if(ut._shiftPusher&&(su=Math.max(Ts,js.height>0?co===\"l\"?vl-js.left:js.right-vl:0),ut.title.text!==xt._dfltTitle[vr]&&(Tc=(ut._titleStandoff||0)+(ut._titleScoot||0),co===\"l\"&&(Tc+=Ca(ut))),ut._fullDepth=Math.max(su,Tc)),ut.automargin){us={x:0,y:0,r:0,l:0,t:0,b:0};var du=[0,1],Sf=typeof ut._shift==\"number\"?ut._shift:0;if(vr===\"x\"){if(co===\"b\"?us[co]=ut._depth:(us[co]=ut._depth=Math.max(js.width>0?vl-js.top:0,Ts),du.reverse()),js.width>0){var Uc=js.right-(ut._offset+ut._length);Uc>0&&(us.xr=1,us.r=Uc);var Fs=ut._offset-js.left;Fs>0&&(us.xl=0,us.l=Fs)}}else if(co===\"l\"?(ut._depth=Math.max(js.height>0?vl-js.left:0,Ts),us[co]=ut._depth-Sf):(ut._depth=Math.max(js.height>0?js.right-vl:0,Ts),us[co]=ut._depth+Sf,du.reverse()),js.height>0){var dc=js.bottom-(ut._offset+ut._length);dc>0&&(us.yb=0,us.b=dc);var Hc=ut._offset-js.top;Hc>0&&(us.yt=1,us.t=Hc)}us[Or]=ut.anchor===\"free\"?ut.position:ut._anchorAxis.domain[du[0]],ut.title.text!==xt._dfltTitle[vr]&&(us[co]+=Ca(ut)+(ut.title.standoff||0)),ut.mirror&&ut.anchor!==\"free\"&&(As={x:0,y:0,r:0,l:0,t:0,b:0},As[Vs]=ut.linewidth,ut.mirror&&ut.mirror!==!0&&(As[Vs]+=Ts),ut.mirror===!0||ut.mirror===\"ticks\"?As[Or]=ut._anchorAxis.domain[du[1]]:(ut.mirror===\"all\"||ut.mirror===\"allticks\")&&(As[Or]=[ut._counterDomainMin,ut._counterDomainMax][du[1]]))}pu&&(Nl=E.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(Tt,ut)),typeof ut.automargin==\"string\"&&(ir(us,ut.automargin),ir(As,ut.automargin)),S.autoMargin(Tt,Jt(ut),us),S.autoMargin(Tt,Fr(ut),As),S.autoMargin(Tt,ta(ut),Nl)}),e.syncOrAsync(bo)}};function ir(Tt,ut){if(Tt){var Br=Object.keys($).reduce(function(Cr,xr){return ut.indexOf(xr)!==-1&&$[xr].forEach(function(Ir){Cr[Ir]=1}),Cr},{});Object.keys(Tt).forEach(function(Cr){Br[Cr]||(Cr.length===1?Tt[Cr]=0:delete Tt[Cr])})}}function rr(Tt,ut){var Br=[],Cr,xr=function(Ir,Ur){var Hr=Ir.xbnd[Ur];Hr!==null&&Br.push(e.extendFlat({},Ir,{x:Hr}))};if(ut.length){for(Cr=0;CrTt.range[1],Hr=Tt.ticklabelposition&&Tt.ticklabelposition.indexOf(\"inside\")!==-1,xt=!Hr;if(Br){var Xt=Ur?-1:1;Br=Br*Xt}if(Cr){var vr=Tt.side,Or=Hr&&(vr===\"top\"||vr===\"left\")||xt&&(vr===\"bottom\"||vr===\"right\")?1:-1;Cr=Cr*Or}return Tt._id.charAt(0)===\"x\"?function(ba){return t(xr+Tt._offset+Tt.l2p(Da(ba))+Br,Ir+Cr)}:function(ba){return t(Ir+Cr,xr+Tt._offset+Tt.l2p(Da(ba))+Br)}};function Da(Tt){return Tt.periodX!==void 0?Tt.periodX:Tt.x}function Ia(Tt){var ut=Tt.ticklabelposition||\"\",Br=Tt.tickson||\"\",Cr=function(ya){return ut.indexOf(ya)!==-1},xr=Cr(\"top\"),Ir=Cr(\"left\"),Ur=Cr(\"right\"),Hr=Cr(\"bottom\"),xt=Cr(\"inside\"),Xt=Br!==\"boundaries\"&&(Hr||Ir||xr||Ur);if(!Xt&&!xt)return[0,0];var vr=Tt.side,Or=Xt?(Tt.tickwidth||0)/2:0,ba=ee,Pa=Tt.tickfont?Tt.tickfont.size:12;return(Hr||xr)&&(Or+=Pa*fe,ba+=(Tt.linewidth||0)/2),(Ir||Ur)&&(Or+=(Tt.linewidth||0)/2,ba+=ee),xt&&vr===\"top\"&&(ba-=Pa*(1-fe)),(Ir||xr)&&(Or=-Or),(vr===\"bottom\"||vr===\"right\")&&(ba=-ba),[Xt?Or:0,xt?ba:0]}q.makeTickPath=function(Tt,ut,Br,Cr){Cr||(Cr={});var xr=Cr.minor;if(xr&&!Tt.minor)return\"\";var Ir=Cr.len!==void 0?Cr.len:xr?Tt.minor.ticklen:Tt.ticklen,Ur=Tt._id.charAt(0),Hr=(Tt.linewidth||1)/2;return Ur===\"x\"?\"M0,\"+(ut+Hr*Br)+\"v\"+Ir*Br:\"M\"+(ut+Hr*Br)+\",0h\"+Ir*Br},q.makeLabelFns=function(Tt,ut,Br){var Cr=Tt.ticklabelposition||\"\",xr=Tt.tickson||\"\",Ir=function(Oo){return Cr.indexOf(Oo)!==-1},Ur=Ir(\"top\"),Hr=Ir(\"left\"),xt=Ir(\"right\"),Xt=Ir(\"bottom\"),vr=xr!==\"boundaries\"&&(Xt||Hr||Ur||xt),Or=Ir(\"inside\"),ba=Cr===\"inside\"&&Tt.ticks===\"inside\"||!Or&&Tt.ticks===\"outside\"&&xr!==\"boundaries\",Pa=0,ya=0,la=ba?Tt.ticklen:0;if(Or?la*=-1:vr&&(la=0),ba&&(Pa+=la,Br)){var Ta=e.deg2rad(Br);Pa=la*Math.cos(Ta)+1,ya=la*Math.sin(Ta)}Tt.showticklabels&&(ba||Tt.showline)&&(Pa+=.2*Tt.tickfont.size),Pa+=(Tt.linewidth||1)/2*(Or?-1:1);var Ai={labelStandoff:Pa,labelShift:ya},ki,Ki,_n,Rn,En=0,On=Tt.side,no=Tt._id.charAt(0),cn=Tt.tickangle,lo;if(no===\"x\")lo=!Or&&On===\"bottom\"||Or&&On===\"top\",Rn=lo?1:-1,Or&&(Rn*=-1),ki=ya*Rn,Ki=ut+Pa*Rn,_n=lo?1:-.2,Math.abs(cn)===90&&(Or?_n+=le:cn===-90&&On===\"bottom\"?_n=fe:cn===90&&On===\"top\"?_n=le:_n=.5,En=le/2*(cn/90)),Ai.xFn=function(Oo){return Oo.dx+ki+En*Oo.fontSize},Ai.yFn=function(Oo){return Oo.dy+Ki+Oo.fontSize*_n},Ai.anchorFn=function(Oo,Wn){if(vr){if(Hr)return\"end\";if(xt)return\"start\"}return!x(Wn)||Wn===0||Wn===180?\"middle\":Wn*Rn<0!==Or?\"end\":\"start\"},Ai.heightFn=function(Oo,Wn,No){return Wn<-60||Wn>60?-.5*No:Tt.side===\"top\"!==Or?-No:0};else if(no===\"y\"){if(lo=!Or&&On===\"left\"||Or&&On===\"right\",Rn=lo?1:-1,Or&&(Rn*=-1),ki=Pa,Ki=ya*Rn,_n=0,!Or&&Math.abs(cn)===90&&(cn===-90&&On===\"left\"||cn===90&&On===\"right\"?_n=fe:_n=.5),Or){var Wo=x(cn)?+cn:0;if(Wo!==0){var hs=e.deg2rad(Wo);En=Math.abs(Math.sin(hs))*fe*Rn,_n=0}}Ai.xFn=function(Oo){return Oo.dx+ut-(ki+Oo.fontSize*_n)*Rn+En*Oo.fontSize},Ai.yFn=function(Oo){return Oo.dy+Ki+Oo.fontSize*le},Ai.anchorFn=function(Oo,Wn){return x(Wn)&&Math.abs(Wn)===90?\"middle\":lo?\"end\":\"start\"},Ai.heightFn=function(Oo,Wn,No){return Tt.side===\"right\"&&(Wn*=-1),Wn<-30?-No:Wn<30?-.5*No:0}}return Ai};function qa(Tt){return[Tt.text,Tt.x,Tt.axInfo,Tt.font,Tt.fontSize,Tt.fontColor].join(\"_\")}q.drawTicks=function(Tt,ut,Br){Br=Br||{};var Cr=ut._id+\"tick\",xr=[].concat(ut.minor&&ut.minor.ticks?Br.vals.filter(function(Ur){return Ur.minor&&!Ur.noTick}):[]).concat(ut.ticks?Br.vals.filter(function(Ur){return!Ur.minor&&!Ur.noTick}):[]),Ir=Br.layer.selectAll(\"path.\"+Cr).data(xr,qa);Ir.exit().remove(),Ir.enter().append(\"path\").classed(Cr,1).classed(\"ticks\",1).classed(\"crisp\",Br.crisp!==!1).each(function(Ur){return a.stroke(v.select(this),Ur.minor?ut.minor.tickcolor:ut.tickcolor)}).style(\"stroke-width\",function(Ur){return n.crispRound(Tt,Ur.minor?ut.minor.tickwidth:ut.tickwidth,1)+\"px\"}).attr(\"d\",Br.path).style(\"display\",null),Ra(ut,[B]),Ir.attr(\"transform\",Br.transFn)},q.drawGrid=function(Tt,ut,Br){if(Br=Br||{},ut.tickmode!==\"sync\"){var Cr=ut._id+\"grid\",xr=ut.minor&&ut.minor.showgrid,Ir=xr?Br.vals.filter(function(Ai){return Ai.minor}):[],Ur=ut.showgrid?Br.vals.filter(function(Ai){return!Ai.minor}):[],Hr=Br.counterAxis;if(Hr&&q.shouldShowZeroLine(Tt,ut,Hr))for(var xt=ut.tickmode===\"array\",Xt=0;Xt=0;ya--){var la=ya?ba:Pa;if(la){var Ta=la.selectAll(\"path.\"+Cr).data(ya?Ur:Ir,qa);Ta.exit().remove(),Ta.enter().append(\"path\").classed(Cr,1).classed(\"crisp\",Br.crisp!==!1),Ta.attr(\"transform\",Br.transFn).attr(\"d\",Br.path).each(function(Ai){return a.stroke(v.select(this),Ai.minor?ut.minor.gridcolor:ut.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(Ai){return n.dashStyle(Ai.minor?ut.minor.griddash:ut.griddash,Ai.minor?ut.minor.gridwidth:ut.gridwidth)}).style(\"stroke-width\",function(Ai){return(Ai.minor?Or:ut._gw)+\"px\"}).style(\"display\",null),typeof Br.path==\"function\"&&Ta.attr(\"d\",Br.path)}}Ra(ut,[P,U])}},q.drawZeroLine=function(Tt,ut,Br){Br=Br||Br;var Cr=ut._id+\"zl\",xr=q.shouldShowZeroLine(Tt,ut,Br.counterAxis),Ir=Br.layer.selectAll(\"path.\"+Cr).data(xr?[{x:0,id:ut._id}]:[]);Ir.exit().remove(),Ir.enter().append(\"path\").classed(Cr,1).classed(\"zl\",1).classed(\"crisp\",Br.crisp!==!1).each(function(){Br.layer.selectAll(\"path\").sort(function(Ur,Hr){return j(Ur.id,Hr.id)})}),Ir.attr(\"transform\",Br.transFn).attr(\"d\",Br.path).call(a.stroke,ut.zerolinecolor||a.defaultLine).style(\"stroke-width\",n.crispRound(Tt,ut.zerolinewidth,ut._gw||1)+\"px\").style(\"display\",null),Ra(ut,[O])},q.drawLabels=function(Tt,ut,Br){Br=Br||{};var Cr=Tt._fullLayout,xr=ut._id,Ir=ut.zerolinelayer===\"above traces\",Ur=Br.cls||xr+\"tick\",Hr=Br.vals.filter(function(uo){return uo.text}),xt=Br.labelFns,Xt=Br.secondary?0:ut.tickangle,vr=(ut._prevTickAngles||{})[Ur],Or=Br.layer.selectAll(\"g.\"+Ur).data(ut.showticklabels?Hr:[],qa),ba=[];Or.enter().append(\"g\").classed(Ur,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(uo){var jn=v.select(this),Xn=Tt._promises.length;jn.call(r.positionText,xt.xFn(uo),xt.yFn(uo)).call(n.font,{family:uo.font,size:uo.fontSize,color:uo.fontColor,weight:uo.fontWeight,style:uo.fontStyle,variant:uo.fontVariant,textcase:uo.fontTextcase,lineposition:uo.fontLineposition,shadow:uo.fontShadow}).text(uo.text).call(r.convertToTspans,Tt),Tt._promises[Xn]?ba.push(Tt._promises.pop().then(function(){Pa(jn,Xt)})):Pa(jn,Xt)}),Ra(ut,[X]),Or.exit().remove(),Br.repositionOnUpdate&&Or.each(function(uo){v.select(this).select(\"text\").call(r.positionText,xt.xFn(uo),xt.yFn(uo))});function Pa(uo,jn){uo.each(function(Xn){var ls=v.select(this),Cs=ls.select(\".text-math-group\"),Ks=xt.anchorFn(Xn,jn),Xo=Br.transFn.call(ls.node(),Xn)+(x(jn)&&+jn!=0?\" rotate(\"+jn+\",\"+xt.xFn(Xn)+\",\"+(xt.yFn(Xn)-Xn.fontSize/2)+\")\":\"\"),Gi=r.lineCount(ls),Ln=V*Xn.fontSize,Us=xt.heightFn(Xn,x(jn)?+jn:0,(Gi-1)*Ln);if(Us&&(Xo+=t(0,Us)),Cs.empty()){var _s=ls.select(\"text\");_s.attr({transform:Xo,\"text-anchor\":Ks}),_s.style(\"display\",null),ut._adjustTickLabelsOverflow&&ut._adjustTickLabelsOverflow()}else{var Gn=n.bBox(Cs.node()).width,zs=Gn*{end:-.5,start:.5}[Ks];Cs.attr(\"transform\",Xo+t(zs,0))}})}ut._adjustTickLabelsOverflow=function(){var uo=ut.ticklabeloverflow;if(!(!uo||uo===\"allow\")){var jn=uo.indexOf(\"hide\")!==-1,Xn=ut._id.charAt(0)===\"x\",ls=0,Cs=Xn?Tt._fullLayout.width:Tt._fullLayout.height;if(uo.indexOf(\"domain\")!==-1){var Ks=e.simpleMap(ut.range,ut.r2l);ls=ut.l2p(Ks[0])+ut._offset,Cs=ut.l2p(Ks[1])+ut._offset}var Xo=Math.min(ls,Cs),Gi=Math.max(ls,Cs),Ln=ut.side,Us=1/0,_s=-1/0;Or.each(function(Ws){var il=v.select(this),xn=il.select(\".text-math-group\");if(xn.empty()){var ko=n.bBox(il.node()),bo=0;Xn?(ko.right>Gi||ko.leftGi||ko.top+(ut.tickangle?0:Ws.fontSize/4)ut[\"_visibleLabelMin_\"+Ks._id]?il.style(\"display\",\"none\"):Gi.K===\"tick\"&&!Xo&&il.node().style.display!==\"none\"&&il.style(\"display\",null)})})})})},Pa(Or,vr+1?vr:Xt);function ya(){return ba.length&&Promise.all(ba)}var la=null;function Ta(){if(Pa(Or,Xt),Hr.length&&ut.autotickangles&&(ut.type!==\"log\"||String(ut.dtick).charAt(0)!==\"D\")){la=ut.autotickangles[0];var uo=0,jn=[],Xn,ls=1;Or.each(function(us){uo=Math.max(uo,us.fontSize);var As=ut.l2p(us.x),Nl=Yt(this),su=n.bBox(Nl.node());ls=Math.max(ls,r.lineCount(Nl)),jn.push({top:0,bottom:10,height:10,left:As-su.width/2,right:As+su.width/2+2,width:su.width+2})});var Cs=(ut.tickson===\"boundaries\"||ut.showdividers)&&!Br.secondary,Ks=Hr.length,Xo=Math.abs((Hr[Ks-1].x-Hr[0].x)*ut._m)/(Ks-1),Gi=Cs?Xo/2:Xo,Ln=Cs?ut.ticklen:uo*1.25*ls,Us=Math.sqrt(Math.pow(Gi,2)+Math.pow(Ln,2)),_s=Gi/Us,Gn=ut.autotickangles.map(function(us){return us*Math.PI/180}),zs=Gn.find(function(us){return Math.abs(Math.cos(us))<=_s});zs===void 0&&(zs=Gn.reduce(function(us,As){return Math.abs(Math.cos(us))as*No&&(hs=No,cn[no]=lo[no]=Oo[no])}var Ns=Math.abs(hs-Wo);Ns-Rn>0?(Ns-=Rn,Rn*=1+Rn/Ns):Rn=0,ut._id.charAt(0)!==\"y\"&&(Rn=-Rn),cn[On]=Ki.p2r(Ki.r2p(lo[On])+En*Rn),Ki.autorange===\"min\"||Ki.autorange===\"max reversed\"?(cn[0]=null,Ki._rangeInitial0=void 0,Ki._rangeInitial1=void 0):(Ki.autorange===\"max\"||Ki.autorange===\"min reversed\")&&(cn[1]=null,Ki._rangeInitial0=void 0,Ki._rangeInitial1=void 0),Cr._insideTickLabelsUpdaterange[Ki._name+\".range\"]=cn}var ss=e.syncOrAsync(Ai);return ss&&ss.then&&Tt._promises.push(ss),ss};function Wa(Tt,ut,Br){var Cr=ut._id+\"divider\",xr=Br.vals,Ir=Br.layer.selectAll(\"path.\"+Cr).data(xr,qa);Ir.exit().remove(),Ir.enter().insert(\"path\",\":first-child\").classed(Cr,1).classed(\"crisp\",1).call(a.stroke,ut.dividercolor).style(\"stroke-width\",n.crispRound(Tt,ut.dividerwidth,1)+\"px\"),Ir.attr(\"transform\",Br.transFn).attr(\"d\",Br.path)}q.getPxPosition=function(Tt,ut){var Br=Tt._fullLayout._size,Cr=ut._id.charAt(0),xr=ut.side,Ir;if(ut.anchor!==\"free\"?Ir=ut._anchorAxis:Cr===\"x\"?Ir={_offset:Br.t+(1-(ut.position||0))*Br.h,_length:0}:Cr===\"y\"&&(Ir={_offset:Br.l+(ut.position||0)*Br.w+ut._shift,_length:0}),xr===\"top\"||xr===\"left\")return Ir._offset;if(xr===\"bottom\"||xr===\"right\")return Ir._offset+Ir._length};function Ca(Tt){var ut=Tt.title.font.size,Br=(Tt.title.text.match(r.BR_TAG_ALL)||[]).length;return Tt.title.hasOwnProperty(\"standoff\")?ut*(fe+Br*V):Br?ut*(Br+1)*V:ut}function hi(Tt,ut){var Br=Tt._fullLayout,Cr=ut._id,xr=Cr.charAt(0),Ir=ut.title.font.size,Ur,Hr=(ut.title.text.match(r.BR_TAG_ALL)||[]).length;if(ut.title.hasOwnProperty(\"standoff\"))ut.side===\"bottom\"||ut.side===\"right\"?Ur=ut._depth+ut.title.standoff+Ir*fe:(ut.side===\"top\"||ut.side===\"left\")&&(Ur=ut._depth+ut.title.standoff+Ir*(le+Hr*V));else{var xt=pi(ut);if(ut.type===\"multicategory\")Ur=ut._depth;else{var Xt=1.5*Ir;xt&&(Xt=.5*Ir,ut.ticks===\"outside\"&&(Xt+=ut.ticklen)),Ur=10+Xt+(ut.linewidth?ut.linewidth-1:0)}xt||(xr===\"x\"?Ur+=ut.side===\"top\"?Ir*(ut.showticklabels?1:0):Ir*(ut.showticklabels?1.5:.5):Ur+=ut.side===\"right\"?Ir*(ut.showticklabels?1:.5):Ir*(ut.showticklabels?.5:0))}var vr=q.getPxPosition(Tt,ut),Or,ba,Pa;xr===\"x\"?(ba=ut._offset+ut._length/2,Pa=ut.side===\"top\"?vr-Ur:vr+Ur):(Pa=ut._offset+ut._length/2,ba=ut.side===\"right\"?vr+Ur:vr-Ur,Or={rotate:\"-90\",offset:0});var ya;if(ut.type!==\"multicategory\"){var la=ut._selections[ut._id+\"tick\"];if(ya={selection:la,side:ut.side},la&&la.node()&&la.node().parentNode){var Ta=n.getTranslate(la.node().parentNode);ya.offsetLeft=Ta.x,ya.offsetTop=Ta.y}ut.title.hasOwnProperty(\"standoff\")&&(ya.pad=0)}return ut._titleStandoff=Ur,o.draw(Tt,Cr+\"title\",{propContainer:ut,propName:ut._name+\".title.text\",placeholder:Br._dfltTitle[xr],avoid:ya,transform:Or,attributes:{x:ba,y:Pa,\"text-anchor\":\"middle\"}})}q.shouldShowZeroLine=function(Tt,ut,Br){var Cr=e.simpleMap(ut.range,ut.r2l);return Cr[0]*Cr[1]<=0&&ut.zeroline&&(ut.type===\"linear\"||ut.type===\"-\")&&!(ut.rangebreaks&&ut.maskBreaks(0)===N)&&(wi(ut,0)||!Kt(Tt,ut,Br,Cr)||Ft(Tt,ut))},q.clipEnds=function(Tt,ut){return ut.filter(function(Br){return wi(Tt,Br.x)})};function wi(Tt,ut){var Br=Tt.l2p(ut);return Br>1&&Br1)for(xr=1;xr=xr.min&&Tt=z:/%L/.test(ut)?Tt>=L:/%[SX]/.test(ut)?Tt>=R:/%M/.test(ut)?Tt>=f:/%[HI]/.test(ut)?Tt>=y:/%p/.test(ut)?Tt>=u:/%[Aadejuwx]/.test(ut)?Tt>=d:/%[UVW]/.test(ut)?Tt>=b:/%[Bbm]/.test(ut)?Tt>=g:/%[q]/.test(ut)?Tt>=w:/%[Yy]/.test(ut)?Tt>=T:!0}}}),f5=Xe({\"src/plots/cartesian/autorange_options_defaults.js\"(Z,G){\"use strict\";G.exports=function(x,S,E){var e,t;if(E){var r=S===\"reversed\"||S===\"min reversed\"||S===\"max reversed\";e=E[r?1:0],t=E[r?0:1]}var o=x(\"autorangeoptions.minallowed\",t===null?e:void 0),a=x(\"autorangeoptions.maxallowed\",e===null?t:void 0);o===void 0&&x(\"autorangeoptions.clipmin\"),a===void 0&&x(\"autorangeoptions.clipmax\"),x(\"autorangeoptions.include\")}}}),h5=Xe({\"src/plots/cartesian/range_defaults.js\"(Z,G){\"use strict\";var v=f5();G.exports=function(S,E,e,t){var r=E._template||{},o=E.type||r.type||\"-\";e(\"minallowed\"),e(\"maxallowed\");var a=e(\"range\");if(!a){var n;!t.noInsiderange&&o!==\"log\"&&(n=e(\"insiderange\"),n&&(n[0]===null||n[1]===null)&&(E.insiderange=!1,n=void 0),n&&(a=e(\"range\",n)))}var i=E.getAutorangeDflt(a,t),s=e(\"autorange\",i),h;a&&(a[0]===null&&a[1]===null||(a[0]===null||a[1]===null)&&(s===\"reversed\"||s===!0)||a[0]!==null&&(s===\"min\"||s===\"max reversed\")||a[1]!==null&&(s===\"max\"||s===\"min reversed\"))&&(a=void 0,delete E.range,E.autorange=!0,h=!0),h||(i=E.getAutorangeDflt(a,t),s=e(\"autorange\",i)),s&&(v(e,s,a),(o===\"linear\"||o===\"-\")&&e(\"rangemode\")),E.cleanRange()}}}),uz=Xe({\"node_modules/mouse-event-offset/index.js\"(Z,G){var v={left:0,top:0};G.exports=x;function x(E,e,t){e=e||E.currentTarget||E.srcElement,Array.isArray(t)||(t=[0,0]);var r=E.clientX||0,o=E.clientY||0,a=S(e);return t[0]=r-a.left,t[1]=o-a.top,t}function S(E){return E===window||E===document||E===document.body?v:E.getBoundingClientRect()}}}),b2=Xe({\"node_modules/has-passive-events/index.js\"(Z,G){\"use strict\";var v=a5();function x(){var S=!1;try{var E=Object.defineProperty({},\"passive\",{get:function(){S=!0}});window.addEventListener(\"test\",null,E),window.removeEventListener(\"test\",null,E)}catch{S=!1}return S}G.exports=v&&x()}}),cz=Xe({\"src/components/dragelement/align.js\"(Z,G){\"use strict\";G.exports=function(x,S,E,e,t){var r=(x-E)/(e-E),o=r+S/(e-E),a=(r+o)/2;return t===\"left\"||t===\"bottom\"?r:t===\"center\"||t===\"middle\"?a:t===\"right\"||t===\"top\"?o:r<2/3-a?r:o>4/3-a?o:a}}}),fz=Xe({\"src/components/dragelement/cursor.js\"(Z,G){\"use strict\";var v=sa(),x=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];G.exports=function(E,e,t,r){return t===\"left\"?E=0:t===\"center\"?E=1:t===\"right\"?E=2:E=v.constrain(Math.floor(E*3),0,2),r===\"bottom\"?e=0:r===\"middle\"?e=1:r===\"top\"?e=2:e=v.constrain(Math.floor(e*3),0,2),x[e][E]}}}),hz=Xe({\"src/components/dragelement/unhover.js\"(Z,G){\"use strict\";var v=Qy(),x=y2(),S=T_().getGraphDiv,E=w_(),e=G.exports={};e.wrapped=function(t,r,o){t=S(t),t._fullLayout&&x.clear(t._fullLayout._uid+E.HOVERID),e.raw(t,r,o)},e.raw=function(r,o){var a=r._fullLayout,n=r._hoverdata;o||(o={}),!(o.target&&!r._dragged&&v.triggerHandler(r,\"plotly_beforehover\",o)===!1)&&(a._hoverlayer.selectAll(\"g\").remove(),a._hoverlayer.selectAll(\"line\").remove(),a._hoverlayer.selectAll(\"circle\").remove(),r._hoverdata=void 0,o.target&&n&&r.emit(\"plotly_unhover\",{event:o,points:n}))}}}),Ap=Xe({\"src/components/dragelement/index.js\"(Z,G){\"use strict\";var v=uz(),x=i5(),S=b2(),E=sa().removeElement,e=lh(),t=G.exports={};t.align=cz(),t.getCursor=fz();var r=hz();t.unhover=r.wrapped,t.unhoverRaw=r.raw,t.init=function(i){var s=i.gd,h=1,c=s._context.doubleClickDelay,m=i.element,p,T,l,_,w,A,M,g;s._mouseDownTime||(s._mouseDownTime=0),m.style.pointerEvents=\"all\",m.onmousedown=u,S?(m._ontouchstart&&m.removeEventListener(\"touchstart\",m._ontouchstart),m._ontouchstart=u,m.addEventListener(\"touchstart\",u,{passive:!1})):m.ontouchstart=u;function b(R,L,z){return Math.abs(R)\"u\"&&typeof R.clientY>\"u\"&&(R.clientX=p,R.clientY=T),l=new Date().getTime(),l-s._mouseDownTimec&&(h=Math.max(h-1,1)),s._dragged)i.doneFn&&i.doneFn();else{var L;A.target===M?L=A:(L={target:M,srcElement:M,toElement:M},Object.keys(A).concat(Object.keys(A.__proto__)).forEach(z=>{var F=A[z];!L[z]&&typeof F!=\"function\"&&(L[z]=F)})),i.clickFn&&i.clickFn(h,L),g||M.dispatchEvent(new MouseEvent(\"click\",R))}s._dragging=!1,s._dragged=!1}};function o(){var n=document.createElement(\"div\");n.className=\"dragcover\";var i=n.style;return i.position=\"fixed\",i.left=0,i.right=0,i.top=0,i.bottom=0,i.zIndex=999999999,i.background=\"none\",document.body.appendChild(n),n}t.coverSlip=o;function a(n){return v(n.changedTouches?n.changedTouches[0]:n,document.body)}}}),Kd=Xe({\"src/lib/setcursor.js\"(Z,G){\"use strict\";G.exports=function(x,S){(x.attr(\"class\")||\"\").split(\" \").forEach(function(E){E.indexOf(\"cursor-\")===0&&x.classed(E,!1)}),S&&x.classed(\"cursor-\"+S,!0)}}}),pz=Xe({\"src/lib/override_cursor.js\"(Z,G){\"use strict\";var v=Kd(),x=\"data-savedcursor\",S=\"!!\";G.exports=function(e,t){var r=e.attr(x);if(t){if(!r){for(var o=(e.attr(\"class\")||\"\").split(\" \"),a=0;aY.legend.length)for(var oe=Y.legend.length;oe(a===\"legend\"?1:0));if(z===!1&&(i[a]=void 0),!(z===!1&&!c.uirevision)&&(p(\"uirevision\",i.uirevision),z!==!1)){p(\"borderwidth\");var F=p(\"orientation\"),N=p(\"yref\"),O=p(\"xref\"),P=F===\"h\",U=N===\"paper\",B=O===\"paper\",X,$,se,le=\"left\";P?(X=0,v.getComponentMethod(\"rangeslider\",\"isVisible\")(n.xaxis)?U?($=1.1,se=\"bottom\"):($=1,se=\"top\"):U?($=-.1,se=\"top\"):($=0,se=\"bottom\")):($=1,se=\"auto\",B?X=1.02:(X=1,le=\"right\")),x.coerce(c,m,{x:{valType:\"number\",editType:\"legend\",min:B?-2:0,max:B?3:1,dflt:X}},\"x\"),x.coerce(c,m,{y:{valType:\"number\",editType:\"legend\",min:U?-2:0,max:U?3:1,dflt:$}},\"y\"),p(\"traceorder\",d),r.isGrouped(i[a])&&p(\"tracegroupgap\"),p(\"entrywidth\"),p(\"entrywidthmode\"),p(\"indentation\"),p(\"itemsizing\"),p(\"itemwidth\"),p(\"itemclick\"),p(\"itemdoubleclick\"),p(\"groupclick\"),p(\"xanchor\",le),p(\"yanchor\",se),p(\"maxheight\"),p(\"valign\"),x.noneOrAll(c,m,[\"x\",\"y\"]);var fe=p(\"title.text\");if(fe){p(\"title.side\",P?\"left\":\"top\");var V=x.extendFlat({},T,{size:x.bigFont(T.size)});x.coerceFont(p,\"title.font\",V);let Y=h>1;p(\"titleclick\",Y?\"toggle\":!1),p(\"titledoubleclick\",Y?\"toggleothers\":!1)}}}G.exports=function(n,i,s){var h,c=s.slice(),m=i.shapes;if(m)for(h=0;hz&&(L=z)}f[p][0]._groupMinRank=L,f[p][0]._preGroupSort=p}var F=function(X,$){return X[0]._groupMinRank-$[0]._groupMinRank||X[0]._preGroupSort-$[0]._preGroupSort},N=function(X,$){return X.trace.legendrank-$.trace.legendrank||X._preSort-$._preSort};for(f.forEach(function(X,$){X[0]._preGroupSort=$}),f.sort(F),p=0;p0)oe=Y.width;else return 0;return d?q:Math.min(oe,ee)};A.each(function(V){var Y=v.select(this),ee=S.ensureSingle(Y,\"g\",\"layers\");ee.style(\"opacity\",V[0].trace.opacity);var q=g.indentation,oe=g.valign,ae=V[0].lineHeight,j=V[0].height;if(oe===\"middle\"&&q===0||!ae||!j)ee.attr(\"transform\",null);else{var Q={top:1,bottom:-1}[oe],re=Q*(.5*(ae-j+3))||0,ce=g.indentation;ee.attr(\"transform\",E(ce,re))}var be=ee.selectAll(\"g.legendfill\").data([V]);be.enter().append(\"g\").classed(\"legendfill\",!0);var Ae=ee.selectAll(\"g.legendlines\").data([V]);Ae.enter().append(\"g\").classed(\"legendlines\",!0);var De=ee.selectAll(\"g.legendsymbols\").data([V]);De.enter().append(\"g\").classed(\"legendsymbols\",!0),De.selectAll(\"g.legendpoints\").data([V]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(fe).each(F).each(O).each(N).each(U).each(se).each($).each(L).each(z).each(B).each(X);function L(V){var Y=l(V),ee=Y.showFill,q=Y.showLine,oe=Y.showGradientLine,ae=Y.showGradientFill,j=Y.anyFill,Q=Y.anyLine,re=V[0],ce=re.trace,be,Ae,De=r(ce),ze=De.colorscale,Ze=De.reversescale,at=function(Oe){if(Oe.size())if(ee)e.fillGroupStyle(Oe,M,!0);else{var tt=\"legendfill-\"+ce.uid;e.gradient(Oe,M,tt,T(Ze),ze,\"fill\")}},nt=function(Oe){if(Oe.size()){var tt=\"legendline-\"+ce.uid;e.lineGroupStyle(Oe),e.gradient(Oe,M,tt,T(Ze),ze,\"stroke\")}},rt=o.hasMarkers(ce)||!j?\"M5,0\":Q?\"M5,-2\":\"M5,-3\",st=v.select(this),Me=st.select(\".legendfill\").selectAll(\"path\").data(ee||ae?[V]:[]);if(Me.enter().append(\"path\").classed(\"js-fill\",!0),Me.exit().remove(),Me.attr(\"d\",rt+\"h\"+u+\"v6h-\"+u+\"z\").call(at),q||oe){var ye=R(void 0,ce.line,m,h);Ae=S.minExtend(ce,{line:{width:ye}}),be=[S.minExtend(re,{trace:Ae})]}var he=st.select(\".legendlines\").selectAll(\"path\").data(q||oe?[be]:[]);he.enter().append(\"path\").classed(\"js-line\",!0),he.exit().remove(),he.attr(\"d\",rt+(oe?\"l\"+u+\",0.0001\":\"h\"+u)).call(q?e.lineGroupStyle:nt)}function z(V){var Y=l(V),ee=Y.anyFill,q=Y.anyLine,oe=Y.showLine,ae=Y.showMarker,j=V[0],Q=j.trace,re=!ae&&!q&&!ee&&o.hasText(Q),ce,be;function Ae(Me,ye,he,Oe){var tt=S.nestedProperty(Q,Me).get(),ot=S.isArrayOrTypedArray(tt)&&ye?ye(tt):tt;if(d&&ot&&Oe!==void 0&&(ot=Oe),he){if(othe[1])return he[1]}return ot}function De(Me){return j._distinct&&j.index&&Me[j.index]?Me[j.index]:Me[0]}if(ae||re||oe){var ze={},Ze={};if(ae){ze.mc=Ae(\"marker.color\",De),ze.mx=Ae(\"marker.symbol\",De),ze.mo=Ae(\"marker.opacity\",S.mean,[.2,1]),ze.mlc=Ae(\"marker.line.color\",De),ze.mlw=Ae(\"marker.line.width\",S.mean,[0,5],c),ze.mld=Q._isShape?\"solid\":Ae(\"marker.line.dash\",De),Ze.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var at=Ae(\"marker.size\",S.mean,[2,16],s);ze.ms=at,Ze.marker.size=at}oe&&(Ze.line={width:Ae(\"line.width\",De,[0,10],h)}),re&&(ze.tx=\"Aa\",ze.tp=Ae(\"textposition\",De),ze.ts=10,ze.tc=Ae(\"textfont.color\",De),ze.tf=Ae(\"textfont.family\",De),ze.tw=Ae(\"textfont.weight\",De),ze.ty=Ae(\"textfont.style\",De),ze.tv=Ae(\"textfont.variant\",De),ze.tC=Ae(\"textfont.textcase\",De),ze.tE=Ae(\"textfont.lineposition\",De),ze.tS=Ae(\"textfont.shadow\",De)),ce=[S.minExtend(j,ze)],be=S.minExtend(Q,Ze),be.selectedpoints=null,be.texttemplate=null}var nt=v.select(this).select(\"g.legendpoints\"),rt=nt.selectAll(\"path.scatterpts\").data(ae?ce:[]);rt.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",f),rt.exit().remove(),rt.call(e.pointStyle,be,M),ae&&(ce[0].mrc=3);var st=nt.selectAll(\"g.pointtext\").data(re?ce:[]);st.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",f),st.exit().remove(),st.selectAll(\"text\").call(e.textPointStyle,be,M)}function F(V){var Y=V[0].trace,ee=Y.type===\"waterfall\";if(V[0]._distinct&&ee){var q=V[0].trace[V[0].dir].marker;return V[0].mc=q.color,V[0].mlw=q.line.width,V[0].mlc=q.line.color,P(V,this,\"waterfall\")}var oe=[];Y.visible&&ee&&(oe=V[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 ae=v.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(oe);ae.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",f).style(\"stroke-miterlimit\",1),ae.exit().remove(),ae.each(function(j){var Q=v.select(this),re=Y[j[0]].marker,ce=R(void 0,re.line,p,c);Q.attr(\"d\",j[1]).style(\"stroke-width\",ce+\"px\").call(t.fill,re.color),ce&&Q.call(t.stroke,re.line.color)})}function N(V){P(V,this)}function O(V){P(V,this,\"funnel\")}function P(V,Y,ee){var q=V[0].trace,oe=q.marker||{},ae=oe.line||{},j=oe.cornerradius?\"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z\":\"M6,6H-6V-6H6Z\",Q=ee?q.visible&&q.type===ee:x.traceIs(q,\"bar\"),re=v.select(Y).select(\"g.legendpoints\").selectAll(\"path.legend\"+ee).data(Q?[V]:[]);re.enter().append(\"path\").classed(\"legend\"+ee,!0).attr(\"d\",j).attr(\"transform\",f),re.exit().remove(),re.each(function(ce){var be=v.select(this),Ae=ce[0],De=R(Ae.mlw,oe.line,p,c);be.style(\"stroke-width\",De+\"px\");var ze=Ae.mcc;if(!g._inHover&&\"mc\"in Ae){var Ze=r(oe),at=Ze.mid;at===void 0&&(at=(Ze.max+Ze.min)/2),ze=e.tryColorscale(oe,\"\")(at)}var nt=ze||Ae.mc||oe.color,rt=oe.pattern,st=e.getPatternAttr,Me=rt&&(st(rt.shape,0,\"\")||st(rt.path,0,\"\"));if(Me){var ye=st(rt.bgcolor,0,null),he=st(rt.fgcolor,0,null),Oe=rt.fgopacity,tt=_(rt.size,8,10),ot=_(rt.solidity,.5,1),Qe=\"legend-\"+q.uid;be.call(e.pattern,\"legend\",M,Qe,Me,tt,ot,ze,rt.fillmode,ye,he,Oe)}else be.call(t.fill,nt);De&&t.stroke(be,Ae.mlc||ae.color)})}function U(V){var Y=V[0].trace,ee=v.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(Y.visible&&x.traceIs(Y,\"box-violin\")?[V]:[]);ee.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",f),ee.exit().remove(),ee.each(function(){var q=v.select(this);if((Y.boxpoints===\"all\"||Y.points===\"all\")&&t.opacity(Y.fillcolor)===0&&t.opacity((Y.line||{}).color)===0){var oe=S.minExtend(Y,{marker:{size:d?s:S.constrain(Y.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});ee.call(e.pointStyle,oe,M)}else{var ae=R(void 0,Y.line,p,c);q.style(\"stroke-width\",ae+\"px\").call(t.fill,Y.fillcolor),ae&&t.stroke(q,Y.line.color)}})}function B(V){var Y=V[0].trace,ee=v.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(Y.visible&&Y.type===\"candlestick\"?[V,V]:[]);ee.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(q,oe){return oe?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",f).style(\"stroke-miterlimit\",1),ee.exit().remove(),ee.each(function(q,oe){var ae=v.select(this),j=Y[oe?\"increasing\":\"decreasing\"],Q=R(void 0,j.line,p,c);ae.style(\"stroke-width\",Q+\"px\").call(t.fill,j.fillcolor),Q&&t.stroke(ae,j.line.color)})}function X(V){var Y=V[0].trace,ee=v.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(Y.visible&&Y.type===\"ohlc\"?[V,V]:[]);ee.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(q,oe){return oe?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",f).style(\"stroke-miterlimit\",1),ee.exit().remove(),ee.each(function(q,oe){var ae=v.select(this),j=Y[oe?\"increasing\":\"decreasing\"],Q=R(void 0,j.line,p,c);ae.style(\"fill\",\"none\").call(e.dashLine,j.line.dash,Q),Q&&t.stroke(ae,j.line.color)})}function $(V){le(V,this,\"pie\")}function se(V){le(V,this,\"funnelarea\")}function le(V,Y,ee){var q=V[0],oe=q.trace,ae=ee?oe.visible&&oe.type===ee:x.traceIs(oe,ee),j=v.select(Y).select(\"g.legendpoints\").selectAll(\"path.legend\"+ee).data(ae?[V]:[]);if(j.enter().append(\"path\").classed(\"legend\"+ee,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",f),j.exit().remove(),j.size()){var Q=oe.marker||{},re=R(n(Q.line.width,q.pts),Q.line,p,c),ce=\"pieLike\",be=S.minExtend(oe,{marker:{line:{width:re}}},ce),Ae=S.minExtend(q,{trace:be},ce);a(j,Ae,be,M)}}function fe(V){var Y=V[0].trace,ee,q=[];if(Y.visible)switch(Y.type){case\"histogram2d\":case\"heatmap\":q=[[\"M-15,-2V4H15V-2Z\"]],ee=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":q=[[\"M-6,-6V6H6V-6Z\"]],ee=!0;break;case\"densitymapbox\":case\"densitymap\":q=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],ee=\"radial\";break;case\"cone\":q=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],ee=!1;break;case\"streamtube\":q=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],ee=!1;break;case\"surface\":q=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],ee=!0;break;case\"mesh3d\":q=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],ee=!1;break;case\"volume\":q=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],ee=!0;break;case\"isosurface\":q=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],ee=!1;break}var oe=v.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(q);oe.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",f).style(\"stroke-miterlimit\",1),oe.exit().remove(),oe.each(function(ae,j){var Q=v.select(this),re=r(Y),ce=re.colorscale,be=re.reversescale,Ae=function(at){if(at.size()){var nt=\"legendfill-\"+Y.uid;e.gradient(at,M,nt,T(be,ee===\"radial\"),ce,\"fill\")}},De;if(ce){if(!ee){var Ze=ce.length;De=j===0?ce[be?Ze-1:0][1]:j===1?ce[be?0:Ze-1][1]:ce[Math.floor((Ze-1)/2)][1]}}else{var ze=Y.vertexcolor||Y.facecolor||Y.color;De=S.isArrayOrTypedArray(ze)?ze[j]||ze[0]:ze}Q.attr(\"d\",ae[0]),De?Q.call(t.fill,De):Q.call(Ae)})}};function T(w,A){var M=A?\"radial\":\"horizontal\";return M+(w?\"\":\"reversed\")}function l(w){var A=w[0].trace,M=A.contours,g=o.hasLines(A),b=o.hasMarkers(A),d=A.visible&&A.fill&&A.fill!==\"none\",u=!1,y=!1;if(M){var f=M.coloring;f===\"lines\"?u=!0:g=f===\"none\"||f===\"heatmap\"||M.showlines,M.type===\"constraint\"?d=M._operation!==\"=\":(f===\"fill\"||f===\"heatmap\")&&(y=!0)}return{showMarker:b,showLine:g,showFill:d,showGradientLine:u,showGradientFill:y,anyLine:g||u,anyFill:d||y}}function _(w,A,M){return w&&S.isArrayOrTypedArray(w)?A:w>M?M:w}}}),y5=Xe({\"src/components/legend/draw.js\"(Z,G){\"use strict\";var v=Hn(),x=sa(),S=bc(),E=so(),e=Qy(),t=Ap(),r=es(),o=$n(),a=ou(),n=v5().handleItemClick,i=v5().handleTitleClick,s=m5(),h=uh(),c=h.LINE_SPACING,m=h.FROM_TL,p=h.FROM_BR,T=dz(),l=g5(),_=E_(),w=1,A=/^legend[0-9]*$/;G.exports=function(X,$){if($)g(X,$);else{var se=X._fullLayout,le=se._legends,fe=se._infolayer.selectAll('[class^=\"legend\"]');fe.each(function(){var q=v.select(this),oe=q.attr(\"class\"),ae=oe.split(\" \")[0];ae.match(A)&&le.indexOf(ae)===-1&&q.remove()});for(var V=0;V1)}var re=se.hiddenlabels||[];if(!Y&&(!se.showlegend||!ee.length))return V.selectAll(\".\"+le).remove(),se._topdefs.select(\"#\"+fe).remove(),S.autoMargin(B,le);var ce=x.ensureSingle(V,\"g\",le,function(st){Y||st.attr(\"pointer-events\",\"all\")}),be=x.ensureSingleById(se._topdefs,\"clipPath\",fe,function(st){st.append(\"rect\")}),Ae=x.ensureSingle(ce,\"rect\",\"bg\",function(st){st.attr(\"shape-rendering\",\"crispEdges\")});Ae.call(o.stroke,$.bordercolor).call(o.fill,$.bgcolor).style(\"stroke-width\",$.borderwidth+\"px\");var De=x.ensureSingle(ce,\"g\",\"scrollbox\"),ze=$.title;$._titleWidth=0,$._titleHeight=0;var Ze;ze.text?(Ze=x.ensureSingle(De,\"text\",le+\"titletext\"),Ze.attr(\"text-anchor\",\"start\").call(r.font,ze.font).text(ze.text),L(Ze,De,B,$,w),!Y&&($.titleclick||$.titledoubleclick)&&R(De,B,$,le)):(De.selectAll(\".\"+le+\"titletext\").remove(),De.selectAll(\".\"+le+\"titletoggle\").remove());var at=x.ensureSingle(ce,\"rect\",\"scrollbar\",function(st){st.attr(s.scrollBarEnterAttrs).call(o.fill,s.scrollBarColor)}),nt=De.selectAll(\"g.groups\").data(ee);nt.enter().append(\"g\").attr(\"class\",\"groups\"),nt.exit().remove();var rt=nt.selectAll(\"g.traces\").data(x.identity);rt.enter().append(\"g\").attr(\"class\",\"traces\"),rt.exit().remove(),rt.style(\"opacity\",function(st){let Me=st[0],ye=Me.trace;if(Me.groupTitle){let he=ye.legendgroup,Oe=(se.shapes||[]).filter(function(ot){return ot.showlegend});return B._fullData.concat(Oe).some(function(ot){return ot.legendgroup===he&&(ot.legend||\"legend\")===le&&ot.visible===!0})?1:.5}return E.traceIs(ye,\"pie-like\")?re.indexOf(st[0].label)!==-1?.5:1:ye.visible===\"legendonly\"?.5:1}).each(function(){v.select(this).call(u,B,$)}).call(l,B,$).each(function(st){Y||st[0].groupTitle&&$.groupclick===\"toggleitem\"||v.select(this).call(f,B,le)}),x.syncOrAsync([S.previousPromises,function(){return N(B,nt,rt,$,De)},function(){var st=se._size,Me=$.borderwidth,ye=$.xref===\"paper\",he=$.yref===\"paper\";if(ze.text){let ct=(se.shapes||[]).filter(function(Ct){return Ct.showlegend}),_t=B._fullData.concat(ct).some(function(Ct){let ir=Ct.legend||\"legend\";var rr=Array.isArray(ir)?ir.includes(le):ir===le;return rr&&Ct.visible===!0});Ze.style(\"opacity\",_t?1:.5)}if(!Y){var Oe,tt;ye?Oe=st.l+st.w*$.x-m[P($)]*$._width:Oe=se.width*$.x-m[P($)]*$._width,he?tt=st.t+st.h*(1-$.y)-m[U($)]*$._effHeight:tt=se.height*(1-$.y)-m[U($)]*$._effHeight;var ot=O(B,le,Oe,tt);if(ot)return;if(se.margin.autoexpand){var Qe=Oe,Pt=tt;Oe=ye?x.constrain(Oe,0,se.width-$._width):Qe,tt=he?x.constrain(tt,0,se.height-$._effHeight):Pt,Oe!==Qe&&x.log(\"Constrain \"+le+\".x to make legend fit inside graph\"),tt!==Pt&&x.log(\"Constrain \"+le+\".y to make legend fit inside graph\")}r.setTranslate(ce,Oe,tt)}if(at.on(\".drag\",null),ce.on(\"wheel\",null),Y||$._height<=$._maxHeight||B._context.staticPlot){var It=$._effHeight;Y&&(It=$._height),Ae.attr({width:$._width-Me,height:It-Me,x:Me/2,y:Me/2}),r.setTranslate(De,0,0),be.select(\"rect\").attr({width:$._width-2*Me,height:It-2*Me,x:Me,y:Me}),r.setClipUrl(De,fe,B),r.setRect(at,0,0,0,0),delete $._scrollY}else{var qt=Math.max(s.scrollBarMinHeight,$._effHeight*$._effHeight/$._height),Wt=$._effHeight-qt-2*s.scrollBarMargin,kr=$._height-$._effHeight,mr=Wt/kr,qr=Math.min($._scrollY||0,kr);Ae.attr({width:$._width-2*Me+s.scrollBarWidth+s.scrollBarMargin,height:$._effHeight-Me,x:Me/2,y:Me/2}),be.select(\"rect\").attr({width:$._width-2*Me+s.scrollBarWidth+s.scrollBarMargin,height:$._effHeight-2*Me,x:Me,y:Me+qr}),r.setClipUrl(De,fe,B),Ve(qr,qt,mr),ce.on(\"wheel\",function(){qr=x.constrain($._scrollY+v.event.deltaY/kr*Wt,0,kr),Ve(qr,qt,mr),qr!==0&&qr!==kr&&v.event.preventDefault()});var Sr,Rr,wt,Ne=function(ct,_t,Ct){var ir=(Ct-_t)/mr+ct;return x.constrain(ir,0,kr)},Ke=function(ct,_t,Ct){var ir=(_t-Ct)/mr+ct;return x.constrain(ir,0,kr)},Te=v.behavior.drag().on(\"dragstart\",function(){var ct=v.event.sourceEvent;ct.type===\"touchstart\"?Sr=ct.changedTouches[0].clientY:Sr=ct.clientY,wt=qr}).on(\"drag\",function(){var ct=v.event.sourceEvent;ct.buttons===2||ct.ctrlKey||(ct.type===\"touchmove\"?Rr=ct.changedTouches[0].clientY:Rr=ct.clientY,qr=Ne(wt,Sr,Rr),Ve(qr,qt,mr))});at.call(Te);var Ie=v.behavior.drag().on(\"dragstart\",function(){var ct=v.event.sourceEvent;ct.type===\"touchstart\"&&(Sr=ct.changedTouches[0].clientY,wt=qr)}).on(\"drag\",function(){var ct=v.event.sourceEvent;ct.type===\"touchmove\"&&(Rr=ct.changedTouches[0].clientY,qr=Ke(wt,Sr,Rr),Ve(qr,qt,mr))});De.call(Ie)}function Ve(ct,_t,Ct){$._scrollY=B._fullLayout[le]._scrollY=ct,r.setTranslate(De,0,-ct),r.setRect(at,$._width,s.scrollBarMargin+ct*Ct,s.scrollBarWidth,_t),be.select(\"rect\").attr(\"y\",Me+ct)}if(B._context.edits.legendPosition){var Ce,Ee,Pe,ft;ce.classed(\"cursor-move\",!0),t.init({element:ce.node(),gd:B,prepFn:function(ct){if(ct.target!==at.node()){var _t=r.getTranslate(ce);Pe=_t.x,ft=_t.y}},moveFn:function(ct,_t){if(Pe!==void 0&&ft!==void 0){var Ct=Pe+ct,ir=ft+_t;r.setTranslate(ce,Ct,ir),Ce=t.align(Ct,$._width,st.l,st.l+st.w,$.xanchor),Ee=t.align(ir+$._height,-$._height,st.t+st.h,st.t,$.yanchor)}},doneFn:function(){if(Ce!==void 0&&Ee!==void 0){var ct={};ct[le+\".x\"]=Ce,ct[le+\".y\"]=Ee,E.call(\"_guiRelayout\",B,ct)}},clickFn:function(ct,_t){var Ct=V.selectAll(\"g.traces\").filter(function(){var ir=this.getBoundingClientRect();return _t.clientX>=ir.left&&_t.clientX<=ir.right&&_t.clientY>=ir.top&&_t.clientY<=ir.bottom});Ct.size()>0&&d(B,$,Ct,ct,_t)}})}}],B)}}function b(B,X,$){var se=B[0],le=se.width,fe=X.entrywidthmode,V=se.trace.legendwidth||X.entrywidth;return fe===\"fraction\"?X._maxWidth*V:$+(V||le)}function d(B,X,$,se,le){var fe=B._fullLayout,V=$.data()[0][0].trace,Y=X.itemclick,ee=X.itemdoubleclick,q={event:le,node:$.node(),curveNumber:V.index,expandedIndex:V.index,data:B.data,layout:B.layout,frames:B._transitionData._frames,config:B._context,fullData:B._fullData,fullLayout:fe};V._group&&(q.group=V._group),E.traceIs(V,\"pie-like\")&&(q.label=$.datum()[0].label);var oe=e.triggerHandler(B,\"plotly_legendclick\",q);if(se===1){if(oe===!1)return;X._clickTimeout=setTimeout(function(){B._fullLayout&&Y&&n($,B,X,Y)},B._context.doubleClickDelay)}else if(se===2){X._clickTimeout&&clearTimeout(X._clickTimeout),B._legendMouseDownTime=0;var ae=e.triggerHandler(B,\"plotly_legenddoubleclick\",q);ae!==!1&&oe!==!1&&ee&&n($,B,X,ee)}}function u(B,X,$){var se=_.getId($),le=B.data()[0][0],fe=le.trace,V=E.traceIs(fe,\"pie-like\"),Y=!$._inHover&&X._context.edits.legendText&&!V,ee=$._maxNameLength,q,oe;le.groupTitle?(q=le.groupTitle.text,oe=le.groupTitle.font):(oe=$.font,$.entries?q=le.text:(q=V?le.label:fe.name,fe._meta&&(q=x.templateString(q,fe._meta))));var ae=x.ensureSingle(B,\"text\",se+\"text\");ae.attr(\"text-anchor\",\"start\").call(r.font,oe).text(Y?y(q,ee):q);var j=$.indentation+$.itemwidth+s.itemGap*2;a.positionText(ae,j,0),Y?ae.call(a.makeEditable,{gd:X,text:q}).call(L,B,X,$).on(\"edit\",function(Q){this.text(y(Q,ee)).call(L,B,X,$);var re=le.trace._fullInput||{},ce={};return ce.name=Q,re._isShape?E.call(\"_guiRelayout\",X,\"shapes[\"+fe.index+\"].name\",ce.name):E.call(\"_guiRestyle\",X,ce,fe.index)}):L(ae,B,X,$)}function y(B,X){var $=Math.max(4,X);if(B&&B.trim().length>=$/2)return B;B=B||\"\";for(var se=$-B.length;se>0;se--)B+=\" \";return B}function f(B,X,$){var se=X._context.doubleClickDelay,le,fe=1,V=x.ensureSingle(B,\"rect\",$+\"toggle\",function(Y){X._context.staticPlot||Y.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),Y.call(o.fill,\"rgba(0,0,0,0)\")});X._context.staticPlot||(V.on(\"mousedown\",function(){le=new Date().getTime(),le-X._legendMouseDownTimese&&(fe=Math.max(fe-1,1)),d(X,Y,B,fe,v.event)}}))}function R(B,X,$,se){if(X._fullData.some(function(q){let oe=q.legend||\"legend\";return(Array.isArray(oe)?oe.includes(se):oe===se)&&E.traceIs(q,\"pie-like\")}))return;let fe=X._context.doubleClickDelay;var V,Y=1;let ee=x.ensureSingle(B,\"rect\",se+\"titletoggle\",function(q){X._context.staticPlot||q.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),q.call(o.fill,\"rgba(0,0,0,0)\")});X._context.staticPlot||(ee.on(\"mousedown\",function(){V=new Date().getTime(),V-X._legendMouseDownTimefe&&(Y=Math.max(Y-1,1));let q={event:v.event,legendId:se,data:X.data,layout:X.layout,fullData:X._fullData,fullLayout:X._fullLayout};if(Y===1&&$.titleclick){if(e.triggerHandler(X,\"plotly_legendtitleclick\",q)===!1)return;$._titleClickTimeout=setTimeout(function(){X._fullLayout&&i(X,$,$.titleclick)},fe)}else Y===2&&($._titleClickTimeout&&clearTimeout($._titleClickTimeout),X._legendMouseDownTime=0,e.triggerHandler(X,\"plotly_legendtitledoubleclick\",q)!==!1&&$.titledoubleclick&&i(X,$,$.titledoubleclick))}))}function L(B,X,$,se,le){se._inHover&&B.attr(\"data-notex\",!0),a.convertToTspans(B,$,function(){z(X,$,se,le)})}function z(B,X,$,se){var le=B.data()[0][0],fe=le&&le.trace.showlegend;if(Array.isArray(fe)&&(fe=fe[le.i]!==!1),!$._inHover&&le&&!fe){B.remove();return}var V=B.select(\"g[class*=math-group]\"),Y=V.node(),ee=_.getId($);$||($=X._fullLayout[ee]);var q=$.borderwidth,oe;se===w?oe=$.title.font:le.groupTitle?oe=le.groupTitle.font:oe=$.font;var ae=oe.size*c,j,Q;if(Y){var re=r.bBox(Y);j=re.height,Q=re.width,se===w?r.setTranslate(V,q,q+j*.75):r.setTranslate(V,0,j*.25)}else{var ce=\".\"+ee+(se===w?\"title\":\"\")+\"text\",be=B.select(ce),Ae=a.lineCount(be),De=be.node();if(j=ae*Ae,Q=De?r.bBox(De).width:0,se===w)$.title.side===\"left\"&&(Q+=s.itemGap*2),a.positionText(be,q+s.titlePad,q+ae);else{var ze=s.itemGap*2+$.indentation+$.itemwidth;le.groupTitle&&(ze=s.itemGap,Q-=$.indentation+$.itemwidth),a.positionText(be,ze,-ae*((Ae-1)/2-.3))}}se===w?($._titleWidth=Q,$._titleHeight=j):(le.lineHeight=ae,le.height=Math.max(j,16)+3,le.width=Q)}function F(B){var X=0,$=0,se=B.title.side;return se&&(se.indexOf(\"left\")!==-1&&(X=B._titleWidth),se.indexOf(\"top\")!==-1&&($=B._titleHeight)),[X,$]}function N(B,X,$,se,le){var fe=B._fullLayout,V=_.getId(se);se||(se=fe[V]);var Y=fe._size,ee=_.isVertical(se),q=_.isGrouped(se),oe=se.entrywidthmode===\"fraction\",ae=se.borderwidth,j=2*ae,Q=s.itemGap,re=se.indentation+se.itemwidth+Q*2,ce=2*(ae+Q),be=U(se),Ae=se.y<0||se.y===0&&be===\"top\",De=se.y>1||se.y===1&&be===\"bottom\",ze=se.tracegroupgap,Ze={};let{orientation:at,yref:nt}=se,{maxheight:rt}=se,st=Ae||De||at!==\"v\"||nt!==\"paper\";rt||(rt=st?.5:1);let Me=st?fe.height:Y.h;se._maxHeight=Math.max(rt>1?rt:rt*Me,30);var ye=0;se._width=0,se._height=0;var he=F(se);if(ee)$.each(function(ct){var _t=ct[0].height;r.setTranslate(this,ae+he[0],ae+he[1]+se._height+_t/2+Q),se._height+=_t,se._width=Math.max(se._width,ct[0].width)}),ye=re+se._width,se._width+=Q+re+j,se._height+=ce,q&&(X.each(function(ct,_t){r.setTranslate(this,0,_t*se.tracegroupgap)}),se._height+=(se._lgroupsLength-1)*se.tracegroupgap);else{var Oe=P(se),tt=se.x<0||se.x===0&&Oe===\"right\",ot=se.x>1||se.x===1&&Oe===\"left\",Qe=De||Ae,Pt=fe.width/2;se._maxWidth=Math.max(tt?Qe&&Oe===\"left\"?Y.l+Y.w:Pt:ot?Qe&&Oe===\"right\"?Y.r+Y.w:Pt:Y.w,2*re);var It=0,qt=0;$.each(function(ct){var _t=b(ct,se,re);It=Math.max(It,_t),qt+=_t}),ye=null;var Wt=0;if(q){var kr=0,mr=0,qr=0;X.each(function(){var ct=0,_t=0;v.select(this).selectAll(\"g.traces\").each(function(ir){var rr=b(ir,se,re),er=ir[0].height;r.setTranslate(this,he[0],he[1]+ae+Q+er/2+_t),_t+=er,ct=Math.max(ct,rr),Ze[ir[0].trace.legendgroup]=ct});var Ct=ct+Q;mr>0&&Ct+ae+mr>se._maxWidth?(Wt=Math.max(Wt,mr),mr=0,qr+=kr+ze,kr=_t):kr=Math.max(kr,_t),r.setTranslate(this,mr,qr),mr+=Ct}),se._width=Math.max(Wt,mr)+ae,se._height=qr+kr+ce}else{var Sr=$.size(),Rr=qt+j+(Sr-1)*Q=se._maxWidth&&(Wt=Math.max(Wt,Te),Ne=0,Ke+=wt,se._height+=wt,wt=0),r.setTranslate(this,he[0]+ae+Ne,he[1]+ae+Ke+_t/2+Q),Te=Ne+Ct+Q,Ne+=ir,wt=Math.max(wt,_t)}),Rr?(se._width=Ne+j,se._height=wt+ce):(se._width=Math.max(Wt,Te)+j,se._height+=wt+ce)}}se._width=Math.ceil(Math.max(se._width+he[0],se._titleWidth+2*(ae+s.titlePad))),se._height=Math.ceil(Math.max(se._height+he[1],se._titleHeight+2*(ae+s.itemGap))),se._effHeight=Math.min(se._height,se._maxHeight);var Ie=B._context.edits,Ve=Ie.legendText||Ie.legendPosition;$.each(function(ct){var _t=v.select(this).select(\".\"+V+\"toggle\"),Ct=ct[0].height,ir=ct[0].trace.legendgroup,rr=b(ct,se,re);q&&ir!==\"\"&&(rr=Ze[ir]);var er=Ve?re:ye||rr;!ee&&!oe&&(er+=Q/2),r.setRect(_t,0,-Ct/2,er,Ct)});var Ce=le.select(\".\"+V+\"titletext\");Ce.node()&&M(Ce,se,ae);var Ee=le.select(\".\"+V+\"titletoggle\");if(Ee.size()&&Ce.node()){var Pe=Ce.attr(\"x\")||0,ft=s.titlePad;r.setRect(Ee,Pe-ft,ae,se._titleWidth+2*ft,se._titleHeight+2*ft)}}function O(B,X,$,se){var le=B._fullLayout,fe=le[X],V=P(fe),Y=U(fe),ee=fe.xref===\"paper\",q=fe.yref===\"paper\";B._fullLayout._reservedMargin[X]={};var oe=fe.y<.5?\"b\":\"t\",ae=fe.x<.5?\"l\":\"r\",j={r:le.width-$,l:$+fe._width,b:le.height-se,t:se+fe._effHeight};if(ee&&q)return S.autoMargin(B,X,{x:fe.x,y:fe.y,l:fe._width*m[V],r:fe._width*p[V],b:fe._effHeight*p[Y],t:fe._effHeight*m[Y]});ee?B._fullLayout._reservedMargin[X][oe]=j[oe]:q||fe.orientation===\"v\"?B._fullLayout._reservedMargin[X][ae]=j[ae]:B._fullLayout._reservedMargin[X][oe]=j[oe]}function P(B){return x.isRightAnchor(B)?\"right\":x.isCenterAnchor(B)?\"center\":\"left\"}function U(B){return x.isBottomAnchor(B)?\"bottom\":x.isMiddleAnchor(B)?\"middle\":\"top\"}}}),_5=Xe({\"src/components/fx/hover.js\"(Z){\"use strict\";var G=Hn(),v=rs(),x=Ch(),S=sa(),E=S.pushUnique,e=S.strTranslate,t=S.strRotate,r=Qy(),o=ou(),a=pz(),n=es(),i=$n(),s=Ap(),h=Go(),c=lh().zindexSeparator,m=so(),p=$p(),T=w_(),l=d5(),_=y5(),w=T.YANGLE,A=Math.PI*w/180,M=1/Math.sin(A),g=Math.cos(A),b=Math.sin(A),d=T.HOVERARROWSIZE,u=T.HOVERTEXTPAD,y={box:!0,ohlc:!0,violin:!0,candlestick:!0},f={scatter:!0,scattergl:!0,splom:!0};function R(j,Q){return j.distance-Q.distance}Z.hover=function(Q,re,ce,be){Q=S.getGraphDiv(Q);var Ae=re.target;S.throttle(Q._fullLayout._uid+T.HOVERID,T.HOVERMINTIME,function(){L(Q,re,ce,be,Ae)})},Z.loneHover=function(Q,re){var ce=!0;Array.isArray(Q)||(ce=!1,Q=[Q]);var be=re.gd,Ae=q(be),De=oe(be),ze=Q.map(function(Oe){var tt=Oe._x0||Oe.x0||Oe.x||0,ot=Oe._x1||Oe.x1||Oe.x||0,Qe=Oe._y0||Oe.y0||Oe.y||0,Pt=Oe._y1||Oe.y1||Oe.y||0,It=Oe.eventData;if(It){var qt=Math.min(tt,ot),Wt=Math.max(tt,ot),kr=Math.min(Qe,Pt),mr=Math.max(Qe,Pt),qr=Oe.trace;if(m.traceIs(qr,\"gl3d\")){var Sr=be._fullLayout[qr.scene]._scene.container,Rr=Sr.offsetLeft,wt=Sr.offsetTop;qt+=Rr,Wt+=Rr,kr+=wt,mr+=wt}It.bbox={x0:qt+De,x1:Wt+De,y0:kr+Ae,y1:mr+Ae},re.inOut_bbox&&re.inOut_bbox.push(It.bbox)}else It=!1;return{color:Oe.color||i.defaultLine,x0:Oe.x0||Oe.x||0,x1:Oe.x1||Oe.x||0,y0:Oe.y0||Oe.y||0,y1:Oe.y1||Oe.y||0,xLabel:Oe.xLabel,yLabel:Oe.yLabel,zLabel:Oe.zLabel,text:Oe.text,name:Oe.name,idealAlign:Oe.idealAlign,borderColor:Oe.borderColor,fontFamily:Oe.fontFamily,fontSize:Oe.fontSize,fontColor:Oe.fontColor,fontWeight:Oe.fontWeight,fontStyle:Oe.fontStyle,fontVariant:Oe.fontVariant,nameLength:Oe.nameLength,textAlign:Oe.textAlign,trace:Oe.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:Oe.hovertemplate||!1,hovertemplateLabels:Oe.hovertemplateLabels||!1,eventData:It}}),Ze=!1,at=N(ze,{gd:be,hovermode:\"closest\",rotateLabels:Ze,bgColor:re.bgColor||i.background,container:G.select(re.container),outerContainer:re.outerContainer||re.container}),nt=at.hoverLabels,rt=5,st=0,Me=0;nt.sort(function(Oe,tt){return Oe.y0-tt.y0}).each(function(Oe,tt){var ot=Oe.y0-Oe.by/2;ot-rtWt[0]._length||Wa<0||Wa>kr[0]._length)return s.unhoverRaw(j,Q)}if(Q.pointerX=qa+Wt[0]._offset,Q.pointerY=Wa+kr[0]._offset,\"xval\"in Q?Te=p.flat(Ae,Q.xval):Te=p.p2c(Wt,qa),\"yval\"in Q?Ie=p.flat(Ae,Q.yval):Ie=p.p2c(kr,Wa),!v(Te[0])||!v(Ie[0]))return S.warn(\"Fx.hover failed\",Q,j),s.unhoverRaw(j,Q)}var wi=1/0;function Kt(cn,lo){for(Ce=0;Ceer&&(Ne.splice(0,er),wi=Ne[0].distance),rt&&wt!==0&&Ne.length===0){rr.distance=wt,rr.index=!1;var No=Pe._module.hoverPoints(rr,Ct,ir,\"closest\",{hoverLayer:ze._hoverlayer});if(No&&(No=No.filter(function(Xn){return Xn.spikeDistance<=wt})),No&&No.length){var as,Ns=No.filter(function(Xn){return Xn.xa.showspikes&&Xn.xa.spikesnap!==\"hovered data\"});if(Ns.length){var ss=Ns[0];v(ss.x0)&&v(ss.y0)&&(as=Yt(ss),(!Lr.vLinePoint||Lr.vLinePoint.spikeDistance>as.spikeDistance)&&(Lr.vLinePoint=as))}var uo=No.filter(function(Xn){return Xn.ya.showspikes&&Xn.ya.spikesnap!==\"hovered data\"});if(uo.length){var jn=uo[0];v(jn.x0)&&v(jn.y0)&&(as=Yt(jn),(!Lr.hLinePoint||Lr.hLinePoint.spikeDistance>as.spikeDistance)&&(Lr.hLinePoint=as))}}}}}Kt();function Ft(cn,lo,Wo){for(var hs=null,Oo=1/0,Wn,No=0;Nocn.trace.index===tn.trace.index):Ne=[tn];var on=Ne.length,hn=ee(\"x\",tn,ze),Tt=ee(\"y\",tn,ze);Kt(hn,Tt);var ut=[],Br={},Cr=0,xr=function(cn){var lo=y[cn.trace.type]?z(cn):cn.trace.index;if(!Br[lo])Cr++,Br[lo]=Cr,ut.push(cn);else{var Wo=Br[lo]-1,hs=ut[Wo];Wo>0&&Math.abs(cn.distance)on-1;Ir--)xr(Ne[Ir]);Ne=ut,ra()}var Ur=j._hoverdata,Hr=[],xt=q(j),Xt=oe(j);for(let cn of Ne){var vr=p.makeEventData(cn,cn.trace,cn.cd);if(cn.hovertemplate!==!1){var Or=!1;cn.cd[cn.index]&&cn.cd[cn.index].ht&&(Or=cn.cd[cn.index].ht),cn.hovertemplate=Or||cn.trace.hovertemplate||!1}if(cn.xa&&cn.ya){var ba=cn.x0+cn.xa._offset,Pa=cn.x1+cn.xa._offset,ya=cn.y0+cn.ya._offset,la=cn.y1+cn.ya._offset,Ta=Math.min(ba,Pa),Ai=Math.max(ba,Pa),ki=Math.min(ya,la),Ki=Math.max(ya,la);vr.bbox={x0:Ta+Xt,x1:Ai+Xt,y0:ki+xt,y1:Ki+xt}}cn.eventData=[vr],Hr.push(vr)}j._hoverdata=Hr;var _n=st===\"y\"&&(Ke.length>1||Ne.length>1)||st===\"closest\"&&fa&&Ne.length>1,Rn=i.combine(ze.plot_bgcolor||i.background,ze.paper_bgcolor),En=N(Ne,{gd:j,hovermode:st,rotateLabels:_n,bgColor:Rn,container:ze._hoverlayer,outerContainer:ze._paper.node(),commonLabelOpts:ze.hoverlabel,hoverdistance:ze.hoverdistance}),On=En.hoverLabels;if(p.isUnifiedHover(st)||(P(On,_n,ze,En.commonLabelBoundingBox),X(On,_n,ze._invScaleX,ze._invScaleY)),be&&be.tagName){var no=m.getComponentMethod(\"annotations\",\"hasClickToShow\")(j,Hr);a(G.select(be),no?\"pointer\":\"\")}!be||ce||!le(j,Q,Ur)||(Ur&&j.emit(\"plotly_unhover\",{event:Q,points:Ur}),j.emit(\"plotly_hover\",{event:Q,points:j._hoverdata,xaxes:Wt,yaxes:kr,xvals:Te,yvals:Ie}))}function z(j){return[j.trace.index,j.index,j.x0,j.y0,j.name,j.attr,j.xa?j.xa._id:\"\",j.ya?j.ya._id:\"\"].join(\",\")}var F=/([\\s\\S]*)<\\/extra>/;function N(j,Q){var re=Q.gd,ce=re._fullLayout,be=Q.hovermode,Ae=Q.rotateLabels,De=Q.bgColor,ze=Q.container,Ze=Q.outerContainer,at=Q.commonLabelOpts||{};if(j.length===0)return[[]];var nt=Q.fontFamily||T.HOVERFONT,rt=Q.fontSize||T.HOVERFONTSIZE,st=Q.fontWeight||ce.font.weight,Me=Q.fontStyle||ce.font.style,ye=Q.fontVariant||ce.font.variant,he=Q.fontTextcase||ce.font.textcase,Oe=Q.fontLineposition||ce.font.lineposition,tt=Q.fontShadow||ce.font.shadow,ot=j[0],Qe=ot.xa,Pt=ot.ya,It=be.charAt(0),qt=It+\"Label\",Wt=ot[qt];if(Wt===void 0&&Qe.type===\"multicategory\")for(var kr=0;krce.width-xt&&(Xt=ce.width-xt),tn.attr(\"d\",\"M\"+(Ir-Xt)+\",0L\"+(Ir-Xt+d)+\",\"+Hr+d+\"H\"+xt+\"v\"+Hr+(u*2+xr.height)+\"H\"+-xt+\"V\"+Hr+d+\"H\"+(Ir-Xt-d)+\"Z\"),Ir=Xt,Ce.minX=Ir-xt,Ce.maxX=Ir+xt,Qe.side===\"top\"?(Ce.minY=Ur-(u*2+xr.height),Ce.maxY=Ur-u):(Ce.minY=Ur+u,Ce.maxY=Ur+(u*2+xr.height))}else{var vr,Or,ba;Pt.side===\"right\"?(vr=\"start\",Or=1,ba=\"\",Ir=Qe._offset+Qe._length):(vr=\"end\",Or=-1,ba=\"-\",Ir=Qe._offset),Ur=Pt._offset+(ot.y0+ot.y1)/2,on.attr(\"text-anchor\",vr),tn.attr(\"d\",\"M0,0L\"+ba+d+\",\"+d+\"V\"+(u+xr.height/2)+\"h\"+ba+(u*2+xr.width)+\"V-\"+(u+xr.height/2)+\"H\"+ba+d+\"V-\"+d+\"Z\"),Ce.minY=Ur-(u+xr.height/2),Ce.maxY=Ur+(u+xr.height/2),Pt.side===\"right\"?(Ce.minX=Ir+d,Ce.maxX=Ir+d+(u*2+xr.width)):(Ce.minX=Ir-d-(u*2+xr.width),Ce.maxX=Ir-d);var Pa=xr.height/2,ya=qr-xr.top-Pa,la=\"clip\"+ce._uid+\"commonlabel\"+Pt._id,Ta;if(Irtn.hoverinfo!==\"none\");if(Ra.length===0)return[];var Ee=ce.hoverlabel,Pe=Ee.font,ft=Ra[0],ct=((be===\"x unified\"?ft.xa:ft.ya).unifiedhovertitle||{}).text,_t=ct?S.hovertemplateString({data:be===\"x unified\"?[{xa:ft.xa,x:ft.xVal}]:[{ya:ft.ya,y:ft.yVal}],fallback:ft.trace.hovertemplatefallback,locale:ce._d3locale,template:ct}):Wt,Ct={showlegend:!0,legend:{title:{text:_t,font:Pe},font:Pe,bgcolor:Ee.bgcolor,bordercolor:Ee.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:ce.legend?ce.legend.traceorder:void 0,orientation:\"v\"}},ir={font:Pe};l(Ct,ir,re._fullData);var rr=ir.legend;rr.entries=[];for(var er=0;er=0?Za=ra:ca+hi=0?Za=ca:Ba+hi=0?ri=Fr:ta+wi=0?ri=ta:$a+wi=0,(Ra.idealAlign===\"top\"||!Ki)&&_n?(ba-=ya/2,Ra.anchor=\"end\"):Ki?(ba+=ya/2,Ra.anchor=\"start\"):Ra.anchor=\"middle\",Ra.crossPos=ba;else{if(Ra.pos=ba,Ki=Or+Pa/2+ki<=Sr,_n=Or-Pa/2-ki>=0,(Ra.idealAlign===\"left\"||!Ki)&&_n)Or-=Pa/2,Ra.anchor=\"end\";else if(Ki)Or+=Pa/2,Ra.anchor=\"start\";else{Ra.anchor=\"middle\";var Rn=ki/2,En=Or+Rn-Sr,On=Or-Rn;En>0&&(Or-=En),On<0&&(Or+=-On)}Ra.crossPos=Or}Ur.attr(\"text-anchor\",Ra.anchor),xt&&Hr.attr(\"text-anchor\",Ra.anchor),tn.attr(\"transform\",e(Or,ba)+(Ae?t(w):\"\"))}),{hoverLabels:pi,commonLabelBoundingBox:Ce}}function O(j,Q,re,ce,be,Ae){var De,ze,Ze=\"\",at=\"\";j.nameOverride!==void 0&&(j.name=j.nameOverride),j.name&&(j.trace._meta&&(j.name=S.templateString(j.name,j.trace._meta)),Ze=V(j.name,j.nameLength));var nt=re.charAt(0),rt=nt===\"x\"?\"y\":\"x\";j.zLabel!==void 0?(j.xLabel!==void 0&&(at+=\"x: \"+j.xLabel+\"
\"),j.yLabel!==void 0&&(at+=\"y: \"+j.yLabel+\"
\"),j.trace.type!==\"choropleth\"&&j.trace.type!==\"choroplethmapbox\"&&j.trace.type!==\"choroplethmap\"&&(at+=(at?\"z: \":\"\")+j.zLabel)):Q&&j[nt+\"Label\"]===be?at=j[rt+\"Label\"]||\"\":j.xLabel===void 0?j.yLabel!==void 0&&j.trace.type!==\"scattercarpet\"&&(at=j.yLabel):j.yLabel===void 0?at=j.xLabel:at=\"(\"+j.xLabel+\", \"+j.yLabel+\")\",(j.text||j.text===0)&&!Array.isArray(j.text)&&(at+=(at?\"
\":\"\")+j.text),j.extraText!==void 0&&(at+=(at?\"
\":\"\")+j.extraText),Ae&&at===\"\"&&!j.hovertemplate&&(Ze===\"\"&&Ae.remove(),at=Ze),(ze=(De=j.trace)==null?void 0:De.hoverlabel)!=null&&ze.split&&(j.hovertemplate=\"\");let{hovertemplate:st=!1}=j;if(st){let Me=j.hovertemplateLabels||j;j[nt+\"Label\"]!==be&&(Me[nt+\"other\"]=Me[nt+\"Val\"],Me[nt+\"otherLabel\"]=Me[nt+\"Label\"]),at=S.hovertemplateString({data:[j.eventData[0]||{},j.trace._meta],fallback:j.trace.hovertemplatefallback,labels:Me,locale:ce._d3locale,template:st}),at=at.replace(F,(ye,he)=>(Ze=V(he,j.nameLength),\"\"))}return[at,Ze]}function P(j,Q,re,ce){var be=Q?\"xa\":\"ya\",Ae=Q?\"ya\":\"xa\",De=0,ze=1,Ze=j.size(),at=new Array(Ze),nt=0,rt=ce.minX,st=ce.maxX,Me=ce.minY,ye=ce.maxY,he=function(Te){return Te*re._invScaleX},Oe=function(Te){return Te*re._invScaleY};j.each(function(Te){var Ie=Te[be],Ve=Te[Ae],Ce=Ie._id.charAt(0)===\"x\",Ee=Ie.range;nt===0&&Ee&&Ee[0]>Ee[1]!==Ce&&(ze=-1);var Pe=0,ft=Ce?re.width:re.height;if(re.hovermode===\"x\"||re.hovermode===\"y\"){var ct=U(Te,Q),_t=Te.anchor,Ct=_t===\"end\"?-1:1,ir,rr;if(_t===\"middle\")ir=Te.crossPos+(Ce?Oe(ct.y-Te.by/2):he(Te.bx/2+Te.tx2width/2)),rr=ir+(Ce?Oe(Te.by):he(Te.bx));else if(Ce)ir=Te.crossPos+Oe(d+ct.y)-Oe(Te.by/2-d),rr=ir+Oe(Te.by);else{var er=he(Ct*d+ct.x),Lr=er+he(Ct*Te.bx);ir=Te.crossPos+Math.min(er,Lr),rr=Te.crossPos+Math.max(er,Lr)}Ce?Me!==void 0&&ye!==void 0&&Math.min(rr,ye)-Math.max(ir,Me)>1&&(Ve.side===\"left\"?(Pe=Ve._mainLinePosition,ft=re.width):ft=Ve._mainLinePosition):rt!==void 0&&st!==void 0&&Math.min(rr,st)-Math.max(ir,rt)>1&&(Ve.side===\"top\"?(Pe=Ve._mainLinePosition,ft=re.height):ft=Ve._mainLinePosition)}at[nt++]=[{datum:Te,traceIndex:Te.trace.index,dp:0,pos:Te.pos,posref:Te.posref,size:Te.by*(Ce?M:1)/2,pmin:Pe,pmax:ft}]}),at.sort(function(Te,Ie){return Te[0].posref-Ie[0].posref||ze*(Ie[0].traceIndex-Te[0].traceIndex)});var tt,ot,Qe,Pt,It,qt,Wt;function kr(Te){var Ie=Te[0],Ve=Te[Te.length-1];if(ot=Ie.pmin-Ie.pos-Ie.dp+Ie.size,Qe=Ve.pos+Ve.dp+Ve.size-Ie.pmax,ot>.01){for(It=Te.length-1;It>=0;It--)Te[It].dp+=ot;tt=!1}if(!(Qe<.01)){if(ot<-.01){for(It=Te.length-1;It>=0;It--)Te[It].dp-=Qe;tt=!1}if(tt){var Ce=0;for(Pt=0;PtIe.pmax&&Ce++;for(Pt=Te.length-1;Pt>=0&&!(Ce<=0);Pt--)qt=Te[Pt],qt.pos>Ie.pmax-1&&(qt.del=!0,Ce--);for(Pt=0;Pt=0;It--)Te[It].dp-=Qe;for(Pt=Te.length-1;Pt>=0&&!(Ce<=0);Pt--)qt=Te[Pt],qt.pos+qt.dp+qt.size>Ie.pmax&&(qt.del=!0,Ce--)}}}for(;!tt&&De<=Ze;){for(De++,tt=!0,Pt=0;Pt.01){for(It=qr.length-1;It>=0;It--)qr[It].dp+=ot;for(mr.push.apply(mr,qr),at.splice(Pt+1,1),Wt=0,It=mr.length-1;It>=0;It--)Wt+=mr[It].dp;for(Qe=Wt/mr.length,It=mr.length-1;It>=0;It--)mr[It].dp-=Qe;tt=!1}else Pt++}at.forEach(kr)}for(Pt=at.length-1;Pt>=0;Pt--){var wt=at[Pt];for(It=wt.length-1;It>=0;It--){var Ne=wt[It],Ke=Ne.datum;Ke.offset=Ne.dp,Ke.del=Ne.del}}}function U(j,Q){var re=0,ce=j.offset;return Q&&(ce*=-b,re=j.offset*g),{x:re,y:ce}}function B(j){var Q={start:1,end:-1,middle:0}[j.anchor],re=Q*(d+u),ce=re+Q*(j.txwidth+u),be=j.anchor===\"middle\";return be&&(re-=j.tx2width/2,ce+=j.txwidth/2+u),{alignShift:Q,textShiftX:re,text2ShiftX:ce}}function X(j,Q,re,ce){var be=function(De){return De*re},Ae=function(De){return De*ce};j.each(function(De){var ze=G.select(this);if(De.del)return ze.remove();var Ze=ze.select(\"text.nums\"),at=De.anchor,nt=at===\"end\"?-1:1,rt=B(De),st=U(De,Q),Me=st.x,ye=st.y,he=at===\"middle\",Oe=\"hoverlabel\"in De.trace?De.trace.hoverlabel.showarrow:!0,tt;he?tt=\"M-\"+be(De.bx/2+De.tx2width/2)+\",\"+Ae(ye-De.by/2)+\"h\"+be(De.bx)+\"v\"+Ae(De.by)+\"h-\"+be(De.bx)+\"Z\":Oe?tt=\"M0,0L\"+be(nt*d+Me)+\",\"+Ae(d+ye)+\"v\"+Ae(De.by/2-d)+\"h\"+be(nt*De.bx)+\"v-\"+Ae(De.by)+\"H\"+be(nt*d+Me)+\"V\"+Ae(ye-d)+\"Z\":tt=\"M\"+be(nt*d+Me)+\",\"+Ae(ye-De.by/2)+\"h\"+be(nt*De.bx)+\"v\"+Ae(De.by)+\"h\"+be(-nt*De.bx)+\"Z\",ze.select(\"path\").attr(\"d\",tt);var ot=Me+rt.textShiftX,Qe=ye+De.ty0-De.by/2+u,Pt=De.textAlign||\"auto\";Pt!==\"auto\"&&(Pt===\"left\"&&at!==\"start\"?(Ze.attr(\"text-anchor\",\"start\"),ot=he?-De.bx/2-De.tx2width/2+u:-De.bx-u):Pt===\"right\"&&at!==\"end\"&&(Ze.attr(\"text-anchor\",\"end\"),ot=he?De.bx/2-De.tx2width/2-u:De.bx+u)),Ze.call(o.positionText,be(ot),Ae(Qe)),De.tx2width&&(ze.select(\"text.name\").call(o.positionText,be(rt.text2ShiftX+rt.alignShift*u+Me),Ae(ye+De.ty0-De.by/2+u)),ze.select(\"rect\").call(n.setRect,be(rt.text2ShiftX+(rt.alignShift-1)*De.tx2width/2+Me),Ae(ye-De.by/2-1),be(De.tx2width),Ae(De.by+2)))})}function $(j,Q){var re=j.index,ce=j.trace||{},be=j.cd[0],Ae=j.cd[re]||{};function De(st){return st||v(st)&&st===0}var ze=Array.isArray(re)?function(st,Me){var ye=S.castOption(be,re,st);return De(ye)?ye:S.extractOption({},ce,\"\",Me)}:function(st,Me){return S.extractOption(Ae,ce,st,Me)};function Ze(st,Me,ye){var he=ze(Me,ye);De(he)&&(j[st]=he)}if(Ze(\"hoverinfo\",\"hi\",\"hoverinfo\"),Ze(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),Ze(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),Ze(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),Ze(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),Ze(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),Ze(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),Ze(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),Ze(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),Ze(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),Ze(\"textAlign\",\"hta\",\"hoverlabel.align\"),j.posref=Q===\"y\"||Q===\"closest\"&&ce.orientation===\"h\"?j.xa._offset+(j.x0+j.x1)/2:j.ya._offset+(j.y0+j.y1)/2,j.x0=S.constrain(j.x0,0,j.xa._length),j.x1=S.constrain(j.x1,0,j.xa._length),j.y0=S.constrain(j.y0,0,j.ya._length),j.y1=S.constrain(j.y1,0,j.ya._length),j.xLabelVal!==void 0&&(j.xLabel=\"xLabel\"in j?j.xLabel:h.hoverLabelText(j.xa,j.xLabelVal,ce.xhoverformat),j.xVal=j.xa.c2d(j.xLabelVal)),j.yLabelVal!==void 0&&(j.yLabel=\"yLabel\"in j?j.yLabel:h.hoverLabelText(j.ya,j.yLabelVal,ce.yhoverformat),j.yVal=j.ya.c2d(j.yLabelVal)),j.zLabelVal!==void 0&&j.zLabel===void 0&&(j.zLabel=String(j.zLabelVal)),!isNaN(j.xerr)&&!(j.xa.type===\"log\"&&j.xerr<=0)){var at=h.tickText(j.xa,j.xa.c2l(j.xerr),\"hover\").text;j.xerrneg!==void 0?j.xLabel+=\" +\"+at+\" / -\"+h.tickText(j.xa,j.xa.c2l(j.xerrneg),\"hover\").text:j.xLabel+=\" \\xB1 \"+at,Q===\"x\"&&(j.distance+=1)}if(!isNaN(j.yerr)&&!(j.ya.type===\"log\"&&j.yerr<=0)){var nt=h.tickText(j.ya,j.ya.c2l(j.yerr),\"hover\").text;j.yerrneg!==void 0?j.yLabel+=\" +\"+nt+\" / -\"+h.tickText(j.ya,j.ya.c2l(j.yerrneg),\"hover\").text:j.yLabel+=\" \\xB1 \"+nt,Q===\"y\"&&(j.distance+=1)}var rt=j.hoverinfo||j.trace.hoverinfo;return rt&&rt!==\"all\"&&(rt=Array.isArray(rt)?rt:rt.split(\"+\"),rt.indexOf(\"x\")===-1&&(j.xLabel=void 0),rt.indexOf(\"y\")===-1&&(j.yLabel=void 0),rt.indexOf(\"z\")===-1&&(j.zLabel=void 0),rt.indexOf(\"text\")===-1&&(j.text=void 0),rt.indexOf(\"name\")===-1&&(j.name=void 0)),j}function se(j,Q,re){var ce=re.container,be=re.fullLayout,Ae=be._size,De=re.event,ze=!!Q.hLinePoint,Ze=!!Q.vLinePoint,at,nt;if(ce.selectAll(\".spikeline\").remove(),!!(Ze||ze)){var rt=i.combine(be.plot_bgcolor,be.paper_bgcolor);if(ze){var st=Q.hLinePoint,Me,ye;at=st&&st.xa,nt=st&&st.ya;var he=nt.spikesnap;he===\"cursor\"?(Me=De.pointerX,ye=De.pointerY):(Me=at._offset+st.x,ye=nt._offset+st.y);var Oe=x.readability(st.color,rt)<1.5?i.contrast(rt):st.color,tt=nt.spikemode,ot=nt.spikethickness,Qe=nt.spikecolor||Oe,Pt=h.getPxPosition(j,nt),It,qt;if(tt.indexOf(\"toaxis\")!==-1||tt.indexOf(\"across\")!==-1){if(tt.indexOf(\"toaxis\")!==-1&&(It=Pt,qt=Me),tt.indexOf(\"across\")!==-1){var Wt=nt._counterDomainMin,kr=nt._counterDomainMax;nt.anchor===\"free\"&&(Wt=Math.min(Wt,nt.position),kr=Math.max(kr,nt.position)),It=Ae.l+Wt*Ae.w,qt=Ae.l+kr*Ae.w}ce.insert(\"line\",\":first-child\").attr({x1:It,x2:qt,y1:ye,y2:ye,\"stroke-width\":ot,stroke:Qe,\"stroke-dasharray\":n.dashStyle(nt.spikedash,ot)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),ce.insert(\"line\",\":first-child\").attr({x1:It,x2:qt,y1:ye,y2:ye,\"stroke-width\":ot+2,stroke:rt}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}tt.indexOf(\"marker\")!==-1&&ce.insert(\"circle\",\":first-child\").attr({cx:Pt+(nt.side!==\"right\"?ot:-ot),cy:ye,r:ot,fill:Qe}).classed(\"spikeline\",!0)}if(Ze){var mr=Q.vLinePoint,qr,Sr;at=mr&&mr.xa,nt=mr&&mr.ya;var Rr=at.spikesnap;Rr===\"cursor\"?(qr=De.pointerX,Sr=De.pointerY):(qr=at._offset+mr.x,Sr=nt._offset+mr.y);var wt=x.readability(mr.color,rt)<1.5?i.contrast(rt):mr.color,Ne=at.spikemode,Ke=at.spikethickness,Te=at.spikecolor||wt,Ie=h.getPxPosition(j,at),Ve,Ce;if(Ne.indexOf(\"toaxis\")!==-1||Ne.indexOf(\"across\")!==-1){if(Ne.indexOf(\"toaxis\")!==-1&&(Ve=Ie,Ce=Sr),Ne.indexOf(\"across\")!==-1){var Ee=at._counterDomainMin,Pe=at._counterDomainMax;at.anchor===\"free\"&&(Ee=Math.min(Ee,at.position),Pe=Math.max(Pe,at.position)),Ve=Ae.t+(1-Pe)*Ae.h,Ce=Ae.t+(1-Ee)*Ae.h}ce.insert(\"line\",\":first-child\").attr({x1:qr,x2:qr,y1:Ve,y2:Ce,\"stroke-width\":Ke,stroke:Te,\"stroke-dasharray\":n.dashStyle(at.spikedash,Ke)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),ce.insert(\"line\",\":first-child\").attr({x1:qr,x2:qr,y1:Ve,y2:Ce,\"stroke-width\":Ke+2,stroke:rt}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}Ne.indexOf(\"marker\")!==-1&&ce.insert(\"circle\",\":first-child\").attr({cx:qr,cy:Ie-(at.side!==\"top\"?Ke:-Ke),r:Ke,fill:Te}).classed(\"spikeline\",!0)}}}function le(j,Q,re){if(!re||re.length!==j._hoverdata.length)return!0;for(var ce=re.length-1;ce>=0;ce--){var be=re[ce],Ae=j._hoverdata[ce];if(be.curveNumber!==Ae.curveNumber||String(be.pointNumber)!==String(Ae.pointNumber)||String(be.pointNumbers)!==String(Ae.pointNumbers)||be.binNumber!==Ae.binNumber)return!0}return!1}function fe(j,Q){return!Q||Q.vLinePoint!==j._spikepoints.vLinePoint||Q.hLinePoint!==j._spikepoints.hLinePoint}function V(j,Q){return o.plainText(j||\"\",{len:Q,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Y(j,Q){for(var re=Q.charAt(0),ce=[],be=[],Ae=[],De=0;Dej.offsetTop+j.clientTop,oe=j=>j.offsetLeft+j.clientLeft;function ae(j,Q){var re=j._fullLayout,ce=Q.getBoundingClientRect(),be=ce.left,Ae=ce.top,De=be+ce.width,ze=Ae+ce.height,Ze=S.apply3DTransform(re._invTransform)(be,Ae),at=S.apply3DTransform(re._invTransform)(De,ze),nt=Ze[0],rt=Ze[1],st=at[0],Me=at[1];return{x:nt,y:rt,width:st-nt,height:Me-rt,top:Math.min(rt,Me),left:Math.min(nt,st),right:Math.max(nt,st),bottom:Math.max(rt,Me)}}}}),k_=Xe({\"src/components/fx/hoverlabel_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=$n(),S=$p().isUnifiedHover;G.exports=function(e,t,r,o){o=o||{};var a=t.legend;function n(i){o.font[i]||(o.font[i]=a?t.legend.font[i]:t.font[i])}t&&S(t.hovermode)&&(o.font||(o.font={}),n(\"size\"),n(\"family\"),n(\"color\"),n(\"weight\"),n(\"style\"),n(\"variant\"),a?(o.bgcolor||(o.bgcolor=x.combine(t.legend.bgcolor,t.paper_bgcolor)),o.bordercolor||(o.bordercolor=t.legend.bordercolor)):o.bgcolor||(o.bgcolor=t.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),r(\"hoverlabel.showarrow\",o.showarrow),v.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}}}),mz=Xe({\"src/components/fx/layout_global_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=k_(),S=Zm();G.exports=function(e,t){function r(o,a){return v.coerce(e,t,S,o,a)}x(e,t,r)}}}),gz=Xe({\"src/components/fx/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Ky(),S=k_();G.exports=function(e,t,r,o){function a(i,s){return v.coerce(e,t,x,i,s)}var n=v.extendFlat({},o.hoverlabel);t.hovertemplate&&(n.namelength=-1),S(e,t,a,n)}}}),x5=Xe({\"src/components/fx/hovermode_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Zm();G.exports=function(E,e){function t(r,o){return e[r]!==void 0?e[r]:v.coerce(E,e,x,r,o)}return t(\"clickmode\"),t(\"hoversubplots\"),t(\"hovermode\")}}}),yz=Xe({\"src/components/fx/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Zm(),S=x5(),E=k_();G.exports=function(t,r){function o(m,p){return v.coerce(t,r,x,m,p)}var a=S(t,r);a&&(o(\"hoverdistance\"),o(\"spikedistance\"));var n=o(\"dragmode\");n===\"select\"&&o(\"selectdirection\");var i=r._has(\"mapbox\"),s=r._has(\"map\"),h=r._has(\"geo\"),c=r._basePlotModules.length;r.dragmode===\"zoom\"&&((i||s||h)&&c===1||(i||s)&&h&&c===2)&&(r.dragmode=\"pan\"),E(t,r,o),v.coerceFont(o,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}}}),_z=Xe({\"src/components/fx/calc.js\"(Z,G){\"use strict\";var v=sa(),x=so();G.exports=function(e){var t=e.calcdata,r=e._fullLayout;function o(h){return function(c){return v.coerceHoverinfo({hoverinfo:c},{_module:h._module},r)}}for(var a=0;a\",\" plotly-logomark\",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\"\"].join(\"\")}}}}),T2=Xe({\"src/components/shapes/draw_newshape/constants.js\"(Z,G){\"use strict\";var v=32;G.exports={CIRCLE_SIDES:v,i000:0,i090:v/4,i180:v/2,i270:v/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),A2=Xe({\"src/components/selections/helpers.js\"(Z,G){\"use strict\";var v=sa().strTranslate;function x(t,r){switch(t.type){case\"log\":return t.p2d(r);case\"date\":return t.p2r(r,0,t.calendar);default:return t.p2r(r)}}function S(t,r){switch(t.type){case\"log\":return t.d2p(r);case\"date\":return t.r2p(r,0,t.calendar);default:return t.r2p(r)}}function E(t){var r=t._id.charAt(0)===\"y\"?1:0;return function(o){return x(t,o[r])}}function e(t){return v(t.xaxis._offset,t.yaxis._offset)}G.exports={p2r:x,r2p:S,axValue:E,getTransform:e}}}),r0=Xe({\"src/components/shapes/draw_newshape/helpers.js\"(Z){\"use strict\";var G=M_(),v=T2(),x=v.CIRCLE_SIDES,S=v.SQRT2,E=A2(),e=E.p2r,t=E.r2p,r=[0,3,4,5,6,1,2],o=[0,3,4,1,2];Z.writePaths=function(i){var s=i.length;if(!s)return\"M0,0Z\";for(var h=\"\",c=0;c0&&_{let s=i.charAt(0),h=a[s].drawn!==void 0;return n+(h?1:0)},0)},Z.getDataToPixel=function(e,t,r,o,a){var n=e._fullLayout._size,i;if(t)if(a===\"domain\")i=function(h){return t._length*(o?1-h:h)+t._offset};else{var s=Z.shapePositionToRange(t);i=function(h){var c=E(t,r);return t._offset+t.r2p(s(h,!0))+c},t.type===\"date\"&&(i=Z.decodeDate(i))}else o?i=function(h){return n.t+n.h*(1-h)}:i=function(h){return n.l+n.w*h};return i},Z.getPixelToData=function(e,t,r,o){var a=e._fullLayout._size,n;if(t)if(o===\"domain\")n=function(s){var h=(s-t._offset)/t._length;return r?1-h:h};else{var i=Z.rangeToShapePosition(t);n=function(s){return i(t.p2r(s-t._offset))}}else r?n=function(s){return 1-(s-a.t)/a.h}:n=function(s){return(s-a.l)/a.w};return n},Z.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,o=Math.round(e);return r?o+.5:o},Z.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},o=e._fullLayout._plots[r.xref+r.yref],a=!!o;return a?o._hadPlotinfo=!0:(o={},r.xref&&r.xref!==\"paper\"&&(o.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&r.yref!==\"paper\"&&(o.yaxis=e._fullLayout[r.yref+\"axis\"])),o.xsizemode=r.xsizemode,o.ysizemode=r.ysizemode,o.xanchor=r.xanchor,o.yanchor=r.yanchor,{options:r,plotinfo:o}},Z.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},o=e._fullLayout._plots[r.xref+r.yref],a=!!o;return a?o._hadPlotinfo=!0:(o={},r.xref&&(o.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(o.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:o}},Z.getPathString=function(e,t){let r=t.type,o=x.getRefType(t.xref),a=x.getRefType(t.yref),n=e._fullLayout._size;var i,s,h,c,m,p,T,l,_,w,A,M;function g(z,F,N,O){var P;if(z)if(F===\"domain\")O?P=function(U){return z._offset+z._length*(1-U)}:P=function(U){return z._offset+z._length*U};else{let U=Z.shapePositionToRange(z);P=function(B){return z._offset+z.r2p(U(B,!0))},N===\"path\"&&z.type===\"date\"&&(P=Z.decodeDate(P))}else O?P=function(U){return n.t+n.h*(1-U)}:P=function(U){return n.l+n.w*U};return P}if(o===\"array\"?(T=[],i=t.xref.map(function(z){return x.getFromId(e,z)}),T=t.xref.map(function(z,F){return g(i[F],x.getRefType(z),r,!1)})):(i=x.getFromId(e,t.xref),T=g(i,o,r,!1)),a===\"array\"?(l=[],s=t.yref.map(function(z){return x.getFromId(e,z)}),l=t.yref.map(function(z,F){return g(s[F],x.getRefType(z),r,!0)})):(s=x.getFromId(e,t.yref),l=g(s,a,r,!0)),r===\"path\")return S(t,T,l);if(o===\"array\")h=E(i[0],t.x0shift),c=E(i[1],t.x1shift),_=T[0](t.x0)+h,w=T[1](t.x1)+c;else if(h=E(i,t.x0shift),c=E(i,t.x1shift),t.xsizemode===\"pixel\"){let z=T(t.xanchor);_=z+t.x0+h,w=z+t.x1+c}else _=T(t.x0)+h,w=T(t.x1)+c;if(a===\"array\")m=E(s[0],t.y0shift),p=E(s[1],t.y1shift),A=l[0](t.y0)+m,M=l[1](t.y1)+p;else if(m=E(s,t.y0shift),p=E(s,t.y1shift),t.ysizemode===\"pixel\"){let z=l(t.yanchor);A=z-t.y0+m,M=z-t.y1+p}else A=l(t.y0)+m,M=l(t.y1)+p;if(r===\"line\")return\"M\"+_+\",\"+A+\"L\"+w+\",\"+M;if(r===\"rect\")return\"M\"+_+\",\"+A+\"H\"+w+\"V\"+M+\"H\"+_+\"Z\";var b=(_+w)/2,d=(A+M)/2,u=Math.abs(b-_),y=Math.abs(d-A),f=\"A\"+u+\",\"+y,R=b+u+\",\"+d,L=b+\",\"+(d-y);return\"M\"+R+f+\" 0 1,1 \"+L+f+\" 0 0,1 \"+R+\"Z\"};function S(e,t,r){let o=e.path,a=e.xsizemode,n=e.ysizemode,i=e.xanchor,s=e.yanchor,h=Array.isArray(e.xref),c=Array.isArray(e.yref);var m=0,p=0;return o.replace(G.segmentRE,function(T){var l=0,_=T.charAt(0),w=G.paramIsX[_],A=G.paramIsY[_],M=G.numParams[_];let g=w.drawn!==void 0,b=A.drawn!==void 0,d=h?t[m]:t,u=c?r[p]:r;var y=T.slice(1).replace(G.paramRE,function(f){return w[l]?a===\"pixel\"?f=d(i)+Number(f):f=d(f):A[l]&&(n===\"pixel\"?f=u(s)-Number(f):f=u(f)),l++,l>M&&(f=\"X\"),f});return l>M&&(y=y.replace(/[\\s,]*X.*/,\"\"),v.log(\"Ignoring extra params in segment \"+T)),g&&m++,b&&p++,_+y})}function E(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}}}),w5=Xe({\"src/components/shapes/display_labels.js\"(Z,G){\"use strict\";var v=sa(),x=Go(),S=ou(),E=es(),e=r0().readPaths,t=a0(),r=t.getPathString,o=v2(),a=uh().FROM_TL;G.exports=function(h,c,m,p){if(p.selectAll(\".shape-label\").remove(),!!(m.label.text||m.label.texttemplate)){var T;if(m.label.texttemplate){var l={};if(m.type!==\"path\"){var _=x.getFromId(h,m.xref),w=x.getFromId(h,m.yref);let j=Array.isArray(m.xref),Q=Array.isArray(m.yref);for(var A in o){var M=typeof o[A]==\"function\",g=!j||o.simpleXVariables.includes(A),b=!Q||o.simpleYVariables.includes(A);if(M&&g&&b){var d=o[A](m,_,w);d!==void 0&&(l[A]=d)}}}T=v.texttemplateStringForShapes({data:[l],fallback:m.label.texttemplatefallback,locale:h._fullLayout._d3locale,template:m.label.texttemplate})}else T=m.label.text;var u={\"data-index\":c},y=m.label.font,f={\"data-notex\":1},R=p.append(\"g\").attr(u).classed(\"shape-label\",!0),L=R.append(\"text\").attr(f).classed(\"shape-label-text\",!0).text(T),z,F,N,O;if(m.path){var P=r(h,m),U=e(P,h);z=1/0,N=1/0,F=-1/0,O=-1/0;for(var B=0;B=s?p=h-m:p=m-h,-180/Math.PI*Math.atan2(p,T)}function i(s,h,c,m,p,T,l){var _=p.label.textposition,w=p.label.textangle,A=p.label.padding,M=p.type,g=Math.PI/180*T,b=Math.sin(g),d=Math.cos(g),u=p.label.xanchor,y=p.label.yanchor,f,R,L,z;if(M===\"line\"){_===\"start\"?(f=s,R=h):_===\"end\"?(f=c,R=m):(f=(s+c)/2,R=(h+m)/2),u===\"auto\"&&(_===\"start\"?w===\"auto\"?c>s?u=\"left\":cs?u=\"right\":cs?u=\"right\":cs?u=\"left\":c1&&!(rt.length===2&&rt[1][0]===\"Z\")&&(V===0&&(rt[0][0]=\"M\"),f[fe]=rt,N(),O())}}function ce(rt,st){if(rt===2){fe=+st.srcElement.getAttribute(\"data-i\"),V=+st.srcElement.getAttribute(\"data-j\");var Me=f[fe];!T(Me)&&!l(Me)&&re()}}function be(rt){se=[];for(var st=0;stE.getFromId(f,se)).filter(Boolean);if(!B.length)return U?[z.t,z.t+z.h]:[z.l,z.l+z.w];let X=B.map(function(se){return se._offset}),$=B.map(function(se){return se._offset+se._length});return[Math.min(...X),Math.max(...$)]}let N=F(R,!1),O=F(L,!0);return{x:N[0],y:O[0],width:N[1]-N[0],height:O[1]-O[0]}}function g(f,R,L,z,F,N){var O=10,P=10,U=L.xsizemode===\"pixel\",B=L.ysizemode===\"pixel\",X=L.type===\"line\",$=L.type===\"path\",se=N.modifyItem,le,fe,V,Y,ee,q,oe,ae,j,Q,re,ce,be,Ae,De,ze=v.select(R.node().parentNode),Ze=E.getFromId(f,L.xref),at=E.getRefType(L.xref),nt=E.getFromId(f,L.yref),rt=E.getRefType(L.yref),st=L.x0shift,Me=L.x1shift,ye=L.y0shift,he=L.y1shift,Oe=function(Ve,Ce){var Ee=m.getDataToPixel(f,Ze,Ce,!1,at);return Ee(Ve)},tt=function(Ve,Ce){var Ee=m.getDataToPixel(f,nt,Ce,!0,rt);return Ee(Ve)},ot=m.getPixelToData(f,Ze,!1,at),Qe=m.getPixelToData(f,nt,!0,rt),Pt=Wt(),It={element:Pt.node(),gd:f,prepFn:qr,doneFn:Sr,clickFn:Rr},qt;s.init(It),Pt.node().onmousemove=mr;function Wt(){return X?kr():R}function kr(){var Ve=10,Ce=Math.max(L.line.width,Ve),Ee=F.append(\"g\").attr(\"data-index\",z).attr(\"drag-helper\",!0);Ee.append(\"path\").attr(\"d\",R.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":Ce,\"stroke-opacity\":\"0\"});var Pe={\"fill-opacity\":\"0\"},ft=Math.max(Ce/2,Ve);return Ee.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:U?Oe(L.xanchor)+L.x0:Oe(L.x0,st),cy:B?tt(L.yanchor)-L.y0:tt(L.y0,ye),r:ft}).style(Pe).classed(\"cursor-grab\",!0),Ee.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:U?Oe(L.xanchor)+L.x1:Oe(L.x1,Me),cy:B?tt(L.yanchor)-L.y1:tt(L.y1,he),r:ft}).style(Pe).classed(\"cursor-grab\",!0),Ee}function mr(Ve){if(l(f)){qt=null;return}if(X)Ve.target.tagName===\"path\"?qt=\"move\":qt=Ve.target.attributes[\"data-line-point\"].value===\"start-point\"?\"resize-over-start-point\":\"resize-over-end-point\";else{var Ce=It.element.getBoundingClientRect(),Ee=Ce.right-Ce.left,Pe=Ce.bottom-Ce.top,ft=Ve.clientX-Ce.left,ct=Ve.clientY-Ce.top,_t=!$&&Ee>O&&Pe>P&&!Ve.shiftKey?s.getCursor(ft/Ee,1-ct/Pe):\"move\";h(R,_t),qt=_t.split(\"-\")[0]}}function qr(Ve){l(f)||(U&&(ee=Oe(L.xanchor)),B&&(q=tt(L.yanchor)),L.type===\"path\"?De=L.path:(le=U?L.x0:Oe(L.x0),fe=B?L.y0:tt(L.y0),V=U?L.x1:Oe(L.x1),Y=B?L.y1:tt(L.y1)),leY?(oe=fe,re=\"y0\",ae=Y,ce=\"y1\"):(oe=Y,re=\"y1\",ae=fe,ce=\"y0\"),mr(Ve),Ke(F,L),Ie(R,L,f),It.moveFn=qt===\"move\"?wt:Ne,It.altKey=Ve.altKey)}function Sr(){l(f)||(h(R),Te(F),A(R,f,L),x.call(\"_guiRelayout\",f,N.getUpdateObj()))}function Rr(){l(f)||Te(F)}function wt(Ve,Ce){if(L.type===\"path\"){var Ee=function(ct){return ct},Pe=Ee,ft=Ee;U?se(\"xanchor\",L.xanchor=ot(ee+Ve)):(Pe=function(_t){return ot(Oe(_t)+Ve)},Ze&&Ze.type===\"date\"&&(Pe=m.encodeDate(Pe))),B?se(\"yanchor\",L.yanchor=Qe(q+Ce)):(ft=function(_t){return Qe(tt(_t)+Ce)},nt&&nt.type===\"date\"&&(ft=m.encodeDate(ft))),se(\"path\",L.path=b(De,Pe,ft))}else U?se(\"xanchor\",L.xanchor=ot(ee+Ve)):(se(\"x0\",L.x0=ot(le+Ve)),se(\"x1\",L.x1=ot(V+Ve))),B?se(\"yanchor\",L.yanchor=Qe(q+Ce)):(se(\"y0\",L.y0=Qe(fe+Ce)),se(\"y1\",L.y1=Qe(Y+Ce)));R.attr(\"d\",p(f,L)),Ke(F,L),r(f,z,L,ze)}function Ne(Ve,Ce){if($){var Ee=function(hi){return hi},Pe=Ee,ft=Ee;U?se(\"xanchor\",L.xanchor=ot(ee+Ve)):(Pe=function(wi){return ot(Oe(wi)+Ve)},Ze&&Ze.type===\"date\"&&(Pe=m.encodeDate(Pe))),B?se(\"yanchor\",L.yanchor=Qe(q+Ce)):(ft=function(wi){return Qe(tt(wi)+Ce)},nt&&nt.type===\"date\"&&(ft=m.encodeDate(ft))),se(\"path\",L.path=b(De,Pe,ft))}else if(X){if(qt===\"resize-over-start-point\"){var ct=le+Ve,_t=B?fe-Ce:fe+Ce;se(\"x0\",L.x0=U?ct:ot(ct)),se(\"y0\",L.y0=B?_t:Qe(_t))}else if(qt===\"resize-over-end-point\"){var Ct=V+Ve,ir=B?Y-Ce:Y+Ce;se(\"x1\",L.x1=U?Ct:ot(Ct)),se(\"y1\",L.y1=B?ir:Qe(ir))}}else{var rr=function(hi){return qt.indexOf(hi)!==-1},er=rr(\"n\"),Lr=rr(\"s\"),fa=rr(\"w\"),Da=rr(\"e\"),Ia=er?oe+Ce:oe,qa=Lr?ae+Ce:ae,Wa=fa?j+Ve:j,Ca=Da?Q+Ve:Q;B&&(er&&(Ia=oe-Ce),Lr&&(qa=ae-Ce)),(!B&&qa-Ia>P||B&&Ia-qa>P)&&(se(re,L[re]=B?Ia:Qe(Ia)),se(ce,L[ce]=B?qa:Qe(qa))),Ca-Wa>O&&(se(be,L[be]=U?Wa:ot(Wa)),se(Ae,L[Ae]=U?Ca:ot(Ca)))}R.attr(\"d\",p(f,L)),Ke(F,L),r(f,z,L,ze)}function Ke(Ve,Ce){(U||B)&&Ee();function Ee(){var Pe=Ce.type!==\"path\",ft=Ve.selectAll(\".visual-cue\").data([0]),ct=1;ft.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":ct}).classed(\"visual-cue\",!0);var _t=Oe(U?Ce.xanchor:S.midRange(Pe?[Ce.x0,Ce.x1]:m.extractPathCoords(Ce.path,c.paramIsX))),Ct=tt(B?Ce.yanchor:S.midRange(Pe?[Ce.y0,Ce.y1]:m.extractPathCoords(Ce.path,c.paramIsY)));if(_t=m.roundPositionForSharpStrokeRendering(_t,ct),Ct=m.roundPositionForSharpStrokeRendering(Ct,ct),U&&B){var ir=\"M\"+(_t-1-ct)+\",\"+(Ct-1-ct)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";ft.attr(\"d\",ir)}else if(U){var rr=\"M\"+(_t-1-ct)+\",\"+(Ct-9-ct)+\"v18 h2 v-18 Z\";ft.attr(\"d\",rr)}else{var er=\"M\"+(_t-9-ct)+\",\"+(Ct-1-ct)+\"h18 v2 h-18 Z\";ft.attr(\"d\",er)}}}function Te(Ve){Ve.selectAll(\".visual-cue\").remove()}function Ie(Ve,Ce,Ee){var Pe=Ce.xref,ft=Ce.yref,ct=E.getFromId(Ee,Pe),_t=E.getFromId(Ee,ft),Ct=\"\";Pe!==\"paper\"&&!ct.autorange&&(Ct+=Pe),ft!==\"paper\"&&!_t.autorange&&(Ct+=ft),n.setClipUrl(Ve,Ct?\"clip\"+Ee._fullLayout._uid+Ct:null,Ee)}}function b(f,R,L){return f.replace(c.segmentRE,function(z){var F=0,N=z.charAt(0),O=c.paramIsX[N],P=c.paramIsY[N],U=c.numParams[N],B=z.slice(1).replace(c.paramRE,function(X){return F>=U||(O[F]?X=R(X):P[F]&&(X=L(X)),F++),X});return N+B})}function d(f,R){if(_(f)){var L=R.node(),z=+L.getAttribute(\"data-index\");if(z>=0){if(z===f._fullLayout._activeShapeIndex){u(f);return}f._fullLayout._activeShapeIndex=z,f._fullLayout._deactivateShape=u,T(f)}}}function u(f){if(_(f)){var R=f._fullLayout._activeShapeIndex;R>=0&&(o(f),delete f._fullLayout._activeShapeIndex,T(f))}}function y(f){if(_(f)){o(f);var R=f._fullLayout._activeShapeIndex,L=(f.layout||{}).shapes||[];if(R1?(le=[\"toggleHover\"],fe=[\"resetViews\"]):u?(se=[\"zoomInGeo\",\"zoomOutGeo\"],le=[\"hoverClosestGeo\"],fe=[\"resetGeo\"]):d?(le=[\"hoverClosest3d\"],fe=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):L?(se=[\"zoomInMapbox\",\"zoomOutMapbox\"],le=[\"toggleHover\"],fe=[\"resetViewMapbox\"]):z?(se=[\"zoomInMap\",\"zoomOutMap\"],le=[\"toggleHover\"],fe=[\"resetViewMap\"]):y?le=[\"hoverClosestPie\"]:O?(le=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],fe=[\"resetViewSankey\"]):le=[\"toggleHover\"],b&&le.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(s(T)||U)&&(le=[]),b&&!P&&(se=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],fe[0]!==\"resetViews\"&&(fe=[\"resetScale2d\"])),d?V=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:b&&!P||R?V=[\"zoom2d\",\"pan2d\"]:L||z||u?V=[\"pan2d\"]:F&&(V=[\"zoom2d\"]),i(T)&&V.push(\"select2d\",\"lasso2d\");var Y=[],ee=function(j){Y.indexOf(j)===-1&&le.indexOf(j)!==-1&&Y.push(j)};if(Array.isArray(M)){for(var q=[],oe=0;oew?T.slice(w):l.slice(_))+A}function h(m,p){for(var T=p._size,l=T.h/T.w,_={},w=Object.keys(m),A=0;At*R&&!N)){for(w=0;wV&&rele&&(le=re);var be=(le-se)/(2*fe);u/=be,se=g.l2r(se),le=g.l2r(le),g.range=g._input.range=B=O[1]||X[1]<=O[0])&&$[0]P[0])return!0}return!1}function A(O){var P=O._fullLayout,U=P._size,B=U.p,X=n.list(O,\"\",!0),$,se,le,fe,V,Y;if(P._paperdiv.style({width:O._context.responsive&&P.autosize&&!O._context._hasZeroWidth&&!O.layout.width?\"100%\":P.width+\"px\",height:O._context.responsive&&P.autosize&&!O._context._hasZeroHeight&&!O.layout.height?\"100%\":P.height+\"px\"}).selectAll(\".main-svg\").call(r.setSize,P.width,P.height),O._context.setBackground(O,P.paper_bgcolor),Z.drawMainTitle(O),a.manage(O),!P._has(\"cartesian\"))return x.previousPromises(O);function ee(Te,Ie,Ve){var Ce=Te._lw/2;if(Te._id.charAt(0)===\"x\"){if(Ie){if(Ve===\"top\")return Ie._offset-B-Ce}else return U.t+U.h*(1-(Te.position||0))+Ce%1;return Ie._offset+Ie._length+B+Ce}if(Ie){if(Ve===\"right\")return Ie._offset+Ie._length+B+Ce}else return U.l+U.w*(Te.position||0)+Ce%1;return Ie._offset-B-Ce}for($=0;$0){f(O,$,V,fe),le.attr({x:se,y:$,\"text-anchor\":B,dy:z(P.yanchor)}).call(E.positionText,se,$);var Y=(P.text.match(E.BR_TAG_ALL)||[]).length;if(Y){var ee=i.LINE_SPACING*Y+i.MID_SHIFT;P.y===0&&(ee=-ee),le.selectAll(\".line\").each(function(){var Q=+this.getAttribute(\"dy\").slice(0,-2)-ee+\"em\";this.setAttribute(\"dy\",Q)})}var q=G.select(O).selectAll(\".gtitle-subtitle\");if(q.node()){var oe=le.node().getBBox(),ae=oe.y+oe.height,j=ae+o.SUBTITLE_PADDING_EM*P.subtitle.font.size;q.attr({x:se,y:j,\"text-anchor\":B,dy:z(P.yanchor)}).call(E.positionText,se,j)}}}};function d(O,P,U,B,X){var $=P.yref===\"paper\"?O._fullLayout._size.h:O._fullLayout.height,se=S.isTopAnchor(P)?B:B-X,le=U===\"b\"?$-se:se;return S.isTopAnchor(P)&&U===\"t\"||S.isBottomAnchor(P)&&U===\"b\"?!1:le.5?\"t\":\"b\",se=O._fullLayout.margin[$],le=0;return P.yref===\"paper\"?le=U+P.pad.t+P.pad.b:P.yref===\"container\"&&(le=u($,B,X,O._fullLayout.height,U)+P.pad.t+P.pad.b),le>se?le:0}function f(O,P,U,B){var X=\"title.automargin\",$=O._fullLayout.title,se=$.y>.5?\"t\":\"b\",le={x:$.x,y:$.y,t:0,b:0},fe={};$.yref===\"paper\"&&d(O,$,se,P,B)?le[se]=U:$.yref===\"container\"&&(fe[se]=U,O._fullLayout._reservedMargin[X]=fe),x.allowAutoMargin(O,X),x.autoMargin(O,X,le)}function R(O,P){var U=O.title,B=O._size,X=0;switch(P===p?X=U.pad.l:P===l&&(X=-U.pad.r),U.xref){case\"paper\":return B.l+B.w*U.x+X;case\"container\":default:return O.width*U.x+X}}function L(O,P){var U=O.title,B=O._size,X=0;if(P===\"0em\"||!P?X=-U.pad.b:P===i.CAP_SHIFT+\"em\"&&(X=U.pad.t),U.y===\"auto\")return B.t/2;switch(U.yref){case\"paper\":return B.t+B.h-B.h*U.y+X;case\"container\":default:return O.height-O.height*U.y+X}}function z(O){return O===\"top\"?i.CAP_SHIFT+.3+\"em\":O===\"bottom\"?\"-0.3em\":i.MID_SHIFT+\"em\"}function F(O){var P=O.title,U=T;return S.isRightAnchor(P)?U=l:S.isLeftAnchor(P)&&(U=p),U}function N(O){var P=O.title,U=\"0em\";return S.isTopAnchor(P)?U=i.CAP_SHIFT+\"em\":S.isMiddleAnchor(P)&&(U=i.MID_SHIFT+\"em\"),U}Z.doTraceStyle=function(O){var P=O.calcdata,U=[],B;for(B=0;B=0;F--){var N=M.append(\"path\").attr(b).style(\"opacity\",F?.1:d).call(E.stroke,y).call(E.fill,u).call(e.dashLine,F?\"solid\":R,F?4+f:f);if(s(N,p,_),L){var O=t(p.layout,\"selections\",_);N.style({cursor:\"move\"});var P={element:N.node(),plotinfo:w,gd:p,editHelpers:O,isActiveSelection:!0},U=v(g,p);x(U,N,P)}else N.style(\"pointer-events\",F?\"all\":\"none\");z[F]=N}var B=z[0],X=z[1];X.node().addEventListener(\"click\",function(){return h(p,B)})}}function s(p,T,l){var _=l.xref+l.yref;e.setClipUrl(p,\"clip\"+T._fullLayout._uid+_,T)}function h(p,T){if(n(p)){var l=T.node(),_=+l.getAttribute(\"data-index\");if(_>=0){if(_===p._fullLayout._activeSelectionIndex){m(p);return}p._fullLayout._activeSelectionIndex=_,p._fullLayout._deactivateSelection=m,a(p)}}}function c(p){if(n(p)){var T=p._fullLayout.selections.length-1;p._fullLayout._activeSelectionIndex=T,p._fullLayout._deactivateSelection=m,a(p)}}function m(p){if(n(p)){var T=p._fullLayout._activeSelectionIndex;T>=0&&(S(p),delete p._fullLayout._activeSelectionIndex,a(p))}}}}),Az=Xe({\"node_modules/polybooljs/lib/build-log.js\"(Z,G){function v(){var x,S=0,E=!1;function e(t,r){return x.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),x}return x={list:[],segmentId:function(){return S++},checkIntersection:function(t,r){return e(\"check\",{seg1:t,seg2:r})},segmentChop:function(t,r){return e(\"div_seg\",{seg:t,pt:r}),e(\"chop\",{seg:t,pt:r})},statusRemove:function(t){return e(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return e(\"seg_update\",{seg:t})},segmentNew:function(t,r){return e(\"new_seg\",{seg:t,primary:r})},segmentRemove:function(t){return e(\"rem_seg\",{seg:t})},tempStatus:function(t,r,o){return e(\"temp_status\",{seg:t,above:r,below:o})},rewind:function(t){return e(\"rewind\",{seg:t})},status:function(t,r,o){return e(\"status\",{seg:t,above:r,below:o})},vert:function(t){return t===E?x:(E=t,e(\"vert\",{x:t}))},log:function(t){return typeof t!=\"string\"&&(t=JSON.stringify(t,!1,\" \")),e(\"log\",{txt:t})},reset:function(){return e(\"reset\")},selected:function(t){return e(\"selected\",{segs:t})},chainStart:function(t){return e(\"chain_start\",{seg:t})},chainRemoveHead:function(t,r){return e(\"chain_rem_head\",{index:t,pt:r})},chainRemoveTail:function(t,r){return e(\"chain_rem_tail\",{index:t,pt:r})},chainNew:function(t,r){return e(\"chain_new\",{pt1:t,pt2:r})},chainMatch:function(t){return e(\"chain_match\",{index:t})},chainClose:function(t){return e(\"chain_close\",{index:t})},chainAddHead:function(t,r){return e(\"chain_add_head\",{index:t,pt:r})},chainAddTail:function(t,r){return e(\"chain_add_tail\",{index:t,pt:r})},chainConnect:function(t,r){return e(\"chain_con\",{index1:t,index2:r})},chainReverse:function(t){return e(\"chain_rev\",{index:t})},chainJoin:function(t,r){return e(\"chain_join\",{index1:t,index2:r})},done:function(){return e(\"done\")}},x}G.exports=v}}),Sz=Xe({\"node_modules/polybooljs/lib/epsilon.js\"(Z,G){function v(x){typeof x!=\"number\"&&(x=1e-10);var S={epsilon:function(E){return typeof E==\"number\"&&(x=E),x},pointAboveOrOnLine:function(E,e,t){var r=e[0],o=e[1],a=t[0],n=t[1],i=E[0],s=E[1];return(a-r)*(s-o)-(n-o)*(i-r)>=-x},pointBetween:function(E,e,t){var r=E[1]-e[1],o=t[0]-e[0],a=E[0]-e[0],n=t[1]-e[1],i=a*o+r*n;if(i-x)},pointsSameX:function(E,e){return Math.abs(E[0]-e[0])x!=a-r>x&&(o-s)*(r-h)/(a-h)+s-t>x&&(n=!n),o=s,a=h}return n}};return S}G.exports=v}}),Mz=Xe({\"node_modules/polybooljs/lib/linked-list.js\"(Z,G){var v={create:function(){var x={root:{root:!0,next:null},exists:function(S){return!(S===null||S===x.root)},isEmpty:function(){return x.root.next===null},getHead:function(){return x.root.next},insertBefore:function(S,E){for(var e=x.root,t=x.root.next;t!==null;){if(E(t)){S.prev=t.prev,S.next=t,t.prev.next=S,t.prev=S;return}e=t,t=t.next}e.next=S,S.prev=e,S.next=null},findTransition:function(S){for(var E=x.root,e=x.root.next;e!==null&&!S(e);)E=e,e=e.next;return{before:E===x.root?null:E,after:e,insert:function(t){return t.prev=E,t.next=e,E.next=t,e!==null&&(e.prev=t),t}}}};return x},node:function(x){return x.prev=null,x.next=null,x.remove=function(){x.prev.next=x.next,x.next&&(x.next.prev=x.prev),x.prev=null,x.next=null},x}};G.exports=v}}),Ez=Xe({\"node_modules/polybooljs/lib/intersecter.js\"(Z,G){var v=Mz();function x(S,E,e){function t(T,l){return{id:e?e.segmentId():-1,start:T,end:l,myFill:{above:null,below:null},otherFill:null}}function r(T,l,_){return{id:e?e.segmentId():-1,start:T,end:l,myFill:{above:_.myFill.above,below:_.myFill.below},otherFill:null}}var o=v.create();function a(T,l,_,w,A,M){var g=E.pointsCompare(l,A);return g!==0?g:E.pointsSame(_,M)?0:T!==w?T?1:-1:E.pointAboveOrOnLine(_,w?A:M,w?M:A)?1:-1}function n(T,l){o.insertBefore(T,function(_){var w=a(T.isStart,T.pt,l,_.isStart,_.pt,_.other.pt);return w<0})}function i(T,l){var _=v.node({isStart:!0,pt:T.start,seg:T,primary:l,other:null,status:null});return n(_,T.end),_}function s(T,l,_){var w=v.node({isStart:!1,pt:l.end,seg:l,primary:_,other:T,status:null});T.other=w,n(w,T.pt)}function h(T,l){var _=i(T,l);return s(_,T,l),_}function c(T,l){e&&e.segmentChop(T.seg,l),T.other.remove(),T.seg.end=l,T.other.pt=l,n(T.other,T.pt)}function m(T,l){var _=r(l,T.seg.end,T.seg);return c(T,l),h(_,T.primary)}function p(T,l){var _=v.create();function w(O,P){var U=O.seg.start,B=O.seg.end,X=P.seg.start,$=P.seg.end;return E.pointsCollinear(U,X,$)?E.pointsCollinear(B,X,$)||E.pointAboveOrOnLine(B,X,$)?1:-1:E.pointAboveOrOnLine(U,X,$)?1:-1}function A(O){return _.findTransition(function(P){var U=w(O,P.ev);return U>0})}function M(O,P){var U=O.seg,B=P.seg,X=U.start,$=U.end,se=B.start,le=B.end;e&&e.checkIntersection(U,B);var fe=E.linesIntersect(X,$,se,le);if(fe===!1){if(!E.pointsCollinear(X,$,se)||E.pointsSame(X,le)||E.pointsSame($,se))return!1;var V=E.pointsSame(X,se),Y=E.pointsSame($,le);if(V&&Y)return P;var ee=!V&&E.pointBetween(X,se,le),q=!Y&&E.pointBetween($,se,le);if(V)return q?m(P,$):m(O,le),P;ee&&(Y||(q?m(P,$):m(O,le)),m(P,X))}else fe.alongA===0&&(fe.alongB===-1?m(O,se):fe.alongB===0?m(O,fe.pt):fe.alongB===1&&m(O,le)),fe.alongB===0&&(fe.alongA===-1?m(P,X):fe.alongA===0?m(P,fe.pt):fe.alongA===1&&m(P,$));return!1}for(var g=[];!o.isEmpty();){var b=o.getHead();if(e&&e.vert(b.pt[0]),b.isStart){let O=function(){if(y){var P=M(b,y);if(P)return P}return f?M(b,f):!1};var d=O;e&&e.segmentNew(b.seg,b.primary);var u=A(b),y=u.before?u.before.ev:null,f=u.after?u.after.ev:null;e&&e.tempStatus(b.seg,y?y.seg:!1,f?f.seg:!1);var R=O();if(R){if(S){var L;b.seg.myFill.below===null?L=!0:L=b.seg.myFill.above!==b.seg.myFill.below,L&&(R.seg.myFill.above=!R.seg.myFill.above)}else R.seg.otherFill=b.seg.myFill;e&&e.segmentUpdate(R.seg),b.other.remove(),b.remove()}if(o.getHead()!==b){e&&e.rewind(b.seg);continue}if(S){var L;b.seg.myFill.below===null?L=!0:L=b.seg.myFill.above!==b.seg.myFill.below,f?b.seg.myFill.below=f.seg.myFill.above:b.seg.myFill.below=T,L?b.seg.myFill.above=!b.seg.myFill.below:b.seg.myFill.above=b.seg.myFill.below}else if(b.seg.otherFill===null){var z;f?b.primary===f.primary?z=f.seg.otherFill.above:z=f.seg.myFill.above:z=b.primary?l:T,b.seg.otherFill={above:z,below:z}}e&&e.status(b.seg,y?y.seg:!1,f?f.seg:!1),b.other.status=u.insert(v.node({ev:b}))}else{var F=b.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(_.exists(F.prev)&&_.exists(F.next)&&M(F.prev.ev,F.next.ev),e&&e.statusRemove(F.ev.seg),F.remove(),!b.primary){var N=b.seg.myFill;b.seg.myFill=b.seg.otherFill,b.seg.otherFill=N}g.push(b.seg)}o.getHead().remove()}return e&&e.done(),g}return S?{addRegion:function(T){for(var l,_=T[T.length-1],w=0;wr!=m>r&&t<(c-s)*(r-h)/(m-h)+s;p&&(o=!o)}return o}}}),I_=Xe({\"src/lib/polygon.js\"(Z,G){\"use strict\";var v=d2().dot,x=Hs().BADNUM,S=G.exports={};S.tester=function(e){var t=e.slice(),r=t[0][0],o=r,a=t[0][1],n=a,i;for((t[t.length-1][0]!==t[0][0]||t[t.length-1][1]!==t[0][1])&&t.push(t[0]),i=1;io||A===x||An||_&&h(l))}function m(l,_){var w=l[0],A=l[1];if(w===x||wo||A===x||An)return!1;var M=t.length,g=t[0][0],b=t[0][1],d=0,u,y,f,R,L;for(u=1;uMath.max(y,g)||A>Math.max(f,b)))if(Ai||Math.abs(v(m,h))>o)return!0;return!1},S.filter=function(e,t){var r=[e[0]],o=0,a=0;function n(s){e.push(s);var h=r.length,c=o;r.splice(a+1);for(var m=c+1;m1){var i=e.pop();n(i)}return{addPt:n,raw:e,filtered:r}}}}),Rz=Xe({\"src/components/selections/constants.js\"(Z,G){\"use strict\";G.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}}}),Dz=Xe({\"src/components/selections/select.js\"(Z,G){\"use strict\";var v=Pz(),x=Iz(),S=so(),E=es().dashStyle,e=$n(),t=rf(),r=$p().makeEventData,o=Jd(),a=o.freeMode,n=o.rectMode,i=o.drawMode,s=o.openMode,h=o.selectMode,c=a0(),m=L_(),p=M2(),T=$m().clearOutline,l=r0(),_=l.handleEllipse,w=l.readPaths,A=S2().newShapes,M=b5(),g=k5().activateLastSelection,b=sa(),d=b.sorterAsc,u=I_(),y=y2(),f=ef().getFromId,R=C_(),L=P_().redrawReglTraces,z=Rz(),F=z.MINSELECT,N=u.filter,O=u.tester,P=A2(),U=P.p2r,B=P.axValue,X=P.getTransform;function $(Ne){return Ne.subplot!==void 0}function se(Ne,Ke,Te,Ie,Ve){var Ce=!$(Ie),Ee=a(Ve),Pe=n(Ve),ft=s(Ve),ct=i(Ve),_t=h(Ve),Ct=Ve===\"drawline\",ir=Ve===\"drawcircle\",rr=Ct||ir,er=Ie.gd,Lr=er._fullLayout,fa=_t&&Lr.newselection.mode===\"immediate\"&&Ce,Da=Lr._zoomlayer,Ia=Ie.element.getBoundingClientRect(),qa=Ie.plotinfo,Wa=X(qa),Ca=Ke-Ia.left,hi=Te-Ia.top;Lr._calcInverseTransform(er);var wi=b.apply3DTransform(Lr._invTransform)(Ca,hi);Ca=wi[0],hi=wi[1];var Kt=Lr._invScaleX,Ft=Lr._invScaleY,Yt=Ca,Jt=hi,Fr=\"M\"+Ca+\",\"+hi,ta=Ie.xaxes[0],ra=Ie.yaxes[0],ca=ta._length,Ba=ra._length,$a=Ne.altKey&&!(i(Ve)&&ft),Za,ri,pi,Ra,tn,on,hn;q(Ne,er,Ie),Ee&&(Za=N([[Ca,hi]],z.BENDPX));var Tt=Da.selectAll(\"path.select-outline-\"+qa.id).data([1]),ut=ct?Lr.newshape:Lr.newselection;ct&&(Ie.hasText=ut.label.text||ut.label.texttemplate);var Br=ct&&!ft?ut.fillcolor:\"rgba(0,0,0,0)\",Cr=ut.line.color||(Ce?e.contrast(er._fullLayout.plot_bgcolor):\"#7f7f7f\");Tt.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+qa.id).style({opacity:ct?ut.opacity/2:1,\"stroke-dasharray\":E(ut.line.dash,ut.line.width),\"stroke-width\":ut.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(e.stroke,Cr).call(e.fill,Br).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!ct).attr(\"transform\",Wa).attr(\"d\",Fr+\"Z\");var xr=Da.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:e.background,stroke:e.defaultLine,\"stroke-width\":1}).attr(\"transform\",Wa).attr(\"d\",\"M0,0Z\");if(ct&&Ie.hasText){var Ir=Da.select(\".label-temp\");Ir.empty()&&(Ir=Da.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ur=Lr._uid+z.SELECTID,Hr=[],xt=re(er,Ie.xaxes,Ie.yaxes,Ie.subplot);fa&&!Ne.shiftKey&&(Ie._clearSubplotSelections=function(){if(Ce){var vr=ta._id,Or=ra._id;ot(er,vr,Or,xt);for(var ba=(er.layout||{}).selections||[],Pa=[],ya=!1,la=0;la=0){er._fullLayout._deactivateShape(er);return}if(!ct){var ba=Lr.clickmode;y.done(Ur).then(function(){if(y.clear(Ur),vr===2){for(Tt.remove(),tn=0;tn-1&&le(Or,er,Ie.xaxes,Ie.yaxes,Ie.subplot,Ie,Tt),ba===\"event\"&&Rr(er,void 0);t.click(er,Or,qa.id)}).catch(b.error)}},Ie.doneFn=function(){xr.remove(),y.done(Ur).then(function(){y.clear(Ur),!fa&&Ra&&Ie.selectionDefs&&(Ra.subtract=$a,Ie.selectionDefs.push(Ra),Ie.mergedPolygons.length=0,[].push.apply(Ie.mergedPolygons,pi)),(fa||ct)&&j(Ie,fa),Ie.doneFnCompleted&&Ie.doneFnCompleted(Hr),_t&&Rr(er,hn)}).catch(b.error)}}function le(Ne,Ke,Te,Ie,Ve,Ce,Ee){var Pe=Ke._hoverdata,ft=Ke._fullLayout,ct=ft.clickmode,_t=ct.indexOf(\"event\")>-1,Ct=[],ir,rr,er,Lr,fa,Da,Ia,qa,Wa,Ca;if(be(Pe)){q(Ne,Ke,Ce),ir=re(Ke,Te,Ie,Ve);var hi=Ae(Pe,ir),wi=hi.pointNumbers.length>0;if(wi?ze(ir,hi):Ze(ir)&&(Ia=De(hi))){for(Ee&&Ee.remove(),Ca=0;Ca=0}function ae(Ne){return Ne._fullLayout._activeSelectionIndex>=0}function j(Ne,Ke){var Te=Ne.dragmode,Ie=Ne.plotinfo,Ve=Ne.gd;oe(Ve)&&Ve._fullLayout._deactivateShape(Ve),ae(Ve)&&Ve._fullLayout._deactivateSelection(Ve);var Ce=Ve._fullLayout,Ee=Ce._zoomlayer,Pe=i(Te),ft=h(Te);if(Pe||ft){var ct=Ee.selectAll(\".select-outline-\"+Ie.id);if(ct&&Ve._fullLayout._outlining){var _t;Pe&&(_t=A(ct,Ne)),_t&&S.call(\"_guiRelayout\",Ve,{shapes:_t});var Ct;ft&&!$(Ne)&&(Ct=M(ct,Ne)),Ct&&(Ve._fullLayout._noEmitSelectedAtStart=!0,S.call(\"_guiRelayout\",Ve,{selections:Ct}).then(function(){Ke&&g(Ve)})),Ve._fullLayout._outlining=!1}}Ie.selection={},Ie.selection.selectionDefs=Ne.selectionDefs=[],Ie.selection.mergedPolygons=Ne.mergedPolygons=[]}function Q(Ne){return Ne._id}function re(Ne,Ke,Te,Ie){if(!Ne.calcdata)return[];var Ve=[],Ce=Ke.map(Q),Ee=Te.map(Q),Pe,ft,ct;for(ct=0;ct0,Ce=Ve?Ie[0]:Te;return Ke.selectedpoints?Ke.selectedpoints.indexOf(Ce)>-1:!1}function ze(Ne,Ke){var Te=[],Ie,Ve,Ce,Ee;for(Ee=0;Ee0&&Te.push(Ie);if(Te.length===1&&(Ce=Te[0]===Ke.searchInfo,Ce&&(Ve=Ke.searchInfo.cd[0].trace,Ve.selectedpoints.length===Ke.pointNumbers.length))){for(Ee=0;Ee1||(Ke+=Ie.selectedpoints.length,Ke>1)))return!1;return Ke===1}function at(Ne,Ke,Te){var Ie;for(Ie=0;Ie-1&&Ke;if(!Ee&&Ke){var vr=Pt(Ne,!0);if(vr.length){var Or=vr[0].xref,ba=vr[0].yref;if(Or&&ba){var Pa=Wt(vr),ya=mr([f(Ne,Or,\"x\"),f(Ne,ba,\"y\")]);ya(Hr,Pa)}}Ne._fullLayout._noEmitSelectedAtStart?Ne._fullLayout._noEmitSelectedAtStart=!1:Xt&&Rr(Ne,Hr),ir._reselect=!1}if(!Ee&&ir._deselect){var la=ir._deselect;Pe=la.xref,ft=la.yref,tt(Pe,ft,_t)||ot(Ne,Pe,ft,Ie),Xt&&(Hr.points.length?Rr(Ne,Hr):wt(Ne)),ir._deselect=!1}return{eventData:Hr,selectionTesters:Te}}function Oe(Ne){var Ke=Ne.calcdata;if(Ke)for(var Te=0;Te=0){Br._fullLayout._deactivateShape(Br);return}var Cr=Br._fullLayout.clickmode;if(Y(Br),Tt===2&&!Me&&ri(),st)Cr.indexOf(\"select\")>-1&&d(ut,Br,ot,Qe,be.id,_t),Cr.indexOf(\"event\")>-1&&i.click(Br,ut,be.id);else if(Tt===1&&Me){var xr=at?he:ye,Ir=at===\"s\"||nt===\"w\"?0:1,Ur=xr._name+\".range[\"+Ir+\"]\",Hr=P(xr,Ir),xt=\"left\",Xt=\"middle\";if(xr.fixedrange)return;at?(Xt=at===\"n\"?\"top\":\"bottom\",xr.side===\"right\"&&(xt=\"right\")):nt===\"e\"&&(xt=\"right\"),Br._context.showAxisRangeEntryBoxes&&v.select(ct).call(o.makeEditable,{gd:Br,immediate:!0,background:Br._fullLayout.paper_bgcolor,text:String(Hr),fill:xr.tickfont?xr.tickfont.color:\"#444\",horizontalAlign:xt,verticalAlign:Xt}).on(\"edit\",function(vr){var Or=xr.d2r(vr);Or!==void 0&&t.call(\"_guiRelayout\",Br,Ur,Or)})}}c.init(_t);var rr,er,Lr,fa,Da,Ia,qa,Wa,Ca,hi;function wi(Tt,ut,Br){var Cr=ct.getBoundingClientRect();rr=ut-Cr.left,er=Br-Cr.top,ce._fullLayout._calcInverseTransform(ce);var xr=x.apply3DTransform(ce._fullLayout._invTransform)(rr,er);rr=xr[0],er=xr[1],Lr={l:rr,r:rr,w:0,t:er,b:er,h:0},fa=ce._hmpixcount?ce._hmlumcount/ce._hmpixcount:E(ce._fullLayout.plot_bgcolor).getLuminance(),Da=\"M0,0H\"+qt+\"V\"+Wt+\"H0V0\",Ia=!1,qa=\"xy\",hi=!1,Wa=se(rt,fa,Pt,It,Da),Ca=le(rt,Pt,It)}function Kt(Tt,ut){if(ce._transitioningWithDuration)return!1;var Br=Math.max(0,Math.min(qt,Ce*Tt+rr)),Cr=Math.max(0,Math.min(Wt,Ee*ut+er)),xr=Math.abs(Br-rr),Ir=Math.abs(Cr-er);Lr.l=Math.min(rr,Br),Lr.r=Math.max(rr,Br),Lr.t=Math.min(er,Cr),Lr.b=Math.max(er,Cr);function Ur(){qa=\"\",Lr.r=Lr.l,Lr.t=Lr.b,Ca.attr(\"d\",\"M0,0Z\")}if(kr.isSubplotConstrained)xr>R||Ir>R?(qa=\"xy\",xr/qt>Ir/Wt?(Ir=xr*Wt/qt,er>Cr?Lr.t=er-Ir:Lr.b=er+Ir):(xr=Ir*qt/Wt,rr>Br?Lr.l=rr-xr:Lr.r=rr+xr),Ca.attr(\"d\",ae(Lr))):Ur();else if(mr.isSubplotConstrained)if(xr>R||Ir>R){qa=\"xy\";var Hr=Math.min(Lr.l/qt,(Wt-Lr.b)/Wt),xt=Math.max(Lr.r/qt,(Wt-Lr.t)/Wt);Lr.l=Hr*qt,Lr.r=xt*qt,Lr.b=(1-Hr)*Wt,Lr.t=(1-xt)*Wt,Ca.attr(\"d\",ae(Lr))}else Ur();else!Sr||Ir0){var vr;if(mr.isSubplotConstrained||!qr&&Sr.length===1){for(vr=0;vr1&&(Ur.maxallowed!==void 0&&wt===(Ur.range[0]1&&(Hr.maxallowed!==void 0&&Ne===(Hr.range[0]=0?Math.min(ce,.9):1/(1/Math.max(ce,-.3)+3.222))}function $(ce,be,Ae){return ce?ce===\"nsew\"?Ae?\"\":be===\"pan\"?\"move\":\"crosshair\":ce.toLowerCase()+\"-resize\":\"pointer\"}function se(ce,be,Ae,De,ze){return ce.append(\"path\").attr(\"class\",\"zoombox\").style({fill:be>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",r(Ae,De)).attr(\"d\",ze+\"Z\")}function le(ce,be,Ae){return ce.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:a.background,stroke:a.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",r(be,Ae)).attr(\"d\",\"M0,0Z\")}function fe(ce,be,Ae,De,ze,Ze){ce.attr(\"d\",De+\"M\"+Ae.l+\",\"+Ae.t+\"v\"+Ae.h+\"h\"+Ae.w+\"v-\"+Ae.h+\"h-\"+Ae.w+\"Z\"),V(ce,be,ze,Ze)}function V(ce,be,Ae,De){Ae||(ce.transition().style(\"fill\",De>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),be.transition().style(\"opacity\",1).duration(200))}function Y(ce){v.select(ce).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function ee(ce){L&&ce.data&&ce._context.showTips&&(x.notifier(x._(ce,\"Double-click to zoom back out\"),\"long\"),L=!1)}function q(ce,be){return\"M\"+(ce.l-.5)+\",\"+(be-R-.5)+\"h-3v\"+(2*R+1)+\"h3ZM\"+(ce.r+.5)+\",\"+(be-R-.5)+\"h3v\"+(2*R+1)+\"h-3Z\"}function oe(ce,be){return\"M\"+(be-R-.5)+\",\"+(ce.t-.5)+\"v-3h\"+(2*R+1)+\"v3ZM\"+(be-R-.5)+\",\"+(ce.b+.5)+\"v3h\"+(2*R+1)+\"v-3Z\"}function ae(ce){var be=Math.floor(Math.min(ce.b-ce.t,ce.r-ce.l,R)/2);return\"M\"+(ce.l-3.5)+\",\"+(ce.t-.5+be)+\"h3v\"+-be+\"h\"+be+\"v-3h-\"+(be+3)+\"ZM\"+(ce.r+3.5)+\",\"+(ce.t-.5+be)+\"h-3v\"+-be+\"h\"+-be+\"v-3h\"+(be+3)+\"ZM\"+(ce.r+3.5)+\",\"+(ce.b+.5-be)+\"h-3v\"+be+\"h\"+-be+\"v3h\"+(be+3)+\"ZM\"+(ce.l-3.5)+\",\"+(ce.b+.5-be)+\"h3v\"+be+\"h\"+be+\"v3h-\"+(be+3)+\"Z\"}function j(ce,be,Ae,De,ze){for(var Ze=!1,at={},nt={},rt,st,Me,ye,he=(ze||{}).xaHash,Oe=(ze||{}).yaHash,tt=0;tt1&&x.warn(\"Full array edits are incompatible with other edits\",h);var w=n[\"\"][\"\"];if(t(w))a.set(null);else if(Array.isArray(w))a.set(w);else return x.warn(\"Unrecognized full array edit value\",h,w),!0;return T?!1:(c(l,_),m(o),!0)}var A=Object.keys(n).map(Number).sort(S),M=a.get(),g=M||[],b=s(_,h).get(),d=[],u=-1,y=g.length,f,R,L,z,F,N,O,P;for(f=0;fg.length-(O?0:1)){x.warn(\"index out of range\",h,L);continue}if(N!==void 0)F.length>1&&x.warn(\"Insertion & removal are incompatible with edits to the same index.\",h,L),t(N)?d.push(L):O?(N===\"add\"&&(N={}),g.splice(L,0,N),b&&b.splice(L,0,{})):x.warn(\"Unrecognized full object edit value\",h,L,N),u===-1&&(u=L);else for(R=0;R=0;f--)g.splice(d[f],1),b&&b.splice(d[f],1);if(g.length?M||a.set(g):a.set(null),T)return!1;if(c(l,_),p!==v){var U;if(u===-1)U=A;else{for(y=Math.max(g.length,y),U=[],f=0;f=u));f++)U.push(L);for(f=u;f0&&x.log(\"Clearing previous rejected promises from queue.\"),l._promises=[]},Z.cleanLayout=function(l){var _,w;l||(l={}),l.xaxis1&&(l.xaxis||(l.xaxis=l.xaxis1),delete l.xaxis1),l.yaxis1&&(l.yaxis||(l.yaxis=l.yaxis1),delete l.yaxis1),l.scene1&&(l.scene||(l.scene=l.scene1),delete l.scene1);var A=(S.subplotsRegistry.cartesian||{}).attrRegex,M=(S.subplotsRegistry.polar||{}).attrRegex,g=(S.subplotsRegistry.ternary||{}).attrRegex,b=(S.subplotsRegistry.gl3d||{}).attrRegex,d=Object.keys(l);for(_=0;_3?(O.x=1.02,O.xanchor=\"left\"):O.x<-2&&(O.x=-.02,O.xanchor=\"right\"),O.y>3?(O.y=1.02,O.yanchor=\"bottom\"):O.y<-2&&(O.y=-.02,O.yanchor=\"top\")),l.dragmode===\"rotate\"&&(l.dragmode=\"orbit\"),e.clean(l),l.template&&l.template.layout&&Z.cleanLayout(l.template.layout),l};function n(l,_,w=!1){var A=l[_],M=_.charAt(0);w&&Array.isArray(A)||A&&A!==\"paper\"&&(l[_]=t(A,M,!0))}Z.cleanData=function(l){for(var _=0;_0)return l.slice(0,_)}Z.hasParent=function(l,_){for(var w=p(_);w;){if(w in l)return!0;w=p(w)}return!1},Z.clearAxisTypes=function(l,_,w){for(var A=0;A<_.length;A++)for(var M=l._fullData[A],g=0;g<3;g++){var b=r(l,M,a[g]);if(b&&b.type!==\"log\"){var d=b._name,u=b._id.slice(1);if(u.slice(0,5)===\"scene\"){if(w[u]!==void 0)continue;d=u+\".\"+d}var y=d+\".type\";w[d]===void 0&&w[y]===void 0&&x.nestedProperty(l.layout,y).set(null)}}};var T=(l,_)=>{let w=(...A)=>A.every(M=>x.isPlainObject(M))||A.every(M=>Array.isArray(M));if([l,_].every(A=>Array.isArray(A))){if(l.length!==_.length)return!1;for(let A=0;Ax.isPlainObject(A))){if(Object.keys(l).length!==Object.keys(_).length)return!1;for(let A in l){if(A.startsWith(\"_\"))continue;let M=l[A],g=_[A];if(M!==g&&!(w(M,g)?T(M,g):!1))return!1}return!0}return!1};Z.collectionsAreEqual=T}}),k2=Xe({\"src/plot_api/plot_api.js\"(Z){\"use strict\";var G=Hn(),v=rs(),x=i5(),S=sa(),E=S.nestedProperty,e=Qy(),t=iz(),r=so(),o=e1(),a=bc(),n=Go(),i=h5(),s=Wh(),h=es(),c=$n(),m=I5().initInteractions,p=vd(),T=Af().clearOutline,l=X0().dfltConfig,_=Bz(),w=Nz(),A=P_(),M=pc(),g=lh().AX_NAME_PATTERN,b=0,d=5;function u(Te,Ie,Ve,Ce){var Ee;if(Te=S.getGraphDiv(Te),e.init(Te),S.isPlainObject(Ie)){var Pe=Ie;Ie=Pe.data,Ve=Pe.layout,Ce=Pe.config,Ee=Pe.frames}var ft=e.triggerHandler(Te,\"plotly_beforeplot\",[Ie,Ve,Ce]);if(ft===!1)return Promise.reject();!Ie&&!Ve&&!S.isPlotDiv(Te)&&S.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",Te);function ct(){if(Ee)return Z.addFrames(Te,Ee)}z(Te,Ce),Ve||(Ve={}),G.select(Te).classed(\"js-plotly-plot\",!0),h.makeTester(),Array.isArray(Te._promises)||(Te._promises=[]);var _t=(Te.data||[]).length===0&&Array.isArray(Ie);Array.isArray(Ie)&&(w.cleanData(Ie),_t?Te.data=Ie:Te.data.push.apply(Te.data,Ie),Te.empty=!1),(!Te.layout||_t)&&(Te.layout=w.cleanLayout(Ve)),a.supplyDefaults(Te);var Ct=Te._fullLayout,ir=Ct._has(\"cartesian\");Ct._replotting=!0,(_t||Ct._shouldCreateBgLayer)&&(Ke(Te),Ct._shouldCreateBgLayer&&delete Ct._shouldCreateBgLayer),h.initGradients(Te),h.initPatterns(Te),_t&&n.saveShowSpikeInitial(Te);var rr=!Te.calcdata||Te.calcdata.length!==(Te._fullData||[]).length;rr&&a.doCalcdata(Te);for(var er=0;er=Te.data.length||Ee<-Te.data.length)throw new Error(Ve+\" must be valid indices for gd.data.\");if(Ie.indexOf(Ee,Ce+1)>-1||Ee>=0&&Ie.indexOf(-Te.data.length+Ee)>-1||Ee<0&&Ie.indexOf(Te.data.length+Ee)>-1)throw new Error(\"each index in \"+Ve+\" must be unique.\")}}function U(Te,Ie,Ve){if(!Array.isArray(Te.data))throw new Error(\"gd.data must be an array.\");if(typeof Ie>\"u\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(Ie)||(Ie=[Ie]),P(Te,Ie,\"currentIndices\"),typeof Ve<\"u\"&&!Array.isArray(Ve)&&(Ve=[Ve]),typeof Ve<\"u\"&&P(Te,Ve,\"newIndices\"),typeof Ve<\"u\"&&Ie.length!==Ve.length)throw new Error(\"current and new indices must be of equal length.\")}function B(Te,Ie,Ve){var Ce,Ee;if(!Array.isArray(Te.data))throw new Error(\"gd.data must be an array.\");if(typeof Ie>\"u\")throw new Error(\"traces must be defined.\");for(Array.isArray(Ie)||(Ie=[Ie]),Ce=0;Ce\"u\")throw new Error(\"indices must be an integer or array of integers\");P(Te,Ve,\"indices\");for(var Pe in Ie){if(!Array.isArray(Ie[Pe])||Ie[Pe].length!==Ve.length)throw new Error(\"attribute \"+Pe+\" must be an array of length equal to indices array length\");if(Ee&&(!(Pe in Ce)||!Array.isArray(Ce[Pe])||Ce[Pe].length!==Ie[Pe].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 correspondence with the keys and number of traces in the update object\")}}function $(Te,Ie,Ve,Ce){var Ee=S.isPlainObject(Ce),Pe=[],ft,ct,_t,Ct,ir;Array.isArray(Ve)||(Ve=[Ve]),Ve=O(Ve,Te.data.length-1);for(var rr in Ie)for(var er=0;er=0&&ir=0&&ir\"u\")return Ct=Z.redraw(Te),t.add(Te,Ee,ft,Pe,ct),Ct;Array.isArray(Ve)||(Ve=[Ve]);try{U(Te,Ce,Ve)}catch(ir){throw Te.data.splice(Te.data.length-Ie.length,Ie.length),ir}return t.startSequence(Te),t.add(Te,Ee,ft,Pe,ct),Ct=Z.moveTraces(Te,Ce,Ve),t.stopSequence(Te),Ct}function ee(Te,Ie){Te=S.getGraphDiv(Te);var Ve=[],Ce=Z.addTraces,Ee=ee,Pe=[Te,Ve,Ie],ft=[Te,Ie],ct,_t;if(typeof Ie>\"u\")throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(Ie)||(Ie=[Ie]),P(Te,Ie,\"indices\"),Ie=O(Ie,Te.data.length-1),Ie.sort(S.sorterDes),ct=0;ct\"u\")for(Ve=[],Ct=0;Ct0&&typeof Yt.parts[ta]!=\"string\";)ta--;var ra=Yt.parts[ta],ca=Yt.parts[ta-1]+\".\"+ra,Ba=Yt.parts.slice(0,ta).join(\".\"),$a=E(Te.layout,Ba).get(),Za=E(Ce,Ba).get(),ri=Yt.get();if(Jt!==void 0){qa[Ft]=Jt,Wa[Ft]=ra===\"reverse\"?Jt:ae(ri);var pi=o.getLayoutValObject(Ce,Yt.parts);if(pi&&pi.impliedEdits&&Jt!==null)for(var Ra in pi.impliedEdits)Ca(S.relativeAttr(Ft,Ra),pi.impliedEdits[Ra]);if([\"width\",\"height\"].indexOf(Ft)!==-1)if(Jt){Ca(\"autosize\",null);var tn=Ft===\"height\"?\"width\":\"height\";Ca(tn,Ce[tn])}else Ce[Ft]=Te._initialAutoSize[Ft];else if(Ft===\"autosize\")Ca(\"width\",Jt?null:Ce.width),Ca(\"height\",Jt?null:Ce.height);else if(ca.match(ze))Kt(ca),E(Ce,Ba+\"._inputRange\").set(null);else if(ca.match(Ze)){Kt(ca),E(Ce,Ba+\"._inputRange\").set(null);var on=E(Ce,Ba).get();on._inputDomain&&(on._input.domain=on._inputDomain.slice())}else ca.match(at)&&E(Ce,Ba+\"._inputDomain\").set(null);if(ra===\"type\"){wi=$a;var hn=Za.type===\"linear\"&&Jt===\"log\",Tt=Za.type===\"log\"&&Jt===\"linear\";if(hn||Tt){if(!wi||!wi.range)Ca(Ba+\".autorange\",!0);else if(Za.autorange)hn&&(wi.range=wi.range[1]>wi.range[0]?[1,2]:[2,1]);else{var ut=wi.range[0],Br=wi.range[1];hn?(ut<=0&&Br<=0&&Ca(Ba+\".autorange\",!0),ut<=0?ut=Br/1e6:Br<=0&&(Br=ut/1e6),Ca(Ba+\".range[0]\",Math.log(ut)/Math.LN10),Ca(Ba+\".range[1]\",Math.log(Br)/Math.LN10)):(Ca(Ba+\".range[0]\",Math.pow(10,ut)),Ca(Ba+\".range[1]\",Math.pow(10,Br)))}Array.isArray(Ce._subplots.polar)&&Ce._subplots.polar.length&&Ce[Yt.parts[0]]&&Yt.parts[1]===\"radialaxis\"&&delete Ce[Yt.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],r.getComponentMethod(\"annotations\",\"convertCoords\")(Te,Za,Jt,Ca),r.getComponentMethod(\"images\",\"convertCoords\")(Te,Za,Jt,Ca)}else Ca(Ba+\".autorange\",!0),Ca(Ba+\".range\",null);E(Ce,Ba+\"._inputRange\").set(null)}else if(ra.match(g)){var Cr=E(Ce,Ft).get(),xr=(Jt||{}).type;(!xr||xr===\"-\")&&(xr=\"linear\"),r.getComponentMethod(\"annotations\",\"convertCoords\")(Te,Cr,xr,Ca),r.getComponentMethod(\"images\",\"convertCoords\")(Te,Cr,xr,Ca)}var Ir=_.containerArrayMatch(Ft);if(Ir){ir=Ir.array,rr=Ir.index;var Ur=Ir.property,Hr=pi||{editType:\"calc\"};rr!==\"\"&&Ur===\"\"&&(_.isAddVal(Jt)?Wa[Ft]=null:_.isRemoveVal(Jt)?Wa[Ft]=(E(Ve,ir).get()||[])[rr]:S.warn(\"unrecognized full object value\",Ie)),M.update(Ia,Hr),Ct[ir]||(Ct[ir]={});var xt=Ct[ir][rr];xt||(xt=Ct[ir][rr]={}),xt[Ur]=Jt,delete Ie[Ft]}else ra===\"reverse\"?($a.range?$a.range.reverse():(Ca(Ba+\".autorange\",!0),$a.range=[1,0]),Za.autorange?Ia.calc=!0:Ia.plot=!0):(Ft===\"dragmode\"&&(Jt===!1&&ri!==!1||Jt!==!1&&ri===!1)||Ce._has(\"scatter-like\")&&Ce._has(\"regl\")&&Ft===\"dragmode\"&&(Jt===\"lasso\"||Jt===\"select\")&&!(ri===\"lasso\"||ri===\"select\")?Ia.plot=!0:pi?M.update(Ia,pi):Ia.calc=!0,Yt.set(Jt))}}for(ir in Ct){var Xt=_.applyContainerArrayChanges(Te,Pe(Ve,ir),Ct[ir],Ia,Pe);Xt||(Ia.plot=!0)}for(var vr in hi){wi=n.getFromId(Te,vr);var Or=wi&&wi._constraintGroup;if(Or){Ia.calc=!0;for(var ba in Or)hi[ba]||(n.getFromId(Te,ba)._constraintShrinkable=!0)}}(rt(Te)||Ie.height||Ie.width)&&(Ia.plot=!0);var Pa=Ce.shapes;for(rr=0;rr1;)if(Ce.pop(),Ve=E(Ie,Ce.join(\".\")+\".uirevision\").get(),Ve!==void 0)return Ve;return Ie.uirevision}function ot(Te,Ie){for(var Ve=0;Ve[Ba,Te._ev.listeners(Ba)]);Pe=Z.newPlot(Te,Ie,Ve,Ce).then(()=>{for(let[Ba,$a]of ca)$a.forEach(Za=>Te.on(Ba,Za));return Z.react(Te,Ie,Ve,Ce)})}else{Te.data=Ie||[],w.cleanData(Te.data),Te.layout=Ve||{},w.cleanLayout(Te.layout),It(Te.data,Te.layout,ct,_t),a.supplyDefaults(Te,{skipUpdateCalc:!0});var rr=Te._fullData,er=Te._fullLayout,Lr=er.datarevision===void 0,fa=er.transition,Da=kr(Te,_t,er,Lr,fa),Ia=Da.newDataRevision,qa=Wt(Te,ct,rr,Lr,fa,Ia);if(rt(Te)&&(Da.layoutReplot=!0),qa.calc||Da.calc){Te.calcdata=void 0;for(var Wa=Object.getOwnPropertyNames(er),Ca=0;Ca(ir||Te.emit(\"plotly_react\",{config:Ce,data:Ie,layout:Ve}),Te))}function Wt(Te,Ie,Ve,Ce,Ee,Pe){var ft=Ie.length===Ve.length;if(!Ee&&!ft)return{fullReplot:!0,calc:!0};var ct=M.traceFlags();ct.arrays={},ct.nChanges=0,ct.nChangesAnim=0;var _t,Ct;function ir(Lr){var fa=o.getTraceValObject(Ct,Lr);return!Ct._module.animatable&&fa.anim&&(fa.anim=!1),fa}var rr={getValObject:ir,flags:ct,immutable:Ce,transition:Ee,newDataRevision:Pe,gd:Te},er={};for(_t=0;_t=Ee.length?Ee[0]:Ee[Ct]:Ee}function ct(Ct){return Array.isArray(Pe)?Ct>=Pe.length?Pe[0]:Pe[Ct]:Pe}function _t(Ct,ir){var rr=0;return function(){if(Ct&&++rr===ir)return Ct()}}return new Promise(function(Ct,ir){function rr(){if(Ce._frameQueue.length!==0){for(;Ce._frameQueue.length;){var ra=Ce._frameQueue.pop();ra.onInterrupt&&ra.onInterrupt()}Te.emit(\"plotly_animationinterrupted\",[])}}function er(ra){if(ra.length!==0){for(var ca=0;caCe._timeToNext&&fa()};ra()}var Ia=0;function qa(ra){return Array.isArray(Ee)?Ia>=Ee.length?ra.transitionOpts=Ee[Ia]:ra.transitionOpts=Ee[0]:ra.transitionOpts=Ee,Ia++,ra}var Wa,Ca,hi=[],wi=Ie==null,Kt=Array.isArray(Ie),Ft=!wi&&!Kt&&S.isPlainObject(Ie);if(Ft)hi.push({type:\"object\",data:qa(S.extendFlat({},Ie))});else if(wi||[\"string\",\"number\"].indexOf(typeof Ie)!==-1)for(Wa=0;Wa0&&FrFr)&&ta.push(Ca);hi=ta}}hi.length>0?er(hi):(Te.emit(\"plotly_animated\"),Ct())})}function Sr(Te,Ie,Ve){if(Te=S.getGraphDiv(Te),Ie==null)return Promise.resolve();if(!S.isPlotDiv(Te))throw new Error(\"This element is not a Plotly plot: \"+Te+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var Ce,Ee,Pe,ft,ct=Te._transitionData._frames,_t=Te._transitionData._frameHash;if(!Array.isArray(Ie))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+Ie);var Ct=ct.length+Ie.length*2,ir=[],rr={};for(Ce=Ie.length-1;Ce>=0;Ce--)if(S.isPlainObject(Ie[Ce])){var er=Ie[Ce].name,Lr=(_t[er]||rr[er]||{}).name,fa=Ie[Ce].name,Da=_t[Lr]||rr[Lr];Lr&&fa&&typeof fa==\"number\"&&Da&&bYt.index?-1:Ft.index=0;Ce--){if(Ee=ir[Ce].frame,typeof Ee.name==\"number\"&&S.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!Ee.name)for(;_t[Ee.name=\"frame \"+Te._transitionData._counter++];);if(_t[Ee.name]){for(Pe=0;Pe=0;Ve--)Ce=Ie[Ve],Pe.push({type:\"delete\",index:Ce}),ft.unshift({type:\"insert\",index:Ce,value:Ee[Ce]});var ct=a.modifyFrames,_t=a.modifyFrames,Ct=[Te,ft],ir=[Te,Pe];return t&&t.add(Te,ct,Ct,_t,ir),a.modifyFrames(Te,Pe)}function wt(Te){Te=S.getGraphDiv(Te);var Ie=Te._fullLayout||{},Ve=Te._fullData||[];return a.cleanPlot([],{},Ve,Ie),a.purge(Te),e.purge(Te),Ie._container&&Ie._container.remove(),delete Te._context,Te}function Ne(Te){var Ie=Te._fullLayout,Ve=Te.getBoundingClientRect();if(!S.equalDomRects(Ve,Ie._lastBBox)){var Ce=Ie._invTransform=S.inverseTransformMatrix(S.getFullTransformMatrix(Te));Ie._invScaleX=Math.sqrt(Ce[0][0]*Ce[0][0]+Ce[0][1]*Ce[0][1]+Ce[0][2]*Ce[0][2]),Ie._invScaleY=Math.sqrt(Ce[1][0]*Ce[1][0]+Ce[1][1]*Ce[1][1]+Ce[1][2]*Ce[1][2]),Ie._lastBBox=Ve}}function Ke(Te){var Ie=G.select(Te),Ve=Te._fullLayout;if(Ve._calcInverseTransform=Ne,Ve._calcInverseTransform(Te),Ve._container=Ie.selectAll(\".plot-container\").data([0]),Ve._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),Ve._paperdiv=Ve._container.selectAll(\".svg-container\").data([0]),Ve._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),Ve._glcontainer=Ve._paperdiv.selectAll(\".gl-container\").data([{}]),Ve._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),Ve._paperdiv.selectAll(\".main-svg\").remove(),Ve._paperdiv.select(\".modebar-container\").remove(),Ve._paper=Ve._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),Ve._toppaper=Ve._paperdiv.append(\"svg\").classed(\"main-svg\",!0),Ve._modebardiv=Ve._paperdiv.append(\"div\"),delete Ve._modeBar,Ve._hoverpaper=Ve._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!Ve._uid){var Ce={};G.selectAll(\"defs\").each(function(){this.id&&(Ce[this.id.split(\"-\")[1]]=1)}),Ve._uid=S.randstr(Ce)}Ve._paperdiv.selectAll(\".main-svg\").attr(p.svgAttrs),Ve._defs=Ve._paper.append(\"defs\").attr(\"id\",\"defs-\"+Ve._uid),Ve._clips=Ve._defs.append(\"g\").classed(\"clips\",!0),Ve._topdefs=Ve._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+Ve._uid),Ve._topclips=Ve._topdefs.append(\"g\").classed(\"clips\",!0),Ve._bgLayer=Ve._paper.append(\"g\").classed(\"bglayer\",!0),Ve._draggers=Ve._paper.append(\"g\").classed(\"draglayer\",!0);var Ee=Ve._paper.append(\"g\").classed(\"layer-below\",!0);Ve._imageLowerLayer=Ee.append(\"g\").classed(\"imagelayer\",!0),Ve._shapeLowerLayer=Ee.append(\"g\").classed(\"shapelayer\",!0),Ve._cartesianlayer=Ve._paper.append(\"g\").classed(\"cartesianlayer\",!0),Ve._polarlayer=Ve._paper.append(\"g\").classed(\"polarlayer\",!0),Ve._smithlayer=Ve._paper.append(\"g\").classed(\"smithlayer\",!0),Ve._ternarylayer=Ve._paper.append(\"g\").classed(\"ternarylayer\",!0),Ve._geolayer=Ve._paper.append(\"g\").classed(\"geolayer\",!0),Ve._funnelarealayer=Ve._paper.append(\"g\").classed(\"funnelarealayer\",!0),Ve._pielayer=Ve._paper.append(\"g\").classed(\"pielayer\",!0),Ve._iciclelayer=Ve._paper.append(\"g\").classed(\"iciclelayer\",!0),Ve._treemaplayer=Ve._paper.append(\"g\").classed(\"treemaplayer\",!0),Ve._sunburstlayer=Ve._paper.append(\"g\").classed(\"sunburstlayer\",!0),Ve._indicatorlayer=Ve._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),Ve._glimages=Ve._paper.append(\"g\").classed(\"glimages\",!0);var Pe=Ve._toppaper.append(\"g\").classed(\"layer-above\",!0);Ve._imageUpperLayer=Pe.append(\"g\").classed(\"imagelayer\",!0),Ve._shapeUpperLayer=Pe.append(\"g\").classed(\"shapelayer\",!0),Ve._selectionLayer=Ve._toppaper.append(\"g\").classed(\"selectionlayer\",!0),Ve._infolayer=Ve._toppaper.append(\"g\").classed(\"infolayer\",!0),Ve._menulayer=Ve._toppaper.append(\"g\").classed(\"menulayer\",!0),Ve._zoomlayer=Ve._toppaper.append(\"g\").classed(\"zoomlayer\",!0),Ve._hoverlayer=Ve._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),Ve._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),Te.emit(\"plotly_framework\")}Z.animate=qr,Z.addFrames=Sr,Z.deleteFrames=Rr,Z.addTraces=Y,Z.deleteTraces=ee,Z.extendTraces=fe,Z.moveTraces=q,Z.prependTraces=V,Z.newPlot=N,Z._doPlot=u,Z.purge=wt,Z.react=qt,Z.redraw=F,Z.relayout=be,Z.restyle=oe,Z.setPlotConfig=f,Z.update=st,Z._guiRelayout=Me(be),Z._guiRestyle=Me(oe),Z._guiUpdate=Me(st),Z._storeDirectGUIEdit=re}}),Yv=Xe({\"src/snapshot/helpers.js\"(Z){\"use strict\";var G=so();Z.getDelay=function(S){return S._has&&(S._has(\"gl3d\")||S._has(\"mapbox\")||S._has(\"map\"))?500:0},Z.getRedrawFunc=function(S){return function(){G.getComponentMethod(\"colorbar\",\"draw\")(S)}},Z.encodeSVG=function(S){return\"data:image/svg+xml,\"+encodeURIComponent(S)},Z.encodeJSON=function(S){return\"data:application/json,\"+encodeURIComponent(S)};var v=window.URL||window.webkitURL;Z.createObjectURL=function(S){return v.createObjectURL(S)},Z.revokeObjectURL=function(S){return v.revokeObjectURL(S)},Z.createBlob=function(S,E){if(E===\"svg\")return new window.Blob([S],{type:\"image/svg+xml;charset=utf-8\"});if(E===\"full-json\")return new window.Blob([S],{type:\"application/json;charset=utf-8\"});var e=x(window.atob(S));return new window.Blob([e],{type:\"image/\"+E})},Z.octetStream=function(S){document.location.href=\"data:application/octet-stream\"+S};function x(S){for(var E=S.length,e=new ArrayBuffer(E),t=new Uint8Array(e),r=0;r\")!==-1?\"\":s.html(c).text()});return s.remove(),h}function n(i){return i.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}G.exports=function(s,h,c){var m=s._fullLayout,p=m._paper,T=m._toppaper,l=m.width,_=m.height,w;p.insert(\"rect\",\":first-child\").call(S.setRect,0,0,l,_).call(E.fill,m.paper_bgcolor);var A=m._basePlotModules||[];for(w=0;w1&&M.push(s(\"object\",\"layout\"))),x.supplyDefaults(g);for(var u=g._fullData,y=b.length,f=0;fR.length&&A.push(s(\"unused\",M,y.concat(R.length)));var P=R.length,U=Array.isArray(O);U&&(P=Math.min(P,O.length));var B,X,$,se,le;if(L.dimensions===2)for(X=0;XR[X].length&&A.push(s(\"unused\",M,y.concat(X,R[X].length)));var fe=R[X].length;for(B=0;B<(U?Math.min(fe,O[X].length):fe);B++)$=U?O[X][B]:O,se=f[X][B],le=R[X][B],v.validate(se,$)?le!==se&&le!==+se&&A.push(s(\"dynamic\",M,y.concat(X,B),se,le)):A.push(s(\"value\",M,y.concat(X,B),se))}else A.push(s(\"array\",M,y.concat(X),f[X]));else for(X=0;XF?A.push({code:\"unused\",traceType:f,templateCount:z,dataCount:F}):F>z&&A.push({code:\"reused\",traceType:f,templateCount:z,dataCount:F})}}function N(O,P){for(var U in O)if(U.charAt(0)!==\"_\"){var B=O[U],X=s(O,U,P);v(B)?(Array.isArray(O)&&B._template===!1&&B.templateitemname&&A.push({code:\"missing\",path:X,templateitemname:B.templateitemname}),N(B,X)):Array.isArray(B)&&h(B)&&N(B,X)}}if(N({data:g,layout:M},\"\"),A.length)return A.map(c)};function h(m){for(var p=0;p=0;c--){var m=e[c];if(m.type===\"scatter\"&&m.xaxis===s.xaxis&&m.yaxis===s.yaxis){m.opacity=void 0;break}}}}}}}),Wz=Xe({\"src/traces/scatter/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=_2();G.exports=function(S,E){function e(r,o){return v.coerce(S,E,x,r,o)}var t=E.barmode===\"group\";E.scattermode===\"group\"&&e(\"scattergap\",t?E.bargap:.2)}}}),tv=Xe({\"src/plots/cartesian/align_period.js\"(Z,G){\"use strict\";var v=rs(),x=sa(),S=x.dateTime2ms,E=x.incrementMonth,e=Hs(),t=e.ONEAVGMONTH;G.exports=function(o,a,n,i){if(a.type!==\"date\")return{vals:i};var s=o[n+\"periodalignment\"];if(!s)return{vals:i};var h=o[n+\"period\"],c;if(v(h)){if(h=+h,h<=0)return{vals:i}}else if(typeof h==\"string\"&&h.charAt(0)===\"M\"){var m=+h.substring(1);if(m>0&&Math.round(m)===m)c=m;else return{vals:i}}for(var p=a.calendar,T=s===\"start\",l=s===\"end\",_=o[n+\"period0\"],w=S(_,p)||0,A=[],M=[],g=[],b=i.length,d=0;du;)R=E(R,-c,p);for(;R<=u;)R=E(R,c,p);f=E(R,-c,p)}else{for(y=Math.round((u-w)/h),R=w+y*h;R>u;)R-=h;for(;R<=u;)R+=h;f=R-h}A[d]=T?f:l?R:(f+R)/2,M[d]=f,g[d]=R}return{vals:A,starts:M,ends:g}}}}),Fd=Xe({\"src/traces/scatter/colorscale_calc.js\"(Z,G){\"use strict\";var v=wp().hasColorscale,x=Tp(),S=Fu();G.exports=function(e,t){S.hasLines(t)&&v(t,\"line\")&&x(e,t,{vals:t.line.color,containerStr:\"line\",cLetter:\"c\"}),S.hasMarkers(t)&&(v(t,\"marker\")&&x(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),v(t,\"marker.line\")&&x(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}}}),Av=Xe({\"src/traces/scatter/arrays_to_calcdata.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E){for(var e=0;eN&&f[P].gap;)P--;for(B=f[P].s,O=f.length-1;O>P;O--)f[O].s=B;for(;Nse+X||!v($))}for(var fe=0;feP(B))):P(F.text);let U=F.outsidetextfont.size*a*O+o;return{ppadplus:N.some(B=>B.s<0)?U:0,ppadminus:N.some(B=>B.s>=0)?U:0}}return{ppadplus:void 0,ppadminus:void 0}}function R(F,N,O,P){for(var U=z(P),B=0;Bz[p]&&p0?e:t)/(p._m*_*(p._m>0?e:t)))),Ct*=1e3}if(ir===S){if(l&&(ir=p.c2p(_t.y,!0)),ir===S)return!1;ir*=1e3}return[Ct,ir]}function Q(ct,_t,Ct,ir){var rr=Ct-ct,er=ir-_t,Lr=.5-ct,fa=.5-_t,Da=rr*rr+er*er,Ia=rr*Lr+er*fa;if(Ia>0&&Ia1||Math.abs(Lr.y-Ct[0][1])>1)&&(Lr=[Lr.x,Lr.y],ir&&Ae(Lr,ct)Ze||ct[1]nt)return[a(ct[0],ze,Ze),a(ct[1],at,nt)]}function Pt(ct,_t){if(ct[0]===_t[0]&&(ct[0]===ze||ct[0]===Ze)||ct[1]===_t[1]&&(ct[1]===at||ct[1]===nt))return!0}function It(ct,_t){var Ct=[],ir=Qe(ct),rr=Qe(_t);return ir&&rr&&Pt(ir,rr)||(ir&&Ct.push(ir),rr&&Ct.push(rr)),Ct}function qt(ct,_t,Ct){return function(ir,rr){var er=Qe(ir),Lr=Qe(rr),fa=[];if(er&&Lr&&Pt(er,Lr))return fa;er&&fa.push(er),Lr&&fa.push(Lr);var Da=2*r.constrain((ir[ct]+rr[ct])/2,_t,Ct)-((er||ir)[ct]+(Lr||rr)[ct]);if(Da){var Ia;er&&Lr?Ia=Da>0==er[ct]>Lr[ct]?er:Lr:Ia=er||Lr,Ia[ct]+=Da}return fa}}var Wt;d===\"linear\"||d===\"spline\"?Wt=ot:d===\"hv\"||d===\"vh\"?Wt=It:d===\"hvh\"?Wt=qt(0,ze,Ze):d===\"vhv\"&&(Wt=qt(1,at,nt));function kr(ct,_t){var Ct=_t[0]-ct[0],ir=(_t[1]-ct[1])/Ct,rr=(ct[1]*_t[0]-_t[1]*ct[0])/Ct;return rr>0?[ir>0?ze:Ze,nt]:[ir>0?Ze:ze,at]}function mr(ct){var _t=ct[0],Ct=ct[1],ir=_t===z[F-1][0],rr=Ct===z[F-1][1];if(!(ir&&rr))if(F>1){var er=_t===z[F-2][0],Lr=Ct===z[F-2][1];ir&&(_t===ze||_t===Ze)&&er?Lr?F--:z[F-1]=ct:rr&&(Ct===at||Ct===nt)&&Lr?er?F--:z[F-1]=ct:z[F++]=ct}else z[F++]=ct}function qr(ct){z[F-1][0]!==ct[0]&&z[F-1][1]!==ct[1]&&mr([ye,he]),mr(ct),Oe=null,ye=he=0}var Sr=r.isArrayOrTypedArray(M);function Rr(ct){if(ct&&A&&(ct.i=N,ct.d=s,ct.trace=c,ct.marker=Sr?M[ct.i]:M,ct.backoff=A),re=ct[0]/_,ce=ct[1]/w,st=ct[0]Ze?Ze:0,Me=ct[1]nt?nt:0,st||Me){if(!F)z[F++]=[st||ct[0],Me||ct[1]];else if(Oe){var _t=Wt(Oe,ct);_t.length>1&&(qr(_t[0]),z[F++]=_t[1])}else tt=Wt(z[F-1],ct)[0],z[F++]=tt;var Ct=z[F-1];st&&Me&&(Ct[0]!==st||Ct[1]!==Me)?(Oe&&(ye!==st&&he!==Me?mr(ye&&he?kr(Oe,ct):[ye||st,he||Me]):ye&&he&&mr([ye,he])),mr([st,Me])):ye-st&&he-Me&&mr([st||ye,Me||he]),Oe=ct,ye=st,he=Me}else Oe&&qr(Wt(Oe,ct)[0]),z[F++]=ct}for(N=0;Nbe(X,wt))break;P=X,ee=le[0]*se[0]+le[1]*se[1],ee>V?(V=ee,U=X,$=!1):ee=s.length||!X)break;Rr(X),O=X}}Oe&&mr([ye||Oe[0],he||Oe[1]]),f.push(z.slice(0,F))}var Ne=d.slice(d.length-1);if(A&&Ne!==\"h\"&&Ne!==\"v\"){for(var Ke=!1,Te=-1,Ie=[],Ve=0;Ve=0?n=m:(n=m=c,c++),n0,d=a(m,p,T);if(A=l.selectAll(\"g.trace\").data(d,function(y){return y[0].trace.uid}),A.enter().append(\"g\").attr(\"class\",function(y){return\"trace scatter trace\"+y[0].trace.uid}).style(\"stroke-miterlimit\",2),A.order(),i(m,A,p),b){w&&(M=w());var u=v.transition().duration(_.duration).ease(_.easing).each(\"end\",function(){M&&M()}).each(\"interrupt\",function(){M&&M()});u.each(function(){l.selectAll(\"g.trace\").each(function(y,f){s(m,f,p,y,d,this,_)})})}else A.each(function(y,f){s(m,f,p,y,d,this,_)});g&&A.exit().remove(),l.selectAll(\"path:not([d])\").remove()};function i(c,m,p){m.each(function(T){var l=E(v.select(this),\"g\",\"fills\");t.setClipUrl(l,p.layerClipId,c);var _=T[0].trace;_._ownFill=null,_._nextFill=null;var w=[];_._ownfill&&w.push(\"_ownFill\"),_._nexttrace&&w.push(\"_nextFill\");var A=l.selectAll(\"g\").data(w,e);A.enter().append(\"g\"),A.exit().remove(),A.order().each(function(M){_[M]=E(v.select(this),\"path\",\"js-fill\")})})}function s(c,m,p,T,l,_,w){var A=c._context.staticPlot,M;h(c,m,p,T,l);var g=!!w&&w.duration>0;function b(mr){return g?mr.transition():mr}var d=p.xaxis,u=p.yaxis,y=T[0].trace,f=y.line,R=v.select(_),L=E(R,\"g\",\"errorbars\"),z=E(R,\"g\",\"lines\"),F=E(R,\"g\",\"points\"),N=E(R,\"g\",\"text\");if(x.getComponentMethod(\"errorbars\",\"plot\")(c,L,p,w),y.visible!==!0)return;b(R).style(\"opacity\",y.opacity);var O,P,U=y.fill.charAt(y.fill.length-1);U!==\"x\"&&U!==\"y\"&&(U=\"\");var B,X;U===\"y\"?(B=1,X=u.c2p(0,!0)):U===\"x\"&&(B=0,X=d.c2p(0,!0)),T[0][p.isRangePlot?\"nodeRangePlot3\":\"node3\"]=R;var $=\"\",se=[],le=y._prevtrace,fe=null,V=null;le&&($=le._prevRevpath||\"\",P=le._nextFill,se=le._ownPolygons,fe=le._fillsegments,V=le._fillElement);var Y,ee,q=\"\",oe=\"\",ae,j,Q,re,ce,be,Ae=[];y._polygons=[];var De=[],ze=[],Ze=S.noop;if(O=y._ownFill,r.hasLines(y)||y.fill!==\"none\"){P&&P.datum(T),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(f.shape)!==-1?(ae=t.steps(f.shape),j=t.steps(f.shape.split(\"\").reverse().join(\"\"))):f.shape===\"spline\"?ae=j=function(mr){var qr=mr[mr.length-1];return mr.length>1&&mr[0][0]===qr[0]&&mr[0][1]===qr[1]?t.smoothclosed(mr.slice(1),f.smoothing):t.smoothopen(mr,f.smoothing)}:ae=j=function(mr){return\"M\"+mr.join(\"L\")},Q=function(mr){return j(mr.reverse())},ze=o(T,{xaxis:d,yaxis:u,trace:y,connectGaps:y.connectgaps,baseTolerance:Math.max(f.width||1,3)/4,shape:f.shape,backoff:f.backoff,simplify:f.simplify,fill:y.fill}),De=new Array(ze.length);var at=0;for(M=0;M=A[0]&&R.x<=A[1]&&R.y>=M[0]&&R.y<=M[1]}),u=Math.ceil(d.length/b),y=0;l.forEach(function(R,L){var z=R[0].trace;r.hasMarkers(z)&&z.marker.maxdisplayed>0&&L=Math.min(le,fe)&&p<=Math.max(le,fe)?0:1/0}var V=Math.max(3,se.mrc||0),Y=1-1/V,ee=Math.abs(c.c2p(se.x)-p);return ee=Math.min(le,fe)&&T<=Math.max(le,fe)?0:1/0}var V=Math.max(3,se.mrc||0),Y=1-1/V,ee=Math.abs(m.c2p(se.y)-T);return eeoe!=De>=oe&&(ce=Q[j-1][0],be=Q[j][0],De-Ae&&(re=ce+(be-ce)*(oe-Ae)/(De-Ae),V=Math.min(V,re),Y=Math.max(Y,re)));return V=Math.max(V,0),Y=Math.min(Y,c._length),{x0:V,x1:Y,y0:oe,y1:oe}}if(_.indexOf(\"fills\")!==-1&&h._fillElement){var B=P(h._fillElement)&&!P(h._fillExclusionElement);if(B){var X=U(h._polygons);X===null&&(X={x0:l[0],x1:l[0],y0:l[1],y1:l[1]});var $=e.defaultLine;return e.opacity(h.fillcolor)?$=h.fillcolor:e.opacity((h.line||{}).color)&&($=h.line.color),v.extendFlat(o,{distance:o.maxHoverDistance,x0:X.x0,x1:X.x1,y0:X.y0,y1:X.y1,color:$,hovertemplate:!1}),delete o.index,h.text&&!v.isArrayOrTypedArray(h.text)?o.text=String(h.text):o.text=h.name,[o]}}}}}),c1=Xe({\"src/traces/scatter/select.js\"(Z,G){\"use strict\";var v=Fu();G.exports=function(S,E){var e=S.cd,t=S.xaxis,r=S.yaxis,o=[],a=e[0].trace,n,i,s,h,c=!v.hasMarkers(a)&&!v.hasText(a);if(c)return[];if(E===!1)for(n=0;n0&&(i[\"_\"+a+\"axes\"]||{})[o])return i;if((i[a+\"axis\"]||a)===o){if(t(i,a))return i;if((i[a]||[]).length||i[a+\"0\"])return i}}}function e(r){return{v:\"x\",h:\"y\"}[r.orientation||\"v\"]}function t(r,o){var a=e(r),n=v(r,\"box-violin\"),i=v(r._fullInput||{},\"candlestick\");return n&&!i&&o===a&&r[a]===void 0&&r[a+\"0\"]===void 0}}}),I2=Xe({\"src/plots/cartesian/category_order_defaults.js\"(Z,G){\"use strict\";var v=bp().isTypedArraySpec;function x(S,E){var e=E.dataAttr||S._id.charAt(0),t={},r,o,a;if(E.axData)r=E.axData;else for(r=[],o=0;o0||v(o),n;a&&(n=\"array\");var i=t(\"categoryorder\",n),s;i===\"array\"&&(s=t(\"categoryarray\")),!a&&i===\"array\"&&(i=e.categoryorder=\"trace\"),i===\"trace\"?e._initialCategories=[]:i===\"array\"?e._initialCategories=s.slice():(s=x(e,r).sort(),i===\"category ascending\"?e._initialCategories=s:i===\"category descending\"&&(e._initialCategories=s.reverse()))}}}}),z_=Xe({\"src/plots/cartesian/line_grid_defaults.js\"(Z,G){\"use strict\";var v=Ch().mix,x=sh(),S=sa();G.exports=function(e,t,r,o){o=o||{};var a=o.dfltColor;function n(f,R){return S.coerce2(e,t,o.attributes,f,R)}var i=n(\"linecolor\",a),s=n(\"linewidth\"),h=r(\"showline\",o.showLine||!!i||!!s);h||(delete t.linecolor,delete t.linewidth);var c=v(a,o.bgColor,o.blend||x.lightFraction).toRgbString(),m=n(\"gridcolor\",c),p=n(\"gridwidth\"),T=n(\"griddash\"),l=r(\"showgrid\",o.showGrid||!!m||!!p||!!T);if(l||(delete t.gridcolor,delete t.gridwidth,delete t.griddash),o.hasMinor){var _=v(t.gridcolor,o.bgColor,67).toRgbString(),w=n(\"minor.gridcolor\",_),A=n(\"minor.gridwidth\",t.gridwidth||1),M=n(\"minor.griddash\",t.griddash||\"solid\"),g=r(\"minor.showgrid\",!!w||!!A||!!M);g||(delete t.minor.gridcolor,delete t.minor.gridwidth,delete t.minor.griddash)}if(!o.noZeroLine){var b=n(\"zerolinelayer\"),d=n(\"zerolinecolor\",a),u=n(\"zerolinewidth\"),y=r(\"zeroline\",o.showGrid||!!d||!!u);y||(delete t.zerolinelayer,delete t.zerolinecolor,delete t.zerolinewidth)}}}}),F_=Xe({\"src/plots/cartesian/axis_defaults.js\"(Z,G){\"use strict\";var v=rs(),x=so(),S=sa(),E=zl(),e=hp(),t=Wh(),r=Y0(),o=t1(),a=Qm(),n=e0(),i=I2(),s=z_(),h=h5(),c=wv(),m=lh().WEEKDAY_PATTERN,p=lh().HOUR_PATTERN;G.exports=function(A,M,g,b,d){var u=b.letter,y=b.font||{},f=b.splomStash||{},R=g(\"visible\",!b.visibleDflt),L=M._template||{},z=M.type||L.type||\"-\",F;if(z===\"date\"){var N=x.getComponentMethod(\"calendars\",\"handleDefaults\");N(A,M,\"calendar\",b.calendar),b.noTicklabelmode||(F=g(\"ticklabelmode\"))}!b.noTicklabelindex&&(z===\"date\"||z===\"linear\")&&g(\"ticklabelindex\");var O=\"\";(!b.noTicklabelposition||z===\"multicategory\")&&(O=S.coerce(A,M,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:F===\"period\"?[\"outside\",\"inside\"]:u===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),b.noTicklabeloverflow||g(\"ticklabeloverflow\",O.indexOf(\"inside\")!==-1?\"hide past domain\":z===\"category\"||z===\"multicategory\"?\"allow\":\"hide past div\"),c(M,d),h(A,M,g,b),i(A,M,g,b),b.noHover||(z!==\"category\"&&g(\"hoverformat\"),b.noUnifiedhovertitle||g(\"unifiedhovertitle.text\"));var P=g(\"color\"),U=P!==t.color.dflt?P:y.color,B=f.label||d._dfltTitle[u];if(n(A,M,g,z,b),!R)return M;g(\"title.text\",B),S.coerceFont(g,\"title.font\",y,{overrideDflt:{size:S.bigFont(y.size),color:U}}),r(A,M,g,z);var X=b.hasMinor;if(X&&(E.newContainer(M,\"minor\"),r(A,M,g,z,{isMinor:!0})),a(A,M,g,z,b),o(A,M,g,b),X){var $=b.isMinor;b.isMinor=!0,o(A,M,g,b),b.isMinor=$}s(A,M,g,{dfltColor:P,bgColor:b.bgColor,showGrid:b.showGrid,hasMinor:X,attributes:t}),X&&!M.minor.ticks&&!M.minor.showgrid&&delete M.minor,(M.showline||M.ticks)&&g(\"mirror\");var se=z===\"multicategory\";if(!b.noTickson&&(z===\"category\"||se)&&(M.ticks||M.showgrid)&&(se?(g(\"tickson\",\"boundaries\"),delete M.ticklabelposition):g(\"tickson\")),se){var le=g(\"showdividers\");le&&(g(\"dividercolor\"),g(\"dividerwidth\"))}if(z===\"date\")if(e(A,M,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:T}),!M.rangebreaks.length)delete M.rangebreaks;else{for(var fe=0;fe=2){var u=\"\",y,f;if(d.length===2){for(y=0;y<2;y++)if(f=_(d[y]),f){u=m;break}}var R=g(\"pattern\",u);if(R===m)for(y=0;y<2;y++)f=_(d[y]),f&&(A.bounds[y]=d[y]=f-1);if(R)for(y=0;y<2;y++)switch(f=d[y],R){case m:if(!v(f)){A.enabled=!1;return}if(f=+f,f!==Math.floor(f)||f<0||f>=7){A.enabled=!1;return}A.bounds[y]=d[y]=f;break;case p:if(!v(f)){A.enabled=!1;return}if(f=+f,f<0||f>24){A.enabled=!1;return}A.bounds[y]=d[y]=f;break}if(M.autorange===!1){var L=M.range;if(L[0]L[1]){A.enabled=!1;return}}else if(d[0]>L[0]&&d[1]g[1]-1/4096&&(e.domain=c),x.noneOrAll(E.domain,e.domain,c),e.tickmode===\"sync\"&&(e.tickmode=\"auto\")}return t(\"layer\"),e}}}),Kz=Xe({\"src/plots/cartesian/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=$n(),S=$p().isUnifiedHover,E=x5(),e=zl(),t=$y(),r=Wh(),o=B5(),a=F_(),n=J0(),i=R2(),s=ef(),h=s.id2name,c=s.name2id,m=lh().AX_ID_PATTERN,p=so(),T=p.traceIs,l=p.getComponentMethod;function _(w,A,M){Array.isArray(w[A])?w[A].push(M):w[A]=[M]}G.exports=function(A,M,g){var b=M.autotypenumbers,d={},u={},y={},f={},R={},L={},z={},F={},N={},O={},P,U;for(P=0;P rect\").call(E.setTranslate,0,0).call(E.setScale,1,1),M.plot.call(E.setTranslate,g._offset,b._offset).call(E.setScale,1,1);var d=M.plot.selectAll(\".scatterlayer .trace\");d.selectAll(\".point\").call(E.setPointGroupScale,1,1),d.selectAll(\".textpoint\").call(E.setTextPointsScale,1,1),d.call(E.hideOutsideRangePoints,M)}function h(M,g){var b=M.plotinfo,d=b.xaxis,u=b.yaxis,y=d._length,f=u._length,R=!!M.xr1,L=!!M.yr1,z=[];if(R){var F=S.simpleMap(M.xr0,d.r2l),N=S.simpleMap(M.xr1,d.r2l),O=F[1]-F[0],P=N[1]-N[0];z[0]=(F[0]*(1-g)+g*N[0]-F[0])/(F[1]-F[0])*y,z[2]=y*(1-g+g*P/O),d.range[0]=d.l2r(F[0]*(1-g)+g*N[0]),d.range[1]=d.l2r(F[1]*(1-g)+g*N[1])}else z[0]=0,z[2]=y;if(L){var U=S.simpleMap(M.yr0,u.r2l),B=S.simpleMap(M.yr1,u.r2l),X=U[1]-U[0],$=B[1]-B[0];z[1]=(U[1]*(1-g)+g*B[1]-U[1])/(U[0]-U[1])*f,z[3]=f*(1-g+g*$/X),u.range[0]=d.l2r(U[0]*(1-g)+g*B[0]),u.range[1]=u.l2r(U[1]*(1-g)+g*B[1])}else z[1]=0,z[3]=f;e.drawOne(r,d,{skipTitle:!0}),e.drawOne(r,u,{skipTitle:!0}),e.redrawComponents(r,[d._id,u._id]);var se=R?y/z[2]:1,le=L?f/z[3]:1,fe=R?z[0]:0,V=L?z[1]:0,Y=R?z[0]/z[2]*y:0,ee=L?z[1]/z[3]*f:0,q=d._offset-Y,oe=u._offset-ee;b.clipRect.call(E.setTranslate,fe,V).call(E.setScale,1/se,1/le),b.plot.call(E.setTranslate,q,oe).call(E.setScale,se,le),E.setPointGroupScale(b.zoomScalePts,1/se,1/le),E.setTextPointsScale(b.zoomScaleTxt,1/se,1/le)}var c;n&&(c=n());function m(){for(var M={},g=0;ga.duration?(m(),_=window.cancelAnimationFrame(A)):_=window.requestAnimationFrame(A)}return T=Date.now(),_=window.requestAnimationFrame(A),Promise.resolve()}}}),Kf=Xe({\"src/plots/cartesian/index.js\"(Z){\"use strict\";var G=Hn(),v=so(),x=sa(),S=bc(),E=es(),e=Hh().getModuleCalcData,t=ef(),r=lh(),o=vd(),a=x.ensureSingle;function n(T,l,_){return x.ensureSingle(T,l,_,function(w){w.datum(_)})}var i=r.zindexSeparator;Z.name=\"cartesian\",Z.attr=[\"xaxis\",\"yaxis\"],Z.idRoot=[\"x\",\"y\"],Z.idRegex=r.idRegex,Z.attrRegex=r.attrRegex,Z.attributes=Yz(),Z.layoutAttributes=Wh(),Z.supplyLayoutDefaults=Kz(),Z.transitionAxes=Jz(),Z.finalizeSubplots=function(T,l){var _=l._subplots,w=_.xaxis,A=_.yaxis,M=_.cartesian,g=M,b={},d={},u,y,f;for(u=0;u0){var L=R.id;if(L.indexOf(i)!==-1)continue;L+=i+(u+1),R=x.extendFlat({},R,{id:L,plot:A._cartesianlayer.selectAll(\".subplot\").select(\".\"+L)})}for(var z=[],F,N=0;N1&&(X+=i+B),U.push(b+X),g=0;g1,f=l.mainplotinfo;if(!l.mainplot||y)if(u)l.xlines=a(w,\"path\",\"xlines-above\"),l.ylines=a(w,\"path\",\"ylines-above\"),l.xaxislayer=a(w,\"g\",\"xaxislayer-above\"),l.yaxislayer=a(w,\"g\",\"yaxislayer-above\");else{if(!g){var R=a(w,\"g\",\"layer-subplot\");l.shapelayer=a(R,\"g\",\"shapelayer\"),l.imagelayer=a(R,\"g\",\"imagelayer\"),f&&y?(l.minorGridlayer=f.minorGridlayer,l.gridlayer=f.gridlayer,l.zerolinelayer=f.zerolinelayer):(l.minorGridlayer=a(w,\"g\",\"minor-gridlayer\"),l.gridlayer=a(w,\"g\",\"gridlayer\"),l.zerolinelayer=a(w,\"g\",\"zerolinelayer\"));var L=a(w,\"g\",\"layer-between\");l.shapelayerBetween=a(L,\"g\",\"shapelayer\"),l.imagelayerBetween=a(L,\"g\",\"imagelayer\"),a(w,\"path\",\"xlines-below\"),a(w,\"path\",\"ylines-below\"),l.overlinesBelow=a(w,\"g\",\"overlines-below\"),a(w,\"g\",\"xaxislayer-below\"),a(w,\"g\",\"yaxislayer-below\"),l.overaxesBelow=a(w,\"g\",\"overaxes-below\")}l.overplot=a(w,\"g\",\"overplot\"),l.plot=a(l.overplot,\"g\",A),f&&y?l.zerolinelayerAbove=f.zerolinelayerAbove:l.zerolinelayerAbove=a(w,\"g\",\"zerolinelayer-above\"),g||(l.xlines=a(w,\"path\",\"xlines-above\"),l.ylines=a(w,\"path\",\"ylines-above\"),l.overlinesAbove=a(w,\"g\",\"overlines-above\"),a(w,\"g\",\"xaxislayer-above\"),a(w,\"g\",\"yaxislayer-above\"),l.overaxesAbove=a(w,\"g\",\"overaxes-above\"),l.xlines=w.select(\".xlines-\"+b),l.ylines=w.select(\".ylines-\"+d),l.xaxislayer=w.select(\".xaxislayer-\"+b),l.yaxislayer=w.select(\".yaxislayer-\"+d))}else{var z=f.plotgroup,F=A+\"-x\",N=A+\"-y\";l.minorGridlayer=f.minorGridlayer,l.gridlayer=f.gridlayer,l.zerolinelayer=f.zerolinelayer,l.zerolinelayerAbove=f.zerolinelayerAbove,a(f.overlinesBelow,\"path\",F),a(f.overlinesBelow,\"path\",N),a(f.overaxesBelow,\"g\",F),a(f.overaxesBelow,\"g\",N),l.plot=a(f.overplot,\"g\",A),a(f.overlinesAbove,\"path\",F),a(f.overlinesAbove,\"path\",N),a(f.overaxesAbove,\"g\",F),a(f.overaxesAbove,\"g\",N),l.xlines=z.select(\".overlines-\"+b).select(\".\"+F),l.ylines=z.select(\".overlines-\"+d).select(\".\"+N),l.xaxislayer=z.select(\".overaxes-\"+b).select(\".\"+F),l.yaxislayer=z.select(\".overaxes-\"+d).select(\".\"+N)}g||(u||(n(l.minorGridlayer,\"g\",l.xaxis._id),n(l.minorGridlayer,\"g\",l.yaxis._id),l.minorGridlayer.selectAll(\"g\").map(function(O){return O[0]}).sort(t.idSort),n(l.gridlayer,\"g\",l.xaxis._id),n(l.gridlayer,\"g\",l.yaxis._id),l.gridlayer.selectAll(\"g\").map(function(O){return O[0]}).sort(t.idSort)),l.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),l.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function m(T,l){if(T){var _={};T.each(function(d){var u=d[0],y=G.select(this);y.remove(),p(u,l),_[u]=!0});for(var w in l._plots)for(var A=l._plots[w],M=A.overlays||[],g=0;g=0,l=n.indexOf(\"end\")>=0,_=h.backoff*m+i.standoff,w=c.backoff*p+i.startstandoff,A,M,g,b;if(s.nodeName===\"line\"){A={x:+a.attr(\"x1\"),y:+a.attr(\"y1\")},M={x:+a.attr(\"x2\"),y:+a.attr(\"y2\")};var d=A.x-M.x,u=A.y-M.y;if(g=Math.atan2(u,d),b=g+Math.PI,_&&w&&_+w>Math.sqrt(d*d+u*u)){X();return}if(_){if(_*_>d*d+u*u){X();return}var y=_*Math.cos(g),f=_*Math.sin(g);M.x+=y,M.y+=f,a.attr({x2:M.x,y2:M.y})}if(w){if(w*w>d*d+u*u){X();return}var R=w*Math.cos(g),L=w*Math.sin(g);A.x-=R,A.y-=L,a.attr({x1:A.x,y1:A.y})}}else if(s.nodeName===\"path\"){var z=s.getTotalLength(),F=\"\";if(z<_+w){X();return}var N=s.getPointAtLength(0),O=s.getPointAtLength(.1);g=Math.atan2(N.y-O.y,N.x-O.x),A=s.getPointAtLength(Math.min(w,z)),F=\"0px,\"+w+\"px,\";var P=s.getPointAtLength(z),U=s.getPointAtLength(z-.1);b=Math.atan2(P.y-U.y,P.x-U.x),M=s.getPointAtLength(Math.max(0,z-_));var B=F?w+_:_;F+=z-B+\"px,\"+z+\"px\",a.style(\"stroke-dasharray\",F)}function X(){a.style(\"stroke-dasharray\",\"0px,100px\")}function $(se,le,fe,V){se.path&&(se.noRotate&&(fe=0),v.select(s.parentNode).append(\"path\").attr({class:a.attr(\"class\"),d:se.path,transform:r(le.x,le.y)+t(fe*180/Math.PI)+e(V)}).style({fill:x.rgb(i.arrowcolor),\"stroke-width\":0}))}T&&$(c,A,g,p),l&&$(h,M,b,m)}}}),D2=Xe({\"src/components/annotations/draw.js\"(Z,G){\"use strict\";var v=Hn(),x=so(),S=bc(),E=sa(),e=E.strTranslate,t=Go(),r=$n(),o=es(),a=rf(),n=ou(),i=Kd(),s=Ap(),h=zl().arrayEditor,c=Qz();G.exports={draw:m,drawOne:p,drawRaw:l};function m(_){var w=_._fullLayout;w._infolayer.selectAll(\".annotation\").remove();for(var A=0;A2/3?Ca=\"right\":Ca=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Ca]}for(var tt=!1,ot=[\"x\",\"y\"],Qe=0;Qe1)&&(qt===It?(Pe=Wt.r2fraction(w[\"a\"+Pt]),(Pe<0||Pe>1)&&(tt=!0)):tt=!0),Ke=Wt._offset+Wt.r2p(w[Pt]),Ve=.5}else{var ft=Ee===\"domain\";Pt===\"x\"?(Ie=w[Pt],Ke=ft?Wt._offset+Wt._length*Ie:Ke=u.l+u.w*Ie):(Ie=1-w[Pt],Ke=ft?Wt._offset+Wt._length*Ie:Ke=u.t+u.h*Ie),Ve=w.showarrow?.5:Ie}if(w.showarrow){Ne.head=Ke;var ct=w[\"a\"+Pt];if(Ce=mr*Oe(.5,w.xanchor)-qr*Oe(.5,w.yanchor),qt===It){var _t=t.getRefType(qt);_t===\"domain\"?(Pt===\"y\"&&(ct=1-ct),Ne.tail=Wt._offset+Wt._length*ct):_t===\"paper\"?Pt===\"y\"?(ct=1-ct,Ne.tail=u.t+u.h*ct):Ne.tail=u.l+u.w*ct:Ne.tail=Wt._offset+Wt.r2p(ct),Te=Ce}else Ne.tail=Ke+ct,Te=Ce+ct;Ne.text=Ne.tail+Ce;var Ct=d[Pt===\"x\"?\"width\":\"height\"];if(It===\"paper\"&&(Ne.head=E.constrain(Ne.head,1,Ct-1)),qt===\"pixel\"){var ir=-Math.max(Ne.tail-3,Ne.text),rr=Math.min(Ne.tail+3,Ne.text)-Ct;ir>0?(Ne.tail+=ir,Ne.text+=ir):rr>0&&(Ne.tail-=rr,Ne.text-=rr)}Ne.tail+=wt,Ne.head+=wt}else Ce=Sr*Oe(Ve,Rr),Te=Ce,Ne.text=Ke+Ce;Ne.text+=wt,Ce+=wt,Te+=wt,w[\"_\"+Pt+\"padplus\"]=Sr/2+Te,w[\"_\"+Pt+\"padminus\"]=Sr/2-Te,w[\"_\"+Pt+\"size\"]=Sr,w[\"_\"+Pt+\"shift\"]=Ce}if(tt){fe.remove();return}var er=0,Lr=0;if(w.align!==\"left\"&&(er=(st-nt)*(w.align===\"center\"?.5:1)),w.valign!==\"top\"&&(Lr=(Me-rt)*(w.valign===\"middle\"?.5:1)),Ze)ze.select(\"svg\").attr({x:ee+er-1,y:ee+Lr}).call(o.setClipUrl,oe?O:null,_);else{var fa=ee+Lr-at.top,Da=ee+er-at.left;re.call(n.positionText,Da,fa).call(o.setClipUrl,oe?O:null,_)}ae.select(\"rect\").call(o.setRect,ee,ee,st,Me),q.call(o.setRect,V/2,V/2,ye-V,he-V),fe.call(o.setTranslate,Math.round(P.x.text-ye/2),Math.round(P.y.text-he/2)),X.attr({transform:\"rotate(\"+U+\",\"+P.x.text+\",\"+P.y.text+\")\"});var Ia=function(Wa,Ca){B.selectAll(\".annotation-arrow-g\").remove();var hi=P.x.head,wi=P.y.head,Kt=P.x.tail+Wa,Ft=P.y.tail+Ca,Yt=P.x.text+Wa,Jt=P.y.text+Ca,Fr=E.rotationXYMatrix(U,Yt,Jt),ta=E.apply2DTransform(Fr),ra=E.apply2DTransform2(Fr),ca=+q.attr(\"width\"),Ba=+q.attr(\"height\"),$a=Yt-.5*ca,Za=$a+ca,ri=Jt-.5*Ba,pi=ri+Ba,Ra=[[$a,ri,$a,pi],[$a,pi,Za,pi],[Za,pi,Za,ri],[Za,ri,$a,ri]].map(ra);if(!Ra.reduce(function(xt,Xt){return xt^!!E.segmentsIntersect(hi,wi,hi+1e6,wi+1e6,Xt[0],Xt[1],Xt[2],Xt[3])},!1)){Ra.forEach(function(xt){var Xt=E.segmentsIntersect(Kt,Ft,hi,wi,xt[0],xt[1],xt[2],xt[3]);Xt&&(Kt=Xt.x,Ft=Xt.y)});var tn=w.arrowwidth,on=w.arrowcolor,hn=w.arrowside,Tt=B.append(\"g\").style({opacity:r.opacity(on)}).classed(\"annotation-arrow-g\",!0),ut=Tt.append(\"path\").attr(\"d\",\"M\"+Kt+\",\"+Ft+\"L\"+hi+\",\"+wi).style(\"stroke-width\",tn+\"px\").call(r.stroke,r.rgb(on));if(c(ut,hn,w),y.annotationPosition&&ut.node().parentNode&&!M){var Br=hi,Cr=wi;if(w.standoff){var xr=Math.sqrt(Math.pow(hi-Kt,2)+Math.pow(wi-Ft,2));Br+=w.standoff*(Kt-hi)/xr,Cr+=w.standoff*(Ft-wi)/xr}var Ir=Tt.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(Kt-Br)+\",\"+(Ft-Cr),transform:e(Br,Cr)}).style(\"stroke-width\",tn+6+\"px\").call(r.stroke,\"rgba(0,0,0,0)\").call(r.fill,\"rgba(0,0,0,0)\"),Ur,Hr;s.init({element:Ir.node(),gd:_,prepFn:function(){var xt=o.getTranslate(fe);Ur=xt.x,Hr=xt.y,g&&g.autorange&&z(g._name+\".autorange\",!0),b&&b.autorange&&z(b._name+\".autorange\",!0)},moveFn:function(xt,Xt){var vr=ta(Ur,Hr),Or=vr[0]+xt,ba=vr[1]+Xt;fe.call(o.setTranslate,Or,ba),F(\"x\",T(g,xt,\"x\",u,w)),F(\"y\",T(b,Xt,\"y\",u,w)),w.axref===w.xref&&F(\"ax\",T(g,xt,\"ax\",u,w)),w.ayref===w.yref&&F(\"ay\",T(b,Xt,\"ay\",u,w)),Tt.attr(\"transform\",e(xt,Xt)),X.attr({transform:\"rotate(\"+U+\",\"+Or+\",\"+ba+\")\"})},doneFn:function(){x.call(\"_guiRelayout\",_,N());var xt=document.querySelector(\".js-notes-box-panel\");xt&&xt.redraw(xt.selectedObj)}})}}};if(w.showarrow&&Ia(0,0),$){var qa;s.init({element:fe.node(),gd:_,prepFn:function(){qa=X.attr(\"transform\")},moveFn:function(Wa,Ca){var hi=\"pointer\";if(w.showarrow)w.axref===w.xref?F(\"ax\",T(g,Wa,\"ax\",u,w)):F(\"ax\",w.ax+Wa),w.ayref===w.yref?F(\"ay\",T(b,Ca,\"ay\",u.w,w)):F(\"ay\",w.ay+Ca),Ia(Wa,Ca);else{if(M)return;var wi,Kt;if(g)wi=T(g,Wa,\"x\",u,w);else{var Ft=w._xsize/u.w,Yt=w.x+(w._xshift-w.xshift)/u.w-Ft/2;wi=s.align(Yt+Wa/u.w,Ft,0,1,w.xanchor)}if(b)Kt=T(b,Ca,\"y\",u,w);else{var Jt=w._ysize/u.h,Fr=w.y-(w._yshift+w.yshift)/u.h-Jt/2;Kt=s.align(Fr-Ca/u.h,Jt,0,1,w.yanchor)}F(\"x\",wi),F(\"y\",Kt),(!g||!b)&&(hi=s.getCursor(g?.5:wi,b?.5:Kt,w.xanchor,w.yanchor))}X.attr({transform:e(Wa,Ca)+qa}),i(fe,hi)},clickFn:function(Wa,Ca){w.captureevents&&_.emit(\"plotly_clickannotation\",le(Ca))},doneFn:function(){i(fe),x.call(\"_guiRelayout\",_,N());var Wa=document.querySelector(\".js-notes-box-panel\");Wa&&Wa.redraw(Wa.selectedObj)}})}}y.annotationText?re.call(n.makeEditable,{delegate:fe,gd:_}).call(ce).on(\"edit\",function(Ae){w.text=Ae,this.call(ce),F(\"text\",Ae),g&&g.autorange&&z(g._name+\".autorange\",!0),b&&b.autorange&&z(b._name+\".autorange\",!0),x.call(\"_guiRelayout\",_,N())}):re.call(ce)}}}),e9=Xe({\"src/components/annotations/click.js\"(Z,G){\"use strict\";var v=sa(),x=so(),S=zl().arrayEditor;G.exports={hasClickToShow:E,onClick:e};function E(o,a){var n=t(o,a);return n.on.length>0||n.explicitOff.length>0}function e(o,a){var n=t(o,a),i=n.on,s=n.off.concat(n.explicitOff),h={},c=o._fullLayout.annotations,m,p;if(i.length||s.length){for(m=0;m1){i=!0;break}}i?e.fullLayout._infolayer.select(\".annotation-\"+e.id+'[data-index=\"'+a+'\"]').remove():(n._pdata=x(e.glplot.cameraParams,[t.xaxis.r2l(n.x)*r[0],t.yaxis.r2l(n.y)*r[1],t.zaxis.r2l(n.z)*r[2]]),v(e.graphDiv,n,a,e.id,n._xa,n._ya))}}}}),l9=Xe({\"src/components/annotations3d/index.js\"(Z,G){\"use strict\";var v=so(),x=sa();G.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:z2()}}},layoutAttributes:z2(),handleDefaults:n9(),includeBasePlot:S,convert:o9(),draw:s9()};function S(E,e){var t=v.subplotsRegistry.gl3d;if(t)for(var r=t.attrRegex,o=Object.keys(E),a=0;a{var f=y+\"anchor\",R=y===\"x\"?_:w,L={_fullLayout:n},z,F,N,O;let P=y+\"ref\",U=o[P];if(Array.isArray(U)&&U.length>0){let B=e.countDefiningCoords(p,c,y);O=x.coerceRefArray(o,a,L,y,void 0,\"paper\",B),a[\"_\"+y+\"refArray\"]=!0}else O=x.coerceRef(o,a,L,y,void 0,\"paper\");if(Array.isArray(O))O.forEach(function(B){x.getRefType(B)===\"range\"&&(z=x.getFromId(L,B),z&&z._shapeIndices.indexOf(a._index)===-1&&z._shapeIndices.push(a._index))}),T&&[0,1].forEach(function(B){let X=O[B];x.getRefType(X)===\"range\"?(z=x.getFromId(L,X),F=e.shapePositionToRange(z),N=e.rangeToShapePosition(z),(z.type===\"category\"||z.type===\"multicategory\")&&i(y+B+\"shift\")):F=N=v.identity;let se=y+B,le=o[se];if(o[se]=F(o[se],!0),R===\"pixel\"?i(se,M[B]):x.coercePosition(a,L,i,X,se,A[B]),a[se]=N(a[se]),o[se]=le,B===0&&R===\"pixel\"){let fe=o[f];o[f]=F(o[f],!0),x.coercePosition(a,L,i,X,f,.25),a[f]=N(a[f]),o[f]=fe}});else{if(x.getRefType(O)===\"range\"?(z=x.getFromId(L,O),z._shapeIndices.push(a._index),N=e.rangeToShapePosition(z),F=e.shapePositionToRange(z),T&&(z.type===\"category\"||z.type===\"multicategory\")&&(i(y+\"0shift\"),i(y+\"1shift\"))):F=N=v.identity,T){let X=y+\"0\",$=y+\"1\",se=o[X],le=o[$];o[X]=F(o[X],!0),o[$]=F(o[$],!0),R===\"pixel\"?(i(X,M[0]),i($,M[1])):(x.coercePosition(a,L,i,O,X,A[0]),x.coercePosition(a,L,i,O,$,A[1])),a[X]=N(a[X]),a[$]=N(a[$]),o[X]=se,o[$]=le}if(R===\"pixel\"){let X=o[f];o[f]=F(o[f],!0),x.coercePosition(a,L,i,O,f,.25),a[f]=N(a[f]),o[f]=X}}}),T&&v.noneOrAll(o,a,[\"x0\",\"x1\",\"y0\",\"y1\"]);var g=p===\"line\",b,d;if(T&&(b=i(\"label.texttemplate\"),i(\"label.texttemplatefallback\")),b||(d=i(\"label.text\")),d||b){i(\"label.textangle\");var u=i(\"label.textposition\",g?\"middle\":\"middle center\");i(\"label.xanchor\"),i(\"label.yanchor\",t(g,u)),i(\"label.padding\"),v.coerceFont(i,\"label.font\",n.font)}}}}),c9=Xe({\"src/components/shapes/draw_newshape/defaults.js\"(Z,G){\"use strict\";var v=$n(),x=sa();function S(E,e){return E?\"bottom\":e.indexOf(\"top\")!==-1?\"top\":e.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}G.exports=function(e,t,r){r(\"newshape.visible\"),r(\"newshape.name\"),r(\"newshape.showlegend\"),r(\"newshape.legend\"),r(\"newshape.legendwidth\"),r(\"newshape.legendgroup\"),r(\"newshape.legendgrouptitle.text\"),x.coerceFont(r,\"newshape.legendgrouptitle.font\"),r(\"newshape.legendrank\"),r(\"newshape.drawdirection\"),r(\"newshape.layer\"),r(\"newshape.fillcolor\"),r(\"newshape.fillrule\"),r(\"newshape.opacity\");var o=r(\"newshape.line.width\");if(o){var a=(e||{}).plot_bgcolor||\"#FFF\";r(\"newshape.line.color\",v.contrast(a)),r(\"newshape.line.dash\")}var n=e.dragmode===\"drawline\",i=r(\"newshape.label.text\"),s=r(\"newshape.label.texttemplate\");if(r(\"newshape.label.texttemplatefallback\"),i||s){r(\"newshape.label.textangle\");var h=r(\"newshape.label.textposition\",n?\"middle\":\"middle center\");r(\"newshape.label.xanchor\"),r(\"newshape.label.yanchor\",S(n,h)),r(\"newshape.label.padding\"),x.coerceFont(r,\"newshape.label.font\",t.font)}r(\"activeshape.fillcolor\"),r(\"activeshape.opacity\")}}}),f9=Xe({\"src/components/shapes/calc_autorange.js\"(Z,G){\"use strict\";var v=sa(),x=Go(),S=L_(),E=a0();G.exports=function(i){var s=i._fullLayout,h=v.filterVisible(s.shapes);if(!(!h.length||!i._fullData.length))for(var c=0;c{p=x.getFromId(i,A),m._extremes[p._id]=x.findExtremes(p,M,t(m))})}else m.xref!==\"paper\"&&l!==\"domain\"&&(p=x.getFromId(i,m.xref),T=a(p,m,S.paramIsX),T&&(m._extremes[p._id]=x.findExtremes(p,T,t(m))));if(_===\"array\"){let w=e(i,m,\"y\");Object.entries(w).forEach(([A,M])=>{p=x.getFromId(i,A),m._extremes[p._id]=x.findExtremes(p,M,r(m))})}else m.yref!==\"paper\"&&_!==\"domain\"&&(p=x.getFromId(i,m.yref),T=a(p,m,S.paramIsY),T&&(m._extremes[p._id]=x.findExtremes(p,T,r(m))))}};function e(n,i,s){let h=i[s+\"ref\"],c=s===\"x\"?S.paramIsX:S.paramIsY;function m(A,M){A===\"paper\"||x.getRefType(A)===\"domain\"||(p[A]||(p[A]=[]),p[A].push(M))}let p={};if(i.type===\"path\"&&i.path){let A=i.path.match(S.segmentRE)||[];for(var T=0,l=0;lb&&(m(h[T],d[b]),T++)}}else m(h[0],i[s+\"0\"]),m(h[1],i[s+\"1\"]);let _={};for(let A in p){let M=x.getFromId(n,A);if(M){var w=M.type===\"category\"||M.type===\"multicategory\"?M.r2c:M.d2c;M.type===\"date\"&&(w=E.decodeDate(w)),_[M._id]=p[A].map(w)}}return _}function t(n){return o(n.line.width,n.xsizemode,n.x0,n.x1,n.path,!1)}function r(n){return o(n.line.width,n.ysizemode,n.y0,n.y1,n.path,!0)}function o(n,i,s,h,c,m){var p=n/2,T=m;if(i===\"pixel\"){var l=c?E.extractPathCoords(c,m?S.paramIsY:S.paramIsX):[s,h],_=v.aggNums(Math.max,null,l),w=v.aggNums(Math.min,null,l),A=w<0?Math.abs(w)+p:p,M=_>0?_+p:p;return{ppad:p,ppadplus:T?A:M,ppadminus:T?M:A}}else return{ppad:p}}function a(n,i,s){var h=n._id.charAt(0)===\"x\"?\"x\":\"y\",c=n.type===\"category\"||n.type===\"multicategory\",m,p,T=0,l=0,_=c?n.r2c:n.d2c,w=i[h+\"sizemode\"]===\"scaled\";if(w?(m=i[h+\"0\"],p=i[h+\"1\"],c&&(T=i[h+\"0shift\"],l=i[h+\"1shift\"])):(m=i[h+\"anchor\"],p=i[h+\"anchor\"]),m!==void 0)return[_(m)+T,_(p)+l];if(i.path){var A=1/0,M=-1/0,g=i.path.match(S.segmentRE),b,d,u,y,f;for(n.type===\"date\"&&(_=E.decodeDate(_)),b=0;bM&&(M=f)));if(M>=A)return[A,M]}}}}),h9=Xe({\"src/components/shapes/index.js\"(Z,G){\"use strict\";var v=E2();G.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:j5(),supplyLayoutDefaults:u9(),supplyDrawNewShapeDefaults:c9(),includeBasePlot:D_()(\"shapes\"),calcAutorange:f9(),draw:v.draw,drawOne:v.drawOne}}}),q5=Xe({\"src/components/images/attributes.js\"(Z,G){\"use strict\";var v=lh(),x=zl().templatedArray,S=R_();G.exports=x(\"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\",v.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",v.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})}}),p9=Xe({\"src/components/images/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Go(),S=hp(),E=q5(),e=\"images\";G.exports=function(o,a){var n={name:e,handleItemDefaults:t};S(o,a,n)};function t(r,o,a){function n(_,w){return v.coerce(r,o,E,_,w)}var i=n(\"source\"),s=n(\"visible\",!!i);if(!s)return o;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var h={_fullLayout:a},c=[\"x\",\"y\"],m=0;m<2;m++){var p=c[m],T=x.coerceRef(r,o,h,p,\"paper\",void 0);if(T!==\"paper\"){var l=x.getFromId(h,T);l._imgIndices.push(o._index)}x.coercePosition(o,h,n,T,p,0)}return o}}}),d9=Xe({\"src/components/images/draw.js\"(Z,G){\"use strict\";var v=Hn(),x=es(),S=Go(),E=ef(),e=vd();G.exports=function(r){var o=r._fullLayout,a=[],n={},i=[],s,h;for(h=0;h0);c&&(s(\"active\"),s(\"direction\"),s(\"type\"),s(\"showactive\"),s(\"x\"),s(\"y\"),v.noneOrAll(a,n,[\"x\",\"y\"]),s(\"xanchor\"),s(\"yanchor\"),s(\"pad.t\"),s(\"pad.r\"),s(\"pad.b\"),s(\"pad.l\"),v.coerceFont(s,\"font\",i.font),s(\"bgcolor\",i.paper_bgcolor),s(\"bordercolor\"),s(\"borderwidth\"))}function o(a,n){function i(h,c){return v.coerce(a,n,t,h,c)}var s=i(\"visible\",a.method===\"skip\"||Array.isArray(a.args));s&&(i(\"method\"),i(\"args\"),i(\"args2\"),i(\"label\"),i(\"execute\"))}}}),y9=Xe({\"src/components/updatemenus/scrollbox.js\"(Z,G){\"use strict\";G.exports=e;var v=Hn(),x=$n(),S=es(),E=sa();function e(t,r,o){this.gd=t,this.container=r,this.id=o,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})}e.barWidth=2,e.barLength=20,e.barRadius=2,e.barPad=1,e.barColor=\"#808BA4\",e.prototype.enable=function(r,o,a){var n=this.gd._fullLayout,i=n.width,s=n.height;this.position=r;var h=this.position.l,c=this.position.w,m=this.position.t,p=this.position.h,T=this.position.direction,l=T===\"down\",_=T===\"left\",w=T===\"right\",A=T===\"up\",M=c,g=p,b,d,u,y;!l&&!_&&!w&&!A&&(this.position.direction=\"down\",l=!0);var f=l||A;f?(b=h,d=b+M,l?(u=m,y=Math.min(u+g,s),g=y-u):(y=m+g,u=Math.max(y-g,0),g=y-u)):(u=m,y=u+g,_?(d=h+M,b=Math.max(d-M,0),M=d-b):(b=h,d=Math.min(b+M,i),M=d-b)),this._box={l:b,t:u,w:M,h:g};var R=c>M,L=e.barLength+2*e.barPad,z=e.barWidth+2*e.barPad,F=h,N=m+p;N+z>s&&(N=s-z);var O=this.container.selectAll(\"rect.scrollbar-horizontal\").data(R?[0]:[]);O.exit().on(\".drag\",null).remove(),O.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(x.fill,e.barColor),R?(this.hbar=O.attr({rx:e.barRadius,ry:e.barRadius,x:F,y:N,width:L,height:z}),this._hbarXMin=F+L/2,this._hbarTranslateMax=M-L):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var P=p>g,U=e.barWidth+2*e.barPad,B=e.barLength+2*e.barPad,X=h+c,$=m;X+U>i&&(X=i-U);var se=this.container.selectAll(\"rect.scrollbar-vertical\").data(P?[0]:[]);se.exit().on(\".drag\",null).remove(),se.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(x.fill,e.barColor),P?(this.vbar=se.attr({rx:e.barRadius,ry:e.barRadius,x:X,y:$,width:U,height:B}),this._vbarYMin=$+B/2,this._vbarTranslateMax=g-B):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var le=this.id,fe=b-.5,V=P?d+U+.5:d+.5,Y=u-.5,ee=R?y+z+.5:y+.5,q=n._topdefs.selectAll(\"#\"+le).data(R||P?[0]:[]);if(q.exit().remove(),q.enter().append(\"clipPath\").attr(\"id\",le).append(\"rect\"),R||P?(this._clipRect=q.select(\"rect\").attr({x:Math.floor(fe),y:Math.floor(Y),width:Math.ceil(V)-Math.floor(fe),height:Math.ceil(ee)-Math.floor(Y)}),this.container.call(S.setClipUrl,le,this.gd),this.bg.attr({x:h,y:m,width:c,height:p})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(S.setClipUrl,null),delete this._clipRect),R||P){var oe=v.behavior.drag().on(\"dragstart\",function(){v.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(oe);var ae=v.behavior.drag().on(\"dragstart\",function(){v.event.sourceEvent.preventDefault(),v.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));R&&this.hbar.on(\".drag\",null).call(ae),P&&this.vbar.on(\".drag\",null).call(ae)}this.setTranslate(o,a)},e.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(S.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)},e.prototype._onBoxDrag=function(){var r=this.translateX,o=this.translateY;this.hbar&&(r-=v.event.dx),this.vbar&&(o-=v.event.dy),this.setTranslate(r,o)},e.prototype._onBoxWheel=function(){var r=this.translateX,o=this.translateY;this.hbar&&(r+=v.event.deltaY),this.vbar&&(o+=v.event.deltaY),this.setTranslate(r,o)},e.prototype._onBarDrag=function(){var r=this.translateX,o=this.translateY;if(this.hbar){var a=r+this._hbarXMin,n=a+this._hbarTranslateMax,i=E.constrain(v.event.x,a,n),s=(i-a)/(n-a),h=this.position.w-this._box.w;r=s*h}if(this.vbar){var c=o+this._vbarYMin,m=c+this._vbarTranslateMax,p=E.constrain(v.event.y,c,m),T=(p-c)/(m-c),l=this.position.h-this._box.h;o=T*l}this.setTranslate(r,o)},e.prototype.setTranslate=function(r,o){var a=this.position.w-this._box.w,n=this.position.h-this._box.h;if(r=E.constrain(r||0,0,a),o=E.constrain(o||0,0,n),this.translateX=r,this.translateY=o,this.container.call(S.setTranslate,this._box.l-this.position.l-r,this._box.t-this.position.t-o),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+r-.5),y:Math.floor(this.position.t+o-.5)}),this.hbar){var i=r/a;this.hbar.call(S.setTranslate,r+i*this._hbarTranslateMax,o)}if(this.vbar){var s=o/n;this.vbar.call(S.setTranslate,r,o+s*this._vbarTranslateMax)}}}}),_9=Xe({\"src/components/updatemenus/draw.js\"(Z,G){\"use strict\";var v=Hn(),x=bc(),S=$n(),E=es(),e=sa(),t=ou(),r=zl().arrayEditor,o=uh().LINE_SPACING,a=F2(),n=y9();G.exports=function(L){var z=L._fullLayout,F=e.filterVisible(z[a.name]);function N(le){x.autoMargin(L,u(le))}var O=z._menulayer.selectAll(\"g.\"+a.containerClassName).data(F.length>0?[0]:[]);if(O.enter().append(\"g\").classed(a.containerClassName,!0).style(\"cursor\",\"pointer\"),O.exit().each(function(){v.select(this).selectAll(\"g.\"+a.headerGroupClassName).each(N)}).remove(),F.length!==0){var P=O.selectAll(\"g.\"+a.headerGroupClassName).data(F,i);P.enter().append(\"g\").classed(a.headerGroupClassName,!0);for(var U=e.ensureSingle(O,\"g\",a.dropdownButtonGroupClassName,function(le){le.style(\"pointer-events\",\"all\")}),B=0;B0?[0]:[]);X.enter().append(\"g\").classed(a.containerClassName,!0).style(\"cursor\",P?null:\"ew-resize\");function $(V){V._commandObserver&&(V._commandObserver.remove(),delete V._commandObserver),x.autoMargin(O,c(V))}if(X.exit().each(function(){v.select(this).selectAll(\"g.\"+a.groupClassName).each($)}).remove(),B.length!==0){var se=X.selectAll(\"g.\"+a.groupClassName).data(B,p);se.enter().append(\"g\").classed(a.groupClassName,!0),se.exit().each($).remove();for(var le=0;le0&&(se=se.transition().duration(O.transition.duration).ease(O.transition.easing)),se.attr(\"transform\",t($-a.gripWidth*.5,O._dims.currentValueTotalHeight))}}function R(N,O){var P=N._dims;return P.inputAreaStart+a.stepInset+(P.inputAreaLength-2*a.stepInset)*Math.min(1,Math.max(0,O))}function L(N,O){var P=N._dims;return Math.min(1,Math.max(0,(O-a.stepInset-P.inputAreaStart)/(P.inputAreaLength-2*a.stepInset-2*P.inputAreaStart)))}function z(N,O,P){var U=P._dims,B=e.ensureSingle(N,\"rect\",a.railTouchRectClass,function(X){X.call(d,O,N,P).style(\"pointer-events\",\"all\")});B.attr({width:U.inputAreaLength,height:Math.max(U.inputAreaWidth,a.tickOffset+P.ticklen+U.labelHeight)}).call(S.fill,P.bgcolor).attr(\"opacity\",0),E.setTranslate(B,0,U.currentValueTotalHeight)}function F(N,O){var P=O._dims,U=P.inputAreaLength-a.railInset*2,B=e.ensureSingle(N,\"rect\",a.railRectClass);B.attr({width:U,height:a.railWidth,rx:a.railRadius,ry:a.railRadius,\"shape-rendering\":\"crispEdges\"}).call(S.stroke,O.bordercolor).call(S.fill,O.bgcolor).style(\"stroke-width\",O.borderwidth+\"px\"),E.setTranslate(B,a.railInset,(P.inputAreaWidth-a.railWidth)*.5+P.currentValueTotalHeight)}}}),T9=Xe({\"src/components/sliders/index.js\"(Z,G){\"use strict\";var v=O_();G.exports={moduleType:\"component\",name:v.name,layoutAttributes:G5(),supplyLayoutDefaults:b9(),draw:w9()}}}),O2=Xe({\"src/components/rangeslider/attributes.js\"(Z,G){\"use strict\";var v=sh();G.exports={bgcolor:{valType:\"color\",dflt:v.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:v.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\"}}}),H5=Xe({\"src/components/rangeslider/oppaxis_attributes.js\"(Z,G){\"use strict\";G.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\"}}}),B2=Xe({\"src/components/rangeslider/constants.js\"(Z,G){\"use strict\";G.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}}}),A9=Xe({\"src/components/rangeslider/helpers.js\"(Z){\"use strict\";var G=ef(),v=ou(),x=B2(),S=uh().LINE_SPACING,E=x.name;function e(t){var r=t&&t[E];return r&&r.visible}Z.isVisible=e,Z.makeData=function(t){for(var r=G.list({_fullLayout:t},\"x\",!0),o=t.margin,a=[],n=0;n=nt.max)Ze=ce[at+1];else if(ze=nt.pmax)Ze=ce[at+1];else if(ze0?d.touches[0].clientX:0}function m(d,u,y,f){if(u._context.staticPlot)return;var R=d.select(\"rect.\"+h.slideBoxClassName).node(),L=d.select(\"rect.\"+h.grabAreaMinClassName).node(),z=d.select(\"rect.\"+h.grabAreaMaxClassName).node();function F(){var N=v.event,O=N.target,P=c(N),U=P-d.node().getBoundingClientRect().left,B=f.d2p(y._rl[0]),X=f.d2p(y._rl[1]),$=i.coverSlip();this.addEventListener(\"touchmove\",se),this.addEventListener(\"touchend\",le),$.addEventListener(\"mousemove\",se),$.addEventListener(\"mouseup\",le);function se(fe){var V=c(fe),Y=+V-P,ee,q,oe;switch(O){case R:if(oe=\"ew-resize\",B+Y>y._length||X+Y<0)return;ee=B+Y,q=X+Y;break;case L:if(oe=\"col-resize\",B+Y>y._length)return;ee=B+Y,q=X;break;case z:if(oe=\"col-resize\",X+Y<0)return;ee=B,q=X+Y;break;default:oe=\"ew-resize\",ee=U,q=U+Y;break}if(q0);if(_){var w=o(i,s,h);T(\"x\",w[0]),T(\"y\",w[1]),v.noneOrAll(n,i,[\"x\",\"y\"]),T(\"xanchor\"),T(\"yanchor\"),v.coerceFont(T,\"font\",s.font);var A=T(\"bgcolor\");T(\"activecolor\",x.contrast(A,t.lightAmount,t.darkAmount)),T(\"bordercolor\"),T(\"borderwidth\")}};function r(a,n,i,s){var h=s.calendar;function c(T,l){return v.coerce(a,n,e.buttons,T,l)}var m=c(\"visible\");if(m){var p=c(\"step\");p!==\"all\"&&(h&&h!==\"gregorian\"&&(p===\"month\"||p===\"year\")?n.stepmode=\"backward\":c(\"stepmode\"),c(\"count\")),c(\"label\")}}function o(a,n,i){for(var s=i.filter(function(p){return n[p].anchor===a._id}),h=0,c=0;c1)){delete h.grid;return}if(!T&&!l&&!_){var y=b(\"pattern\")===\"independent\";y&&(T=!0)}g._hasSubplotGrid=T;var f=b(\"roworder\"),R=f===\"top to bottom\",L=T?.2:.1,z=T?.3:.1,F,N;w&&h._splomGridDflt&&(F=h._splomGridDflt.xside,N=h._splomGridDflt.yside),g._domains={x:a(\"x\",b,L,F,u),y:a(\"y\",b,z,N,d,R)}}function a(s,h,c,m,p,T){var l=h(s+\"gap\",c),_=h(\"domain.\"+s);h(s+\"side\",m);for(var w=new Array(p),A=_[0],M=(_[1]-A)/(p-l),g=M*(1-l),b=0;b0,m=r._context.staticPlot;o.each(function(p){var T=p[0].trace,l=T.error_x||{},_=T.error_y||{},w;T.ids&&(w=function(b){return b.id});var A=E.hasMarkers(T)&&T.marker.maxdisplayed>0;!_.visible&&!l.visible&&(p=[]);var M=v.select(this).selectAll(\"g.errorbar\").data(p,w);if(M.exit().remove(),!!p.length){l.visible||M.selectAll(\"path.xerror\").remove(),_.visible||M.selectAll(\"path.yerror\").remove(),M.style(\"opacity\",1);var g=M.enter().append(\"g\").classed(\"errorbar\",!0);c&&g.style(\"opacity\",0).transition().duration(n.duration).style(\"opacity\",1),S.setClipUrl(M,a.layerClipId,r),M.each(function(b){var d=v.select(this),u=e(b,s,h);if(!(A&&!b.vis)){var y,f=d.select(\"path.yerror\");if(_.visible&&x(u.x)&&x(u.yh)&&x(u.ys)){var R=_.width;y=\"M\"+(u.x-R)+\",\"+u.yh+\"h\"+2*R+\"m-\"+R+\",0V\"+u.ys,u.noYS||(y+=\"m-\"+R+\",0h\"+2*R),i=!f.size(),i?f=d.append(\"path\").style(\"vector-effect\",m?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):c&&(f=f.transition().duration(n.duration).ease(n.easing)),f.attr(\"d\",y)}else f.remove();var L=d.select(\"path.xerror\");if(l.visible&&x(u.y)&&x(u.xh)&&x(u.xs)){var z=(l.copy_ystyle?_:l).width;y=\"M\"+u.xh+\",\"+(u.y-z)+\"v\"+2*z+\"m0,-\"+z+\"H\"+u.xs,u.noXS||(y+=\"m0,-\"+z+\"v\"+2*z),i=!L.size(),i?L=d.append(\"path\").style(\"vector-effect\",m?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):c&&(L=L.transition().duration(n.duration).ease(n.easing)),L.attr(\"d\",y)}else L.remove()}})}})};function e(t,r,o){var a={x:r.c2p(t.x),y:o.c2p(t.y)};return t.yh!==void 0&&(a.yh=o.c2p(t.yh),a.ys=o.c2p(t.ys),x(a.ys)||(a.noYS=!0,a.ys=o.c2p(t.ys,!0))),t.xh!==void 0&&(a.xh=r.c2p(t.xh),a.xs=r.c2p(t.xs),x(a.xs)||(a.noXS=!0,a.xs=r.c2p(t.xs,!0))),a}}}),F9=Xe({\"src/components/errorbars/style.js\"(Z,G){\"use strict\";var v=Hn(),x=$n();G.exports=function(E){E.each(function(e){var t=e[0].trace,r=t.error_y||{},o=t.error_x||{},a=v.select(this);a.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(x.stroke,r.color),o.copy_ystyle&&(o=r),a.selectAll(\"path.xerror\").style(\"stroke-width\",o.thickness+\"px\").call(x.stroke,o.color)})}}}),O9=Xe({\"src/components/errorbars/index.js\"(Z,G){\"use strict\";var v=sa(),x=pc().overrideAll,S=Z5(),E={error_x:v.extendFlat({},S),error_y:v.extendFlat({},S)};delete E.error_x.copy_zstyle,delete E.error_y.copy_zstyle,delete E.error_y.copy_ystyle;var e={error_x:v.extendFlat({},S),error_y:v.extendFlat({},S),error_z:v.extendFlat({},S)};delete e.error_x.copy_ystyle,delete e.error_y.copy_ystyle,delete e.error_z.copy_ystyle,delete e.error_z.copy_zstyle,G.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:E,bar:E,histogram:E,scatter3d:x(e,\"calc\",\"nested\"),scattergl:x(E,\"calc\",\"nested\")}},supplyDefaults:R9(),calc:D9(),makeComputeError:Y5(),plot:z9(),style:F9(),hoverInfo:t};function t(r,o,a){(o.error_y||{}).visible&&(a.yerr=r.yh-r.y,o.error_y.symmetric||(a.yerrneg=r.y-r.ys)),(o.error_x||{}).visible&&(a.xerr=r.xh-r.x,o.error_x.symmetric||(a.xerrneg=r.x-r.xs))}}}),B9=Xe({\"src/components/colorbar/constants.js\"(Z,G){\"use strict\";G.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\"}}}}),N9=Xe({\"src/components/colorbar/draw.js\"(Z,G){\"use strict\";var v=Hn(),x=Ch(),S=bc(),E=so(),e=Go(),t=Ap(),r=sa(),o=r.strTranslate,a=Qo().extendFlat,n=Kd(),i=es(),s=$n(),h=K0(),c=ou(),m=wp().flipScale,p=F_(),T=R2(),l=Wh(),_=uh(),w=_.LINE_SPACING,A=_.FROM_TL,M=_.FROM_BR,g=B9().cn;function b(L){var z=L._fullLayout,F=z._infolayer.selectAll(\"g.\"+g.colorbar).data(d(L),function(N){return N._id});F.enter().append(\"g\").attr(\"class\",function(N){return N._id}).classed(g.colorbar,!0),F.each(function(N){var O=v.select(this);r.ensureSingle(O,\"rect\",g.cbbg),r.ensureSingle(O,\"g\",g.cbfills),r.ensureSingle(O,\"g\",g.cblines),r.ensureSingle(O,\"g\",g.cbaxis,function(U){U.classed(g.crisp,!0)}),r.ensureSingle(O,\"g\",g.cbtitleunshift,function(U){U.append(\"g\").classed(g.cbtitle,!0)}),r.ensureSingle(O,\"rect\",g.cboutline);var P=u(O,N,L);P&&P.then&&(L._promises||[]).push(P),L._context.edits.colorbarPosition&&y(O,N,L)}),F.exit().each(function(N){S.autoMargin(L,N._id)}).remove(),F.order()}function d(L){var z=L._fullLayout,F=L.calcdata,N=[],O,P,U,B;function X(j){return a(j,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function $(){typeof B.calc==\"function\"?B.calc(L,U,O):(O._fillgradient=P.reversescale?m(P.colorscale):P.colorscale,O._zrange=[P[B.min],P[B.max]])}for(var se=0;se1){var Ne=Math.pow(10,Math.floor(Math.log(wt)/Math.LN10));Sr*=Ne*r.roundUp(wt/Ne,[2,5,10]),(Math.abs(at.start)/at.size+1e-6)%1<2e-6&&(mr.tick0=0)}mr.dtick=Sr}mr.domain=N?[Wt+Y/Q.h,Wt+Oe-Y/Q.h]:[Wt+V/Q.w,Wt+Oe-V/Q.w],mr.setScale(),L.attr(\"transform\",o(Math.round(Q.l),Math.round(Q.t)));var Ke=L.select(\".\"+g.cbtitleunshift).attr(\"transform\",o(-Math.round(Q.l),-Math.round(Q.t))),Te=mr.ticklabelposition,Ie=mr.title.font.size,Ve=L.select(\".\"+g.cbaxis),Ce,Ee=0,Pe=0;function ft(rr,er){var Lr={propContainer:mr,propName:z._propPrefix+\"title.text\",traceIndex:z._traceIndex,_meta:z._meta,placeholder:j._dfltTitle.colorbar,containerGroup:L.select(\".\"+g.cbtitle)},fa=rr.charAt(0)===\"h\"?rr.slice(1):\"h\"+rr;L.selectAll(\".\"+fa+\",.\"+fa+\"-math-group\").remove(),h.draw(F,rr,a(Lr,er||{}))}function ct(){if(N&&qr||!N&&!qr){var rr,er;Ae===\"top\"&&(rr=V+Q.l+tt*ee,er=Y+Q.t+ot*(1-Wt-Oe)+3+Ie*.75),Ae===\"bottom\"&&(rr=V+Q.l+tt*ee,er=Y+Q.t+ot*(1-Wt)-3-Ie*.25),Ae===\"right\"&&(er=Y+Q.t+ot*q+3+Ie*.75,rr=V+Q.l+tt*Wt),ft(mr._id+\"title\",{attributes:{x:rr,y:er,\"text-anchor\":N?\"start\":\"middle\"}})}}function _t(){if(N&&!qr||!N&&qr){var rr=mr.position||0,er=mr._offset+mr._length/2,Lr,fa;if(Ae===\"right\")fa=er,Lr=Q.l+tt*rr+10+Ie*(mr.showticklabels?1:.5);else if(Lr=er,Ae===\"bottom\"&&(fa=Q.t+ot*rr+10+(Te.indexOf(\"inside\")===-1?mr.tickfont.size:0)+(mr.ticks!==\"inside\"&&z.ticklen||0)),Ae===\"top\"){var Da=be.text.split(\"
\").length;fa=Q.t+ot*rr+10-Me-w*Ie*Da}ft((N?\"h\":\"v\")+mr._id+\"title\",{avoid:{selection:v.select(F).selectAll(\"g.\"+mr._id+\"tick\"),side:Ae,offsetTop:N?0:Q.t,offsetLeft:N?Q.l:0,maxShift:N?j.width:j.height},attributes:{x:Lr,y:fa,\"text-anchor\":\"middle\"},transform:{rotate:N?-90:0,offset:0}})}}function Ct(){if(!N&&!qr||N&&qr){var rr=L.select(\".\"+g.cbtitle),er=rr.select(\"text\"),Lr=[-X/2,X/2],fa=rr.select(\".h\"+mr._id+\"title-math-group\").node(),Da=15.6;er.node()&&(Da=parseInt(er.node().style.fontSize,10)*w);var Ia;if(fa?(Ia=i.bBox(fa),Pe=Ia.width,Ee=Ia.height,Ee>Da&&(Lr[1]-=(Ee-Da)/2)):er.node()&&!er.classed(g.jsPlaceholder)&&(Ia=i.bBox(er.node()),Pe=Ia.width,Ee=Ia.height),N){if(Ee){if(Ee+=5,Ae===\"top\")mr.domain[1]-=Ee/Q.h,Lr[1]*=-1;else{mr.domain[0]+=Ee/Q.h;var qa=c.lineCount(er);Lr[1]+=(1-qa)*Da}rr.attr(\"transform\",o(Lr[0],Lr[1])),mr.setScale()}}else Pe&&(Ae===\"right\"&&(mr.domain[0]+=(Pe+Ie/2)/Q.w),rr.attr(\"transform\",o(Lr[0],Lr[1])),mr.setScale())}L.selectAll(\".\"+g.cbfills+\",.\"+g.cblines).attr(\"transform\",N?o(0,Math.round(Q.h*(1-mr.domain[1]))):o(Math.round(Q.w*mr.domain[0]),0)),Ve.attr(\"transform\",N?o(0,Math.round(-Q.t)):o(Math.round(-Q.l),0));var Wa=L.select(\".\"+g.cbfills).selectAll(\"rect.\"+g.cbfill).attr(\"style\",\"\").data(rt);Wa.enter().append(\"rect\").classed(g.cbfill,!0).attr(\"style\",\"\"),Wa.exit().remove();var Ca=De.map(mr.c2p).map(Math.round).sort(function(Yt,Jt){return Yt-Jt});Wa.each(function(Yt,Jt){var Fr=[Jt===0?De[0]:(rt[Jt]+rt[Jt-1])/2,Jt===rt.length-1?De[1]:(rt[Jt]+rt[Jt+1])/2].map(mr.c2p).map(Math.round);N&&(Fr[1]=r.constrain(Fr[1]+(Fr[1]>Fr[0])?1:-1,Ca[0],Ca[1]));var ta=v.select(this).attr(N?\"x\":\"y\",Qe).attr(N?\"y\":\"x\",v.min(Fr)).attr(N?\"width\":\"height\",Math.max(Me,2)).attr(N?\"height\":\"width\",Math.max(v.max(Fr)-v.min(Fr),2));if(z._fillgradient)i.gradient(ta,F,z._id,N?\"vertical\":\"horizontalreversed\",z._fillgradient,\"fill\");else{var ra=Ze(Yt).replace(\"e-\",\"\");ta.attr(\"fill\",x(ra).toHexString())}});var hi=L.select(\".\"+g.cblines).selectAll(\"path.\"+g.cbline).data(ce.color&&ce.width?st:[]);hi.enter().append(\"path\").classed(g.cbline,!0),hi.exit().remove(),hi.each(function(Yt){var Jt=Qe,Fr=Math.round(mr.c2p(Yt))+ce.width/2%1;v.select(this).attr(\"d\",\"M\"+(N?Jt+\",\"+Fr:Fr+\",\"+Jt)+(N?\"h\":\"v\")+Me).call(i.lineGroupStyle,ce.width,ze(Yt),ce.dash)}),Ve.selectAll(\"g.\"+mr._id+\"tick,path\").remove();var wi=Qe+Me+(X||0)/2-(z.ticks===\"outside\"?1:0),Kt=e.calcTicks(mr),Ft=e.getTickSigns(mr)[2];return e.drawTicks(F,mr,{vals:mr.ticks===\"inside\"?e.clipEnds(mr,Kt):Kt,layer:Ve,path:e.makeTickPath(mr,wi,Ft),transFn:e.makeTransTickFn(mr)}),e.drawLabels(F,mr,{vals:Kt,layer:Ve,transFn:e.makeTransTickLabelFn(mr),labelFns:e.makeLabelFns(mr,wi)})}function ir(){var rr,er=Me+X/2;Te.indexOf(\"inside\")===-1&&(rr=i.bBox(Ve.node()),er+=N?rr.width:rr.height),Ce=Ke.select(\"text\");var Lr=0,fa=N&&Ae===\"top\",Da=!N&&Ae===\"right\",Ia=0;if(Ce.node()&&!Ce.classed(g.jsPlaceholder)){var qa,Wa=Ke.select(\".h\"+mr._id+\"title-math-group\").node();Wa&&(N&&qr||!N&&!qr)?(rr=i.bBox(Wa),Lr=rr.width,qa=rr.height):(rr=i.bBox(Ke.node()),Lr=rr.right-Q.l-(N?Qe:kr),qa=rr.bottom-Q.t-(N?kr:Qe),!N&&Ae===\"top\"&&(er+=rr.height,Ia=rr.height)),Da&&(Ce.attr(\"transform\",o(Lr/2+Ie/2,0)),Lr*=2),er=Math.max(er,N?Lr:qa)}var Ca=(N?V:Y)*2+er+$+X/2,hi=0;!N&&be.text&&fe===\"bottom\"&&q<=0&&(hi=Ca/2,Ca+=hi,Ia+=hi),j._hColorbarMoveTitle=hi,j._hColorbarMoveCBTitle=Ia;var wi=$+X,Kt=(N?Qe:kr)-wi/2-(N?V:0),Ft=(N?kr:Qe)-(N?he:Y+Ia-hi);L.select(\".\"+g.cbbg).attr(\"x\",Kt).attr(\"y\",Ft).attr(N?\"width\":\"height\",Math.max(Ca-hi,2)).attr(N?\"height\":\"width\",Math.max(he+wi,2)).call(s.fill,se).call(s.stroke,z.bordercolor).style(\"stroke-width\",$);var Yt=Da?Math.max(Lr-10,0):0;L.selectAll(\".\"+g.cboutline).attr(\"x\",(N?Qe:kr+V)+Yt).attr(\"y\",(N?kr+Y-he:Qe)+(fa?Ee:0)).attr(N?\"width\":\"height\",Math.max(Me,2)).attr(N?\"height\":\"width\",Math.max(he-(N?2*Y+Ee:2*V+Yt),2)).call(s.stroke,z.outlinecolor).style({fill:\"none\",\"stroke-width\":X});var Jt=N?Pt*Ca:0,Fr=N?0:(1-It)*Ca-Ia;if(Jt=ae?Q.l-Jt:-Jt,Fr=oe?Q.t-Fr:-Fr,L.attr(\"transform\",o(Jt,Fr)),!N&&($||x(se).getAlpha()&&!x.equals(j.paper_bgcolor,se))){var ta=Ve.selectAll(\"text\"),ra=ta[0].length,ca=L.select(\".\"+g.cbbg).node(),Ba=i.bBox(ca),$a=i.getTranslate(L),Za=2;ta.each(function(Cr,xr){var Ir=0,Ur=ra-1;if(xr===Ir||xr===Ur){var Hr=i.bBox(this),xt=i.getTranslate(this),Xt;if(xr===Ur){var vr=Hr.right+xt.x,Or=Ba.right+$a.x+kr-$-Za+ee;Xt=Or-vr,Xt>0&&(Xt=0)}else if(xr===Ir){var ba=Hr.left+xt.x,Pa=Ba.left+$a.x+kr+$+Za;Xt=Pa-ba,Xt<0&&(Xt=0)}Xt&&(ra<3?this.setAttribute(\"transform\",\"translate(\"+Xt+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var ri={},pi=A[le],Ra=M[le],tn=A[fe],on=M[fe],hn=Ca-Me;N?(P===\"pixels\"?(ri.y=q,ri.t=he*tn,ri.b=he*on):(ri.t=ri.b=0,ri.yt=q+O*tn,ri.yb=q-O*on),B===\"pixels\"?(ri.x=ee,ri.l=Ca*pi,ri.r=Ca*Ra):(ri.l=hn*pi,ri.r=hn*Ra,ri.xl=ee-U*pi,ri.xr=ee+U*Ra)):(P===\"pixels\"?(ri.x=ee,ri.l=he*pi,ri.r=he*Ra):(ri.l=ri.r=0,ri.xl=ee+O*pi,ri.xr=ee-O*Ra),B===\"pixels\"?(ri.y=1-q,ri.t=Ca*tn,ri.b=Ca*on):(ri.t=hn*tn,ri.b=hn*on,ri.yt=q-U*tn,ri.yb=q+U*on));var Tt=z.y<.5?\"b\":\"t\",ut=z.x<.5?\"l\":\"r\";F._fullLayout._reservedMargin[z._id]={};var Br={r:j.width-Kt-Jt,l:Kt+ri.r,b:j.height-Ft-Fr,t:Ft+ri.b};ae&&oe?S.autoMargin(F,z._id,ri):ae?F._fullLayout._reservedMargin[z._id][Tt]=Br[Tt]:oe||N?F._fullLayout._reservedMargin[z._id][ut]=Br[ut]:F._fullLayout._reservedMargin[z._id][Tt]=Br[Tt]}return r.syncOrAsync([S.previousPromises,ct,Ct,_t,S.previousPromises,ir],F)}function y(L,z,F){var N=z.orientation===\"v\",O=F._fullLayout,P=O._size,U,B,X;t.init({element:L.node(),gd:F,prepFn:function(){U=L.attr(\"transform\"),n(L)},moveFn:function($,se){L.attr(\"transform\",U+o($,se)),B=t.align((N?z._uFrac:z._vFrac)+$/P.w,N?z._thickFrac:z._lenFrac,0,1,z.xanchor),X=t.align((N?z._vFrac:1-z._uFrac)-se/P.h,N?z._lenFrac:z._thickFrac,0,1,z.yanchor);var le=t.getCursor(B,X,z.xanchor,z.yanchor);n(L,le)},doneFn:function(){if(n(L),B!==void 0&&X!==void 0){var $={};$[z._propPrefix+\"x\"]=B,$[z._propPrefix+\"y\"]=X,z._traceIndex!==void 0?E.call(\"_guiRestyle\",F,$,z._traceIndex):E.call(\"_guiRelayout\",F,$)}}})}function f(L,z,F){var N=z._levels,O=[],P=[],U,B,X=N.end+N.size/100,$=N.size,se=1.001*F[0]-.001*F[1],le=1.001*F[1]-.001*F[0];for(B=0;B<1e5&&(U=N.start+B*$,!($>0?U>=X:U<=X));B++)U>se&&U0?U>=X:U<=X));B++)U>F[0]&&U-1}G.exports=function(o,a){var n,i=o.data,s=o.layout,h=E([],i),c=E({},s,e(a.tileClass)),m=o._context||{};if(a.width&&(c.width=a.width),a.height&&(c.height=a.height),a.tileClass===\"thumbnail\"||a.tileClass===\"themes__thumb\"){c.annotations=[];var p=Object.keys(c);for(n=0;n=0)return m}else if(typeof m==\"string\"&&(m=m.trim(),m.slice(-1)===\"%\"&&v(m.slice(0,-1))&&(m=+m.slice(0,-1),m>=0)))return m+\"%\"}function c(m,p,T,l,_,w){w=w||{};var A=w.moduleHasSelected!==!1,M=w.moduleHasUnselected!==!1,g=w.moduleHasConstrain!==!1,b=w.moduleHasCliponaxis!==!1,d=w.moduleHasTextangle!==!1,u=w.moduleHasInsideanchor!==!1,y=!!w.hasPathbar,f=Array.isArray(_)||_===\"auto\",R=f||_===\"inside\",L=f||_===\"outside\";if(R||L){var z=n(l,\"textfont\",T.font),F=x.extendFlat({},z),N=m.textfont&&m.textfont.color,O=!N;if(O&&delete F.color,n(l,\"insidetextfont\",F),y){var P=x.extendFlat({},z);O&&delete P.color,n(l,\"pathbar.textfont\",P)}L&&n(l,\"outsidetextfont\",z),A&&l(\"selected.textfont.color\"),M&&l(\"unselected.textfont.color\"),g&&l(\"constraintext\"),b&&l(\"cliponaxis\"),d&&l(\"textangle\"),l(\"texttemplate\"),l(\"texttemplatefallback\")}R&&u&&l(\"insidetextanchor\")}G.exports={supplyDefaults:i,crossTraceDefaults:s,handleText:c,validateCornerradius:h}}}),J5=Xe({\"src/traces/bar/layout_defaults.js\"(Z,G){\"use strict\";var v=so(),x=Go(),S=sa(),E=U2(),e=gd().validateCornerradius;G.exports=function(t,r,o){function a(A,M){return S.coerce(t,r,E,A,M)}for(var n=!1,i=!1,s=!1,h={},c=a(\"barmode\"),m=c===\"group\",p=0;p0&&!h[l]&&(s=!0),h[l]=!0),T.visible&&T.type===\"histogram\"){var _=x.getFromId({_fullLayout:r},T[T.orientation===\"v\"?\"xaxis\":\"yaxis\"]);_.type!==\"category\"&&(i=!0)}}if(!n){delete r.barmode;return}c!==\"overlay\"&&a(\"barnorm\"),a(\"bargap\",i&&!s?0:.2),a(\"bargroupgap\");var w=a(\"barcornerradius\");r.barcornerradius=e(w)}}}),B_=Xe({\"src/traces/bar/arrays_to_calcdata.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E){for(var e=0;e g.point\"}o.selectAll(h).each(function(c){var m=c.transform;if(m){m.scale=s&&m.hide?0:i/m.fontSize;var p=v.select(this).select(\"text\");x.setTransormAndDisplay(p,m)}})}}function E(r,o,a){if(a.uniformtext.mode){var n=t(r),i=a.uniformtext.minsize,s=o.scale*o.fontSize;o.hide=sr;if(!o)return E}return e!==void 0?e:S.dflt},Z.coerceColor=function(S,E,e){return v(E).isValid()?E:e!==void 0?e:S.dflt},Z.coerceEnumerated=function(S,E,e){return S.coerceNumber&&(E=+E),S.values.indexOf(E)!==-1?E:e!==void 0?e:S.dflt},Z.getValue=function(S,E){var e;return x(S)?E1||y.bargap===0&&y.bargroupgap===0&&!f[0].trace.marker.line.width)&&v.select(this).attr(\"shape-rendering\",\"crispEdges\")}),d.selectAll(\"g.points\").each(function(f){var R=v.select(this),L=f[0].trace;h(R,L,b)}),e.getComponentMethod(\"errorbars\",\"style\")(d)}function h(b,d,u){S.pointStyle(b.selectAll(\"path\"),d,u),c(b,d,u)}function c(b,d,u){b.selectAll(\"text\").each(function(y){var f=v.select(this),R=E.ensureUniformFontSize(u,l(f,y,d,u));S.font(f,R)})}function m(b,d,u){var y=d[0].trace;y.selectedpoints?p(u,y,b):(h(u,y,b),e.getComponentMethod(\"errorbars\",\"style\")(u))}function p(b,d,u){S.selectedPointStyle(b.selectAll(\"path\"),d),T(b.selectAll(\"text\"),d,u)}function T(b,d,u){b.each(function(y){var f=v.select(this),R;if(y.selected){R=E.ensureUniformFontSize(u,l(f,y,d,u));var L=d.selected.textfont&&d.selected.textfont.color;L&&(R.color=L),S.font(f,R)}else S.selectedTextStyle(f,d)})}function l(b,d,u,y){var f=y._fullLayout.font,R=u.textfont;if(b.classed(\"bartext-inside\")){var L=g(d,u);R=w(u,d.i,f,L)}else b.classed(\"bartext-outside\")&&(R=A(u,d.i,f));return R}function _(b,d,u){return M(o,b.textfont,d,u)}function w(b,d,u,y){var f=_(b,d,u),R=b._input.textfont===void 0||b._input.textfont.color===void 0||Array.isArray(b.textfont.color)&&b.textfont.color[d]===void 0;return R&&(f={color:x.contrast(y),family:f.family,size:f.size,weight:f.weight,style:f.style,variant:f.variant,textcase:f.textcase,lineposition:f.lineposition,shadow:f.shadow}),M(a,b.insidetextfont,d,f)}function A(b,d,u){var y=_(b,d,u);return M(n,b.outsidetextfont,d,y)}function M(b,d,u,y){d=d||{};var f=i.getValue(d.family,u),R=i.getValue(d.size,u),L=i.getValue(d.color,u),z=i.getValue(d.weight,u),F=i.getValue(d.style,u),N=i.getValue(d.variant,u),O=i.getValue(d.textcase,u),P=i.getValue(d.lineposition,u),U=i.getValue(d.shadow,u);return{family:i.coerceString(b.family,f,y.family),size:i.coerceNumber(b.size,R,y.size),color:i.coerceColor(b.color,L,y.color),weight:i.coerceString(b.weight,z,y.weight),style:i.coerceString(b.style,F,y.style),variant:i.coerceString(b.variant,N,y.variant),textcase:i.coerceString(b.variant,O,y.textcase),lineposition:i.coerceString(b.variant,P,y.lineposition),shadow:i.coerceString(b.variant,U,y.shadow)}}function g(b,d){return d.type===\"waterfall\"?d[b.dir].marker.color:b.mcc||b.mc||d.marker.color}G.exports={style:s,styleTextPoints:c,styleOnSelect:m,getInsideTextFont:w,getOutsideTextFont:A,getBarColor:g,resizeText:t}}}),tg=Xe({\"src/traces/bar/plot.js\"(Z,G){\"use strict\";var v=Hn(),x=rs(),S=sa(),E=ou(),e=$n(),t=es(),r=so(),o=Go().tickText,a=Sp(),n=a.recordMinTextSize,i=a.clearMinTextSize,s=Nd(),h=q2(),c=i0(),m=Sv(),p=m.text,T=m.textposition,l=$p().appendArrayPointValue,_=c.TEXTPAD;function w($){return $.id}function A($){if($.ids)return w}function M($){return($>0)-($<0)}function g($,se){return $0}function y($,se,le,fe,V,Y){var ee=se.xaxis,q=se.yaxis,oe=$._fullLayout,ae=$._context.staticPlot;V||(V={mode:oe.barmode,norm:oe.barmode,gap:oe.bargap,groupgap:oe.bargroupgap},i(\"bar\",oe));var j=S.makeTraceGroups(fe,le,\"trace bars\").each(function(Q){var re=v.select(this),ce=Q[0].trace,be=Q[0].t,Ae=ce.type===\"waterfall\",De=ce.type===\"funnel\",ze=ce.type===\"histogram\",Ze=ce.type===\"bar\",at=Ze||De,nt=0;Ae&&ce.connector.visible&&ce.connector.mode===\"between\"&&(nt=ce.connector.line.width/2);var rt=ce.orientation===\"h\",st=u(V),Me=S.ensureSingle(re,\"g\",\"points\"),ye=A(ce),he=Me.selectAll(\"g.point\").data(S.identity,ye);he.enter().append(\"g\").classed(\"point\",!0),he.exit().remove(),he.each(function(tt,ot){var Qe=v.select(this),Pt=b(tt,ee,q,rt),It=Pt[0][0],qt=Pt[0][1],Wt=Pt[1][0],kr=Pt[1][1],mr=(rt?qt-It:kr-Wt)===0;mr&&at&&h.getLineWidth(ce,tt)&&(mr=!1),mr||(mr=!x(It)||!x(qt)||!x(Wt)||!x(kr)),tt.isBlank=mr,mr&&(rt?qt=It:kr=Wt),nt&&!mr&&(rt?(It-=g(It,qt)*nt,qt+=g(It,qt)*nt):(Wt-=g(Wt,kr)*nt,kr+=g(Wt,kr)*nt));var qr,Sr;if(ce.type===\"waterfall\"){if(!mr){var Rr=ce[tt.dir].marker;qr=Rr.line.width,Sr=Rr.color}}else qr=h.getLineWidth(ce,tt),Sr=tt.mc||ce.marker.color;function wt(wi){var Kt=v.round(qr/2%1,2);return V.gap===0&&V.groupgap===0?v.round(Math.round(wi)-Kt,2):wi}function Ne(wi,Kt,Ft){return Ft&&wi===Kt?wi:Math.abs(wi-Kt)>=2?wt(wi):wi>Kt?Math.ceil(wi):Math.floor(wi)}var Ke=e.opacity(Sr),Te=Ke<1||qr>.01?wt:Ne;$._context.staticPlot||(It=Te(It,qt,rt),qt=Te(qt,It,rt),Wt=Te(Wt,kr,!rt),kr=Te(kr,Wt,!rt));var Ie=rt?ee.c2p:q.c2p,Ve;tt.s0>0?Ve=tt._sMax:tt.s0<0?Ve=tt._sMin:Ve=tt.s1>0?tt._sMax:tt._sMin;function Ce(wi,Kt){if(!wi)return 0;var Ft=Math.abs(rt?kr-Wt:qt-It),Yt=Math.abs(rt?qt-It:kr-Wt),Jt=Te(Math.abs(Ie(Ve,!0)-Ie(0,!0))),Fr=tt.hasB?Math.min(Ft/2,Yt/2):Math.min(Ft/2,Jt),ta;if(Kt===\"%\"){var ra=Math.min(50,wi);ta=Ft*(ra/100)}else ta=wi;return Te(Math.max(Math.min(ta,Fr),0))}var Ee=Ze||ze?Ce(be.cornerradiusvalue,be.cornerradiusform):0,Pe,ft,ct=\"M\"+It+\",\"+Wt+\"V\"+kr+\"H\"+qt+\"V\"+Wt+\"Z\",_t=0;if(Ee&&tt.s){var Ct=M(tt.s0)===0||M(tt.s)===M(tt.s0)?tt.s1:tt.s0;if(_t=Te(tt.hasB?0:Math.abs(Ie(Ve,!0)-Ie(Ct,!0))),_t0?Math.sqrt(_t*(2*Ee-_t)):0,Da=ir>0?Math.max:Math.min;Pe=\"M\"+It+\",\"+Wt+\"V\"+(kr-Lr*rr)+\"H\"+Da(qt-(Ee-_t)*ir,It)+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+qt+\",\"+(kr-Ee*rr-fa)+\"V\"+(Wt+Ee*rr+fa)+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+Da(qt-(Ee-_t)*ir,It)+\",\"+(Wt+Lr*rr)+\"Z\"}else if(tt.hasB)Pe=\"M\"+(It+Ee*ir)+\",\"+Wt+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+It+\",\"+(Wt+Ee*rr)+\"V\"+(kr-Ee*rr)+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+(It+Ee*ir)+\",\"+kr+\"H\"+(qt-Ee*ir)+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+qt+\",\"+(kr-Ee*rr)+\"V\"+(Wt+Ee*rr)+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+(qt-Ee*ir)+\",\"+Wt+\"Z\";else{ft=Math.abs(kr-Wt)+_t;var Ia=ft0?Math.sqrt(_t*(2*Ee-_t)):0,Wa=rr>0?Math.max:Math.min;Pe=\"M\"+(It+Ia*ir)+\",\"+Wt+\"V\"+Wa(kr-(Ee-_t)*rr,Wt)+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+(It+Ee*ir-qa)+\",\"+kr+\"H\"+(qt-Ee*ir+qa)+\"A \"+Ee+\",\"+Ee+\" 0 0 \"+er+\" \"+(qt-Ia*ir)+\",\"+Wa(kr-(Ee-_t)*rr,Wt)+\"V\"+Wt+\"Z\"}}else Pe=ct}else Pe=ct;var Ca=d(S.ensureSingle(Qe,\"path\"),oe,V,Y);if(Ca.style(\"vector-effect\",ae?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((qt-It)*(kr-Wt))||mr&&$._context.staticPlot?\"M0,0Z\":Pe).call(t.setClipUrl,se.layerClipId,$),!oe.uniformtext.mode&&st){var hi=t.makePointStyleFns(ce);t.singlePointStyle(tt,Ca,ce,hi,$)}f($,se,Qe,Q,ot,It,qt,Wt,kr,Ee,_t,V,Y),se.layerClipId&&t.hideOutsideRangePoint(tt,Qe.select(\"text\"),ee,q,ce.xcalendar,ce.ycalendar)});var Oe=ce.cliponaxis===!1;t.setClipUrl(re,Oe?null:se.layerClipId,$)});r.getComponentMethod(\"errorbars\",\"plot\")($,j,se,V)}function f($,se,le,fe,V,Y,ee,q,oe,ae,j,Q,re){var ce=se.xaxis,be=se.yaxis,Ae=$._fullLayout,De;function ze(ft,ct,_t){var Ct=S.ensureSingle(ft,\"text\").text(ct).attr({class:\"bartext bartext-\"+De,\"text-anchor\":\"middle\",\"data-notex\":1}).call(t.font,_t).call(E.convertToTspans,$);return Ct}var Ze=fe[0].trace,at=Ze.orientation===\"h\",nt=P(Ae,fe,V,ce,be);De=U(Ze,V);var rt=Q.mode===\"stack\"||Q.mode===\"relative\",st=fe[V],Me=!rt||st._outmost,ye=st.hasB,he=ae&&ae-j>_;if(!nt||De===\"none\"||(st.isBlank||Y===ee||q===oe)&&(De===\"auto\"||De===\"inside\")){le.select(\"text\").remove();return}var Oe=Ae.font,tt=s.getBarColor(fe[V],Ze),ot=s.getInsideTextFont(Ze,V,Oe,tt),Qe=s.getOutsideTextFont(Ze,V,Oe),Pt=Ze.insidetextanchor||\"end\",It=le.datum();at?ce.type===\"log\"&&It.s0<=0&&(ce.range[0]0&&wt>0,Te;he?ye?Te=R(kr-2*ae,mr,Rr,wt,at)||R(kr,mr-2*ae,Rr,wt,at):at?Te=R(kr-(ae-j),mr,Rr,wt,at)||R(kr,mr-2*(ae-j),Rr,wt,at):Te=R(kr,mr-(ae-j),Rr,wt,at)||R(kr-2*(ae-j),mr,Rr,wt,at):Te=R(kr,mr,Rr,wt,at),Ke&&Te?De=\"inside\":(De=\"outside\",qr.remove(),qr=null)}else De=\"inside\";if(!qr){Ne=S.ensureUniformFontSize($,De===\"outside\"?Qe:ot),qr=ze(le,nt,Ne);var Ie=qr.attr(\"transform\");if(qr.attr(\"transform\",\"\"),Sr=t.bBox(qr.node()),Rr=Sr.width,wt=Sr.height,qr.attr(\"transform\",Ie),Rr<=0||wt<=0){qr.remove();return}}var Ve=Ze.textangle,Ce,Ee;De===\"outside\"?(Ee=Ze.constraintext===\"both\"||Ze.constraintext===\"outside\",Ce=O(Y,ee,q,oe,Sr,{isHorizontal:at,constrained:Ee,angle:Ve})):(Ee=Ze.constraintext===\"both\"||Ze.constraintext===\"inside\",Ce=F(Y,ee,q,oe,Sr,{isHorizontal:at,constrained:Ee,angle:Ve,anchor:Pt,hasB:ye,r:ae,overhead:j})),Ce.fontSize=Ne.size,n(Ze.type===\"histogram\"?\"bar\":Ze.type,Ce,Ae),st.transform=Ce;var Pe=d(qr,Ae,Q,re);S.setTransormAndDisplay(Pe,Ce)}function R($,se,le,fe,V){if($<0||se<0)return!1;var Y=le<=$&&fe<=se,ee=le<=se&&fe<=$,q=V?$>=le*(se/fe):se>=fe*($/le);return Y||ee||q}function L($){return $===\"auto\"?0:$}function z($,se){var le=Math.PI/180*se,fe=Math.abs(Math.sin(le)),V=Math.abs(Math.cos(le));return{x:$.width*V+$.height*fe,y:$.width*fe+$.height*V}}function F($,se,le,fe,V,Y){var ee=!!Y.isHorizontal,q=!!Y.constrained,oe=Y.angle||0,ae=Y.anchor,j=ae===\"end\",Q=ae===\"start\",re=Y.leftToRight||0,ce=(re+1)/2,be=1-ce,Ae=Y.hasB,De=Y.r,ze=Y.overhead,Ze=V.width,at=V.height,nt=Math.abs(se-$),rt=Math.abs(fe-le),st=nt>2*_&&rt>2*_?_:0;nt-=2*st,rt-=2*st;var Me=L(oe);oe===\"auto\"&&!(Ze<=nt&&at<=rt)&&(Ze>nt||at>rt)&&(!(Ze>rt||at>nt)||Ze_){var tt=N($,se,le,fe,ye,De,ze,ee,Ae);he=tt.scale,Oe=tt.pad}else he=1,q&&(he=Math.min(1,nt/ye.x,rt/ye.y)),Oe=0;var ot=V.left*be+V.right*ce,Qe=(V.top+V.bottom)/2,Pt=($+_)*be+(se-_)*ce,It=(le+fe)/2,qt=0,Wt=0;if(Q||j){var kr=(ee?ye.x:ye.y)/2;De&&(j||Ae)&&(st+=Oe);var mr=ee?g($,se):g(le,fe);ee?Q?(Pt=$+mr*st,qt=-mr*kr):(Pt=se-mr*st,qt=mr*kr):Q?(It=le+mr*st,Wt=-mr*kr):(It=fe-mr*st,Wt=mr*kr)}return{textX:ot,textY:Qe,targetX:Pt,targetY:It,anchorX:qt,anchorY:Wt,scale:he,rotate:Me}}function N($,se,le,fe,V,Y,ee,q,oe){var ae=Math.max(0,Math.abs(se-$)-2*_),j=Math.max(0,Math.abs(fe-le)-2*_),Q=Y-_,re=ee?Q-Math.sqrt(Q*Q-(Q-ee)*(Q-ee)):Q,ce=oe?Q*2:q?Q-ee:2*re,be=oe?Q*2:q?2*re:Q-ee,Ae,De,ze,Ze,at;return V.y/V.x>=j/(ae-ce)?Ze=j/V.y:V.y/V.x<=(j-be)/ae?Ze=ae/V.x:!oe&&q?(Ae=V.x*V.x+V.y*V.y/4,De=-2*V.x*(ae-Q)-V.y*(j/2-Q),ze=(ae-Q)*(ae-Q)+(j/2-Q)*(j/2-Q)-Q*Q,Ze=(-De+Math.sqrt(De*De-4*Ae*ze))/(2*Ae)):oe?(Ae=(V.x*V.x+V.y*V.y)/4,De=-V.x*(ae/2-Q)-V.y*(j/2-Q),ze=(ae/2-Q)*(ae/2-Q)+(j/2-Q)*(j/2-Q)-Q*Q,Ze=(-De+Math.sqrt(De*De-4*Ae*ze))/(2*Ae)):(Ae=V.x*V.x/4+V.y*V.y,De=-V.x*(ae/2-Q)-2*V.y*(j-Q),ze=(ae/2-Q)*(ae/2-Q)+(j-Q)*(j-Q)-Q*Q,Ze=(-De+Math.sqrt(De*De-4*Ae*ze))/(2*Ae)),Ze=Math.min(1,Ze),q?at=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(j-V.y*Ze)/2)*(Q-(j-V.y*Ze)/2)))-ee):at=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(ae-V.x*Ze)/2)*(Q-(ae-V.x*Ze)/2)))-ee),{scale:Ze,pad:at}}function O($,se,le,fe,V,Y){var ee=!!Y.isHorizontal,q=!!Y.constrained,oe=Y.angle||0,ae=V.width,j=V.height,Q=Math.abs(se-$),re=Math.abs(fe-le),ce;ee?ce=re>2*_?_:0:ce=Q>2*_?_:0;var be=1;q&&(be=ee?Math.min(1,re/j):Math.min(1,Q/ae));var Ae=L(oe),De=z(V,Ae),ze=(ee?De.x:De.y)/2,Ze=(V.left+V.right)/2,at=(V.top+V.bottom)/2,nt=($+se)/2,rt=(le+fe)/2,st=0,Me=0,ye=ee?g(se,$):g(le,fe);return ee?(nt=se-ye*ce,st=ye*ze):(rt=fe+ye*ce,Me=-ye*ze),{textX:Ze,textY:at,targetX:nt,targetY:rt,anchorX:st,anchorY:Me,scale:be,rotate:Ae}}function P($,se,le,fe,V){var Y=se[0].trace,ee=Y.texttemplate,q;return ee?q=B($,se,le,fe,V):Y.textinfo?q=X(se,le,fe,V):q=h.getValue(Y.text,le),h.coerceString(p,q)}function U($,se){var le=h.getValue($.textposition,se);return h.coerceEnumerated(T,le)}function B($,se,le,fe,V){var Y=se[0].trace,ee=S.castOption(Y,le,\"texttemplate\");if(!ee)return\"\";var q=Y.type===\"histogram\",oe=Y.type===\"waterfall\",ae=Y.type===\"funnel\",j=Y.orientation===\"h\",Q,re,ce,be;j?(Q=\"y\",re=V,ce=\"x\",be=fe):(Q=\"x\",re=fe,ce=\"y\",be=V);function Ae(st){return o(re,re.c2l(st),!0).text}function De(st){return o(be,be.c2l(st),!0).text}var ze=se[le],Ze={};Ze.label=ze.p,Ze.labelLabel=Ze[Q+\"Label\"]=Ae(ze.p);var at=S.castOption(Y,ze.i,\"text\");(at===0||at)&&(Ze.text=at),Ze.value=ze.s,Ze.valueLabel=Ze[ce+\"Label\"]=De(ze.s);var nt={};l(nt,Y,ze.i),(q||nt.x===void 0)&&(nt.x=j?Ze.value:Ze.label),(q||nt.y===void 0)&&(nt.y=j?Ze.label:Ze.value),(q||nt.xLabel===void 0)&&(nt.xLabel=j?Ze.valueLabel:Ze.labelLabel),(q||nt.yLabel===void 0)&&(nt.yLabel=j?Ze.labelLabel:Ze.valueLabel),oe&&(Ze.delta=+ze.rawS||ze.s,Ze.deltaLabel=De(Ze.delta),Ze.final=ze.v,Ze.finalLabel=De(Ze.final),Ze.initial=Ze.final-Ze.delta,Ze.initialLabel=De(Ze.initial)),ae&&(Ze.value=ze.s,Ze.valueLabel=De(Ze.value),Ze.percentInitial=ze.begR,Ze.percentInitialLabel=S.formatPercent(ze.begR),Ze.percentPrevious=ze.difR,Ze.percentPreviousLabel=S.formatPercent(ze.difR),Ze.percentTotal=ze.sumR,Ze.percenTotalLabel=S.formatPercent(ze.sumR));var rt=S.castOption(Y,ze.i,\"customdata\");return rt&&(Ze.customdata=rt),S.texttemplateString({data:[nt,Ze,Y._meta],fallback:Y.texttemplatefallback,labels:Ze,locale:$._d3locale,template:ee})}function X($,se,le,fe){var V=$[0].trace,Y=V.orientation===\"h\",ee=V.type===\"waterfall\",q=V.type===\"funnel\";function oe(rt){var st=Y?fe:le;return o(st,rt,!0).text}function ae(rt){var st=Y?le:fe;return o(st,+rt,!0).text}var j=V.textinfo,Q=$[se],re=j.split(\"+\"),ce=[],be,Ae=function(rt){return re.indexOf(rt)!==-1};if(Ae(\"label\")&&ce.push(oe($[se].p)),Ae(\"text\")&&(be=S.castOption(V,Q.i,\"text\"),(be===0||be)&&ce.push(be)),ee){var De=+Q.rawS||Q.s,ze=Q.v,Ze=ze-De;Ae(\"initial\")&&ce.push(ae(Ze)),Ae(\"delta\")&&ce.push(ae(De)),Ae(\"final\")&&ce.push(ae(ze))}if(q){Ae(\"value\")&&ce.push(ae(Q.s));var at=0;Ae(\"percent initial\")&&at++,Ae(\"percent previous\")&&at++,Ae(\"percent total\")&&at++;var nt=at>1;Ae(\"percent initial\")&&(be=S.formatPercent(Q.begR),nt&&(be+=\" of initial\"),ce.push(be)),Ae(\"percent previous\")&&(be=S.formatPercent(Q.difR),nt&&(be+=\" of previous\"),ce.push(be)),Ae(\"percent total\")&&(be=S.formatPercent(Q.sumR),nt&&(be+=\" of total\"),ce.push(be))}return ce.join(\"
\")}G.exports={plot:y,toMoveInsideBar:F}}}),f1=Xe({\"src/traces/bar/hover.js\"(Z,G){\"use strict\";var v=rf(),x=so(),S=$n(),E=sa().fillText,e=q2().getLineWidth,t=Go().hoverLabelText,r=Hs().BADNUM;function o(i,s,h,c,m){var p=a(i,s,h,c,m);if(p){var T=p.cd,l=T[0].trace,_=T[p.index];return p.color=n(l,_),x.getComponentMethod(\"errorbars\",\"hoverInfo\")(_,l,p),[p]}}function a(i,s,h,c,m){var p=i.cd,T=p[0].trace,l=p[0].t,_=c===\"closest\",w=T.type===\"waterfall\",A=i.maxHoverDistance,M=i.maxSpikeDistance,g,b,d,u,y,f,R;T.orientation===\"h\"?(g=h,b=s,d=\"y\",u=\"x\",y=fe,f=$):(g=s,b=h,d=\"x\",u=\"y\",f=fe,y=$);var L=T[d+\"period\"],z=_||L;function F(be){return O(be,-1)}function N(be){return O(be,1)}function O(be,Ae){var De=be.w;return be[d]+Ae*De/2}function P(be){return be[d+\"End\"]-be[d+\"Start\"]}var U=_?F:L?function(be){return be.p-P(be)/2}:function(be){return Math.min(F(be),be.p-l.bardelta/2)},B=_?N:L?function(be){return be.p+P(be)/2}:function(be){return Math.max(N(be),be.p+l.bardelta/2)};function X(be,Ae,De){return m.finiteRange&&(De=0),v.inbox(be-g,Ae-g,De+Math.min(1,Math.abs(Ae-be)/R)-1)}function $(be){return X(U(be),B(be),A)}function se(be){return X(F(be),N(be),M)}function le(be){var Ae=be[u];if(w){var De=Math.abs(be.rawS)||0;b>0?Ae+=De:b<0&&(Ae-=De)}return Ae}function fe(be){var Ae=b,De=be.b,ze=le(be);return v.inbox(De-Ae,ze-Ae,A+(ze-Ae)/(ze-De)-1)}function V(be){var Ae=b,De=be.b,ze=le(be);return v.inbox(De-Ae,ze-Ae,M+(ze-Ae)/(ze-De)-1)}var Y=i[d+\"a\"],ee=i[u+\"a\"];R=Math.abs(Y.r2c(Y.range[1])-Y.r2c(Y.range[0]));function q(be){return(y(be)+f(be))/2}var oe=v.getDistanceFunction(c,y,f,q);if(v.getClosest(p,oe,i),i.index!==!1&&p[i.index].p!==r){z||(U=function(be){return Math.min(F(be),be.p-l.bargroupwidth/2)},B=function(be){return Math.max(N(be),be.p+l.bargroupwidth/2)});var ae=i.index,j=p[ae],Q=T.base?j.b+j.s:j.s;i[u+\"0\"]=i[u+\"1\"]=ee.c2p(j[u],!0),i[u+\"LabelVal\"]=Q;var re=l.extents[l.extents.round(j.p)];i[d+\"0\"]=Y.c2p(_?U(j):re[0],!0),i[d+\"1\"]=Y.c2p(_?B(j):re[1],!0);var ce=j.orig_p!==void 0;return i[d+\"LabelVal\"]=ce?j.orig_p:j.p,i.labelLabel=t(Y,i[d+\"LabelVal\"],T[d+\"hoverformat\"]),i.valueLabel=t(ee,i[u+\"LabelVal\"],T[u+\"hoverformat\"]),i.baseLabel=t(ee,j.b,T[u+\"hoverformat\"]),i.spikeDistance=(V(j)+se(j))/2,i[d+\"Spike\"]=Y.c2p(j.p,!0),E(j,T,i),i.hovertemplate=T.hovertemplate,i}}function n(i,s){var h=s.mcc||i.marker.color,c=s.mlcc||i.marker.line.color,m=e(i,s);if(S.opacity(h))return h;if(S.opacity(c)&&m)return c}G.exports={hoverPoints:o,hoverOnBars:a,getTraceColor:n}}}),Y9=Xe({\"src/traces/bar/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S,E){return x.x=\"xVal\"in S?S.xVal:S.x,x.y=\"yVal\"in S?S.yVal:S.y,S.xa&&(x.xaxis=S.xa),S.ya&&(x.yaxis=S.ya),E.orientation===\"h\"?(x.label=x.y,x.value=x.x):(x.label=x.x,x.value=x.y),x}}}),h1=Xe({\"src/traces/bar/select.js\"(Z,G){\"use strict\";G.exports=function(S,E){var e=S.cd,t=S.xaxis,r=S.yaxis,o=e[0].trace,a=o.type===\"funnel\",n=o.orientation===\"h\",i=[],s;if(E===!1)for(s=0;s0?(L=\"v\",d>0?z=Math.min(y,u):z=Math.min(u)):d>0?(L=\"h\",z=Math.min(y)):z=0;if(!z){h.visible=!1;return}h._length=z;var U=c(\"orientation\",L);h._hasPreCompStats?U===\"v\"&&d===0?(c(\"x0\",0),c(\"dx\",1)):U===\"h\"&&b===0&&(c(\"y0\",0),c(\"dy\",1)):U===\"v\"&&d===0?c(\"x0\"):U===\"h\"&&b===0&&c(\"y0\");var B=x.getComponentMethod(\"calendars\",\"handleTraceDefaults\");B(s,h,[\"x\",\"y\"],m)}function n(s,h,c,m){var p=m.prefix,T=v.coerce2(s,h,r,\"marker.outliercolor\"),l=c(\"marker.line.outliercolor\"),_=\"outliers\";h._hasPreCompStats?_=\"all\":(T||l)&&(_=\"suspectedoutliers\");var w=c(p+\"points\",_);w?(c(\"jitter\",w===\"all\"?.3:0),c(\"pointpos\",w===\"all\"?-1.5:0),c(\"marker.symbol\"),c(\"marker.opacity\"),c(\"marker.size\"),c(\"marker.angle\"),c(\"marker.color\",h.line.color),c(\"marker.line.color\"),c(\"marker.line.width\"),w===\"suspectedoutliers\"&&(c(\"marker.line.outliercolor\",h.marker.color),c(\"marker.line.outlierwidth\")),c(\"selected.marker.color\"),c(\"unselected.marker.color\"),c(\"selected.marker.size\"),c(\"unselected.marker.size\"),c(\"text\"),c(\"hovertext\")):delete h.marker;var A=c(\"hoveron\");(A===\"all\"||A.indexOf(\"points\")!==-1)&&(c(\"hovertemplate\"),c(\"hovertemplatefallback\")),v.coerceSelectionMarkerOpacity(h,c)}function i(s,h){var c,m;function p(w){return v.coerce(m._input,m,r,w)}for(var T=0;Tle.uf};if(M._hasPreCompStats){var ae=M[z],j=function(mr){return L.d2c((M[mr]||[])[f])},Q=1/0,re=-1/0;for(f=0;f=le.q1&&le.q3>=le.med){var be=j(\"lowerfence\");le.lf=be!==e&&be<=le.q1?be:m(le,V,Y);var Ae=j(\"upperfence\");le.uf=Ae!==e&&Ae>=le.q3?Ae:p(le,V,Y);var De=j(\"mean\");le.mean=De!==e?De:Y?E.mean(V,Y):(le.q1+le.q3)/2;var ze=j(\"sd\");le.sd=De!==e&&ze>=0?ze:Y?E.stdev(V,Y,le.mean):le.q3-le.q1,le.lo=T(le),le.uo=l(le);var Ze=j(\"notchspan\");Ze=Ze!==e&&Ze>0?Ze:_(le,Y),le.ln=le.med-Ze,le.un=le.med+Ze;var at=le.lf,nt=le.uf;M.boxpoints&&V.length&&(at=Math.min(at,V[0]),nt=Math.max(nt,V[Y-1])),M.notched&&(at=Math.min(at,le.ln),nt=Math.max(nt,le.un)),le.min=at,le.max=nt}else{E.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+le.q1,\"median = \"+le.med,\"q3 = \"+le.q3].join(`\n`));var rt;le.med!==e?rt=le.med:le.q1!==e?le.q3!==e?rt=(le.q1+le.q3)/2:rt=le.q1:le.q3!==e?rt=le.q3:rt=0,le.med=rt,le.q1=le.q3=rt,le.lf=le.uf=rt,le.mean=le.sd=rt,le.ln=le.un=rt,le.min=le.max=rt}Q=Math.min(Q,le.min),re=Math.max(re,le.max),le.pts2=fe.filter(oe),u.push(le)}}M._extremes[L._id]=x.findExtremes(L,[Q,re],{padded:!0})}else{var st=L.makeCalcdata(M,z),Me=o($,se),ye=$.length,he=a(ye);for(f=0;f=0&&Oe0){if(le={},le.pos=le[N]=$[f],fe=le.pts=he[f].sort(h),V=le[z]=fe.map(c),Y=V.length,le.min=V[0],le.max=V[Y-1],le.mean=E.mean(V,Y),le.sd=E.stdev(V,Y,le.mean)*M.sdmultiple,le.med=E.interp(V,.5),Y%2&&(Pt||It)){var qt,Wt;Pt?(qt=V.slice(0,Y/2),Wt=V.slice(Y/2+1)):It&&(qt=V.slice(0,Y/2+1),Wt=V.slice(Y/2)),le.q1=E.interp(qt,.5),le.q3=E.interp(Wt,.5)}else le.q1=E.interp(V,.25),le.q3=E.interp(V,.75);le.lf=m(le,V,Y),le.uf=p(le,V,Y),le.lo=T(le),le.uo=l(le);var kr=_(le,Y);le.ln=le.med-kr,le.un=le.med+kr,tt=Math.min(tt,le.ln),ot=Math.max(ot,le.un),le.pts2=fe.filter(oe),u.push(le)}M.notched&&E.isTypedArray(st)&&(st=Array.from(st)),M._extremes[L._id]=x.findExtremes(L,M.notched?st.concat([tt,ot]):st,{padded:!0})}return s(u,M),u.length>0?(u[0].t={num:g[y],dPos:se,posLetter:N,valLetter:z,labels:{med:t(A,\"median:\"),min:t(A,\"min:\"),q1:t(A,\"q1:\"),q3:t(A,\"q3:\"),max:t(A,\"max:\"),mean:M.boxmean===\"sd\"||M.sizemode===\"sd\"?t(A,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",M.sdmultiple===1?\"\\u03C3\":M.sdmultiple+\"\\u03C3\"):t(A,\"mean:\"),lf:t(A,\"lower fence:\"),uf:t(A,\"upper fence:\")}},g[y]++,u):[{t:{empty:!0}}]};function r(w,A,M,g){var b=A in w,d=A+\"0\"in w,u=\"d\"+A in w;if(b||d&&u){var y=M.makeCalcdata(w,A),f=S(w,M,A,y).vals;return[f,y]}var R;d?R=w[A+\"0\"]:\"name\"in w&&(M.type===\"category\"||v(w.name)&&[\"linear\",\"log\"].indexOf(M.type)!==-1||E.isDateTime(w.name)&&M.type===\"date\")?R=w.name:R=g;for(var L=M.type===\"multicategory\"?M.r2c_just_indices(R):M.d2c(R,0,w[A+\"calendar\"]),z=w._length,F=new Array(z),N=0;N1,d=1-s[r+\"gap\"],u=1-s[r+\"groupgap\"];for(m=0;m0;if(L===\"positive\"?(le=z*(R?1:.5),Y=V,fe=Y=N):L===\"negative\"?(le=Y=N,fe=z*(R?1:.5),ee=V):(le=fe=z,Y=ee=V),re){var ce=y.pointpos,be=y.jitter,Ae=y.marker.size/2,De=0;ce+be>=0&&(De=V*(ce+be),De>le?(Q=!0,ae=Ae,q=De):De>Y&&(ae=Ae,q=le)),De<=le&&(q=le);var ze=0;ce-be<=0&&(ze=-V*(ce-be),ze>fe?(Q=!0,j=Ae,oe=ze):ze>ee&&(j=Ae,oe=fe)),ze<=fe&&(oe=fe)}else q=le,oe=fe;var Ze=new Array(T.length);for(p=0;pM.lo&&(U.so=!0)}return b});A.enter().append(\"path\").classed(\"point\",!0),A.exit().remove(),A.call(S.translatePoints,c,m)}function a(n,i,s,h){var c=i.val,m=i.pos,p=!!m.rangebreaks,T=h.bPos,l=h.bPosPxOffset||0,_=s.boxmean||(s.meanline||{}).visible,w,A;Array.isArray(h.bdPos)?(w=h.bdPos[0],A=h.bdPos[1]):(w=h.bdPos,A=h.bdPos);var M=n.selectAll(\"path.mean\").data(s.type===\"box\"&&s.boxmean||s.type===\"violin\"&&s.box.visible&&s.meanline.visible?x.identity:[]);M.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),M.exit().remove(),M.each(function(g){var b=m.c2l(g.pos+T,!0),d=m.l2p(b-w)+l,u=m.l2p(b+A)+l,y=p?(d+u)/2:m.l2p(b)+l,f=c.c2p(g.mean,!0),R=c.c2p(g.mean-g.sd,!0),L=c.c2p(g.mean+g.sd,!0);s.orientation===\"h\"?v.select(this).attr(\"d\",\"M\"+f+\",\"+d+\"V\"+u+(_===\"sd\"?\"m0,0L\"+R+\",\"+y+\"L\"+f+\",\"+d+\"L\"+L+\",\"+y+\"Z\":\"\")):v.select(this).attr(\"d\",\"M\"+d+\",\"+f+\"H\"+u+(_===\"sd\"?\"m0,0L\"+y+\",\"+R+\"L\"+d+\",\"+f+\"L\"+y+\",\"+L+\"Z\":\"\"))})}G.exports={plot:t,plotBoxAndWhiskers:r,plotPoints:o,plotBoxMean:a}}}),W2=Xe({\"src/traces/box/style.js\"(Z,G){\"use strict\";var v=Hn(),x=$n(),S=es();function E(t,r,o){var a=o||v.select(t).selectAll(\"g.trace.boxes\");a.style(\"opacity\",function(n){return n[0].trace.opacity}),a.each(function(n){var i=v.select(this),s=n[0].trace,h=s.line.width;function c(T,l,_,w){T.style(\"stroke-width\",l+\"px\").call(x.stroke,_).call(x.fill,w)}var m=i.selectAll(\"path.box\");if(s.type===\"candlestick\")m.each(function(T){if(!T.empty){var l=v.select(this),_=s[T.dir];c(l,_.line.width,_.line.color,_.fillcolor),l.style(\"opacity\",s.selectedpoints&&!T.selected?.3:1)}});else{c(m,h,s.line.color,s.fillcolor),i.selectAll(\"path.mean\").style({\"stroke-width\":h,\"stroke-dasharray\":2*h+\"px,\"+h+\"px\"}).call(x.stroke,s.line.color);var p=i.selectAll(\"path.point\");S.pointStyle(p,s,t)}})}function e(t,r,o){var a=r[0].trace,n=o.selectAll(\"path.point\");a.selectedpoints?S.selectedPointStyle(n,a):S.pointStyle(n,a,t)}G.exports={style:E,styleOnSelect:e}}}),Q5=Xe({\"src/traces/box/hover.js\"(Z,G){\"use strict\";var v=Go(),x=sa(),S=rf(),E=$n(),e=x.fillText;function t(a,n,i,s){var h=a.cd,c=h[0].trace,m=c.hoveron,p=[],T;return m.indexOf(\"boxes\")!==-1&&(p=p.concat(r(a,n,i,s))),m.indexOf(\"points\")!==-1&&(T=o(a,n,i)),s===\"closest\"?T?[T]:p:(T&&p.push(T),p)}function r(a,n,i,s){var h=a.cd,c=a.xa,m=a.ya,p=h[0].trace,T=h[0].t,l=p.type===\"violin\",_,w,A,M,g,b,d,u,y,f,R,L=T.bdPos,z,F,N=T.wHover,O=function(ze){return A.c2l(ze.pos)+T.bPos-A.c2l(b)};l&&p.side!==\"both\"?(p.side===\"positive\"&&(y=function(ze){var Ze=O(ze);return S.inbox(Ze,Ze+N,f)},z=L,F=0),p.side===\"negative\"&&(y=function(ze){var Ze=O(ze);return S.inbox(Ze-N,Ze,f)},z=0,F=L)):(y=function(ze){var Ze=O(ze);return S.inbox(Ze-N,Ze+N,f)},z=F=L);var P;l?P=function(ze){return S.inbox(ze.span[0]-g,ze.span[1]-g,f)}:P=function(ze){return S.inbox(ze.min-g,ze.max-g,f)},p.orientation===\"h\"?(g=n,b=i,d=P,u=y,_=\"y\",A=m,w=\"x\",M=c):(g=i,b=n,d=y,u=P,_=\"x\",A=c,w=\"y\",M=m);var U=Math.min(1,L/Math.abs(A.r2c(A.range[1])-A.r2c(A.range[0])));f=a.maxHoverDistance-U,R=a.maxSpikeDistance-U;function B(ze){return(d(ze)+u(ze))/2}var X=S.getDistanceFunction(s,d,u,B);if(S.getClosest(h,X,a),a.index===!1)return[];var $=h[a.index],se=p.line.color,le=(p.marker||{}).color;E.opacity(se)&&p.line.width?a.color=se:E.opacity(le)&&p.boxpoints?a.color=le:a.color=p.fillcolor,a[_+\"0\"]=A.c2p($.pos+T.bPos-F,!0),a[_+\"1\"]=A.c2p($.pos+T.bPos+z,!0),a[_+\"LabelVal\"]=$.orig_p!==void 0?$.orig_p:$.pos;var fe=_+\"Spike\";a.spikeDistance=B($)*R/f,a[fe]=A.c2p($.pos,!0);var V=p.boxmean||p.sizemode===\"sd\"||(p.meanline||{}).visible,Y=p.boxpoints||p.points,ee=Y&&V?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:Y&&!V?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!Y&&V?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],q=M.range[1]0&&(o=!0);for(var s=0;st){var r=t-E[x];return E[x]=t,r}}else return E[x]=t,t;return 0},max:function(x,S,E,e){var t=e[S];if(v(t))if(t=Number(t),v(E[x])){if(E[x]d&&dE){var f=u===x?1:6,R=u===x?\"M12\":\"M1\";return function(L,z){var F=T.c2d(L,x,l),N=F.indexOf(\"-\",f);N>0&&(F=F.slice(0,N));var O=T.d2c(F,0,l);if(Or?h>E?h>x*1.1?x:h>S*1.1?S:E:h>e?e:h>t?t:r:Math.pow(10,Math.floor(Math.log(h)/Math.LN10))}function i(h,c,m,p,T,l){if(p&&h>E){var _=s(c,T,l),w=s(m,T,l),A=h===x?0:1;return _[A]!==w[A]}return Math.floor(m/h)-Math.floor(c/h)>.1}function s(h,c,m){var p=c.c2d(h,x,m).split(\"-\");return p[0]===\"\"&&(p.unshift(),p[0]=\"-\"+p[0]),p}}}),oS=Xe({\"src/traces/histogram/calc.js\"(Z,G){\"use strict\";var v=rs(),x=sa(),S=so(),E=Go(),{hasColorscale:e}=wp(),t=Tp(),r=B_(),o=rS(),a=aS(),n=iS(),i=nS();function s(T,l){var _=[],w=[],A=l.orientation===\"h\",M=E.getFromId(T,A?l.yaxis:l.xaxis),g=A?\"y\":\"x\",b={x:\"y\",y:\"x\"}[g],d=l[g+\"calendar\"],u=l.cumulative,y,f=h(T,l,M,g),R=f[0],L=f[1],z=typeof R.size==\"string\",F=[],N=z?F:R,O=[],P=[],U=[],B=0,X=l.histnorm,$=l.histfunc,se=X.indexOf(\"density\")!==-1,le,fe,V;u.enabled&&se&&(X=X.replace(/ ?density$/,\"\"),se=!1);var Y=$===\"max\"||$===\"min\",ee=Y?null:0,q=o.count,oe=a[X],ae=!1,j=function(Oe){return M.r2c(Oe,0,d)},Q;for(x.isArrayOrTypedArray(l[b])&&$!==\"count\"&&(Q=l[b],ae=$===\"avg\",q=o[$]),y=j(R.start),fe=j(R.end)+(y-E.tickIncrement(y,R.size,!1,d))/1e6;y=0&&V=Me;y--)if(w[y]){ye=y;break}for(y=Me;y<=ye;y++)if(v(_[y])&&v(w[y])){var he={p:_[y],s:w[y],b:0};u.enabled||(he.pts=U[y],Ae?he.ph0=he.ph1=U[y].length?L[U[y][0]]:_[y]:(l._computePh=!0,he.ph0=nt(F[y]),he.ph1=nt(F[y+1],!0))),st.push(he)}return st.length===1&&(st[0].width1=E.tickIncrement(st[0].p,R.size,!1,d)-st[0].p),e(l,\"marker\")&&t(T,l,{vals:l.marker.color,containerStr:\"marker\",cLetter:\"c\"}),e(l,\"marker.line\")&&t(T,l,{vals:l.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),r(st,l),x.isArrayOrTypedArray(l.selectedpoints)&&x.tagSelected(st,l,Ze),st}function h(T,l,_,w,A){var M=w+\"bins\",g=T._fullLayout,b=l[\"_\"+w+\"bingroup\"],d=g._histogramBinOpts[b],u=g.barmode===\"overlay\",y,f,R,L,z,F,N,O=function(at){return _.r2c(at,0,L)},P=function(at){return _.c2r(at,0,L)},U=_.type===\"date\"?function(at){return at||at===0?x.cleanDate(at,null,L):null}:function(at){return v(at)?Number(at):null};function B(at,nt,rt){nt[at+\"Found\"]?(nt[at]=U(nt[at]),nt[at]===null&&(nt[at]=rt[at])):(F[at]=nt[at]=rt[at],x.nestedProperty(f[0],M+\".\"+at).set(rt[at]))}if(l[\"_\"+w+\"autoBinFinished\"])delete l[\"_\"+w+\"autoBinFinished\"];else{f=d.traces;var X=[],$=!0,se=!1,le=!1;for(y=0;y\"u\"){if(A)return[V,z,!0];V=c(T,l,_,w,M)}N=R.cumulative||{},N.enabled&&N.currentbin!==\"include\"&&(N.direction===\"decreasing\"?V.start=P(E.tickIncrement(O(V.start),V.size,!0,L)):V.end=P(E.tickIncrement(O(V.end),V.size,!1,L))),d.size=V.size,d.sizeFound||(F.size=V.size,x.nestedProperty(f[0],M+\".size\").set(V.size)),B(\"start\",d,V),B(\"end\",d,V)}z=l[\"_\"+w+\"pos0\"],delete l[\"_\"+w+\"pos0\"];var ee=l._input[M]||{},q=x.extendFlat({},d),oe=d.start,ae=_.r2l(ee.start),j=ae!==void 0;if((d.startFound||j)&&ae!==_.r2l(oe)){var Q=j?ae:x.aggNums(Math.min,null,z),re={type:_.type===\"category\"||_.type===\"multicategory\"?\"linear\":_.type,r2l:_.r2l,dtick:d.size,tick0:oe,calendar:L,range:[Q,E.tickIncrement(Q,d.size,!1,L)].map(_.l2r)},ce=E.tickFirst(re);ce>_.r2l(Q)&&(ce=E.tickIncrement(ce,d.size,!0,L)),q.start=_.l2r(ce),j||x.nestedProperty(l,M+\".start\").set(q.start)}var be=d.end,Ae=_.r2l(ee.end),De=Ae!==void 0;if((d.endFound||De)&&Ae!==_.r2l(be)){var ze=De?Ae:x.aggNums(Math.max,null,z);q.end=_.l2r(ze),De||x.nestedProperty(l,M+\".start\").set(q.end)}var Ze=\"autobin\"+w;return l._input[Ze]===!1&&(l._input[M]=x.extendFlat({},l[M]||{}),delete l._input[Ze],delete l[Ze]),[q,z]}function c(T,l,_,w,A){var M=T._fullLayout,g=m(T,l),b=!1,d=1/0,u=[l],y,f,R;for(y=0;y=0;w--)b(w);else if(l===\"increasing\"){for(w=1;w=0;w--)T[w]+=T[w+1];_===\"exclude\"&&(T.push(0),T.shift())}}G.exports={calc:s,calcAllAutoBins:h}}}),rF=Xe({\"src/traces/histogram2d/calc.js\"(Z,G){\"use strict\";var v=sa(),x=Go(),S=rS(),E=aS(),e=iS(),t=nS(),r=oS().calcAllAutoBins;G.exports=function(s,h){var c=x.getFromId(s,h.xaxis),m=x.getFromId(s,h.yaxis),p=h.xcalendar,T=h.ycalendar,l=function(Ne){return c.r2c(Ne,0,p)},_=function(Ne){return m.r2c(Ne,0,T)},w=function(Ne){return c.c2r(Ne,0,p)},A=function(Ne){return m.c2r(Ne,0,T)},M,g,b,d,u=r(s,h,c,\"x\"),y=u[0],f=u[1],R=r(s,h,m,\"y\"),L=R[0],z=R[1],F=h._length;f.length>F&&f.splice(F,f.length-F),z.length>F&&z.splice(F,z.length-F);var N=[],O=[],P=[],U=typeof y.size==\"string\",B=typeof L.size==\"string\",X=[],$=[],se=U?X:y,le=B?$:L,fe=0,V=[],Y=[],ee=h.histnorm,q=h.histfunc,oe=ee.indexOf(\"density\")!==-1,ae=q===\"max\"||q===\"min\",j=ae?null:0,Q=S.count,re=E[ee],ce=!1,be=[],Ae=[],De=\"z\"in h?h.z:\"marker\"in h&&Array.isArray(h.marker.color)?h.marker.color:\"\";De&&q!==\"count\"&&(ce=q===\"avg\",Q=S[q]);var ze=y.size,Ze=l(y.start),at=l(y.end)+(Ze-x.tickIncrement(Ze,ze,!1,p))/1e6;for(M=Ze;M=0&&b=0&&dx;n++)a=e(r,o,E(a));return a>x&&v.log(\"interp2d didn't converge quickly\",a),r};function e(t,r,o){var a=0,n,i,s,h,c,m,p,T,l,_,w,A,M;for(h=0;hA&&(a=Math.max(a,Math.abs(t[i][s]-w)/(M-A))))}return a}}}),J2=Xe({\"src/traces/heatmap/find_empties.js\"(Z,G){\"use strict\";var v=sa().maxRowLength;G.exports=function(S){var E=[],e={},t=[],r=S[0],o=[],a=[0,0,0],n=v(S),i,s,h,c,m,p,T,l;for(s=0;s=0;m--)c=t[m],s=c[0],h=c[1],p=((e[[s-1,h]]||a)[2]+(e[[s+1,h]]||a)[2]+(e[[s,h-1]]||a)[2]+(e[[s,h+1]]||a)[2])/20,p&&(T[c]=[s,h,p],t.splice(m,1),l=!0);if(!l)throw\"findEmpties iterated with no new neighbors\";for(c in T)e[c]=T[c],E.push(T[c])}return E.sort(function(_,w){return w[2]-_[2]})}}}),sS=Xe({\"src/traces/heatmap/make_bound_array.js\"(Z,G){\"use strict\";var v=so(),x=sa().isArrayOrTypedArray;G.exports=function(E,e,t,r,o,a){var n=[],i=v.traceIs(E,\"contour\"),s=v.traceIs(E,\"histogram\"),h,c,m,p=x(e)&&e.length>1;if(p&&!s&&a.type!==\"category\"){var T=e.length;if(T<=o){if(i)n=Array.from(e).slice(0,o);else if(o===1)a.type===\"log\"?n=[.5*e[0],2*e[0]]:n=[e[0]-.5,e[0]+.5];else if(a.type===\"log\"){for(n=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],m=1;m1){var ee=(Y[Y.length-1]-Y[0])/(Y.length-1),q=Math.abs(ee/100);for(F=0;Fq)return!1}return!0}T._islinear=!1,l.type===\"log\"||_.type===\"log\"?M===\"fast\"&&P(\"log axis found\"):U(g)?U(y)?T._islinear=!0:M===\"fast\"&&P(\"y scale is not linear\"):M===\"fast\"&&P(\"x scale is not linear\");var B=x.maxRowLength(z),X=T.xtype===\"scaled\"?\"\":g,$=i(T,X,b,d,B,l),se=T.ytype===\"scaled\"?\"\":y,le=i(T,se,f,R,z.length,_);T._extremes[l._id]=S.findExtremes(l,$),T._extremes[_._id]=S.findExtremes(_,le);var fe={x:$,y:le,z,text:T._text||T.text,hovertext:T._hovertext||T.hovertext};if(T.xperiodalignment&&u&&(fe.orig_x=u),T.yperiodalignment&&L&&(fe.orig_y=L),X&&X.length===$.length-1&&(fe.xCenter=X),se&&se.length===le.length-1&&(fe.yCenter=se),A&&(fe.xRanges=N.xRanges,fe.yRanges=N.yRanges,fe.pts=N.pts),w||t(p,T,{vals:z,cLetter:\"z\"}),w&&T.contours&&T.contours.coloring===\"heatmap\"){var V={type:T.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:T.xcalendar,ycalendar:T.ycalendar};fe.xfill=i(V,X,b,d,B,l),fe.yfill=i(V,se,f,R,z.length,_)}return[fe]};function h(m){for(var p=[],T=m.length,l=0;l0;)oe=y.c2p(U[re]),re--;for(oe0;)Q=f.c2p(B[re]),re--;Q=y._length||oe<=0||j>=f._length||Q<=0;if(at){var nt=L.selectAll(\"image\").data([]);nt.exit().remove(),_(L);return}var rt,st;Ae===\"fast\"?(rt=V,st=fe):(rt=ze,st=Ze);var Me=document.createElement(\"canvas\");Me.width=rt,Me.height=st;var ye=Me.getContext(\"2d\",{willReadFrequently:!0}),he=i(F,{noNumericCheck:!0,returnArray:!0}),Oe,tt;Ae===\"fast\"?(Oe=Y?function(Ta){return V-1-Ta}:t.identity,tt=ee?function(Ta){return fe-1-Ta}:t.identity):(Oe=function(Ta){return t.constrain(Math.round(y.c2p(U[Ta])-q),0,ze)},tt=function(Ta){return t.constrain(Math.round(f.c2p(B[Ta])-j),0,Ze)});var ot=tt(0),Qe=[ot,ot],Pt=Y?0:1,It=ee?0:1,qt=0,Wt=0,kr=0,mr=0,qr,Sr,Rr,wt,Ne;function Ke(Ta,Ai){if(Ta!==void 0){var ki=he(Ta);return ki[0]=Math.round(ki[0]),ki[1]=Math.round(ki[1]),ki[2]=Math.round(ki[2]),qt+=Ai,Wt+=ki[0]*Ai,kr+=ki[1]*Ai,mr+=ki[2]*Ai,ki}return[0,0,0,0]}function Te(Ta,Ai,ki,Ki){var _n=Ta[ki.bin0];if(_n===void 0)return Ke(void 0,1);var Rn=Ta[ki.bin1],En=Ai[ki.bin0],On=Ai[ki.bin1],no=Rn-_n||0,cn=En-_n||0,lo;return Rn===void 0?On===void 0?lo=0:En===void 0?lo=2*(On-_n):lo=(2*On-En-_n)*2/3:On===void 0?En===void 0?lo=0:lo=(2*_n-Rn-En)*2/3:En===void 0?lo=(2*On-Rn-_n)*2/3:lo=On+_n-Rn-En,Ke(_n+ki.frac*no+Ki.frac*(cn+ki.frac*lo))}if(Ae!==\"default\"){var Ie=0,Ve;try{Ve=new Uint8Array(rt*st*4)}catch{Ve=new Array(rt*st*4)}if(Ae===\"smooth\"){var Ce=X||U,Ee=$||B,Pe=new Array(Ce.length),ft=new Array(Ee.length),ct=new Array(ze),_t=X?A:w,Ct=$?A:w,ir,rr,er;for(re=0;re$a||$a>f._length))for(ce=ta;ceri||ri>y._length)){var pi=o({x:Za,y:Ba},F,g._fullLayout);pi.x=Za,pi.y=Ba;var Ra=z.z[re][ce];Ra===void 0?(pi.z=\"\",pi.zLabel=\"\"):(pi.z=Ra,pi.zLabel=e.tickText(Kt,Ra,\"hover\").text);var tn=z.text&&z.text[re]&&z.text[re][ce];(tn===void 0||tn===!1)&&(tn=\"\"),pi.text=tn;var on=t.texttemplateString({data:[pi,F._meta],fallback:F.texttemplatefallback,labels:pi,locale:g._fullLayout._d3locale,template:hi});if(on){var hn=on.split(\"
\"),Tt=hn.length,ut=0;for(be=0;be=_[0].length||R<0||R>_.length)return}else{if(v.inbox(o-T[0],o-T[T.length-1],0)>0||v.inbox(a-l[0],a-l[l.length-1],0)>0)return;if(s){var L;for(b=[2*T[0]-T[1]],L=1;L=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}}}),V_=Xe({\"src/traces/contour/attributes.js\"(Z,G){\"use strict\";var v=p1(),x=af(),S=tf(),E=S.axisHoverFormat,e=S.descriptionOnlyNumbers,t=ku(),r=Gh().dash,o=tc(),a=Qo().extendFlat,n=o3(),i=n.COMPARISON_OPS2,s=n.INTERVAL_OPS,h=x.line;G.exports=a({z:v.z,x:v.x,x0:v.x0,dx:v.dx,y:v.y,y0:v.y0,dy:v.dy,xperiod:v.xperiod,yperiod:v.yperiod,xperiod0:x.xperiod0,yperiod0:x.yperiod0,xperiodalignment:v.xperiodalignment,yperiodalignment:v.yperiodalignment,text:v.text,hovertext:v.hovertext,transpose:v.transpose,xtype:v.xtype,ytype:v.ytype,xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),zhoverformat:E(\"z\",1),hovertemplate:v.hovertemplate,hovertemplatefallback:v.hovertemplatefallback,texttemplate:a({},v.texttemplate,{}),texttemplatefallback:v.texttemplatefallback,textfont:a({},v.textfont,{}),hoverongaps:v.hoverongaps,connectgaps:a({},v.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:o({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:e(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(i).concat(s),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:a({},h.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:r,smoothing:a({},h.smoothing,{}),editType:\"plot\"},zorder:x.zorder},t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))}}),hS=Xe({\"src/traces/histogram2dcontour/attributes.js\"(Z,G){\"use strict\";var v=n3(),x=V_(),S=ku(),E=tf().axisHoverFormat,e=Qo().extendFlat;G.exports=e({x:v.x,y:v.y,z:v.z,marker:v.marker,histnorm:v.histnorm,histfunc:v.histfunc,nbinsx:v.nbinsx,xbins:v.xbins,nbinsy:v.nbinsy,ybins:v.ybins,autobinx:v.autobinx,autobiny:v.autobiny,bingroup:v.bingroup,xbingroup:v.xbingroup,ybingroup:v.ybingroup,autocontour:x.autocontour,ncontours:x.ncontours,contours:x.contours,line:{color:x.line.color,width:e({},x.line.width,{dflt:.5}),dash:x.line.dash,smoothing:x.line.smoothing,editType:\"plot\"},xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),zhoverformat:E(\"z\",1),hovertemplate:v.hovertemplate,hovertemplatefallback:v.hovertemplatefallback,texttemplate:x.texttemplate,texttemplatefallback:x.texttemplatefallback,textfont:x.textfont},S(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))}}),s3=Xe({\"src/traces/contour/contours_defaults.js\"(Z,G){\"use strict\";G.exports=function(x,S,E,e){var t=e(\"contours.start\"),r=e(\"contours.end\"),o=t===!1||r===!1,a=E(\"contours.size\"),n;o?n=S.autocontour=!0:n=E(\"autocontour\",!1),(n||!a)&&E(\"ncontours\")}}}),pS=Xe({\"src/traces/contour/label_defaults.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E,e,t){t||(t={});var r=S(\"contours.showlabels\");if(r){var o=E.font;v.coerceFont(S,\"contours.labelfont\",o,{overrideDflt:{color:e}}),S(\"contours.labelformat\")}t.hasHover!==!1&&S(\"zhoverformat\")}}}),l3=Xe({\"src/traces/contour/style_defaults.js\"(Z,G){\"use strict\";var v=_h(),x=pS();G.exports=function(E,e,t,r,o){var a=t(\"contours.coloring\"),n,i=\"\";a===\"fill\"&&(n=t(\"contours.showlines\")),n!==!1&&(a!==\"lines\"&&(i=t(\"line.color\",\"#000\")),t(\"line.width\",.5),t(\"line.dash\")),a!==\"none\"&&(E.showlegend!==!0&&(e.showlegend=!1),e._dfltShowLegend=!1,v(E,e,r,t,{prefix:\"\",cLetter:\"z\"})),t(\"line.smoothing\"),x(t,r,i,o)}}}),dF=Xe({\"src/traces/histogram2dcontour/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=fS(),S=s3(),E=l3(),e=q_(),t=hS();G.exports=function(o,a,n,i){function s(c,m){return v.coerce(o,a,t,c,m)}function h(c){return v.coerce2(o,a,t,c)}x(o,a,s,i),a.visible!==!1&&(S(o,a,s,h),E(o,a,s,i),s(\"xhoverformat\"),s(\"yhoverformat\"),s(\"hovertemplate\"),s(\"hovertemplatefallback\"),a.contours&&a.contours.coloring===\"heatmap\"&&e(s,i))}}}),dS=Xe({\"src/traces/contour/set_contours.js\"(Z,G){\"use strict\";var v=Go(),x=sa();G.exports=function(e,t){var r=e.contours;if(e.autocontour){var o=e.zmin,a=e.zmax;(e.zauto||o===void 0)&&(o=x.aggNums(Math.min,null,t)),(e.zauto||a===void 0)&&(a=x.aggNums(Math.max,null,t));var n=S(o,a,e.ncontours);r.size=n.dtick,r.start=v.tickFirst(n),n.range.reverse(),r.end=v.tickFirst(n),r.start===o&&(r.start+=r.size),r.end===a&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),e._input.contours||(e._input.contours={}),x.extendFlat(e._input.contours,{start:r.start,end:r.end,size:r.size}),e._input.autocontour=!0}else if(r.type!==\"constraint\"){var i=r.start,s=r.end,h=e._input.contours;if(i>s&&(r.start=h.start=s,s=r.end=h.end=i,i=r.start),!(r.size>0)){var c;i===s?c=1:c=S(i,s,e.ncontours).dtick,h.size=r.size=c}}};function S(E,e,t){var r={type:\"linear\",range:[E,e]};return v.autoTicks(r,(e-E)/(t||15)),r}}}),G_=Xe({\"src/traces/contour/end_plus.js\"(Z,G){\"use strict\";G.exports=function(x){return x.end+x.size/1e6}}}),vS=Xe({\"src/traces/contour/calc.js\"(Z,G){\"use strict\";var v=rc(),x=$2(),S=dS(),E=G_();G.exports=function(t,r){var o=x(t,r),a=o[0].z;S(r,a);var n=r.contours,i=v.extractOpts(r),s;if(n.coloring===\"heatmap\"&&i.auto&&r.autocontour===!1){var h=n.start,c=E(n),m=n.size||1,p=Math.floor((c-h)/m)+1;isFinite(m)||(m=1,p=1);var T=h-m/2,l=T+p*m;s=[T,l]}else s=a;return v.calc(t,r,{vals:s,cLetter:\"z\"}),o}}}),H_=Xe({\"src/traces/contour/constants.js\"(Z,G){\"use strict\";G.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}}}}),mS=Xe({\"src/traces/contour/make_crossings.js\"(Z,G){\"use strict\";var v=H_();G.exports=function(E){var e=E[0].z,t=e.length,r=e[0].length,o=t===2||r===2,a,n,i,s,h,c,m,p,T;for(n=0;nS?0:1)+(E[0][1]>S?0:2)+(E[1][1]>S?0:4)+(E[1][0]>S?0:8);if(e===5||e===10){var t=(E[0][0]+E[0][1]+E[1][0]+E[1][1])/4;return S>t?e===5?713:1114:e===5?104:208}return e===15?0:e}}}),gS=Xe({\"src/traces/contour/find_all_paths.js\"(Z,G){\"use strict\";var v=sa(),x=H_();G.exports=function(a,n,i){var s,h,c,m,p;for(n=n||.01,i=i||.01,c=0;c20?(c=x.CHOOSESADDLE[c][(m[0]||m[1])<0?0:1],o.crossings[h]=x.SADDLEREMAINDER[c]):delete o.crossings[h],m=x.NEWDELTA[c],!m){v.log(\"Found bad marching index:\",c,a,o.level);break}p.push(r(o,a,m)),a[0]+=m[0],a[1]+=m[1],h=a.join(\",\"),S(p[p.length-1],p[p.length-2],i,s)&&p.pop();var M=m[0]&&(a[0]<0||a[0]>l-2)||m[1]&&(a[1]<0||a[1]>T-2),g=a[0]===_[0]&&a[1]===_[1]&&m[0]===w[0]&&m[1]===w[1];if(g||n&&M)break;c=o.crossings[h]}A===1e4&&v.log(\"Infinite loop in contour?\");var b=S(p[0],p[p.length-1],i,s),d=0,u=.2*o.smoothing,y=[],f=0,R,L,z,F,N,O,P,U,B,X,$;for(A=1;A=f;A--)if(R=y[A],R=f&&R+y[L]U&&B--,o.edgepaths[B]=$.concat(p,X));break}V||(o.edgepaths[U]=p.concat(X))}for(U=0;U20&&a?o===208||o===1114?i=n[0]===0?1:-1:s=n[1]===0?1:-1:x.BOTTOMSTART.indexOf(o)!==-1?s=1:x.LEFTSTART.indexOf(o)!==-1?i=1:x.TOPSTART.indexOf(o)!==-1?s=-1:i=-1,[i,s]}function r(o,a,n){var i=a[0]+Math.max(n[0],0),s=a[1]+Math.max(n[1],0),h=o.z[s][i],c=o.xaxis,m=o.yaxis;if(n[1]){var p=(o.level-h)/(o.z[s][i+1]-h),T=(p!==1?(1-p)*c.c2l(o.x[i]):0)+(p!==0?p*c.c2l(o.x[i+1]):0);return[c.c2p(c.l2c(T),!0),m.c2p(o.y[s],!0),i+p,s]}else{var l=(o.level-h)/(o.z[s+1][i]-h),_=(l!==1?(1-l)*m.c2l(o.y[s]):0)+(l!==0?l*m.c2l(o.y[s+1]):0);return[c.c2p(o.x[i],!0),m.c2p(m.l2c(_),!0),i,s+l]}}}}),vF=Xe({\"src/traces/contour/constraint_mapping.js\"(Z,G){\"use strict\";var v=o3(),x=rs();G.exports={\"[]\":E(\"[]\"),\"][\":E(\"][\"),\">\":e(\">\"),\"<\":e(\"<\"),\"=\":e(\"=\")};function S(t,r){var o=Array.isArray(r),a;function n(i){return x(i)?+i:null}return v.COMPARISON_OPS2.indexOf(t)!==-1?a=n(o?r[0]:r):v.INTERVAL_OPS.indexOf(t)!==-1?a=o?[n(r[0]),n(r[1])]:[n(r),n(r)]:v.SET_OPS.indexOf(t)!==-1&&(a=o?r.map(n):[n(r)]),a}function E(t){return function(r){r=S(t,r);var o=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);return{start:o,end:a,size:a-o}}}function e(t){return function(r){return r=S(t,r),{start:r,end:1/0,size:1/0}}}}}),yS=Xe({\"src/traces/contour/empty_pathinfo.js\"(Z,G){\"use strict\";var v=sa(),x=vF(),S=G_();G.exports=function(e,t,r){for(var o=e.type===\"constraint\"?x[e._operation](e.value):e,a=o.size,n=[],i=S(o),s=r.trace._carpetTrace,h=s?{xaxis:s.aaxis,yaxis:s.baxis,x:r.a,y:r.b}:{xaxis:t.xaxis,yaxis:t.yaxis,x:r.x,y:r.y},c=o.start;c1e3){v.warn(\"Too many contours, clipping at 1000\",e);break}return n}}}),_S=Xe({\"src/traces/contour/convert_to_constraints.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E){var e,t,r,o=function(i){return i.reverse()},a=function(i){return i};switch(E){case\"=\":case\"<\":return S;case\">\":for(S.length!==1&&v.warn(\"Contour data invalid for the specified inequality operation.\"),t=S[0],e=0;er.level||r.starts.length&&t===r.level)}break;case\"constraint\":if(S.prefixBoundary=!1,S.edgepaths.length)return;var o=S.x.length,a=S.y.length,n=-1/0,i=1/0;for(e=0;e\":s>n&&(S.prefixBoundary=!0);break;case\"<\":(sn||S.starts.length&&c===i)&&(S.prefixBoundary=!0);break;case\"][\":h=Math.min(s[0],s[1]),c=Math.max(s[0],s[1]),hn&&(S.prefixBoundary=!0);break}break}}}}),u3=Xe({\"src/traces/contour/plot.js\"(Z){\"use strict\";var G=Hn(),v=sa(),x=es(),S=rc(),E=ou(),e=Go(),t=wv(),r=e3(),o=mS(),a=gS(),n=yS(),i=_S(),s=xS(),h=H_(),c=h.LABELOPTIMIZER;Z.plot=function(g,b,d,u){var y=b.xaxis,f=b.yaxis;v.makeTraceGroups(u,d,\"contour\").each(function(R){var L=G.select(this),z=R[0],F=z.trace,N=z.x,O=z.y,P=F.contours,U=n(P,b,z),B=v.ensureSingle(L,\"g\",\"heatmapcoloring\"),X=[];P.coloring===\"heatmap\"&&(X=[R]),r(g,b,X,B),o(U),a(U);var $=y.c2p(N[0],!0),se=y.c2p(N[N.length-1],!0),le=f.c2p(O[0],!0),fe=f.c2p(O[O.length-1],!0),V=[[$,fe],[se,fe],[se,le],[$,le]],Y=U;P.type===\"constraint\"&&(Y=i(U,P._operation)),m(L,V,P),p(L,Y,V,P),l(L,U,g,z,P),w(L,b,g,z,V)})};function m(M,g,b){var d=v.ensureSingle(M,\"g\",\"contourbg\"),u=d.selectAll(\"path\").data(b.coloring===\"fill\"?[0]:[]);u.enter().append(\"path\"),u.exit().remove(),u.attr(\"d\",\"M\"+g.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function p(M,g,b,d){var u=d.coloring===\"fill\"||d.type===\"constraint\"&&d._operation!==\"=\",y=\"M\"+b.join(\"L\")+\"Z\";u&&s(g,d);var f=v.ensureSingle(M,\"g\",\"contourfill\"),R=f.selectAll(\"path\").data(u?g:[]);R.enter().append(\"path\"),R.exit().remove(),R.each(function(L){var z=(L.prefixBoundary?y:\"\")+T(L,b);z?G.select(this).attr(\"d\",z).style(\"stroke\",\"none\"):G.select(this).remove()})}function T(M,g){var b=\"\",d=0,u=M.edgepaths.map(function($,se){return se}),y=!0,f,R,L,z,F,N;function O($){return Math.abs($[1]-g[0][1])<.01}function P($){return Math.abs($[1]-g[2][1])<.01}function U($){return Math.abs($[0]-g[0][0])<.01}function B($){return Math.abs($[0]-g[2][0])<.01}for(;u.length;){for(N=x.smoothopen(M.edgepaths[d],M.smoothing),b+=y?N:N.replace(/^M/,\"L\"),u.splice(u.indexOf(d),1),f=M.edgepaths[d][M.edgepaths[d].length-1],z=-1,L=0;L<4;L++){if(!f){v.log(\"Missing end?\",d,M);break}for(O(f)&&!B(f)?R=g[1]:U(f)?R=g[0]:P(f)?R=g[3]:B(f)&&(R=g[2]),F=0;F=0&&(R=X,z=F):Math.abs(f[1]-R[1])<.01?Math.abs(f[1]-X[1])<.01&&(X[0]-f[0])*(R[0]-X[0])>=0&&(R=X,z=F):v.log(\"endpt to newendpt is not vert. or horz.\",f,R,X)}if(f=R,z>=0)break;b+=\"L\"+R}if(z===M.edgepaths.length){v.log(\"unclosed perimeter path\");break}d=z,y=u.indexOf(d)===-1,y&&(d=u[0],b+=\"Z\")}for(d=0;dc.MAXCOST*2)break;O&&(R/=2),f=z-R/2,L=f+R*1.5}if(N<=c.MAXCOST)return F};function _(M,g,b,d){var u=g.width/2,y=g.height/2,f=M.x,R=M.y,L=M.theta,z=Math.cos(L)*u,F=Math.sin(L)*u,N=(f>d.center?d.right-f:f-d.left)/(z+Math.abs(Math.sin(L)*y)),O=(R>d.middle?d.bottom-R:R-d.top)/(Math.abs(F)+Math.cos(L)*y);if(N<1||O<1)return 1/0;var P=c.EDGECOST*(1/(N-1)+1/(O-1));P+=c.ANGLECOST*L*L;for(var U=f-z,B=R-F,X=f+z,$=R+F,se=0;se=w)&&(r<=_&&(r=_),o>=w&&(o=w),n=Math.floor((o-r)/a)+1,i=0),l=0;l_&&(m.unshift(_),p.unshift(p[0])),m[m.length-1]2?s.value=s.value.slice(2):s.length===0?s.value=[0,1]:s.length<2?(h=parseFloat(s.value[0]),s.value=[h,h+1]):s.value=[parseFloat(s.value[0]),parseFloat(s.value[1])]:v(s.value)&&(h=parseFloat(s.value),s.value=[h,h+1])):(i(\"contours.value\",0),v(s.value)||(r(s.value)?s.value=parseFloat(s.value[0]):s.value=0))}}}),yF=Xe({\"src/traces/contour/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=X2(),S=Qd(),E=TS(),e=s3(),t=l3(),r=q_(),o=V_();G.exports=function(n,i,s,h){function c(l,_){return v.coerce(n,i,o,l,_)}function m(l){return v.coerce2(n,i,o,l)}var p=x(n,i,c,h);if(!p){i.visible=!1;return}S(n,i,h,c),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"text\"),c(\"hovertext\"),c(\"hoverongaps\"),c(\"hovertemplate\"),c(\"hovertemplatefallback\");var T=c(\"contours.type\")===\"constraint\";c(\"connectgaps\",v.isArray1D(i.z)),T?E(n,i,c,h,s):(e(n,i,c,m),t(n,i,c,h)),i.contours&&i.contours.coloring===\"heatmap\"&&r(c,h),c(\"zorder\")}}}),_F=Xe({\"src/traces/contour/index.js\"(Z,G){\"use strict\";G.exports={attributes:V_(),supplyDefaults:yF(),calc:vS(),plot:u3().plot,style:c3(),colorbar:f3(),hoverPoints:wS(),moduleType:\"trace\",name:\"contour\",basePlotModule:Kf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}}}),xF=Xe({\"lib/contour.js\"(Z,G){\"use strict\";G.exports=_F()}}),AS=Xe({\"src/traces/scatterternary/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:v,texttemplateAttrs:x,templatefallbackAttrs:S}=Jl(),E=$d(),e=af(),t=ru(),r=ku(),o=Gh().dash,a=Qo().extendFlat,n=e.marker,i=e.line,s=n.line;G.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:a({},e.mode,{dflt:\"markers\"}),text:a({},e.text,{}),texttemplate:x({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),texttemplatefallback:S({editType:\"plot\"}),hovertext:a({},e.hovertext,{}),line:{color:i.color,width:i.width,dash:o,backoff:i.backoff,shape:a({},i.shape,{values:[\"linear\",\"spline\"]}),smoothing:i.smoothing,editType:\"calc\"},connectgaps:e.connectgaps,cliponaxis:e.cliponaxis,fill:a({},e.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:E(),marker:a({symbol:n.symbol,opacity:n.opacity,angle:n.angle,angleref:n.angleref,standoff:n.standoff,maxdisplayed:n.maxdisplayed,size:n.size,sizeref:n.sizeref,sizemin:n.sizemin,sizemode:n.sizemode,line:a({width:s.width,dash:s.dash,editType:\"calc\"},r(\"marker.line\")),gradient:n.gradient,editType:\"calc\"},r(\"marker\")),textfont:e.textfont,textposition:e.textposition,selected:e.selected,unselected:e.unselected,hoverinfo:a({},t.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:e.hoveron,hovertemplate:v(),hovertemplatefallback:S()}}}),bF=Xe({\"src/traces/scatterternary/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Tv(),S=Fu(),E=md(),e=Dd(),t=o1(),r=zd(),o=ev(),a=AS();G.exports=function(i,s,h,c){function m(M,g){return v.coerce(i,s,a,M,g)}var p=m(\"a\"),T=m(\"b\"),l=m(\"c\"),_;if(p?(_=p.length,T?(_=Math.min(_,T.length),l&&(_=Math.min(_,l.length))):l?_=Math.min(_,l.length):_=0):T&&l&&(_=Math.min(T.length,l.length)),!_){s.visible=!1;return}s._length=_,m(\"sum\"),m(\"text\"),m(\"hovertext\"),s.hoveron!==\"fills\"&&(m(\"hovertemplate\"),m(\"hovertemplatefallback\"));var w=_\"),o.hovertemplate=c.hovertemplate,r}}}),MF=Xe({\"src/traces/scatterternary/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S,E,e,t){if(S.xa&&(x.xaxis=S.xa),S.ya&&(x.yaxis=S.ya),e[t]){var r=e[t];x.a=r.a,x.b=r.b,x.c=r.c}else x.a=S.a,x.b=S.b,x.c=S.c;return x}}}),EF=Xe({\"src/plots/ternary/ternary.js\"(Z,G){\"use strict\";var v=Hn(),x=Ch(),S=so(),E=sa(),e=E.strTranslate,t=E._,r=$n(),o=es(),a=wv(),n=Qo().extendFlat,i=bc(),s=Go(),h=Ap(),c=rf(),m=Jd(),p=m.freeMode,T=m.rectMode,l=K0(),_=Af().prepSelect,w=Af().selectOnClick,A=Af().clearOutline,M=Af().clearSelectionsCache,g=lh();function b(P,U){this.id=P.id,this.graphDiv=P.graphDiv,this.init(U),this.makeFramework(U),this.updateFx(U),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}G.exports=b;var d=b.prototype;d.init=function(P){this.container=P._ternarylayer,this.defs=P._defs,this.layoutId=P._uid,this.traceHash={},this.layers={}},d.plot=function(P,U){var B=this,X=U[B.id],$=U._size;B._hasClipOnAxisFalse=!1;for(var se=0;seu*Y?(ce=Y,re=ce*u):(re=V,ce=re/u),be=le*re/V,Ae=fe*ce/Y,j=U.l+U.w*$-re/2,Q=U.t+U.h*(1-se)-ce/2,B.x0=j,B.y0=Q,B.w=re,B.h=ce,B.sum=ee,B.xaxis={type:\"linear\",range:[q+2*ae-ee,ee-q-2*oe],domain:[$-be/2,$+be/2],_id:\"x\"},a(B.xaxis,B.graphDiv._fullLayout),B.xaxis.setScale(),B.xaxis.isPtWithinRange=function(Oe){return Oe.a>=B.aaxis.range[0]&&Oe.a<=B.aaxis.range[1]&&Oe.b>=B.baxis.range[1]&&Oe.b<=B.baxis.range[0]&&Oe.c>=B.caxis.range[1]&&Oe.c<=B.caxis.range[0]},B.yaxis={type:\"linear\",range:[q,ee-oe-ae],domain:[se-Ae/2,se+Ae/2],_id:\"y\"},a(B.yaxis,B.graphDiv._fullLayout),B.yaxis.setScale(),B.yaxis.isPtWithinRange=function(){return!0};var De=B.yaxis.domain[0],ze=B.aaxis=n({},P.aaxis,{range:[q,ee-oe-ae],side:\"left\",tickangle:(+P.aaxis.tickangle||0)-30,domain:[De,De+Ae*u],anchor:\"free\",position:0,_id:\"y\",_length:re});a(ze,B.graphDiv._fullLayout),ze.setScale();var Ze=B.baxis=n({},P.baxis,{range:[ee-q-ae,oe],side:\"bottom\",domain:B.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:re});a(Ze,B.graphDiv._fullLayout),Ze.setScale();var at=B.caxis=n({},P.caxis,{range:[ee-q-oe,ae],side:\"right\",tickangle:(+P.caxis.tickangle||0)+30,domain:[De,De+Ae*u],anchor:\"free\",position:0,_id:\"y\",_length:re});a(at,B.graphDiv._fullLayout),at.setScale();var nt=\"M\"+j+\",\"+(Q+ce)+\"h\"+re+\"l-\"+re/2+\",-\"+ce+\"Z\";B.clipDef.select(\"path\").attr(\"d\",nt),B.layers.plotbg.select(\"path\").attr(\"d\",nt);var rt=\"M0,\"+ce+\"h\"+re+\"l-\"+re/2+\",-\"+ce+\"Z\";B.clipDefRelative.select(\"path\").attr(\"d\",rt);var st=e(j,Q);B.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",st),B.clipDefRelative.select(\"path\").attr(\"transform\",null);var Me=e(j-Ze._offset,Q+ce);B.layers.baxis.attr(\"transform\",Me),B.layers.bgrid.attr(\"transform\",Me);var ye=e(j+re/2,Q)+\"rotate(30)\"+e(0,-ze._offset);B.layers.aaxis.attr(\"transform\",ye),B.layers.agrid.attr(\"transform\",ye);var he=e(j+re/2,Q)+\"rotate(-30)\"+e(0,-at._offset);B.layers.caxis.attr(\"transform\",he),B.layers.cgrid.attr(\"transform\",he),B.drawAxes(!0),B.layers.aline.select(\"path\").attr(\"d\",ze.showline?\"M\"+j+\",\"+(Q+ce)+\"l\"+re/2+\",-\"+ce:\"M0,0\").call(r.stroke,ze.linecolor||\"#000\").style(\"stroke-width\",(ze.linewidth||0)+\"px\"),B.layers.bline.select(\"path\").attr(\"d\",Ze.showline?\"M\"+j+\",\"+(Q+ce)+\"h\"+re:\"M0,0\").call(r.stroke,Ze.linecolor||\"#000\").style(\"stroke-width\",(Ze.linewidth||0)+\"px\"),B.layers.cline.select(\"path\").attr(\"d\",at.showline?\"M\"+(j+re/2)+\",\"+Q+\"l\"+re/2+\",\"+ce:\"M0,0\").call(r.stroke,at.linecolor||\"#000\").style(\"stroke-width\",(at.linewidth||0)+\"px\"),B.graphDiv._context.staticPlot||B.initInteractions(),o.setClipUrl(B.layers.frontplot,B._hasClipOnAxisFalse?null:B.clipId,B.graphDiv)},d.drawAxes=function(P){var U=this,B=U.graphDiv,X=U.id.slice(7)+\"title\",$=U.layers,se=U.aaxis,le=U.baxis,fe=U.caxis;if(U.drawAx(se),U.drawAx(le),U.drawAx(fe),P){var V=Math.max(se.showticklabels?se.tickfont.size/2:0,(fe.showticklabels?fe.tickfont.size*.75:0)+(fe.ticks===\"outside\"?fe.ticklen*.87:0)),Y=(le.showticklabels?le.tickfont.size:0)+(le.ticks===\"outside\"?le.ticklen:0)+3;$[\"a-title\"]=l.draw(B,\"a\"+X,{propContainer:se,propName:U.id+\".aaxis.title.text\",placeholder:t(B,\"Click to enter Component A title\"),attributes:{x:U.x0+U.w/2,y:U.y0-se.title.font.size/3-V,\"text-anchor\":\"middle\"}}),$[\"b-title\"]=l.draw(B,\"b\"+X,{propContainer:le,propName:U.id+\".baxis.title.text\",placeholder:t(B,\"Click to enter Component B title\"),attributes:{x:U.x0-Y,y:U.y0+U.h+le.title.font.size*.83+Y,\"text-anchor\":\"middle\"}}),$[\"c-title\"]=l.draw(B,\"c\"+X,{propContainer:fe,propName:U.id+\".caxis.title.text\",placeholder:t(B,\"Click to enter Component C title\"),attributes:{x:U.x0+U.w+Y,y:U.y0+U.h+fe.title.font.size*.83+Y,\"text-anchor\":\"middle\"}})}},d.drawAx=function(P){var U=this,B=U.graphDiv,X=P._name,$=X.charAt(0),se=P._id,le=U.layers[X],fe=30,V=$+\"tickLayout\",Y=y(P);U[V]!==Y&&(le.selectAll(\".\"+se+\"tick\").remove(),U[V]=Y),P.setScale();var ee=s.calcTicks(P),q=s.clipEnds(P,ee),oe=s.makeTransTickFn(P),ae=s.getTickSigns(P)[2],j=E.deg2rad(fe),Q=ae*(P.linewidth||1)/2,re=ae*P.ticklen,ce=U.w,be=U.h,Ae=$===\"b\"?\"M0,\"+Q+\"l\"+Math.sin(j)*re+\",\"+Math.cos(j)*re:\"M\"+Q+\",0l\"+Math.cos(j)*re+\",\"+-Math.sin(j)*re,De={a:\"M0,0l\"+be+\",-\"+ce/2,b:\"M0,0l-\"+ce/2+\",-\"+be,c:\"M0,0l-\"+be+\",\"+ce/2}[$];s.drawTicks(B,P,{vals:P.ticks===\"inside\"?q:ee,layer:le,path:Ae,transFn:oe,crisp:!1}),s.drawGrid(B,P,{vals:q,layer:U.layers[$+\"grid\"],path:De,transFn:oe,crisp:!1}),s.drawLabels(B,P,{vals:ee,layer:le,transFn:oe,labelFns:s.makeLabelFns(P,0,fe)})};function y(P){return P.ticks+String(P.ticklen)+String(P.showticklabels)}var f=g.MINZOOM/2+.87,R=\"m-0.87,.5h\"+f+\"v3h-\"+(f+5.2)+\"l\"+(f/2+2.6)+\",-\"+(f*.87+4.5)+\"l2.6,1.5l-\"+f/2+\",\"+f*.87+\"Z\",L=\"m0.87,.5h-\"+f+\"v3h\"+(f+5.2)+\"l-\"+(f/2+2.6)+\",-\"+(f*.87+4.5)+\"l-2.6,1.5l\"+f/2+\",\"+f*.87+\"Z\",z=\"m0,1l\"+f/2+\",\"+f*.87+\"l2.6,-1.5l-\"+(f/2+2.6)+\",-\"+(f*.87+4.5)+\"l-\"+(f/2+2.6)+\",\"+(f*.87+4.5)+\"l2.6,1.5l\"+f/2+\",-\"+f*.87+\"Z\",F=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",N=!0;d.clearOutline=function(){M(this.dragOptions),A(this.dragOptions.gd)},d.initInteractions=function(){var P=this,U=P.layers.plotbg.select(\"path\").node(),B=P.graphDiv,X=B._fullLayout._zoomlayer,$,se;this.dragOptions={element:U,gd:B,plotinfo:{id:P.id,domain:B._fullLayout[P.id].domain,xaxis:P.xaxis,yaxis:P.yaxis},subplot:P.id,prepFn:function(Me,ye,he){P.dragOptions.xaxes=[P.xaxis],P.dragOptions.yaxes=[P.yaxis],$=B._fullLayout._invScaleX,se=B._fullLayout._invScaleY;var Oe=P.dragOptions.dragmode=B._fullLayout.dragmode;p(Oe)?P.dragOptions.minDrag=1:P.dragOptions.minDrag=void 0,Oe===\"zoom\"?(P.dragOptions.moveFn=Ze,P.dragOptions.clickFn=ce,P.dragOptions.doneFn=at,be(Me,ye,he)):Oe===\"pan\"?(P.dragOptions.moveFn=rt,P.dragOptions.clickFn=ce,P.dragOptions.doneFn=st,nt(),P.clearOutline(B)):(T(Oe)||p(Oe))&&_(Me,ye,he,P.dragOptions,Oe)}};var le,fe,V,Y,ee,q,oe,ae,j,Q;function re(Me){var ye={};return ye[P.id+\".aaxis.min\"]=Me.a,ye[P.id+\".baxis.min\"]=Me.b,ye[P.id+\".caxis.min\"]=Me.c,ye}function ce(Me,ye){var he=B._fullLayout.clickmode;O(B),Me===2&&(B.emit(\"plotly_doubleclick\",null),S.call(\"_guiRelayout\",B,re({a:0,b:0,c:0}))),he.indexOf(\"select\")>-1&&Me===1&&w(ye,B,[P.xaxis],[P.yaxis],P.id,P.dragOptions),he.indexOf(\"event\")>-1&&c.click(B,ye,P.id)}function be(Me,ye,he){var Oe=U.getBoundingClientRect();le=ye-Oe.left,fe=he-Oe.top,B._fullLayout._calcInverseTransform(B);var tt=B._fullLayout._invTransform,ot=E.apply3DTransform(tt)(le,fe);le=ot[0],fe=ot[1],V={a:P.aaxis.range[0],b:P.baxis.range[1],c:P.caxis.range[1]},ee=V,Y=P.aaxis.range[1]-V.a,q=x(P.graphDiv._fullLayout[P.id].bgcolor).getLuminance(),oe=\"M0,\"+P.h+\"L\"+P.w/2+\", 0L\"+P.w+\",\"+P.h+\"Z\",ae=!1,j=X.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",e(P.x0,P.y0)).style({fill:q>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",oe),Q=X.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",e(P.x0,P.y0)).style({fill:r.background,stroke:r.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),P.clearOutline(B)}function Ae(Me,ye){return 1-ye/P.h}function De(Me,ye){return 1-(Me+(P.h-ye)/Math.sqrt(3))/P.w}function ze(Me,ye){return(Me-(P.h-ye)/Math.sqrt(3))/P.w}function Ze(Me,ye){var he=le+Me*$,Oe=fe+ye*se,tt=Math.max(0,Math.min(1,Ae(le,fe),Ae(he,Oe))),ot=Math.max(0,Math.min(1,De(le,fe),De(he,Oe))),Qe=Math.max(0,Math.min(1,ze(le,fe),ze(he,Oe))),Pt=(tt/2+Qe)*P.w,It=(1-tt/2-ot)*P.w,qt=(Pt+It)/2,Wt=It-Pt,kr=(1-tt)*P.h,mr=kr-Wt/u;Wt.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),Q.transition().style(\"opacity\",1).duration(200),ae=!0),B.emit(\"plotly_relayouting\",re(ee))}function at(){O(B),ee!==V&&(S.call(\"_guiRelayout\",B,re(ee)),N&&B.data&&B._context.showTips&&(E.notifier(t(B,\"Double-click to zoom back out\"),\"long\"),N=!1))}function nt(){V={a:P.aaxis.range[0],b:P.baxis.range[1],c:P.caxis.range[1]},ee=V}function rt(Me,ye){var he=Me/P.xaxis._m,Oe=ye/P.yaxis._m;ee={a:V.a-Oe,b:V.b+(he+Oe)/2,c:V.c-(he-Oe)/2};var tt=[ee.a,ee.b,ee.c].sort(E.sorterAsc),ot={a:tt.indexOf(ee.a),b:tt.indexOf(ee.b),c:tt.indexOf(ee.c)};tt[0]<0&&(tt[1]+tt[0]/2<0?(tt[2]+=tt[0]+tt[1],tt[0]=tt[1]=0):(tt[2]+=tt[0]/2,tt[1]+=tt[0]/2,tt[0]=0),ee={a:tt[ot.a],b:tt[ot.b],c:tt[ot.c]},ye=(V.a-ee.a)*P.yaxis._m,Me=(V.c-ee.c-V.b+ee.b)*P.xaxis._m);var Qe=e(P.x0+Me,P.y0+ye);P.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",Qe);var Pt=e(-Me,-ye);P.clipDefRelative.select(\"path\").attr(\"transform\",Pt),P.aaxis.range=[ee.a,P.sum-ee.b-ee.c],P.baxis.range=[P.sum-ee.a-ee.c,ee.b],P.caxis.range=[P.sum-ee.a-ee.b,ee.c],P.drawAxes(!1),P._hasClipOnAxisFalse&&P.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(o.hideOutsideRangePoints,P),B.emit(\"plotly_relayouting\",re(ee))}function st(){S.call(\"_guiRelayout\",B,re(ee))}U.onmousemove=function(Me){c.hover(B,Me,P.id),B._fullLayout._lasthover=U,B._fullLayout._hoversubplot=P.id},U.onmouseout=function(Me){B._dragging||h.unhover(B,Me)},h.init(this.dragOptions)};function O(P){v.select(P).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}}}),SS=Xe({\"src/plots/ternary/layout_attributes.js\"(Z,G){\"use strict\";var v=sh(),x=wc().attributes,S=Wh(),E=pc().overrideAll,e=Qo().extendFlat,t={title:{text:S.title.text,font:S.title.font},color:S.color,tickmode:S.minor.tickmode,nticks:e({},S.nticks,{dflt:6,min:1}),tick0:S.tick0,dtick:S.dtick,tickvals:S.tickvals,ticktext:S.ticktext,ticks:S.ticks,ticklen:S.ticklen,tickwidth:S.tickwidth,tickcolor:S.tickcolor,ticklabelstep:S.ticklabelstep,showticklabels:S.showticklabels,labelalias:S.labelalias,showtickprefix:S.showtickprefix,tickprefix:S.tickprefix,showticksuffix:S.showticksuffix,ticksuffix:S.ticksuffix,showexponent:S.showexponent,exponentformat:S.exponentformat,minexponent:S.minexponent,separatethousands:S.separatethousands,tickfont:S.tickfont,tickangle:S.tickangle,tickformat:S.tickformat,tickformatstops:S.tickformatstops,hoverformat:S.hoverformat,showline:e({},S.showline,{dflt:!0}),linecolor:S.linecolor,linewidth:S.linewidth,showgrid:e({},S.showgrid,{dflt:!0}),gridcolor:S.gridcolor,gridwidth:S.gridwidth,griddash:S.griddash,layer:S.layer,min:{valType:\"number\",dflt:0,min:0}},r=G.exports=E({domain:x({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:v.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:t,baxis:t,caxis:t},\"plot\",\"from-root\");r.uirevision={valType:\"any\",editType:\"none\"},r.aaxis.uirevision=r.baxis.uirevision=r.caxis.uirevision={valType:\"any\",editType:\"none\"}}}),o0=Xe({\"src/plots/subplot_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=zl(),S=wc().defaults;G.exports=function(e,t,r,o){var a=o.type,n=o.attributes,i=o.handleDefaults,s=o.partition||\"x\",h=t._subplots[a],c=h.length,m=c&&h[0].replace(/\\d+$/,\"\"),p,T;function l(M,g){return v.coerce(p,T,n,M,g)}for(var _=0;_=_&&(b.min=0,d.min=0,u.min=0,c.aaxis&&delete c.aaxis.min,c.baxis&&delete c.baxis.min,c.caxis&&delete c.caxis.min)}function h(c,m,p,T){var l=n[m._name];function _(y,f){return S.coerce(c,m,l,y,f)}_(\"uirevision\",T.uirevision),m.type=\"linear\";var w=_(\"color\"),A=w!==l.color.dflt?w:p.font.color,M=m._name,g=M.charAt(0).toUpperCase(),b=\"Component \"+g,d=_(\"title.text\",b);m._hovertitle=d===b?d:g,S.coerceFont(_,\"title.font\",p.font,{overrideDflt:{size:S.bigFont(p.font.size),color:A}}),_(\"min\"),o(c,m,_,\"linear\"),t(c,m,_,\"linear\"),e(c,m,_,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),r(c,m,_,{outerTicks:!0});var u=_(\"showticklabels\");u&&(S.coerceFont(_,\"tickfont\",p.font,{overrideDflt:{color:A}}),_(\"tickangle\"),_(\"tickformat\")),a(c,m,_,{dfltColor:w,bgColor:p.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:l}),_(\"hoverformat\"),_(\"layer\")}}}),CF=Xe({\"src/plots/ternary/index.js\"(Z){\"use strict\";var G=EF(),v=Hh().getSubplotCalcData,x=sa().counterRegex,S=\"ternary\";Z.name=S;var E=Z.attr=\"subplot\";Z.idRoot=S,Z.idRegex=Z.attrRegex=x(S);var e=Z.attributes={};e[E]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"},Z.layoutAttributes=SS(),Z.supplyLayoutDefaults=kF(),Z.plot=function(r){for(var o=r._fullLayout,a=r.calcdata,n=o._subplots[S],i=0;i0){var M=r.xa,g=r.ya,b,d,u,y,f;c.orientation===\"h\"?(f=o,b=\"y\",u=g,d=\"x\",y=M):(f=a,b=\"x\",u=M,d=\"y\",y=g);var R=h[r.index];if(f>=R.span[0]&&f<=R.span[1]){var L=x.extendFlat({},r),z=y.c2p(f,!0),F=e.getKdeValue(R,c,f),N=e.getPositionOnKdePath(R,c,z),O=u._offset,P=u._length;L[b+\"0\"]=N[0],L[b+\"1\"]=N[1],L[d+\"0\"]=L[d+\"1\"]=z,L[d+\"Label\"]=d+\": \"+S.hoverLabelText(y,f,c[d+\"hoverformat\"])+\", \"+h[0].t.labels.kde+\" \"+F.toFixed(3);for(var U=0,B=0;B path\").each(function(p){if(!p.isBlank){var T=m.marker;v.select(this).call(S.fill,p.mc||T.color).call(S.stroke,p.mlc||T.line.color).call(x.dashLine,T.line.dash,p.mlw||T.line.width).style(\"opacity\",m.selectedpoints&&!p.selected?E:1)}}),r(c,m,a),c.selectAll(\".regions\").each(function(){v.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(S.fill,m.connector.fillcolor)}),c.selectAll(\".lines\").each(function(){var p=m.connector.line;x.lineGroupStyle(v.select(this).selectAll(\"path\"),p.width,p.color,p.dash)})})}G.exports={style:o}}}),ZF=Xe({\"src/traces/funnel/hover.js\"(Z,G){\"use strict\";var v=$n().opacity,x=f1().hoverOnBars,S=sa().formatPercent;G.exports=function(t,r,o,a,n){var i=x(t,r,o,a,n);if(i){var s=i.cd,h=s[0].trace,c=h.orientation===\"h\",m=i.index,p=s[m],T=c?\"x\":\"y\";i[T+\"LabelVal\"]=p.s,i.percentInitial=p.begR,i.percentInitialLabel=S(p.begR,1),i.percentPrevious=p.difR,i.percentPreviousLabel=S(p.difR,1),i.percentTotal=p.sumR,i.percentTotalLabel=S(p.sumR,1);var l=p.hi||h.hoverinfo,_=[];if(l&&l!==\"none\"&&l!==\"skip\"){var w=l===\"all\",A=l.split(\"+\"),M=function(g){return w||A.indexOf(g)!==-1};M(\"percent initial\")&&_.push(i.percentInitialLabel+\" of initial\"),M(\"percent previous\")&&_.push(i.percentPreviousLabel+\" of previous\"),M(\"percent total\")&&_.push(i.percentTotalLabel+\" of total\")}return i.extraText=_.join(\"
\"),i.color=E(h,p),[i]}};function E(e,t){var r=e.marker,o=t.mc||r.color,a=t.mlc||r.line.color,n=t.mlw||r.line.width;if(v(o))return o;if(v(a)&&n)return a}}}),YF=Xe({\"src/traces/funnel/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S){return x.x=\"xVal\"in S?S.xVal:S.x,x.y=\"yVal\"in S?S.yVal:S.y,\"percentInitial\"in S&&(x.percentInitial=S.percentInitial),\"percentPrevious\"in S&&(x.percentPrevious=S.percentPrevious),\"percentTotal\"in S&&(x.percentTotal=S.percentTotal),S.xa&&(x.xaxis=S.xa),S.ya&&(x.yaxis=S.ya),x}}}),KF=Xe({\"src/traces/funnel/index.js\"(Z,G){\"use strict\";G.exports={attributes:kS(),layoutAttributes:CS(),supplyDefaults:LS().supplyDefaults,crossTraceDefaults:LS().crossTraceDefaults,supplyLayoutDefaults:qF(),calc:GF(),crossTraceCalc:HF(),plot:WF(),style:XF().style,hoverPoints:ZF(),eventData:YF(),selectPoints:h1(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Kf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}}}),JF=Xe({\"lib/funnel.js\"(Z,G){\"use strict\";G.exports=KF()}}),$F=Xe({\"src/traces/waterfall/constants.js\"(Z,G){\"use strict\";G.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}}}),PS=Xe({\"src/traces/waterfall/attributes.js\"(Z,G){\"use strict\";var v=Sv(),x=af().line,S=ru(),E=tf().axisHoverFormat,{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=Jl(),o=$F(),a=Qo().extendFlat,n=$n();function i(s){return{marker:{color:a({},v.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:a({},v.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:a({},v.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}G.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:v.x,x0:v.x0,dx:v.dx,y:v.y,y0:v.y0,dy:v.dy,xperiod:v.xperiod,yperiod:v.yperiod,xperiod0:v.xperiod0,yperiod0:v.yperiod0,xperiodalignment:v.xperiodalignment,yperiodalignment:v.yperiodalignment,xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),hovertext:v.hovertext,hovertemplate:e({},{keys:o.eventDataKeys}),hovertemplatefallback:r(),hoverinfo:a({},S.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:t({editType:\"plot\"},{keys:o.eventDataKeys.concat([\"label\"])}),texttemplatefallback:r({editType:\"plot\"}),text:v.text,textposition:v.textposition,insidetextanchor:v.insidetextanchor,textangle:v.textangle,textfont:v.textfont,insidetextfont:v.insidetextfont,outsidetextfont:v.outsidetextfont,constraintext:v.constraintext,cliponaxis:v.cliponaxis,orientation:v.orientation,offset:v.offset,width:v.width,increasing:i(\"increasing\"),decreasing:i(\"decreasing\"),totals:i(\"intermediate sums and total\"),connector:{line:{color:a({},x.color,{dflt:n.defaultLine}),width:a({},x.width,{editType:\"plot\"}),dash:x.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:v.offsetgroup,alignmentgroup:v.alignmentgroup,zorder:v.zorder}}}),IS=Xe({\"src/traces/waterfall/layout_attributes.js\"(Z,G){\"use strict\";G.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\"}}}}),d1=Xe({\"src/constants/delta.js\"(Z,G){\"use strict\";G.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}}}),RS=Xe({\"src/traces/waterfall/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Q0(),S=gd().handleText,E=n1(),e=Qd(),t=PS(),r=$n(),o=d1(),a=o.INCREASING.COLOR,n=o.DECREASING.COLOR,i=\"#4499FF\";function s(m,p,T){m(p+\".marker.color\",T),m(p+\".marker.line.color\",r.defaultLine),m(p+\".marker.line.width\")}function h(m,p,T,l){function _(b,d){return v.coerce(m,p,t,b,d)}var w=E(m,p,l,_);if(!w){p.visible=!1;return}e(m,p,l,_),_(\"xhoverformat\"),_(\"yhoverformat\"),_(\"measure\"),_(\"orientation\",p.x&&!p.y?\"h\":\"v\"),_(\"base\"),_(\"offset\"),_(\"width\"),_(\"text\"),_(\"hovertext\"),_(\"hovertemplate\"),_(\"hovertemplatefallback\");var A=_(\"textposition\");S(m,p,l,_,A,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),p.textposition!==\"none\"&&(_(\"texttemplate\"),_(\"texttemplatefallback\"),p.texttemplate||_(\"textinfo\")),s(_,\"increasing\",a),s(_,\"decreasing\",n),s(_,\"totals\",i);var M=_(\"connector.visible\");if(M){_(\"connector.mode\");var g=_(\"connector.line.width\");g&&(_(\"connector.line.color\"),_(\"connector.line.dash\"))}_(\"zorder\")}function c(m,p){var T,l;function _(A){return v.coerce(l._input,l,t,A)}if(p.waterfallmode===\"group\")for(var w=0;w0&&(_?f+=\"M\"+u[0]+\",\"+y[1]+\"V\"+y[0]:f+=\"M\"+u[1]+\",\"+y[0]+\"H\"+u[0]),w!==\"between\"&&(g.isSum||b path\").each(function(p){if(!p.isBlank){var T=m[p.dir].marker;v.select(this).call(S.fill,T.color).call(S.stroke,T.line.color).call(x.dashLine,T.line.dash,T.line.width).style(\"opacity\",m.selectedpoints&&!p.selected?E:1)}}),r(c,m,a),c.selectAll(\".lines\").each(function(){var p=m.connector.line;x.lineGroupStyle(v.select(this).selectAll(\"path\"),p.width,p.color,p.dash)})})}G.exports={style:o}}}),iO=Xe({\"src/traces/waterfall/hover.js\"(Z,G){\"use strict\";var v=Go().hoverLabelText,x=$n().opacity,S=f1().hoverOnBars,E=d1(),e={increasing:E.INCREASING.SYMBOL,decreasing:E.DECREASING.SYMBOL};G.exports=function(o,a,n,i,s){var h=S(o,a,n,i,s);if(!h)return;var c=h.cd,m=c[0].trace,p=m.orientation===\"h\",T=p?\"x\":\"y\",l=p?o.xa:o.ya;function _(R){return v(l,R,m[T+\"hoverformat\"])}var w=h.index,A=c[w],M=A.isSum?A.b+A.s:A.rawS;h.initial=A.b+A.s-M,h.delta=M,h.final=h.initial+h.delta;var g=_(Math.abs(h.delta));h.deltaLabel=M<0?\"(\"+g+\")\":g,h.finalLabel=_(h.final),h.initialLabel=_(h.initial);var b=A.hi||m.hoverinfo,d=[];if(b&&b!==\"none\"&&b!==\"skip\"){var u=b===\"all\",y=b.split(\"+\"),f=function(R){return u||y.indexOf(R)!==-1};A.isSum||(f(\"final\")&&(p?!f(\"x\"):!f(\"y\"))&&d.push(h.finalLabel),f(\"delta\")&&(M<0?d.push(h.deltaLabel+\" \"+e.decreasing):d.push(h.deltaLabel+\" \"+e.increasing)),f(\"initial\")&&d.push(\"Initial: \"+h.initialLabel))}return d.length&&(h.extraText=d.join(\"
\")),h.color=t(m,A),[h]};function t(r,o){var a=r[o.dir].marker,n=a.color,i=a.line.color,s=a.line.width;if(x(n))return n;if(x(i)&&s)return i}}}),nO=Xe({\"src/traces/waterfall/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S){return x.x=\"xVal\"in S?S.xVal:S.x,x.y=\"yVal\"in S?S.yVal:S.y,\"initial\"in S&&(x.initial=S.initial),\"delta\"in S&&(x.delta=S.delta),\"final\"in S&&(x.final=S.final),S.xa&&(x.xaxis=S.xa),S.ya&&(x.yaxis=S.ya),x}}}),oO=Xe({\"src/traces/waterfall/index.js\"(Z,G){\"use strict\";G.exports={attributes:PS(),layoutAttributes:IS(),supplyDefaults:RS().supplyDefaults,crossTraceDefaults:RS().crossTraceDefaults,supplyLayoutDefaults:QF(),calc:eO(),crossTraceCalc:tO(),plot:rO(),style:aO().style,hoverPoints:iO(),eventData:nO(),selectPoints:h1(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Kf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}}}),sO=Xe({\"lib/waterfall.js\"(Z,G){\"use strict\";G.exports=oO()}}),v1=Xe({\"src/traces/image/constants.js\"(Z,G){\"use strict\";G.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(v){return v.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(v){return v.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(v){return v.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(v){var x=v.slice(0,3);return x[1]=x[1]+\"%\",x[2]=x[2]+\"%\",x},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(v){var x=v.slice(0,4);return x[1]=x[1]+\"%\",x[2]=x[2]+\"%\",x},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}}}),DS=Xe({\"src/traces/image/attributes.js\"(Z,G){\"use strict\";var v=ru(),x=af().zorder,{hovertemplateAttrs:S,templatefallbackAttrs:E}=Jl(),e=Qo().extendFlat,t=v1().colormodel,r=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],o=[],a=[];for(i=0;i0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var m=h.indexOf(\"=\");m===-1&&(m=c);var p=m===c?0:4-m%4;return[m,p]}function r(h){var c=t(h),m=c[0],p=c[1];return(m+p)*3/4-p}function o(h,c,m){return(c+m)*3/4-m}function a(h){var c,m=t(h),p=m[0],T=m[1],l=new x(o(h,p,T)),_=0,w=T>0?p-4:p,A;for(A=0;A>16&255,l[_++]=c>>8&255,l[_++]=c&255;return T===2&&(c=v[h.charCodeAt(A)]<<2|v[h.charCodeAt(A+1)]>>4,l[_++]=c&255),T===1&&(c=v[h.charCodeAt(A)]<<10|v[h.charCodeAt(A+1)]<<4|v[h.charCodeAt(A+2)]>>2,l[_++]=c>>8&255,l[_++]=c&255),l}function n(h){return G[h>>18&63]+G[h>>12&63]+G[h>>6&63]+G[h&63]}function i(h,c,m){for(var p,T=[],l=c;lw?w:_+l));return p===1?(c=h[m-1],T.push(G[c>>2]+G[c<<4&63]+\"==\")):p===2&&(c=(h[m-2]<<8)+h[m-1],T.push(G[c>>10]+G[c>>4&63]+G[c<<2&63]+\"=\")),T.join(\"\")}}}),cO=Xe({\"node_modules/ieee754/index.js\"(Z){Z.read=function(G,v,x,S,E){var e,t,r=E*8-S-1,o=(1<>1,n=-7,i=x?E-1:0,s=x?-1:1,h=G[v+i];for(i+=s,e=h&(1<<-n)-1,h>>=-n,n+=r;n>0;e=e*256+G[v+i],i+=s,n-=8);for(t=e&(1<<-n)-1,e>>=-n,n+=S;n>0;t=t*256+G[v+i],i+=s,n-=8);if(e===0)e=1-a;else{if(e===o)return t?NaN:(h?-1:1)*(1/0);t=t+Math.pow(2,S),e=e-a}return(h?-1:1)*t*Math.pow(2,e-S)},Z.write=function(G,v,x,S,E,e){var t,r,o,a=e*8-E-1,n=(1<>1,s=E===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=S?0:e-1,c=S?1:-1,m=v<0||v===0&&1/v<0?1:0;for(v=Math.abs(v),isNaN(v)||v===1/0?(r=isNaN(v)?1:0,t=n):(t=Math.floor(Math.log(v)/Math.LN2),v*(o=Math.pow(2,-t))<1&&(t--,o*=2),t+i>=1?v+=s/o:v+=s*Math.pow(2,1-i),v*o>=2&&(t++,o/=2),t+i>=n?(r=0,t=n):t+i>=1?(r=(v*o-1)*Math.pow(2,E),t=t+i):(r=v*Math.pow(2,i-1)*Math.pow(2,E),t=0));E>=8;G[x+h]=r&255,h+=c,r/=256,E-=8);for(t=t<0;G[x+h]=t&255,h+=c,t/=256,a-=8);G[x+h-c]|=m*128}}}),rg=Xe({\"node_modules/buffer/index.js\"(Z){\"use strict\";var G=uO(),v=cO(),x=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;Z.Buffer=t,Z.SlowBuffer=T,Z.INSPECT_MAX_BYTES=50;var S=2147483647;Z.kMaxLength=S,t.TYPED_ARRAY_SUPPORT=E(),!t.TYPED_ARRAY_SUPPORT&&typeof console<\"u\"&&typeof console.error==\"function\"&&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.\");function E(){try{let Me=new Uint8Array(1),ye={foo:function(){return 42}};return Object.setPrototypeOf(ye,Uint8Array.prototype),Object.setPrototypeOf(Me,ye),Me.foo()===42}catch{return!1}}Object.defineProperty(t.prototype,\"parent\",{enumerable:!0,get:function(){if(t.isBuffer(this))return this.buffer}}),Object.defineProperty(t.prototype,\"offset\",{enumerable:!0,get:function(){if(t.isBuffer(this))return this.byteOffset}});function e(Me){if(Me>S)throw new RangeError('The value \"'+Me+'\" is invalid for option \"size\"');let ye=new Uint8Array(Me);return Object.setPrototypeOf(ye,t.prototype),ye}function t(Me,ye,he){if(typeof Me==\"number\"){if(typeof ye==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return n(Me)}return r(Me,ye,he)}t.poolSize=8192;function r(Me,ye,he){if(typeof Me==\"string\")return i(Me,ye);if(ArrayBuffer.isView(Me))return h(Me);if(Me==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof Me);if(Ze(Me,ArrayBuffer)||Me&&Ze(Me.buffer,ArrayBuffer)||typeof SharedArrayBuffer<\"u\"&&(Ze(Me,SharedArrayBuffer)||Me&&Ze(Me.buffer,SharedArrayBuffer)))return c(Me,ye,he);if(typeof Me==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let Oe=Me.valueOf&&Me.valueOf();if(Oe!=null&&Oe!==Me)return t.from(Oe,ye,he);let tt=m(Me);if(tt)return tt;if(typeof Symbol<\"u\"&&Symbol.toPrimitive!=null&&typeof Me[Symbol.toPrimitive]==\"function\")return t.from(Me[Symbol.toPrimitive](\"string\"),ye,he);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof Me)}t.from=function(Me,ye,he){return r(Me,ye,he)},Object.setPrototypeOf(t.prototype,Uint8Array.prototype),Object.setPrototypeOf(t,Uint8Array);function o(Me){if(typeof Me!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Me<0)throw new RangeError('The value \"'+Me+'\" is invalid for option \"size\"')}function a(Me,ye,he){return o(Me),Me<=0?e(Me):ye!==void 0?typeof he==\"string\"?e(Me).fill(ye,he):e(Me).fill(ye):e(Me)}t.alloc=function(Me,ye,he){return a(Me,ye,he)};function n(Me){return o(Me),e(Me<0?0:p(Me)|0)}t.allocUnsafe=function(Me){return n(Me)},t.allocUnsafeSlow=function(Me){return n(Me)};function i(Me,ye){if((typeof ye!=\"string\"||ye===\"\")&&(ye=\"utf8\"),!t.isEncoding(ye))throw new TypeError(\"Unknown encoding: \"+ye);let he=l(Me,ye)|0,Oe=e(he),tt=Oe.write(Me,ye);return tt!==he&&(Oe=Oe.slice(0,tt)),Oe}function s(Me){let ye=Me.length<0?0:p(Me.length)|0,he=e(ye);for(let Oe=0;Oe=S)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+S.toString(16)+\" bytes\");return Me|0}function T(Me){return+Me!=Me&&(Me=0),t.alloc(+Me)}t.isBuffer=function(ye){return ye!=null&&ye._isBuffer===!0&&ye!==t.prototype},t.compare=function(ye,he){if(Ze(ye,Uint8Array)&&(ye=t.from(ye,ye.offset,ye.byteLength)),Ze(he,Uint8Array)&&(he=t.from(he,he.offset,he.byteLength)),!t.isBuffer(ye)||!t.isBuffer(he))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(ye===he)return 0;let Oe=ye.length,tt=he.length;for(let ot=0,Qe=Math.min(Oe,tt);ottt.length?(t.isBuffer(Qe)||(Qe=t.from(Qe)),Qe.copy(tt,ot)):Uint8Array.prototype.set.call(tt,Qe,ot);else if(t.isBuffer(Qe))Qe.copy(tt,ot);else throw new TypeError('\"list\" argument must be an Array of Buffers');ot+=Qe.length}return tt};function l(Me,ye){if(t.isBuffer(Me))return Me.length;if(ArrayBuffer.isView(Me)||Ze(Me,ArrayBuffer))return Me.byteLength;if(typeof Me!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Me);let he=Me.length,Oe=arguments.length>2&&arguments[2]===!0;if(!Oe&&he===0)return 0;let tt=!1;for(;;)switch(ye){case\"ascii\":case\"latin1\":case\"binary\":return he;case\"utf8\":case\"utf-8\":return ce(Me).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return he*2;case\"hex\":return he>>>1;case\"base64\":return De(Me).length;default:if(tt)return Oe?-1:ce(Me).length;ye=(\"\"+ye).toLowerCase(),tt=!0}}t.byteLength=l;function _(Me,ye,he){let Oe=!1;if((ye===void 0||ye<0)&&(ye=0),ye>this.length||((he===void 0||he>this.length)&&(he=this.length),he<=0)||(he>>>=0,ye>>>=0,he<=ye))return\"\";for(Me||(Me=\"utf8\");;)switch(Me){case\"hex\":return O(this,ye,he);case\"utf8\":case\"utf-8\":return R(this,ye,he);case\"ascii\":return F(this,ye,he);case\"latin1\":case\"binary\":return N(this,ye,he);case\"base64\":return f(this,ye,he);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return P(this,ye,he);default:if(Oe)throw new TypeError(\"Unknown encoding: \"+Me);Me=(Me+\"\").toLowerCase(),Oe=!0}}t.prototype._isBuffer=!0;function w(Me,ye,he){let Oe=Me[ye];Me[ye]=Me[he],Me[he]=Oe}t.prototype.swap16=function(){let ye=this.length;if(ye%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let he=0;hehe&&(ye+=\" ... \"),\"\"},x&&(t.prototype[x]=t.prototype.inspect),t.prototype.compare=function(ye,he,Oe,tt,ot){if(Ze(ye,Uint8Array)&&(ye=t.from(ye,ye.offset,ye.byteLength)),!t.isBuffer(ye))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof ye);if(he===void 0&&(he=0),Oe===void 0&&(Oe=ye?ye.length:0),tt===void 0&&(tt=0),ot===void 0&&(ot=this.length),he<0||Oe>ye.length||tt<0||ot>this.length)throw new RangeError(\"out of range index\");if(tt>=ot&&he>=Oe)return 0;if(tt>=ot)return-1;if(he>=Oe)return 1;if(he>>>=0,Oe>>>=0,tt>>>=0,ot>>>=0,this===ye)return 0;let Qe=ot-tt,Pt=Oe-he,It=Math.min(Qe,Pt),qt=this.slice(tt,ot),Wt=ye.slice(he,Oe);for(let kr=0;kr2147483647?he=2147483647:he<-2147483648&&(he=-2147483648),he=+he,at(he)&&(he=tt?0:Me.length-1),he<0&&(he=Me.length+he),he>=Me.length){if(tt)return-1;he=Me.length-1}else if(he<0)if(tt)he=0;else return-1;if(typeof ye==\"string\"&&(ye=t.from(ye,Oe)),t.isBuffer(ye))return ye.length===0?-1:M(Me,ye,he,Oe,tt);if(typeof ye==\"number\")return ye=ye&255,typeof Uint8Array.prototype.indexOf==\"function\"?tt?Uint8Array.prototype.indexOf.call(Me,ye,he):Uint8Array.prototype.lastIndexOf.call(Me,ye,he):M(Me,[ye],he,Oe,tt);throw new TypeError(\"val must be string, number or Buffer\")}function M(Me,ye,he,Oe,tt){let ot=1,Qe=Me.length,Pt=ye.length;if(Oe!==void 0&&(Oe=String(Oe).toLowerCase(),Oe===\"ucs2\"||Oe===\"ucs-2\"||Oe===\"utf16le\"||Oe===\"utf-16le\")){if(Me.length<2||ye.length<2)return-1;ot=2,Qe/=2,Pt/=2,he/=2}function It(Wt,kr){return ot===1?Wt[kr]:Wt.readUInt16BE(kr*ot)}let qt;if(tt){let Wt=-1;for(qt=he;qtQe&&(he=Qe-Pt),qt=he;qt>=0;qt--){let Wt=!0;for(let kr=0;krtt&&(Oe=tt)):Oe=tt;let ot=ye.length;Oe>ot/2&&(Oe=ot/2);let Qe;for(Qe=0;Qe>>0,isFinite(Oe)?(Oe=Oe>>>0,tt===void 0&&(tt=\"utf8\")):(tt=Oe,Oe=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let ot=this.length-he;if((Oe===void 0||Oe>ot)&&(Oe=ot),ye.length>0&&(Oe<0||he<0)||he>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");tt||(tt=\"utf8\");let Qe=!1;for(;;)switch(tt){case\"hex\":return g(this,ye,he,Oe);case\"utf8\":case\"utf-8\":return b(this,ye,he,Oe);case\"ascii\":case\"latin1\":case\"binary\":return d(this,ye,he,Oe);case\"base64\":return u(this,ye,he,Oe);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return y(this,ye,he,Oe);default:if(Qe)throw new TypeError(\"Unknown encoding: \"+tt);tt=(\"\"+tt).toLowerCase(),Qe=!0}},t.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function f(Me,ye,he){return ye===0&&he===Me.length?G.fromByteArray(Me):G.fromByteArray(Me.slice(ye,he))}function R(Me,ye,he){he=Math.min(Me.length,he);let Oe=[],tt=ye;for(;tt239?4:ot>223?3:ot>191?2:1;if(tt+Pt<=he){let It,qt,Wt,kr;switch(Pt){case 1:ot<128&&(Qe=ot);break;case 2:It=Me[tt+1],(It&192)===128&&(kr=(ot&31)<<6|It&63,kr>127&&(Qe=kr));break;case 3:It=Me[tt+1],qt=Me[tt+2],(It&192)===128&&(qt&192)===128&&(kr=(ot&15)<<12|(It&63)<<6|qt&63,kr>2047&&(kr<55296||kr>57343)&&(Qe=kr));break;case 4:It=Me[tt+1],qt=Me[tt+2],Wt=Me[tt+3],(It&192)===128&&(qt&192)===128&&(Wt&192)===128&&(kr=(ot&15)<<18|(It&63)<<12|(qt&63)<<6|Wt&63,kr>65535&&kr<1114112&&(Qe=kr))}}Qe===null?(Qe=65533,Pt=1):Qe>65535&&(Qe-=65536,Oe.push(Qe>>>10&1023|55296),Qe=56320|Qe&1023),Oe.push(Qe),tt+=Pt}return z(Oe)}var L=4096;function z(Me){let ye=Me.length;if(ye<=L)return String.fromCharCode.apply(String,Me);let he=\"\",Oe=0;for(;OeOe)&&(he=Oe);let tt=\"\";for(let ot=ye;otOe&&(ye=Oe),he<0?(he+=Oe,he<0&&(he=0)):he>Oe&&(he=Oe),hehe)throw new RangeError(\"Trying to access beyond buffer length\")}t.prototype.readUintLE=t.prototype.readUIntLE=function(ye,he,Oe){ye=ye>>>0,he=he>>>0,Oe||U(ye,he,this.length);let tt=this[ye],ot=1,Qe=0;for(;++Qe>>0,he=he>>>0,Oe||U(ye,he,this.length);let tt=this[ye+--he],ot=1;for(;he>0&&(ot*=256);)tt+=this[ye+--he]*ot;return tt},t.prototype.readUint8=t.prototype.readUInt8=function(ye,he){return ye=ye>>>0,he||U(ye,1,this.length),this[ye]},t.prototype.readUint16LE=t.prototype.readUInt16LE=function(ye,he){return ye=ye>>>0,he||U(ye,2,this.length),this[ye]|this[ye+1]<<8},t.prototype.readUint16BE=t.prototype.readUInt16BE=function(ye,he){return ye=ye>>>0,he||U(ye,2,this.length),this[ye]<<8|this[ye+1]},t.prototype.readUint32LE=t.prototype.readUInt32LE=function(ye,he){return ye=ye>>>0,he||U(ye,4,this.length),(this[ye]|this[ye+1]<<8|this[ye+2]<<16)+this[ye+3]*16777216},t.prototype.readUint32BE=t.prototype.readUInt32BE=function(ye,he){return ye=ye>>>0,he||U(ye,4,this.length),this[ye]*16777216+(this[ye+1]<<16|this[ye+2]<<8|this[ye+3])},t.prototype.readBigUInt64LE=rt(function(ye){ye=ye>>>0,ae(ye,\"offset\");let he=this[ye],Oe=this[ye+7];(he===void 0||Oe===void 0)&&j(ye,this.length-8);let tt=he+this[++ye]*2**8+this[++ye]*2**16+this[++ye]*2**24,ot=this[++ye]+this[++ye]*2**8+this[++ye]*2**16+Oe*2**24;return BigInt(tt)+(BigInt(ot)<>>0,ae(ye,\"offset\");let he=this[ye],Oe=this[ye+7];(he===void 0||Oe===void 0)&&j(ye,this.length-8);let tt=he*2**24+this[++ye]*2**16+this[++ye]*2**8+this[++ye],ot=this[++ye]*2**24+this[++ye]*2**16+this[++ye]*2**8+Oe;return(BigInt(tt)<>>0,he=he>>>0,Oe||U(ye,he,this.length);let tt=this[ye],ot=1,Qe=0;for(;++Qe=ot&&(tt-=Math.pow(2,8*he)),tt},t.prototype.readIntBE=function(ye,he,Oe){ye=ye>>>0,he=he>>>0,Oe||U(ye,he,this.length);let tt=he,ot=1,Qe=this[ye+--tt];for(;tt>0&&(ot*=256);)Qe+=this[ye+--tt]*ot;return ot*=128,Qe>=ot&&(Qe-=Math.pow(2,8*he)),Qe},t.prototype.readInt8=function(ye,he){return ye=ye>>>0,he||U(ye,1,this.length),this[ye]&128?(255-this[ye]+1)*-1:this[ye]},t.prototype.readInt16LE=function(ye,he){ye=ye>>>0,he||U(ye,2,this.length);let Oe=this[ye]|this[ye+1]<<8;return Oe&32768?Oe|4294901760:Oe},t.prototype.readInt16BE=function(ye,he){ye=ye>>>0,he||U(ye,2,this.length);let Oe=this[ye+1]|this[ye]<<8;return Oe&32768?Oe|4294901760:Oe},t.prototype.readInt32LE=function(ye,he){return ye=ye>>>0,he||U(ye,4,this.length),this[ye]|this[ye+1]<<8|this[ye+2]<<16|this[ye+3]<<24},t.prototype.readInt32BE=function(ye,he){return ye=ye>>>0,he||U(ye,4,this.length),this[ye]<<24|this[ye+1]<<16|this[ye+2]<<8|this[ye+3]},t.prototype.readBigInt64LE=rt(function(ye){ye=ye>>>0,ae(ye,\"offset\");let he=this[ye],Oe=this[ye+7];(he===void 0||Oe===void 0)&&j(ye,this.length-8);let tt=this[ye+4]+this[ye+5]*2**8+this[ye+6]*2**16+(Oe<<24);return(BigInt(tt)<>>0,ae(ye,\"offset\");let he=this[ye],Oe=this[ye+7];(he===void 0||Oe===void 0)&&j(ye,this.length-8);let tt=(he<<24)+this[++ye]*2**16+this[++ye]*2**8+this[++ye];return(BigInt(tt)<>>0,he||U(ye,4,this.length),v.read(this,ye,!0,23,4)},t.prototype.readFloatBE=function(ye,he){return ye=ye>>>0,he||U(ye,4,this.length),v.read(this,ye,!1,23,4)},t.prototype.readDoubleLE=function(ye,he){return ye=ye>>>0,he||U(ye,8,this.length),v.read(this,ye,!0,52,8)},t.prototype.readDoubleBE=function(ye,he){return ye=ye>>>0,he||U(ye,8,this.length),v.read(this,ye,!1,52,8)};function B(Me,ye,he,Oe,tt,ot){if(!t.isBuffer(Me))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(ye>tt||yeMe.length)throw new RangeError(\"Index out of range\")}t.prototype.writeUintLE=t.prototype.writeUIntLE=function(ye,he,Oe,tt){if(ye=+ye,he=he>>>0,Oe=Oe>>>0,!tt){let Pt=Math.pow(2,8*Oe)-1;B(this,ye,he,Oe,Pt,0)}let ot=1,Qe=0;for(this[he]=ye&255;++Qe>>0,Oe=Oe>>>0,!tt){let Pt=Math.pow(2,8*Oe)-1;B(this,ye,he,Oe,Pt,0)}let ot=Oe-1,Qe=1;for(this[he+ot]=ye&255;--ot>=0&&(Qe*=256);)this[he+ot]=ye/Qe&255;return he+Oe},t.prototype.writeUint8=t.prototype.writeUInt8=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,1,255,0),this[he]=ye&255,he+1},t.prototype.writeUint16LE=t.prototype.writeUInt16LE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,2,65535,0),this[he]=ye&255,this[he+1]=ye>>>8,he+2},t.prototype.writeUint16BE=t.prototype.writeUInt16BE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,2,65535,0),this[he]=ye>>>8,this[he+1]=ye&255,he+2},t.prototype.writeUint32LE=t.prototype.writeUInt32LE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,4,4294967295,0),this[he+3]=ye>>>24,this[he+2]=ye>>>16,this[he+1]=ye>>>8,this[he]=ye&255,he+4},t.prototype.writeUint32BE=t.prototype.writeUInt32BE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,4,4294967295,0),this[he]=ye>>>24,this[he+1]=ye>>>16,this[he+2]=ye>>>8,this[he+3]=ye&255,he+4};function X(Me,ye,he,Oe,tt){oe(ye,Oe,tt,Me,he,7);let ot=Number(ye&BigInt(4294967295));Me[he++]=ot,ot=ot>>8,Me[he++]=ot,ot=ot>>8,Me[he++]=ot,ot=ot>>8,Me[he++]=ot;let Qe=Number(ye>>BigInt(32)&BigInt(4294967295));return Me[he++]=Qe,Qe=Qe>>8,Me[he++]=Qe,Qe=Qe>>8,Me[he++]=Qe,Qe=Qe>>8,Me[he++]=Qe,he}function $(Me,ye,he,Oe,tt){oe(ye,Oe,tt,Me,he,7);let ot=Number(ye&BigInt(4294967295));Me[he+7]=ot,ot=ot>>8,Me[he+6]=ot,ot=ot>>8,Me[he+5]=ot,ot=ot>>8,Me[he+4]=ot;let Qe=Number(ye>>BigInt(32)&BigInt(4294967295));return Me[he+3]=Qe,Qe=Qe>>8,Me[he+2]=Qe,Qe=Qe>>8,Me[he+1]=Qe,Qe=Qe>>8,Me[he]=Qe,he+8}t.prototype.writeBigUInt64LE=rt(function(ye,he=0){return X(this,ye,he,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),t.prototype.writeBigUInt64BE=rt(function(ye,he=0){return $(this,ye,he,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),t.prototype.writeIntLE=function(ye,he,Oe,tt){if(ye=+ye,he=he>>>0,!tt){let It=Math.pow(2,8*Oe-1);B(this,ye,he,Oe,It-1,-It)}let ot=0,Qe=1,Pt=0;for(this[he]=ye&255;++ot>0)-Pt&255;return he+Oe},t.prototype.writeIntBE=function(ye,he,Oe,tt){if(ye=+ye,he=he>>>0,!tt){let It=Math.pow(2,8*Oe-1);B(this,ye,he,Oe,It-1,-It)}let ot=Oe-1,Qe=1,Pt=0;for(this[he+ot]=ye&255;--ot>=0&&(Qe*=256);)ye<0&&Pt===0&&this[he+ot+1]!==0&&(Pt=1),this[he+ot]=(ye/Qe>>0)-Pt&255;return he+Oe},t.prototype.writeInt8=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,1,127,-128),ye<0&&(ye=255+ye+1),this[he]=ye&255,he+1},t.prototype.writeInt16LE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,2,32767,-32768),this[he]=ye&255,this[he+1]=ye>>>8,he+2},t.prototype.writeInt16BE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,2,32767,-32768),this[he]=ye>>>8,this[he+1]=ye&255,he+2},t.prototype.writeInt32LE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,4,2147483647,-2147483648),this[he]=ye&255,this[he+1]=ye>>>8,this[he+2]=ye>>>16,this[he+3]=ye>>>24,he+4},t.prototype.writeInt32BE=function(ye,he,Oe){return ye=+ye,he=he>>>0,Oe||B(this,ye,he,4,2147483647,-2147483648),ye<0&&(ye=4294967295+ye+1),this[he]=ye>>>24,this[he+1]=ye>>>16,this[he+2]=ye>>>8,this[he+3]=ye&255,he+4},t.prototype.writeBigInt64LE=rt(function(ye,he=0){return X(this,ye,he,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),t.prototype.writeBigInt64BE=rt(function(ye,he=0){return $(this,ye,he,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function se(Me,ye,he,Oe,tt,ot){if(he+Oe>Me.length)throw new RangeError(\"Index out of range\");if(he<0)throw new RangeError(\"Index out of range\")}function le(Me,ye,he,Oe,tt){return ye=+ye,he=he>>>0,tt||se(Me,ye,he,4,34028234663852886e22,-34028234663852886e22),v.write(Me,ye,he,Oe,23,4),he+4}t.prototype.writeFloatLE=function(ye,he,Oe){return le(this,ye,he,!0,Oe)},t.prototype.writeFloatBE=function(ye,he,Oe){return le(this,ye,he,!1,Oe)};function fe(Me,ye,he,Oe,tt){return ye=+ye,he=he>>>0,tt||se(Me,ye,he,8,17976931348623157e292,-17976931348623157e292),v.write(Me,ye,he,Oe,52,8),he+8}t.prototype.writeDoubleLE=function(ye,he,Oe){return fe(this,ye,he,!0,Oe)},t.prototype.writeDoubleBE=function(ye,he,Oe){return fe(this,ye,he,!1,Oe)},t.prototype.copy=function(ye,he,Oe,tt){if(!t.isBuffer(ye))throw new TypeError(\"argument should be a Buffer\");if(Oe||(Oe=0),!tt&&tt!==0&&(tt=this.length),he>=ye.length&&(he=ye.length),he||(he=0),tt>0&&tt=this.length)throw new RangeError(\"Index out of range\");if(tt<0)throw new RangeError(\"sourceEnd out of bounds\");tt>this.length&&(tt=this.length),ye.length-he>>0,Oe=Oe===void 0?this.length:Oe>>>0,ye||(ye=0);let ot;if(typeof ye==\"number\")for(ot=he;ot2**32?tt=ee(String(he)):typeof he==\"bigint\"&&(tt=String(he),(he>BigInt(2)**BigInt(32)||he<-(BigInt(2)**BigInt(32)))&&(tt=ee(tt)),tt+=\"n\"),Oe+=` It must be ${ye}. Received ${tt}`,Oe},RangeError);function ee(Me){let ye=\"\",he=Me.length,Oe=Me[0]===\"-\"?1:0;for(;he>=Oe+4;he-=3)ye=`_${Me.slice(he-3,he)}${ye}`;return`${Me.slice(0,he)}${ye}`}function q(Me,ye,he){ae(ye,\"offset\"),(Me[ye]===void 0||Me[ye+he]===void 0)&&j(ye,Me.length-(he+1))}function oe(Me,ye,he,Oe,tt,ot){if(Me>he||Me3?ye===0||ye===BigInt(0)?Pt=`>= 0${Qe} and < 2${Qe} ** ${(ot+1)*8}${Qe}`:Pt=`>= -(2${Qe} ** ${(ot+1)*8-1}${Qe}) and < 2 ** ${(ot+1)*8-1}${Qe}`:Pt=`>= ${ye}${Qe} and <= ${he}${Qe}`,new V.ERR_OUT_OF_RANGE(\"value\",Pt,Me)}q(Oe,tt,ot)}function ae(Me,ye){if(typeof Me!=\"number\")throw new V.ERR_INVALID_ARG_TYPE(ye,\"number\",Me)}function j(Me,ye,he){throw Math.floor(Me)!==Me?(ae(Me,he),new V.ERR_OUT_OF_RANGE(he||\"offset\",\"an integer\",Me)):ye<0?new V.ERR_BUFFER_OUT_OF_BOUNDS:new V.ERR_OUT_OF_RANGE(he||\"offset\",`>= ${he?1:0} and <= ${ye}`,Me)}var Q=/[^+/0-9A-Za-z-_]/g;function re(Me){if(Me=Me.split(\"=\")[0],Me=Me.trim().replace(Q,\"\"),Me.length<2)return\"\";for(;Me.length%4!==0;)Me=Me+\"=\";return Me}function ce(Me,ye){ye=ye||1/0;let he,Oe=Me.length,tt=null,ot=[];for(let Qe=0;Qe55295&&he<57344){if(!tt){if(he>56319){(ye-=3)>-1&&ot.push(239,191,189);continue}else if(Qe+1===Oe){(ye-=3)>-1&&ot.push(239,191,189);continue}tt=he;continue}if(he<56320){(ye-=3)>-1&&ot.push(239,191,189),tt=he;continue}he=(tt-55296<<10|he-56320)+65536}else tt&&(ye-=3)>-1&&ot.push(239,191,189);if(tt=null,he<128){if((ye-=1)<0)break;ot.push(he)}else if(he<2048){if((ye-=2)<0)break;ot.push(he>>6|192,he&63|128)}else if(he<65536){if((ye-=3)<0)break;ot.push(he>>12|224,he>>6&63|128,he&63|128)}else if(he<1114112){if((ye-=4)<0)break;ot.push(he>>18|240,he>>12&63|128,he>>6&63|128,he&63|128)}else throw new Error(\"Invalid code point\")}return ot}function be(Me){let ye=[];for(let he=0;he>8,tt=he%256,ot.push(tt),ot.push(Oe);return ot}function De(Me){return G.toByteArray(re(Me))}function ze(Me,ye,he,Oe){let tt;for(tt=0;tt=ye.length||tt>=Me.length);++tt)ye[tt+he]=Me[tt];return tt}function Ze(Me,ye){return Me instanceof ye||Me!=null&&Me.constructor!=null&&Me.constructor.name!=null&&Me.constructor.name===ye.name}function at(Me){return Me!==Me}var nt=function(){let Me=\"0123456789abcdef\",ye=new Array(256);for(let he=0;he<16;++he){let Oe=he*16;for(let tt=0;tt<16;++tt)ye[Oe+tt]=Me[he]+Me[tt]}return ye}();function rt(Me){return typeof BigInt>\"u\"?st:Me}function st(){throw new Error(\"BigInt not supported\")}}}),p3=Xe({\"node_modules/has-symbols/shams.js\"(Z,G){\"use strict\";G.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var x={},S=Symbol(\"test\"),E=Object(S);if(typeof S==\"string\"||Object.prototype.toString.call(S)!==\"[object Symbol]\"||Object.prototype.toString.call(E)!==\"[object Symbol]\")return!1;var e=42;x[S]=e;for(var t in x)return!1;if(typeof Object.keys==\"function\"&&Object.keys(x).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(x).length!==0)return!1;var r=Object.getOwnPropertySymbols(x);if(r.length!==1||r[0]!==S||!Object.prototype.propertyIsEnumerable.call(x,S))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(x,S);if(o.value!==e||o.enumerable!==!0)return!1}return!0}}}),W_=Xe({\"node_modules/has-tostringtag/shams.js\"(Z,G){\"use strict\";var v=p3();G.exports=function(){return v()&&!!Symbol.toStringTag}}}),FS=Xe({\"node_modules/es-object-atoms/index.js\"(Z,G){\"use strict\";G.exports=Object}}),fO=Xe({\"node_modules/es-errors/index.js\"(Z,G){\"use strict\";G.exports=Error}}),hO=Xe({\"node_modules/es-errors/eval.js\"(Z,G){\"use strict\";G.exports=EvalError}}),pO=Xe({\"node_modules/es-errors/range.js\"(Z,G){\"use strict\";G.exports=RangeError}}),dO=Xe({\"node_modules/es-errors/ref.js\"(Z,G){\"use strict\";G.exports=ReferenceError}}),OS=Xe({\"node_modules/es-errors/syntax.js\"(Z,G){\"use strict\";G.exports=SyntaxError}}),m1=Xe({\"node_modules/es-errors/type.js\"(Z,G){\"use strict\";G.exports=TypeError}}),vO=Xe({\"node_modules/es-errors/uri.js\"(Z,G){\"use strict\";G.exports=URIError}}),mO=Xe({\"node_modules/math-intrinsics/abs.js\"(Z,G){\"use strict\";G.exports=Math.abs}}),gO=Xe({\"node_modules/math-intrinsics/floor.js\"(Z,G){\"use strict\";G.exports=Math.floor}}),yO=Xe({\"node_modules/math-intrinsics/max.js\"(Z,G){\"use strict\";G.exports=Math.max}}),_O=Xe({\"node_modules/math-intrinsics/min.js\"(Z,G){\"use strict\";G.exports=Math.min}}),xO=Xe({\"node_modules/math-intrinsics/pow.js\"(Z,G){\"use strict\";G.exports=Math.pow}}),bO=Xe({\"node_modules/math-intrinsics/round.js\"(Z,G){\"use strict\";G.exports=Math.round}}),wO=Xe({\"node_modules/math-intrinsics/isNaN.js\"(Z,G){\"use strict\";G.exports=Number.isNaN||function(x){return x!==x}}}),TO=Xe({\"node_modules/math-intrinsics/sign.js\"(Z,G){\"use strict\";var v=wO();G.exports=function(S){return v(S)||S===0?S:S<0?-1:1}}}),AO=Xe({\"node_modules/gopd/gOPD.js\"(Z,G){\"use strict\";G.exports=Object.getOwnPropertyDescriptor}}),ag=Xe({\"node_modules/gopd/index.js\"(Z,G){\"use strict\";var v=AO();if(v)try{v([],\"length\")}catch{v=null}G.exports=v}}),X_=Xe({\"node_modules/es-define-property/index.js\"(Z,G){\"use strict\";var v=Object.defineProperty||!1;if(v)try{v({},\"a\",{value:1})}catch{v=!1}G.exports=v}}),SO=Xe({\"node_modules/has-symbols/index.js\"(Z,G){\"use strict\";var v=typeof Symbol<\"u\"&&Symbol,x=p3();G.exports=function(){return typeof v!=\"function\"||typeof Symbol!=\"function\"||typeof v(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:x()}}}),BS=Xe({\"node_modules/get-proto/Reflect.getPrototypeOf.js\"(Z,G){\"use strict\";G.exports=typeof Reflect<\"u\"&&Reflect.getPrototypeOf||null}}),NS=Xe({\"node_modules/get-proto/Object.getPrototypeOf.js\"(Z,G){\"use strict\";var v=FS();G.exports=v.getPrototypeOf||null}}),MO=Xe({\"node_modules/function-bind/implementation.js\"(Z,G){\"use strict\";var v=\"Function.prototype.bind called on incompatible \",x=Object.prototype.toString,S=Math.max,E=\"[object Function]\",e=function(a,n){for(var i=[],s=0;s\"u\"||!b?v:b(Uint8Array),z={__proto__:null,\"%AggregateError%\":typeof AggregateError>\"u\"?v:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer>\"u\"?v:ArrayBuffer,\"%ArrayIteratorPrototype%\":g&&b?b([][Symbol.iterator]()):v,\"%AsyncFromSyncIteratorPrototype%\":v,\"%AsyncFunction%\":R,\"%AsyncGenerator%\":R,\"%AsyncGeneratorFunction%\":R,\"%AsyncIteratorPrototype%\":R,\"%Atomics%\":typeof Atomics>\"u\"?v:Atomics,\"%BigInt%\":typeof BigInt>\"u\"?v:BigInt,\"%BigInt64Array%\":typeof BigInt64Array>\"u\"?v:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array>\"u\"?v:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView>\"u\"?v:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":S,\"%eval%\":eval,\"%EvalError%\":E,\"%Float16Array%\":typeof Float16Array>\"u\"?v:Float16Array,\"%Float32Array%\":typeof Float32Array>\"u\"?v:Float32Array,\"%Float64Array%\":typeof Float64Array>\"u\"?v:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry>\"u\"?v:FinalizationRegistry,\"%Function%\":T,\"%GeneratorFunction%\":R,\"%Int8Array%\":typeof Int8Array>\"u\"?v:Int8Array,\"%Int16Array%\":typeof Int16Array>\"u\"?v:Int16Array,\"%Int32Array%\":typeof Int32Array>\"u\"?v:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":g&&b?b(b([][Symbol.iterator]())):v,\"%JSON%\":typeof JSON==\"object\"?JSON:v,\"%Map%\":typeof Map>\"u\"?v:Map,\"%MapIteratorPrototype%\":typeof Map>\"u\"||!g||!b?v:b(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":x,\"%Object.getOwnPropertyDescriptor%\":_,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise>\"u\"?v:Promise,\"%Proxy%\":typeof Proxy>\"u\"?v:Proxy,\"%RangeError%\":e,\"%ReferenceError%\":t,\"%Reflect%\":typeof Reflect>\"u\"?v:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set>\"u\"?v:Set,\"%SetIteratorPrototype%\":typeof Set>\"u\"||!g||!b?v:b(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer>\"u\"?v:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":g&&b?b(\"\"[Symbol.iterator]()):v,\"%Symbol%\":g?Symbol:v,\"%SyntaxError%\":r,\"%ThrowTypeError%\":M,\"%TypedArray%\":L,\"%TypeError%\":o,\"%Uint8Array%\":typeof Uint8Array>\"u\"?v:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray>\"u\"?v:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array>\"u\"?v:Uint16Array,\"%Uint32Array%\":typeof Uint32Array>\"u\"?v:Uint32Array,\"%URIError%\":a,\"%WeakMap%\":typeof WeakMap>\"u\"?v:WeakMap,\"%WeakRef%\":typeof WeakRef>\"u\"?v:WeakRef,\"%WeakSet%\":typeof WeakSet>\"u\"?v:WeakSet,\"%Function.prototype.call%\":f,\"%Function.prototype.apply%\":y,\"%Object.defineProperty%\":w,\"%Object.getPrototypeOf%\":d,\"%Math.abs%\":n,\"%Math.floor%\":i,\"%Math.max%\":s,\"%Math.min%\":h,\"%Math.pow%\":c,\"%Math.round%\":m,\"%Math.sign%\":p,\"%Reflect.getPrototypeOf%\":u};if(b)try{null.error}catch(q){F=b(b(q)),z[\"%Error.prototype%\"]=F}var F,N=function q(oe){var ae;if(oe===\"%AsyncFunction%\")ae=l(\"async function () {}\");else if(oe===\"%GeneratorFunction%\")ae=l(\"function* () {}\");else if(oe===\"%AsyncGeneratorFunction%\")ae=l(\"async function* () {}\");else if(oe===\"%AsyncGenerator%\"){var j=q(\"%AsyncGeneratorFunction%\");j&&(ae=j.prototype)}else if(oe===\"%AsyncIteratorPrototype%\"){var Q=q(\"%AsyncGenerator%\");Q&&b&&(ae=b(Q.prototype))}return z[oe]=ae,ae},O={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},P=g1(),U=IO(),B=P.call(f,Array.prototype.concat),X=P.call(y,Array.prototype.splice),$=P.call(f,String.prototype.replace),se=P.call(f,String.prototype.slice),le=P.call(f,RegExp.prototype.exec),fe=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,V=/\\\\(\\\\)?/g,Y=function(oe){var ae=se(oe,0,1),j=se(oe,-1);if(ae===\"%\"&&j!==\"%\")throw new r(\"invalid intrinsic syntax, expected closing `%`\");if(j===\"%\"&&ae!==\"%\")throw new r(\"invalid intrinsic syntax, expected opening `%`\");var Q=[];return $(oe,fe,function(re,ce,be,Ae){Q[Q.length]=be?$(Ae,V,\"$1\"):ce||re}),Q},ee=function(oe,ae){var j=oe,Q;if(U(O,j)&&(Q=O[j],j=\"%\"+Q[0]+\"%\"),U(z,j)){var re=z[j];if(re===R&&(re=N(j)),typeof re>\"u\"&&!ae)throw new o(\"intrinsic \"+oe+\" exists, but is not available. Please file an issue!\");return{alias:Q,name:j,value:re}}throw new r(\"intrinsic \"+oe+\" does not exist!\")};G.exports=function(oe,ae){if(typeof oe!=\"string\"||oe.length===0)throw new o(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof ae!=\"boolean\")throw new o('\"allowMissing\" argument must be a boolean');if(le(/^%?[^%]*%?$/,oe)===null)throw new r(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var j=Y(oe),Q=j.length>0?j[0]:\"\",re=ee(\"%\"+Q+\"%\",ae),ce=re.name,be=re.value,Ae=!1,De=re.alias;De&&(Q=De[0],X(j,B([0,1],De)));for(var ze=1,Ze=!0;ze=j.length){var st=_(be,at);Ze=!!st,Ze&&\"get\"in st&&!(\"originalValue\"in st.get)?be=st.get:be=be[at]}else Ze=U(be,at),be=be[at];Ze&&!Ae&&(z[ce]=be)}}return be}}}),RO=Xe({\"node_modules/define-data-property/index.js\"(Z,G){\"use strict\";var v=X_(),x=OS(),S=m1(),E=ag();G.exports=function(t,r,o){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new S(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new S(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new S(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new S(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new S(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new S(\"`loose`, if provided, must be a boolean\");var a=arguments.length>3?arguments[3]:null,n=arguments.length>4?arguments[4]:null,i=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,h=!!E&&E(t,r);if(v)v(t,r,{configurable:i===null&&h?h.configurable:!i,enumerable:a===null&&h?h.enumerable:!a,value:o,writable:n===null&&h?h.writable:!n});else if(s||!a&&!n&&!i)t[r]=o;else throw new x(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}}}),jS=Xe({\"node_modules/has-property-descriptors/index.js\"(Z,G){\"use strict\";var v=X_(),x=function(){return!!v};x.hasArrayLengthDefineBug=function(){if(!v)return null;try{return v([],\"length\",{value:1}).length!==1}catch{return!0}},G.exports=x}}),DO=Xe({\"node_modules/set-function-length/index.js\"(Z,G){\"use strict\";var v=v3(),x=RO(),S=jS()(),E=ag(),e=m1(),t=v(\"%Math.floor%\");G.exports=function(o,a){if(typeof o!=\"function\")throw new e(\"`fn` is not a function\");if(typeof a!=\"number\"||a<0||a>4294967295||t(a)!==a)throw new e(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,s=!0;if(\"length\"in o&&E){var h=E(o,\"length\");h&&!h.configurable&&(i=!1),h&&!h.writable&&(s=!1)}return(i||s||!n)&&(S?x(o,\"length\",a,!0,!0):x(o,\"length\",a)),o}}}),Z_=Xe({\"node_modules/call-bind/index.js\"(Z,G){\"use strict\";var v=g1(),x=v3(),S=DO(),E=m1(),e=x(\"%Function.prototype.apply%\"),t=x(\"%Function.prototype.call%\"),r=x(\"%Reflect.apply%\",!0)||v.call(t,e),o=X_(),a=x(\"%Math.max%\");G.exports=function(s){if(typeof s!=\"function\")throw new E(\"a function is required\");var h=r(v,t,arguments);return S(h,1+a(0,s.length-(arguments.length-1)),!0)};var n=function(){return r(v,e,arguments)};o?o(G.exports,\"apply\",{value:n}):G.exports.apply=n}}),y1=Xe({\"node_modules/call-bind/callBound.js\"(Z,G){\"use strict\";var v=v3(),x=Z_(),S=x(v(\"String.prototype.indexOf\"));G.exports=function(e,t){var r=v(e,!!t);return typeof r==\"function\"&&S(e,\".prototype.\")>-1?x(r):r}}}),zO=Xe({\"node_modules/is-arguments/index.js\"(Z,G){\"use strict\";var v=W_()(),x=y1(),S=x(\"Object.prototype.toString\"),E=function(o){return v&&o&&typeof o==\"object\"&&Symbol.toStringTag in o?!1:S(o)===\"[object Arguments]\"},e=function(o){return E(o)?!0:o!==null&&typeof o==\"object\"&&typeof o.length==\"number\"&&o.length>=0&&S(o)!==\"[object Array]\"&&S(o.callee)===\"[object Function]\"},t=function(){return E(arguments)}();E.isLegacyArguments=e,G.exports=t?E:e}}),FO=Xe({\"node_modules/is-generator-function/index.js\"(Z,G){\"use strict\";var v=Object.prototype.toString,x=Function.prototype.toString,S=/^\\s*(?:function)?\\*/,E=W_()(),e=Object.getPrototypeOf,t=function(){if(!E)return!1;try{return Function(\"return function*() {}\")()}catch{}},r;G.exports=function(a){if(typeof a!=\"function\")return!1;if(S.test(x.call(a)))return!0;if(!E){var n=v.call(a);return n===\"[object GeneratorFunction]\"}if(!e)return!1;if(typeof r>\"u\"){var i=t();r=i?e(i):!1}return e(a)===r}}}),OO=Xe({\"node_modules/is-callable/index.js\"(Z,G){\"use strict\";var v=Function.prototype.toString,x=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,S,E;if(typeof x==\"function\"&&typeof Object.defineProperty==\"function\")try{S=Object.defineProperty({},\"length\",{get:function(){throw E}}),E={},x(function(){throw 42},null,S)}catch(_){_!==E&&(x=null)}else x=null;var e=/^\\s*class\\b/,t=function(w){try{var A=v.call(w);return e.test(A)}catch{return!1}},r=function(w){try{return t(w)?!1:(v.call(w),!0)}catch{return!1}},o=Object.prototype.toString,a=\"[object Object]\",n=\"[object Function]\",i=\"[object GeneratorFunction]\",s=\"[object HTMLAllCollection]\",h=\"[object HTML document.all class]\",c=\"[object HTMLCollection]\",m=typeof Symbol==\"function\"&&!!Symbol.toStringTag,p=!(0 in[,]),T=function(){return!1};typeof document==\"object\"&&(l=document.all,o.call(l)===o.call(document.all)&&(T=function(w){if((p||!w)&&(typeof w>\"u\"||typeof w==\"object\"))try{var A=o.call(w);return(A===s||A===h||A===c||A===a)&&w(\"\")==null}catch{}return!1}));var l;G.exports=x?function(w){if(T(w))return!0;if(!w||typeof w!=\"function\"&&typeof w!=\"object\")return!1;try{x(w,null,S)}catch(A){if(A!==E)return!1}return!t(w)&&r(w)}:function(w){if(T(w))return!0;if(!w||typeof w!=\"function\"&&typeof w!=\"object\")return!1;if(m)return r(w);if(t(w))return!1;var A=o.call(w);return A!==n&&A!==i&&!/^\\[object HTML/.test(A)?!1:r(w)}}}),qS=Xe({\"node_modules/for-each/index.js\"(Z,G){\"use strict\";var v=OO(),x=Object.prototype.toString,S=Object.prototype.hasOwnProperty,E=function(a,n,i){for(var s=0,h=a.length;s=3&&(s=i),x.call(a)===\"[object Array]\"?E(a,n,s):typeof a==\"string\"?e(a,n,s):t(a,n,s)};G.exports=r}}),VS=Xe({\"node_modules/available-typed-arrays/index.js\"(Z,G){\"use strict\";var v=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],x=typeof globalThis>\"u\"?window:globalThis;G.exports=function(){for(var E=[],e=0;e\"u\"?window:globalThis,a=x(),n=E(\"String.prototype.slice\"),i=Object.getPrototypeOf,s=E(\"Array.prototype.indexOf\",!0)||function(T,l){for(var _=0;_-1?l:l!==\"Object\"?!1:m(T)}return e?c(T):null}}}),NO=Xe({\"node_modules/is-typed-array/index.js\"(Z,G){\"use strict\";var v=qS(),x=VS(),S=y1(),E=S(\"Object.prototype.toString\"),e=W_()(),t=ag(),r=typeof globalThis>\"u\"?window:globalThis,o=x(),a=S(\"Array.prototype.indexOf\",!0)||function(m,p){for(var T=0;T-1}return t?h(m):!1}}}),GS=Xe({\"node_modules/util/support/types.js\"(Z){\"use strict\";var G=zO(),v=FO(),x=BO(),S=NO();function E(Ae){return Ae.call.bind(Ae)}var e=typeof BigInt<\"u\",t=typeof Symbol<\"u\",r=E(Object.prototype.toString),o=E(Number.prototype.valueOf),a=E(String.prototype.valueOf),n=E(Boolean.prototype.valueOf);e&&(i=E(BigInt.prototype.valueOf));var i;t&&(s=E(Symbol.prototype.valueOf));var s;function h(Ae,De){if(typeof Ae!=\"object\")return!1;try{return De(Ae),!0}catch{return!1}}Z.isArgumentsObject=G,Z.isGeneratorFunction=v,Z.isTypedArray=S;function c(Ae){return typeof Promise<\"u\"&&Ae instanceof Promise||Ae!==null&&typeof Ae==\"object\"&&typeof Ae.then==\"function\"&&typeof Ae.catch==\"function\"}Z.isPromise=c;function m(Ae){return typeof ArrayBuffer<\"u\"&&ArrayBuffer.isView?ArrayBuffer.isView(Ae):S(Ae)||X(Ae)}Z.isArrayBufferView=m;function p(Ae){return x(Ae)===\"Uint8Array\"}Z.isUint8Array=p;function T(Ae){return x(Ae)===\"Uint8ClampedArray\"}Z.isUint8ClampedArray=T;function l(Ae){return x(Ae)===\"Uint16Array\"}Z.isUint16Array=l;function _(Ae){return x(Ae)===\"Uint32Array\"}Z.isUint32Array=_;function w(Ae){return x(Ae)===\"Int8Array\"}Z.isInt8Array=w;function A(Ae){return x(Ae)===\"Int16Array\"}Z.isInt16Array=A;function M(Ae){return x(Ae)===\"Int32Array\"}Z.isInt32Array=M;function g(Ae){return x(Ae)===\"Float32Array\"}Z.isFloat32Array=g;function b(Ae){return x(Ae)===\"Float64Array\"}Z.isFloat64Array=b;function d(Ae){return x(Ae)===\"BigInt64Array\"}Z.isBigInt64Array=d;function u(Ae){return x(Ae)===\"BigUint64Array\"}Z.isBigUint64Array=u;function y(Ae){return r(Ae)===\"[object Map]\"}y.working=typeof Map<\"u\"&&y(new Map);function f(Ae){return typeof Map>\"u\"?!1:y.working?y(Ae):Ae instanceof Map}Z.isMap=f;function R(Ae){return r(Ae)===\"[object Set]\"}R.working=typeof Set<\"u\"&&R(new Set);function L(Ae){return typeof Set>\"u\"?!1:R.working?R(Ae):Ae instanceof Set}Z.isSet=L;function z(Ae){return r(Ae)===\"[object WeakMap]\"}z.working=typeof WeakMap<\"u\"&&z(new WeakMap);function F(Ae){return typeof WeakMap>\"u\"?!1:z.working?z(Ae):Ae instanceof WeakMap}Z.isWeakMap=F;function N(Ae){return r(Ae)===\"[object WeakSet]\"}N.working=typeof WeakSet<\"u\"&&N(new WeakSet);function O(Ae){return N(Ae)}Z.isWeakSet=O;function P(Ae){return r(Ae)===\"[object ArrayBuffer]\"}P.working=typeof ArrayBuffer<\"u\"&&P(new ArrayBuffer);function U(Ae){return typeof ArrayBuffer>\"u\"?!1:P.working?P(Ae):Ae instanceof ArrayBuffer}Z.isArrayBuffer=U;function B(Ae){return r(Ae)===\"[object DataView]\"}B.working=typeof ArrayBuffer<\"u\"&&typeof DataView<\"u\"&&B(new DataView(new ArrayBuffer(1),0,1));function X(Ae){return typeof DataView>\"u\"?!1:B.working?B(Ae):Ae instanceof DataView}Z.isDataView=X;var $=typeof SharedArrayBuffer<\"u\"?SharedArrayBuffer:void 0;function se(Ae){return r(Ae)===\"[object SharedArrayBuffer]\"}function le(Ae){return typeof $>\"u\"?!1:(typeof se.working>\"u\"&&(se.working=se(new $)),se.working?se(Ae):Ae instanceof $)}Z.isSharedArrayBuffer=le;function fe(Ae){return r(Ae)===\"[object AsyncFunction]\"}Z.isAsyncFunction=fe;function V(Ae){return r(Ae)===\"[object Map Iterator]\"}Z.isMapIterator=V;function Y(Ae){return r(Ae)===\"[object Set Iterator]\"}Z.isSetIterator=Y;function ee(Ae){return r(Ae)===\"[object Generator]\"}Z.isGeneratorObject=ee;function q(Ae){return r(Ae)===\"[object WebAssembly.Module]\"}Z.isWebAssemblyCompiledModule=q;function oe(Ae){return h(Ae,o)}Z.isNumberObject=oe;function ae(Ae){return h(Ae,a)}Z.isStringObject=ae;function j(Ae){return h(Ae,n)}Z.isBooleanObject=j;function Q(Ae){return e&&h(Ae,i)}Z.isBigIntObject=Q;function re(Ae){return t&&h(Ae,s)}Z.isSymbolObject=re;function ce(Ae){return oe(Ae)||ae(Ae)||j(Ae)||Q(Ae)||re(Ae)}Z.isBoxedPrimitive=ce;function be(Ae){return typeof Uint8Array<\"u\"&&(U(Ae)||le(Ae))}Z.isAnyArrayBuffer=be,[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(Ae){Object.defineProperty(Z,Ae,{enumerable:!1,value:function(){throw new Error(Ae+\" is not supported in userland\")}})})}}),HS=Xe({\"node_modules/util/support/isBufferBrowser.js\"(Z,G){G.exports=function(x){return x&&typeof x==\"object\"&&typeof x.copy==\"function\"&&typeof x.fill==\"function\"&&typeof x.readUInt8==\"function\"}}}),WS=Xe({\"(disabled):node_modules/util/util.js\"(Z){var G=Object.getOwnPropertyDescriptors||function(X){for(var $=Object.keys(X),se={},le=0;le<$.length;le++)se[$[le]]=Object.getOwnPropertyDescriptor(X,$[le]);return se},v=/%[sdj%]/g;Z.format=function(B){if(!w(B)){for(var X=[],$=0;$=le)return Y;switch(Y){case\"%s\":return String(se[$++]);case\"%d\":return Number(se[$++]);case\"%j\":try{return JSON.stringify(se[$++])}catch{return\"[Circular]\"}default:return Y}}),V=se[$];$\"u\")return function(){return Z.deprecate(B,X).apply(this,arguments)};var $=!1;function se(){if(!$){if(process.throwDeprecation)throw new Error(X);process.traceDeprecation?console.trace(X):console.error(X),$=!0}return B.apply(this,arguments)}return se};var x={},S=/^$/;E=\"false\",E=E.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),S=new RegExp(\"^\"+E+\"$\",\"i\");var E;Z.debuglog=function(B){if(B=B.toUpperCase(),!x[B])if(S.test(B)){var X=process.pid;x[B]=function(){var $=Z.format.apply(Z,arguments);console.error(\"%s %d: %s\",B,X,$)}}else x[B]=function(){};return x[B]};function e(B,X){var $={seen:[],stylize:r};return arguments.length>=3&&($.depth=arguments[2]),arguments.length>=4&&($.colors=arguments[3]),p(X)?$.showHidden=X:X&&Z._extend($,X),M($.showHidden)&&($.showHidden=!1),M($.depth)&&($.depth=2),M($.colors)&&($.colors=!1),M($.customInspect)&&($.customInspect=!0),$.colors&&($.stylize=t),a($,B,$.depth)}Z.inspect=e,e.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]},e.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function t(B,X){var $=e.styles[X];return $?\"\\x1B[\"+e.colors[$][0]+\"m\"+B+\"\\x1B[\"+e.colors[$][1]+\"m\":B}function r(B,X){return B}function o(B){var X={};return B.forEach(function($,se){X[$]=!0}),X}function a(B,X,$){if(B.customInspect&&X&&y(X.inspect)&&X.inspect!==Z.inspect&&!(X.constructor&&X.constructor.prototype===X)){var se=X.inspect($,B);return w(se)||(se=a(B,se,$)),se}var le=n(B,X);if(le)return le;var fe=Object.keys(X),V=o(fe);if(B.showHidden&&(fe=Object.getOwnPropertyNames(X)),u(X)&&(fe.indexOf(\"message\")>=0||fe.indexOf(\"description\")>=0))return i(X);if(fe.length===0){if(y(X)){var Y=X.name?\": \"+X.name:\"\";return B.stylize(\"[Function\"+Y+\"]\",\"special\")}if(g(X))return B.stylize(RegExp.prototype.toString.call(X),\"regexp\");if(d(X))return B.stylize(Date.prototype.toString.call(X),\"date\");if(u(X))return i(X)}var ee=\"\",q=!1,oe=[\"{\",\"}\"];if(m(X)&&(q=!0,oe=[\"[\",\"]\"]),y(X)){var ae=X.name?\": \"+X.name:\"\";ee=\" [Function\"+ae+\"]\"}if(g(X)&&(ee=\" \"+RegExp.prototype.toString.call(X)),d(X)&&(ee=\" \"+Date.prototype.toUTCString.call(X)),u(X)&&(ee=\" \"+i(X)),fe.length===0&&(!q||X.length==0))return oe[0]+ee+oe[1];if($<0)return g(X)?B.stylize(RegExp.prototype.toString.call(X),\"regexp\"):B.stylize(\"[Object]\",\"special\");B.seen.push(X);var j;return q?j=s(B,X,$,V,fe):j=fe.map(function(Q){return h(B,X,$,V,Q,q)}),B.seen.pop(),c(j,ee,oe)}function n(B,X){if(M(X))return B.stylize(\"undefined\",\"undefined\");if(w(X)){var $=\"'\"+JSON.stringify(X).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return B.stylize($,\"string\")}if(_(X))return B.stylize(\"\"+X,\"number\");if(p(X))return B.stylize(\"\"+X,\"boolean\");if(T(X))return B.stylize(\"null\",\"null\")}function i(B){return\"[\"+Error.prototype.toString.call(B)+\"]\"}function s(B,X,$,se,le){for(var fe=[],V=0,Y=X.length;V-1&&(fe?Y=Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`).slice(2):Y=`\n`+Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`))):Y=B.stylize(\"[Circular]\",\"special\")),M(V)){if(fe&&le.match(/^\\d+$/))return Y;V=JSON.stringify(\"\"+le),V.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(V=V.slice(1,-1),V=B.stylize(V,\"name\")):(V=V.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),V=B.stylize(V,\"string\"))}return V+\": \"+Y}function c(B,X,$){var se=0,le=B.reduce(function(fe,V){return se++,V.indexOf(`\n`)>=0&&se++,fe+V.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return le>60?$[0]+(X===\"\"?\"\":X+`\n `)+\" \"+B.join(`,\n `)+\" \"+$[1]:$[0]+X+\" \"+B.join(\", \")+\" \"+$[1]}Z.types=GS();function m(B){return Array.isArray(B)}Z.isArray=m;function p(B){return typeof B==\"boolean\"}Z.isBoolean=p;function T(B){return B===null}Z.isNull=T;function l(B){return B==null}Z.isNullOrUndefined=l;function _(B){return typeof B==\"number\"}Z.isNumber=_;function w(B){return typeof B==\"string\"}Z.isString=w;function A(B){return typeof B==\"symbol\"}Z.isSymbol=A;function M(B){return B===void 0}Z.isUndefined=M;function g(B){return b(B)&&R(B)===\"[object RegExp]\"}Z.isRegExp=g,Z.types.isRegExp=g;function b(B){return typeof B==\"object\"&&B!==null}Z.isObject=b;function d(B){return b(B)&&R(B)===\"[object Date]\"}Z.isDate=d,Z.types.isDate=d;function u(B){return b(B)&&(R(B)===\"[object Error]\"||B instanceof Error)}Z.isError=u,Z.types.isNativeError=u;function y(B){return typeof B==\"function\"}Z.isFunction=y;function f(B){return B===null||typeof B==\"boolean\"||typeof B==\"number\"||typeof B==\"string\"||typeof B==\"symbol\"||typeof B>\"u\"}Z.isPrimitive=f,Z.isBuffer=HS();function R(B){return Object.prototype.toString.call(B)}function L(B){return B<10?\"0\"+B.toString(10):B.toString(10)}var z=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function F(){var B=new Date,X=[L(B.getHours()),L(B.getMinutes()),L(B.getSeconds())].join(\":\");return[B.getDate(),z[B.getMonth()],X].join(\" \")}Z.log=function(){console.log(\"%s - %s\",F(),Z.format.apply(Z,arguments))},Z.inherits=Kv(),Z._extend=function(B,X){if(!X||!b(X))return B;for(var $=Object.keys(X),se=$.length;se--;)B[$[se]]=X[$[se]];return B};function N(B,X){return Object.prototype.hasOwnProperty.call(B,X)}var O=typeof Symbol<\"u\"?Symbol(\"util.promisify.custom\"):void 0;Z.promisify=function(X){if(typeof X!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(O&&X[O]){var $=X[O];if(typeof $!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty($,O,{value:$,enumerable:!1,writable:!1,configurable:!0}),$}function $(){for(var se,le,fe=new Promise(function(ee,q){se=ee,le=q}),V=[],Y=0;Y0?this.tail.next=p:this.head=p,this.tail=p,++this.length}},{key:\"unshift\",value:function(m){var p={data:m,next:this.head};this.length===0&&(this.tail=p),this.head=p,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var m=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,m}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(m){if(this.length===0)return\"\";for(var p=this.head,T=\"\"+p.data;p=p.next;)T+=m+p.data;return T}},{key:\"concat\",value:function(m){if(this.length===0)return o.alloc(0);for(var p=o.allocUnsafe(m>>>0),T=this.head,l=0;T;)s(T.data,p,l),l+=T.data.length,T=T.next;return p}},{key:\"consume\",value:function(m,p){var T;return m_.length?_.length:m;if(w===_.length?l+=_:l+=_.slice(0,m),m-=w,m===0){w===_.length?(++T,p.next?this.head=p.next:this.head=this.tail=null):(this.head=p,p.data=_.slice(w));break}++T}return this.length-=T,l}},{key:\"_getBuffer\",value:function(m){var p=o.allocUnsafe(m),T=this.head,l=1;for(T.data.copy(p),m-=T.data.length;T=T.next;){var _=T.data,w=m>_.length?_.length:m;if(_.copy(p,p.length-m,0,w),m-=w,m===0){w===_.length?(++l,T.next?this.head=T.next:this.head=this.tail=null):(this.head=T,T.data=_.slice(w));break}++l}return this.length-=l,p}},{key:i,value:function(m,p){return n(this,x({},p,{depth:0,customInspect:!1}))}}]),h}()}}),XS=Xe({\"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js\"(Z,G){\"use strict\";function v(r,o){var a=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(o?o(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(e,this,r)):process.nextTick(e,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!o&&s?a._writableState?a._writableState.errorEmitted?process.nextTick(S,a):(a._writableState.errorEmitted=!0,process.nextTick(x,a,s)):process.nextTick(x,a,s):o?(process.nextTick(S,a),o(s)):process.nextTick(S,a)}),this)}function x(r,o){e(r,o),S(r)}function S(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit(\"close\")}function E(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function e(r,o){r.emit(\"error\",o)}function t(r,o){var a=r._readableState,n=r._writableState;a&&a.autoDestroy||n&&n.autoDestroy?r.destroy(o):r.emit(\"error\",o)}G.exports={destroy:v,undestroy:E,errorOrDestroy:t}}}),ig=Xe({\"node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\"(Z,G){\"use strict\";function v(o,a){o.prototype=Object.create(a.prototype),o.prototype.constructor=o,o.__proto__=a}var x={};function S(o,a,n){n||(n=Error);function i(h,c,m){return typeof a==\"string\"?a:a(h,c,m)}var s=function(h){v(c,h);function c(m,p,T){return h.call(this,i(m,p,T))||this}return c}(n);s.prototype.name=n.name,s.prototype.code=o,x[o]=s}function E(o,a){if(Array.isArray(o)){var n=o.length;return o=o.map(function(i){return String(i)}),n>2?\"one of \".concat(a,\" \").concat(o.slice(0,n-1).join(\", \"),\", or \")+o[n-1]:n===2?\"one of \".concat(a,\" \").concat(o[0],\" or \").concat(o[1]):\"of \".concat(a,\" \").concat(o[0])}else return\"of \".concat(a,\" \").concat(String(o))}function e(o,a,n){return o.substr(!n||n<0?0:+n,a.length)===a}function t(o,a,n){return(n===void 0||n>o.length)&&(n=o.length),o.substring(n-a.length,n)===a}function r(o,a,n){return typeof n!=\"number\"&&(n=0),n+a.length>o.length?!1:o.indexOf(a,n)!==-1}S(\"ERR_INVALID_OPT_VALUE\",function(o,a){return'The value \"'+a+'\" is invalid for option \"'+o+'\"'},TypeError),S(\"ERR_INVALID_ARG_TYPE\",function(o,a,n){var i;typeof a==\"string\"&&e(a,\"not \")?(i=\"must not be\",a=a.replace(/^not /,\"\")):i=\"must be\";var s;if(t(o,\" argument\"))s=\"The \".concat(o,\" \").concat(i,\" \").concat(E(a,\"type\"));else{var h=r(o,\".\")?\"property\":\"argument\";s='The \"'.concat(o,'\" ').concat(h,\" \").concat(i,\" \").concat(E(a,\"type\"))}return s+=\". Received type \".concat(typeof n),s},TypeError),S(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),S(\"ERR_METHOD_NOT_IMPLEMENTED\",function(o){return\"The \"+o+\" method is not implemented\"}),S(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),S(\"ERR_STREAM_DESTROYED\",function(o){return\"Cannot call \"+o+\" after a stream was destroyed\"}),S(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),S(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),S(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),S(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),S(\"ERR_UNKNOWN_ENCODING\",function(o){return\"Unknown encoding: \"+o},TypeError),S(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),G.exports.codes=x}}),ZS=Xe({\"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js\"(Z,G){\"use strict\";var v=ig().codes.ERR_INVALID_OPT_VALUE;function x(E,e,t){return E.highWaterMark!=null?E.highWaterMark:e?E[t]:null}function S(E,e,t,r){var o=x(e,r,t);if(o!=null){if(!(isFinite(o)&&Math.floor(o)===o)||o<0){var a=r?t:\"highWaterMark\";throw new v(a,o)}return Math.floor(o)}return E.objectMode?16:16*1024}G.exports={getHighWaterMark:S}}}),jO=Xe({\"node_modules/util-deprecate/browser.js\"(Z,G){G.exports=v;function v(S,E){if(x(\"noDeprecation\"))return S;var e=!1;function t(){if(!e){if(x(\"throwDeprecation\"))throw new Error(E);x(\"traceDeprecation\")?console.trace(E):console.warn(E),e=!0}return S.apply(this,arguments)}return t}function x(S){try{if(!window.localStorage)return!1}catch{return!1}var E=window.localStorage[S];return E==null?!1:String(E).toLowerCase()===\"true\"}}}),YS=Xe({\"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js\"(Z,G){\"use strict\";G.exports=d;function v(V){var Y=this;this.next=null,this.entry=null,this.finish=function(){fe(Y,V)}}var x;d.WritableState=g;var S={deprecate:jO()},E=zS(),e=rg().Buffer,t=window.Uint8Array||function(){};function r(V){return e.from(V)}function o(V){return e.isBuffer(V)||V instanceof t}var a=XS(),n=ZS(),i=n.getHighWaterMark,s=ig().codes,h=s.ERR_INVALID_ARG_TYPE,c=s.ERR_METHOD_NOT_IMPLEMENTED,m=s.ERR_MULTIPLE_CALLBACK,p=s.ERR_STREAM_CANNOT_PIPE,T=s.ERR_STREAM_DESTROYED,l=s.ERR_STREAM_NULL_VALUES,_=s.ERR_STREAM_WRITE_AFTER_END,w=s.ERR_UNKNOWN_ENCODING,A=a.errorOrDestroy;Kv()(d,E);function M(){}function g(V,Y,ee){x=x||ng(),V=V||{},typeof ee!=\"boolean\"&&(ee=Y instanceof x),this.objectMode=!!V.objectMode,ee&&(this.objectMode=this.objectMode||!!V.writableObjectMode),this.highWaterMark=i(this,V,\"writableHighWaterMark\",ee),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var q=V.decodeStrings===!1;this.decodeStrings=!q,this.defaultEncoding=V.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(oe){N(Y,oe)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=V.emitClose!==!1,this.autoDestroy=!!V.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new v(this)}g.prototype.getBuffer=function(){for(var Y=this.bufferedRequest,ee=[];Y;)ee.push(Y),Y=Y.next;return ee},function(){try{Object.defineProperty(g.prototype,\"buffer\",{get:S.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch{}}();var b;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(b=Function.prototype[Symbol.hasInstance],Object.defineProperty(d,Symbol.hasInstance,{value:function(Y){return b.call(this,Y)?!0:this!==d?!1:Y&&Y._writableState instanceof g}})):b=function(Y){return Y instanceof this};function d(V){x=x||ng();var Y=this instanceof x;if(!Y&&!b.call(d,this))return new d(V);this._writableState=new g(V,this,Y),this.writable=!0,V&&(typeof V.write==\"function\"&&(this._write=V.write),typeof V.writev==\"function\"&&(this._writev=V.writev),typeof V.destroy==\"function\"&&(this._destroy=V.destroy),typeof V.final==\"function\"&&(this._final=V.final)),E.call(this)}d.prototype.pipe=function(){A(this,new p)};function u(V,Y){var ee=new _;A(V,ee),process.nextTick(Y,ee)}function y(V,Y,ee,q){var oe;return ee===null?oe=new l:typeof ee!=\"string\"&&!Y.objectMode&&(oe=new h(\"chunk\",[\"string\",\"Buffer\"],ee)),oe?(A(V,oe),process.nextTick(q,oe),!1):!0}d.prototype.write=function(V,Y,ee){var q=this._writableState,oe=!1,ae=!q.objectMode&&o(V);return ae&&!e.isBuffer(V)&&(V=r(V)),typeof Y==\"function\"&&(ee=Y,Y=null),ae?Y=\"buffer\":Y||(Y=q.defaultEncoding),typeof ee!=\"function\"&&(ee=M),q.ending?u(this,ee):(ae||y(this,q,V,ee))&&(q.pendingcb++,oe=R(this,q,ae,V,Y,ee)),oe},d.prototype.cork=function(){this._writableState.corked++},d.prototype.uncork=function(){var V=this._writableState;V.corked&&(V.corked--,!V.writing&&!V.corked&&!V.bufferProcessing&&V.bufferedRequest&&U(this,V))},d.prototype.setDefaultEncoding=function(Y){if(typeof Y==\"string\"&&(Y=Y.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((Y+\"\").toLowerCase())>-1))throw new w(Y);return this._writableState.defaultEncoding=Y,this},Object.defineProperty(d.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function f(V,Y,ee){return!V.objectMode&&V.decodeStrings!==!1&&typeof Y==\"string\"&&(Y=e.from(Y,ee)),Y}Object.defineProperty(d.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function R(V,Y,ee,q,oe,ae){if(!ee){var j=f(Y,q,oe);q!==j&&(ee=!0,oe=\"buffer\",q=j)}var Q=Y.objectMode?1:q.length;Y.length+=Q;var re=Y.length>5===6?2:T>>4===14?3:T>>3===30?4:T>>6===2?-1:-2}function t(T,l,_){var w=l.length-1;if(w<_)return 0;var A=e(l[w]);return A>=0?(A>0&&(T.lastNeed=A-1),A):--w<_||A===-2?0:(A=e(l[w]),A>=0?(A>0&&(T.lastNeed=A-2),A):--w<_||A===-2?0:(A=e(l[w]),A>=0?(A>0&&(A===2?A=0:T.lastNeed=A-3),A):0))}function r(T,l,_){if((l[0]&192)!==128)return T.lastNeed=0,\"\\uFFFD\";if(T.lastNeed>1&&l.length>1){if((l[1]&192)!==128)return T.lastNeed=1,\"\\uFFFD\";if(T.lastNeed>2&&l.length>2&&(l[2]&192)!==128)return T.lastNeed=2,\"\\uFFFD\"}}function o(T){var l=this.lastTotal-this.lastNeed,_=r(this,T,l);if(_!==void 0)return _;if(this.lastNeed<=T.length)return T.copy(this.lastChar,l,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);T.copy(this.lastChar,l,0,T.length),this.lastNeed-=T.length}function a(T,l){var _=t(this,T,l);if(!this.lastNeed)return T.toString(\"utf8\",l);this.lastTotal=_;var w=T.length-(_-this.lastNeed);return T.copy(this.lastChar,0,w),T.toString(\"utf8\",l,w)}function n(T){var l=T&&T.length?this.write(T):\"\";return this.lastNeed?l+\"\\uFFFD\":l}function i(T,l){if((T.length-l)%2===0){var _=T.toString(\"utf16le\",l);if(_){var w=_.charCodeAt(_.length-1);if(w>=55296&&w<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1],_.slice(0,-1)}return _}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=T[T.length-1],T.toString(\"utf16le\",l,T.length-1)}function s(T){var l=T&&T.length?this.write(T):\"\";if(this.lastNeed){var _=this.lastTotal-this.lastNeed;return l+this.lastChar.toString(\"utf16le\",0,_)}return l}function h(T,l){var _=(T.length-l)%3;return _===0?T.toString(\"base64\",l):(this.lastNeed=3-_,this.lastTotal=3,_===1?this.lastChar[0]=T[T.length-1]:(this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1]),T.toString(\"base64\",l,T.length-_))}function c(T){var l=T&&T.length?this.write(T):\"\";return this.lastNeed?l+this.lastChar.toString(\"base64\",0,3-this.lastNeed):l}function m(T){return T.toString(this.encoding)}function p(T){return T&&T.length?this.write(T):\"\"}}}),m3=Xe({\"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(Z,G){\"use strict\";var v=ig().codes.ERR_STREAM_PREMATURE_CLOSE;function x(t){var r=!1;return function(){if(!r){r=!0;for(var o=arguments.length,a=new Array(o),n=0;n0)if(typeof Q!=\"string\"&&!Ae.objectMode&&Object.getPrototypeOf(Q)!==e.prototype&&(Q=r(Q)),ce)Ae.endEmitted?g(j,new _):R(j,Ae,Q,!0);else if(Ae.ended)g(j,new T);else{if(Ae.destroyed)return!1;Ae.reading=!1,Ae.decoder&&!re?(Q=Ae.decoder.write(Q),Ae.objectMode||Q.length!==0?R(j,Ae,Q,!1):B(j,Ae)):R(j,Ae,Q,!1)}else ce||(Ae.reading=!1,B(j,Ae))}return!Ae.ended&&(Ae.length=z?j=z:(j--,j|=j>>>1,j|=j>>>2,j|=j>>>4,j|=j>>>8,j|=j>>>16,j++),j}function N(j,Q){return j<=0||Q.length===0&&Q.ended?0:Q.objectMode?1:j!==j?Q.flowing&&Q.length?Q.buffer.head.data.length:Q.length:(j>Q.highWaterMark&&(Q.highWaterMark=F(j)),j<=Q.length?j:Q.ended?Q.length:(Q.needReadable=!0,0))}y.prototype.read=function(j){n(\"read\",j),j=parseInt(j,10);var Q=this._readableState,re=j;if(j!==0&&(Q.emittedReadable=!1),j===0&&Q.needReadable&&((Q.highWaterMark!==0?Q.length>=Q.highWaterMark:Q.length>0)||Q.ended))return n(\"read: emitReadable\",Q.length,Q.ended),Q.length===0&&Q.ended?q(this):P(this),null;if(j=N(j,Q),j===0&&Q.ended)return Q.length===0&&q(this),null;var ce=Q.needReadable;n(\"need readable\",ce),(Q.length===0||Q.length-j0?be=ee(j,Q):be=null,be===null?(Q.needReadable=Q.length<=Q.highWaterMark,j=0):(Q.length-=j,Q.awaitDrain=0),Q.length===0&&(Q.ended||(Q.needReadable=!0),re!==j&&Q.ended&&q(this)),be!==null&&this.emit(\"data\",be),be};function O(j,Q){if(n(\"onEofChunk\"),!Q.ended){if(Q.decoder){var re=Q.decoder.end();re&&re.length&&(Q.buffer.push(re),Q.length+=Q.objectMode?1:re.length)}Q.ended=!0,Q.sync?P(j):(Q.needReadable=!1,Q.emittedReadable||(Q.emittedReadable=!0,U(j)))}}function P(j){var Q=j._readableState;n(\"emitReadable\",Q.needReadable,Q.emittedReadable),Q.needReadable=!1,Q.emittedReadable||(n(\"emitReadable\",Q.flowing),Q.emittedReadable=!0,process.nextTick(U,j))}function U(j){var Q=j._readableState;n(\"emitReadable_\",Q.destroyed,Q.length,Q.ended),!Q.destroyed&&(Q.length||Q.ended)&&(j.emit(\"readable\"),Q.emittedReadable=!1),Q.needReadable=!Q.flowing&&!Q.ended&&Q.length<=Q.highWaterMark,Y(j)}function B(j,Q){Q.readingMore||(Q.readingMore=!0,process.nextTick(X,j,Q))}function X(j,Q){for(;!Q.reading&&!Q.ended&&(Q.length1&&ae(ce.pipes,j)!==-1)&&!at&&(n(\"false write response, pause\",ce.awaitDrain),ce.awaitDrain++),re.pause())}function st(Oe){n(\"onerror\",Oe),he(),j.removeListener(\"error\",st),S(j,\"error\")===0&&g(j,Oe)}d(j,\"error\",st);function Me(){j.removeListener(\"finish\",ye),he()}j.once(\"close\",Me);function ye(){n(\"onfinish\"),j.removeListener(\"close\",Me),he()}j.once(\"finish\",ye);function he(){n(\"unpipe\"),re.unpipe(j)}return j.emit(\"pipe\",re),ce.flowing||(n(\"pipe resume\"),re.resume()),j};function $(j){return function(){var re=j._readableState;n(\"pipeOnDrain\",re.awaitDrain),re.awaitDrain&&re.awaitDrain--,re.awaitDrain===0&&S(j,\"data\")&&(re.flowing=!0,Y(j))}}y.prototype.unpipe=function(j){var Q=this._readableState,re={hasUnpiped:!1};if(Q.pipesCount===0)return this;if(Q.pipesCount===1)return j&&j!==Q.pipes?this:(j||(j=Q.pipes),Q.pipes=null,Q.pipesCount=0,Q.flowing=!1,j&&j.emit(\"unpipe\",this,re),this);if(!j){var ce=Q.pipes,be=Q.pipesCount;Q.pipes=null,Q.pipesCount=0,Q.flowing=!1;for(var Ae=0;Ae0,ce.flowing!==!1&&this.resume()):j===\"readable\"&&!ce.endEmitted&&!ce.readableListening&&(ce.readableListening=ce.needReadable=!0,ce.flowing=!1,ce.emittedReadable=!1,n(\"on readable\",ce.length,ce.reading),ce.length?P(this):ce.reading||process.nextTick(le,this)),re},y.prototype.addListener=y.prototype.on,y.prototype.removeListener=function(j,Q){var re=E.prototype.removeListener.call(this,j,Q);return j===\"readable\"&&process.nextTick(se,this),re},y.prototype.removeAllListeners=function(j){var Q=E.prototype.removeAllListeners.apply(this,arguments);return(j===\"readable\"||j===void 0)&&process.nextTick(se,this),Q};function se(j){var Q=j._readableState;Q.readableListening=j.listenerCount(\"readable\")>0,Q.resumeScheduled&&!Q.paused?Q.flowing=!0:j.listenerCount(\"data\")>0&&j.resume()}function le(j){n(\"readable nexttick read 0\"),j.read(0)}y.prototype.resume=function(){var j=this._readableState;return j.flowing||(n(\"resume\"),j.flowing=!j.readableListening,fe(this,j)),j.paused=!1,this};function fe(j,Q){Q.resumeScheduled||(Q.resumeScheduled=!0,process.nextTick(V,j,Q))}function V(j,Q){n(\"resume\",Q.reading),Q.reading||j.read(0),Q.resumeScheduled=!1,j.emit(\"resume\"),Y(j),Q.flowing&&!Q.reading&&j.read(0)}y.prototype.pause=function(){return n(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(n(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function Y(j){var Q=j._readableState;for(n(\"flow\",Q.flowing);Q.flowing&&j.read()!==null;);}y.prototype.wrap=function(j){var Q=this,re=this._readableState,ce=!1;j.on(\"end\",function(){if(n(\"wrapped end\"),re.decoder&&!re.ended){var De=re.decoder.end();De&&De.length&&Q.push(De)}Q.push(null)}),j.on(\"data\",function(De){if(n(\"wrapped data\"),re.decoder&&(De=re.decoder.write(De)),!(re.objectMode&&De==null)&&!(!re.objectMode&&(!De||!De.length))){var ze=Q.push(De);ze||(ce=!0,j.pause())}});for(var be in j)this[be]===void 0&&typeof j[be]==\"function\"&&(this[be]=function(ze){return function(){return j[ze].apply(j,arguments)}}(be));for(var Ae=0;Ae=Q.length?(Q.decoder?re=Q.buffer.join(\"\"):Q.buffer.length===1?re=Q.buffer.first():re=Q.buffer.concat(Q.length),Q.buffer.clear()):re=Q.buffer.consume(j,Q.decoder),re}function q(j){var Q=j._readableState;n(\"endReadable\",Q.endEmitted),Q.endEmitted||(Q.ended=!0,process.nextTick(oe,Q,j))}function oe(j,Q){if(n(\"endReadableNT\",j.endEmitted,j.length),!j.endEmitted&&j.length===0&&(j.endEmitted=!0,Q.readable=!1,Q.emit(\"end\"),j.autoDestroy)){var re=Q._writableState;(!re||re.autoDestroy&&re.finished)&&Q.destroy()}}typeof Symbol==\"function\"&&(y.from=function(j,Q){return M===void 0&&(M=GO()),M(y,j,Q)});function ae(j,Q){for(var re=0,ce=j.length;re0;return o(_,A,M,function(g){T||(T=g),g&&l.forEach(a),!A&&(l.forEach(a),p(T))})});return c.reduce(n)}G.exports=s}}),XO=Xe({\"node_modules/stream-browserify/index.js\"(Z,G){G.exports=S;var v=Z0().EventEmitter,x=Kv();x(S,v),S.Readable=JS(),S.Writable=YS(),S.Duplex=ng(),S.Transform=$S(),S.PassThrough=HO(),S.finished=m3(),S.pipeline=WO(),S.Stream=S;function S(){v.call(this)}S.prototype.pipe=function(E,e){var t=this;function r(c){E.writable&&E.write(c)===!1&&t.pause&&t.pause()}t.on(\"data\",r);function o(){t.readable&&t.resume&&t.resume()}E.on(\"drain\",o),!E._isStdio&&(!e||e.end!==!1)&&(t.on(\"end\",n),t.on(\"close\",i));var a=!1;function n(){a||(a=!0,E.end())}function i(){a||(a=!0,typeof E.destroy==\"function\"&&E.destroy())}function s(c){if(h(),v.listenerCount(this,\"error\")===0)throw c}t.on(\"error\",s),E.on(\"error\",s);function h(){t.removeListener(\"data\",r),E.removeListener(\"drain\",o),t.removeListener(\"end\",n),t.removeListener(\"close\",i),t.removeListener(\"error\",s),E.removeListener(\"error\",s),t.removeListener(\"end\",h),t.removeListener(\"close\",h),E.removeListener(\"close\",h)}return t.on(\"end\",h),t.on(\"close\",h),E.on(\"close\",h),E.emit(\"pipe\",t),E}}}),_1=Xe({\"node_modules/util/util.js\"(Z){var G=Object.getOwnPropertyDescriptors||function(X){for(var $=Object.keys(X),se={},le=0;le<$.length;le++)se[$[le]]=Object.getOwnPropertyDescriptor(X,$[le]);return se},v=/%[sdj%]/g;Z.format=function(B){if(!w(B)){for(var X=[],$=0;$=le)return Y;switch(Y){case\"%s\":return String(se[$++]);case\"%d\":return Number(se[$++]);case\"%j\":try{return JSON.stringify(se[$++])}catch{return\"[Circular]\"}default:return Y}}),V=se[$];$\"u\")return function(){return Z.deprecate(B,X).apply(this,arguments)};var $=!1;function se(){if(!$){if(process.throwDeprecation)throw new Error(X);process.traceDeprecation?console.trace(X):console.error(X),$=!0}return B.apply(this,arguments)}return se};var x={},S=/^$/;E=\"false\",E=E.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),S=new RegExp(\"^\"+E+\"$\",\"i\");var E;Z.debuglog=function(B){if(B=B.toUpperCase(),!x[B])if(S.test(B)){var X=process.pid;x[B]=function(){var $=Z.format.apply(Z,arguments);console.error(\"%s %d: %s\",B,X,$)}}else x[B]=function(){};return x[B]};function e(B,X){var $={seen:[],stylize:r};return arguments.length>=3&&($.depth=arguments[2]),arguments.length>=4&&($.colors=arguments[3]),p(X)?$.showHidden=X:X&&Z._extend($,X),M($.showHidden)&&($.showHidden=!1),M($.depth)&&($.depth=2),M($.colors)&&($.colors=!1),M($.customInspect)&&($.customInspect=!0),$.colors&&($.stylize=t),a($,B,$.depth)}Z.inspect=e,e.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]},e.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function t(B,X){var $=e.styles[X];return $?\"\\x1B[\"+e.colors[$][0]+\"m\"+B+\"\\x1B[\"+e.colors[$][1]+\"m\":B}function r(B,X){return B}function o(B){var X={};return B.forEach(function($,se){X[$]=!0}),X}function a(B,X,$){if(B.customInspect&&X&&y(X.inspect)&&X.inspect!==Z.inspect&&!(X.constructor&&X.constructor.prototype===X)){var se=X.inspect($,B);return w(se)||(se=a(B,se,$)),se}var le=n(B,X);if(le)return le;var fe=Object.keys(X),V=o(fe);if(B.showHidden&&(fe=Object.getOwnPropertyNames(X)),u(X)&&(fe.indexOf(\"message\")>=0||fe.indexOf(\"description\")>=0))return i(X);if(fe.length===0){if(y(X)){var Y=X.name?\": \"+X.name:\"\";return B.stylize(\"[Function\"+Y+\"]\",\"special\")}if(g(X))return B.stylize(RegExp.prototype.toString.call(X),\"regexp\");if(d(X))return B.stylize(Date.prototype.toString.call(X),\"date\");if(u(X))return i(X)}var ee=\"\",q=!1,oe=[\"{\",\"}\"];if(m(X)&&(q=!0,oe=[\"[\",\"]\"]),y(X)){var ae=X.name?\": \"+X.name:\"\";ee=\" [Function\"+ae+\"]\"}if(g(X)&&(ee=\" \"+RegExp.prototype.toString.call(X)),d(X)&&(ee=\" \"+Date.prototype.toUTCString.call(X)),u(X)&&(ee=\" \"+i(X)),fe.length===0&&(!q||X.length==0))return oe[0]+ee+oe[1];if($<0)return g(X)?B.stylize(RegExp.prototype.toString.call(X),\"regexp\"):B.stylize(\"[Object]\",\"special\");B.seen.push(X);var j;return q?j=s(B,X,$,V,fe):j=fe.map(function(Q){return h(B,X,$,V,Q,q)}),B.seen.pop(),c(j,ee,oe)}function n(B,X){if(M(X))return B.stylize(\"undefined\",\"undefined\");if(w(X)){var $=\"'\"+JSON.stringify(X).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return B.stylize($,\"string\")}if(_(X))return B.stylize(\"\"+X,\"number\");if(p(X))return B.stylize(\"\"+X,\"boolean\");if(T(X))return B.stylize(\"null\",\"null\")}function i(B){return\"[\"+Error.prototype.toString.call(B)+\"]\"}function s(B,X,$,se,le){for(var fe=[],V=0,Y=X.length;V-1&&(fe?Y=Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`).slice(2):Y=`\n`+Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`))):Y=B.stylize(\"[Circular]\",\"special\")),M(V)){if(fe&&le.match(/^\\d+$/))return Y;V=JSON.stringify(\"\"+le),V.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(V=V.slice(1,-1),V=B.stylize(V,\"name\")):(V=V.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),V=B.stylize(V,\"string\"))}return V+\": \"+Y}function c(B,X,$){var se=0,le=B.reduce(function(fe,V){return se++,V.indexOf(`\n`)>=0&&se++,fe+V.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return le>60?$[0]+(X===\"\"?\"\":X+`\n `)+\" \"+B.join(`,\n `)+\" \"+$[1]:$[0]+X+\" \"+B.join(\", \")+\" \"+$[1]}Z.types=GS();function m(B){return Array.isArray(B)}Z.isArray=m;function p(B){return typeof B==\"boolean\"}Z.isBoolean=p;function T(B){return B===null}Z.isNull=T;function l(B){return B==null}Z.isNullOrUndefined=l;function _(B){return typeof B==\"number\"}Z.isNumber=_;function w(B){return typeof B==\"string\"}Z.isString=w;function A(B){return typeof B==\"symbol\"}Z.isSymbol=A;function M(B){return B===void 0}Z.isUndefined=M;function g(B){return b(B)&&R(B)===\"[object RegExp]\"}Z.isRegExp=g,Z.types.isRegExp=g;function b(B){return typeof B==\"object\"&&B!==null}Z.isObject=b;function d(B){return b(B)&&R(B)===\"[object Date]\"}Z.isDate=d,Z.types.isDate=d;function u(B){return b(B)&&(R(B)===\"[object Error]\"||B instanceof Error)}Z.isError=u,Z.types.isNativeError=u;function y(B){return typeof B==\"function\"}Z.isFunction=y;function f(B){return B===null||typeof B==\"boolean\"||typeof B==\"number\"||typeof B==\"string\"||typeof B==\"symbol\"||typeof B>\"u\"}Z.isPrimitive=f,Z.isBuffer=HS();function R(B){return Object.prototype.toString.call(B)}function L(B){return B<10?\"0\"+B.toString(10):B.toString(10)}var z=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function F(){var B=new Date,X=[L(B.getHours()),L(B.getMinutes()),L(B.getSeconds())].join(\":\");return[B.getDate(),z[B.getMonth()],X].join(\" \")}Z.log=function(){console.log(\"%s - %s\",F(),Z.format.apply(Z,arguments))},Z.inherits=Kv(),Z._extend=function(B,X){if(!X||!b(X))return B;for(var $=Object.keys(X),se=$.length;se--;)B[$[se]]=X[$[se]];return B};function N(B,X){return Object.prototype.hasOwnProperty.call(B,X)}var O=typeof Symbol<\"u\"?Symbol(\"util.promisify.custom\"):void 0;Z.promisify=function(X){if(typeof X!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(O&&X[O]){var $=X[O];if(typeof $!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty($,O,{value:$,enumerable:!1,writable:!1,configurable:!0}),$}function $(){for(var se,le,fe=new Promise(function(ee,q){se=ee,le=q}),V=[],Y=0;Y\"u\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function h(M){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(b){return b.__proto__||Object.getPrototypeOf(b)},h(M)}var c={},m,p;function T(M,g,b){b||(b=Error);function d(y,f,R){return typeof g==\"string\"?g:g(y,f,R)}var u=function(y){r(R,y);var f=a(R);function R(L,z,F){var N;return t(this,R),N=f.call(this,d(L,z,F)),N.code=M,N}return S(R)}(b);c[M]=u}function l(M,g){if(Array.isArray(M)){var b=M.length;return M=M.map(function(d){return String(d)}),b>2?\"one of \".concat(g,\" \").concat(M.slice(0,b-1).join(\", \"),\", or \")+M[b-1]:b===2?\"one of \".concat(g,\" \").concat(M[0],\" or \").concat(M[1]):\"of \".concat(g,\" \").concat(M[0])}else return\"of \".concat(g,\" \").concat(String(M))}function _(M,g,b){return M.substr(!b||b<0?0:+b,g.length)===g}function w(M,g,b){return(b===void 0||b>M.length)&&(b=M.length),M.substring(b-g.length,b)===g}function A(M,g,b){return typeof b!=\"number\"&&(b=0),b+g.length>M.length?!1:M.indexOf(g,b)!==-1}T(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),T(\"ERR_INVALID_ARG_TYPE\",function(M,g,b){m===void 0&&(m=K_()),m(typeof M==\"string\",\"'name' must be a string\");var d;typeof g==\"string\"&&_(g,\"not \")?(d=\"must not be\",g=g.replace(/^not /,\"\")):d=\"must be\";var u;if(w(M,\" argument\"))u=\"The \".concat(M,\" \").concat(d,\" \").concat(l(g,\"type\"));else{var y=A(M,\".\")?\"property\":\"argument\";u='The \"'.concat(M,'\" ').concat(y,\" \").concat(d,\" \").concat(l(g,\"type\"))}return u+=\". Received type \".concat(v(b)),u},TypeError),T(\"ERR_INVALID_ARG_VALUE\",function(M,g){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";p===void 0&&(p=_1());var d=p.inspect(g);return d.length>128&&(d=\"\".concat(d.slice(0,128),\"...\")),\"The argument '\".concat(M,\"' \").concat(b,\". Received \").concat(d)},TypeError,RangeError),T(\"ERR_INVALID_RETURN_VALUE\",function(M,g,b){var d;return b&&b.constructor&&b.constructor.name?d=\"instance of \".concat(b.constructor.name):d=\"type \".concat(v(b)),\"Expected \".concat(M,' to be returned from the \"').concat(g,'\"')+\" function but got \".concat(d,\".\")},TypeError),T(\"ERR_MISSING_ARGS\",function(){for(var M=arguments.length,g=new Array(M),b=0;b0,\"At least one arg needs to be specified\");var d=\"The \",u=g.length;switch(g=g.map(function(y){return'\"'.concat(y,'\"')}),u){case 1:d+=\"\".concat(g[0],\" argument\");break;case 2:d+=\"\".concat(g[0],\" and \").concat(g[1],\" arguments\");break;default:d+=g.slice(0,u-1).join(\", \"),d+=\", and \".concat(g[u-1],\" arguments\");break}return\"\".concat(d,\" must be specified\")},TypeError),G.exports.codes=c}}),ZO=Xe({\"node_modules/assert/build/internal/assert/assertion_error.js\"(Z,G){\"use strict\";function v(U,B){var X=Object.keys(U);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(U);B&&($=$.filter(function(se){return Object.getOwnPropertyDescriptor(U,se).enumerable})),X.push.apply(X,$)}return X}function x(U){for(var B=1;B\"u\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function p(U){return Function.toString.call(U).indexOf(\"[native code]\")!==-1}function T(U,B){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function($,se){return $.__proto__=se,$},T(U,B)}function l(U){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},l(U)}function _(U){\"@babel/helpers - typeof\";return _=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(B){return typeof B}:function(B){return B&&typeof Symbol==\"function\"&&B.constructor===Symbol&&B!==Symbol.prototype?\"symbol\":typeof B},_(U)}var w=_1(),A=w.inspect,M=QS(),g=M.codes.ERR_INVALID_ARG_TYPE;function b(U,B,X){return(X===void 0||X>U.length)&&(X=U.length),U.substring(X-B.length,X)===B}function d(U,B){if(B=Math.floor(B),U.length==0||B==0)return\"\";var X=U.length*B;for(B=Math.floor(Math.log(B)/Math.log(2));B;)U+=U,B--;return U+=U.substring(0,X-U.length),U}var u=\"\",y=\"\",f=\"\",R=\"\",L={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"},z=10;function F(U){var B=Object.keys(U),X=Object.create(Object.getPrototypeOf(U));return B.forEach(function($){X[$]=U[$]}),Object.defineProperty(X,\"message\",{value:U.message}),X}function N(U){return A(U,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function O(U,B,X){var $=\"\",se=\"\",le=0,fe=\"\",V=!1,Y=N(U),ee=Y.split(`\n`),q=N(B).split(`\n`),oe=0,ae=\"\";if(X===\"strictEqual\"&&_(U)===\"object\"&&_(B)===\"object\"&&U!==null&&B!==null&&(X=\"strictEqualObject\"),ee.length===1&&q.length===1&&ee[0]!==q[0]){var j=ee[0].length+q[0].length;if(j<=z){if((_(U)!==\"object\"||U===null)&&(_(B)!==\"object\"||B===null)&&(U!==0||B!==0))return\"\".concat(L[X],`\n\n`)+\"\".concat(ee[0],\" !== \").concat(q[0],`\n`)}else if(X!==\"strictEqualObject\"){var Q=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(j2&&(ae=`\n `.concat(d(\" \",oe),\"^\"),oe=0)}}}for(var re=ee[ee.length-1],ce=q[q.length-1];re===ce&&(oe++<2?fe=`\n `.concat(re).concat(fe):$=re,ee.pop(),q.pop(),!(ee.length===0||q.length===0));)re=ee[ee.length-1],ce=q[q.length-1];var be=Math.max(ee.length,q.length);if(be===0){var Ae=Y.split(`\n`);if(Ae.length>30)for(Ae[26]=\"\".concat(u,\"...\").concat(R);Ae.length>27;)Ae.pop();return\"\".concat(L.notIdentical,`\n\n`).concat(Ae.join(`\n`),`\n`)}oe>3&&(fe=`\n`.concat(u,\"...\").concat(R).concat(fe),V=!0),$!==\"\"&&(fe=`\n `.concat($).concat(fe),$=\"\");var De=0,ze=L[X]+`\n`.concat(y,\"+ actual\").concat(R,\" \").concat(f,\"- expected\").concat(R),Ze=\" \".concat(u,\"...\").concat(R,\" Lines skipped\");for(oe=0;oe1&&oe>2&&(at>4?(se+=`\n`.concat(u,\"...\").concat(R),V=!0):at>3&&(se+=`\n `.concat(q[oe-2]),De++),se+=`\n `.concat(q[oe-1]),De++),le=oe,$+=`\n`.concat(f,\"-\").concat(R,\" \").concat(q[oe]),De++;else if(q.length1&&oe>2&&(at>4?(se+=`\n`.concat(u,\"...\").concat(R),V=!0):at>3&&(se+=`\n `.concat(ee[oe-2]),De++),se+=`\n `.concat(ee[oe-1]),De++),le=oe,se+=`\n`.concat(y,\"+\").concat(R,\" \").concat(ee[oe]),De++;else{var nt=q[oe],rt=ee[oe],st=rt!==nt&&(!b(rt,\",\")||rt.slice(0,-1)!==nt);st&&b(nt,\",\")&&nt.slice(0,-1)===rt&&(st=!1,rt+=\",\"),st?(at>1&&oe>2&&(at>4?(se+=`\n`.concat(u,\"...\").concat(R),V=!0):at>3&&(se+=`\n `.concat(ee[oe-2]),De++),se+=`\n `.concat(ee[oe-1]),De++),le=oe,se+=`\n`.concat(y,\"+\").concat(R,\" \").concat(rt),$+=`\n`.concat(f,\"-\").concat(R,\" \").concat(nt),De+=2):(se+=$,$=\"\",(at===1||oe===0)&&(se+=`\n `.concat(rt),De++))}if(De>20&&oe30)for(j[26]=\"\".concat(u,\"...\").concat(R);j.length>27;)j.pop();j.length===1?le=X.call(this,\"\".concat(ae,\" \").concat(j[0])):le=X.call(this,\"\".concat(ae,`\n\n`).concat(j.join(`\n`),`\n`))}else{var Q=N(ee),re=\"\",ce=L[V];V===\"notDeepEqual\"||V===\"notEqual\"?(Q=\"\".concat(L[V],`\n\n`).concat(Q),Q.length>1024&&(Q=\"\".concat(Q.slice(0,1021),\"...\"))):(re=\"\".concat(N(q)),Q.length>512&&(Q=\"\".concat(Q.slice(0,509),\"...\")),re.length>512&&(re=\"\".concat(re.slice(0,509),\"...\")),V===\"deepEqual\"||V===\"equal\"?Q=\"\".concat(ce,`\n\n`).concat(Q,`\n\nshould equal\n\n`):re=\" \".concat(V,\" \").concat(re)),le=X.call(this,\"\".concat(Q).concat(re))}return Error.stackTraceLimit=oe,le.generatedMessage=!fe,Object.defineProperty(s(le),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),le.code=\"ERR_ASSERTION\",le.actual=ee,le.expected=q,le.operator=V,Error.captureStackTrace&&Error.captureStackTrace(s(le),Y),le.stack,le.name=\"AssertionError\",i(le)}return t($,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:B,value:function(le,fe){return A(this,x(x({},fe),{},{customInspect:!1,depth:0}))}}]),$}(h(Error),A.custom);G.exports=P}}),eM=Xe({\"node_modules/object-keys/isArguments.js\"(Z,G){\"use strict\";var v=Object.prototype.toString;G.exports=function(S){var E=v.call(S),e=E===\"[object Arguments]\";return e||(e=E!==\"[object Array]\"&&S!==null&&typeof S==\"object\"&&typeof S.length==\"number\"&&S.length>=0&&v.call(S.callee)===\"[object Function]\"),e}}}),YO=Xe({\"node_modules/object-keys/implementation.js\"(Z,G){\"use strict\";var v;Object.keys||(x=Object.prototype.hasOwnProperty,S=Object.prototype.toString,E=eM(),e=Object.prototype.propertyIsEnumerable,t=!e.call({toString:null},\"toString\"),r=e.call(function(){},\"prototype\"),o=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],a=function(h){var c=h.constructor;return c&&c.prototype===h},n={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},i=function(){if(typeof window>\"u\")return!1;for(var h in window)try{if(!n[\"$\"+h]&&x.call(window,h)&&window[h]!==null&&typeof window[h]==\"object\")try{a(window[h])}catch{return!0}}catch{return!0}return!1}(),s=function(h){if(typeof window>\"u\"||!i)return a(h);try{return a(h)}catch{return!1}},v=function(c){var m=c!==null&&typeof c==\"object\",p=S.call(c)===\"[object Function]\",T=E(c),l=m&&S.call(c)===\"[object String]\",_=[];if(!m&&!p&&!T)throw new TypeError(\"Object.keys called on a non-object\");var w=r&&p;if(l&&c.length>0&&!x.call(c,0))for(var A=0;A0)for(var M=0;M2?arguments[2]:{},c=v(s);x&&(c=E.call(c,Object.getOwnPropertySymbols(s)));for(var m=0;mMe.length)&&(ye=Me.length);for(var he=0,Oe=new Array(ye);he10)return!0;for(var ye=0;ye57)return!0}return Me.length===10&&Me>=Math.pow(2,32)}function P(Me){return Object.keys(Me).filter(O).concat(s(Me).filter(Object.prototype.propertyIsEnumerable.bind(Me)))}function U(Me,ye){if(Me===ye)return 0;for(var he=Me.length,Oe=ye.length,tt=0,ot=Math.min(he,Oe);tt1?q-1:0),ae=1;ae1?q-1:0),ae=1;ae1?q-1:0),ae=1;ae1?q-1:0),ae=1;ae0)return t(n);if(s===\"number\"&&isNaN(n)===!1)return i.long?o(n):r(n);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(n))};function t(n){if(n=String(n),!(n.length>100)){var i=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(n);if(i){var s=parseFloat(i[1]),h=(i[2]||\"ms\").toLowerCase();switch(h){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return s*e;case\"days\":case\"day\":case\"d\":return s*E;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return s*S;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return s*x;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return s*v;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return s;default:return}}}}function r(n){return n>=E?Math.round(n/E)+\"d\":n>=S?Math.round(n/S)+\"h\":n>=x?Math.round(n/x)+\"m\":n>=v?Math.round(n/v)+\"s\":n+\"ms\"}function o(n){return a(n,E,\"day\")||a(n,S,\"hour\")||a(n,x,\"minute\")||a(n,v,\"second\")||n+\" ms\"}function a(n,i,s){if(!(n=31||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}Z.formatters.j=function(r){try{return JSON.stringify(r)}catch(o){return\"[UnexpectedJSONParseError]: \"+o.message}};function x(r){var o=this.useColors;if(r[0]=(o?\"%c\":\"\")+this.namespace+(o?\" %c\":\" \")+r[0]+(o?\"%c \":\" \")+\"+\"+Z.humanize(this.diff),!!o){var a=\"color: \"+this.color;r.splice(1,0,a,\"color: inherit\");var n=0,i=0;r[0].replace(/%[a-zA-Z%]/g,function(s){s!==\"%%\"&&(n++,s===\"%c\"&&(i=n))}),r.splice(i,0,a)}}function S(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function E(r){try{r==null?Z.storage.removeItem(\"debug\"):Z.storage.debug=r}catch{}}function e(){var r;try{r=Z.storage.debug}catch{}return!r&&typeof process<\"u\"&&\"env\"in process&&(r=process.env.DEBUG),r}Z.enable(e());function t(){try{return window.localStorage}catch{}}}}),oB=Xe({\"node_modules/stream-parser/index.js\"(Z,G){var v=K_(),x=nB()(\"stream-parser\");G.exports=r;var S=-1,E=0,e=1,t=2;function r(l){var _=l&&typeof l._transform==\"function\",w=l&&typeof l._write==\"function\";if(!_&&!w)throw new Error(\"must pass a Writable or Transform stream in\");x(\"extending Parser into stream\"),l._bytes=a,l._skipBytes=n,_&&(l._passthrough=i),_?l._transform=h:l._write=s}function o(l){x(\"initializing parser stream\"),l._parserBytesLeft=0,l._parserBuffers=[],l._parserBuffered=0,l._parserState=S,l._parserCallback=null,typeof l.push==\"function\"&&(l._parserOutput=l.push.bind(l)),l._parserInit=!0}function a(l,_){v(!this._parserCallback,'there is already a \"callback\" set!'),v(isFinite(l)&&l>0,'can only buffer a finite number of bytes > 0, got \"'+l+'\"'),this._parserInit||o(this),x(\"buffering %o bytes\",l),this._parserBytesLeft=l,this._parserCallback=_,this._parserState=E}function n(l,_){v(!this._parserCallback,'there is already a \"callback\" set!'),v(l>0,'can only skip > 0 bytes, got \"'+l+'\"'),this._parserInit||o(this),x(\"skipping %o bytes\",l),this._parserBytesLeft=l,this._parserCallback=_,this._parserState=e}function i(l,_){v(!this._parserCallback,'There is already a \"callback\" set!'),v(l>0,'can only pass through > 0 bytes, got \"'+l+'\"'),this._parserInit||o(this),x(\"passing through %o bytes\",l),this._parserBytesLeft=l,this._parserCallback=_,this._parserState=t}function s(l,_,w){this._parserInit||o(this),x(\"write(%o bytes)\",l.length),typeof _==\"function\"&&(w=_),p(this,l,null,w)}function h(l,_,w){this._parserInit||o(this),x(\"transform(%o bytes)\",l.length),typeof _!=\"function\"&&(_=this._parserOutput),p(this,l,_,w)}function c(l,_,w,A){return l._parserBytesLeft<=0?A(new Error(\"got data but not currently parsing anything\")):_.length<=l._parserBytesLeft?function(){return m(l,_,w,A)}:function(){var M=_.slice(0,l._parserBytesLeft);return m(l,M,w,function(g){if(g)return A(g);if(_.length>M.length)return function(){return c(l,_.slice(M.length),w,A)}})}}function m(l,_,w,A){if(l._parserBytesLeft-=_.length,x(\"%o bytes left for stream piece\",l._parserBytesLeft),l._parserState===E?(l._parserBuffers.push(_),l._parserBuffered+=_.length):l._parserState===t&&w(_),l._parserBytesLeft===0){var M=l._parserCallback;if(M&&l._parserState===E&&l._parserBuffers.length>1&&(_=Buffer.concat(l._parserBuffers,l._parserBuffered)),l._parserState!==E&&(_=null),l._parserCallback=null,l._parserBuffered=0,l._parserState=S,l._parserBuffers.splice(0),M){var g=[];_&&g.push(_),w&&g.push(w);var b=M.length>g.length;b&&g.push(T(A));var d=M.apply(l,g);if(!b||A===d)return A}}else return A}var p=T(c);function T(l){return function(){for(var _=l.apply(this,arguments);typeof _==\"function\";)_=_();return _}}}}),ac=Xe({\"node_modules/probe-image-size/lib/common.js\"(Z){\"use strict\";var G=XO().Transform,v=oB();function x(){G.call(this,{readableObjectMode:!0})}x.prototype=Object.create(G.prototype),x.prototype.constructor=x,v(x.prototype),Z.ParserStream=x,Z.sliceEq=function(E,e,t){for(var r=e,o=0;o>4&15,c=i[4]&15,m=i[5]>>4&15,p=v(i,6),T=8,l=0;lp.width||m.width===p.width&&m.height>p.height?m:p}),h=i.reduce(function(m,p){return m.height>p.height||m.height===p.height&&m.width>p.width?m:p}),c;return s.width>h.height||s.width===h.height&&s.height>h.width?c=s:c=h,c}G.exports.readSizeFromMeta=function(i){var s={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(a(i,s),!!s.sizes.length){var h=n(s.sizes),c=1;s.transforms.forEach(function(p){var T={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},l={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(p.type===\"imir\"&&(p.value===0?c=l[c]:(c=l[c],c=T[c],c=T[c])),p.type===\"irot\")for(var _=0;_0&&!this.aborted;){var t=this.ifds_to_read.shift();t.offset&&this.scan_ifd(t.id,t.offset,E)}},S.prototype.read_uint16=function(E){var e=this.input;if(E+2>e.length)throw v(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?e[E]*256+e[E+1]:e[E]+e[E+1]*256},S.prototype.read_uint32=function(E){var e=this.input;if(E+4>e.length)throw v(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?e[E]*16777216+e[E+1]*65536+e[E+2]*256+e[E+3]:e[E]+e[E+1]*256+e[E+2]*65536+e[E+3]*16777216},S.prototype.is_subifd_link=function(E,e){return E===0&&e===34665||E===0&&e===34853||E===34665&&e===40965},S.prototype.exif_format_length=function(E){switch(E){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},S.prototype.exif_format_read=function(E,e){var t;switch(E){case 1:case 2:return t=this.input[e],t;case 6:return t=this.input[e],t|(t&128)*33554430;case 3:return t=this.read_uint16(e),t;case 8:return t=this.read_uint16(e),t|(t&32768)*131070;case 4:return t=this.read_uint32(e),t;case 9:return t=this.read_uint32(e),t|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}},S.prototype.scan_ifd=function(E,e,t){var r=this.read_uint16(e);e+=2;for(var o=0;othis.input.length)throw v(\"unexpected EOF\",\"EBADDATA\");for(var p=[],T=c,l=0;l0&&(this.ifds_to_read.push({id:a,offset:p[0]}),m=!0);var w={is_big_endian:this.big_endian,ifd:E,tag:a,format:n,count:i,entry_offset:e+this.start,data_length:h,data_offset:c+this.start,value:p,is_subifd_link:m};if(t(w)===!1){this.aborted=!0;return}e+=12}E===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(e)})},G.exports.ExifParser=S,G.exports.get_orientation=function(E){var e=0;try{return new S(E,0,E.length).each(function(t){if(t.ifd===0&&t.tag===274&&Array.isArray(t.value))return e=t.value[0],!1}),e}catch{return-1}}}}),lB=Xe({\"node_modules/probe-image-size/lib/parse_sync/avif.js\"(Z,G){\"use strict\";var v=ac().str2arr,x=ac().sliceEq,S=ac().readUInt32BE,E=sB(),e=y3(),t=v(\"ftyp\");G.exports=function(r){if(x(r,4,t)){var o=E.unbox(r,0);if(o){var a=E.getMimeType(o.data);if(a){for(var n,i=o.end;;){var s=E.unbox(r,i);if(!s)break;if(i=s.end,s.boxtype===\"mdat\")return;if(s.boxtype===\"meta\"){n=s.data;break}}if(n){var h=E.readSizeFromMeta(n);if(h){var c={width:h.width,height:h.height,type:a.type,mime:a.mime,wUnits:\"px\",hUnits:\"px\"};if(h.variants.length>1&&(c.variants=h.variants),h.orientation&&(c.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=r.length){var m=S(r,h.exif_location.offset),p=r.slice(h.exif_location.offset+m+4,h.exif_location.offset+h.exif_location.length),T=e.get_orientation(p);T>0&&(c.orientation=T)}return c}}}}}}}}),uB=Xe({\"node_modules/probe-image-size/lib/parse_sync/bmp.js\"(Z,G){\"use strict\";var v=ac().str2arr,x=ac().sliceEq,S=ac().readUInt16LE,E=v(\"BM\");G.exports=function(e){if(!(e.length<26)&&x(e,0,E))return{width:S(e,18),height:S(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}}}),cB=Xe({\"node_modules/probe-image-size/lib/parse_sync/gif.js\"(Z,G){\"use strict\";var v=ac().str2arr,x=ac().sliceEq,S=ac().readUInt16LE,E=v(\"GIF87a\"),e=v(\"GIF89a\");G.exports=function(t){if(!(t.length<10)&&!(!x(t,0,E)&&!x(t,0,e)))return{width:S(t,6),height:S(t,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}}}),fB=Xe({\"node_modules/probe-image-size/lib/parse_sync/ico.js\"(Z,G){\"use strict\";var v=ac().readUInt16LE,x=0,S=1,E=16;G.exports=function(e){var t=v(e,0),r=v(e,2),o=v(e,4);if(!(t!==x||r!==S||!o)){for(var a=[],n={width:0,height:0},i=0;in.width||h>n.height)&&(n=c)}return{width:n.width,height:n.height,variants:a,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}}}),hB=Xe({\"node_modules/probe-image-size/lib/parse_sync/jpeg.js\"(Z,G){\"use strict\";var v=ac().readUInt16BE,x=ac().str2arr,S=ac().sliceEq,E=y3(),e=x(\"Exif\\0\\0\");G.exports=function(t){if(!(t.length<2)&&!(t[0]!==255||t[1]!==216||t[2]!==255))for(var r=2;;){for(;;){if(t.length-r<2)return;if(t[r++]===255)break}for(var o=t[r++],a;o===255;)o=t[r++];if(208<=o&&o<=217||o===1)a=0;else if(192<=o&&o<=254){if(t.length-r<2)return;a=v(t,r)-2,r+=2}else return;if(o===217||o===218)return;var n;if(o===225&&a>=10&&S(t,r,e)&&(n=E.get_orientation(t.slice(r+6,r+a))),a>=5&&192<=o&&o<=207&&o!==196&&o!==200&&o!==204){if(t.length-r0&&(i.orientation=n),i}r+=a}}}}),pB=Xe({\"node_modules/probe-image-size/lib/parse_sync/png.js\"(Z,G){\"use strict\";var v=ac().str2arr,x=ac().sliceEq,S=ac().readUInt32BE,E=v(`\\x89PNG\\r\n\u001a\n`),e=v(\"IHDR\");G.exports=function(t){if(!(t.length<24)&&x(t,0,E)&&x(t,12,e))return{width:S(t,16),height:S(t,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}}}),dB=Xe({\"node_modules/probe-image-size/lib/parse_sync/psd.js\"(Z,G){\"use strict\";var v=ac().str2arr,x=ac().sliceEq,S=ac().readUInt32BE,E=v(\"8BPS\\0\u0001\");G.exports=function(e){if(!(e.length<22)&&x(e,0,E))return{width:S(e,18),height:S(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}}}),vB=Xe({\"node_modules/probe-image-size/lib/parse_sync/svg.js\"(Z,G){\"use strict\";function v(s){return s===32||s===9||s===13||s===10}function x(s){return typeof s==\"number\"&&isFinite(s)&&s>0}function S(s){var h=0,c=s.length;for(s[0]===239&&s[1]===187&&s[2]===191&&(h=3);h]*>/,e=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,r=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,o=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,a=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function n(s){var h=s.match(t),c=s.match(r),m=s.match(o);return{width:h&&(h[1]||h[2]),height:c&&(c[1]||c[2]),viewbox:m&&(m[1]||m[2])}}function i(s){return a.test(s)?s.match(a)[0]:\"px\"}G.exports=function(s){if(S(s)){for(var h=\"\",c=0;c>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function n(i,s){return{width:(i[s+6]<<16|i[s+5]<<8|i[s+4])+1,height:(i[s+9]<i.length)){for(;s+8=10?h=h||o(i,s+8):p===\"VP8L\"&&T>=9?h=h||a(i,s+8):p===\"VP8X\"&&T>=10?h=h||n(i,s+8):p===\"EXIF\"&&(c=e.get_orientation(i.slice(s+8,s+8+T)),s=1/0),s+=8+T}if(h)return c>0&&(h.orientation=c),h}}}}}),yB=Xe({\"node_modules/probe-image-size/lib/parsers_sync.js\"(Z,G){\"use strict\";G.exports={avif:lB(),bmp:uB(),gif:cB(),ico:fB(),jpeg:hB(),png:pB(),psd:dB(),svg:vB(),tiff:mB(),webp:gB()}}}),_B=Xe({\"node_modules/probe-image-size/sync.js\"(Z,G){\"use strict\";var v=yB();function x(S){for(var E=Object.keys(v),e=0;e0;)R=h.c2p(M+N*u),N--;for(N=0;z===void 0&&N0;)F=c.c2p(g+N*y),N--;if(RV[0];if(Y||ee){var q=f+P/2,oe=z+U/2;le+=\"transform:\"+S(q+\"px\",oe+\"px\")+\"scale(\"+(Y?-1:1)+\",\"+(ee?-1:1)+\")\"+S(-q+\"px\",-oe+\"px\")+\";\"}}se.attr(\"style\",le);var ae=new Promise(function(j){if(_._hasZ)j();else if(_._hasSource)if(_._canvas&&_._canvas.el.width===b&&_._canvas.el.height===d&&_._canvas.source===_.source)j();else{var Q=document.createElement(\"canvas\");Q.width=b,Q.height=d;var re=Q.getContext(\"2d\",{willReadFrequently:!0});_._image=_._image||new Image;var ce=_._image;ce.onload=function(){re.drawImage(ce,0,0),_._canvas={el:Q,source:_.source},j()},ce.setAttribute(\"src\",_.source)}}).then(function(){var j,Q;if(_._hasZ)Q=$(function(be,Ae){var De=A[Ae][be];return x.isTypedArray(De)&&(De=Array.from(De)),De}),j=Q.toDataURL(\"image/png\");else if(_._hasSource)if(w)j=_.source;else{var re=_._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),ce=re.getImageData(0,0,b,d).data;Q=$(function(be,Ae){var De=4*(Ae*b+be);return[ce[De],ce[De+1],ce[De+2],ce[De+3]]}),j=Q.toDataURL(\"image/png\")}se.attr({\"xlink:href\":j,height:U,width:P,x:f,y:z})});a._promises.push(ae)})}}}),TB=Xe({\"src/traces/image/style.js\"(Z,G){\"use strict\";var v=Hn();G.exports=function(S){v.select(S).selectAll(\".im image\").style(\"opacity\",function(E){return E[0].trace.opacity})}}}),AB=Xe({\"src/traces/image/hover.js\"(Z,G){\"use strict\";var v=rf(),x=sa(),S=x.isArrayOrTypedArray,E=v1();G.exports=function(t,r,o){var a=t.cd[0],n=a.trace,i=t.xa,s=t.ya;if(!(v.inbox(r-a.x0,r-(a.x0+a.w*n.dx),0)>0||v.inbox(o-a.y0,o-(a.y0+a.h*n.dy),0)>0)){var h=Math.floor((r-a.x0)/n.dx),c=Math.floor(Math.abs(o-a.y0)/n.dy),m;if(n._hasZ?m=a.z[c][h]:n._hasSource&&(m=n._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(h,c,1,1).data),!!m){var p=a.hi||n.hoverinfo,T;if(p){var l=p.split(\"+\");l.indexOf(\"all\")!==-1&&(l=[\"color\"]),l.indexOf(\"color\")!==-1&&(T=!0)}var _=E.colormodel[n.colormodel],w=_.colormodel||n.colormodel,A=w.length,M=n._scaler(m),g=_.suffix,b=[];(n.hovertemplate||T)&&(b.push(\"[\"+[M[0]+g[0],M[1]+g[1],M[2]+g[2]].join(\", \")),A===4&&b.push(\", \"+M[3]+g[3]),b.push(\"]\"),b=b.join(\"\"),t.extraText=w.toUpperCase()+\": \"+b);var d;S(n.hovertext)&&S(n.hovertext[c])?d=n.hovertext[c][h]:S(n.text)&&S(n.text[c])&&(d=n.text[c][h]);var u=s.c2p(a.y0+(c+.5)*n.dy),y=a.x0+(h+.5)*n.dx,f=a.y0+(c+.5)*n.dy,R=\"[\"+m.slice(0,n.colormodel.length).join(\", \")+\"]\";return[x.extendFlat(t,{index:[c,h],x0:i.c2p(a.x0+h*n.dx),x1:i.c2p(a.x0+(h+1)*n.dx),y0:u,y1:u,color:M,xVal:y,xLabelVal:y,yVal:f,yLabelVal:f,zLabelVal:R,text:d,hovertemplateLabels:{zLabel:R,colorLabel:b,\"color[0]Label\":M[0]+g[0],\"color[1]Label\":M[1]+g[1],\"color[2]Label\":M[2]+g[2],\"color[3]Label\":M[3]+g[3]}})]}}}}}),SB=Xe({\"src/traces/image/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S){return\"xVal\"in S&&(x.x=S.xVal),\"yVal\"in S&&(x.y=S.yVal),S.xa&&(x.xaxis=S.xa),S.ya&&(x.yaxis=S.ya),x.color=S.color,x.colormodel=S.trace.colormodel,x.z||(x.z=S.color),x}}}),MB=Xe({\"src/traces/image/index.js\"(Z,G){\"use strict\";G.exports={attributes:DS(),supplyDefaults:lO(),calc:bB(),plot:wB(),style:TB(),hoverPoints:AB(),eventData:SB(),moduleType:\"trace\",name:\"image\",basePlotModule:Kf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}}}),EB=Xe({\"lib/image.js\"(Z,G){\"use strict\";G.exports=MB()}}),og=Xe({\"src/traces/pie/attributes.js\"(Z,G){\"use strict\";var v=ru(),x=wc().attributes,S=tc(),E=sh(),{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=Jl(),o=Qo().extendFlat,a=Gh().pattern,n=S({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});G.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:E.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:a,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:o({},v.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:e({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),hovertemplatefallback:r(),texttemplate:t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplatefallback:r({editType:\"plot\"}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:o({},n,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:o({},n,{}),outsidetextfont:o({},n,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:o({},v.showlegend,{arrayOk:!0}),legend:o({},v.legend,{arrayOk:!0}),title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:o({},n,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:x({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:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}}}}),sg=Xe({\"src/traces/pie/defaults.js\"(Z,G){\"use strict\";var v=rs(),x=sa(),S=og(),E=wc().defaults,e=gd().handleText,t=sa().coercePattern;function r(n,i){var s=x.isArrayOrTypedArray(n),h=x.isArrayOrTypedArray(i),c=Math.min(s?n.length:1/0,h?i.length:1/0);if(isFinite(c)||(c=0),c&&h){for(var m,p=0;p0){m=!0;break}}m||(c=0)}return{hasLabels:s,hasValues:h,len:c}}function o(n,i,s,h,c){var m=h(\"marker.line.width\");m&&h(\"marker.line.color\",c?void 0:s.paper_bgcolor);var p=h(\"marker.colors\");t(h,\"marker.pattern\",p),n.marker&&!i.marker.pattern.fgcolor&&(i.marker.pattern.fgcolor=n.marker.colors),i.marker.pattern.bgcolor||(i.marker.pattern.bgcolor=s.paper_bgcolor)}function a(n,i,s,h){function c(f,R){return x.coerce(n,i,S,f,R)}var m=c(\"labels\"),p=c(\"values\"),T=r(m,p),l=T.len;if(i._hasLabels=T.hasLabels,i._hasValues=T.hasValues,!i._hasLabels&&i._hasValues&&(c(\"label0\"),c(\"dlabel\")),!l){i.visible=!1;return}i._length=l,o(n,i,h,c,!0),c(\"scalegroup\");var _=c(\"text\"),w=c(\"texttemplate\");c(\"texttemplatefallback\");var A;if(w||(A=c(\"textinfo\",x.isArrayOrTypedArray(_)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),c(\"hovertemplatefallback\"),w||A&&A!==\"none\"){var M=c(\"textposition\");e(n,i,h,c,M,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var g=Array.isArray(M)||M===\"auto\",b=g||M===\"outside\";b&&c(\"automargin\"),(M===\"inside\"||M===\"auto\"||Array.isArray(M))&&c(\"insidetextorientation\")}else A===\"none\"&&c(\"textposition\",\"none\");E(i,h,c);var d=c(\"hole\"),u=c(\"title.text\");if(u){var y=c(\"title.position\",d?\"middle center\":\"top center\");!d&&y===\"middle center\"&&(i.title.position=\"top center\"),x.coerceFont(c,\"title.font\",h.font)}c(\"sort\"),c(\"direction\"),c(\"rotation\"),c(\"pull\")}G.exports={handleLabelsAndValues:r,handleMarkerDefaults:o,supplyDefaults:a}}}),_3=Xe({\"src/traces/pie/layout_attributes.js\"(Z,G){\"use strict\";G.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),kB=Xe({\"src/traces/pie/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=_3();G.exports=function(E,e){function t(r,o){return v.coerce(E,e,x,r,o)}t(\"hiddenlabels\"),t(\"piecolorway\",e.colorway),t(\"extendpiecolors\")}}}),x1=Xe({\"src/traces/pie/calc.js\"(Z,G){\"use strict\";var v=rs(),x=Ch(),S=$n(),E={};function e(a,n){var i=[],s=a._fullLayout,h=s.hiddenlabels||[],c=n.labels,m=n.marker.colors||[],p=n.values,T=n._length,l=n._hasValues&&T,_,w;if(n.dlabel)for(c=new Array(T),_=0;_=0});var R=n.type===\"funnelarea\"?b:n.sort;return R&&i.sort(function(L,z){return z.v-L.v}),i[0]&&(i[0].vTotal=g),i}function t(a){return function(i,s){return!i||(i=x(i),!i.isValid())?!1:(i=S.addOpacity(i,i.getAlpha()),a[s]||(a[s]=i),i)}}function r(a,n){var i=(n||{}).type;i||(i=\"pie\");var s=a._fullLayout,h=a.calcdata,c=s[i+\"colorway\"],m=s[\"_\"+i+\"colormap\"];s[\"extend\"+i+\"colors\"]&&(c=o(c,E));for(var p=0,T=0;T0&&(tt+=It*he.pxmid[0],ot+=It*he.pxmid[1])}he.cxFinal=tt,he.cyFinal=ot;function qt(wt,Ne,Ke,Te){var Ie=Te*(Ne[0]-wt[0]),Ve=Te*(Ne[1]-wt[1]);return\"a\"+Te*ce.r+\",\"+Te*ce.r+\" 0 \"+he.largeArc+(Ke?\" 1 \":\" 0 \")+Ie+\",\"+Ve}var Wt=be.hole;if(he.v===ce.vTotal){var kr=\"M\"+(tt+he.px0[0])+\",\"+(ot+he.px0[1])+qt(he.px0,he.pxmid,!0,1)+qt(he.pxmid,he.px0,!0,1)+\"Z\";Wt?Pt.attr(\"d\",\"M\"+(tt+Wt*he.px0[0])+\",\"+(ot+Wt*he.px0[1])+qt(he.px0,he.pxmid,!1,Wt)+qt(he.pxmid,he.px0,!1,Wt)+\"Z\"+kr):Pt.attr(\"d\",kr)}else{var mr=qt(he.px0,he.px1,!0,1);if(Wt){var qr=1-Wt;Pt.attr(\"d\",\"M\"+(tt+Wt*he.px1[0])+\",\"+(ot+Wt*he.px1[1])+qt(he.px1,he.px0,!1,Wt)+\"l\"+qr*he.px0[0]+\",\"+qr*he.px0[1]+mr+\"Z\")}else Pt.attr(\"d\",\"M\"+tt+\",\"+ot+\"l\"+he.px0[0]+\",\"+he.px0[1]+mr+\"Z\")}fe(Y,he,ce);var Sr=c.castOption(be.textposition,he.pts),Rr=Qe.selectAll(\"g.slicetext\").data(he.text&&Sr!==\"none\"?[0]:[]);Rr.enter().append(\"g\").classed(\"slicetext\",!0),Rr.exit().remove(),Rr.each(function(){var wt=t.ensureSingle(v.select(this),\"text\",\"\",function(Pe){Pe.attr(\"data-notex\",1)}),Ne=t.ensureUniformFontSize(Y,Sr===\"outside\"?w(be,he,oe.font):A(be,he,oe.font));wt.text(he.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(e.font,Ne).call(a.convertToTspans,Y);var Ke=e.bBox(wt.node()),Te;if(Sr===\"outside\")Te=z(Ke,he);else if(Te=g(Ke,he,ce),Sr===\"auto\"&&Te.scale<1){var Ie=t.ensureUniformFontSize(Y,be.outsidetextfont);wt.call(e.font,Ie),Ke=e.bBox(wt.node()),Te=z(Ke,he)}var Ve=Te.textPosAngle,Ce=Ve===void 0?he.pxmid:le(ce.r,Ve);if(Te.targetX=tt+Ce[0]*Te.rCenter+(Te.x||0),Te.targetY=ot+Ce[1]*Te.rCenter+(Te.y||0),V(Te,Ke),Te.outside){var Ee=Te.targetY;he.yLabelMin=Ee-Ke.height/2,he.yLabelMid=Ee,he.yLabelMax=Ee+Ke.height/2,he.labelExtraX=0,he.labelExtraY=0,ze=!0}Te.fontSize=Ne.size,i(be.type,Te,oe),Q[Oe].transform=Te,t.setTransormAndDisplay(wt,Te)})});var Ze=v.select(this).selectAll(\"g.titletext\").data(be.title.text?[0]:[]);if(Ze.enter().append(\"g\").classed(\"titletext\",!0),Ze.exit().remove(),Ze.each(function(){var he=t.ensureSingle(v.select(this),\"text\",\"\",function(ot){ot.attr(\"data-notex\",1)}),Oe=be.title.text;be._meta&&(Oe=t.templateString(Oe,be._meta)),he.text(Oe).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(e.font,be.title.font).call(a.convertToTspans,Y);var tt;be.title.position===\"middle center\"?tt=F(ce):tt=N(ce,ae),he.attr(\"transform\",o(tt.x,tt.y)+r(Math.min(1,tt.scale))+o(tt.tx,tt.ty))}),ze&&B(De,be),l(Ae,be),ze&&be.automargin){var at=e.bBox(re.node()),nt=be.domain,rt=ae.w*(nt.x[1]-nt.x[0]),st=ae.h*(nt.y[1]-nt.y[0]),Me=(.5*rt-ce.r)/ae.w,ye=(.5*st-ce.r)/ae.h;x.autoMargin(Y,\"pie.\"+be.uid+\".automargin\",{xl:nt.x[0]-Me,xr:nt.x[1]+Me,yb:nt.y[0]-ye,yt:nt.y[1]+ye,l:Math.max(ce.cx-ce.r-at.left,0),r:Math.max(at.right-(ce.cx+ce.r),0),b:Math.max(at.bottom-(ce.cy+ce.r),0),t:Math.max(ce.cy-ce.r-at.top,0),pad:5})}})});setTimeout(function(){j.selectAll(\"tspan\").each(function(){var Q=v.select(this);Q.attr(\"dy\")&&Q.attr(\"dy\",Q.attr(\"dy\"))})},0)}function l(Y,ee){Y.each(function(q){var oe=v.select(this);if(!q.labelExtraX&&!q.labelExtraY){oe.select(\"path.textline\").remove();return}var ae=oe.select(\"g.slicetext text\");q.transform.targetX+=q.labelExtraX,q.transform.targetY+=q.labelExtraY,t.setTransormAndDisplay(ae,q.transform);var j=q.cxFinal+q.pxmid[0],Q=q.cyFinal+q.pxmid[1],re=\"M\"+j+\",\"+Q,ce=(q.yLabelMax-q.yLabelMin)*(q.pxmid[0]<0?-1:1)/4;if(q.labelExtraX){var be=q.labelExtraX*q.pxmid[1]/q.pxmid[0],Ae=q.yLabelMid+q.labelExtraY-(q.cyFinal+q.pxmid[1]);Math.abs(be)>Math.abs(Ae)?re+=\"l\"+Ae*q.pxmid[0]/q.pxmid[1]+\",\"+Ae+\"H\"+(j+q.labelExtraX+ce):re+=\"l\"+q.labelExtraX+\",\"+be+\"v\"+(Ae-be)+\"h\"+ce}else re+=\"V\"+(q.yLabelMid+q.labelExtraY)+\"h\"+ce;t.ensureSingle(oe,\"path\",\"textline\").call(E.stroke,ee.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,ee.outsidetextfont.size/8),d:re,fill:\"none\"})})}function _(Y,ee,q){var oe=q[0],ae=oe.cx,j=oe.cy,Q=oe.trace,re=Q.type===\"funnelarea\";\"_hasHoverLabel\"in Q||(Q._hasHoverLabel=!1),\"_hasHoverEvent\"in Q||(Q._hasHoverEvent=!1),Y.on(\"mouseover\",function(ce){var be=ee._fullLayout,Ae=ee._fullData[Q.index];if(!(ee._dragging||be.hovermode===!1)){var De=Ae.hoverinfo;if(Array.isArray(De)&&(De=S.castHoverinfo({hoverinfo:[c.castOption(De,ce.pts)],_module:Q._module},be,0)),De===\"all\"&&(De=\"label+text+value+percent+name\"),Ae.hovertemplate||De!==\"none\"&&De!==\"skip\"&&De){var ze=ce.rInscribed||0,Ze=ae+ce.pxmid[0]*(1-ze),at=j+ce.pxmid[1]*(1-ze),nt=be.separators,rt=[];if(De&&De.indexOf(\"label\")!==-1&&rt.push(ce.label),ce.text=c.castOption(Ae.hovertext||Ae.text,ce.pts),De&&De.indexOf(\"text\")!==-1){var st=ce.text;t.isValidTextValue(st)&&rt.push(st)}ce.value=ce.v,ce.valueLabel=c.formatPieValue(ce.v,nt),De&&De.indexOf(\"value\")!==-1&&rt.push(ce.valueLabel),ce.percent=ce.v/oe.vTotal,ce.percentLabel=c.formatPiePercent(ce.percent,nt),De&&De.indexOf(\"percent\")!==-1&&rt.push(ce.percentLabel);var Me=Ae.hoverlabel,ye=Me.font,he=[];S.loneHover({trace:Q,x0:Ze-ze*oe.r,x1:Ze+ze*oe.r,y:at,_x0:re?ae+ce.TL[0]:Ze-ze*oe.r,_x1:re?ae+ce.TR[0]:Ze+ze*oe.r,_y0:re?j+ce.TL[1]:at-ze*oe.r,_y1:re?j+ce.BL[1]:at+ze*oe.r,text:rt.join(\"
\"),name:Ae.hovertemplate||De.indexOf(\"name\")!==-1?Ae.name:void 0,idealAlign:ce.pxmid[0]<0?\"left\":\"right\",color:c.castOption(Me.bgcolor,ce.pts)||ce.color,borderColor:c.castOption(Me.bordercolor,ce.pts),fontFamily:c.castOption(ye.family,ce.pts),fontSize:c.castOption(ye.size,ce.pts),fontColor:c.castOption(ye.color,ce.pts),nameLength:c.castOption(Me.namelength,ce.pts),textAlign:c.castOption(Me.align,ce.pts),hovertemplate:c.castOption(Ae.hovertemplate,ce.pts),hovertemplateLabels:ce,eventData:[m(ce,Ae)]},{container:be._hoverlayer.node(),outerContainer:be._paper.node(),gd:ee,inOut_bbox:he}),ce.bbox=he[0],Q._hasHoverLabel=!0}Q._hasHoverEvent=!0,ee.emit(\"plotly_hover\",{points:[m(ce,Ae)],event:v.event})}}),Y.on(\"mouseout\",function(ce){var be=ee._fullLayout,Ae=ee._fullData[Q.index],De=v.select(this).datum();Q._hasHoverEvent&&(ce.originalEvent=v.event,ee.emit(\"plotly_unhover\",{points:[m(De,Ae)],event:v.event}),Q._hasHoverEvent=!1),Q._hasHoverLabel&&(S.loneUnhover(be._hoverlayer.node()),Q._hasHoverLabel=!1)}),Y.on(\"click\",function(ce){var be=ee._fullLayout,Ae=ee._fullData[Q.index];ee._dragging||be.hovermode===!1||(ee._hoverdata=[m(ce,Ae)],S.click(ee,v.event))})}function w(Y,ee,q){var oe=c.castOption(Y.outsidetextfont.color,ee.pts)||c.castOption(Y.textfont.color,ee.pts)||q.color,ae=c.castOption(Y.outsidetextfont.family,ee.pts)||c.castOption(Y.textfont.family,ee.pts)||q.family,j=c.castOption(Y.outsidetextfont.size,ee.pts)||c.castOption(Y.textfont.size,ee.pts)||q.size,Q=c.castOption(Y.outsidetextfont.weight,ee.pts)||c.castOption(Y.textfont.weight,ee.pts)||q.weight,re=c.castOption(Y.outsidetextfont.style,ee.pts)||c.castOption(Y.textfont.style,ee.pts)||q.style,ce=c.castOption(Y.outsidetextfont.variant,ee.pts)||c.castOption(Y.textfont.variant,ee.pts)||q.variant,be=c.castOption(Y.outsidetextfont.textcase,ee.pts)||c.castOption(Y.textfont.textcase,ee.pts)||q.textcase,Ae=c.castOption(Y.outsidetextfont.lineposition,ee.pts)||c.castOption(Y.textfont.lineposition,ee.pts)||q.lineposition,De=c.castOption(Y.outsidetextfont.shadow,ee.pts)||c.castOption(Y.textfont.shadow,ee.pts)||q.shadow;return{color:oe,family:ae,size:j,weight:Q,style:re,variant:ce,textcase:be,lineposition:Ae,shadow:De}}function A(Y,ee,q){var oe=c.castOption(Y.insidetextfont.color,ee.pts);!oe&&Y._input.textfont&&(oe=c.castOption(Y._input.textfont.color,ee.pts));var ae=c.castOption(Y.insidetextfont.family,ee.pts)||c.castOption(Y.textfont.family,ee.pts)||q.family,j=c.castOption(Y.insidetextfont.size,ee.pts)||c.castOption(Y.textfont.size,ee.pts)||q.size,Q=c.castOption(Y.insidetextfont.weight,ee.pts)||c.castOption(Y.textfont.weight,ee.pts)||q.weight,re=c.castOption(Y.insidetextfont.style,ee.pts)||c.castOption(Y.textfont.style,ee.pts)||q.style,ce=c.castOption(Y.insidetextfont.variant,ee.pts)||c.castOption(Y.textfont.variant,ee.pts)||q.variant,be=c.castOption(Y.insidetextfont.textcase,ee.pts)||c.castOption(Y.textfont.textcase,ee.pts)||q.textcase,Ae=c.castOption(Y.insidetextfont.lineposition,ee.pts)||c.castOption(Y.textfont.lineposition,ee.pts)||q.lineposition,De=c.castOption(Y.insidetextfont.shadow,ee.pts)||c.castOption(Y.textfont.shadow,ee.pts)||q.shadow;return{color:oe||E.contrast(ee.color),family:ae,size:j,weight:Q,style:re,variant:ce,textcase:be,lineposition:Ae,shadow:De}}function M(Y,ee){for(var q,oe,ae=0;ae=-4;Me-=2)st(Math.PI*Me,\"tan\");for(Me=4;Me>=-4;Me-=2)st(Math.PI*(Me+1),\"tan\")}if(De||Ze){for(Me=4;Me>=-4;Me-=2)st(Math.PI*(Me+1.5),\"rad\");for(Me=4;Me>=-4;Me-=2)st(Math.PI*(Me+.5),\"rad\")}}if(re||at||De){var ye=Math.sqrt(Y.width*Y.width+Y.height*Y.height);if(rt={scale:ae*oe*2/ye,rCenter:1-ae,rotate:0},rt.textPosAngle=(ee.startangle+ee.stopangle)/2,rt.scale>=1)return rt;nt.push(rt)}(at||Ze)&&(rt=d(Y,oe,Q,ce,be),rt.textPosAngle=(ee.startangle+ee.stopangle)/2,nt.push(rt)),(at||ze)&&(rt=u(Y,oe,Q,ce,be),rt.textPosAngle=(ee.startangle+ee.stopangle)/2,nt.push(rt));for(var he=0,Oe=0,tt=0;tt=1)break}return nt[he]}function b(Y,ee){var q=Y.startangle,oe=Y.stopangle;return q>ee&&ee>oe||q0?1:-1)/2,y:j/(1+q*q/(oe*oe)),outside:!0}}function F(Y){var ee=Math.sqrt(Y.titleBox.width*Y.titleBox.width+Y.titleBox.height*Y.titleBox.height);return{x:Y.cx,y:Y.cy,scale:Y.trace.hole*Y.r*2/ee,tx:0,ty:-Y.titleBox.height/2+Y.trace.title.font.size}}function N(Y,ee){var q=1,oe=1,ae,j=Y.trace,Q={x:Y.cx,y:Y.cy},re={tx:0,ty:0};re.ty+=j.title.font.size,ae=U(j),j.title.position.indexOf(\"top\")!==-1?(Q.y-=(1+ae)*Y.r,re.ty-=Y.titleBox.height):j.title.position.indexOf(\"bottom\")!==-1&&(Q.y+=(1+ae)*Y.r);var ce=O(Y.r,Y.trace.aspectratio),be=ee.w*(j.domain.x[1]-j.domain.x[0])/2;return j.title.position.indexOf(\"left\")!==-1?(be=be+ce,Q.x-=(1+ae)*ce,re.tx+=Y.titleBox.width/2):j.title.position.indexOf(\"center\")!==-1?be*=2:j.title.position.indexOf(\"right\")!==-1&&(be=be+ce,Q.x+=(1+ae)*ce,re.tx-=Y.titleBox.width/2),q=be/Y.titleBox.width,oe=P(Y,ee)/Y.titleBox.height,{x:Q.x,y:Q.y,scale:Math.min(q,oe),tx:re.tx,ty:re.ty}}function O(Y,ee){return Y/(ee===void 0?1:ee)}function P(Y,ee){var q=Y.trace,oe=ee.h*(q.domain.y[1]-q.domain.y[0]);return Math.min(Y.titleBox.height,oe/2)}function U(Y){var ee=Y.pull;if(!ee)return 0;var q;if(t.isArrayOrTypedArray(ee))for(ee=0,q=0;qee&&(ee=Y.pull[q]);return ee}function B(Y,ee){var q,oe,ae,j,Q,re,ce,be,Ae,De,ze,Ze,at;function nt(ye,he){return ye.pxmid[1]-he.pxmid[1]}function rt(ye,he){return he.pxmid[1]-ye.pxmid[1]}function st(ye,he){he||(he={});var Oe=he.labelExtraY+(oe?he.yLabelMax:he.yLabelMin),tt=oe?ye.yLabelMin:ye.yLabelMax,ot=oe?ye.yLabelMax:ye.yLabelMin,Qe=ye.cyFinal+Q(ye.px0[1],ye.px1[1]),Pt=Oe-tt,It,qt,Wt,kr,mr,qr;if(Pt*ce>0&&(ye.labelExtraY=Pt),!!t.isArrayOrTypedArray(ee.pull))for(qt=0;qt=(c.castOption(ee.pull,Wt.pts)||0))&&((ye.pxmid[1]-Wt.pxmid[1])*ce>0?(kr=Wt.cyFinal+Q(Wt.px0[1],Wt.px1[1]),Pt=kr-tt-ye.labelExtraY,Pt*ce>0&&(ye.labelExtraY+=Pt)):(ot+ye.labelExtraY-Qe)*ce>0&&(It=3*re*Math.abs(qt-De.indexOf(ye)),mr=Wt.cxFinal+j(Wt.px0[0],Wt.px1[0]),qr=mr+It-(ye.cxFinal+ye.pxmid[0])-ye.labelExtraX,qr*re>0&&(ye.labelExtraX+=qr)))}for(oe=0;oe<2;oe++)for(ae=oe?nt:rt,Q=oe?Math.max:Math.min,ce=oe?1:-1,q=0;q<2;q++){for(j=q?Math.max:Math.min,re=q?1:-1,be=Y[oe][q],be.sort(ae),Ae=Y[1-oe][q],De=Ae.concat(be),Ze=[],ze=0;ze1?(be=q.r,Ae=be/ae.aspectratio):(Ae=q.r,be=Ae*ae.aspectratio),be*=(1+ae.baseratio)/2,ce=be*Ae}Q=Math.min(Q,ce/q.vTotal)}for(oe=0;oeee.vTotal/2?1:0,be.halfangle=Math.PI*Math.min(be.v/ee.vTotal,.5),be.ring=1-oe.hole,be.rInscribed=L(be,ee))}function le(Y,ee){return[Y*Math.sin(ee),-Y*Math.cos(ee)]}function fe(Y,ee,q){var oe=Y._fullLayout,ae=q.trace,j=ae.texttemplate,Q=ae.textinfo;if(!j&&Q&&Q!==\"none\"){var re=Q.split(\"+\"),ce=function(he){return re.indexOf(he)!==-1},be=ce(\"label\"),Ae=ce(\"text\"),De=ce(\"value\"),ze=ce(\"percent\"),Ze=oe.separators,at;if(at=be?[ee.label]:[],Ae){var nt=c.getFirstFilled(ae.text,ee.pts);p(nt)&&at.push(nt)}De&&at.push(c.formatPieValue(ee.v,Ze)),ze&&at.push(c.formatPiePercent(ee.v/q.vTotal,Ze)),ee.text=at.join(\"
\")}function rt(he){return{label:he.label,value:he.v,valueLabel:c.formatPieValue(he.v,oe.separators),percent:he.v/q.vTotal,percentLabel:c.formatPiePercent(he.v/q.vTotal,oe.separators),color:he.color,text:he.text,customdata:t.castOption(ae,he.i,\"customdata\")}}if(j){var st=t.castOption(ae,ee.i,\"texttemplate\");if(!st)ee.text=\"\";else{var Me=rt(ee),ye=c.getFirstFilled(ae.text,ee.pts);(p(ye)||ye===\"\")&&(Me.text=ye),ee.text=t.texttemplateString({data:[Me,ae._meta],fallback:ae.texttemplatefallback,labels:Me,locale:Y._fullLayout._d3locale,template:st})}}}function V(Y,ee){var q=Y.rotate*Math.PI/180,oe=Math.cos(q),ae=Math.sin(q),j=(ee.left+ee.right)/2,Q=(ee.top+ee.bottom)/2;Y.textX=j*oe-Q*ae,Y.textY=j*ae+Q*oe,Y.noCenter=!0}G.exports={plot:T,formatSliceLabel:fe,transformInsideText:g,determineInsideTextFont:A,positionTitleOutside:N,prerenderTitles:M,layoutAreas:X,attachFxHandlers:_,computeTransform:V}}}),LB=Xe({\"src/traces/pie/style.js\"(Z,G){\"use strict\";var v=Hn(),x=i1(),S=Sp().resizeText;G.exports=function(e){var t=e._fullLayout._pielayer.selectAll(\".trace\");S(e,t,\"pie\"),t.each(function(r){var o=r[0],a=o.trace,n=v.select(this);n.style({opacity:a.opacity}),n.selectAll(\"path.surface\").each(function(i){v.select(this).call(x,i,a,e)})})}}}),PB=Xe({\"src/traces/pie/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"pie\",Z.plot=function(v,x,S,E){G.plotBasePlot(Z.name,v,x,S,E)},Z.clean=function(v,x,S,E){G.cleanBasePlot(Z.name,v,x,S,E)}}}),IB=Xe({\"src/traces/pie/index.js\"(Z,G){\"use strict\";G.exports={attributes:og(),supplyDefaults:sg().supplyDefaults,supplyLayoutDefaults:kB(),layoutAttributes:_3(),calc:x1().calc,crossTraceCalc:x1().crossTraceCalc,plot:x3().plot,style:LB(),styleOne:i1(),moduleType:\"trace\",name:\"pie\",basePlotModule:PB(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}}}),RB=Xe({\"lib/pie.js\"(Z,G){\"use strict\";G.exports=IB()}}),DB=Xe({\"src/traces/sunburst/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"sunburst\",Z.plot=function(v,x,S,E){G.plotBasePlot(Z.name,v,x,S,E)},Z.clean=function(v,x,S,E){G.cleanBasePlot(Z.name,v,x,S,E)}}}),nM=Xe({\"src/traces/sunburst/constants.js\"(Z,G){\"use strict\";G.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}}}),J_=Xe({\"src/traces/sunburst/attributes.js\"(Z,G){\"use strict\";var v=ru(),{hovertemplateAttrs:x,texttemplateAttrs:S,templatefallbackAttrs:E}=Jl(),e=ku(),t=wc().attributes,r=og(),o=nM(),a=Qo().extendFlat,n=Gh().pattern;G.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:a({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:a({},r.marker.line.color,{dflt:null}),width:a({},r.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:n,editType:\"calc\"},e(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:r.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:S({editType:\"plot\"},{keys:o.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:E({editType:\"plot\"}),hovertext:r.hovertext,hoverinfo:a({},v.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:x({},{keys:o.eventDataKeys}),hovertemplatefallback:E(),textfont:r.textfont,insidetextorientation:r.insidetextorientation,insidetextfont:r.insidetextfont,outsidetextfont:a({},r.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:r.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:t({name:\"sunburst\",trace:!0,editType:\"calc\"})}}}),oM=Xe({\"src/traces/sunburst/layout_attributes.js\"(Z,G){\"use strict\";G.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),zB=Xe({\"src/traces/sunburst/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=J_(),S=wc().defaults,E=gd().handleText,e=sg().handleMarkerDefaults,t=rc(),r=t.hasColorscale,o=t.handleDefaults;G.exports=function(n,i,s,h){function c(A,M){return v.coerce(n,i,x,A,M)}var m=c(\"labels\"),p=c(\"parents\");if(!m||!m.length||!p||!p.length){i.visible=!1;return}var T=c(\"values\");T&&T.length?c(\"branchvalues\"):c(\"count\"),c(\"level\"),c(\"maxdepth\"),e(n,i,h,c);var l=i._hasColorscale=r(n,\"marker\",\"colors\")||(n.marker||{}).coloraxis;l&&o(n,i,h,c,{prefix:\"marker.\",cLetter:\"c\"}),c(\"leaf.opacity\",l?1:.7);var _=c(\"text\");c(\"texttemplate\"),c(\"texttemplatefallback\"),i.texttemplate||c(\"textinfo\",v.isArrayOrTypedArray(_)?\"text+label\":\"label\"),c(\"hovertext\"),c(\"hovertemplate\"),c(\"hovertemplatefallback\");var w=\"auto\";E(n,i,h,c,w,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),c(\"insidetextorientation\"),c(\"sort\"),c(\"rotation\"),c(\"root.color\"),S(i,h,c),i._length=null}}}),FB=Xe({\"src/traces/sunburst/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=oM();G.exports=function(E,e){function t(r,o){return v.coerce(E,e,x,r,o)}t(\"sunburstcolorway\",e.colorway),t(\"extendsunburstcolors\")}}}),$_=Xe({\"node_modules/d3-hierarchy/dist/d3-hierarchy.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z):(v=v||self,x(v.d3=v.d3||{}))})(Z,function(v){\"use strict\";function x(Te,Ie){return Te.parent===Ie.parent?1:2}function S(Te){return Te.reduce(E,0)/Te.length}function E(Te,Ie){return Te+Ie.x}function e(Te){return 1+Te.reduce(t,0)}function t(Te,Ie){return Math.max(Te,Ie.y)}function r(Te){for(var Ie;Ie=Te.children;)Te=Ie[0];return Te}function o(Te){for(var Ie;Ie=Te.children;)Te=Ie[Ie.length-1];return Te}function a(){var Te=x,Ie=1,Ve=1,Ce=!1;function Ee(Pe){var ft,ct=0;Pe.eachAfter(function(er){var Lr=er.children;Lr?(er.x=S(Lr),er.y=e(Lr)):(er.x=ft?ct+=Te(er,ft):0,er.y=0,ft=er)});var _t=r(Pe),Ct=o(Pe),ir=_t.x-Te(_t,Ct)/2,rr=Ct.x+Te(Ct,_t)/2;return Pe.eachAfter(Ce?function(er){er.x=(er.x-Pe.x)*Ie,er.y=(Pe.y-er.y)*Ve}:function(er){er.x=(er.x-ir)/(rr-ir)*Ie,er.y=(1-(Pe.y?er.y/Pe.y:1))*Ve})}return Ee.separation=function(Pe){return arguments.length?(Te=Pe,Ee):Te},Ee.size=function(Pe){return arguments.length?(Ce=!1,Ie=+Pe[0],Ve=+Pe[1],Ee):Ce?null:[Ie,Ve]},Ee.nodeSize=function(Pe){return arguments.length?(Ce=!0,Ie=+Pe[0],Ve=+Pe[1],Ee):Ce?[Ie,Ve]:null},Ee}function n(Te){var Ie=0,Ve=Te.children,Ce=Ve&&Ve.length;if(!Ce)Ie=1;else for(;--Ce>=0;)Ie+=Ve[Ce].value;Te.value=Ie}function i(){return this.eachAfter(n)}function s(Te){var Ie=this,Ve,Ce=[Ie],Ee,Pe,ft;do for(Ve=Ce.reverse(),Ce=[];Ie=Ve.pop();)if(Te(Ie),Ee=Ie.children,Ee)for(Pe=0,ft=Ee.length;Pe=0;--Ee)Ve.push(Ce[Ee]);return this}function c(Te){for(var Ie=this,Ve=[Ie],Ce=[],Ee,Pe,ft;Ie=Ve.pop();)if(Ce.push(Ie),Ee=Ie.children,Ee)for(Pe=0,ft=Ee.length;Pe=0;)Ve+=Ce[Ee].value;Ie.value=Ve})}function p(Te){return this.eachBefore(function(Ie){Ie.children&&Ie.children.sort(Te)})}function T(Te){for(var Ie=this,Ve=l(Ie,Te),Ce=[Ie];Ie!==Ve;)Ie=Ie.parent,Ce.push(Ie);for(var Ee=Ce.length;Te!==Ve;)Ce.splice(Ee,0,Te),Te=Te.parent;return Ce}function l(Te,Ie){if(Te===Ie)return Te;var Ve=Te.ancestors(),Ce=Ie.ancestors(),Ee=null;for(Te=Ve.pop(),Ie=Ce.pop();Te===Ie;)Ee=Te,Te=Ve.pop(),Ie=Ce.pop();return Ee}function _(){for(var Te=this,Ie=[Te];Te=Te.parent;)Ie.push(Te);return Ie}function w(){var Te=[];return this.each(function(Ie){Te.push(Ie)}),Te}function A(){var Te=[];return this.eachBefore(function(Ie){Ie.children||Te.push(Ie)}),Te}function M(){var Te=this,Ie=[];return Te.each(function(Ve){Ve!==Te&&Ie.push({source:Ve.parent,target:Ve})}),Ie}function g(Te,Ie){var Ve=new f(Te),Ce=+Te.value&&(Ve.value=Te.value),Ee,Pe=[Ve],ft,ct,_t,Ct;for(Ie==null&&(Ie=d);Ee=Pe.pop();)if(Ce&&(Ee.value=+Ee.data.value),(ct=Ie(Ee.data))&&(Ct=ct.length))for(Ee.children=new Array(Ct),_t=Ct-1;_t>=0;--_t)Pe.push(ft=Ee.children[_t]=new f(ct[_t])),ft.parent=Ee,ft.depth=Ee.depth+1;return Ve.eachBefore(y)}function b(){return g(this).eachBefore(u)}function d(Te){return Te.children}function u(Te){Te.data=Te.data.data}function y(Te){var Ie=0;do Te.height=Ie;while((Te=Te.parent)&&Te.height<++Ie)}function f(Te){this.data=Te,this.depth=this.height=0,this.parent=null}f.prototype=g.prototype={constructor:f,count:i,each:s,eachAfter:c,eachBefore:h,sum:m,sort:p,path:T,ancestors:_,descendants:w,leaves:A,links:M,copy:b};var R=Array.prototype.slice;function L(Te){for(var Ie=Te.length,Ve,Ce;Ie;)Ce=Math.random()*Ie--|0,Ve=Te[Ie],Te[Ie]=Te[Ce],Te[Ce]=Ve;return Te}function z(Te){for(var Ie=0,Ve=(Te=L(R.call(Te))).length,Ce=[],Ee,Pe;Ie0&&Ve*Ve>Ce*Ce+Ee*Ee}function P(Te,Ie){for(var Ve=0;Ve_t?(Ee=(Ct+_t-Pe)/(2*Ct),ct=Math.sqrt(Math.max(0,_t/Ct-Ee*Ee)),Ve.x=Te.x-Ee*Ce-ct*ft,Ve.y=Te.y-Ee*ft+ct*Ce):(Ee=(Ct+Pe-_t)/(2*Ct),ct=Math.sqrt(Math.max(0,Pe/Ct-Ee*Ee)),Ve.x=Ie.x+Ee*Ce-ct*ft,Ve.y=Ie.y+Ee*ft+ct*Ce)):(Ve.x=Ie.x+Ve.r,Ve.y=Ie.y)}function le(Te,Ie){var Ve=Te.r+Ie.r-1e-6,Ce=Ie.x-Te.x,Ee=Ie.y-Te.y;return Ve>0&&Ve*Ve>Ce*Ce+Ee*Ee}function fe(Te){var Ie=Te._,Ve=Te.next._,Ce=Ie.r+Ve.r,Ee=(Ie.x*Ve.r+Ve.x*Ie.r)/Ce,Pe=(Ie.y*Ve.r+Ve.y*Ie.r)/Ce;return Ee*Ee+Pe*Pe}function V(Te){this._=Te,this.next=null,this.previous=null}function Y(Te){if(!(Ee=Te.length))return 0;var Ie,Ve,Ce,Ee,Pe,ft,ct,_t,Ct,ir,rr;if(Ie=Te[0],Ie.x=0,Ie.y=0,!(Ee>1))return Ie.r;if(Ve=Te[1],Ie.x=-Ve.r,Ve.x=Ie.r,Ve.y=0,!(Ee>2))return Ie.r+Ve.r;se(Ve,Ie,Ce=Te[2]),Ie=new V(Ie),Ve=new V(Ve),Ce=new V(Ce),Ie.next=Ce.previous=Ve,Ve.next=Ie.previous=Ce,Ce.next=Ve.previous=Ie;e:for(ct=3;ct0)throw new Error(\"cycle\");return ct}return Ve.id=function(Ce){return arguments.length?(Te=oe(Ce),Ve):Te},Ve.parentId=function(Ce){return arguments.length?(Ie=oe(Ce),Ve):Ie},Ve}function he(Te,Ie){return Te.parent===Ie.parent?1:2}function Oe(Te){var Ie=Te.children;return Ie?Ie[0]:Te.t}function tt(Te){var Ie=Te.children;return Ie?Ie[Ie.length-1]:Te.t}function ot(Te,Ie,Ve){var Ce=Ve/(Ie.i-Te.i);Ie.c-=Ce,Ie.s+=Ve,Te.c+=Ce,Ie.z+=Ve,Ie.m+=Ve}function Qe(Te){for(var Ie=0,Ve=0,Ce=Te.children,Ee=Ce.length,Pe;--Ee>=0;)Pe=Ce[Ee],Pe.z+=Ie,Pe.m+=Ie,Ie+=Pe.s+(Ve+=Pe.c)}function Pt(Te,Ie,Ve){return Te.a.parent===Ie.parent?Te.a:Ve}function It(Te,Ie){this._=Te,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=Ie}It.prototype=Object.create(f.prototype);function qt(Te){for(var Ie=new It(Te,0),Ve,Ce=[Ie],Ee,Pe,ft,ct;Ve=Ce.pop();)if(Pe=Ve._.children)for(Ve.children=new Array(ct=Pe.length),ft=ct-1;ft>=0;--ft)Ce.push(Ee=Ve.children[ft]=new It(Pe[ft],ft)),Ee.parent=Ve;return(Ie.parent=new It(null,0)).children=[Ie],Ie}function Wt(){var Te=he,Ie=1,Ve=1,Ce=null;function Ee(Ct){var ir=qt(Ct);if(ir.eachAfter(Pe),ir.parent.m=-ir.z,ir.eachBefore(ft),Ce)Ct.eachBefore(_t);else{var rr=Ct,er=Ct,Lr=Ct;Ct.eachBefore(function(Wa){Wa.xer.x&&(er=Wa),Wa.depth>Lr.depth&&(Lr=Wa)});var fa=rr===er?1:Te(rr,er)/2,Da=fa-rr.x,Ia=Ie/(er.x+fa+Da),qa=Ve/(Lr.depth||1);Ct.eachBefore(function(Wa){Wa.x=(Wa.x+Da)*Ia,Wa.y=Wa.depth*qa})}return Ct}function Pe(Ct){var ir=Ct.children,rr=Ct.parent.children,er=Ct.i?rr[Ct.i-1]:null;if(ir){Qe(Ct);var Lr=(ir[0].z+ir[ir.length-1].z)/2;er?(Ct.z=er.z+Te(Ct._,er._),Ct.m=Ct.z-Lr):Ct.z=Lr}else er&&(Ct.z=er.z+Te(Ct._,er._));Ct.parent.A=ct(Ct,er,Ct.parent.A||rr[0])}function ft(Ct){Ct._.x=Ct.z+Ct.parent.m,Ct.m+=Ct.parent.m}function ct(Ct,ir,rr){if(ir){for(var er=Ct,Lr=Ct,fa=ir,Da=er.parent.children[0],Ia=er.m,qa=Lr.m,Wa=fa.m,Ca=Da.m,hi;fa=tt(fa),er=Oe(er),fa&&er;)Da=Oe(Da),Lr=tt(Lr),Lr.a=Ct,hi=fa.z+Wa-er.z-Ia+Te(fa._,er._),hi>0&&(ot(Pt(fa,Ct,rr),Ct,hi),Ia+=hi,qa+=hi),Wa+=fa.m,Ia+=er.m,Ca+=Da.m,qa+=Lr.m;fa&&!tt(Lr)&&(Lr.t=fa,Lr.m+=Wa-qa),er&&!Oe(Da)&&(Da.t=er,Da.m+=Ia-Ca,rr=Ct)}return rr}function _t(Ct){Ct.x*=Ie,Ct.y=Ct.depth*Ve}return Ee.separation=function(Ct){return arguments.length?(Te=Ct,Ee):Te},Ee.size=function(Ct){return arguments.length?(Ce=!1,Ie=+Ct[0],Ve=+Ct[1],Ee):Ce?null:[Ie,Ve]},Ee.nodeSize=function(Ct){return arguments.length?(Ce=!0,Ie=+Ct[0],Ve=+Ct[1],Ee):Ce?[Ie,Ve]:null},Ee}function kr(Te,Ie,Ve,Ce,Ee){for(var Pe=Te.children,ft,ct=-1,_t=Pe.length,Ct=Te.value&&(Ee-Ve)/Te.value;++ct<_t;)ft=Pe[ct],ft.x0=Ie,ft.x1=Ce,ft.y0=Ve,ft.y1=Ve+=ft.value*Ct}var mr=(1+Math.sqrt(5))/2;function qr(Te,Ie,Ve,Ce,Ee,Pe){for(var ft=[],ct=Ie.children,_t,Ct,ir=0,rr=0,er=ct.length,Lr,fa,Da=Ie.value,Ia,qa,Wa,Ca,hi,wi,Kt;irWa&&(Wa=Ct),Kt=Ia*Ia*wi,Ca=Math.max(Wa/Kt,Kt/qa),Ca>hi){Ia-=Ct;break}hi=Ca}ft.push(_t={value:Ia,dice:Lr1?Ce:1)},Ve}(mr);function Rr(){var Te=Sr,Ie=!1,Ve=1,Ce=1,Ee=[0],Pe=ae,ft=ae,ct=ae,_t=ae,Ct=ae;function ir(er){return er.x0=er.y0=0,er.x1=Ve,er.y1=Ce,er.eachBefore(rr),Ee=[0],Ie&&er.eachBefore(De),er}function rr(er){var Lr=Ee[er.depth],fa=er.x0+Lr,Da=er.y0+Lr,Ia=er.x1-Lr,qa=er.y1-Lr;Ia=er-1){var Wa=Pe[rr];Wa.x0=fa,Wa.y0=Da,Wa.x1=Ia,Wa.y1=qa;return}for(var Ca=Ct[rr],hi=Lr/2+Ca,wi=rr+1,Kt=er-1;wi>>1;Ct[Ft]qa-Da){var Fr=(fa*Jt+Ia*Yt)/Lr;ir(rr,wi,Yt,fa,Da,Fr,qa),ir(wi,er,Jt,Fr,Da,Ia,qa)}else{var ta=(Da*Jt+qa*Yt)/Lr;ir(rr,wi,Yt,fa,Da,Ia,ta),ir(wi,er,Jt,fa,ta,Ia,qa)}}}function Ne(Te,Ie,Ve,Ce,Ee){(Te.depth&1?kr:ze)(Te,Ie,Ve,Ce,Ee)}var Ke=function Te(Ie){function Ve(Ce,Ee,Pe,ft,ct){if((_t=Ce._squarify)&&_t.ratio===Ie)for(var _t,Ct,ir,rr,er=-1,Lr,fa=_t.length,Da=Ce.value;++er1?Ce:1)},Ve}(mr);v.cluster=a,v.hierarchy=g,v.pack=re,v.packEnclose=z,v.packSiblings=ee,v.partition=Ze,v.stratify=ye,v.tree=Wt,v.treemap=Rr,v.treemapBinary=wt,v.treemapDice=ze,v.treemapResquarify=Ke,v.treemapSlice=kr,v.treemapSliceDice=Ne,v.treemapSquarify=Sr,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),Q_=Xe({\"src/traces/sunburst/calc.js\"(Z){\"use strict\";var G=$_(),v=rs(),x=sa(),S=rc().makeColorScaleFuncFromTrace,E=x1().makePullColorFn,e=x1().generateExtendedColors,t=rc().calc,r=Hs().ALMOST_EQUAL,o={},a={},n={};Z.calc=function(s,h){var c=s._fullLayout,m=h.ids,p=x.isArrayOrTypedArray(m),T=h.labels,l=h.parents,_=h.values,w=x.isArrayOrTypedArray(_),A=[],M={},g={},b=function(ee,q){M[ee]?M[ee].push(q):M[ee]=[q],g[q]=1},d=function(ee){return ee||typeof ee==\"number\"},u=function(ee){return!w||v(_[ee])&&_[ee]>=0},y,f,R;p?(y=Math.min(m.length,l.length),f=function(ee){return d(m[ee])&&u(ee)},R=function(ee){return String(m[ee])}):(y=Math.min(T.length,l.length),f=function(ee){return d(T[ee])&&u(ee)},R=function(ee){return String(T[ee])}),w&&(y=Math.min(y,_.length));for(var L=0;L1){for(var U=x.randstr(),B=0;B>8&15|G>>4&240,G>>4&15|G&240,(G&15)<<4|G&15,1):v===8?ex(G>>24&255,G>>16&255,G>>8&255,(G&255)/255):v===4?ex(G>>12&15|G>>8&240,G>>8&15|G>>4&240,G>>4&15|G&240,((G&15)<<4|G&15)/255):null):(G=mM.exec(Z))?new Xh(G[1],G[2],G[3],1):(G=gM.exec(Z))?new Xh(G[1]*255/100,G[2]*255/100,G[3]*255/100,1):(G=yM.exec(Z))?ex(G[1],G[2],G[3],G[4]):(G=_M.exec(Z))?ex(G[1]*255/100,G[2]*255/100,G[3]*255/100,G[4]):(G=xM.exec(Z))?hM(G[1],G[2]/100,G[3]/100,1):(G=bM.exec(Z))?hM(G[1],G[2]/100,G[3]/100,G[4]):S3.hasOwnProperty(Z)?uM(S3[Z]):Z===\"transparent\"?new Xh(NaN,NaN,NaN,0):null}function uM(Z){return new Xh(Z>>16&255,Z>>8&255,Z&255,1)}function ex(Z,G,v,x){return x<=0&&(Z=G=v=NaN),new Xh(Z,G,v,x)}function w3(Z){return Z instanceof Jv||(Z=w1(Z)),Z?(Z=Z.rgb(),new Xh(Z.r,Z.g,Z.b,Z.opacity)):new Xh}function tx(Z,G,v,x){return arguments.length===1?w3(Z):new Xh(Z,G,v,x??1)}function Xh(Z,G,v,x){this.r=+Z,this.g=+G,this.b=+v,this.opacity=+x}function cM(){return`#${l0(this.r)}${l0(this.g)}${l0(this.b)}`}function NB(){return`#${l0(this.r)}${l0(this.g)}${l0(this.b)}${l0((isNaN(this.opacity)?1:this.opacity)*255)}`}function fM(){let Z=rx(this.opacity);return`${Z===1?\"rgb(\":\"rgba(\"}${s0(this.r)}, ${s0(this.g)}, ${s0(this.b)}${Z===1?\")\":`, ${Z})`}`}function rx(Z){return isNaN(Z)?1:Math.max(0,Math.min(1,Z))}function s0(Z){return Math.max(0,Math.min(255,Math.round(Z)||0))}function l0(Z){return Z=s0(Z),(Z<16?\"0\":\"\")+Z.toString(16)}function hM(Z,G,v,x){return x<=0?Z=G=v=NaN:v<=0||v>=1?Z=G=NaN:G<=0&&(Z=NaN),new Ud(Z,G,v,x)}function pM(Z){if(Z instanceof Ud)return new Ud(Z.h,Z.s,Z.l,Z.opacity);if(Z instanceof Jv||(Z=w1(Z)),!Z)return new Ud;if(Z instanceof Ud)return Z;Z=Z.rgb();var G=Z.r/255,v=Z.g/255,x=Z.b/255,S=Math.min(G,v,x),E=Math.max(G,v,x),e=NaN,t=E-S,r=(E+S)/2;return t?(G===E?e=(v-x)/t+(v0&&r<1?0:e,new Ud(e,t,r,Z.opacity)}function T3(Z,G,v,x){return arguments.length===1?pM(Z):new Ud(Z,G,v,x??1)}function Ud(Z,G,v,x){this.h=+Z,this.s=+G,this.l=+v,this.opacity=+x}function dM(Z){return Z=(Z||0)%360,Z<0?Z+360:Z}function ax(Z){return Math.max(0,Math.min(1,Z||0))}function A3(Z,G,v){return(Z<60?G+(v-G)*Z/60:Z<180?v:Z<240?G+(v-G)*(240-Z)/60:G)*255}var $v,u0,c0,ug,jd,vM,mM,gM,yM,_M,xM,bM,S3,M3=Vo({\"node_modules/d3-color/src/color.js\"(){b3(),$v=.7,u0=1/$v,c0=\"\\\\s*([+-]?\\\\d+)\\\\s*\",ug=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",jd=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",vM=/^#([0-9a-f]{3,8})$/,mM=new RegExp(`^rgb\\\\(${c0},${c0},${c0}\\\\)$`),gM=new RegExp(`^rgb\\\\(${jd},${jd},${jd}\\\\)$`),yM=new RegExp(`^rgba\\\\(${c0},${c0},${c0},${ug}\\\\)$`),_M=new RegExp(`^rgba\\\\(${jd},${jd},${jd},${ug}\\\\)$`),xM=new RegExp(`^hsl\\\\(${ug},${jd},${jd}\\\\)$`),bM=new RegExp(`^hsla\\\\(${ug},${jd},${jd},${ug}\\\\)$`),S3={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},lg(Jv,w1,{copy(Z){return Object.assign(new this.constructor,this,Z)},displayable(){return this.rgb().displayable()},hex:sM,formatHex:sM,formatHex8:OB,formatHsl:BB,formatRgb:lM,toString:lM}),lg(Xh,tx,b1(Jv,{brighter(Z){return Z=Z==null?u0:Math.pow(u0,Z),new Xh(this.r*Z,this.g*Z,this.b*Z,this.opacity)},darker(Z){return Z=Z==null?$v:Math.pow($v,Z),new Xh(this.r*Z,this.g*Z,this.b*Z,this.opacity)},rgb(){return this},clamp(){return new Xh(s0(this.r),s0(this.g),s0(this.b),rx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:cM,formatHex:cM,formatHex8:NB,formatRgb:fM,toString:fM})),lg(Ud,T3,b1(Jv,{brighter(Z){return Z=Z==null?u0:Math.pow(u0,Z),new Ud(this.h,this.s,this.l*Z,this.opacity)},darker(Z){return Z=Z==null?$v:Math.pow($v,Z),new Ud(this.h,this.s,this.l*Z,this.opacity)},rgb(){var Z=this.h%360+(this.h<0)*360,G=isNaN(Z)||isNaN(this.s)?0:this.s,v=this.l,x=v+(v<.5?v:1-v)*G,S=2*v-x;return new Xh(A3(Z>=240?Z-240:Z+120,S,x),A3(Z,S,x),A3(Z<120?Z+240:Z-120,S,x),this.opacity)},clamp(){return new Ud(dM(this.h),ax(this.s),ax(this.l),rx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let Z=rx(this.opacity);return`${Z===1?\"hsl(\":\"hsla(\"}${dM(this.h)}, ${ax(this.s)*100}%, ${ax(this.l)*100}%${Z===1?\")\":`, ${Z})`}`}}))}}),E3,k3,wM=Vo({\"node_modules/d3-color/src/math.js\"(){E3=Math.PI/180,k3=180/Math.PI}});function TM(Z){if(Z instanceof rv)return new rv(Z.l,Z.a,Z.b,Z.opacity);if(Z instanceof Mv)return AM(Z);Z instanceof Xh||(Z=w3(Z));var G=R3(Z.r),v=R3(Z.g),x=R3(Z.b),S=L3((.2225045*G+.7168786*v+.0606169*x)/F3),E,e;return G===v&&v===x?E=e=S:(E=L3((.4360747*G+.3850649*v+.1430804*x)/z3),e=L3((.0139322*G+.0971045*v+.7141733*x)/O3)),new rv(116*S-16,500*(E-S),200*(S-e),Z.opacity)}function C3(Z,G,v,x){return arguments.length===1?TM(Z):new rv(Z,G,v,x??1)}function rv(Z,G,v,x){this.l=+Z,this.a=+G,this.b=+v,this.opacity=+x}function L3(Z){return Z>SM?Math.pow(Z,.3333333333333333):Z/N3+B3}function P3(Z){return Z>f0?Z*Z*Z:N3*(Z-B3)}function I3(Z){return 255*(Z<=.0031308?12.92*Z:1.055*Math.pow(Z,.4166666666666667)-.055)}function R3(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function UB(Z){if(Z instanceof Mv)return new Mv(Z.h,Z.c,Z.l,Z.opacity);if(Z instanceof rv||(Z=TM(Z)),Z.a===0&&Z.b===0)return new Mv(NaN,0=1?(v=1,G-1):Math.floor(v*G),S=Z[x],E=Z[x+1],e=x>0?Z[x-1]:2*S-E,t=x()=>Z}});function PM(Z,G){return function(v){return Z+v*G}}function GB(Z,G,v){return Z=Math.pow(Z,v),G=Math.pow(G,v)-Z,v=1/v,function(x){return Math.pow(Z+x*G,v)}}function ox(Z,G){var v=G-Z;return v?PM(Z,v>180||v<-180?v-360*Math.round(v/360):v):S1(isNaN(Z)?G:Z)}function HB(Z){return(Z=+Z)==1?Zh:function(G,v){return v-G?GB(G,v,Z):S1(isNaN(G)?v:G)}}function Zh(Z,G){var v=G-Z;return v?PM(Z,v):S1(isNaN(Z)?G:Z)}var hg=Vo({\"node_modules/d3-interpolate/src/color.js\"(){LM()}});function IM(Z){return function(G){var v=G.length,x=new Array(v),S=new Array(v),E=new Array(v),e,t;for(e=0;ev&&(E=G.slice(v,E),t[e]?t[e]+=E:t[++e]=E),(x=x[0])===(S=S[0])?t[e]?t[e]+=S:t[++e]=S:(t[++e]=null,r.push({i:e,x:av(x,S)})),v=cx.lastIndex;return v180?a+=360:a-o>180&&(o+=360),i.push({i:n.push(S(n)+\"rotate(\",null,x)-2,x:av(o,a)})):a&&n.push(S(n)+\"rotate(\"+a+x)}function t(o,a,n,i){o!==a?i.push({i:n.push(S(n)+\"skewX(\",null,x)-2,x:av(o,a)}):a&&n.push(S(n)+\"skewX(\"+a+x)}function r(o,a,n,i,s,h){if(o!==n||a!==i){var c=s.push(S(s)+\"scale(\",null,\",\",null,\")\");h.push({i:c-4,x:av(o,n)},{i:c-2,x:av(a,i)})}else(n!==1||i!==1)&&s.push(S(s)+\"scale(\"+n+\",\"+i+\")\")}return function(o,a){var n=[],i=[];return o=Z(o),a=Z(a),E(o.translateX,o.translateY,a.translateX,a.translateY,n,i),e(o.rotate,a.rotate,n,i),t(o.skewX,a.skewX,n,i),r(o.scaleX,o.scaleY,a.scaleX,a.scaleY,n,i),o=a=null,function(s){for(var h=-1,c=i.length,m;++hfx,interpolateArray:()=>WB,interpolateBasis:()=>EM,interpolateBasisClosed:()=>kM,interpolateCubehelix:()=>nE,interpolateCubehelixLong:()=>oE,interpolateDate:()=>NM,interpolateDiscrete:()=>YB,interpolateHcl:()=>rE,interpolateHclLong:()=>aE,interpolateHsl:()=>QM,interpolateHslLong:()=>eE,interpolateHue:()=>JB,interpolateLab:()=>cN,interpolateNumber:()=>av,interpolateNumberArray:()=>W3,interpolateObject:()=>jM,interpolateRgb:()=>sx,interpolateRgbBasis:()=>RM,interpolateRgbBasisClosed:()=>DM,interpolateRound:()=>QB,interpolateString:()=>VM,interpolateTransformCss:()=>XM,interpolateTransformSvg:()=>ZM,interpolateZoom:()=>JM,piecewise:()=>dN,quantize:()=>mN});var pg=Vo({\"node_modules/d3-interpolate/src/index.js\"(){hx(),BM(),H3(),CM(),UM(),KB(),$B(),lx(),X3(),qM(),eN(),GM(),nN(),lN(),zM(),uN(),fN(),hN(),pN(),vN(),gN()}}),Y3=Xe({\"src/traces/sunburst/fill_one.js\"(Z,G){\"use strict\";var v=es(),x=$n();G.exports=function(E,e,t,r,o){var a=e.data.data,n=a.i,i=o||a.color;if(n>=0){e.i=a.i;var s=t.marker;s.pattern?(!s.colors||!s.pattern.shape)&&(s.color=i,e.color=i):(s.color=i,e.color=i),v.pointStyle(E,t,r,e)}else x.fill(E,i)}}}),sE=Xe({\"src/traces/sunburst/style.js\"(Z,G){\"use strict\";var v=Hn(),x=$n(),S=sa(),E=Sp().resizeText,e=Y3();function t(o){var a=o._fullLayout._sunburstlayer.selectAll(\".trace\");E(o,a,\"sunburst\"),a.each(function(n){var i=v.select(this),s=n[0],h=s.trace;i.style(\"opacity\",h.opacity),i.selectAll(\"path.surface\").each(function(c){v.select(this).call(r,c,h,o)})})}function r(o,a,n,i){var s=a.data.data,h=!a.children,c=s.i,m=S.castOption(n,c,\"marker.line.color\")||x.defaultLine,p=S.castOption(n,c,\"marker.line.width\")||0;o.call(e,a,n,i).style(\"stroke-width\",p).call(x.stroke,m).style(\"opacity\",h?n.leaf.opacity:null)}G.exports={style:t,styleOne:r}}}),Qv=Xe({\"src/traces/sunburst/helpers.js\"(Z){\"use strict\";var G=sa(),v=$n(),x=Kd(),S=t0();Z.findEntryWithLevel=function(r,o){var a;return o&&r.eachAfter(function(n){if(Z.getPtId(n)===o)return a=n.copy()}),a||r},Z.findEntryWithChild=function(r,o){var a;return r.eachAfter(function(n){for(var i=n.children||[],s=0;s0)},Z.getMaxDepth=function(r){return r.maxdepth>=0?r.maxdepth:1/0},Z.isHeader=function(r,o){return!(Z.isLeaf(r)||r.depth===o._maxDepth-1)};function t(r){return r.data.data.pid}Z.getParent=function(r,o){return Z.findEntryWithLevel(r,t(o))},Z.listPath=function(r,o){var a=r.parent;if(!a)return[];var n=o?[a.data[o]]:[a];return Z.listPath(a,o).concat(n)},Z.getPath=function(r){return Z.listPath(r,\"label\").join(\"/\")+\"/\"},Z.formatValue=S.formatPieValue,Z.formatPercent=function(r,o){var a=G.formatPercent(r,0);return a===\"0%\"&&(a=S.formatPiePercent(r,o)),a}}}),vx=Xe({\"src/traces/sunburst/fx.js\"(Z,G){\"use strict\";var v=Hn(),x=so(),S=$p().appendArrayPointValue,E=rf(),e=sa(),t=Qy(),r=Qv(),o=t0(),a=o.formatPieValue;G.exports=function(s,h,c,m,p){var T=m[0],l=T.trace,_=T.hierarchy,w=l.type===\"sunburst\",A=l.type===\"treemap\"||l.type===\"icicle\";\"_hasHoverLabel\"in l||(l._hasHoverLabel=!1),\"_hasHoverEvent\"in l||(l._hasHoverEvent=!1);var M=function(d){var u=c._fullLayout;if(!(c._dragging||u.hovermode===!1)){var y=c._fullData[l.index],f=d.data.data,R=f.i,L=r.isHierarchyRoot(d),z=r.getParent(_,d),F=r.getValue(d),N=function(Q){return e.castOption(y,R,Q)},O=N(\"hovertemplate\"),P=E.castHoverinfo(y,u,R),U=u.separators,B;if(O||P&&P!==\"none\"&&P!==\"skip\"){var X,$;w&&(X=T.cx+d.pxmid[0]*(1-d.rInscribed),$=T.cy+d.pxmid[1]*(1-d.rInscribed)),A&&(X=d._hoverX,$=d._hoverY);var se={},le=[],fe=[],V=function(Q){return le.indexOf(Q)!==-1};P&&(le=P===\"all\"?y._module.attributes.hoverinfo.flags:P.split(\"+\")),se.label=f.label,V(\"label\")&&se.label&&fe.push(se.label),f.hasOwnProperty(\"v\")&&(se.value=f.v,se.valueLabel=a(se.value,U),V(\"value\")&&fe.push(se.valueLabel)),se.currentPath=d.currentPath=r.getPath(d.data),V(\"current path\")&&!L&&fe.push(se.currentPath);var Y,ee=[],q=function(){ee.indexOf(Y)===-1&&(fe.push(Y),ee.push(Y))};se.percentParent=d.percentParent=F/r.getValue(z),se.parent=d.parentString=r.getPtLabel(z),V(\"percent parent\")&&(Y=r.formatPercent(se.percentParent,U)+\" of \"+se.parent,q()),se.percentEntry=d.percentEntry=F/r.getValue(h),se.entry=d.entry=r.getPtLabel(h),V(\"percent entry\")&&!L&&!d.onPathbar&&(Y=r.formatPercent(se.percentEntry,U)+\" of \"+se.entry,q()),se.percentRoot=d.percentRoot=F/r.getValue(_),se.root=d.root=r.getPtLabel(_),V(\"percent root\")&&!L&&(Y=r.formatPercent(se.percentRoot,U)+\" of \"+se.root,q()),se.text=N(\"hovertext\")||N(\"text\"),V(\"text\")&&(Y=se.text,e.isValidTextValue(Y)&&fe.push(Y)),B=[n(d,y,p.eventDataKeys)];var oe={trace:y,y:$,_x0:d._x0,_x1:d._x1,_y0:d._y0,_y1:d._y1,text:fe.join(\"
\"),name:O||V(\"name\")?y.name:void 0,color:N(\"hoverlabel.bgcolor\")||f.color,borderColor:N(\"hoverlabel.bordercolor\"),fontFamily:N(\"hoverlabel.font.family\"),fontSize:N(\"hoverlabel.font.size\"),fontColor:N(\"hoverlabel.font.color\"),fontWeight:N(\"hoverlabel.font.weight\"),fontStyle:N(\"hoverlabel.font.style\"),fontVariant:N(\"hoverlabel.font.variant\"),nameLength:N(\"hoverlabel.namelength\"),textAlign:N(\"hoverlabel.align\"),hovertemplate:O,hovertemplateLabels:se,eventData:B};w&&(oe.x0=X-d.rInscribed*d.rpx1,oe.x1=X+d.rInscribed*d.rpx1,oe.idealAlign=d.pxmid[0]<0?\"left\":\"right\"),A&&(oe.x=X,oe.idealAlign=X<0?\"left\":\"right\");var ae=[];E.loneHover(oe,{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:c,inOut_bbox:ae}),B[0].bbox=ae[0],l._hasHoverLabel=!0}if(A){var j=s.select(\"path.surface\");p.styleOne(j,d,y,c,{hovered:!0})}l._hasHoverEvent=!0,c.emit(\"plotly_hover\",{points:B||[n(d,y,p.eventDataKeys)],event:v.event})}},g=function(d){var u=c._fullLayout,y=c._fullData[l.index],f=v.select(this).datum();if(l._hasHoverEvent&&(d.originalEvent=v.event,c.emit(\"plotly_unhover\",{points:[n(f,y,p.eventDataKeys)],event:v.event}),l._hasHoverEvent=!1),l._hasHoverLabel&&(E.loneUnhover(u._hoverlayer.node()),l._hasHoverLabel=!1),A){var R=s.select(\"path.surface\");p.styleOne(R,f,y,c,{hovered:!1})}},b=function(d){var u=c._fullLayout,y=c._fullData[l.index],f=w&&(r.isHierarchyRoot(d)||r.isLeaf(d)),R=r.getPtId(d),L=r.isEntry(d)?r.findEntryWithChild(_,R):r.findEntryWithLevel(_,R),z=r.getPtId(L),F={points:[n(d,y,p.eventDataKeys)],event:v.event};f||(F.nextLevel=z);var N=t.triggerHandler(c,\"plotly_\"+l.type+\"click\",F);if(N!==!1&&u.hovermode&&(c._hoverdata=[n(d,y,p.eventDataKeys)],E.click(c,v.event)),!f&&N!==!1&&!c._dragging&&!c._transitioning){x.call(\"_storeDirectGUIEdit\",y,u._tracePreGUI[y.uid],{level:y.level});var O={data:[{level:z}],traces:[l.index]},P={frame:{redraw:!1,duration:p.transitionTime},transition:{duration:p.transitionTime,easing:p.transitionEasing},mode:\"immediate\",fromcurrent:!0};E.loneUnhover(u._hoverlayer.node()),x.call(\"animate\",c,O,P)}};s.on(\"mouseover\",M),s.on(\"mouseout\",g),s.on(\"click\",b)};function n(i,s,h){for(var c=i.data.data,m={curveNumber:s.index,pointNumber:c.i,data:s._input,fullData:s},p=0;pot.x1?2*Math.PI:0)+Q;Qe=he.rpx1Ze?2*Math.PI:0)+Q;tt={x0:Qe,x1:Qe}}else tt={rpx0:le,rpx1:le},E.extendFlat(tt,ye(he));else tt={rpx0:0,rpx1:0};else tt={x0:Q,x1:Q};return x(tt,ot)}function Me(he){var Oe=ee[T.getPtId(he)],tt,ot=he.transform;if(Oe)tt=Oe;else if(tt={rpx1:he.rpx1,transform:{textPosAngle:ot.textPosAngle,scale:0,rotate:ot.rotate,rCenter:ot.rCenter,x:ot.x,y:ot.y}},Y)if(he.parent)if(Ze){var Qe=he.x1>Ze?2*Math.PI:0;tt.x0=tt.x1=Qe}else E.extendFlat(tt,ye(he));else tt.x0=tt.x1=Q;else tt.x0=tt.x1=Q;var Pt=x(tt.transform.textPosAngle,he.transform.textPosAngle),It=x(tt.rpx1,he.rpx1),qt=x(tt.x0,he.x0),Wt=x(tt.x1,he.x1),kr=x(tt.transform.scale,ot.scale),mr=x(tt.transform.rotate,ot.rotate),qr=ot.rCenter===0?3:tt.transform.rCenter===0?1/3:1,Sr=x(tt.transform.rCenter,ot.rCenter),Rr=function(wt){return Sr(Math.pow(wt,qr))};return function(wt){var Ne=It(wt),Ke=qt(wt),Te=Wt(wt),Ie=Rr(wt),Ve=be(Ne,(Ke+Te)/2),Ce=Pt(wt),Ee={pxmid:Ve,rpx1:Ne,transform:{textPosAngle:Ce,rCenter:Ie,x:ot.x,y:ot.y}};return r(N.type,ot,f),{transform:{targetX:De(Ee),targetY:ze(Ee),scale:kr(wt),rotate:mr(wt),rCenter:Ie}}}}function ye(he){var Oe=he.parent,tt=ee[T.getPtId(Oe)],ot={};if(tt){var Qe=Oe.children,Pt=Qe.indexOf(he),It=Qe.length,qt=x(tt.x0,tt.x1);ot.x0=qt(Pt/It),ot.x1=qt(Pt/It)}else ot.x0=ot.x1=0;return ot}}function _(g){return v.partition().size([2*Math.PI,g.height+1])(g)}Z.formatSliceLabel=function(g,b,d,u,y){var f=d.texttemplate,R=d.textinfo;if(!f&&(!R||R===\"none\"))return\"\";var L=y.separators,z=u[0],F=g.data.data,N=z.hierarchy,O=T.isHierarchyRoot(g),P=T.getParent(N,g),U=T.getValue(g);if(!f){var B=R.split(\"+\"),X=function(ae){return B.indexOf(ae)!==-1},$=[],se;if(X(\"label\")&&F.label&&$.push(F.label),F.hasOwnProperty(\"v\")&&X(\"value\")&&$.push(T.formatValue(F.v,L)),!O){X(\"current path\")&&$.push(T.getPath(g.data));var le=0;X(\"percent parent\")&&le++,X(\"percent entry\")&&le++,X(\"percent root\")&&le++;var fe=le>1;if(le){var V,Y=function(ae){se=T.formatPercent(V,L),fe&&(se+=\" of \"+ae),$.push(se)};X(\"percent parent\")&&!O&&(V=U/T.getValue(P),Y(\"parent\")),X(\"percent entry\")&&(V=U/T.getValue(b),Y(\"entry\")),X(\"percent root\")&&(V=U/T.getValue(N),Y(\"root\"))}}return X(\"text\")&&(se=E.castOption(d,F.i,\"text\"),E.isValidTextValue(se)&&$.push(se)),$.join(\"
\")}var ee=E.castOption(d,F.i,\"texttemplate\");if(!ee)return\"\";var q={};F.label&&(q.label=F.label),F.hasOwnProperty(\"v\")&&(q.value=F.v,q.valueLabel=T.formatValue(F.v,L)),q.currentPath=T.getPath(g.data),O||(q.percentParent=U/T.getValue(P),q.percentParentLabel=T.formatPercent(q.percentParent,L),q.parent=T.getPtLabel(P)),q.percentEntry=U/T.getValue(b),q.percentEntryLabel=T.formatPercent(q.percentEntry,L),q.entry=T.getPtLabel(b),q.percentRoot=U/T.getValue(N),q.percentRootLabel=T.formatPercent(q.percentRoot,L),q.root=T.getPtLabel(N),F.hasOwnProperty(\"color\")&&(q.color=F.color);var oe=E.castOption(d,F.i,\"text\");return(E.isValidTextValue(oe)||oe===\"\")&&(q.text=oe),q.customdata=E.castOption(d,F.i,\"customdata\"),E.texttemplateString({data:[q,d._meta],fallback:d.texttemplatefallback,labels:q,locale:y._d3locale,template:ee})};function w(g){return g.rpx0===0&&E.isFullCircle([g.x0,g.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(g.halfangle)),g.ring/2))}function A(g){return M(g.rpx1,g.transform.textPosAngle)}function M(g,b){return[g*Math.sin(b),-g*Math.cos(b)]}}}),yN=Xe({\"src/traces/sunburst/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:DB(),categories:[],animatable:!0,attributes:J_(),layoutAttributes:oM(),supplyDefaults:zB(),supplyLayoutDefaults:FB(),calc:Q_().calc,crossTraceCalc:Q_().crossTraceCalc,plot:K3().plot,style:sE().style,colorbar:pp(),meta:{}}}}),_N=Xe({\"lib/sunburst.js\"(Z,G){\"use strict\";G.exports=yN()}}),xN=Xe({\"src/traces/treemap/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"treemap\",Z.plot=function(v,x,S,E){G.plotBasePlot(Z.name,v,x,S,E)},Z.clean=function(v,x,S,E){G.cleanBasePlot(Z.name,v,x,S,E)}}}),dg=Xe({\"src/traces/treemap/constants.js\"(Z,G){\"use strict\";G.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}}}),J3=Xe({\"src/traces/treemap/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:v,texttemplateAttrs:x,templatefallbackAttrs:S}=Jl(),E=ku(),e=wc().attributes,t=og(),r=J_(),o=dg(),a=Qo().extendFlat,n=Gh().pattern;G.exports={labels:r.labels,parents:r.parents,values:r.values,branchvalues:r.branchvalues,count:r.count,level:r.level,maxdepth:r.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:a({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:r.marker.colors,pattern:n,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:r.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},E(\"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:a({},t.textfont,{}),editType:\"calc\"},text:t.text,textinfo:r.textinfo,texttemplate:x({editType:\"plot\"},{keys:o.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:S({editType:\"plot\"}),hovertext:t.hovertext,hoverinfo:r.hoverinfo,hovertemplate:v({},{keys:o.eventDataKeys}),hovertemplatefallback:S(),textfont:t.textfont,insidetextfont:t.insidetextfont,outsidetextfont:a({},t.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\"},sort:t.sort,root:r.root,domain:e({name:\"treemap\",trace:!0,editType:\"calc\"})}}}),lE=Xe({\"src/traces/treemap/layout_attributes.js\"(Z,G){\"use strict\";G.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),bN=Xe({\"src/traces/treemap/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=J3(),S=$n(),E=wc().defaults,e=gd().handleText,t=i0().TEXTPAD,r=sg().handleMarkerDefaults,o=rc(),a=o.hasColorscale,n=o.handleDefaults;G.exports=function(s,h,c,m){function p(y,f){return v.coerce(s,h,x,y,f)}var T=p(\"labels\"),l=p(\"parents\");if(!T||!T.length||!l||!l.length){h.visible=!1;return}var _=p(\"values\");_&&_.length?p(\"branchvalues\"):p(\"count\"),p(\"level\"),p(\"maxdepth\");var w=p(\"tiling.packing\");w===\"squarify\"&&p(\"tiling.squarifyratio\"),p(\"tiling.flip\"),p(\"tiling.pad\");var A=p(\"text\");p(\"texttemplate\"),p(\"texttemplatefallback\"),h.texttemplate||p(\"textinfo\",v.isArrayOrTypedArray(A)?\"text+label\":\"label\"),p(\"hovertext\"),p(\"hovertemplate\"),p(\"hovertemplatefallback\");var M=p(\"pathbar.visible\"),g=\"auto\";e(s,h,m,p,g,{hasPathbar:M,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p(\"textposition\");var b=h.textposition.indexOf(\"bottom\")!==-1;r(s,h,m,p);var d=h._hasColorscale=a(s,\"marker\",\"colors\")||(s.marker||{}).coloraxis;d?n(s,h,m,p,{prefix:\"marker.\",cLetter:\"c\"}):p(\"marker.depthfade\",!(h.marker.colors||[]).length);var u=h.textfont.size*2;p(\"marker.pad.t\",b?u/4:u),p(\"marker.pad.l\",u/4),p(\"marker.pad.r\",u/4),p(\"marker.pad.b\",b?u:u/4),p(\"marker.cornerradius\"),h._hovered={marker:{line:{width:2,color:S.contrast(m.paper_bgcolor)}}},M&&(p(\"pathbar.thickness\",h.pathbar.textfont.size+2*t),p(\"pathbar.side\"),p(\"pathbar.edgeshape\")),p(\"sort\"),p(\"root.color\"),E(h,m,p),h._length=null}}}),wN=Xe({\"src/traces/treemap/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=lE();G.exports=function(E,e){function t(r,o){return v.coerce(E,e,x,r,o)}t(\"treemapcolorway\",e.colorway),t(\"extendtreemapcolors\")}}}),uE=Xe({\"src/traces/treemap/calc.js\"(Z){\"use strict\";var G=Q_();Z.calc=function(v,x){return G.calc(v,x)},Z.crossTraceCalc=function(v){return G._runCrossTraceCalc(\"treemap\",v)}}}),cE=Xe({\"src/traces/treemap/flip_tree.js\"(Z,G){\"use strict\";G.exports=function v(x,S,E){var e;E.swapXY&&(e=x.x0,x.x0=x.y0,x.y0=e,e=x.x1,x.x1=x.y1,x.y1=e),E.flipX&&(e=x.x0,x.x0=S[0]-x.x1,x.x1=S[0]-e),E.flipY&&(e=x.y0,x.y0=S[1]-x.y1,x.y1=S[1]-e);var t=x.children;if(t)for(var r=0;r0)for(var u=0;u\").join(\" \")||\"\";var fe=x.ensureSingle(se,\"g\",\"slicetext\"),V=x.ensureSingle(fe,\"text\",\"\",function(ee){ee.attr(\"data-notex\",1)}),Y=x.ensureUniformFontSize(s,o.determineTextFont(N,$,z.font,{onPathbar:!0}));V.text($._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(S.font,Y).call(E.convertToTspans,s),$.textBB=S.bBox(V.node()),$.transform=g($,{fontSize:Y.size,onPathbar:!0}),$.transform.fontSize=Y.size,d?V.transition().attrTween(\"transform\",function(ee){var q=f(ee,n,R,[l,_]);return function(oe){return b(q(oe))}}):V.attr(\"transform\",b($))})}}}),AN=Xe({\"src/traces/treemap/plot_one.js\"(Z,G){\"use strict\";var v=Hn(),x=(pg(),zf(p0)).interpolate,S=Qv(),E=sa(),e=i0().TEXTPAD,t=tg(),r=t.toMoveInsideBar,o=Sp(),a=o.recordMinTextSize,n=dg(),i=TN();function s(h){return S.isHierarchyRoot(h)?\"\":S.getPtId(h)}G.exports=function(c,m,p,T,l){var _=c._fullLayout,w=m[0],A=w.trace,M=A.type,g=M===\"icicle\",b=w.hierarchy,d=S.findEntryWithLevel(b,A.level),u=v.select(p),y=u.selectAll(\"g.pathbar\"),f=u.selectAll(\"g.slice\");if(!d){y.remove(),f.remove();return}var R=S.isHierarchyRoot(d),L=!_.uniformtext.mode&&S.hasTransition(T),z=S.getMaxDepth(A),F=function(Sr){return Sr.data.depth-d.data.depth-1?U+$:-(X+$):0,le={x0:B,x1:B,y0:se,y1:se+X},fe=function(Sr,Rr,wt){var Ne=A.tiling.pad,Ke=function(Ce){return Ce-Ne<=Rr.x0},Te=function(Ce){return Ce+Ne>=Rr.x1},Ie=function(Ce){return Ce-Ne<=Rr.y0},Ve=function(Ce){return Ce+Ne>=Rr.y1};return Sr.x0===Rr.x0&&Sr.x1===Rr.x1&&Sr.y0===Rr.y0&&Sr.y1===Rr.y1?{x0:Sr.x0,x1:Sr.x1,y0:Sr.y0,y1:Sr.y1}:{x0:Ke(Sr.x0-Ne)?0:Te(Sr.x0-Ne)?wt[0]:Sr.x0,x1:Ke(Sr.x1+Ne)?0:Te(Sr.x1+Ne)?wt[0]:Sr.x1,y0:Ie(Sr.y0-Ne)?0:Ve(Sr.y0-Ne)?wt[1]:Sr.y0,y1:Ie(Sr.y1+Ne)?0:Ve(Sr.y1+Ne)?wt[1]:Sr.y1}},V=null,Y={},ee={},q=null,oe=function(Sr,Rr){return Rr?Y[s(Sr)]:ee[s(Sr)]},ae=function(Sr,Rr,wt,Ne){if(Rr)return Y[s(b)]||le;var Ke=ee[A.level]||wt;return F(Sr)?fe(Sr,Ke,Ne):{}};w.hasMultipleRoots&&R&&z++,A._maxDepth=z,A._backgroundColor=_.paper_bgcolor,A._entryDepth=d.data.depth,A._atRootLevel=R;var j=-P/2+N.l+N.w*(O.x[1]+O.x[0])/2,Q=-U/2+N.t+N.h*(1-(O.y[1]+O.y[0])/2),re=function(Sr){return j+Sr},ce=function(Sr){return Q+Sr},be=ce(0),Ae=re(0),De=function(Sr){return Ae+Sr},ze=function(Sr){return be+Sr};function Ze(Sr,Rr){return Sr+\",\"+Rr}var at=De(0),nt=function(Sr){Sr.x=Math.max(at,Sr.x)},rt=A.pathbar.edgeshape,st=function(Sr){var Rr=De(Math.max(Math.min(Sr.x0,Sr.x0),0)),wt=De(Math.min(Math.max(Sr.x1,Sr.x1),B)),Ne=ze(Sr.y0),Ke=ze(Sr.y1),Te=X/2,Ie={},Ve={};Ie.x=Rr,Ve.x=wt,Ie.y=Ve.y=(Ne+Ke)/2;var Ce={x:Rr,y:Ne},Ee={x:wt,y:Ne},Pe={x:wt,y:Ke},ft={x:Rr,y:Ke};return rt===\">\"?(Ce.x-=Te,Ee.x-=Te,Pe.x-=Te,ft.x-=Te):rt===\"/\"?(Pe.x-=Te,ft.x-=Te,Ie.x-=Te/2,Ve.x-=Te/2):rt===\"\\\\\"?(Ce.x-=Te,Ee.x-=Te,Ie.x-=Te/2,Ve.x-=Te/2):rt===\"<\"&&(Ie.x-=Te,Ve.x-=Te),nt(Ce),nt(ft),nt(Ie),nt(Ee),nt(Pe),nt(Ve),\"M\"+Ze(Ce.x,Ce.y)+\"L\"+Ze(Ee.x,Ee.y)+\"L\"+Ze(Ve.x,Ve.y)+\"L\"+Ze(Pe.x,Pe.y)+\"L\"+Ze(ft.x,ft.y)+\"L\"+Ze(Ie.x,Ie.y)+\"Z\"},Me=A[g?\"tiling\":\"marker\"].pad,ye=function(Sr){return A.textposition.indexOf(Sr)!==-1},he=ye(\"top\"),Oe=ye(\"left\"),tt=ye(\"right\"),ot=ye(\"bottom\"),Qe=function(Sr){var Rr=re(Sr.x0),wt=re(Sr.x1),Ne=ce(Sr.y0),Ke=ce(Sr.y1),Te=wt-Rr,Ie=Ke-Ne;if(!Te||!Ie)return\"\";var Ve=A.marker.cornerradius||0,Ce=Math.min(Ve,Te/2,Ie/2);Ce&&Sr.data&&Sr.data.data&&Sr.data.data.label&&(he&&(Ce=Math.min(Ce,Me.t)),Oe&&(Ce=Math.min(Ce,Me.l)),tt&&(Ce=Math.min(Ce,Me.r)),ot&&(Ce=Math.min(Ce,Me.b)));var Ee=function(Pe,ft){return Ce?\"a\"+Ze(Ce,Ce)+\" 0 0 1 \"+Ze(Pe,ft):\"\"};return\"M\"+Ze(Rr,Ne+Ce)+Ee(Ce,-Ce)+\"L\"+Ze(wt-Ce,Ne)+Ee(Ce,Ce)+\"L\"+Ze(wt,Ke-Ce)+Ee(-Ce,Ce)+\"L\"+Ze(Rr+Ce,Ke)+Ee(-Ce,-Ce)+\"Z\"},Pt=function(Sr,Rr){var wt=Sr.x0,Ne=Sr.x1,Ke=Sr.y0,Te=Sr.y1,Ie=Sr.textBB,Ve=he||Rr.isHeader&&!ot,Ce=Ve?\"start\":ot?\"end\":\"middle\",Ee=ye(\"right\"),Pe=ye(\"left\")||Rr.onPathbar,ft=Pe?-1:Ee?1:0;if(Rr.isHeader){if(wt+=(g?Me:Me.l)-e,Ne-=(g?Me:Me.r)-e,wt>=Ne){var ct=(wt+Ne)/2;wt=ct,Ne=ct}var _t;ot?(_t=Te-(g?Me:Me.b),Ke<_t&&_t-1,flipY:O.tiling.flip.indexOf(\"y\")>-1,pad:{inner:O.tiling.pad,top:O.marker.pad.t,left:O.marker.pad.l,right:O.marker.pad.r,bottom:O.marker.pad.b}}),se=$.descendants(),le=1/0,fe=-1/0;se.forEach(function(oe){var ae=oe.depth;ae>=O._maxDepth?(oe.x0=oe.x1=(oe.x0+oe.x1)/2,oe.y0=oe.y1=(oe.y0+oe.y1)/2):(le=Math.min(le,ae),fe=Math.max(fe,ae))}),p=p.data(se,o.getPtId),O._maxVisibleLayers=isFinite(fe)?fe-le+1:0,p.enter().append(\"g\").classed(\"slice\",!0),u(p,i,L,[l,_],M),p.order();var V=null;if(d&&R){var Y=o.getPtId(R);p.each(function(oe){V===null&&o.getPtId(oe)===Y&&(V={x0:oe.x0,x1:oe.x1,y0:oe.y0,y1:oe.y1})})}var ee=function(){return V||{x0:0,x1:l,y0:0,y1:_}},q=p;return d&&(q=q.transition().each(\"end\",function(){var oe=v.select(this);o.setSliceCursor(oe,h,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),q.each(function(oe){var ae=o.isHeader(oe,O);oe._x0=w(oe.x0),oe._x1=w(oe.x1),oe._y0=A(oe.y0),oe._y1=A(oe.y1),oe._hoverX=w(oe.x1-O.marker.pad.r),oe._hoverY=A(B?oe.y1-O.marker.pad.b/2:oe.y0+O.marker.pad.t/2);var j=v.select(this),Q=x.ensureSingle(j,\"path\",\"surface\",function(ze){ze.style(\"pointer-events\",z?\"none\":\"all\")});d?Q.transition().attrTween(\"d\",function(ze){var Ze=y(ze,i,ee(),[l,_]);return function(at){return M(Ze(at))}}):Q.attr(\"d\",M),j.call(a,m,h,c,{styleOne:t,eventDataKeys:r.eventDataKeys,transitionTime:r.CLICK_TRANSITION_TIME,transitionEasing:r.CLICK_TRANSITION_EASING}).call(o.setSliceCursor,h,{isTransitioning:h._transitioning}),Q.call(t,oe,O,h,{hovered:!1}),oe.x0===oe.x1||oe.y0===oe.y1?oe._text=\"\":ae?oe._text=X?\"\":o.getPtLabel(oe)||\"\":oe._text=n(oe,m,O,c,F)||\"\";var re=x.ensureSingle(j,\"g\",\"slicetext\"),ce=x.ensureSingle(re,\"text\",\"\",function(ze){ze.attr(\"data-notex\",1)}),be=x.ensureUniformFontSize(h,o.determineTextFont(O,oe,F.font)),Ae=oe._text||\" \",De=ae&&Ae.indexOf(\"
\")===-1;ce.text(Ae).classed(\"slicetext\",!0).attr(\"text-anchor\",U?\"end\":P||De?\"start\":\"middle\").call(S.font,be).call(E.convertToTspans,h),oe.textBB=S.bBox(ce.node()),oe.transform=g(oe,{fontSize:be.size,isHeader:ae}),oe.transform.fontSize=be.size,d?ce.transition().attrTween(\"transform\",function(ze){var Ze=f(ze,i,ee(),[l,_]);return function(at){return b(Ze(at))}}):ce.attr(\"transform\",b(oe))}),V}}}),MN=Xe({\"src/traces/treemap/plot.js\"(Z,G){\"use strict\";var v=hE(),x=SN();G.exports=function(E,e,t,r){return v(E,e,t,r,{type:\"treemap\",drawDescendants:x})}}}),EN=Xe({\"src/traces/treemap/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:xN(),categories:[],animatable:!0,attributes:J3(),layoutAttributes:lE(),supplyDefaults:bN(),supplyLayoutDefaults:wN(),calc:uE().calc,crossTraceCalc:uE().crossTraceCalc,plot:MN(),style:$3().style,colorbar:pp(),meta:{}}}}),kN=Xe({\"lib/treemap.js\"(Z,G){\"use strict\";G.exports=EN()}}),CN=Xe({\"src/traces/icicle/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"icicle\",Z.plot=function(v,x,S,E){G.plotBasePlot(Z.name,v,x,S,E)},Z.clean=function(v,x,S,E){G.cleanBasePlot(Z.name,v,x,S,E)}}}),pE=Xe({\"src/traces/icicle/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:v,texttemplateAttrs:x,templatefallbackAttrs:S}=Jl(),E=ku(),e=wc().attributes,t=og(),r=J_(),o=J3(),a=dg(),n=Qo().extendFlat,i=Gh().pattern;G.exports={labels:r.labels,parents:r.parents,values:r.values,branchvalues:r.branchvalues,count:r.count,level:r.level,maxdepth:r.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:o.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:n({colors:r.marker.colors,line:r.marker.line,pattern:i,editType:\"calc\"},E(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:r.leaf,pathbar:o.pathbar,text:t.text,textinfo:r.textinfo,texttemplate:x({editType:\"plot\"},{keys:a.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:S({editType:\"plot\"}),hovertext:t.hovertext,hoverinfo:r.hoverinfo,hovertemplate:v({},{keys:a.eventDataKeys}),hovertemplatefallback:S(),textfont:t.textfont,insidetextfont:t.insidetextfont,outsidetextfont:o.outsidetextfont,textposition:o.textposition,sort:t.sort,root:r.root,domain:e({name:\"icicle\",trace:!0,editType:\"calc\"})}}}),dE=Xe({\"src/traces/icicle/layout_attributes.js\"(Z,G){\"use strict\";G.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),LN=Xe({\"src/traces/icicle/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=pE(),S=$n(),E=wc().defaults,e=gd().handleText,t=i0().TEXTPAD,r=sg().handleMarkerDefaults,o=rc(),a=o.hasColorscale,n=o.handleDefaults;G.exports=function(s,h,c,m){function p(b,d){return v.coerce(s,h,x,b,d)}var T=p(\"labels\"),l=p(\"parents\");if(!T||!T.length||!l||!l.length){h.visible=!1;return}var _=p(\"values\");_&&_.length?p(\"branchvalues\"):p(\"count\"),p(\"level\"),p(\"maxdepth\"),p(\"tiling.orientation\"),p(\"tiling.flip\"),p(\"tiling.pad\");var w=p(\"text\");p(\"texttemplate\"),p(\"texttemplatefallback\"),h.texttemplate||p(\"textinfo\",v.isArrayOrTypedArray(w)?\"text+label\":\"label\"),p(\"hovertext\"),p(\"hovertemplate\"),p(\"hovertemplatefallback\");var A=p(\"pathbar.visible\"),M=\"auto\";e(s,h,m,p,M,{hasPathbar:A,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p(\"textposition\"),r(s,h,m,p);var g=h._hasColorscale=a(s,\"marker\",\"colors\")||(s.marker||{}).coloraxis;g&&n(s,h,m,p,{prefix:\"marker.\",cLetter:\"c\"}),p(\"leaf.opacity\",g?1:.7),h._hovered={marker:{line:{width:2,color:S.contrast(m.paper_bgcolor)}}},A&&(p(\"pathbar.thickness\",h.pathbar.textfont.size+2*t),p(\"pathbar.side\"),p(\"pathbar.edgeshape\")),p(\"sort\"),p(\"root.color\"),E(h,m,p),h._length=null}}}),PN=Xe({\"src/traces/icicle/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=dE();G.exports=function(E,e){function t(r,o){return v.coerce(E,e,x,r,o)}t(\"iciclecolorway\",e.colorway),t(\"extendiciclecolors\")}}}),vE=Xe({\"src/traces/icicle/calc.js\"(Z){\"use strict\";var G=Q_();Z.calc=function(v,x){return G.calc(v,x)},Z.crossTraceCalc=function(v){return G._runCrossTraceCalc(\"icicle\",v)}}}),IN=Xe({\"src/traces/icicle/partition.js\"(Z,G){\"use strict\";var v=$_(),x=cE();G.exports=function(E,e,t){var r=t.flipX,o=t.flipY,a=t.orientation===\"h\",n=t.maxDepth,i=e[0],s=e[1];n&&(i=(E.height+1)*e[0]/Math.min(E.height+1,n),s=(E.height+1)*e[1]/Math.min(E.height+1,n));var h=v.partition().padding(t.pad.inner).size(a?[e[1],i]:[e[0],s])(E);return(a||r||o)&&x(h,e,{swapXY:a,flipX:r,flipY:o}),h}}}),mE=Xe({\"src/traces/icicle/style.js\"(Z,G){\"use strict\";var v=Hn(),x=$n(),S=sa(),E=Sp().resizeText,e=Y3();function t(o){var a=o._fullLayout._iciclelayer.selectAll(\".trace\");E(o,a,\"icicle\"),a.each(function(n){var i=v.select(this),s=n[0],h=s.trace;i.style(\"opacity\",h.opacity),i.selectAll(\"path.surface\").each(function(c){v.select(this).call(r,c,h,o)})})}function r(o,a,n,i){var s=a.data.data,h=!a.children,c=s.i,m=S.castOption(n,c,\"marker.line.color\")||x.defaultLine,p=S.castOption(n,c,\"marker.line.width\")||0;o.call(e,a,n,i).style(\"stroke-width\",p).call(x.stroke,m).style(\"opacity\",h?n.leaf.opacity:null)}G.exports={style:t,styleOne:r}}}),RN=Xe({\"src/traces/icicle/draw_descendants.js\"(Z,G){\"use strict\";var v=Hn(),x=sa(),S=es(),E=ou(),e=IN(),t=mE().styleOne,r=dg(),o=Qv(),a=vx(),n=K3().formatSliceLabel,i=!1;G.exports=function(h,c,m,p,T){var l=T.width,_=T.height,w=T.viewX,A=T.viewY,M=T.pathSlice,g=T.toMoveInsideSlice,b=T.strTransform,d=T.hasTransition,u=T.handleSlicesExit,y=T.makeUpdateSliceInterpolator,f=T.makeUpdateTextInterpolator,R=T.prevEntry,L={},z=h._context.staticPlot,F=h._fullLayout,N=c[0],O=N.trace,P=O.textposition.indexOf(\"left\")!==-1,U=O.textposition.indexOf(\"right\")!==-1,B=O.textposition.indexOf(\"bottom\")!==-1,X=e(m,[l,_],{flipX:O.tiling.flip.indexOf(\"x\")>-1,flipY:O.tiling.flip.indexOf(\"y\")>-1,orientation:O.tiling.orientation,pad:{inner:O.tiling.pad},maxDepth:O._maxDepth}),$=X.descendants(),se=1/0,le=-1/0;$.forEach(function(q){var oe=q.depth;oe>=O._maxDepth?(q.x0=q.x1=(q.x0+q.x1)/2,q.y0=q.y1=(q.y0+q.y1)/2):(se=Math.min(se,oe),le=Math.max(le,oe))}),p=p.data($,o.getPtId),O._maxVisibleLayers=isFinite(le)?le-se+1:0,p.enter().append(\"g\").classed(\"slice\",!0),u(p,i,L,[l,_],M),p.order();var fe=null;if(d&&R){var V=o.getPtId(R);p.each(function(q){fe===null&&o.getPtId(q)===V&&(fe={x0:q.x0,x1:q.x1,y0:q.y0,y1:q.y1})})}var Y=function(){return fe||{x0:0,x1:l,y0:0,y1:_}},ee=p;return d&&(ee=ee.transition().each(\"end\",function(){var q=v.select(this);o.setSliceCursor(q,h,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),ee.each(function(q){q._x0=w(q.x0),q._x1=w(q.x1),q._y0=A(q.y0),q._y1=A(q.y1),q._hoverX=w(q.x1-O.tiling.pad),q._hoverY=A(B?q.y1-O.tiling.pad/2:q.y0+O.tiling.pad/2);var oe=v.select(this),ae=x.ensureSingle(oe,\"path\",\"surface\",function(ce){ce.style(\"pointer-events\",z?\"none\":\"all\")});d?ae.transition().attrTween(\"d\",function(ce){var be=y(ce,i,Y(),[l,_],{orientation:O.tiling.orientation,flipX:O.tiling.flip.indexOf(\"x\")>-1,flipY:O.tiling.flip.indexOf(\"y\")>-1});return function(Ae){return M(be(Ae))}}):ae.attr(\"d\",M),oe.call(a,m,h,c,{styleOne:t,eventDataKeys:r.eventDataKeys,transitionTime:r.CLICK_TRANSITION_TIME,transitionEasing:r.CLICK_TRANSITION_EASING}).call(o.setSliceCursor,h,{isTransitioning:h._transitioning}),ae.call(t,q,O,h,{hovered:!1}),q.x0===q.x1||q.y0===q.y1?q._text=\"\":q._text=n(q,m,O,c,F)||\"\";var j=x.ensureSingle(oe,\"g\",\"slicetext\"),Q=x.ensureSingle(j,\"text\",\"\",function(ce){ce.attr(\"data-notex\",1)}),re=x.ensureUniformFontSize(h,o.determineTextFont(O,q,F.font));Q.text(q._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",U?\"end\":P?\"start\":\"middle\").call(S.font,re).call(E.convertToTspans,h),q.textBB=S.bBox(Q.node()),q.transform=g(q,{fontSize:re.size}),q.transform.fontSize=re.size,d?Q.transition().attrTween(\"transform\",function(ce){var be=f(ce,i,Y(),[l,_]);return function(Ae){return b(be(Ae))}}):Q.attr(\"transform\",b(q))}),fe}}}),DN=Xe({\"src/traces/icicle/plot.js\"(Z,G){\"use strict\";var v=hE(),x=RN();G.exports=function(E,e,t,r){return v(E,e,t,r,{type:\"icicle\",drawDescendants:x})}}}),zN=Xe({\"src/traces/icicle/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:CN(),categories:[],animatable:!0,attributes:pE(),layoutAttributes:dE(),supplyDefaults:LN(),supplyLayoutDefaults:PN(),calc:vE().calc,crossTraceCalc:vE().crossTraceCalc,plot:DN(),style:mE().style,colorbar:pp(),meta:{}}}}),FN=Xe({\"lib/icicle.js\"(Z,G){\"use strict\";G.exports=zN()}}),ON=Xe({\"src/traces/funnelarea/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"funnelarea\",Z.plot=function(v,x,S,E){G.plotBasePlot(Z.name,v,x,S,E)},Z.clean=function(v,x,S,E){G.cleanBasePlot(Z.name,v,x,S,E)}}}),gE=Xe({\"src/traces/funnelarea/attributes.js\"(Z,G){\"use strict\";var v=og(),x=ru(),S=wc().attributes,{hovertemplateAttrs:E,texttemplateAttrs:e,templatefallbackAttrs:t}=Jl(),r=Qo().extendFlat;G.exports={labels:v.labels,label0:v.label0,dlabel:v.dlabel,values:v.values,marker:{colors:v.marker.colors,line:{color:r({},v.marker.line.color,{dflt:null}),width:r({},v.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:v.marker.pattern,editType:\"calc\"},text:v.text,hovertext:v.hovertext,scalegroup:r({},v.scalegroup,{}),textinfo:r({},v.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:e({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),texttemplatefallback:t({editType:\"plot\"}),hoverinfo:r({},x.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:E({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hovertemplatefallback:t(),textposition:r({},v.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:v.textfont,insidetextfont:v.insidetextfont,title:{text:v.title.text,font:v.title.font,position:r({},v.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:S({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\"}}}}),yE=Xe({\"src/traces/funnelarea/layout_attributes.js\"(Z,G){\"use strict\";var v=_3().hiddenlabels;G.exports={hiddenlabels:v,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),BN=Xe({\"src/traces/funnelarea/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=gE(),S=wc().defaults,E=gd().handleText,e=sg().handleLabelsAndValues,t=sg().handleMarkerDefaults;G.exports=function(o,a,n,i){function s(M,g){return v.coerce(o,a,x,M,g)}var h=s(\"labels\"),c=s(\"values\"),m=e(h,c),p=m.len;if(a._hasLabels=m.hasLabels,a._hasValues=m.hasValues,!a._hasLabels&&a._hasValues&&(s(\"label0\"),s(\"dlabel\")),!p){a.visible=!1;return}a._length=p,t(o,a,i,s),s(\"scalegroup\");var T=s(\"text\"),l=s(\"texttemplate\");s(\"texttemplatefallback\");var _;if(l||(_=s(\"textinfo\",Array.isArray(T)?\"text+percent\":\"percent\")),s(\"hovertext\"),s(\"hovertemplate\"),s(\"hovertemplatefallback\"),l||_&&_!==\"none\"){var w=s(\"textposition\");E(o,a,i,s,w,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else _===\"none\"&&s(\"textposition\",\"none\");S(a,i,s);var A=s(\"title.text\");A&&(s(\"title.position\"),v.coerceFont(s,\"title.font\",i.font)),s(\"aspectratio\"),s(\"baseratio\")}}}),NN=Xe({\"src/traces/funnelarea/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=yE();G.exports=function(E,e){function t(r,o){return v.coerce(E,e,x,r,o)}t(\"hiddenlabels\"),t(\"funnelareacolorway\",e.colorway),t(\"extendfunnelareacolors\")}}}),_E=Xe({\"src/traces/funnelarea/calc.js\"(Z,G){\"use strict\";var v=x1();function x(E,e){return v.calc(E,e)}function S(E){v.crossTraceCalc(E,{type:\"funnelarea\"})}G.exports={calc:x,crossTraceCalc:S}}}),UN=Xe({\"src/traces/funnelarea/plot.js\"(Z,G){\"use strict\";var v=Hn(),x=es(),S=sa(),E=S.strScale,e=S.strTranslate,t=ou(),r=tg(),o=r.toMoveInsideBar,a=Sp(),n=a.recordMinTextSize,i=a.clearMinTextSize,s=t0(),h=x3(),c=h.attachFxHandlers,m=h.determineInsideTextFont,p=h.layoutAreas,T=h.prerenderTitles,l=h.positionTitleOutside,_=h.formatSliceLabel;G.exports=function(b,d){var u=b._context.staticPlot,y=b._fullLayout;i(\"funnelarea\",y),T(d,b),p(d,y._size),S.makeTraceGroups(y._funnelarealayer,d,\"trace\").each(function(f){var R=v.select(this),L=f[0],z=L.trace;M(f),R.each(function(){var F=v.select(this).selectAll(\"g.slice\").data(f);F.enter().append(\"g\").classed(\"slice\",!0),F.exit().remove(),F.each(function(O,P){if(O.hidden){v.select(this).selectAll(\"path,g\").remove();return}O.pointNumber=O.i,O.curveNumber=z.index;var U=L.cx,B=L.cy,X=v.select(this),$=X.selectAll(\"path.surface\").data([O]);$.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":u?\"none\":\"all\"}),X.call(c,b,f);var se=\"M\"+(U+O.TR[0])+\",\"+(B+O.TR[1])+w(O.TR,O.BR)+w(O.BR,O.BL)+w(O.BL,O.TL)+\"Z\";$.attr(\"d\",se),_(b,O,L);var le=s.castOption(z.textposition,O.pts),fe=X.selectAll(\"g.slicetext\").data(O.text&&le!==\"none\"?[0]:[]);fe.enter().append(\"g\").classed(\"slicetext\",!0),fe.exit().remove(),fe.each(function(){var V=S.ensureSingle(v.select(this),\"text\",\"\",function(re){re.attr(\"data-notex\",1)}),Y=S.ensureUniformFontSize(b,m(z,O,y.font));V.text(O.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(x.font,Y).call(t.convertToTspans,b);var ee=x.bBox(V.node()),q,oe,ae,j=Math.min(O.BL[1],O.BR[1])+B,Q=Math.max(O.TL[1],O.TR[1])+B;oe=Math.max(O.TL[0],O.BL[0])+U,ae=Math.min(O.TR[0],O.BR[0])+U,q=o(oe,ae,j,Q,ee,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),q.fontSize=Y.size,n(z.type,q,y),f[P].transform=q,S.setTransormAndDisplay(V,q)})});var N=v.select(this).selectAll(\"g.titletext\").data(z.title.text?[0]:[]);N.enter().append(\"g\").classed(\"titletext\",!0),N.exit().remove(),N.each(function(){var O=S.ensureSingle(v.select(this),\"text\",\"\",function(B){B.attr(\"data-notex\",1)}),P=z.title.text;z._meta&&(P=S.templateString(P,z._meta)),O.text(P).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(x.font,z.title.font).call(t.convertToTspans,b);var U=l(L,y._size);O.attr(\"transform\",e(U.x,U.y)+E(Math.min(1,U.scale))+e(U.tx,U.ty))})})})};function w(g,b){var d=b[0]-g[0],u=b[1]-g[1];return\"l\"+d+\",\"+u}function A(g,b){return[.5*(g[0]+b[0]),.5*(g[1]+b[1])]}function M(g){if(!g.length)return;var b=g[0],d=b.trace,u=d.aspectratio,y=d.baseratio;y>.999&&(y=.999);var f=Math.pow(y,2),R=b.vTotal,L=R*f/(1-f),z=R,F=L/R;function N(){var ce=Math.sqrt(F);return{x:ce,y:-ce}}function O(){var ce=N();return[ce.x,ce.y]}var P,U=[];U.push(O());var B,X;for(B=g.length-1;B>-1;B--)if(X=g[B],!X.hidden){var $=X.v/z;F+=$,U.push(O())}var se=1/0,le=-1/0;for(B=0;B-1;B--)if(X=g[B],!X.hidden){j+=1;var Q=U[j][0],re=U[j][1];X.TL=[-Q,re],X.TR=[Q,re],X.BL=oe,X.BR=ae,X.pxmid=A(X.TR,X.BR),oe=X.TL,ae=X.TR}}}}),jN=Xe({\"src/traces/funnelarea/style.js\"(Z,G){\"use strict\";var v=Hn(),x=i1(),S=Sp().resizeText;G.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(\".trace\");S(e,t,\"funnelarea\"),t.each(function(r){var o=r[0],a=o.trace,n=v.select(this);n.style({opacity:a.opacity}),n.selectAll(\"path.surface\").each(function(i){v.select(this).call(x,i,a,e)})})}}}),qN=Xe({\"src/traces/funnelarea/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:ON(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:gE(),layoutAttributes:yE(),supplyDefaults:BN(),supplyLayoutDefaults:NN(),calc:_E().calc,crossTraceCalc:_E().crossTraceCalc,plot:UN(),style:jN(),styleOne:i1(),meta:{}}}}),VN=Xe({\"lib/funnelarea.js\"(Z,G){\"use strict\";G.exports=qN()}}),Yh=Xe({\"stackgl_modules/index.js\"(Z,G){(function(){var v={24:function(e){var t={left:0,top:0};e.exports=r;function r(a,n,i){n=n||a.currentTarget||a.srcElement,Array.isArray(i)||(i=[0,0]);var s=a.clientX||0,h=a.clientY||0,c=o(n);return i[0]=s-c.left,i[1]=h-c.top,i}function o(a){return a===window||a===document||a===document.body?t:a.getBoundingClientRect()}},109:function(e){e.exports=t;function t(r,o,a,n){var i=a[0],s=a[2],h=o[0]-i,c=o[2]-s,m=Math.sin(n),p=Math.cos(n);return r[0]=i+c*m+h*p,r[1]=o[1],r[2]=s+c*p-h*m,r}},160:function(e){e.exports=t;function t(r,o,a){return r[0]=Math.max(o[0],a[0]),r[1]=Math.max(o[1],a[1]),r[2]=Math.max(o[2],a[2]),r[3]=Math.max(o[3],a[3]),r}},216:function(e){\"use strict\";e.exports=t;function t(r,o){for(var a={},n=0;n1){m[0]in h||(h[m[0]]=[]),h=h[m[0]];for(var p=1;p=0;--P){var Y=N[P];U=Y[0];var ee=z[U],q=ee[0],oe=ee[1],ae=L[q],j=L[oe];if((ae[0]-j[0]||ae[1]-j[1])<0){var Q=q;q=oe,oe=Q}ee[0]=q;var re=ee[1]=Y[1],ce;for(O&&(ce=ee[2]);P>0&&N[P-1][0]===U;){var Y=N[--P],be=Y[1];O?z.push([re,be,ce]):z.push([re,be]),re=be}O?z.push([re,oe,ce]):z.push([re,oe])}return B}function g(L,z,F){for(var N=z.length,O=new o(N),P=[],U=0;Uz[2]?1:0)}function u(L,z,F){if(L.length!==0){if(z)for(var N=0;N0||U.length>0}function R(L,z,F){var N;if(F){N=z;for(var O=new Array(z.length),P=0;P 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`]),n=o([`#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`]),i=o([`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=o([`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}`]);t.meshShader={vertex:a,fragment:n,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},t.pickShader={vertex:i,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},620:function(e){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"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\"]},665:function(e,t,r){\"use strict\";var o=r(3202);e.exports=s;var a=96;function n(h,c){var m=o(getComputedStyle(h).getPropertyValue(c));return m[0]*s(m[1],h)}function i(h,c){var m=document.createElement(\"div\");m.style[\"font-size\"]=\"128\"+h,c.appendChild(m);var p=n(m,\"font-size\")/128;return c.removeChild(m),p}function s(h,c){switch(c=c||document.body,h=(h||\"px\").trim().toLowerCase(),(c===window||c===document)&&(c=document.body),h){case\"%\":return c.clientHeight/100;case\"ch\":case\"ex\":return i(h,c);case\"em\":return n(c,\"font-size\");case\"rem\":return n(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}},727:function(e,t,r){\"use strict\";var o=r(2962),a=6;function n(A){var M=A===2?h:A===3?c:A===4?m:A===5?p:T;return A<6?M(o[A]):M(o)}function i(){return[[0]]}function s(A,M){return[[M[0]],[A[0][0]]]}function h(A){return function(g,b){return[A([[+b[0],+g[0][1]],[+b[1],+g[1][1]]]),A([[+g[0][0],+b[0]],[+g[1][0],+b[1]]]),A(g)]}}function c(A){return function(g,b){return[A([[+b[0],+g[0][1],+g[0][2]],[+b[1],+g[1][1],+g[1][2]],[+b[2],+g[2][1],+g[2][2]]]),A([[+g[0][0],+b[0],+g[0][2]],[+g[1][0],+b[1],+g[1][2]],[+g[2][0],+b[2],+g[2][2]]]),A([[+g[0][0],+g[0][1],+b[0]],[+g[1][0],+g[1][1],+b[1]],[+g[2][0],+g[2][1],+b[2]]]),A(g)]}}function m(A){return function(g,b){return[A([[+b[0],+g[0][1],+g[0][2],+g[0][3]],[+b[1],+g[1][1],+g[1][2],+g[1][3]],[+b[2],+g[2][1],+g[2][2],+g[2][3]],[+b[3],+g[3][1],+g[3][2],+g[3][3]]]),A([[+g[0][0],+b[0],+g[0][2],+g[0][3]],[+g[1][0],+b[1],+g[1][2],+g[1][3]],[+g[2][0],+b[2],+g[2][2],+g[2][3]],[+g[3][0],+b[3],+g[3][2],+g[3][3]]]),A([[+g[0][0],+g[0][1],+b[0],+g[0][3]],[+g[1][0],+g[1][1],+b[1],+g[1][3]],[+g[2][0],+g[2][1],+b[2],+g[2][3]],[+g[3][0],+g[3][1],+b[3],+g[3][3]]]),A([[+g[0][0],+g[0][1],+g[0][2],+b[0]],[+g[1][0],+g[1][1],+g[1][2],+b[1]],[+g[2][0],+g[2][1],+g[2][2],+b[2]],[+g[3][0],+g[3][1],+g[3][2],+b[3]]]),A(g)]}}function p(A){return function(g,b){return[A([[+b[0],+g[0][1],+g[0][2],+g[0][3],+g[0][4]],[+b[1],+g[1][1],+g[1][2],+g[1][3],+g[1][4]],[+b[2],+g[2][1],+g[2][2],+g[2][3],+g[2][4]],[+b[3],+g[3][1],+g[3][2],+g[3][3],+g[3][4]],[+b[4],+g[4][1],+g[4][2],+g[4][3],+g[4][4]]]),A([[+g[0][0],+b[0],+g[0][2],+g[0][3],+g[0][4]],[+g[1][0],+b[1],+g[1][2],+g[1][3],+g[1][4]],[+g[2][0],+b[2],+g[2][2],+g[2][3],+g[2][4]],[+g[3][0],+b[3],+g[3][2],+g[3][3],+g[3][4]],[+g[4][0],+b[4],+g[4][2],+g[4][3],+g[4][4]]]),A([[+g[0][0],+g[0][1],+b[0],+g[0][3],+g[0][4]],[+g[1][0],+g[1][1],+b[1],+g[1][3],+g[1][4]],[+g[2][0],+g[2][1],+b[2],+g[2][3],+g[2][4]],[+g[3][0],+g[3][1],+b[3],+g[3][3],+g[3][4]],[+g[4][0],+g[4][1],+b[4],+g[4][3],+g[4][4]]]),A([[+g[0][0],+g[0][1],+g[0][2],+b[0],+g[0][4]],[+g[1][0],+g[1][1],+g[1][2],+b[1],+g[1][4]],[+g[2][0],+g[2][1],+g[2][2],+b[2],+g[2][4]],[+g[3][0],+g[3][1],+g[3][2],+b[3],+g[3][4]],[+g[4][0],+g[4][1],+g[4][2],+b[4],+g[4][4]]]),A([[+g[0][0],+g[0][1],+g[0][2],+g[0][3],+b[0]],[+g[1][0],+g[1][1],+g[1][2],+g[1][3],+b[1]],[+g[2][0],+g[2][1],+g[2][2],+g[2][3],+b[2]],[+g[3][0],+g[3][1],+g[3][2],+g[3][3],+b[3]],[+g[4][0],+g[4][1],+g[4][2],+g[4][3],+b[4]]]),A(g)]}}function T(A){return function(g,b){return[A([[+b[0],+g[0][1],+g[0][2],+g[0][3],+g[0][4],+g[0][5]],[+b[1],+g[1][1],+g[1][2],+g[1][3],+g[1][4],+g[1][5]],[+b[2],+g[2][1],+g[2][2],+g[2][3],+g[2][4],+g[2][5]],[+b[3],+g[3][1],+g[3][2],+g[3][3],+g[3][4],+g[3][5]],[+b[4],+g[4][1],+g[4][2],+g[4][3],+g[4][4],+g[4][5]],[+b[5],+g[5][1],+g[5][2],+g[5][3],+g[5][4],+g[5][5]]]),A([[+g[0][0],+b[0],+g[0][2],+g[0][3],+g[0][4],+g[0][5]],[+g[1][0],+b[1],+g[1][2],+g[1][3],+g[1][4],+g[1][5]],[+g[2][0],+b[2],+g[2][2],+g[2][3],+g[2][4],+g[2][5]],[+g[3][0],+b[3],+g[3][2],+g[3][3],+g[3][4],+g[3][5]],[+g[4][0],+b[4],+g[4][2],+g[4][3],+g[4][4],+g[4][5]],[+g[5][0],+b[5],+g[5][2],+g[5][3],+g[5][4],+g[5][5]]]),A([[+g[0][0],+g[0][1],+b[0],+g[0][3],+g[0][4],+g[0][5]],[+g[1][0],+g[1][1],+b[1],+g[1][3],+g[1][4],+g[1][5]],[+g[2][0],+g[2][1],+b[2],+g[2][3],+g[2][4],+g[2][5]],[+g[3][0],+g[3][1],+b[3],+g[3][3],+g[3][4],+g[3][5]],[+g[4][0],+g[4][1],+b[4],+g[4][3],+g[4][4],+g[4][5]],[+g[5][0],+g[5][1],+b[5],+g[5][3],+g[5][4],+g[5][5]]]),A([[+g[0][0],+g[0][1],+g[0][2],+b[0],+g[0][4],+g[0][5]],[+g[1][0],+g[1][1],+g[1][2],+b[1],+g[1][4],+g[1][5]],[+g[2][0],+g[2][1],+g[2][2],+b[2],+g[2][4],+g[2][5]],[+g[3][0],+g[3][1],+g[3][2],+b[3],+g[3][4],+g[3][5]],[+g[4][0],+g[4][1],+g[4][2],+b[4],+g[4][4],+g[4][5]],[+g[5][0],+g[5][1],+g[5][2],+b[5],+g[5][4],+g[5][5]]]),A([[+g[0][0],+g[0][1],+g[0][2],+g[0][3],+b[0],+g[0][5]],[+g[1][0],+g[1][1],+g[1][2],+g[1][3],+b[1],+g[1][5]],[+g[2][0],+g[2][1],+g[2][2],+g[2][3],+b[2],+g[2][5]],[+g[3][0],+g[3][1],+g[3][2],+g[3][3],+b[3],+g[3][5]],[+g[4][0],+g[4][1],+g[4][2],+g[4][3],+b[4],+g[4][5]],[+g[5][0],+g[5][1],+g[5][2],+g[5][3],+b[5],+g[5][5]]]),A([[+g[0][0],+g[0][1],+g[0][2],+g[0][3],+g[0][4],+b[0]],[+g[1][0],+g[1][1],+g[1][2],+g[1][3],+g[1][4],+b[1]],[+g[2][0],+g[2][1],+g[2][2],+g[2][3],+g[2][4],+b[2]],[+g[3][0],+g[3][1],+g[3][2],+g[3][3],+g[3][4],+b[3]],[+g[4][0],+g[4][1],+g[4][2],+g[4][3],+g[4][4],+b[4]],[+g[5][0],+g[5][1],+g[5][2],+g[5][3],+g[5][4],+b[5]]]),A(g)]}}var l=[i,s];function _(A,M,g,b,d,u,y,f){return function(L,z){switch(L.length){case 0:return A(L,z);case 1:return M(L,z);case 2:return g(L,z);case 3:return b(L,z);case 4:return d(L,z);case 5:return u(L,z)}var F=y[L.length];return F||(F=y[L.length]=f(L.length)),F(L,z)}}function w(){for(;l.length1e-6?(_=Math.acos(w),A=Math.sin(_),M=Math.sin((1-n)*_)/A,g=Math.sin(n*_)/A):(M=1-n,g=n),r[0]=M*i+g*m,r[1]=M*s+g*p,r[2]=M*h+g*T,r[3]=M*c+g*l,r}},799:function(e,t,r){var o=r(3236),a=r(9405),n=o([`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}`]),i=o([`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(s){return a(s,n,i,null,[{name:\"position\",type:\"vec2\"}])}},811:function(e){e.exports=t;function t(r,o){return r[0]=1/o[0],r[1]=1/o[1],r[2]=1/o[2],r}},840:function(e,t,r){var o=r(3236),a=o([`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`]),n=o([`#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`]),i=o([`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=o([`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}`]),h=o([`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=o([`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}`]),m=o([`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}`]),p=o([`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}`]),T=o([`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}`]),l=o([`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}`]),_=o([`precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n`]);t.meshShader={vertex:a,fragment:n,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},t.wireShader={vertex:i,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},t.pointShader={vertex:h,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},t.pickShader={vertex:m,fragment:p,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},t.pointPickShader={vertex:T,fragment:p,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},t.contourShader={vertex:l,fragment:_,attributes:[{name:\"position\",type:\"vec3\"}]}},855:function(e,t,r){\"use strict\";e.exports={init:w,sweepBipartite:g,sweepComplete:b,scanBipartite:d,scanComplete:u};var o=r(1888),a=r(8828),n=r(4192),i=1<<28,s=1024,h=o.mallocInt32(s),c=o.mallocInt32(s),m=o.mallocInt32(s),p=o.mallocInt32(s),T=o.mallocInt32(s),l=o.mallocInt32(s),_=o.mallocDouble(s*8);function w(y){var f=a.nextPow2(y);h.length>>1;n(_,ee);for(var q=0,oe=0,le=0;le=i)ae=ae-i|0,A(m,p,oe--,ae);else if(ae>=0)A(h,c,q--,ae);else if(ae<=-i){ae=-ae-i|0;for(var j=0;j>>1;n(_,ee);for(var q=0,oe=0,ae=0,le=0;le>1===_[2*le+3]>>1&&(Q=2,le+=1),j<0){for(var re=-(j>>1)-1,ce=0;ce>1)-1;Q===0?A(h,c,q--,re):Q===1?A(m,p,oe--,re):Q===2&&A(T,l,ae--,re)}}}function d(y,f,R,L,z,F,N,O,P,U,B,X){var $=0,se=2*y,le=f,fe=f+y,V=1,Y=1;L?Y=i:V=i;for(var ee=z;ee>>1;n(_,j);for(var Q=0,ee=0;ee=i?(ce=!L,q-=i):(ce=!!L,q-=1),ce)M(h,c,Q++,q);else{var be=X[q],Ae=se*q,De=B[Ae+f+1],ze=B[Ae+f+1+y];e:for(var Ze=0;Ze>>1;n(_,q);for(var oe=0,fe=0;fe=i)h[oe++]=V-i;else{V-=1;var j=B[V],Q=$*V,re=U[Q+f+1],ce=U[Q+f+1+y];e:for(var be=0;be=0;--be)if(h[be]===V){for(var Ze=be+1;Ze 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 (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) 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 mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 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`]),h=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`]);t.createShader=function(c){var m=o(c,n,i,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return m.attributes.uv.location=0,m.attributes.f.location=1,m.attributes.normal.location=2,m},t.createPickShader=function(c){var m=o(c,n,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return m.attributes.uv.location=0,m.attributes.f.location=1,m.attributes.normal.location=2,m},t.createContourShader=function(c){var m=o(c,s,i,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return m.attributes.uv.location=0,m.attributes.f.location=1,m},t.createPickContourShader=function(c){var m=o(c,s,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return m.attributes.uv.location=0,m.attributes.f.location=1,m}},1085:function(e,t,r){var o=r(1371);e.exports=a;function a(n,i,s){i=typeof i==\"number\"?i:1,s=s||\": \";var h=n.split(/\\r?\\n/),c=String(h.length+i-1).length;return h.map(function(m,p){var T=p+i,l=String(T).length,_=o(T,c-l);return _+s+m}).join(`\n`)}},1091:function(e){e.exports=t;function t(){var r=new Float32Array(3);return r[0]=0,r[1]=0,r[2]=0,r}},1125:function(e,t,r){\"use strict\";e.exports=n;var o=r(3250)[3];function a(i,s,h,c){for(var m=0;m<2;++m){var p=i[m],T=s[m],l=Math.min(p,T),_=Math.max(p,T),w=h[m],A=c[m],M=Math.min(w,A),g=Math.max(w,A);if(g0&&p>0||m<0&&p<0)return!1;var T=o(h,i,s),l=o(c,i,s);return T>0&&l>0||T<0&&l<0?!1:m===0&&p===0&&T===0&&l===0?a(i,s,h,c):!0}},1278:function(e,t,r){\"use strict\";var o=r(2361),a=Math.pow(2,-1074),n=-1>>>0;e.exports=i;function i(s,h){if(isNaN(s)||isNaN(h))return NaN;if(s===h)return s;if(s===0)return h<0?-a:a;var c=o.hi(s),m=o.lo(s);return h>s==s>0?m===n?(c+=1,m=0):m+=1:m===0?(m=n,c-=1):m-=1,o.pack(m,c)}},1283:function(e,t,r){var o=r(9405),a=r(3236),n=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}`]),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 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`]),h=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}`]),m=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],p={vertex:n,fragment:h,attributes:m},T={vertex:i,fragment:h,attributes:m},l={vertex:s,fragment:h,attributes:m},_={vertex:n,fragment:c,attributes:m},w={vertex:i,fragment:c,attributes:m},A={vertex:s,fragment:c,attributes:m};function M(g,b){var d=o(g,b),u=d.attributes;return u.position.location=0,u.color.location=1,u.glyph.location=2,u.id.location=3,d}t.createPerspective=function(g){return M(g,p)},t.createOrtho=function(g){return M(g,T)},t.createProject=function(g){return M(g,l)},t.createPickPerspective=function(g){return M(g,_)},t.createPickOrtho=function(g){return M(g,w)},t.createPickProject=function(g){return M(g,A)}},1303:function(e,t,r){\"use strict\";e.exports=n;var o=r(3250);function a(i,s){var h,c;if(s[0][0]s[1][0])h=s[1],c=s[0];else{var m=Math.min(i[0][1],i[1][1]),p=Math.max(i[0][1],i[1][1]),T=Math.min(s[0][1],s[1][1]),l=Math.max(s[0][1],s[1][1]);return pl?m-l:p-l}var _,w;i[0][1]s[1][0])h=s[1],c=s[0];else return a(s,i);var m,p;if(i[0][0]i[1][0])m=i[1],p=i[0];else return-a(i,s);var T=o(h,c,p),l=o(h,c,m);if(T<0){if(l<=0)return T}else if(T>0){if(l>=0)return T}else if(l)return l;if(T=o(p,m,c),l=o(p,m,h),T<0){if(l<=0)return T}else if(T>0){if(l>=0)return T}else if(l)return l;return c[0]-p[0]}},1318:function(e){\"use strict\";e.exports=t;function t(r,o){return r[0].mul(o[1]).cmp(o[0].mul(r[1]))}},1338:function(e){\"use strict\";function t(a,n,i){var s=a[i]|0;if(s<=0)return[];var h=new Array(s),c;if(i===a.length-1)for(c=0;c\"u\"&&(n=0),typeof a){case\"number\":if(a>0)return r(a|0,n);break;case\"object\":if(typeof a.length==\"number\")return t(a,n,0);break}return[]}e.exports=o},1369:function(e,t,r){\"use strict\";var o=r(5716);e.exports=a;function a(n){var i=n.length,s=n.words,h=0;if(i===1)h=s[0];else if(i===2)h=s[0]+s[1]*67108864;else for(var c=0;cn)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i=0?R[B]:U)}function F(P){var U=M(P);return U?L in U:f.indexOf(P)>=0}function N(P,U){var B,X=M(P);return X?X[L]=U:(B=f.indexOf(P),B>=0?R[B]=U:(B=f.length,R[B]=U,f[B]=P)),this}function O(P){var U=M(P),B,X;return U?L in U&&delete U[L]:(B=f.indexOf(P),B<0?!1:(X=f.length-1,f[B]=void 0,R[B]=R[X],f[B]=f[X],f.length=X,R.length=X,!0))}return Object.create(y.prototype,{get___:{value:g(z)},has___:{value:g(F)},set___:{value:g(N)},delete___:{value:g(O)}})};y.prototype=Object.create(Object.prototype,{get:{value:function(R,L){return this.get___(R,L)},writable:!0,configurable:!0},has:{value:function(R){return this.has___(R)},writable:!0,configurable:!0},set:{value:function(R,L){return this.set___(R,L)},writable:!0,configurable:!0},delete:{value:function(R){return this.delete___(R)},writable:!0,configurable:!0}}),typeof a==\"function\"?function(){o&&typeof Proxy<\"u\"&&(Proxy=void 0);function f(){this instanceof y||d();var R=new a,L=void 0,z=!1;function F(U,B){return L?R.has(U)?R.get(U):L.get___(U,B):R.get(U,B)}function N(U){return R.has(U)||(L?L.has___(U):!1)}var O;o?O=function(U,B){return R.set(U,B),R.has(U)||(L||(L=new y),L.set(U,B)),this}:O=function(U,B){if(z)try{R.set(U,B)}catch{L||(L=new y),L.set___(U,B)}else R.set(U,B);return this};function P(U){var B=!!R.delete(U);return L&&L.delete___(U)||B}return Object.create(y.prototype,{get___:{value:g(F)},has___:{value:g(N)},set___:{value:g(O)},delete___:{value:g(P)},permitHostObjects___:{value:g(function(U){if(U===r)z=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}f.prototype=y.prototype,e.exports=f,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<\"u\"&&(Proxy=void 0),e.exports=y)})()},1570:function(e){\"use strict\";e.exports=r;var t=[function(){function a(i,s,h,c){for(var m=Math.min(h,c)|0,p=Math.max(h,c)|0,T=i[2*m],l=i[2*m+1];T>1,w=s[2*_+1];if(w===p)return _;p>1,w=s[2*_+1];if(w===p)return _;p>1,w=s[2*_+1];if(w===p)return _;p>1,w=s[2*_+1];if(w===p)return _;p 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}\n`]),h=o([`precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}`]);t.Q=function(p){return a(p,s,h,null,[{name:\"position\",type:\"vec3\"}])};var c=o([`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}\n`]),m=o([`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}`]);t.bg=function(p){return a(p,c,m,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},1888:function(e,t,r){\"use strict\";var o=r(8828),a=r(1338),n=r(4793).hp;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),BIGUINT64:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),BIGINT64:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var i=typeof Uint8ClampedArray<\"u\",s=typeof BigUint64Array<\"u\",h=typeof BigInt64Array<\"u\",c=r.g.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=a([32,0])),c.BIGUINT64||(c.BIGUINT64=a([32,0])),c.BIGINT64||(c.BIGINT64=a([32,0])),c.BUFFER||(c.BUFFER=a([32,0]));var m=c.DATA,p=c.BUFFER;t.free=function(O){if(n.isBuffer(O))p[o.log2(O.length)].push(O);else{if(Object.prototype.toString.call(O)!==\"[object ArrayBuffer]\"&&(O=O.buffer),!O)return;var P=O.length||O.byteLength,U=o.log2(P)|0;m[U].push(O)}};function T(N){if(N){var O=N.length||N.byteLength,P=o.log2(O);m[P].push(N)}}function l(N){T(N.buffer)}t.freeUint8=t.freeUint16=t.freeUint32=t.freeBigUint64=t.freeInt8=t.freeInt16=t.freeInt32=t.freeBigInt64=t.freeFloat32=t.freeFloat=t.freeFloat64=t.freeDouble=t.freeUint8Clamped=t.freeDataView=l,t.freeArrayBuffer=T,t.freeBuffer=function(O){p[o.log2(O.length)].push(O)},t.malloc=function(O,P){if(P===void 0||P===\"arraybuffer\")return _(O);switch(P){case\"uint8\":return w(O);case\"uint16\":return A(O);case\"uint32\":return M(O);case\"int8\":return g(O);case\"int16\":return b(O);case\"int32\":return d(O);case\"float\":case\"float32\":return u(O);case\"double\":case\"float64\":return y(O);case\"uint8_clamped\":return f(O);case\"bigint64\":return L(O);case\"biguint64\":return R(O);case\"buffer\":return F(O);case\"data\":case\"dataview\":return z(O);default:return null}return null};function _(O){var O=o.nextPow2(O),P=o.log2(O),U=m[P];return U.length>0?U.pop():new ArrayBuffer(O)}t.mallocArrayBuffer=_;function w(N){return new Uint8Array(_(N),0,N)}t.mallocUint8=w;function A(N){return new Uint16Array(_(2*N),0,N)}t.mallocUint16=A;function M(N){return new Uint32Array(_(4*N),0,N)}t.mallocUint32=M;function g(N){return new Int8Array(_(N),0,N)}t.mallocInt8=g;function b(N){return new Int16Array(_(2*N),0,N)}t.mallocInt16=b;function d(N){return new Int32Array(_(4*N),0,N)}t.mallocInt32=d;function u(N){return new Float32Array(_(4*N),0,N)}t.mallocFloat32=t.mallocFloat=u;function y(N){return new Float64Array(_(8*N),0,N)}t.mallocFloat64=t.mallocDouble=y;function f(N){return i?new Uint8ClampedArray(_(N),0,N):w(N)}t.mallocUint8Clamped=f;function R(N){return s?new BigUint64Array(_(8*N),0,N):null}t.mallocBigUint64=R;function L(N){return h?new BigInt64Array(_(8*N),0,N):null}t.mallocBigInt64=L;function z(N){return new DataView(_(N),0,N)}t.mallocDataView=z;function F(N){N=o.nextPow2(N);var O=o.log2(N),P=p[O];return P.length>0?P.pop():new n(N)}t.mallocBuffer=F,t.clearCache=function(){for(var O=0;O<32;++O)c.UINT8[O].length=0,c.UINT16[O].length=0,c.UINT32[O].length=0,c.INT8[O].length=0,c.INT16[O].length=0,c.INT32[O].length=0,c.FLOAT[O].length=0,c.DOUBLE[O].length=0,c.BIGUINT64[O].length=0,c.BIGINT64[O].length=0,c.UINT8C[O].length=0,m[O].length=0,p[O].length=0}},1903:function(e){e.exports=t;function t(r){var o=new Float32Array(16);return o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=r[4],o[5]=r[5],o[6]=r[6],o[7]=r[7],o[8]=r[8],o[9]=r[9],o[10]=r[10],o[11]=r[11],o[12]=r[12],o[13]=r[13],o[14]=r[14],o[15]=r[15],o}},1944:function(e,t,r){\"use strict\";var o=r(5250),a=r(8210);e.exports=n;function n(i,s){for(var h=o(i[0],s[0]),c=1;c>1,F=h(u[z],y);F<=0?(F===0&&(L=z),f=z+1):F>0&&(R=z-1)}return L}t.findCell=T;function l(u,y){for(var f=new Array(u.length),R=0,L=f.length;R=u.length||h(u[$],z)!==0););}return f}t.incidence=l;function _(u,y){if(!y)return l(p(A(u,0)),u,0);for(var f=new Array(y),R=0;R>>P&1&&O.push(L[P]);y.push(O)}return m(y)}t.explode=w;function A(u,y){if(y<0)return[];for(var f=[],R=(1<0}b=b.filter(d);for(var u=b.length,y=new Array(u),f=new Array(u),g=0;g0;){var re=ae.pop(),ce=se[re];h(ce,function(Ze,at){return Ze-at});var be=ce.length,Ae=j[re],De;if(Ae===0){var O=b[re];De=[O]}for(var g=0;g=0)&&(j[ze]=Ae^1,ae.push(ze),Ae===0)){var O=b[ze];oe(O)||(O.reverse(),De.push(O))}}Ae===0&&Q.push(De)}return Q}},2145:function(e,t){\"use strict\";t.uniforms=n,t.attributes=i;var r={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\"},o=null;function a(s,h){if(!o){var c=Object.keys(r);o={};for(var m=0;m1)for(var _=0;_1&&F.drawBuffersWEBGL(a[z]);var B=y.getExtension(\"WEBGL_depth_texture\");B?N?d.depth=l(y,R,L,B.UNSIGNED_INT_24_8_WEBGL,y.DEPTH_STENCIL,y.DEPTH_STENCIL_ATTACHMENT):O&&(d.depth=l(y,R,L,y.UNSIGNED_SHORT,y.DEPTH_COMPONENT,y.DEPTH_ATTACHMENT)):O&&N?d._depth_rb=_(y,R,L,y.DEPTH_STENCIL,y.DEPTH_STENCIL_ATTACHMENT):O?d._depth_rb=_(y,R,L,y.DEPTH_COMPONENT16,y.DEPTH_ATTACHMENT):N&&(d._depth_rb=_(y,R,L,y.STENCIL_INDEX,y.STENCIL_ATTACHMENT));var X=y.checkFramebufferStatus(y.FRAMEBUFFER);if(X!==y.FRAMEBUFFER_COMPLETE){d._destroyed=!0,y.bindFramebuffer(y.FRAMEBUFFER,null),y.deleteFramebuffer(d.handle),d.handle=null,d.depth&&(d.depth.dispose(),d.depth=null),d._depth_rb&&(y.deleteRenderbuffer(d._depth_rb),d._depth_rb=null);for(var U=0;UR||y<0||y>R)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");d._shape[0]=u,d._shape[1]=y;for(var L=c(f),z=0;zL||y<0||y>L)throw new Error(\"gl-fbo: Parameters are too large for FBO\");f=f||{};var z=1;if(\"color\"in f){if(z=Math.max(f.color|0,0),z<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(z>1)if(R){if(z>d.getParameter(R.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+z+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var F=d.UNSIGNED_BYTE,N=d.getExtension(\"OES_texture_float\");if(f.float&&z>0){if(!N)throw new Error(\"gl-fbo: Context does not support floating point textures\");F=d.FLOAT}else f.preferFloat&&z>0&&N&&(F=d.FLOAT);var O=!0;\"depth\"in f&&(O=!!f.depth);var P=!1;return\"stencil\"in f&&(P=!!f.stencil),new A(d,u,y,F,z,O,P,R)}},2272:function(e,t,r){\"use strict\";var o=r(2646)[4],a=r(2478);e.exports=i;function n(s,h,c,m,p,T){var l=h.opposite(m,p);if(!(l<0)){if(p0;){for(var w=c.pop(),T=c.pop(),A=-1,M=-1,l=p[T],b=1;b=0||(h.flip(T,w),n(s,h,c,A,T,M),n(s,h,c,T,M,A),n(s,h,c,M,w,A),n(s,h,c,w,A,M))}}},2334:function(e){e.exports=t;function t(r,o,a){return r[0]=Math.min(o[0],a[0]),r[1]=Math.min(o[1],a[1]),r[2]=Math.min(o[2],a[2]),r[3]=Math.min(o[3],a[3]),r}},2335:function(e){e.exports=t;function t(r){var o=new Float32Array(4);return o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],o}},2361:function(e){var t=!1;if(typeof Float64Array<\"u\"){var r=new Float64Array(1),o=new Uint32Array(r.buffer);if(r[0]=1,t=!0,o[1]===1072693248){let _=function(M,g){return o[0]=M,o[1]=g,r[0]},w=function(M){return r[0]=M,o[0]},A=function(M){return r[0]=M,o[1]};var a=_,n=w,i=A;e.exports=function(g){return r[0]=g,[o[0],o[1]]},e.exports.pack=_,e.exports.lo=w,e.exports.hi=A}else if(o[0]===1072693248){let _=function(M,g){return o[1]=M,o[0]=g,r[0]},w=function(M){return r[0]=M,o[1]},A=function(M){return r[0]=M,o[0]};var s=_,h=w,c=A;e.exports=function(g){return r[0]=g,[o[1],o[0]]},e.exports.pack=_,e.exports.lo=w,e.exports.hi=A}else t=!1}if(!t){let _=function(M,g){return l.writeUInt32LE(M,0,!0),l.writeUInt32LE(g,4,!0),l.readDoubleLE(0,!0)},w=function(M){return l.writeDoubleLE(M,0,!0),l.readUInt32LE(0,!0)},A=function(M){return l.writeDoubleLE(M,0,!0),l.readUInt32LE(4,!0)};var m=_,p=w,T=A,l=new Buffer(8);e.exports=function(g){return l.writeDoubleLE(g,0,!0),[l.readUInt32LE(0,!0),l.readUInt32LE(4,!0)]},e.exports.pack=_,e.exports.lo=w,e.exports.hi=A}e.exports.sign=function(_){return e.exports.hi(_)>>>31},e.exports.exponent=function(_){var w=e.exports.hi(_);return(w<<1>>>21)-1023},e.exports.fraction=function(_){var w=e.exports.lo(_),A=e.exports.hi(_),M=A&(1<<20)-1;return A&2146435072&&(M+=1048576),[w,M]},e.exports.denormalized=function(_){var w=e.exports.hi(_);return!(w&2146435072)}},2408:function(e){e.exports=t;function t(r,o,a){var n=Math.sin(a),i=Math.cos(a),s=o[0],h=o[1],c=o[2],m=o[3],p=o[8],T=o[9],l=o[10],_=o[11];return o!==r&&(r[4]=o[4],r[5]=o[5],r[6]=o[6],r[7]=o[7],r[12]=o[12],r[13]=o[13],r[14]=o[14],r[15]=o[15]),r[0]=s*i-p*n,r[1]=h*i-T*n,r[2]=c*i-l*n,r[3]=m*i-_*n,r[8]=s*n+p*i,r[9]=h*n+T*i,r[10]=c*n+l*i,r[11]=m*n+_*i,r}},2419:function(e){\"use strict\";e.exports=t;function t(r){for(var o=1,a=1;aA-w?n(h,c,m,p,T,l,_,w,A,M,g):i(h,c,m,p,T,l,_,w,A,M,g)}return s}function o(){function n(m,p,T,l,_,w,A,M,g,b,d){for(var u=2*m,y=l,f=u*l;y<_;++y,f+=u){var R=w[p+f],L=w[p+f+m],z=A[y];e:for(var F=M,N=u*M;Fb-g?l?n(m,p,T,_,w,A,M,g,b,d,u):i(m,p,T,_,w,A,M,g,b,d,u):l?s(m,p,T,_,w,A,M,g,b,d,u):h(m,p,T,_,w,A,M,g,b,d,u)}return c}function a(n){return n?r():o()}t.partial=a(!1),t.full=a(!0)},2478:function(e){\"use strict\";function t(s,h,c,m,p){for(var T=p+1;m<=p;){var l=m+p>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w>=0?(T=l,p=l-1):m=l+1}return T}function r(s,h,c,m,p){for(var T=p+1;m<=p;){var l=m+p>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w>0?(T=l,p=l-1):m=l+1}return T}function o(s,h,c,m,p){for(var T=m-1;m<=p;){var l=m+p>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w<0?(T=l,m=l+1):p=l-1}return T}function a(s,h,c,m,p){for(var T=m-1;m<=p;){var l=m+p>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w<=0?(T=l,m=l+1):p=l-1}return T}function n(s,h,c,m,p){for(;m<=p;){var T=m+p>>>1,l=s[T],_=c!==void 0?c(l,h):l-h;if(_===0)return T;_<=0?m=T+1:p=T-1}return-1}function i(s,h,c,m,p,T){return typeof c==\"function\"?T(s,h,c,m===void 0?0:m|0,p===void 0?s.length-1:p|0):T(s,h,void 0,c===void 0?0:c|0,m===void 0?s.length-1:m|0)}e.exports={ge:function(s,h,c,m,p){return i(s,h,c,m,p,t)},gt:function(s,h,c,m,p){return i(s,h,c,m,p,r)},lt:function(s,h,c,m,p){return i(s,h,c,m,p,o)},le:function(s,h,c,m,p){return i(s,h,c,m,p,a)},eq:function(s,h,c,m,p){return i(s,h,c,m,p,n)}}},2504:function(e){e.exports=t;function t(r,o,a){var n=a[0],i=a[1],s=a[2];return r[0]=o[0]*n,r[1]=o[1]*n,r[2]=o[2]*n,r[3]=o[3]*n,r[4]=o[4]*i,r[5]=o[5]*i,r[6]=o[6]*i,r[7]=o[7]*i,r[8]=o[8]*s,r[9]=o[9]*s,r[10]=o[10]*s,r[11]=o[11]*s,r[12]=o[12],r[13]=o[13],r[14]=o[14],r[15]=o[15],r}},2538:function(e,t,r){\"use strict\";var o=r(8902),a=r(5542),n=r(2272),i=r(5023);e.exports=p;function s(T){return[Math.min(T[0],T[1]),Math.max(T[0],T[1])]}function h(T,l){return T[0]-l[0]||T[1]-l[1]}function c(T){return T.map(s).sort(h)}function m(T,l,_){return l in T?T[l]:_}function p(T,l,_){Array.isArray(l)?(_=_||{},l=l||[]):(_=l||{},l=[]);var w=!!m(_,\"delaunay\",!0),A=!!m(_,\"interior\",!0),M=!!m(_,\"exterior\",!0),g=!!m(_,\"infinity\",!1);if(!A&&!M||T.length===0)return[];var b=o(T,l);if(w||A!==M||g){for(var d=a(T.length,c(l)),u=0;u0){if(se=1,V[ee++]=m(d[R],w,A,M),R+=B,g>0)for($=1,L=d[R],q=V[ee]=m(L,w,A,M),j=V[ee+oe],ce=V[ee+Q],De=V[ee+be],(q!==j||q!==ce||q!==De)&&(F=d[R+z],O=d[R+N],U=d[R+P],h($,se,L,F,O,U,q,j,ce,De,w,A,M),ze=Y[ee]=le++),ee+=1,R+=B,$=2;$0)for($=1,L=d[R],q=V[ee]=m(L,w,A,M),j=V[ee+oe],ce=V[ee+Q],De=V[ee+be],(q!==j||q!==ce||q!==De)&&(F=d[R+z],O=d[R+N],U=d[R+P],h($,se,L,F,O,U,q,j,ce,De,w,A,M),ze=Y[ee]=le++,De!==ce&&c(Y[ee+Q],ze,O,U,ce,De,w,A,M)),ee+=1,R+=B,$=2;$0){if($=1,V[ee++]=m(d[R],w,A,M),R+=B,b>0)for(se=1,L=d[R],q=V[ee]=m(L,w,A,M),ce=V[ee+Q],j=V[ee+oe],De=V[ee+be],(q!==ce||q!==j||q!==De)&&(F=d[R+z],O=d[R+N],U=d[R+P],h($,se,L,F,O,U,q,ce,j,De,w,A,M),ze=Y[ee]=le++),ee+=1,R+=B,se=2;se0)for(se=1,L=d[R],q=V[ee]=m(L,w,A,M),ce=V[ee+Q],j=V[ee+oe],De=V[ee+be],(q!==ce||q!==j||q!==De)&&(F=d[R+z],O=d[R+N],U=d[R+P],h($,se,L,F,O,U,q,ce,j,De,w,A,M),ze=Y[ee]=le++,De!==ce&&c(Y[ee+Q],ze,U,F,De,ce,w,A,M)),ee+=1,R+=B,se=2;se 0\"),typeof s.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof s.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof s.phase!=\"function\"&&h(\"Must specify phase function\");for(var T=s.getters||[],l=new Array(m),_=0;_=0?l[_]=!0:l[_]=!1;return n(s.vertex,s.cell,s.phase,p,c,l)}},2642:function(e,t,r){\"use strict\";e.exports=n;var o=r(727);function a(i){for(var s=0,h=0;hl[1][2]&&(R[0]=-R[0]),l[0][2]>l[2][0]&&(R[1]=-R[1]),l[1][0]>l[0][1]&&(R[2]=-R[2]),!0};function w(g,b,d){var u=b[0],y=b[1],f=b[2],R=b[3];return g[0]=d[0]*u+d[4]*y+d[8]*f+d[12]*R,g[1]=d[1]*u+d[5]*y+d[9]*f+d[13]*R,g[2]=d[2]*u+d[6]*y+d[10]*f+d[14]*R,g[3]=d[3]*u+d[7]*y+d[11]*f+d[15]*R,g}function A(g,b){g[0][0]=b[0],g[0][1]=b[1],g[0][2]=b[2],g[1][0]=b[4],g[1][1]=b[5],g[1][2]=b[6],g[2][0]=b[8],g[2][1]=b[9],g[2][2]=b[10]}function M(g,b,d,u,y){g[0]=b[0]*u+d[0]*y,g[1]=b[1]*u+d[1]*y,g[2]=b[2]*u+d[2]*y}},2653:function(e,t,r){\"use strict\";var o=r(3865);e.exports=a;function a(n,i){for(var s=n.length,h=new Array(s),c=0;c=c[A]&&(w+=1);l[_]=w}}return h}function s(h,c){try{return o(h,!0)}catch{var m=a(h);if(m.length<=c)return[];var p=n(h,m),T=o(p,!0);return i(T,m)}}},2762:function(e,t,r){\"use strict\";var o=r(1888),a=r(5298),n=r(9618),i=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function s(l,_,w,A,M){this.gl=l,this.type=_,this.handle=w,this.length=A,this.usage=M}var h=s.prototype;h.bind=function(){this.gl.bindBuffer(this.type,this.handle)},h.unbind=function(){this.gl.bindBuffer(this.type,null)},h.dispose=function(){this.gl.deleteBuffer(this.handle)};function c(l,_,w,A,M,g){var b=M.length*M.BYTES_PER_ELEMENT;if(g<0)return l.bufferData(_,M,A),b;if(b+g>w)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return l.bufferSubData(_,g,M),w}function m(l,_){for(var w=o.malloc(l.length,_),A=l.length,M=0;M=0;--A){if(_[A]!==w)return!1;w*=l[A]}return!0}h.update=function(l,_){if(typeof _!=\"number\"&&(_=-1),this.bind(),typeof l==\"object\"&&typeof l.shape<\"u\"){var w=l.dtype;if(i.indexOf(w)<0&&(w=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension(\"OES_element_index_uint\");A&&w!==\"uint16\"?w=\"uint32\":w=\"uint16\"}if(w===l.dtype&&p(l.shape,l.stride))l.offset===0&&l.data.length===l.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,l.data,_):this.length=c(this.gl,this.type,this.length,this.usage,l.data.subarray(l.offset,l.shape[0]),_);else{var M=o.malloc(l.size,w),g=n(M,l.shape);a.assign(g,l),_<0?this.length=c(this.gl,this.type,this.length,this.usage,M,_):this.length=c(this.gl,this.type,this.length,this.usage,M.subarray(0,l.size),_),o.free(M)}}else if(Array.isArray(l)){var b;this.type===this.gl.ELEMENT_ARRAY_BUFFER?b=m(l,\"uint16\"):b=m(l,\"float32\"),_<0?this.length=c(this.gl,this.type,this.length,this.usage,b,_):this.length=c(this.gl,this.type,this.length,this.usage,b.subarray(0,l.length),_),o.free(b)}else if(typeof l==\"object\"&&typeof l.length==\"number\")this.length=c(this.gl,this.type,this.length,this.usage,l,_);else if(typeof l==\"number\"||l===void 0){if(_>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");l=l|0,l<=0&&(l=1),this.gl.bufferData(this.type,l|0,this.usage),this.length=l}else throw new Error(\"gl-buffer: Invalid data type\")};function T(l,_,w,A){if(w=w||l.ARRAY_BUFFER,A=A||l.DYNAMIC_DRAW,w!==l.ARRAY_BUFFER&&w!==l.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(A!==l.DYNAMIC_DRAW&&A!==l.STATIC_DRAW&&A!==l.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 M=l.createBuffer(),g=new s(l,w,M,0,A);return g.update(_),g}e.exports=T},2825:function(e){e.exports=t;function t(r,o,a){var n=new Float32Array(3);return n[0]=r,n[1]=o,n[2]=a,n}},2931:function(e,t,r){e.exports={EPSILON:r(2613),create:r(1091),clone:r(3126),angle:r(8192),fromValues:r(2825),copy:r(3990),set:r(1463),equals:r(9922),exactEquals:r(9265),add:r(5632),subtract:r(6843),sub:r(2229),multiply:r(5847),mul:r(4505),divide:r(6690),div:r(4008),min:r(8107),max:r(7417),floor:r(2681),ceil:r(9226),round:r(2447),scale:r(6621),scaleAndAdd:r(8489),distance:r(7056),dist:r(5455),squaredDistance:r(2953),sqrDist:r(6141),length:r(1387),len:r(868),squaredLength:r(3066),sqrLen:r(5486),negate:r(5093),inverse:r(811),normalize:r(3536),dot:r(244),cross:r(5911),lerp:r(6658),random:r(7636),transformMat4:r(5673),transformMat3:r(492),transformQuat:r(264),rotateX:r(6894),rotateY:r(109),rotateZ:r(8692),forEach:r(5137)}},2933:function(e){e.exports=t;function t(r,o){return r[0]=o[0],r[1]=o[1],r[2]=o[2],r[3]=o[3],r}},2953:function(e){e.exports=t;function t(r,o){var a=o[0]-r[0],n=o[1]-r[1],i=o[2]-r[2];return a*a+n*n+i*i}},2962:function(e,t,r){\"use strict\";var o=r(5250),a=r(8210),n=r(3012),i=r(7004),s=6;function h(A,M,g,b){return function(u){return b(A(g(u[0][0],u[1][1]),g(-u[0][1],u[1][0])))}}function c(A,M,g,b){return function(u){return b(A(M(A(g(u[1][1],u[2][2]),g(-u[1][2],u[2][1])),u[0][0]),A(M(A(g(u[1][0],u[2][2]),g(-u[1][2],u[2][0])),-u[0][1]),M(A(g(u[1][0],u[2][1]),g(-u[1][1],u[2][0])),u[0][2]))))}}function m(A,M,g,b){return function(u){return b(A(A(M(A(M(A(g(u[2][2],u[3][3]),g(-u[2][3],u[3][2])),u[1][1]),A(M(A(g(u[2][1],u[3][3]),g(-u[2][3],u[3][1])),-u[1][2]),M(A(g(u[2][1],u[3][2]),g(-u[2][2],u[3][1])),u[1][3]))),u[0][0]),M(A(M(A(g(u[2][2],u[3][3]),g(-u[2][3],u[3][2])),u[1][0]),A(M(A(g(u[2][0],u[3][3]),g(-u[2][3],u[3][0])),-u[1][2]),M(A(g(u[2][0],u[3][2]),g(-u[2][2],u[3][0])),u[1][3]))),-u[0][1])),A(M(A(M(A(g(u[2][1],u[3][3]),g(-u[2][3],u[3][1])),u[1][0]),A(M(A(g(u[2][0],u[3][3]),g(-u[2][3],u[3][0])),-u[1][1]),M(A(g(u[2][0],u[3][1]),g(-u[2][1],u[3][0])),u[1][3]))),u[0][2]),M(A(M(A(g(u[2][1],u[3][2]),g(-u[2][2],u[3][1])),u[1][0]),A(M(A(g(u[2][0],u[3][2]),g(-u[2][2],u[3][0])),-u[1][1]),M(A(g(u[2][0],u[3][1]),g(-u[2][1],u[3][0])),u[1][2]))),-u[0][3]))))}}function p(A,M,g,b){return function(u){return b(A(A(M(A(A(M(A(M(A(g(u[3][3],u[4][4]),g(-u[3][4],u[4][3])),u[2][2]),A(M(A(g(u[3][2],u[4][4]),g(-u[3][4],u[4][2])),-u[2][3]),M(A(g(u[3][2],u[4][3]),g(-u[3][3],u[4][2])),u[2][4]))),u[1][1]),M(A(M(A(g(u[3][3],u[4][4]),g(-u[3][4],u[4][3])),u[2][1]),A(M(A(g(u[3][1],u[4][4]),g(-u[3][4],u[4][1])),-u[2][3]),M(A(g(u[3][1],u[4][3]),g(-u[3][3],u[4][1])),u[2][4]))),-u[1][2])),A(M(A(M(A(g(u[3][2],u[4][4]),g(-u[3][4],u[4][2])),u[2][1]),A(M(A(g(u[3][1],u[4][4]),g(-u[3][4],u[4][1])),-u[2][2]),M(A(g(u[3][1],u[4][2]),g(-u[3][2],u[4][1])),u[2][4]))),u[1][3]),M(A(M(A(g(u[3][2],u[4][3]),g(-u[3][3],u[4][2])),u[2][1]),A(M(A(g(u[3][1],u[4][3]),g(-u[3][3],u[4][1])),-u[2][2]),M(A(g(u[3][1],u[4][2]),g(-u[3][2],u[4][1])),u[2][3]))),-u[1][4]))),u[0][0]),M(A(A(M(A(M(A(g(u[3][3],u[4][4]),g(-u[3][4],u[4][3])),u[2][2]),A(M(A(g(u[3][2],u[4][4]),g(-u[3][4],u[4][2])),-u[2][3]),M(A(g(u[3][2],u[4][3]),g(-u[3][3],u[4][2])),u[2][4]))),u[1][0]),M(A(M(A(g(u[3][3],u[4][4]),g(-u[3][4],u[4][3])),u[2][0]),A(M(A(g(u[3][0],u[4][4]),g(-u[3][4],u[4][0])),-u[2][3]),M(A(g(u[3][0],u[4][3]),g(-u[3][3],u[4][0])),u[2][4]))),-u[1][2])),A(M(A(M(A(g(u[3][2],u[4][4]),g(-u[3][4],u[4][2])),u[2][0]),A(M(A(g(u[3][0],u[4][4]),g(-u[3][4],u[4][0])),-u[2][2]),M(A(g(u[3][0],u[4][2]),g(-u[3][2],u[4][0])),u[2][4]))),u[1][3]),M(A(M(A(g(u[3][2],u[4][3]),g(-u[3][3],u[4][2])),u[2][0]),A(M(A(g(u[3][0],u[4][3]),g(-u[3][3],u[4][0])),-u[2][2]),M(A(g(u[3][0],u[4][2]),g(-u[3][2],u[4][0])),u[2][3]))),-u[1][4]))),-u[0][1])),A(M(A(A(M(A(M(A(g(u[3][3],u[4][4]),g(-u[3][4],u[4][3])),u[2][1]),A(M(A(g(u[3][1],u[4][4]),g(-u[3][4],u[4][1])),-u[2][3]),M(A(g(u[3][1],u[4][3]),g(-u[3][3],u[4][1])),u[2][4]))),u[1][0]),M(A(M(A(g(u[3][3],u[4][4]),g(-u[3][4],u[4][3])),u[2][0]),A(M(A(g(u[3][0],u[4][4]),g(-u[3][4],u[4][0])),-u[2][3]),M(A(g(u[3][0],u[4][3]),g(-u[3][3],u[4][0])),u[2][4]))),-u[1][1])),A(M(A(M(A(g(u[3][1],u[4][4]),g(-u[3][4],u[4][1])),u[2][0]),A(M(A(g(u[3][0],u[4][4]),g(-u[3][4],u[4][0])),-u[2][1]),M(A(g(u[3][0],u[4][1]),g(-u[3][1],u[4][0])),u[2][4]))),u[1][3]),M(A(M(A(g(u[3][1],u[4][3]),g(-u[3][3],u[4][1])),u[2][0]),A(M(A(g(u[3][0],u[4][3]),g(-u[3][3],u[4][0])),-u[2][1]),M(A(g(u[3][0],u[4][1]),g(-u[3][1],u[4][0])),u[2][3]))),-u[1][4]))),u[0][2]),A(M(A(A(M(A(M(A(g(u[3][2],u[4][4]),g(-u[3][4],u[4][2])),u[2][1]),A(M(A(g(u[3][1],u[4][4]),g(-u[3][4],u[4][1])),-u[2][2]),M(A(g(u[3][1],u[4][2]),g(-u[3][2],u[4][1])),u[2][4]))),u[1][0]),M(A(M(A(g(u[3][2],u[4][4]),g(-u[3][4],u[4][2])),u[2][0]),A(M(A(g(u[3][0],u[4][4]),g(-u[3][4],u[4][0])),-u[2][2]),M(A(g(u[3][0],u[4][2]),g(-u[3][2],u[4][0])),u[2][4]))),-u[1][1])),A(M(A(M(A(g(u[3][1],u[4][4]),g(-u[3][4],u[4][1])),u[2][0]),A(M(A(g(u[3][0],u[4][4]),g(-u[3][4],u[4][0])),-u[2][1]),M(A(g(u[3][0],u[4][1]),g(-u[3][1],u[4][0])),u[2][4]))),u[1][2]),M(A(M(A(g(u[3][1],u[4][2]),g(-u[3][2],u[4][1])),u[2][0]),A(M(A(g(u[3][0],u[4][2]),g(-u[3][2],u[4][0])),-u[2][1]),M(A(g(u[3][0],u[4][1]),g(-u[3][1],u[4][0])),u[2][2]))),-u[1][4]))),-u[0][3]),M(A(A(M(A(M(A(g(u[3][2],u[4][3]),g(-u[3][3],u[4][2])),u[2][1]),A(M(A(g(u[3][1],u[4][3]),g(-u[3][3],u[4][1])),-u[2][2]),M(A(g(u[3][1],u[4][2]),g(-u[3][2],u[4][1])),u[2][3]))),u[1][0]),M(A(M(A(g(u[3][2],u[4][3]),g(-u[3][3],u[4][2])),u[2][0]),A(M(A(g(u[3][0],u[4][3]),g(-u[3][3],u[4][0])),-u[2][2]),M(A(g(u[3][0],u[4][2]),g(-u[3][2],u[4][0])),u[2][3]))),-u[1][1])),A(M(A(M(A(g(u[3][1],u[4][3]),g(-u[3][3],u[4][1])),u[2][0]),A(M(A(g(u[3][0],u[4][3]),g(-u[3][3],u[4][0])),-u[2][1]),M(A(g(u[3][0],u[4][1]),g(-u[3][1],u[4][0])),u[2][3]))),u[1][2]),M(A(M(A(g(u[3][1],u[4][2]),g(-u[3][2],u[4][1])),u[2][0]),A(M(A(g(u[3][0],u[4][2]),g(-u[3][2],u[4][0])),-u[2][1]),M(A(g(u[3][0],u[4][1]),g(-u[3][1],u[4][0])),u[2][2]))),-u[1][3]))),u[0][4])))))}}function T(A){var M=A===2?h:A===3?c:A===4?m:A===5?p:void 0;return M(a,n,o,i)}var l=[function(){return[0]},function(M){return[M[0][0]]}];function _(A,M,g,b,d,u,y,f){return function(L){switch(L.length){case 0:return A(L);case 1:return M(L);case 2:return g(L);case 3:return b(L);case 4:return d(L);case 5:return u(L)}var z=y[L.length];return z||(z=y[L.length]=f(L.length)),z(L)}}function w(){for(;l.length0){R=c[F][y][0],z=F;break}L=R[z^1];for(var N=0;N<2;++N)for(var O=c[N][y],P=0;P0&&(R=U,L=B,z=N)}return f||R&&l(R,z),L}function w(u,y){var f=c[y][u][0],R=[u];l(f,y);for(var L=f[y^1],z=y;;){for(;L!==u;)R.push(L),L=_(R[R.length-2],L,!1);if(c[0][u].length+c[1][u].length===0)break;var F=R[R.length-1],N=u,O=R[1],P=_(F,N,!0);if(o(i[F],i[N],i[O],i[P])<0)break;R.push(u),L=_(F,N)}return R}function A(u,y){return y[1]===y[y.length-1]}for(var m=0;m0;){var b=c[0][m].length,d=w(m,M);A(g,d)?g.push.apply(g,d):(g.length>0&&T.push(g),g=d)}g.length>0&&T.push(g)}return T}},3090:function(e,t,r){\"use strict\";e.exports=a;var o=r(3250)[3];function a(n){var i=n.length;if(i<3){for(var _=new Array(i),s=0;s1&&o(n[c[l-2]],n[c[l-1]],T)<=0;)l-=1,c.pop();for(c.push(p),l=m.length;l>1&&o(n[m[l-2]],n[m[l-1]],T)>=0;)l-=1,m.pop();m.push(p)}for(var _=new Array(m.length+c.length-2),w=0,s=0,A=c.length;s0;--M)_[w++]=m[M];return _}},3105:function(e,t){\"use strict\";\"use restrict\";var r=32;t.INT_BITS=r,t.INT_MAX=2147483647,t.INT_MIN=-1<0)-(n<0)},t.abs=function(n){var i=n>>r-1;return(n^i)-i},t.min=function(n,i){return i^(n^i)&-(n65535)<<4,n>>>=i,s=(n>255)<<3,n>>>=s,i|=s,s=(n>15)<<2,n>>>=s,i|=s,s=(n>3)<<1,n>>>=s,i|=s,i|n>>1},t.log10=function(n){return n>=1e9?9:n>=1e8?8:n>=1e7?7:n>=1e6?6:n>=1e5?5:n>=1e4?4:n>=1e3?3:n>=100?2:n>=10?1:0},t.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function o(n){var i=32;return n&=-n,n&&i--,n&65535&&(i-=16),n&16711935&&(i-=8),n&252645135&&(i-=4),n&858993459&&(i-=2),n&1431655765&&(i-=1),i}t.countTrailingZeros=o,t.nextPow2=function(n){return n+=n===0,--n,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n+1},t.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},t.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var a=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,h=i,c=7;for(s>>>=1;s;s>>>=1)h<<=1,h|=s&1,--c;n[i]=h<>>8&255]<<16|a[n>>>16&255]<<8|a[n>>>24&255]},t.interleave2=function(n,i){return n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,i&=65535,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,n|i<<1},t.deinterleave2=function(n,i){return n=n>>>i&1431655765,n=(n|n>>>1)&858993459,n=(n|n>>>2)&252645135,n=(n|n>>>4)&16711935,n=(n|n>>>16)&65535,n<<16>>16},t.interleave3=function(n,i,s){return n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,i&=1023,i=(i|i<<16)&4278190335,i=(i|i<<8)&251719695,i=(i|i<<4)&3272356035,i=(i|i<<2)&1227133513,n|=i<<1,s&=1023,s=(s|s<<16)&4278190335,s=(s|s<<8)&251719695,s=(s|s<<4)&3272356035,s=(s|s<<2)&1227133513,n|s<<2},t.deinterleave3=function(n,i){return n=n>>>i&1227133513,n=(n|n>>>2)&3272356035,n=(n|n>>>4)&251719695,n=(n|n>>>8)&4278190335,n=(n|n>>>16)&1023,n<<22>>22},t.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>o(n)+1}},3126:function(e){e.exports=t;function t(r){var o=new Float32Array(3);return o[0]=r[0],o[1]=r[1],o[2]=r[2],o}},3134:function(e,t,r){\"use strict\";e.exports=a;var o=r(1682);function a(n,i){var s=n.length;if(typeof i!=\"number\"){i=0;for(var h=0;h=0}function c(m,p,T,l){var _=o(p,T,l);if(_===0){var w=a(o(m,p,T)),A=a(o(m,p,l));if(w===A){if(w===0){var M=h(m,p,T),g=h(m,p,l);return M===g?0:M?1:-1}return 0}else{if(A===0)return w>0||h(m,p,l)?-1:1;if(w===0)return A>0||h(m,p,T)?1:-1}return a(A-w)}var b=o(m,p,T);if(b>0)return _>0&&o(m,p,l)>0?1:-1;if(b<0)return _>0||o(m,p,l)>0?1:-1;var d=o(m,p,l);return d>0||h(m,p,T)?1:-1}},3202:function(e){e.exports=function(r,o){o||(o=[0,\"\"]),r=String(r);var a=parseFloat(r,10);return o[0]=a,o[1]=r.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",o}},3233:function(e){\"use strict\";var t=\"\",r;e.exports=o;function o(a,n){if(typeof a!=\"string\")throw new TypeError(\"expected a string\");if(n===1)return a;if(n===2)return a+a;var i=a.length*n;if(r!==a||typeof r>\"u\")r=a,t=\"\";else if(t.length>=i)return t.substr(0,i);for(;i>t.length&&n>1;)n&1&&(t+=a),n>>=1,a+=a;return t+=a,t=t.substr(0,i),t}},3236:function(e){e.exports=function(t){typeof t==\"string\"&&(t=[t]);for(var r=[].slice.call(arguments,1),o=[],a=0;a0){if(z<=0)return F;N=L+z}else if(L<0){if(z>=0)return F;N=-(L+z)}else return F;var O=c*N;return F>=O||F<=-O?F:w(y,f,R)},function(y,f,R,L){var z=y[0]-L[0],F=f[0]-L[0],N=R[0]-L[0],O=y[1]-L[1],P=f[1]-L[1],U=R[1]-L[1],B=y[2]-L[2],X=f[2]-L[2],$=R[2]-L[2],se=F*U,le=N*P,fe=N*O,V=z*U,Y=z*P,ee=F*O,q=B*(se-le)+X*(fe-V)+$*(Y-ee),oe=(Math.abs(se)+Math.abs(le))*Math.abs(B)+(Math.abs(fe)+Math.abs(V))*Math.abs(X)+(Math.abs(Y)+Math.abs(ee))*Math.abs($),ae=m*oe;return q>ae||-q>ae?q:A(y,f,R,L)}];function g(u){var y=M[u.length];return y||(y=M[u.length]=_(u.length)),y.apply(void 0,u)}function b(u,y,f,R,L,z,F){return function(O,P,U,B,X){switch(arguments.length){case 0:case 1:return 0;case 2:return R(O,P);case 3:return L(O,P,U);case 4:return z(O,P,U,B);case 5:return F(O,P,U,B,X)}for(var $=new Array(arguments.length),se=0;se4)throw new a(\"\",\"Invalid data type\");switch(B.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+X+\"iv\"](p[z],F);break;case\"v\":h[\"uniform\"+X+\"fv\"](p[z],F);break;default:throw new a(\"\",\"Unrecognized data type for vector \"+name+\": \"+B)}}else if(B.indexOf(\"mat\")===0&&B.length===4){if(X=B.charCodeAt(B.length-1)-48,X<2||X>4)throw new a(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+B);h[\"uniformMatrix\"+X+\"fv\"](p[z],!1,F);break}else throw new a(\"\",\"Unknown uniform data type for \"+name+\": \"+B)}}}}}function _(b,d){if(typeof d!=\"object\")return[[b,d]];var u=[];for(var y in d){var f=d[y],R=b;parseInt(y)+\"\"===y?R+=\"[\"+y+\"]\":R+=\".\"+y,typeof f==\"object\"?u.push.apply(u,_(R,f)):u.push([R,f])}return u}function w(b){switch(b){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var d=b.indexOf(\"vec\");if(0<=d&&d<=1&&b.length===4+d){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new a(\"\",\"Invalid data type\");return b.charAt(0)===\"b\"?i(u,!1):i(u,0)}else if(b.indexOf(\"mat\")===0&&b.length===4){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new a(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+b);return i(u*u,0)}else throw new a(\"\",\"Unknown uniform data type for \"+name+\": \"+b)}}function A(b,d,u){if(typeof u==\"object\"){var y=M(u);Object.defineProperty(b,d,{get:n(y),set:l(u),enumerable:!0,configurable:!1})}else p[u]?Object.defineProperty(b,d,{get:T(u),set:l(u),enumerable:!0,configurable:!1}):b[d]=w(m[u].type)}function M(b){var d;if(Array.isArray(b)){d=new Array(b.length);for(var u=0;u=0!=d>=0&&p.push(w[0]+.5+.5*(b+d)/(b-d))}m+=g,++w[0]}}}function r(){return t()}var o=r;function a(s){var h={};return function(m,p,T){var l=m.dtype,_=m.order,w=[l,_.join()].join(),A=h[w];return A||(h[w]=A=s([l,_])),A(m.shape.slice(0),m.data,m.stride,m.offset|0,p,T)}}function n(s){return a(o.bind(void 0,s))}function i(s){return n({funcName:s.funcName})}e.exports=i({funcName:\"zeroCrossings\"})},3352:function(e,t,r){\"use strict\";var o=r(2478),a=0,n=1,i=2;e.exports=y;function s(f,R,L,z,F){this.mid=f,this.left=R,this.right=L,this.leftPoints=z,this.rightPoints=F,this.count=(R?R.count:0)+(L?L.count:0)+z.length}var h=s.prototype;function c(f,R){f.mid=R.mid,f.left=R.left,f.right=R.right,f.leftPoints=R.leftPoints,f.rightPoints=R.rightPoints,f.count=R.count}function m(f,R){var L=b(R);f.mid=L.mid,f.left=L.left,f.right=L.right,f.leftPoints=L.leftPoints,f.rightPoints=L.rightPoints,f.count=L.count}function p(f,R){var L=f.intervals([]);L.push(R),m(f,L)}function T(f,R){var L=f.intervals([]),z=L.indexOf(R);return z<0?a:(L.splice(z,1),m(f,L),n)}h.intervals=function(f){return f.push.apply(f,this.leftPoints),this.left&&this.left.intervals(f),this.right&&this.right.intervals(f),f},h.insert=function(f){var R=this.count-this.leftPoints.length;if(this.count+=1,f[1]3*(R+1)?p(this,f):this.left.insert(f):this.left=b([f]);else if(f[0]>this.mid)this.right?4*(this.right.count+1)>3*(R+1)?p(this,f):this.right.insert(f):this.right=b([f]);else{var L=o.ge(this.leftPoints,f,M),z=o.ge(this.rightPoints,f,g);this.leftPoints.splice(L,0,f),this.rightPoints.splice(z,0,f)}},h.remove=function(f){var R=this.count-this.leftPoints;if(f[1]3*(R-1))return T(this,f);var z=this.left.remove(f);return z===i?(this.left=null,this.count-=1,n):(z===n&&(this.count-=1),z)}else if(f[0]>this.mid){if(!this.right)return a;var F=this.left?this.left.count:0;if(4*F>3*(R-1))return T(this,f);var z=this.right.remove(f);return z===i?(this.right=null,this.count-=1,n):(z===n&&(this.count-=1),z)}else{if(this.count===1)return this.leftPoints[0]===f?i:a;if(this.leftPoints.length===1&&this.leftPoints[0]===f){if(this.left&&this.right){for(var N=this,O=this.left;O.right;)N=O,O=O.right;if(N===this)O.right=this.right;else{var P=this.left,z=this.right;N.count-=O.count,N.right=O.left,O.left=P,O.right=z}c(this,O),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?c(this,this.left):c(this,this.right);return n}for(var P=o.ge(this.leftPoints,f,M);P=0&&f[z][1]>=R;--z){var F=L(f[z]);if(F)return F}}function w(f,R){for(var L=0;Lthis.mid){if(this.right){var L=this.right.queryPoint(f,R);if(L)return L}return _(this.rightPoints,f,R)}else return w(this.leftPoints,R)},h.queryInterval=function(f,R,L){if(fthis.mid&&this.right){var z=this.right.queryInterval(f,R,L);if(z)return z}return Rthis.mid?_(this.rightPoints,f,L):w(this.leftPoints,L)};function A(f,R){return f-R}function M(f,R){var L=f[0]-R[0];return L||f[1]-R[1]}function g(f,R){var L=f[1]-R[1];return L||f[0]-R[0]}function b(f){if(f.length===0)return null;for(var R=[],L=0;L>1],F=[],N=[],O=[],L=0;L=0),g.type){case\"b\":_=parseInt(_,10).toString(2);break;case\"c\":_=String.fromCharCode(parseInt(_,10));break;case\"d\":case\"i\":_=parseInt(_,10);break;case\"j\":_=JSON.stringify(_,null,g.width?parseInt(g.width):0);break;case\"e\":_=g.precision?parseFloat(_).toExponential(g.precision):parseFloat(_).toExponential();break;case\"f\":_=g.precision?parseFloat(_).toFixed(g.precision):parseFloat(_);break;case\"g\":_=g.precision?String(Number(_.toPrecision(g.precision))):parseFloat(_);break;case\"o\":_=(parseInt(_,10)>>>0).toString(8);break;case\"s\":_=String(_),_=g.precision?_.substring(0,g.precision):_;break;case\"t\":_=String(!!_),_=g.precision?_.substring(0,g.precision):_;break;case\"T\":_=Object.prototype.toString.call(_).slice(8,-1).toLowerCase(),_=g.precision?_.substring(0,g.precision):_;break;case\"u\":_=parseInt(_,10)>>>0;break;case\"v\":_=_.valueOf(),_=g.precision?_.substring(0,g.precision):_;break;case\"x\":_=(parseInt(_,10)>>>0).toString(16);break;case\"X\":_=(parseInt(_,10)>>>0).toString(16).toUpperCase();break}a.json.test(g.type)?w+=_:(a.number.test(g.type)&&(!y||g.sign)?(f=y?\"+\":\"-\",_=_.toString().replace(a.sign,\"\")):f=\"\",d=g.pad_char?g.pad_char===\"0\"?\"0\":g.pad_char.charAt(1):\" \",u=g.width-(f+_).length,b=g.width&&u>0?d.repeat(u):\"\",w+=g.align?f+_+b:d===\"0\"?f+b+_:b+f+_)}return w}var h=Object.create(null);function c(m){if(h[m])return h[m];for(var p=m,T,l=[],_=0;p;){if((T=a.text.exec(p))!==null)l.push(T[0]);else if((T=a.modulo.exec(p))!==null)l.push(\"%\");else if((T=a.placeholder.exec(p))!==null){if(T[2]){_|=1;var w=[],A=T[2],M=[];if((M=a.key.exec(A))!==null)for(w.push(M[1]);(A=A.substring(M[0].length))!==\"\";)if((M=a.key_access.exec(A))!==null)w.push(M[1]);else if((M=a.index_access.exec(A))!==null)w.push(M[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");T[2]=w}else _|=2;if(_===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");l.push({placeholder:T[0],param_no:T[1],keys:T[2],sign:T[3],pad_char:T[4],align:T[5],width:T[6],precision:T[7],type:T[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");p=p.substring(T[0].length)}return h[m]=l}t.sprintf=n,t.vsprintf=i,typeof window<\"u\"&&(window.sprintf=n,window.vsprintf=i,o=function(){return{sprintf:n,vsprintf:i}}.call(t,r,t,e),o!==void 0&&(e.exports=o))})()},3390:function(e){e.exports=t;function t(r,o,a,n){var i=new Float32Array(4);return i[0]=r,i[1]=o,i[2]=a,i[3]=n,i}},3436:function(e,t,r){\"use strict\";var o=r(3236),a=r(9405),n=o([`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}`]),i=o([`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(s){return a(s,n,i,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},3502:function(e,t,r){e.exports=n;var o=r(5995),a=r(9127);function n(i,s){return a(o(i,s))}},3508:function(e,t,r){var o=r(6852);o=o.slice().filter(function(a){return!/^(gl\\_|texture)/.test(a)}),e.exports=o.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\"])},3536:function(e){e.exports=t;function t(r,o){var a=o[0],n=o[1],i=o[2],s=a*a+n*n+i*i;return s>0&&(s=1/Math.sqrt(s),r[0]=o[0]*s,r[1]=o[1]*s,r[2]=o[2]*s),r}},3545:function(e,t,r){\"use strict\";e.exports=s;var o=r(8105),a=o(\"lom&&T[b+c]>M;--g,b-=_){for(var d=b,u=b+_,y=0;y<_;++y,++d,++u){var f=T[d];T[d]=T[u],T[u]=f}var R=l[g];l[g]=l[g-1],l[g-1]=R}}function s(h,c,m,p,T,l){if(p<=m+1)return m;for(var _=m,w=p,A=p+m>>>1,M=2*h,g=A,b=T[M*A+c];_=R?(g=f,b=R):y>=z?(g=u,b=y):(g=L,b=z):R>=z?(g=f,b=R):z>=y?(g=u,b=y):(g=L,b=z);for(var O=M*(w-1),P=M*g,F=0;Fthis.buffer.length){a.free(this.buffer);for(var w=this.buffer=a.mallocUint8(i(_*l*4)),A=0;A<_*l*4;++A)w[A]=255}return T}}}),m.begin=function(){var T=this.gl,l=this.shape;T&&(this.fbo.bind(),T.clearColor(1,1,1,1),T.clear(T.COLOR_BUFFER_BIT|T.DEPTH_BUFFER_BIT))},m.end=function(){var T=this.gl;T&&(T.bindFramebuffer(T.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},m.query=function(T,l,_){if(!this.gl)return null;var w=this.fbo.shape.slice();T=T|0,l=l|0,typeof _!=\"number\"&&(_=1);var A=Math.min(Math.max(T-_,0),w[0])|0,M=Math.min(Math.max(T+_,0),w[0])|0,g=Math.min(Math.max(l-_,0),w[1])|0,b=Math.min(Math.max(l+_,0),w[1])|0;if(M<=A||b<=g)return null;var d=[M-A,b-g],u=n(this.buffer,[d[0],d[1],4],[4,w[0]*4,1],4*(A+w[0]*g)),y=s(u.hi(d[0],d[1],1),_,_),f=y[0],R=y[1];if(f<0||Math.pow(this.radius,2)g|0},vertex:function(w,A,M,g,b,d,u,y,f,R,L,z,F){var N=(u<<0)+(y<<1)+(f<<2)+(R<<3)|0;if(!(N===0||N===15))switch(N){case 0:L.push([w-.5,A-.5]);break;case 1:L.push([w-.25-.25*(g+M-2*F)/(M-g),A-.25-.25*(b+M-2*F)/(M-b)]);break;case 2:L.push([w-.75-.25*(-g-M+2*F)/(g-M),A-.25-.25*(d+g-2*F)/(g-d)]);break;case 3:L.push([w-.5,A-.5-.5*(b+M+d+g-4*F)/(M-b+g-d)]);break;case 4:L.push([w-.25-.25*(d+b-2*F)/(b-d),A-.75-.25*(-b-M+2*F)/(b-M)]);break;case 5:L.push([w-.5-.5*(g+M+d+b-4*F)/(M-g+b-d),A-.5]);break;case 6:L.push([w-.5-.25*(-g-M+d+b)/(g-M+b-d),A-.5-.25*(-b-M+d+g)/(b-M+g-d)]);break;case 7:L.push([w-.75-.25*(d+b-2*F)/(b-d),A-.75-.25*(d+g-2*F)/(g-d)]);break;case 8:L.push([w-.75-.25*(-d-b+2*F)/(d-b),A-.75-.25*(-d-g+2*F)/(d-g)]);break;case 9:L.push([w-.5-.25*(g+M+-d-b)/(M-g+d-b),A-.5-.25*(b+M+-d-g)/(M-b+d-g)]);break;case 10:L.push([w-.5-.5*(-g-M+-d-b+4*F)/(g-M+d-b),A-.5]);break;case 11:L.push([w-.25-.25*(-d-b+2*F)/(d-b),A-.75-.25*(b+M-2*F)/(M-b)]);break;case 12:L.push([w-.5,A-.5-.5*(-b-M+-d-g+4*F)/(b-M+d-g)]);break;case 13:L.push([w-.75-.25*(g+M-2*F)/(M-g),A-.25-.25*(-d-g+2*F)/(d-g)]);break;case 14:L.push([w-.25-.25*(-g-M+2*F)/(g-M),A-.25-.25*(-b-M+2*F)/(b-M)]);break;case 15:L.push([w-.5,A-.5]);break}},cell:function(w,A,M,g,b,d,u,y,f){b?y.push([w,A]):y.push([A,w])}});return function(_,w){var A=[],M=[];return l(_,A,M,w),{positions:A,cells:M}}}};function i(m,p){var T=m.length+\"d\",l=n[T];if(l)return l(o,m,p)}function s(m,p){for(var T=a(m,p),l=T.length,_=new Array(l),w=new Array(l),A=0;A>1,T=-7,l=a?i-1:0,_=a?-1:1,w=r[o+l];for(l+=_,s=w&(1<<-T)-1,w>>=-T,T+=c;T>0;s=s*256+r[o+l],l+=_,T-=8);for(h=s&(1<<-T)-1,s>>=-T,T+=n;T>0;h=h*256+r[o+l],l+=_,T-=8);if(s===0)s=1-p;else{if(s===m)return h?NaN:(w?-1:1)*(1/0);h=h+Math.pow(2,n),s=s-p}return(w?-1:1)*h*Math.pow(2,s-n)},t.write=function(r,o,a,n,i,s){var h,c,m,p=s*8-i-1,T=(1<>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=n?0:s-1,A=n?1:-1,M=o<0||o===0&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(c=isNaN(o)?1:0,h=T):(h=Math.floor(Math.log(o)/Math.LN2),o*(m=Math.pow(2,-h))<1&&(h--,m*=2),h+l>=1?o+=_/m:o+=_*Math.pow(2,1-l),o*m>=2&&(h++,m/=2),h+l>=T?(c=0,h=T):h+l>=1?(c=(o*m-1)*Math.pow(2,i),h=h+l):(c=o*Math.pow(2,l-1)*Math.pow(2,i),h=0));i>=8;r[a+w]=c&255,w+=A,c/=256,i-=8);for(h=h<0;r[a+w]=h&255,w+=A,h/=256,p-=8);r[a+w-A]|=M*128}},3788:function(e,t,r){\"use strict\";var o=r(8507),a=r(2419);e.exports=n;function n(i,s){return o(i,s)||a(i)-a(s)}},3837:function(e,t,r){\"use strict\";e.exports=L;var o=r(4935),a=r(501),n=r(5304),i=r(6429),s=r(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,m=DataView;function p(z){return c.isView(z)&&!(z instanceof m)}function T(z){return Array.isArray(z)||p(z)}function l(z,F){return z[0]=F[0],z[1]=F[1],z[2]=F[2],z}function _(z){this.gl=z,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.tickFontStyle=[\"normal\",\"normal\",\"normal\"],this.tickFontWeight=[\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\"],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\",\"sans-serif\",\"sans-serif\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\"],this.labelFontWeight=[\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\"],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=n(z)}var w=_.prototype;w.update=function(z){z=z||{};function F(q,oe,ae){if(ae in z){var j=z[ae],Q=this[ae],re;(q?T(j)&&T(j[0]):T(j))?this[ae]=re=[oe(j[0]),oe(j[1]),oe(j[2])]:this[ae]=re=[oe(j),oe(j),oe(j)];for(var ce=0;ce<3;++ce)if(re[ce]!==Q[ce])return!0}return!1}var N=F.bind(this,!1,Number),O=F.bind(this,!1,Boolean),P=F.bind(this,!1,String),U=F.bind(this,!0,function(q){if(T(q)){if(q.length===3)return[+q[0],+q[1],+q[2],1];if(q.length===4)return[+q[0],+q[1],+q[2],+q[3]]}return[0,0,0,1]}),B,X=!1,$=!1;if(\"bounds\"in z)for(var se=z.bounds,le=0;le<2;++le)for(var fe=0;fe<3;++fe)se[le][fe]!==this.bounds[le][fe]&&($=!0),this.bounds[le][fe]=se[le][fe];if(\"ticks\"in z){B=z.ticks,X=!0,this.autoTicks=!1;for(var le=0;le<3;++le)this.tickSpacing[le]=0}else N(\"tickSpacing\")&&(this.autoTicks=!0,$=!0);if(this._firstInit&&(\"ticks\"in z||\"tickSpacing\"in z||(this.autoTicks=!0),$=!0,X=!0,this._firstInit=!1),$&&this.autoTicks&&(B=s.create(this.bounds,this.tickSpacing),X=!0),X){for(var le=0;le<3;++le)B[le].sort(function(oe,ae){return oe.x-ae.x});s.equal(B,this.ticks)?X=!1:this.ticks=B}O(\"tickEnable\"),P(\"tickFont\")&&(X=!0),P(\"tickFontStyle\")&&(X=!0),P(\"tickFontWeight\")&&(X=!0),P(\"tickFontVariant\")&&(X=!0),N(\"tickSize\"),N(\"tickAngle\"),N(\"tickPad\"),U(\"tickColor\");var V=P(\"labels\");P(\"labelFont\")&&(V=!0),P(\"labelFontStyle\")&&(V=!0),P(\"labelFontWeight\")&&(V=!0),P(\"labelFontVariant\")&&(V=!0),O(\"labelEnable\"),N(\"labelSize\"),N(\"labelPad\"),U(\"labelColor\"),O(\"lineEnable\"),O(\"lineMirror\"),N(\"lineWidth\"),U(\"lineColor\"),O(\"lineTickEnable\"),O(\"lineTickMirror\"),N(\"lineTickLength\"),N(\"lineTickWidth\"),U(\"lineTickColor\"),O(\"gridEnable\"),N(\"gridWidth\"),U(\"gridColor\"),O(\"zeroEnable\"),U(\"zeroLineColor\"),N(\"zeroLineWidth\"),O(\"backgroundEnable\"),U(\"backgroundColor\");var Y=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],ee=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(V||X)&&this._text.update(this.bounds,this.labels,Y,this.ticks,ee):this._text=o(this.gl,this.bounds,this.labels,Y,this.ticks,ee),this._lines&&X&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=a(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var M=[new A,new A,new A];function g(z,F,N,O,P){for(var U=z.primalOffset,B=z.primalMinor,X=z.mirrorOffset,$=z.mirrorMinor,se=O[F],le=0;le<3;++le)if(F!==le){var fe=U,V=X,Y=B,ee=$;se&1<0?(Y[le]=-1,ee[le]=0):(Y[le]=0,ee[le]=1)}}var b=[0,0,0],d={model:h,view:h,projection:h,_ortho:!1};w.isOpaque=function(){return!0},w.isTransparent=function(){return!1},w.drawTransparent=function(z){};var u=0,y=[0,0,0],f=[0,0,0],R=[0,0,0];w.draw=function(z){z=z||d;for(var ae=this.gl,F=z.model||h,N=z.view||h,O=z.projection||h,P=this.bounds,U=z._ortho||!1,B=i(F,N,O,P,U),X=B.cubeEdges,$=B.axis,se=N[12],le=N[13],fe=N[14],V=N[15],Y=U?2:1,ee=Y*this.pixelRatio*(O[3]*se+O[7]*le+O[11]*fe+O[15]*V)/ae.drawingBufferHeight,q=0;q<3;++q)this.lastCubeProps.cubeEdges[q]=X[q],this.lastCubeProps.axis[q]=$[q];for(var oe=M,q=0;q<3;++q)g(M[q],q,this.bounds,X,$);for(var ae=this.gl,j=b,q=0;q<3;++q)this.backgroundEnable[q]?j[q]=$[q]:j[q]=0;this._background.draw(F,N,O,P,j,this.backgroundColor),this._lines.bind(F,N,O,this);for(var q=0;q<3;++q){var Q=[0,0,0];$[q]>0?Q[q]=P[1][q]:Q[q]=P[0][q];for(var re=0;re<2;++re){var ce=(q+1+re)%3,be=(q+1+(re^1))%3;this.gridEnable[ce]&&this._lines.drawGrid(ce,be,this.bounds,Q,this.gridColor[ce],this.gridWidth[ce]*this.pixelRatio)}for(var re=0;re<2;++re){var ce=(q+1+re)%3,be=(q+1+(re^1))%3;this.zeroEnable[be]&&Math.min(P[0][be],P[1][be])<=0&&Math.max(P[0][be],P[1][be])>=0&&this._lines.drawZero(ce,be,this.bounds,Q,this.zeroLineColor[be],this.zeroLineWidth[be]*this.pixelRatio)}}for(var q=0;q<3;++q){this.lineEnable[q]&&this._lines.drawAxisLine(q,this.bounds,oe[q].primalOffset,this.lineColor[q],this.lineWidth[q]*this.pixelRatio),this.lineMirror[q]&&this._lines.drawAxisLine(q,this.bounds,oe[q].mirrorOffset,this.lineColor[q],this.lineWidth[q]*this.pixelRatio);for(var Ae=l(y,oe[q].primalMinor),De=l(f,oe[q].mirrorMinor),ze=this.lineTickLength,re=0;re<3;++re){var Ze=ee/F[5*re];Ae[re]*=ze[re]*Ze,De[re]*=ze[re]*Ze}this.lineTickEnable[q]&&this._lines.drawAxisTicks(q,oe[q].primalOffset,Ae,this.lineTickColor[q],this.lineTickWidth[q]*this.pixelRatio),this.lineTickMirror[q]&&this._lines.drawAxisTicks(q,oe[q].mirrorOffset,De,this.lineTickColor[q],this.lineTickWidth[q]*this.pixelRatio)}this._lines.unbind(),this._text.bind(F,N,O,this.pixelRatio);var at,nt=.5,rt,st;function Me(Qe){st=[0,0,0],st[Qe]=1}function ye(Qe,Pt,It){var qt=(Qe+1)%3,Wt=(Qe+2)%3,kr=Pt[qt],mr=Pt[Wt],qr=It[qt],Sr=It[Wt];if(kr>0&&Sr>0){Me(qt);return}else if(kr>0&&Sr<0){Me(qt);return}else if(kr<0&&Sr>0){Me(qt);return}else if(kr<0&&Sr<0){Me(qt);return}else if(mr>0&&qr>0){Me(Wt);return}else if(mr>0&&qr<0){Me(Wt);return}else if(mr<0&&qr>0){Me(Wt);return}else if(mr<0&&qr<0){Me(Wt);return}}for(var q=0;q<3;++q){for(var he=oe[q].primalMinor,Oe=oe[q].mirrorMinor,tt=l(R,oe[q].primalOffset),re=0;re<3;++re)this.lineTickEnable[q]&&(tt[re]+=ee*he[re]*Math.max(this.lineTickLength[re],0)/F[5*re]);var ot=[0,0,0];if(ot[q]=1,this.tickEnable[q]){this.tickAngle[q]===-3600?(this.tickAngle[q]=0,this.tickAlign[q]=\"auto\"):this.tickAlign[q]=-1,rt=1,at=[this.tickAlign[q],nt,rt],at[0]===\"auto\"?at[0]=u:at[0]=parseInt(\"\"+at[0]),st=[0,0,0],ye(q,he,Oe);for(var re=0;re<3;++re)tt[re]+=ee*he[re]*this.tickPad[re]/F[5*re];this._text.drawTicks(q,this.tickSize[q],this.tickAngle[q],tt,this.tickColor[q],ot,st,at)}if(this.labelEnable[q]){rt=0,st=[0,0,0],this.labels[q].length>4&&(Me(q),rt=1),at=[this.labelAlign[q],nt,rt],at[0]===\"auto\"?at[0]=u:at[0]=parseInt(\"\"+at[0]);for(var re=0;re<3;++re)tt[re]+=ee*he[re]*this.labelPad[re]/F[5*re];tt[q]+=.5*(P[0][q]+P[1][q]),this._text.drawLabel(q,this.labelSize[q],this.labelAngle[q],tt,this.labelColor[q],[0,0,0],st,at)}}this._text.unbind()},w.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function L(z,F){var N=new _(z);return N.update(F),N}},3840:function(e){\"use strict\";e.exports=M;var t=0,r=1;function o(g,b,d,u,y,f){this._color=g,this.key=b,this.value=d,this.left=u,this.right=y,this._count=f}function a(g){return new o(g._color,g.key,g.value,g.left,g.right,g._count)}function n(g,b){return new o(g,b.key,b.value,b.left,b.right,b._count)}function i(g){g._count=1+(g.left?g.left._count:0)+(g.right?g.right._count:0)}function s(g,b){this._compare=g,this.root=b}var h=s.prototype;Object.defineProperty(h,\"keys\",{get:function(){var g=[];return this.forEach(function(b,d){g.push(b)}),g}}),Object.defineProperty(h,\"values\",{get:function(){var g=[];return this.forEach(function(b,d){g.push(d)}),g}}),Object.defineProperty(h,\"length\",{get:function(){return this.root?this.root._count:0}}),h.insert=function(g,b){for(var d=this._compare,u=this.root,y=[],f=[];u;){var R=d(g,u.key);y.push(u),f.push(R),R<=0?u=u.left:u=u.right}y.push(new o(t,g,b,null,null,1));for(var L=y.length-2;L>=0;--L){var u=y[L];f[L]<=0?y[L]=new o(u._color,u.key,u.value,y[L+1],u.right,u._count+1):y[L]=new o(u._color,u.key,u.value,u.left,y[L+1],u._count+1)}for(var L=y.length-1;L>1;--L){var z=y[L-1],u=y[L];if(z._color===r||u._color===r)break;var F=y[L-2];if(F.left===z)if(z.left===u){var N=F.right;if(N&&N._color===t)z._color=r,F.right=n(r,N),F._color=t,L-=1;else{if(F._color=t,F.left=z.right,z._color=r,z.right=F,y[L-2]=z,y[L-1]=u,i(F),i(z),L>=3){var O=y[L-3];O.left===F?O.left=z:O.right=z}break}}else{var N=F.right;if(N&&N._color===t)z._color=r,F.right=n(r,N),F._color=t,L-=1;else{if(z.right=u.left,F._color=t,F.left=u.right,u._color=r,u.left=z,u.right=F,y[L-2]=u,y[L-1]=z,i(F),i(z),i(u),L>=3){var O=y[L-3];O.left===F?O.left=u:O.right=u}break}}else if(z.right===u){var N=F.left;if(N&&N._color===t)z._color=r,F.left=n(r,N),F._color=t,L-=1;else{if(F._color=t,F.right=z.left,z._color=r,z.left=F,y[L-2]=z,y[L-1]=u,i(F),i(z),L>=3){var O=y[L-3];O.right===F?O.right=z:O.left=z}break}}else{var N=F.left;if(N&&N._color===t)z._color=r,F.left=n(r,N),F._color=t,L-=1;else{if(z.left=u.right,F._color=t,F.right=u.left,u._color=r,u.right=z,u.left=F,y[L-2]=u,y[L-1]=z,i(F),i(z),i(u),L>=3){var O=y[L-3];O.right===F?O.right=u:O.left=u}break}}}return y[0]._color=r,new s(d,y[0])};function c(g,b){if(b.left){var d=c(g,b.left);if(d)return d}var d=g(b.key,b.value);if(d)return d;if(b.right)return c(g,b.right)}function m(g,b,d,u){var y=b(g,u.key);if(y<=0){if(u.left){var f=m(g,b,d,u.left);if(f)return f}var f=d(u.key,u.value);if(f)return f}if(u.right)return m(g,b,d,u.right)}function p(g,b,d,u,y){var f=d(g,y.key),R=d(b,y.key),L;if(f<=0&&(y.left&&(L=p(g,b,d,u,y.left),L)||R>0&&(L=u(y.key,y.value),L)))return L;if(R>0&&y.right)return p(g,b,d,u,y.right)}h.forEach=function(b,d,u){if(this.root)switch(arguments.length){case 1:return c(b,this.root);case 2:return m(d,this._compare,b,this.root);case 3:return this._compare(d,u)>=0?void 0:p(d,u,this._compare,b,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var g=[],b=this.root;b;)g.push(b),b=b.left;return new T(this,g)}}),Object.defineProperty(h,\"end\",{get:function(){for(var g=[],b=this.root;b;)g.push(b),b=b.right;return new T(this,g)}}),h.at=function(g){if(g<0)return new T(this,[]);for(var b=this.root,d=[];;){if(d.push(b),b.left){if(g=b.right._count)break;b=b.right}else break}return new T(this,[])},h.ge=function(g){for(var b=this._compare,d=this.root,u=[],y=0;d;){var f=b(g,d.key);u.push(d),f<=0&&(y=u.length),f<=0?d=d.left:d=d.right}return u.length=y,new T(this,u)},h.gt=function(g){for(var b=this._compare,d=this.root,u=[],y=0;d;){var f=b(g,d.key);u.push(d),f<0&&(y=u.length),f<0?d=d.left:d=d.right}return u.length=y,new T(this,u)},h.lt=function(g){for(var b=this._compare,d=this.root,u=[],y=0;d;){var f=b(g,d.key);u.push(d),f>0&&(y=u.length),f<=0?d=d.left:d=d.right}return u.length=y,new T(this,u)},h.le=function(g){for(var b=this._compare,d=this.root,u=[],y=0;d;){var f=b(g,d.key);u.push(d),f>=0&&(y=u.length),f<0?d=d.left:d=d.right}return u.length=y,new T(this,u)},h.find=function(g){for(var b=this._compare,d=this.root,u=[];d;){var y=b(g,d.key);if(u.push(d),y===0)return new T(this,u);y<=0?d=d.left:d=d.right}return new T(this,[])},h.remove=function(g){var b=this.find(g);return b?b.remove():this},h.get=function(g){for(var b=this._compare,d=this.root;d;){var u=b(g,d.key);if(u===0)return d.value;u<=0?d=d.left:d=d.right}};function T(g,b){this.tree=g,this._stack=b}var l=T.prototype;Object.defineProperty(l,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(l,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),l.clone=function(){return new T(this.tree,this._stack.slice())};function _(g,b){g.key=b.key,g.value=b.value,g.left=b.left,g.right=b.right,g._color=b._color,g._count=b._count}function w(g){for(var b,d,u,y,f=g.length-1;f>=0;--f){if(b=g[f],f===0){b._color=r;return}if(d=g[f-1],d.left===b){if(u=d.right,u.right&&u.right._color===t){if(u=d.right=a(u),y=u.right=a(u.right),d.right=u.left,u.left=d,u.right=y,u._color=d._color,b._color=r,d._color=r,y._color=r,i(d),i(u),f>1){var R=g[f-2];R.left===d?R.left=u:R.right=u}g[f-1]=u;return}else if(u.left&&u.left._color===t){if(u=d.right=a(u),y=u.left=a(u.left),d.right=y.left,u.left=y.right,y.left=d,y.right=u,y._color=d._color,d._color=r,u._color=r,b._color=r,i(d),i(u),i(y),f>1){var R=g[f-2];R.left===d?R.left=y:R.right=y}g[f-1]=y;return}if(u._color===r)if(d._color===t){d._color=r,d.right=n(t,u);return}else{d.right=n(t,u);continue}else{if(u=a(u),d.right=u.left,u.left=d,u._color=d._color,d._color=t,i(d),i(u),f>1){var R=g[f-2];R.left===d?R.left=u:R.right=u}g[f-1]=u,g[f]=d,f+11){var R=g[f-2];R.right===d?R.right=u:R.left=u}g[f-1]=u;return}else if(u.right&&u.right._color===t){if(u=d.left=a(u),y=u.right=a(u.right),d.left=y.right,u.right=y.left,y.right=d,y.left=u,y._color=d._color,d._color=r,u._color=r,b._color=r,i(d),i(u),i(y),f>1){var R=g[f-2];R.right===d?R.right=y:R.left=y}g[f-1]=y;return}if(u._color===r)if(d._color===t){d._color=r,d.left=n(t,u);return}else{d.left=n(t,u);continue}else{if(u=a(u),d.left=u.right,u.right=d,u._color=d._color,d._color=t,i(d),i(u),f>1){var R=g[f-2];R.right===d?R.right=u:R.left=u}g[f-1]=u,g[f]=d,f+1=0;--u){var d=g[u];d.left===g[u+1]?b[u]=new o(d._color,d.key,d.value,b[u+1],d.right,d._count):b[u]=new o(d._color,d.key,d.value,d.left,b[u+1],d._count)}if(d=b[b.length-1],d.left&&d.right){var y=b.length;for(d=d.left;d.right;)b.push(d),d=d.right;var f=b[y-1];b.push(new o(d._color,f.key,f.value,d.left,d.right,d._count)),b[y-1].key=d.key,b[y-1].value=d.value;for(var u=b.length-2;u>=y;--u)d=b[u],b[u]=new o(d._color,d.key,d.value,d.left,b[u+1],d._count);b[y-1].left=b[y]}if(d=b[b.length-1],d._color===t){var R=b[b.length-2];R.left===d?R.left=null:R.right===d&&(R.right=null),b.pop();for(var u=0;u0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(l,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(l,\"index\",{get:function(){var g=0,b=this._stack;if(b.length===0){var d=this.tree.root;return d?d._count:0}else b[b.length-1].left&&(g=b[b.length-1].left._count);for(var u=b.length-2;u>=0;--u)b[u+1]===b[u].right&&(++g,b[u].left&&(g+=b[u].left._count));return g},enumerable:!0}),l.next=function(){var g=this._stack;if(g.length!==0){var b=g[g.length-1];if(b.right)for(b=b.right;b;)g.push(b),b=b.left;else for(g.pop();g.length>0&&g[g.length-1].right===b;)b=g[g.length-1],g.pop()}},Object.defineProperty(l,\"hasNext\",{get:function(){var g=this._stack;if(g.length===0)return!1;if(g[g.length-1].right)return!0;for(var b=g.length-1;b>0;--b)if(g[b-1].left===g[b])return!0;return!1}}),l.update=function(g){var b=this._stack;if(b.length===0)throw new Error(\"Can't update empty node!\");var d=new Array(b.length),u=b[b.length-1];d[d.length-1]=new o(u._color,u.key,g,u.left,u.right,u._count);for(var y=b.length-2;y>=0;--y)u=b[y],u.left===b[y+1]?d[y]=new o(u._color,u.key,u.value,d[y+1],u.right,u._count):d[y]=new o(u._color,u.key,u.value,u.left,d[y+1],u._count);return new s(this.tree._compare,d[0])},l.prev=function(){var g=this._stack;if(g.length!==0){var b=g[g.length-1];if(b.left)for(b=b.left;b;)g.push(b),b=b.right;else for(g.pop();g.length>0&&g[g.length-1].left===b;)b=g[g.length-1],g.pop()}},Object.defineProperty(l,\"hasPrev\",{get:function(){var g=this._stack;if(g.length===0)return!1;if(g[g.length-1].left)return!0;for(var b=g.length-1;b>0;--b)if(g[b-1].right===g[b])return!0;return!1}});function A(g,b){return gb?1:0}function M(g){return new s(g||A,null)}},3865:function(e,t,r){\"use strict\";var o=r(869);e.exports=a;function a(n,i){return o(n[0].mul(i[1]).add(i[0].mul(n[1])),n[1].mul(i[1]))}},3952:function(e,t,r){\"use strict\";e.exports=n;var o=r(3250);function a(i,s){for(var h=new Array(s+1),c=0;c20?52:h+32}},4040:function(e){e.exports=t;function t(r,o,a,n,i,s,h){var c=1/(o-a),m=1/(n-i),p=1/(s-h);return r[0]=-2*c,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*m,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*p,r[11]=0,r[12]=(o+a)*c,r[13]=(i+n)*m,r[14]=(h+s)*p,r[15]=1,r}},4041:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=a[0],c=a[1],m=a[2],p=a[3],T=p*n+c*s-m*i,l=p*i+m*n-h*s,_=p*s+h*i-c*n,w=-h*n-c*i-m*s;return r[0]=T*p+w*-h+l*-m-_*-c,r[1]=l*p+w*-c+_*-h-T*-m,r[2]=_*p+w*-m+T*-c-l*-h,r[3]=o[3],r}},4081:function(e){\"use strict\";e.exports=t;function t(r,o,a,n,i,s,h,c,m,p){var T=o+s+p;if(l>0){var l=Math.sqrt(T+1);r[0]=.5*(h-m)/l,r[1]=.5*(c-n)/l,r[2]=.5*(a-s)/l,r[3]=.5*l}else{var _=Math.max(o,s,p),l=Math.sqrt(2*_-T+1);o>=_?(r[0]=.5*l,r[1]=.5*(i+a)/l,r[2]=.5*(c+n)/l,r[3]=.5*(h-m)/l):s>=_?(r[0]=.5*(a+i)/l,r[1]=.5*l,r[2]=.5*(m+h)/l,r[3]=.5*(c-n)/l):(r[0]=.5*(n+c)/l,r[1]=.5*(h+m)/l,r[2]=.5*l,r[3]=.5*(a-i)/l)}return r}},4100:function(e,t,r){\"use strict\";var o=r(4437),a=r(3837),n=r(5445),i=r(4449),s=r(3589),h=r(2260),c=r(7169),m=r(351),p=r(4772),T=r(4040),l=r(799),_=r(9216)({tablet:!0,featureDetect:!0});e.exports={createScene:b,createCamera:o};function w(){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 A(u,y){var f=null;try{f=u.getContext(\"webgl\",y),f||(f=u.getContext(\"experimental-webgl\",y))}catch{return null}return f}function M(u){var y=Math.round(Math.log(Math.abs(u))/Math.log(10));if(y<0){var f=Math.round(Math.pow(10,-y));return Math.ceil(u*f)/f}else if(y>0){var f=Math.round(Math.pow(10,y));return Math.ceil(u/f)*f}return Math.ceil(u)}function g(u){return typeof u==\"boolean\"?u:!0}function b(u){u=u||{},u.camera=u.camera||{};var y=u.canvas;if(!y)if(y=document.createElement(\"canvas\"),u.container){var f=u.container;f.appendChild(y)}else document.body.appendChild(y);var R=u.gl;if(R||(u.glOptions&&(_=!!u.glOptions.preserveDrawingBuffer),R=A(y,u.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:_})),!R)throw new Error(\"webgl not supported\");var L=u.bounds||[[-10,-10,-10],[10,10,10]],z=new w,F=h(R,R.drawingBufferWidth,R.drawingBufferHeight,{preferFloat:!_}),N=l(R),O=u.cameraObject&&u.cameraObject._ortho===!0||u.camera.projection&&u.camera.projection.type===\"orthographic\"||!1,P={eye:u.camera.eye||[2,0,0],center:u.camera.center||[0,0,0],up:u.camera.up||[0,1,0],zoomMin:u.camera.zoomMax||.1,zoomMax:u.camera.zoomMin||100,mode:u.camera.mode||\"turntable\",_ortho:O},U=u.axes||{},B=a(R,U);B.enable=!U.disable;var X=u.spikes||{},$=i(R,X),se=[],le=[],fe=[],V=[],Y=!0,ae=!0,ee=new Array(16),q=new Array(16),oe={view:null,projection:ee,model:q,_ortho:!1},ae=!0,j=[R.drawingBufferWidth,R.drawingBufferHeight],Q=u.cameraObject||o(y,P),re={gl:R,contextLost:!1,pixelRatio:u.pixelRatio||1,canvas:y,selection:z,camera:Q,axes:B,axesPixels:null,spikes:$,bounds:L,objects:se,shape:j,aspect:u.aspectRatio||[1,1,1],pickRadius:u.pickRadius||10,zNear:u.zNear||.01,zFar:u.zFar||1e3,fovy:u.fovy||Math.PI/4,clearColor:u.clearColor||[0,0,0,0],autoResize:g(u.autoResize),autoBounds:g(u.autoBounds),autoScale:!!u.autoScale,autoCenter:g(u.autoCenter),clipToBounds:g(u.clipToBounds),snapToData:!!u.snapToData,onselect:u.onselect||null,onrender:u.onrender||null,onclick:u.onclick||null,cameraParams:oe,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(st){this.aspect[0]=st.x,this.aspect[1]=st.y,this.aspect[2]=st.z,ae=!0},setBounds:function(st,Me){this.bounds[0][st]=Me.min,this.bounds[1][st]=Me.max},setClearColor:function(st){this.clearColor=st},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},ce=[R.drawingBufferWidth/re.pixelRatio|0,R.drawingBufferHeight/re.pixelRatio|0];function be(){if(!re._stopped&&re.autoResize){var st=y.parentNode,Me=1,ye=1;st&&st!==document.body?(Me=st.clientWidth,ye=st.clientHeight):(Me=window.innerWidth,ye=window.innerHeight);var he=Math.ceil(Me*re.pixelRatio)|0,Oe=Math.ceil(ye*re.pixelRatio)|0;if(he!==y.width||Oe!==y.height){y.width=he,y.height=Oe;var tt=y.style;tt.position=tt.position||\"absolute\",tt.left=\"0px\",tt.top=\"0px\",tt.width=Me+\"px\",tt.height=ye+\"px\",Y=!0}}}re.autoResize&&be(),window.addEventListener(\"resize\",be);function Ae(){for(var st=se.length,Me=V.length,ye=0;ye0&&fe[Me-1]===0;)fe.pop(),V.pop().dispose()}re.update=function(st){re._stopped||(st=st||{},Y=!0,ae=!0)},re.add=function(st){re._stopped||(st.axes=B,se.push(st),le.push(-1),Y=!0,ae=!0,Ae())},re.remove=function(st){if(!re._stopped){var Me=se.indexOf(st);Me<0||(se.splice(Me,1),le.pop(),Y=!0,ae=!0,Ae())}},re.dispose=function(){if(!re._stopped&&(re._stopped=!0,window.removeEventListener(\"resize\",be),y.removeEventListener(\"webglcontextlost\",De),re.mouseListener.enabled=!1,!re.contextLost)){B.dispose(),$.dispose();for(var st=0;stz.distance)continue;for(var It=0;Itp;){var d=l[b-2],u=l[b-1];if(dl[T+1]:!0}function c(p,T,l,_){p*=2;var w=_[p];return w>1,g=M-_,b=M+_,d=w,u=g,y=M,f=b,R=A,L=p+1,z=T-1,F=0;h(d,u,l)&&(F=d,d=u,u=F),h(f,R,l)&&(F=f,f=R,R=F),h(d,y,l)&&(F=d,d=y,y=F),h(u,y,l)&&(F=u,u=y,y=F),h(d,f,l)&&(F=d,d=f,f=F),h(y,f,l)&&(F=y,y=f,f=F),h(u,R,l)&&(F=u,u=R,R=F),h(u,y,l)&&(F=u,u=y,y=F),h(f,R,l)&&(F=f,f=R,R=F);for(var N=l[2*u],O=l[2*u+1],P=l[2*f],U=l[2*f+1],B=2*d,X=2*y,$=2*R,se=2*w,le=2*M,fe=2*A,V=0;V<2;++V){var Y=l[B+V],ee=l[X+V],q=l[$+V];l[se+V]=Y,l[le+V]=ee,l[fe+V]=q}n(g,p,l),n(b,T,l);for(var oe=L;oe<=z;++oe)if(c(oe,N,O,l))oe!==L&&a(oe,L,l),++L;else if(!c(oe,P,U,l))for(;;)if(c(z,P,U,l)){c(z,N,O,l)?(i(oe,L,z,l),++L,--z):(a(oe,z,l),--z);break}else{if(--z0)if(w[0]!==M[1][0])A=_,_=_.right;else{var u=m(_.right,w);if(u)return u;_=_.left}else{if(w[0]!==M[1][0])return _;var u=m(_.right,w);if(u)return u;_=_.left}}return A}h.castUp=function(_){var w=o.le(this.coordinates,_[0]);if(w<0)return-1;var A=this.slabs[w],M=m(this.slabs[w],_),g=-1;if(M&&(g=M.value),this.coordinates[w]===_[0]){var b=null;if(M&&(b=M.key),w>0){var d=m(this.slabs[w-1],_);d&&(b?i(d.key,b)>0&&(b=d.key,g=d.value):(g=d.value,b=d.key))}var u=this.horizontal[w];if(u.length>0){var y=o.ge(u,_[1],c);if(y=u.length)return g;f=u[y]}}if(f.start)if(b){var R=n(b[0],b[1],[_[0],f.y]);b[0][0]>b[1][0]&&(R=-R),R>0&&(g=f.index)}else g=f.index;else f.y!==_[1]&&(g=f.index)}}}return g};function p(_,w,A,M){this.y=_,this.index=w,this.start=A,this.closed=M}function T(_,w,A,M){this.x=_,this.segment=w,this.create=A,this.index=M}function l(_){for(var w=_.length,A=2*w,M=new Array(A),g=0;gMath.abs(u))l.rotate(R,0,0,-d*y*Math.PI*g.rotateSpeed/window.innerWidth);else if(!g._ortho){var L=-g.zoomSpeed*f*u/window.innerHeight*(R-l.lastT())/20;l.pan(R,0,0,w*(Math.exp(L)-1))}}},!0)},g.enableMouseListeners(),g}},4449:function(e,t,r){\"use strict\";var o=r(2762),a=r(8116),n=r(1493);e.exports=T;var i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(l,_,w,A){this.gl=l,this.buffer=_,this.vao=w,this.shader=A,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 h=s.prototype,c=[0,0,0],m=[0,0,0],p=[0,0];h.isTransparent=function(){return!1},h.drawTransparent=function(l){},h.draw=function(l){var _=this.gl,w=this.vao,A=this.shader;w.bind(),A.bind();var M=l.model||i,g=l.view||i,b=l.projection||i,d;this.axes&&(d=this.axes.lastCubeProps.axis);for(var u=c,y=m,f=0;f<3;++f)d&&d[f]<0?(u[f]=this.bounds[0][f],y[f]=this.bounds[1][f]):(u[f]=this.bounds[1][f],y[f]=this.bounds[0][f]);p[0]=_.drawingBufferWidth,p[1]=_.drawingBufferHeight,A.uniforms.model=M,A.uniforms.view=g,A.uniforms.projection=b,A.uniforms.coordinates=[this.position,u,y],A.uniforms.colors=this.colors,A.uniforms.screenShape=p;for(var f=0;f<3;++f)A.uniforms.lineWidth=this.lineWidth[f]*this.pixelRatio,this.enabled[f]&&(w.draw(_.TRIANGLES,6,6*f),this.drawSides[f]&&w.draw(_.TRIANGLES,12,18+12*f));w.unbind()},h.update=function(l){l&&(\"bounds\"in l&&(this.bounds=l.bounds),\"position\"in l&&(this.position=l.position),\"lineWidth\"in l&&(this.lineWidth=l.lineWidth),\"colors\"in l&&(this.colors=l.colors),\"enabled\"in l&&(this.enabled=l.enabled),\"drawSides\"in l&&(this.drawSides=l.drawSides))},h.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function T(l,_){var w=[];function A(u,y,f,R,L,z){var F=[u,y,f,0,0,0,1];F[R+3]=1,F[R]=L,w.push.apply(w,F),F[6]=-1,w.push.apply(w,F),F[R]=z,w.push.apply(w,F),w.push.apply(w,F),F[6]=1,w.push.apply(w,F),F[R]=L,w.push.apply(w,F)}A(0,0,0,0,0,1),A(0,0,0,1,0,1),A(0,0,0,2,0,1),A(1,0,0,1,-1,1),A(1,0,0,2,-1,1),A(0,1,0,0,-1,1),A(0,1,0,2,-1,1),A(0,0,1,0,-1,1),A(0,0,1,1,-1,1);var M=o(l,w),g=a(l,[{type:l.FLOAT,buffer:M,size:3,offset:0,stride:28},{type:l.FLOAT,buffer:M,size:3,offset:12,stride:28},{type:l.FLOAT,buffer:M,size:1,offset:24,stride:28}]),b=n(l);b.attributes.position.location=0,b.attributes.color.location=1,b.attributes.weight.location=2;var d=new s(l,M,g,b);return d.update(_),d}},4494:function(e){e.exports=t;function t(r,o){return r[0]=1/o[0],r[1]=1/o[1],r[2]=1/o[2],r[3]=1/o[3],r}},4505:function(e,t,r){e.exports=r(5847)},4578:function(e){e.exports=t;function t(r,o,a,n,i){return r[0]=o,r[1]=a,r[2]=n,r[3]=i,r}},4623:function(e){\"use strict\";\"use restrict\";e.exports=t;function t(r){this.roots=new Array(r),this.ranks=new Array(r);for(var o=0;o0)return 1<=0)return 1<=0;--l)h[l]=c*o[l]+m*a[l]+p*n[l]+T*i[l];return h}return c*o+m*a+p*n[l]+T*i}function r(o,a,n,i,s,h){var c=s-1,m=s*s,p=c*c,T=(1+2*s)*p,l=s*p,_=m*(3-2*s),w=m*c;if(o.length){h||(h=new Array(o.length));for(var A=o.length-1;A>=0;--A)h[A]=T*o[A]+l*a[A]+_*n[A]+w*i[A];return h}return T*o+l*a+_*n+w*i}e.exports=r,e.exports.derivative=t},4772:function(e){e.exports=t;function t(r,o,a,n,i){var s=1/Math.tan(o/2),h=1/(n-i);return r[0]=s/a,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=s,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=(i+n)*h,r[11]=-1,r[12]=0,r[13]=0,r[14]=2*i*n*h,r[15]=0,r}},4793:function(e,t,r){\"use strict\";var o;function a(Ce,Ee){if(!(Ce instanceof Ee))throw new TypeError(\"Cannot call a class as a function\")}function n(Ce,Ee){for(var Pe=0;Ped)throw new RangeError('The value \"'+Ce+'\" is invalid for option \"size\"');var Ee=new Uint8Array(Ce);return Object.setPrototypeOf(Ee,f.prototype),Ee}function f(Ce,Ee,Pe){if(typeof Ce==\"number\"){if(typeof Ee==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return F(Ce)}return R(Ce,Ee,Pe)}f.poolSize=8192;function R(Ce,Ee,Pe){if(typeof Ce==\"string\")return N(Ce,Ee);if(ArrayBuffer.isView(Ce))return P(Ce);if(Ce==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Ce));if(Ne(Ce,ArrayBuffer)||Ce&&Ne(Ce.buffer,ArrayBuffer)||typeof SharedArrayBuffer<\"u\"&&(Ne(Ce,SharedArrayBuffer)||Ce&&Ne(Ce.buffer,SharedArrayBuffer)))return U(Ce,Ee,Pe);if(typeof Ce==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var ft=Ce.valueOf&&Ce.valueOf();if(ft!=null&&ft!==Ce)return f.from(ft,Ee,Pe);var ct=B(Ce);if(ct)return ct;if(typeof Symbol<\"u\"&&Symbol.toPrimitive!=null&&typeof Ce[Symbol.toPrimitive]==\"function\")return f.from(Ce[Symbol.toPrimitive](\"string\"),Ee,Pe);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Ce))}f.from=function(Ce,Ee,Pe){return R(Ce,Ee,Pe)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array);function L(Ce){if(typeof Ce!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Ce<0)throw new RangeError('The value \"'+Ce+'\" is invalid for option \"size\"')}function z(Ce,Ee,Pe){return L(Ce),Ce<=0?y(Ce):Ee!==void 0?typeof Pe==\"string\"?y(Ce).fill(Ee,Pe):y(Ce).fill(Ee):y(Ce)}f.alloc=function(Ce,Ee,Pe){return z(Ce,Ee,Pe)};function F(Ce){return L(Ce),y(Ce<0?0:X(Ce)|0)}f.allocUnsafe=function(Ce){return F(Ce)},f.allocUnsafeSlow=function(Ce){return F(Ce)};function N(Ce,Ee){if((typeof Ee!=\"string\"||Ee===\"\")&&(Ee=\"utf8\"),!f.isEncoding(Ee))throw new TypeError(\"Unknown encoding: \"+Ee);var Pe=se(Ce,Ee)|0,ft=y(Pe),ct=ft.write(Ce,Ee);return ct!==Pe&&(ft=ft.slice(0,ct)),ft}function O(Ce){for(var Ee=Ce.length<0?0:X(Ce.length)|0,Pe=y(Ee),ft=0;ft=d)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+d.toString(16)+\" bytes\");return Ce|0}function $(Ce){return+Ce!=Ce&&(Ce=0),f.alloc(+Ce)}f.isBuffer=function(Ee){return Ee!=null&&Ee._isBuffer===!0&&Ee!==f.prototype},f.compare=function(Ee,Pe){if(Ne(Ee,Uint8Array)&&(Ee=f.from(Ee,Ee.offset,Ee.byteLength)),Ne(Pe,Uint8Array)&&(Pe=f.from(Pe,Pe.offset,Pe.byteLength)),!f.isBuffer(Ee)||!f.isBuffer(Pe))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(Ee===Pe)return 0;for(var ft=Ee.length,ct=Pe.length,_t=0,Ct=Math.min(ft,ct);_tct.length?(f.isBuffer(Ct)||(Ct=f.from(Ct)),Ct.copy(ct,_t)):Uint8Array.prototype.set.call(ct,Ct,_t);else if(f.isBuffer(Ct))Ct.copy(ct,_t);else throw new TypeError('\"list\" argument must be an Array of Buffers');_t+=Ct.length}return ct};function se(Ce,Ee){if(f.isBuffer(Ce))return Ce.length;if(ArrayBuffer.isView(Ce)||Ne(Ce,ArrayBuffer))return Ce.byteLength;if(typeof Ce!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Ce));var Pe=Ce.length,ft=arguments.length>2&&arguments[2]===!0;if(!ft&&Pe===0)return 0;for(var ct=!1;;)switch(Ee){case\"ascii\":case\"latin1\":case\"binary\":return Pe;case\"utf8\":case\"utf-8\":return mr(Ce).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Pe*2;case\"hex\":return Pe>>>1;case\"base64\":return Rr(Ce).length;default:if(ct)return ft?-1:mr(Ce).length;Ee=(\"\"+Ee).toLowerCase(),ct=!0}}f.byteLength=se;function le(Ce,Ee,Pe){var ft=!1;if((Ee===void 0||Ee<0)&&(Ee=0),Ee>this.length||((Pe===void 0||Pe>this.length)&&(Pe=this.length),Pe<=0)||(Pe>>>=0,Ee>>>=0,Pe<=Ee))return\"\";for(Ce||(Ce=\"utf8\");;)switch(Ce){case\"hex\":return ze(this,Ee,Pe);case\"utf8\":case\"utf-8\":return re(this,Ee,Pe);case\"ascii\":return Ae(this,Ee,Pe);case\"latin1\":case\"binary\":return De(this,Ee,Pe);case\"base64\":return Q(this,Ee,Pe);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Ze(this,Ee,Pe);default:if(ft)throw new TypeError(\"Unknown encoding: \"+Ce);Ce=(Ce+\"\").toLowerCase(),ft=!0}}f.prototype._isBuffer=!0;function fe(Ce,Ee,Pe){var ft=Ce[Ee];Ce[Ee]=Ce[Pe],Ce[Pe]=ft}f.prototype.swap16=function(){var Ee=this.length;if(Ee%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Pe=0;PePe&&(Ee+=\" ... \"),\"\"},b&&(f.prototype[b]=f.prototype.inspect),f.prototype.compare=function(Ee,Pe,ft,ct,_t){if(Ne(Ee,Uint8Array)&&(Ee=f.from(Ee,Ee.offset,Ee.byteLength)),!f.isBuffer(Ee))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+A(Ee));if(Pe===void 0&&(Pe=0),ft===void 0&&(ft=Ee?Ee.length:0),ct===void 0&&(ct=0),_t===void 0&&(_t=this.length),Pe<0||ft>Ee.length||ct<0||_t>this.length)throw new RangeError(\"out of range index\");if(ct>=_t&&Pe>=ft)return 0;if(ct>=_t)return-1;if(Pe>=ft)return 1;if(Pe>>>=0,ft>>>=0,ct>>>=0,_t>>>=0,this===Ee)return 0;for(var Ct=_t-ct,ir=ft-Pe,rr=Math.min(Ct,ir),er=this.slice(ct,_t),Lr=Ee.slice(Pe,ft),fa=0;fa2147483647?Pe=2147483647:Pe<-2147483648&&(Pe=-2147483648),Pe=+Pe,Ke(Pe)&&(Pe=ct?0:Ce.length-1),Pe<0&&(Pe=Ce.length+Pe),Pe>=Ce.length){if(ct)return-1;Pe=Ce.length-1}else if(Pe<0)if(ct)Pe=0;else return-1;if(typeof Ee==\"string\"&&(Ee=f.from(Ee,ft)),f.isBuffer(Ee))return Ee.length===0?-1:Y(Ce,Ee,Pe,ft,ct);if(typeof Ee==\"number\")return Ee=Ee&255,typeof Uint8Array.prototype.indexOf==\"function\"?ct?Uint8Array.prototype.indexOf.call(Ce,Ee,Pe):Uint8Array.prototype.lastIndexOf.call(Ce,Ee,Pe):Y(Ce,[Ee],Pe,ft,ct);throw new TypeError(\"val must be string, number or Buffer\")}function Y(Ce,Ee,Pe,ft,ct){var _t=1,Ct=Ce.length,ir=Ee.length;if(ft!==void 0&&(ft=String(ft).toLowerCase(),ft===\"ucs2\"||ft===\"ucs-2\"||ft===\"utf16le\"||ft===\"utf-16le\")){if(Ce.length<2||Ee.length<2)return-1;_t=2,Ct/=2,ir/=2,Pe/=2}function rr(Ia,qa){return _t===1?Ia[qa]:Ia.readUInt16BE(qa*_t)}var er;if(ct){var Lr=-1;for(er=Pe;erCt&&(Pe=Ct-ir),er=Pe;er>=0;er--){for(var fa=!0,Da=0;Dact&&(ft=ct)):ft=ct;var _t=Ee.length;ft>_t/2&&(ft=_t/2);var Ct;for(Ct=0;Ct>>0,isFinite(ft)?(ft=ft>>>0,ct===void 0&&(ct=\"utf8\")):(ct=ft,ft=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var _t=this.length-Pe;if((ft===void 0||ft>_t)&&(ft=_t),Ee.length>0&&(ft<0||Pe<0)||Pe>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");ct||(ct=\"utf8\");for(var Ct=!1;;)switch(ct){case\"hex\":return ee(this,Ee,Pe,ft);case\"utf8\":case\"utf-8\":return q(this,Ee,Pe,ft);case\"ascii\":case\"latin1\":case\"binary\":return oe(this,Ee,Pe,ft);case\"base64\":return ae(this,Ee,Pe,ft);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return j(this,Ee,Pe,ft);default:if(Ct)throw new TypeError(\"Unknown encoding: \"+ct);ct=(\"\"+ct).toLowerCase(),Ct=!0}},f.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Q(Ce,Ee,Pe){return Ee===0&&Pe===Ce.length?M.fromByteArray(Ce):M.fromByteArray(Ce.slice(Ee,Pe))}function re(Ce,Ee,Pe){Pe=Math.min(Ce.length,Pe);for(var ft=[],ct=Ee;ct239?4:_t>223?3:_t>191?2:1;if(ct+ir<=Pe){var rr=void 0,er=void 0,Lr=void 0,fa=void 0;switch(ir){case 1:_t<128&&(Ct=_t);break;case 2:rr=Ce[ct+1],(rr&192)===128&&(fa=(_t&31)<<6|rr&63,fa>127&&(Ct=fa));break;case 3:rr=Ce[ct+1],er=Ce[ct+2],(rr&192)===128&&(er&192)===128&&(fa=(_t&15)<<12|(rr&63)<<6|er&63,fa>2047&&(fa<55296||fa>57343)&&(Ct=fa));break;case 4:rr=Ce[ct+1],er=Ce[ct+2],Lr=Ce[ct+3],(rr&192)===128&&(er&192)===128&&(Lr&192)===128&&(fa=(_t&15)<<18|(rr&63)<<12|(er&63)<<6|Lr&63,fa>65535&&fa<1114112&&(Ct=fa))}}Ct===null?(Ct=65533,ir=1):Ct>65535&&(Ct-=65536,ft.push(Ct>>>10&1023|55296),Ct=56320|Ct&1023),ft.push(Ct),ct+=ir}return be(ft)}var ce=4096;function be(Ce){var Ee=Ce.length;if(Ee<=ce)return String.fromCharCode.apply(String,Ce);for(var Pe=\"\",ft=0;ftft)&&(Pe=ft);for(var ct=\"\",_t=Ee;_tft&&(Ee=ft),Pe<0?(Pe+=ft,Pe<0&&(Pe=0)):Pe>ft&&(Pe=ft),PePe)throw new RangeError(\"Trying to access beyond buffer length\")}f.prototype.readUintLE=f.prototype.readUIntLE=function(Ee,Pe,ft){Ee=Ee>>>0,Pe=Pe>>>0,ft||at(Ee,Pe,this.length);for(var ct=this[Ee],_t=1,Ct=0;++Ct>>0,Pe=Pe>>>0,ft||at(Ee,Pe,this.length);for(var ct=this[Ee+--Pe],_t=1;Pe>0&&(_t*=256);)ct+=this[Ee+--Pe]*_t;return ct},f.prototype.readUint8=f.prototype.readUInt8=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,1,this.length),this[Ee]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,2,this.length),this[Ee]|this[Ee+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,2,this.length),this[Ee]<<8|this[Ee+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,4,this.length),(this[Ee]|this[Ee+1]<<8|this[Ee+2]<<16)+this[Ee+3]*16777216},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,4,this.length),this[Ee]*16777216+(this[Ee+1]<<16|this[Ee+2]<<8|this[Ee+3])},f.prototype.readBigUInt64LE=Ie(function(Ee){Ee=Ee>>>0,It(Ee,\"offset\");var Pe=this[Ee],ft=this[Ee+7];(Pe===void 0||ft===void 0)&&qt(Ee,this.length-8);var ct=Pe+this[++Ee]*Math.pow(2,8)+this[++Ee]*Math.pow(2,16)+this[++Ee]*Math.pow(2,24),_t=this[++Ee]+this[++Ee]*Math.pow(2,8)+this[++Ee]*Math.pow(2,16)+ft*Math.pow(2,24);return BigInt(ct)+(BigInt(_t)<>>0,It(Ee,\"offset\");var Pe=this[Ee],ft=this[Ee+7];(Pe===void 0||ft===void 0)&&qt(Ee,this.length-8);var ct=Pe*Math.pow(2,24)+this[++Ee]*Math.pow(2,16)+this[++Ee]*Math.pow(2,8)+this[++Ee],_t=this[++Ee]*Math.pow(2,24)+this[++Ee]*Math.pow(2,16)+this[++Ee]*Math.pow(2,8)+ft;return(BigInt(ct)<>>0,Pe=Pe>>>0,ft||at(Ee,Pe,this.length);for(var ct=this[Ee],_t=1,Ct=0;++Ct=_t&&(ct-=Math.pow(2,8*Pe)),ct},f.prototype.readIntBE=function(Ee,Pe,ft){Ee=Ee>>>0,Pe=Pe>>>0,ft||at(Ee,Pe,this.length);for(var ct=Pe,_t=1,Ct=this[Ee+--ct];ct>0&&(_t*=256);)Ct+=this[Ee+--ct]*_t;return _t*=128,Ct>=_t&&(Ct-=Math.pow(2,8*Pe)),Ct},f.prototype.readInt8=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,1,this.length),this[Ee]&128?(255-this[Ee]+1)*-1:this[Ee]},f.prototype.readInt16LE=function(Ee,Pe){Ee=Ee>>>0,Pe||at(Ee,2,this.length);var ft=this[Ee]|this[Ee+1]<<8;return ft&32768?ft|4294901760:ft},f.prototype.readInt16BE=function(Ee,Pe){Ee=Ee>>>0,Pe||at(Ee,2,this.length);var ft=this[Ee+1]|this[Ee]<<8;return ft&32768?ft|4294901760:ft},f.prototype.readInt32LE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,4,this.length),this[Ee]|this[Ee+1]<<8|this[Ee+2]<<16|this[Ee+3]<<24},f.prototype.readInt32BE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,4,this.length),this[Ee]<<24|this[Ee+1]<<16|this[Ee+2]<<8|this[Ee+3]},f.prototype.readBigInt64LE=Ie(function(Ee){Ee=Ee>>>0,It(Ee,\"offset\");var Pe=this[Ee],ft=this[Ee+7];(Pe===void 0||ft===void 0)&&qt(Ee,this.length-8);var ct=this[Ee+4]+this[Ee+5]*Math.pow(2,8)+this[Ee+6]*Math.pow(2,16)+(ft<<24);return(BigInt(ct)<>>0,It(Ee,\"offset\");var Pe=this[Ee],ft=this[Ee+7];(Pe===void 0||ft===void 0)&&qt(Ee,this.length-8);var ct=(Pe<<24)+this[++Ee]*Math.pow(2,16)+this[++Ee]*Math.pow(2,8)+this[++Ee];return(BigInt(ct)<>>0,Pe||at(Ee,4,this.length),g.read(this,Ee,!0,23,4)},f.prototype.readFloatBE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,4,this.length),g.read(this,Ee,!1,23,4)},f.prototype.readDoubleLE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,8,this.length),g.read(this,Ee,!0,52,8)},f.prototype.readDoubleBE=function(Ee,Pe){return Ee=Ee>>>0,Pe||at(Ee,8,this.length),g.read(this,Ee,!1,52,8)};function nt(Ce,Ee,Pe,ft,ct,_t){if(!f.isBuffer(Ce))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(Ee>ct||Ee<_t)throw new RangeError('\"value\" argument is out of bounds');if(Pe+ft>Ce.length)throw new RangeError(\"Index out of range\")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(Ee,Pe,ft,ct){if(Ee=+Ee,Pe=Pe>>>0,ft=ft>>>0,!ct){var _t=Math.pow(2,8*ft)-1;nt(this,Ee,Pe,ft,_t,0)}var Ct=1,ir=0;for(this[Pe]=Ee&255;++ir>>0,ft=ft>>>0,!ct){var _t=Math.pow(2,8*ft)-1;nt(this,Ee,Pe,ft,_t,0)}var Ct=ft-1,ir=1;for(this[Pe+Ct]=Ee&255;--Ct>=0&&(ir*=256);)this[Pe+Ct]=Ee/ir&255;return Pe+ft},f.prototype.writeUint8=f.prototype.writeUInt8=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,1,255,0),this[Pe]=Ee&255,Pe+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,2,65535,0),this[Pe]=Ee&255,this[Pe+1]=Ee>>>8,Pe+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,2,65535,0),this[Pe]=Ee>>>8,this[Pe+1]=Ee&255,Pe+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,4,4294967295,0),this[Pe+3]=Ee>>>24,this[Pe+2]=Ee>>>16,this[Pe+1]=Ee>>>8,this[Pe]=Ee&255,Pe+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,4,4294967295,0),this[Pe]=Ee>>>24,this[Pe+1]=Ee>>>16,this[Pe+2]=Ee>>>8,this[Pe+3]=Ee&255,Pe+4};function rt(Ce,Ee,Pe,ft,ct){Pt(Ee,ft,ct,Ce,Pe,7);var _t=Number(Ee&BigInt(4294967295));Ce[Pe++]=_t,_t=_t>>8,Ce[Pe++]=_t,_t=_t>>8,Ce[Pe++]=_t,_t=_t>>8,Ce[Pe++]=_t;var Ct=Number(Ee>>BigInt(32)&BigInt(4294967295));return Ce[Pe++]=Ct,Ct=Ct>>8,Ce[Pe++]=Ct,Ct=Ct>>8,Ce[Pe++]=Ct,Ct=Ct>>8,Ce[Pe++]=Ct,Pe}function st(Ce,Ee,Pe,ft,ct){Pt(Ee,ft,ct,Ce,Pe,7);var _t=Number(Ee&BigInt(4294967295));Ce[Pe+7]=_t,_t=_t>>8,Ce[Pe+6]=_t,_t=_t>>8,Ce[Pe+5]=_t,_t=_t>>8,Ce[Pe+4]=_t;var Ct=Number(Ee>>BigInt(32)&BigInt(4294967295));return Ce[Pe+3]=Ct,Ct=Ct>>8,Ce[Pe+2]=Ct,Ct=Ct>>8,Ce[Pe+1]=Ct,Ct=Ct>>8,Ce[Pe]=Ct,Pe+8}f.prototype.writeBigUInt64LE=Ie(function(Ee){var Pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return rt(this,Ee,Pe,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),f.prototype.writeBigUInt64BE=Ie(function(Ee){var Pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return st(this,Ee,Pe,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),f.prototype.writeIntLE=function(Ee,Pe,ft,ct){if(Ee=+Ee,Pe=Pe>>>0,!ct){var _t=Math.pow(2,8*ft-1);nt(this,Ee,Pe,ft,_t-1,-_t)}var Ct=0,ir=1,rr=0;for(this[Pe]=Ee&255;++Ct>0)-rr&255;return Pe+ft},f.prototype.writeIntBE=function(Ee,Pe,ft,ct){if(Ee=+Ee,Pe=Pe>>>0,!ct){var _t=Math.pow(2,8*ft-1);nt(this,Ee,Pe,ft,_t-1,-_t)}var Ct=ft-1,ir=1,rr=0;for(this[Pe+Ct]=Ee&255;--Ct>=0&&(ir*=256);)Ee<0&&rr===0&&this[Pe+Ct+1]!==0&&(rr=1),this[Pe+Ct]=(Ee/ir>>0)-rr&255;return Pe+ft},f.prototype.writeInt8=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,1,127,-128),Ee<0&&(Ee=255+Ee+1),this[Pe]=Ee&255,Pe+1},f.prototype.writeInt16LE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,2,32767,-32768),this[Pe]=Ee&255,this[Pe+1]=Ee>>>8,Pe+2},f.prototype.writeInt16BE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,2,32767,-32768),this[Pe]=Ee>>>8,this[Pe+1]=Ee&255,Pe+2},f.prototype.writeInt32LE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,4,2147483647,-2147483648),this[Pe]=Ee&255,this[Pe+1]=Ee>>>8,this[Pe+2]=Ee>>>16,this[Pe+3]=Ee>>>24,Pe+4},f.prototype.writeInt32BE=function(Ee,Pe,ft){return Ee=+Ee,Pe=Pe>>>0,ft||nt(this,Ee,Pe,4,2147483647,-2147483648),Ee<0&&(Ee=4294967295+Ee+1),this[Pe]=Ee>>>24,this[Pe+1]=Ee>>>16,this[Pe+2]=Ee>>>8,this[Pe+3]=Ee&255,Pe+4},f.prototype.writeBigInt64LE=Ie(function(Ee){var Pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return rt(this,Ee,Pe,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),f.prototype.writeBigInt64BE=Ie(function(Ee){var Pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return st(this,Ee,Pe,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function Me(Ce,Ee,Pe,ft,ct,_t){if(Pe+ft>Ce.length)throw new RangeError(\"Index out of range\");if(Pe<0)throw new RangeError(\"Index out of range\")}function ye(Ce,Ee,Pe,ft,ct){return Ee=+Ee,Pe=Pe>>>0,ct||Me(Ce,Ee,Pe,4,34028234663852886e22,-34028234663852886e22),g.write(Ce,Ee,Pe,ft,23,4),Pe+4}f.prototype.writeFloatLE=function(Ee,Pe,ft){return ye(this,Ee,Pe,!0,ft)},f.prototype.writeFloatBE=function(Ee,Pe,ft){return ye(this,Ee,Pe,!1,ft)};function he(Ce,Ee,Pe,ft,ct){return Ee=+Ee,Pe=Pe>>>0,ct||Me(Ce,Ee,Pe,8,17976931348623157e292,-17976931348623157e292),g.write(Ce,Ee,Pe,ft,52,8),Pe+8}f.prototype.writeDoubleLE=function(Ee,Pe,ft){return he(this,Ee,Pe,!0,ft)},f.prototype.writeDoubleBE=function(Ee,Pe,ft){return he(this,Ee,Pe,!1,ft)},f.prototype.copy=function(Ee,Pe,ft,ct){if(!f.isBuffer(Ee))throw new TypeError(\"argument should be a Buffer\");if(ft||(ft=0),!ct&&ct!==0&&(ct=this.length),Pe>=Ee.length&&(Pe=Ee.length),Pe||(Pe=0),ct>0&&ct=this.length)throw new RangeError(\"Index out of range\");if(ct<0)throw new RangeError(\"sourceEnd out of bounds\");ct>this.length&&(ct=this.length),Ee.length-Pe>>0,ft=ft===void 0?this.length:ft>>>0,Ee||(Ee=0);var Ct;if(typeof Ee==\"number\")for(Ct=Pe;CtMath.pow(2,32)?ct=ot(String(Pe)):typeof Pe==\"bigint\"&&(ct=String(Pe),(Pe>Math.pow(BigInt(2),BigInt(32))||Pe<-Math.pow(BigInt(2),BigInt(32)))&&(ct=ot(ct)),ct+=\"n\"),ft+=\" It must be \".concat(Ee,\". Received \").concat(ct),ft},RangeError);function ot(Ce){for(var Ee=\"\",Pe=Ce.length,ft=Ce[0]===\"-\"?1:0;Pe>=ft+4;Pe-=3)Ee=\"_\".concat(Ce.slice(Pe-3,Pe)).concat(Ee);return\"\".concat(Ce.slice(0,Pe)).concat(Ee)}function Qe(Ce,Ee,Pe){It(Ee,\"offset\"),(Ce[Ee]===void 0||Ce[Ee+Pe]===void 0)&&qt(Ee,Ce.length-(Pe+1))}function Pt(Ce,Ee,Pe,ft,ct,_t){if(Ce>Pe||Ce3?Ee===0||Ee===BigInt(0)?ir=\">= 0\".concat(Ct,\" and < 2\").concat(Ct,\" ** \").concat((_t+1)*8).concat(Ct):ir=\">= -(2\".concat(Ct,\" ** \").concat((_t+1)*8-1).concat(Ct,\") and < 2 ** \")+\"\".concat((_t+1)*8-1).concat(Ct):ir=\">= \".concat(Ee).concat(Ct,\" and <= \").concat(Pe).concat(Ct),new Oe.ERR_OUT_OF_RANGE(\"value\",ir,Ce)}Qe(ft,ct,_t)}function It(Ce,Ee){if(typeof Ce!=\"number\")throw new Oe.ERR_INVALID_ARG_TYPE(Ee,\"number\",Ce)}function qt(Ce,Ee,Pe){throw Math.floor(Ce)!==Ce?(It(Ce,Pe),new Oe.ERR_OUT_OF_RANGE(Pe||\"offset\",\"an integer\",Ce)):Ee<0?new Oe.ERR_BUFFER_OUT_OF_BOUNDS:new Oe.ERR_OUT_OF_RANGE(Pe||\"offset\",\">= \".concat(Pe?1:0,\" and <= \").concat(Ee),Ce)}var Wt=/[^+/0-9A-Za-z-_]/g;function kr(Ce){if(Ce=Ce.split(\"=\")[0],Ce=Ce.trim().replace(Wt,\"\"),Ce.length<2)return\"\";for(;Ce.length%4!==0;)Ce=Ce+\"=\";return Ce}function mr(Ce,Ee){Ee=Ee||1/0;for(var Pe,ft=Ce.length,ct=null,_t=[],Ct=0;Ct55295&&Pe<57344){if(!ct){if(Pe>56319){(Ee-=3)>-1&&_t.push(239,191,189);continue}else if(Ct+1===ft){(Ee-=3)>-1&&_t.push(239,191,189);continue}ct=Pe;continue}if(Pe<56320){(Ee-=3)>-1&&_t.push(239,191,189),ct=Pe;continue}Pe=(ct-55296<<10|Pe-56320)+65536}else ct&&(Ee-=3)>-1&&_t.push(239,191,189);if(ct=null,Pe<128){if((Ee-=1)<0)break;_t.push(Pe)}else if(Pe<2048){if((Ee-=2)<0)break;_t.push(Pe>>6|192,Pe&63|128)}else if(Pe<65536){if((Ee-=3)<0)break;_t.push(Pe>>12|224,Pe>>6&63|128,Pe&63|128)}else if(Pe<1114112){if((Ee-=4)<0)break;_t.push(Pe>>18|240,Pe>>12&63|128,Pe>>6&63|128,Pe&63|128)}else throw new Error(\"Invalid code point\")}return _t}function qr(Ce){for(var Ee=[],Pe=0;Pe>8,ct=Pe%256,_t.push(ct),_t.push(ft);return _t}function Rr(Ce){return M.toByteArray(kr(Ce))}function wt(Ce,Ee,Pe,ft){var ct;for(ct=0;ct=Ee.length||ct>=Ce.length);++ct)Ee[ct+Pe]=Ce[ct];return ct}function Ne(Ce,Ee){return Ce instanceof Ee||Ce!=null&&Ce.constructor!=null&&Ce.constructor.name!=null&&Ce.constructor.name===Ee.name}function Ke(Ce){return Ce!==Ce}var Te=function(){for(var Ce=\"0123456789abcdef\",Ee=new Array(256),Pe=0;Pe<16;++Pe)for(var ft=Pe*16,ct=0;ct<16;++ct)Ee[ft+ct]=Ce[Pe]+Ce[ct];return Ee}();function Ie(Ce){return typeof BigInt>\"u\"?Ve:Ce}function Ve(){throw new Error(\"BigInt not supported\")}},4844:function(e){e.exports=t;function t(r,o,a,n){return r[0]=o[0]+a[0]*n,r[1]=o[1]+a[1]*n,r[2]=o[2]+a[2]*n,r[3]=o[3]+a[3]*n,r}},4905:function(e,t,r){var o=r(5874);e.exports=a;function a(n,i){var s=o(i),h=[];return h=h.concat(s(n)),h=h.concat(s(null)),h}},4935:function(e,t,r){\"use strict\";e.exports=_;var o=r(2762),a=r(8116),n=r(4359),i=r(1879).Q,s=window||process.global||{},h=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};var c=3;function m(w,A,M,g){this.gl=w,this.shader=A,this.buffer=M,this.vao=g,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var p=m.prototype,T=[0,0];p.bind=function(w,A,M,g){this.vao.bind(),this.shader.bind();var b=this.shader.uniforms;b.model=w,b.view=A,b.projection=M,b.pixelScale=g,T[0]=this.gl.drawingBufferWidth,T[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=T},p.unbind=function(){this.vao.unbind()},p.update=function(w,A,M,g,b){var d=[];function u(U,B,X,$,se,le){var fe=[X.style,X.weight,X.variant,X.family].join(\"_\"),V=h[fe];V||(V=h[fe]={});var Y=V[B];Y||(Y=V[B]=l(B,{triangles:!0,font:X.family,fontStyle:X.style,fontWeight:X.weight,fontVariant:X.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:se,styletags:le}));for(var ee=($||12)/12,q=Y.positions,oe=Y.cells,ae=0,j=oe.length;ae=0;--re){var ce=q[Q[re]];d.push(ee*ce[0],-ee*ce[1],U)}}for(var y=[0,0,0],f=[0,0,0],R=[0,0,0],L=[0,0,0],z=1.25,F={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},N=0;N<3;++N){R[N]=d.length/c|0,u(.5*(w[0][N]+w[1][N]),A[N],M[N],12,z,F),L[N]=(d.length/c|0)-R[N],y[N]=d.length/c|0;for(var O=0;O0||A.length>0;){for(;w.length>0;){var u=w.pop();if(M[u]!==-_){M[u]=_;for(var y=g[u],f=0;f<3;++f){var R=d[3*u+f];R>=0&&M[R]===0&&(b[3*u+f]?A.push(R):(w.push(R),M[R]=_))}}}var L=A;A=w,w=L,A.length=0,_=-_}var z=h(g,M,p);return T?z.concat(l.boundary):z}},5033:function(e){\"use strict\";e.exports=t;function t(r,o,a){var n=o||0,i=a||1;return[[r[12]+r[0],r[13]+r[1],r[14]+r[2],r[15]+r[3]],[r[12]-r[0],r[13]-r[1],r[14]-r[2],r[15]-r[3]],[r[12]+r[4],r[13]+r[5],r[14]+r[6],r[15]+r[7]],[r[12]-r[4],r[13]-r[5],r[14]-r[6],r[15]-r[7]],[n*r[12]+r[8],n*r[13]+r[9],n*r[14]+r[10],n*r[15]+r[11]],[i*r[12]-r[8],i*r[13]-r[9],i*r[14]-r[10],i*r[15]-r[11]]]}},5085:function(e,t,r){e.exports=_;var o=r(3250)[3],a=r(4209),n=r(3352),i=r(2478);function s(){return!0}function h(w){return function(A,M){var g=w[A];return g?!!g.queryPoint(M,s):!1}}function c(w){for(var A={},M=0;M0&&A[g]===M[0])b=w[g-1];else return 1;for(var d=1;b;){var u=b.key,y=o(M,u[0],u[1]);if(u[0][0]0)d=-1,b=b.right;else return 0;else if(y>0)b=b.left;else if(y<0)d=1,b=b.right;else return 0}return d}}function p(w){return 1}function T(w){return function(M){return w(M[0],M[1])?0:1}}function l(w,A){return function(g){return w(g[0],g[1])?0:A(g)}}function _(w){for(var A=w.length,M=[],g=[],b=0,d=0;d\"u\"?r(606):WeakMap,i=new n,s=0;function h(A,M,g,b,d,u,y){this.id=A,this.src=M,this.type=g,this.shader=b,this.count=u,this.programs=[],this.cache=y}h.prototype.dispose=function(){if(--this.count===0){for(var A=this.cache,M=A.gl,g=this.programs,b=0,d=g.length;b0&&(h=1/Math.sqrt(h),r[0]=a*h,r[1]=n*h,r[2]=i*h,r[3]=s*h),r}},5202:function(e,t,r){\"use strict\";var o=r(1944),a=r(8210);e.exports=s,e.exports.positive=h,e.exports.negative=c;function n(m,p){var T=a(o(m,p),[p[p.length-1]]);return T[T.length-1]}function i(m,p,T,l){var _=l-p,w=-p/_;w<0?w=0:w>1&&(w=1);for(var A=1-w,M=m.length,g=new Array(M),b=0;b0||_>0&&g<0){var b=i(w,g,A,_);T.push(b),l.push(b.slice())}g<0?l.push(A.slice()):g>0?T.push(A.slice()):(T.push(A.slice()),l.push(A.slice())),_=g}return{positive:T,negative:l}}function h(m,p){for(var T=[],l=n(m[m.length-1],p),_=m[m.length-1],w=m[0],A=0;A0||l>0&&M<0)&&T.push(i(_,M,w,l)),M>=0&&T.push(w.slice()),l=M}return T}function c(m,p){for(var T=[],l=n(m[m.length-1],p),_=m[m.length-1],w=m[0],A=0;A0||l>0&&M<0)&&T.push(i(_,M,w,l)),M<=0&&T.push(w.slice()),l=M}return T}},5219:function(e){\"use strict\";e.exports=function(t){for(var r=t.length,o,a=0;a13)&&o!==32&&o!==133&&o!==160&&o!==5760&&o!==6158&&(o<8192||o>8205)&&o!==8232&&o!==8233&&o!==8239&&o!==8287&&o!==8288&&o!==12288&&o!==65279)return!1;return!0}},5250:function(e){\"use strict\";e.exports=r;var t=+(Math.pow(2,27)+1);function r(o,a,n){var i=o*a,s=t*o,h=s-o,c=s-h,m=o-c,p=t*a,T=p-a,l=p-T,_=a-l,w=i-c*l,A=w-m*l,M=A-c*_,g=m*_-M;return n?(n[0]=g,n[1]=i,n):[g,i]}},5298:function(e,t){\"use strict\";var r={\"float64,2,1,0\":function(){return function(m,p,T,l,_){var w=m[0],A=m[1],M=m[2],g=T[0],b=T[1],d=T[2];l|=0;var u=0,y=0,f=0,R=d,L=b-M*d,z=g-A*b;for(f=0;f0;){O<64?(g=O,O=0):(g=64,O-=64);for(var P=m[1]|0;P>0;){P<64?(b=P,P=0):(b=64,P-=64),l=F+O*u+P*y,A=N+O*R+P*L;var U=0,B=0,X=0,$=f,se=u-d*f,le=y-g*u,fe=z,V=R-d*z,Y=L-g*R;for(X=0;X0;){L<64?(g=L,L=0):(g=64,L-=64);for(var z=m[0]|0;z>0;){z<64?(M=z,z=0):(M=64,z-=64),l=f+L*d+z*b,A=R+L*y+z*u;var F=0,N=0,O=d,P=b-g*d,U=y,B=u-g*y;for(N=0;N0;){N<64?(b=N,N=0):(b=64,N-=64);for(var O=m[0]|0;O>0;){O<64?(M=O,O=0):(M=64,O-=64);for(var P=m[1]|0;P>0;){P<64?(g=P,P=0):(g=64,P-=64),l=z+N*y+O*d+P*u,A=F+N*L+O*f+P*R;var U=0,B=0,X=0,$=y,se=d-b*y,le=u-M*d,fe=L,V=f-b*L,Y=R-M*f;for(X=0;X=0}}(),n.removeTriangle=function(h,c,m){var p=this.stars;i(p[h],c,m),i(p[c],m,h),i(p[m],h,c)},n.addTriangle=function(h,c,m){var p=this.stars;p[h].push(c,m),p[c].push(m,h),p[m].push(h,c)},n.opposite=function(h,c){for(var m=this.stars[c],p=1,T=m.length;p0;){var l=m.pop();h[l]=!1;for(var _=s[l],p=0;p<_.length;++p){var w=_[p];--c[w]===0&&m.push(w)}}for(var A=new Array(i.length),M=[],p=0;p0){for(var fe=0;fe<24;++fe)L.push(L[L.length-12]);O+=2,$=!0}continue e}P[0][f]=Math.min(P[0][f],se[f],le[f]),P[1][f]=Math.max(P[1][f],se[f],le[f])}var V,Y;Array.isArray(B[0])?(V=B.length>y-1?B[y-1]:B.length>0?B[B.length-1]:[0,0,0,1],Y=B.length>y?B[y]:B.length>0?B[B.length-1]:[0,0,0,1]):V=Y=B,V.length===3&&(V=[V[0],V[1],V[2],1]),Y.length===3&&(Y=[Y[0],Y[1],Y[2],1]),!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0);var ee;Array.isArray(X)?ee=X.length>y-1?X[y-1]:X.length>0?X[X.length-1]:[0,0,0,1]:ee=X;var q=N;if(N+=w(se,le),$){for(f=0;f<2;++f)L.push(se[0],se[1],se[2],le[0],le[1],le[2],q,ee,V[0],V[1],V[2],V[3]);O+=2,$=!1}L.push(se[0],se[1],se[2],le[0],le[1],le[2],q,ee,V[0],V[1],V[2],V[3],se[0],se[1],se[2],le[0],le[1],le[2],q,-ee,V[0],V[1],V[2],V[3],le[0],le[1],le[2],se[0],se[1],se[2],N,-ee,Y[0],Y[1],Y[2],Y[3],le[0],le[1],le[2],se[0],se[1],se[2],N,ee,Y[0],Y[1],Y[2],Y[3]),O+=4}}if(this.buffer.update(L),z.push(N),F.push(U[U.length-1].slice()),this.bounds=P,this.vertexCount=O,this.points=F,this.arcLength=z,\"dashes\"in u){var oe=u.dashes,ae=oe.slice();for(ae.unshift(0),y=1;yr[a][0]&&(a=n);return oa?[[a],[o]]:[[o]]}},5771:function(e,t,r){\"use strict\";var o=r(8507),a=r(3788),n=r(2419);e.exports=i;function i(s){s.sort(a);for(var h=s.length,c=0,m=0;m0){var l=s[c-1];if(o(p,l)===0&&n(l)!==T){c-=1;continue}}s[c++]=p}}return s.length=c,s}},5838:function(e,t,r){\"use strict\";e.exports=a;var o=r(7842);function a(n){for(var i=new Array(n.length),s=0;s0)continue;ot=he.slice(0,1).join(\"\")}return Q(ot),le+=ot.length,P=P.slice(ot.length),P.length}while(!0)}function rt(){return/[^a-fA-F0-9]/.test(N)?(Q(P.join(\"\")),F=h,L):(P.push(N),O=N,L+1)}function st(){return N===\".\"||/[eE]/.test(N)?(P.push(N),F=w,O=N,L+1):N===\"x\"&&P.length===1&&P[0]===\"0\"?(F=u,P.push(N),O=N,L+1):/[^\\d]/.test(N)?(Q(P.join(\"\")),F=h,L):(P.push(N),O=N,L+1)}function Me(){return N===\"f\"&&(P.push(N),O=N,L+=1),/[eE]/.test(N)||(N===\"-\"||N===\"+\")&&/[eE]/.test(O)?(P.push(N),O=N,L+1):/[^\\d]/.test(N)?(Q(P.join(\"\")),F=h,L):(P.push(N),O=N,L+1)}function ye(){if(/[^\\d\\w_]/.test(N)){var he=P.join(\"\");return j[he]?F=g:ae[he]?F=M:F=A,Q(P.join(\"\")),F=h,L}return P.push(N),O=N,L+1}}},5878:function(e,t,r){\"use strict\";e.exports=i;var o=r(3250),a=r(2014);function n(s,h,c){var m=Math.abs(o(s,h,c)),p=Math.sqrt(Math.pow(h[0]-c[0],2)+Math.pow(h[1]-c[1],2));return m/p}function i(s,h,c){for(var m=h.length,p=s.length,T=new Array(m),l=new Array(m),_=new Array(m),w=new Array(m),A=0;A>1:(V>>1)-1}function R(V){for(var Y=y(V);;){var ee=Y,q=2*V+1,oe=2*(V+1),ae=V;if(q0;){var ee=f(V);if(ee>=0){var q=y(ee);if(Y0){var V=O[0];return u(0,B-1),B-=1,R(0),V}return-1}function F(V,Y){var ee=O[V];return _[ee]===Y?V:(_[ee]=-1/0,L(V),z(),_[ee]=Y,B+=1,L(B-1))}function N(V){if(!w[V]){w[V]=!0;var Y=T[V],ee=l[V];T[ee]>=0&&(T[ee]=Y),l[Y]>=0&&(l[Y]=ee),P[Y]>=0&&F(P[Y],d(Y)),P[ee]>=0&&F(P[ee],d(ee))}}for(var O=[],P=new Array(m),A=0;A>1;A>=0;--A)R(A);for(;;){var X=z();if(X<0||_[X]>c)break;N(X)}for(var $=[],A=0;A=0&&ee>=0&&Y!==ee){var q=P[Y],oe=P[ee];q!==oe&&fe.push([q,oe])}}),a.unique(a.normalize(fe)),{positions:$,edges:fe}}},5911:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=a[0],c=a[1],m=a[2];return r[0]=i*m-s*c,r[1]=s*h-n*m,r[2]=n*c-i*h,r}},5964:function(e){\"use strict\";e.exports=function(t){return!t&&t!==0?\"\":t.toString()}},5995:function(e,t,r){\"use strict\";e.exports=n;var o=r(7642),a=r(6037);function n(i,s){return o(s).filter(function(h){for(var c=new Array(h.length),m=0;m2&&f[1]>2&&d(y.pick(-1,-1).lo(1,1).hi(f[0]-2,f[1]-2),u.pick(-1,-1,0).lo(1,1).hi(f[0]-2,f[1]-2),u.pick(-1,-1,1).lo(1,1).hi(f[0]-2,f[1]-2)),f[1]>2&&(b(y.pick(0,-1).lo(1).hi(f[1]-2),u.pick(0,-1,1).lo(1).hi(f[1]-2)),g(u.pick(0,-1,0).lo(1).hi(f[1]-2))),f[1]>2&&(b(y.pick(f[0]-1,-1).lo(1).hi(f[1]-2),u.pick(f[0]-1,-1,1).lo(1).hi(f[1]-2)),g(u.pick(f[0]-1,-1,0).lo(1).hi(f[1]-2))),f[0]>2&&(b(y.pick(-1,0).lo(1).hi(f[0]-2),u.pick(-1,0,0).lo(1).hi(f[0]-2)),g(u.pick(-1,0,1).lo(1).hi(f[0]-2))),f[0]>2&&(b(y.pick(-1,f[1]-1).lo(1).hi(f[0]-2),u.pick(-1,f[1]-1,0).lo(1).hi(f[0]-2)),g(u.pick(-1,f[1]-1,1).lo(1).hi(f[0]-2))),u.set(0,0,0,0),u.set(0,0,1,0),u.set(f[0]-1,0,0,0),u.set(f[0]-1,0,1,0),u.set(0,f[1]-1,0,0),u.set(0,f[1]-1,1,0),u.set(f[0]-1,f[1]-1,0,0),u.set(f[0]-1,f[1]-1,1,0),u}}function A(M){var g=M.join(),f=m[g];if(f)return f;for(var b=M.length,d=[T,l],u=1;u<=b;++u)d.push(_(u));var y=w,f=y.apply(void 0,d);return m[g]=f,f}e.exports=function(g,b,d){if(Array.isArray(d)||(typeof d==\"string\"?d=o(b.dimension,d):d=o(b.dimension,\"clamp\")),b.size===0)return g;if(b.dimension===0)return g.set(0),g;var u=A(d);return u(g,b)}},6204:function(e){\"use strict\";e.exports=t;function t(r){var o,a,n,i=r.length,s=0;for(o=0;om&&(m=o.length(L)),f&&!y){var z=2*o.distance(M,R)/(o.length(g)+o.length(L));z?(d=Math.min(d,z),u=!1):u=!0}u||(M=R,g=L),b.push(L)}var F=[p,l,w],N=[T,_,A];i&&(i[0]=F,i[1]=N),m===0&&(m=1);var O=1/m;isFinite(d)||(d=1),c.vectorScale=d;var P=n.coneSize||(y?1:.5);n.absoluteConeSize&&(P=n.absoluteConeSize*O),c.coneScale=P;for(var f=0,U=0;f$&&(N|=1<$){N|=1<c[L][1])&&(oe=L);for(var ae=-1,L=0;L<3;++L){var j=oe^1<c[Q][0]&&(Q=j)}}var re=w;re[0]=re[1]=re[2]=0,re[o.log2(ae^oe)]=oe&ae,re[o.log2(oe^Q)]=oe&Q;var ce=Q^7;ce===N||ce===q?(ce=ae^7,re[o.log2(Q^ce)]=ce&Q):re[o.log2(ae^ce)]=ce&ae;for(var be=A,Ae=N,U=0;U<3;++U)Ae&1<=0&&(c=s.length-h-1);var m=Math.pow(10,c),p=Math.round(n*i*m),T=p+\"\";if(T.indexOf(\"e\")>=0)return T;var l=p/m,_=p%m;p<0?(l=-Math.ceil(l)|0,_=-_|0):(l=Math.floor(l)|0,_=_|0);var w=\"\"+l;if(p<0&&(w=\"-\"+w),c){for(var A=\"\"+_;A.length=n[0][h];--p)c.push({x:p*i[h],text:r(i[h],p)});s.push(c)}return s}function a(n,i){for(var s=0;s<3;++s){if(n[s].length!==i[s].length)return!1;for(var h=0;hM+1)throw new Error(w+\" map requires nshades to be at least size \"+_.length);Array.isArray(c.alpha)?c.alpha.length!==2?g=[1,1]:g=c.alpha.slice():typeof c.alpha==\"number\"?g=[c.alpha,c.alpha]:g=[1,1],m=_.map(function(R){return Math.round(R.index*M)}),g[0]=Math.min(Math.max(g[0],0),1),g[1]=Math.min(Math.max(g[1],0),1);var d=_.map(function(R,L){var z=_[L].index,F=_[L].rgb.slice();return F.length===4&&F[3]>=0&&F[3]<=1||(F[3]=g[0]+(g[1]-g[0])*z),F}),u=[];for(b=0;b 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`]),n=o([`#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`]),i=o([`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=o([`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}`]);t.meshShader={vertex:a,fragment:n,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},t.pickShader={vertex:i,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},6743:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=o[3],c=n+n,m=i+i,p=s+s,T=n*c,l=n*m,_=n*p,w=i*m,A=i*p,M=s*p,g=h*c,b=h*m,d=h*p;return r[0]=1-(w+M),r[1]=l+d,r[2]=_-b,r[3]=0,r[4]=l-d,r[5]=1-(T+M),r[6]=A+g,r[7]=0,r[8]=_+b,r[9]=A-g,r[10]=1-(T+w),r[11]=0,r[12]=a[0],r[13]=a[1],r[14]=a[2],r[15]=1,r}},6760:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=o[3],c=o[4],m=o[5],p=o[6],T=o[7],l=o[8],_=o[9],w=o[10],A=o[11],M=o[12],g=o[13],b=o[14],d=o[15],u=a[0],y=a[1],f=a[2],R=a[3];return r[0]=u*n+y*c+f*l+R*M,r[1]=u*i+y*m+f*_+R*g,r[2]=u*s+y*p+f*w+R*b,r[3]=u*h+y*T+f*A+R*d,u=a[4],y=a[5],f=a[6],R=a[7],r[4]=u*n+y*c+f*l+R*M,r[5]=u*i+y*m+f*_+R*g,r[6]=u*s+y*p+f*w+R*b,r[7]=u*h+y*T+f*A+R*d,u=a[8],y=a[9],f=a[10],R=a[11],r[8]=u*n+y*c+f*l+R*M,r[9]=u*i+y*m+f*_+R*g,r[10]=u*s+y*p+f*w+R*b,r[11]=u*h+y*T+f*A+R*d,u=a[12],y=a[13],f=a[14],R=a[15],r[12]=u*n+y*c+f*l+R*M,r[13]=u*i+y*m+f*_+R*g,r[14]=u*s+y*p+f*w+R*b,r[15]=u*h+y*T+f*A+R*d,r}},6768:function(e,t,r){\"use strict\";var o=r(6859);e.exports=a;function a(n){return new o(n)}},6803:function(e,t,r){\"use strict\";var o,a=r(8828),n=r(1755);function i(y){for(var f=0,R=Math.max,L=0,z=y.length;L>1,N=c(y[F],f);N<=0?(N===0&&(z=F),R=F+1):N>0&&(L=F-1)}return z}o=l;function _(y,f){for(var R=new Array(y.length),L=0,z=R.length;L=y.length||c(y[se],F)!==0););}return R}o=_;function w(y,f){if(!f)return _(T(M(y,0)),y,0);for(var R=new Array(f),L=0;L>>U&1&&P.push(z[U]);f.push(P)}return p(f)}o=A;function M(y,f){if(f<0)return[];for(var R=[],L=(1<0?P:U},s.min=function(P,U){return P.cmp(U)<0?P:U},s.prototype._init=function(P,U,B){if(typeof P==\"number\")return this._initNumber(P,U,B);if(typeof P==\"object\")return this._initArray(P,U,B);U===\"hex\"&&(U=16),n(U===(U|0)&&U>=2&&U<=36),P=P.toString().replace(/\\s+/g,\"\");var X=0;P[0]===\"-\"&&(X++,this.negative=1),X=0;X-=3)se=P[X]|P[X-1]<<8|P[X-2]<<16,this.words[$]|=se<>>26-le&67108863,le+=24,le>=26&&(le-=26,$++);else if(B===\"le\")for(X=0,$=0;X>>26-le&67108863,le+=24,le>=26&&(le-=26,$++);return this.strip()};function c(O,P){var U=O.charCodeAt(P);return U>=65&&U<=70?U-55:U>=97&&U<=102?U-87:U-48&15}function m(O,P,U){var B=c(O,U);return U-1>=P&&(B|=c(O,U-1)<<4),B}s.prototype._parseHex=function(P,U,B){this.length=Math.ceil((P.length-U)/6),this.words=new Array(this.length);for(var X=0;X=U;X-=2)le=m(P,U,X)<<$,this.words[se]|=le&67108863,$>=18?($-=18,se+=1,this.words[se]|=le>>>26):$+=8;else{var fe=P.length-U;for(X=fe%2===0?U+1:U;X=18?($-=18,se+=1,this.words[se]|=le>>>26):$+=8}this.strip()};function p(O,P,U,B){for(var X=0,$=Math.min(O.length,U),se=P;se<$;se++){var le=O.charCodeAt(se)-48;X*=B,le>=49?X+=le-49+10:le>=17?X+=le-17+10:X+=le}return X}s.prototype._parseBase=function(P,U,B){this.words=[0],this.length=1;for(var X=0,$=1;$<=67108863;$*=U)X++;X--,$=$/U|0;for(var se=P.length-B,le=se%X,fe=Math.min(se,se-le)+B,V=0,Y=B;Y1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?\"\"};var T=[\"\",\"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\"],l=[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],_=[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];s.prototype.toString=function(P,U){P=P||10,U=U|0||1;var B;if(P===16||P===\"hex\"){B=\"\";for(var X=0,$=0,se=0;se>>24-X&16777215,$!==0||se!==this.length-1?B=T[6-fe.length]+fe+B:B=fe+B,X+=2,X>=26&&(X-=26,se--)}for($!==0&&(B=$.toString(16)+B);B.length%U!==0;)B=\"0\"+B;return this.negative!==0&&(B=\"-\"+B),B}if(P===(P|0)&&P>=2&&P<=36){var V=l[P],Y=_[P];B=\"\";var ee=this.clone();for(ee.negative=0;!ee.isZero();){var q=ee.modn(Y).toString(P);ee=ee.idivn(Y),ee.isZero()?B=q+B:B=T[V-q.length]+q+B}for(this.isZero()&&(B=\"0\"+B);B.length%U!==0;)B=\"0\"+B;return this.negative!==0&&(B=\"-\"+B),B}n(!1,\"Base should be between 2 and 36\")},s.prototype.toNumber=function(){var P=this.words[0];return this.length===2?P+=this.words[1]*67108864:this.length===3&&this.words[2]===1?P+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-P:P},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(P,U){return n(typeof h<\"u\"),this.toArrayLike(h,P,U)},s.prototype.toArray=function(P,U){return this.toArrayLike(Array,P,U)},s.prototype.toArrayLike=function(P,U,B){var X=this.byteLength(),$=B||Math.max(1,X);n(X<=$,\"byte array longer than desired length\"),n($>0,\"Requested array length <= 0\"),this.strip();var se=U===\"le\",le=new P($),fe,V,Y=this.clone();if(se){for(V=0;!Y.isZero();V++)fe=Y.andln(255),Y.iushrn(8),le[V]=fe;for(;V<$;V++)le[V]=0}else{for(V=0;V<$-X;V++)le[V]=0;for(V=0;!Y.isZero();V++)fe=Y.andln(255),Y.iushrn(8),le[$-V-1]=fe}return le},Math.clz32?s.prototype._countBits=function(P){return 32-Math.clz32(P)}:s.prototype._countBits=function(P){var U=P,B=0;return U>=4096&&(B+=13,U>>>=13),U>=64&&(B+=7,U>>>=7),U>=8&&(B+=4,U>>>=4),U>=2&&(B+=2,U>>>=2),B+U},s.prototype._zeroBits=function(P){if(P===0)return 26;var U=P,B=0;return U&8191||(B+=13,U>>>=13),U&127||(B+=7,U>>>=7),U&15||(B+=4,U>>>=4),U&3||(B+=2,U>>>=2),U&1||B++,B},s.prototype.bitLength=function(){var P=this.words[this.length-1],U=this._countBits(P);return(this.length-1)*26+U};function w(O){for(var P=new Array(O.bitLength()),U=0;U>>X}return P}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var P=0,U=0;UP.length?this.clone().ior(P):P.clone().ior(this)},s.prototype.uor=function(P){return this.length>P.length?this.clone().iuor(P):P.clone().iuor(this)},s.prototype.iuand=function(P){var U;this.length>P.length?U=P:U=this;for(var B=0;BP.length?this.clone().iand(P):P.clone().iand(this)},s.prototype.uand=function(P){return this.length>P.length?this.clone().iuand(P):P.clone().iuand(this)},s.prototype.iuxor=function(P){var U,B;this.length>P.length?(U=this,B=P):(U=P,B=this);for(var X=0;XP.length?this.clone().ixor(P):P.clone().ixor(this)},s.prototype.uxor=function(P){return this.length>P.length?this.clone().iuxor(P):P.clone().iuxor(this)},s.prototype.inotn=function(P){n(typeof P==\"number\"&&P>=0);var U=Math.ceil(P/26)|0,B=P%26;this._expand(U),B>0&&U--;for(var X=0;X0&&(this.words[X]=~this.words[X]&67108863>>26-B),this.strip()},s.prototype.notn=function(P){return this.clone().inotn(P)},s.prototype.setn=function(P,U){n(typeof P==\"number\"&&P>=0);var B=P/26|0,X=P%26;return this._expand(B+1),U?this.words[B]=this.words[B]|1<P.length?(B=this,X=P):(B=P,X=this);for(var $=0,se=0;se>>26;for(;$!==0&&se>>26;if(this.length=B.length,$!==0)this.words[this.length]=$,this.length++;else if(B!==this)for(;seP.length?this.clone().iadd(P):P.clone().iadd(this)},s.prototype.isub=function(P){if(P.negative!==0){P.negative=0;var U=this.iadd(P);return P.negative=1,U._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(P),this.negative=1,this._normSign();var B=this.cmp(P);if(B===0)return this.negative=0,this.length=1,this.words[0]=0,this;var X,$;B>0?(X=this,$=P):(X=P,$=this);for(var se=0,le=0;le<$.length;le++)U=(X.words[le]|0)-($.words[le]|0)+se,se=U>>26,this.words[le]=U&67108863;for(;se!==0&&le>26,this.words[le]=U&67108863;if(se===0&&le>>26,ee=fe&67108863,q=Math.min(V,P.length-1),oe=Math.max(0,V-O.length+1);oe<=q;oe++){var ae=V-oe|0;X=O.words[ae]|0,$=P.words[oe]|0,se=X*$+ee,Y+=se/67108864|0,ee=se&67108863}U.words[V]=ee|0,fe=Y|0}return fe!==0?U.words[V]=fe|0:U.length--,U.strip()}var M=function(P,U,B){var X=P.words,$=U.words,se=B.words,le=0,fe,V,Y,ee=X[0]|0,q=ee&8191,oe=ee>>>13,ae=X[1]|0,j=ae&8191,Q=ae>>>13,re=X[2]|0,ce=re&8191,be=re>>>13,Ae=X[3]|0,De=Ae&8191,ze=Ae>>>13,Ze=X[4]|0,at=Ze&8191,nt=Ze>>>13,rt=X[5]|0,st=rt&8191,Me=rt>>>13,ye=X[6]|0,he=ye&8191,Oe=ye>>>13,tt=X[7]|0,ot=tt&8191,Qe=tt>>>13,Pt=X[8]|0,It=Pt&8191,qt=Pt>>>13,Wt=X[9]|0,kr=Wt&8191,mr=Wt>>>13,qr=$[0]|0,Sr=qr&8191,Rr=qr>>>13,wt=$[1]|0,Ne=wt&8191,Ke=wt>>>13,Te=$[2]|0,Ie=Te&8191,Ve=Te>>>13,Ce=$[3]|0,Ee=Ce&8191,Pe=Ce>>>13,ft=$[4]|0,ct=ft&8191,_t=ft>>>13,Ct=$[5]|0,ir=Ct&8191,rr=Ct>>>13,er=$[6]|0,Lr=er&8191,fa=er>>>13,Da=$[7]|0,Ia=Da&8191,qa=Da>>>13,Wa=$[8]|0,Ca=Wa&8191,hi=Wa>>>13,wi=$[9]|0,Kt=wi&8191,Ft=wi>>>13;B.negative=P.negative^U.negative,B.length=19,fe=Math.imul(q,Sr),V=Math.imul(q,Rr),V=V+Math.imul(oe,Sr)|0,Y=Math.imul(oe,Rr);var Yt=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Yt>>>26)|0,Yt&=67108863,fe=Math.imul(j,Sr),V=Math.imul(j,Rr),V=V+Math.imul(Q,Sr)|0,Y=Math.imul(Q,Rr),fe=fe+Math.imul(q,Ne)|0,V=V+Math.imul(q,Ke)|0,V=V+Math.imul(oe,Ne)|0,Y=Y+Math.imul(oe,Ke)|0;var Jt=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Jt>>>26)|0,Jt&=67108863,fe=Math.imul(ce,Sr),V=Math.imul(ce,Rr),V=V+Math.imul(be,Sr)|0,Y=Math.imul(be,Rr),fe=fe+Math.imul(j,Ne)|0,V=V+Math.imul(j,Ke)|0,V=V+Math.imul(Q,Ne)|0,Y=Y+Math.imul(Q,Ke)|0,fe=fe+Math.imul(q,Ie)|0,V=V+Math.imul(q,Ve)|0,V=V+Math.imul(oe,Ie)|0,Y=Y+Math.imul(oe,Ve)|0;var Fr=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,fe=Math.imul(De,Sr),V=Math.imul(De,Rr),V=V+Math.imul(ze,Sr)|0,Y=Math.imul(ze,Rr),fe=fe+Math.imul(ce,Ne)|0,V=V+Math.imul(ce,Ke)|0,V=V+Math.imul(be,Ne)|0,Y=Y+Math.imul(be,Ke)|0,fe=fe+Math.imul(j,Ie)|0,V=V+Math.imul(j,Ve)|0,V=V+Math.imul(Q,Ie)|0,Y=Y+Math.imul(Q,Ve)|0,fe=fe+Math.imul(q,Ee)|0,V=V+Math.imul(q,Pe)|0,V=V+Math.imul(oe,Ee)|0,Y=Y+Math.imul(oe,Pe)|0;var ta=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(ta>>>26)|0,ta&=67108863,fe=Math.imul(at,Sr),V=Math.imul(at,Rr),V=V+Math.imul(nt,Sr)|0,Y=Math.imul(nt,Rr),fe=fe+Math.imul(De,Ne)|0,V=V+Math.imul(De,Ke)|0,V=V+Math.imul(ze,Ne)|0,Y=Y+Math.imul(ze,Ke)|0,fe=fe+Math.imul(ce,Ie)|0,V=V+Math.imul(ce,Ve)|0,V=V+Math.imul(be,Ie)|0,Y=Y+Math.imul(be,Ve)|0,fe=fe+Math.imul(j,Ee)|0,V=V+Math.imul(j,Pe)|0,V=V+Math.imul(Q,Ee)|0,Y=Y+Math.imul(Q,Pe)|0,fe=fe+Math.imul(q,ct)|0,V=V+Math.imul(q,_t)|0,V=V+Math.imul(oe,ct)|0,Y=Y+Math.imul(oe,_t)|0;var ra=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(ra>>>26)|0,ra&=67108863,fe=Math.imul(st,Sr),V=Math.imul(st,Rr),V=V+Math.imul(Me,Sr)|0,Y=Math.imul(Me,Rr),fe=fe+Math.imul(at,Ne)|0,V=V+Math.imul(at,Ke)|0,V=V+Math.imul(nt,Ne)|0,Y=Y+Math.imul(nt,Ke)|0,fe=fe+Math.imul(De,Ie)|0,V=V+Math.imul(De,Ve)|0,V=V+Math.imul(ze,Ie)|0,Y=Y+Math.imul(ze,Ve)|0,fe=fe+Math.imul(ce,Ee)|0,V=V+Math.imul(ce,Pe)|0,V=V+Math.imul(be,Ee)|0,Y=Y+Math.imul(be,Pe)|0,fe=fe+Math.imul(j,ct)|0,V=V+Math.imul(j,_t)|0,V=V+Math.imul(Q,ct)|0,Y=Y+Math.imul(Q,_t)|0,fe=fe+Math.imul(q,ir)|0,V=V+Math.imul(q,rr)|0,V=V+Math.imul(oe,ir)|0,Y=Y+Math.imul(oe,rr)|0;var ca=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(ca>>>26)|0,ca&=67108863,fe=Math.imul(he,Sr),V=Math.imul(he,Rr),V=V+Math.imul(Oe,Sr)|0,Y=Math.imul(Oe,Rr),fe=fe+Math.imul(st,Ne)|0,V=V+Math.imul(st,Ke)|0,V=V+Math.imul(Me,Ne)|0,Y=Y+Math.imul(Me,Ke)|0,fe=fe+Math.imul(at,Ie)|0,V=V+Math.imul(at,Ve)|0,V=V+Math.imul(nt,Ie)|0,Y=Y+Math.imul(nt,Ve)|0,fe=fe+Math.imul(De,Ee)|0,V=V+Math.imul(De,Pe)|0,V=V+Math.imul(ze,Ee)|0,Y=Y+Math.imul(ze,Pe)|0,fe=fe+Math.imul(ce,ct)|0,V=V+Math.imul(ce,_t)|0,V=V+Math.imul(be,ct)|0,Y=Y+Math.imul(be,_t)|0,fe=fe+Math.imul(j,ir)|0,V=V+Math.imul(j,rr)|0,V=V+Math.imul(Q,ir)|0,Y=Y+Math.imul(Q,rr)|0,fe=fe+Math.imul(q,Lr)|0,V=V+Math.imul(q,fa)|0,V=V+Math.imul(oe,Lr)|0,Y=Y+Math.imul(oe,fa)|0;var Ba=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Ba>>>26)|0,Ba&=67108863,fe=Math.imul(ot,Sr),V=Math.imul(ot,Rr),V=V+Math.imul(Qe,Sr)|0,Y=Math.imul(Qe,Rr),fe=fe+Math.imul(he,Ne)|0,V=V+Math.imul(he,Ke)|0,V=V+Math.imul(Oe,Ne)|0,Y=Y+Math.imul(Oe,Ke)|0,fe=fe+Math.imul(st,Ie)|0,V=V+Math.imul(st,Ve)|0,V=V+Math.imul(Me,Ie)|0,Y=Y+Math.imul(Me,Ve)|0,fe=fe+Math.imul(at,Ee)|0,V=V+Math.imul(at,Pe)|0,V=V+Math.imul(nt,Ee)|0,Y=Y+Math.imul(nt,Pe)|0,fe=fe+Math.imul(De,ct)|0,V=V+Math.imul(De,_t)|0,V=V+Math.imul(ze,ct)|0,Y=Y+Math.imul(ze,_t)|0,fe=fe+Math.imul(ce,ir)|0,V=V+Math.imul(ce,rr)|0,V=V+Math.imul(be,ir)|0,Y=Y+Math.imul(be,rr)|0,fe=fe+Math.imul(j,Lr)|0,V=V+Math.imul(j,fa)|0,V=V+Math.imul(Q,Lr)|0,Y=Y+Math.imul(Q,fa)|0,fe=fe+Math.imul(q,Ia)|0,V=V+Math.imul(q,qa)|0,V=V+Math.imul(oe,Ia)|0,Y=Y+Math.imul(oe,qa)|0;var $a=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+($a>>>26)|0,$a&=67108863,fe=Math.imul(It,Sr),V=Math.imul(It,Rr),V=V+Math.imul(qt,Sr)|0,Y=Math.imul(qt,Rr),fe=fe+Math.imul(ot,Ne)|0,V=V+Math.imul(ot,Ke)|0,V=V+Math.imul(Qe,Ne)|0,Y=Y+Math.imul(Qe,Ke)|0,fe=fe+Math.imul(he,Ie)|0,V=V+Math.imul(he,Ve)|0,V=V+Math.imul(Oe,Ie)|0,Y=Y+Math.imul(Oe,Ve)|0,fe=fe+Math.imul(st,Ee)|0,V=V+Math.imul(st,Pe)|0,V=V+Math.imul(Me,Ee)|0,Y=Y+Math.imul(Me,Pe)|0,fe=fe+Math.imul(at,ct)|0,V=V+Math.imul(at,_t)|0,V=V+Math.imul(nt,ct)|0,Y=Y+Math.imul(nt,_t)|0,fe=fe+Math.imul(De,ir)|0,V=V+Math.imul(De,rr)|0,V=V+Math.imul(ze,ir)|0,Y=Y+Math.imul(ze,rr)|0,fe=fe+Math.imul(ce,Lr)|0,V=V+Math.imul(ce,fa)|0,V=V+Math.imul(be,Lr)|0,Y=Y+Math.imul(be,fa)|0,fe=fe+Math.imul(j,Ia)|0,V=V+Math.imul(j,qa)|0,V=V+Math.imul(Q,Ia)|0,Y=Y+Math.imul(Q,qa)|0,fe=fe+Math.imul(q,Ca)|0,V=V+Math.imul(q,hi)|0,V=V+Math.imul(oe,Ca)|0,Y=Y+Math.imul(oe,hi)|0;var Za=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Za>>>26)|0,Za&=67108863,fe=Math.imul(kr,Sr),V=Math.imul(kr,Rr),V=V+Math.imul(mr,Sr)|0,Y=Math.imul(mr,Rr),fe=fe+Math.imul(It,Ne)|0,V=V+Math.imul(It,Ke)|0,V=V+Math.imul(qt,Ne)|0,Y=Y+Math.imul(qt,Ke)|0,fe=fe+Math.imul(ot,Ie)|0,V=V+Math.imul(ot,Ve)|0,V=V+Math.imul(Qe,Ie)|0,Y=Y+Math.imul(Qe,Ve)|0,fe=fe+Math.imul(he,Ee)|0,V=V+Math.imul(he,Pe)|0,V=V+Math.imul(Oe,Ee)|0,Y=Y+Math.imul(Oe,Pe)|0,fe=fe+Math.imul(st,ct)|0,V=V+Math.imul(st,_t)|0,V=V+Math.imul(Me,ct)|0,Y=Y+Math.imul(Me,_t)|0,fe=fe+Math.imul(at,ir)|0,V=V+Math.imul(at,rr)|0,V=V+Math.imul(nt,ir)|0,Y=Y+Math.imul(nt,rr)|0,fe=fe+Math.imul(De,Lr)|0,V=V+Math.imul(De,fa)|0,V=V+Math.imul(ze,Lr)|0,Y=Y+Math.imul(ze,fa)|0,fe=fe+Math.imul(ce,Ia)|0,V=V+Math.imul(ce,qa)|0,V=V+Math.imul(be,Ia)|0,Y=Y+Math.imul(be,qa)|0,fe=fe+Math.imul(j,Ca)|0,V=V+Math.imul(j,hi)|0,V=V+Math.imul(Q,Ca)|0,Y=Y+Math.imul(Q,hi)|0,fe=fe+Math.imul(q,Kt)|0,V=V+Math.imul(q,Ft)|0,V=V+Math.imul(oe,Kt)|0,Y=Y+Math.imul(oe,Ft)|0;var ri=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(ri>>>26)|0,ri&=67108863,fe=Math.imul(kr,Ne),V=Math.imul(kr,Ke),V=V+Math.imul(mr,Ne)|0,Y=Math.imul(mr,Ke),fe=fe+Math.imul(It,Ie)|0,V=V+Math.imul(It,Ve)|0,V=V+Math.imul(qt,Ie)|0,Y=Y+Math.imul(qt,Ve)|0,fe=fe+Math.imul(ot,Ee)|0,V=V+Math.imul(ot,Pe)|0,V=V+Math.imul(Qe,Ee)|0,Y=Y+Math.imul(Qe,Pe)|0,fe=fe+Math.imul(he,ct)|0,V=V+Math.imul(he,_t)|0,V=V+Math.imul(Oe,ct)|0,Y=Y+Math.imul(Oe,_t)|0,fe=fe+Math.imul(st,ir)|0,V=V+Math.imul(st,rr)|0,V=V+Math.imul(Me,ir)|0,Y=Y+Math.imul(Me,rr)|0,fe=fe+Math.imul(at,Lr)|0,V=V+Math.imul(at,fa)|0,V=V+Math.imul(nt,Lr)|0,Y=Y+Math.imul(nt,fa)|0,fe=fe+Math.imul(De,Ia)|0,V=V+Math.imul(De,qa)|0,V=V+Math.imul(ze,Ia)|0,Y=Y+Math.imul(ze,qa)|0,fe=fe+Math.imul(ce,Ca)|0,V=V+Math.imul(ce,hi)|0,V=V+Math.imul(be,Ca)|0,Y=Y+Math.imul(be,hi)|0,fe=fe+Math.imul(j,Kt)|0,V=V+Math.imul(j,Ft)|0,V=V+Math.imul(Q,Kt)|0,Y=Y+Math.imul(Q,Ft)|0;var pi=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(pi>>>26)|0,pi&=67108863,fe=Math.imul(kr,Ie),V=Math.imul(kr,Ve),V=V+Math.imul(mr,Ie)|0,Y=Math.imul(mr,Ve),fe=fe+Math.imul(It,Ee)|0,V=V+Math.imul(It,Pe)|0,V=V+Math.imul(qt,Ee)|0,Y=Y+Math.imul(qt,Pe)|0,fe=fe+Math.imul(ot,ct)|0,V=V+Math.imul(ot,_t)|0,V=V+Math.imul(Qe,ct)|0,Y=Y+Math.imul(Qe,_t)|0,fe=fe+Math.imul(he,ir)|0,V=V+Math.imul(he,rr)|0,V=V+Math.imul(Oe,ir)|0,Y=Y+Math.imul(Oe,rr)|0,fe=fe+Math.imul(st,Lr)|0,V=V+Math.imul(st,fa)|0,V=V+Math.imul(Me,Lr)|0,Y=Y+Math.imul(Me,fa)|0,fe=fe+Math.imul(at,Ia)|0,V=V+Math.imul(at,qa)|0,V=V+Math.imul(nt,Ia)|0,Y=Y+Math.imul(nt,qa)|0,fe=fe+Math.imul(De,Ca)|0,V=V+Math.imul(De,hi)|0,V=V+Math.imul(ze,Ca)|0,Y=Y+Math.imul(ze,hi)|0,fe=fe+Math.imul(ce,Kt)|0,V=V+Math.imul(ce,Ft)|0,V=V+Math.imul(be,Kt)|0,Y=Y+Math.imul(be,Ft)|0;var Ra=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,fe=Math.imul(kr,Ee),V=Math.imul(kr,Pe),V=V+Math.imul(mr,Ee)|0,Y=Math.imul(mr,Pe),fe=fe+Math.imul(It,ct)|0,V=V+Math.imul(It,_t)|0,V=V+Math.imul(qt,ct)|0,Y=Y+Math.imul(qt,_t)|0,fe=fe+Math.imul(ot,ir)|0,V=V+Math.imul(ot,rr)|0,V=V+Math.imul(Qe,ir)|0,Y=Y+Math.imul(Qe,rr)|0,fe=fe+Math.imul(he,Lr)|0,V=V+Math.imul(he,fa)|0,V=V+Math.imul(Oe,Lr)|0,Y=Y+Math.imul(Oe,fa)|0,fe=fe+Math.imul(st,Ia)|0,V=V+Math.imul(st,qa)|0,V=V+Math.imul(Me,Ia)|0,Y=Y+Math.imul(Me,qa)|0,fe=fe+Math.imul(at,Ca)|0,V=V+Math.imul(at,hi)|0,V=V+Math.imul(nt,Ca)|0,Y=Y+Math.imul(nt,hi)|0,fe=fe+Math.imul(De,Kt)|0,V=V+Math.imul(De,Ft)|0,V=V+Math.imul(ze,Kt)|0,Y=Y+Math.imul(ze,Ft)|0;var tn=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(tn>>>26)|0,tn&=67108863,fe=Math.imul(kr,ct),V=Math.imul(kr,_t),V=V+Math.imul(mr,ct)|0,Y=Math.imul(mr,_t),fe=fe+Math.imul(It,ir)|0,V=V+Math.imul(It,rr)|0,V=V+Math.imul(qt,ir)|0,Y=Y+Math.imul(qt,rr)|0,fe=fe+Math.imul(ot,Lr)|0,V=V+Math.imul(ot,fa)|0,V=V+Math.imul(Qe,Lr)|0,Y=Y+Math.imul(Qe,fa)|0,fe=fe+Math.imul(he,Ia)|0,V=V+Math.imul(he,qa)|0,V=V+Math.imul(Oe,Ia)|0,Y=Y+Math.imul(Oe,qa)|0,fe=fe+Math.imul(st,Ca)|0,V=V+Math.imul(st,hi)|0,V=V+Math.imul(Me,Ca)|0,Y=Y+Math.imul(Me,hi)|0,fe=fe+Math.imul(at,Kt)|0,V=V+Math.imul(at,Ft)|0,V=V+Math.imul(nt,Kt)|0,Y=Y+Math.imul(nt,Ft)|0;var on=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(on>>>26)|0,on&=67108863,fe=Math.imul(kr,ir),V=Math.imul(kr,rr),V=V+Math.imul(mr,ir)|0,Y=Math.imul(mr,rr),fe=fe+Math.imul(It,Lr)|0,V=V+Math.imul(It,fa)|0,V=V+Math.imul(qt,Lr)|0,Y=Y+Math.imul(qt,fa)|0,fe=fe+Math.imul(ot,Ia)|0,V=V+Math.imul(ot,qa)|0,V=V+Math.imul(Qe,Ia)|0,Y=Y+Math.imul(Qe,qa)|0,fe=fe+Math.imul(he,Ca)|0,V=V+Math.imul(he,hi)|0,V=V+Math.imul(Oe,Ca)|0,Y=Y+Math.imul(Oe,hi)|0,fe=fe+Math.imul(st,Kt)|0,V=V+Math.imul(st,Ft)|0,V=V+Math.imul(Me,Kt)|0,Y=Y+Math.imul(Me,Ft)|0;var hn=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(hn>>>26)|0,hn&=67108863,fe=Math.imul(kr,Lr),V=Math.imul(kr,fa),V=V+Math.imul(mr,Lr)|0,Y=Math.imul(mr,fa),fe=fe+Math.imul(It,Ia)|0,V=V+Math.imul(It,qa)|0,V=V+Math.imul(qt,Ia)|0,Y=Y+Math.imul(qt,qa)|0,fe=fe+Math.imul(ot,Ca)|0,V=V+Math.imul(ot,hi)|0,V=V+Math.imul(Qe,Ca)|0,Y=Y+Math.imul(Qe,hi)|0,fe=fe+Math.imul(he,Kt)|0,V=V+Math.imul(he,Ft)|0,V=V+Math.imul(Oe,Kt)|0,Y=Y+Math.imul(Oe,Ft)|0;var Tt=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,fe=Math.imul(kr,Ia),V=Math.imul(kr,qa),V=V+Math.imul(mr,Ia)|0,Y=Math.imul(mr,qa),fe=fe+Math.imul(It,Ca)|0,V=V+Math.imul(It,hi)|0,V=V+Math.imul(qt,Ca)|0,Y=Y+Math.imul(qt,hi)|0,fe=fe+Math.imul(ot,Kt)|0,V=V+Math.imul(ot,Ft)|0,V=V+Math.imul(Qe,Kt)|0,Y=Y+Math.imul(Qe,Ft)|0;var ut=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(ut>>>26)|0,ut&=67108863,fe=Math.imul(kr,Ca),V=Math.imul(kr,hi),V=V+Math.imul(mr,Ca)|0,Y=Math.imul(mr,hi),fe=fe+Math.imul(It,Kt)|0,V=V+Math.imul(It,Ft)|0,V=V+Math.imul(qt,Kt)|0,Y=Y+Math.imul(qt,Ft)|0;var Br=(le+fe|0)+((V&8191)<<13)|0;le=(Y+(V>>>13)|0)+(Br>>>26)|0,Br&=67108863,fe=Math.imul(kr,Kt),V=Math.imul(kr,Ft),V=V+Math.imul(mr,Kt)|0,Y=Math.imul(mr,Ft);var Cr=(le+fe|0)+((V&8191)<<13)|0;return le=(Y+(V>>>13)|0)+(Cr>>>26)|0,Cr&=67108863,se[0]=Yt,se[1]=Jt,se[2]=Fr,se[3]=ta,se[4]=ra,se[5]=ca,se[6]=Ba,se[7]=$a,se[8]=Za,se[9]=ri,se[10]=pi,se[11]=Ra,se[12]=tn,se[13]=on,se[14]=hn,se[15]=Tt,se[16]=ut,se[17]=Br,se[18]=Cr,le!==0&&(se[19]=le,B.length++),B};Math.imul||(M=A);function g(O,P,U){U.negative=P.negative^O.negative,U.length=O.length+P.length;for(var B=0,X=0,$=0;$>>26)|0,X+=se>>>26,se&=67108863}U.words[$]=le,B=se,se=X}return B!==0?U.words[$]=B:U.length--,U.strip()}function b(O,P,U){var B=new d;return B.mulp(O,P,U)}s.prototype.mulTo=function(P,U){var B,X=this.length+P.length;return this.length===10&&P.length===10?B=M(this,P,U):X<63?B=A(this,P,U):X<1024?B=g(this,P,U):B=b(this,P,U),B};function d(O,P){this.x=O,this.y=P}d.prototype.makeRBT=function(P){for(var U=new Array(P),B=s.prototype._countBits(P)-1,X=0;X>=1;return X},d.prototype.permute=function(P,U,B,X,$,se){for(var le=0;le>>1)$++;return 1<<$+1+X},d.prototype.conjugate=function(P,U,B){if(!(B<=1))for(var X=0;X>>13,B[2*se+1]=$&8191,$=$>>>13;for(se=2*U;se>=26,U+=X/67108864|0,U+=$>>>26,this.words[B]=$&67108863}return U!==0&&(this.words[B]=U,this.length++),this},s.prototype.muln=function(P){return this.clone().imuln(P)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(P){var U=w(P);if(U.length===0)return new s(1);for(var B=this,X=0;X=0);var U=P%26,B=(P-U)/26,X=67108863>>>26-U<<26-U,$;if(U!==0){var se=0;for($=0;$>>26-U}se&&(this.words[$]=se,this.length++)}if(B!==0){for($=this.length-1;$>=0;$--)this.words[$+B]=this.words[$];for($=0;$=0);var X;U?X=(U-U%26)/26:X=0;var $=P%26,se=Math.min((P-$)/26,this.length),le=67108863^67108863>>>$<<$,fe=B;if(X-=se,X=Math.max(0,X),fe){for(var V=0;Vse)for(this.length-=se,V=0;V=0&&(Y!==0||V>=X);V--){var ee=this.words[V]|0;this.words[V]=Y<<26-$|ee>>>$,Y=ee&le}return fe&&Y!==0&&(fe.words[fe.length++]=Y),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(P,U,B){return n(this.negative===0),this.iushrn(P,U,B)},s.prototype.shln=function(P){return this.clone().ishln(P)},s.prototype.ushln=function(P){return this.clone().iushln(P)},s.prototype.shrn=function(P){return this.clone().ishrn(P)},s.prototype.ushrn=function(P){return this.clone().iushrn(P)},s.prototype.testn=function(P){n(typeof P==\"number\"&&P>=0);var U=P%26,B=(P-U)/26,X=1<=0);var U=P%26,B=(P-U)/26;if(n(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=B)return this;if(U!==0&&B++,this.length=Math.min(B,this.length),U!==0){var X=67108863^67108863>>>U<=67108864;U++)this.words[U]-=67108864,U===this.length-1?this.words[U+1]=1:this.words[U+1]++;return this.length=Math.max(this.length,U+1),this},s.prototype.isubn=function(P){if(n(typeof P==\"number\"),n(P<67108864),P<0)return this.iaddn(-P);if(this.negative!==0)return this.negative=0,this.iaddn(P),this.negative=1,this;if(this.words[0]-=P,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var U=0;U>26)-(fe/67108864|0),this.words[$+B]=se&67108863}for(;$>26,this.words[$+B]=se&67108863;if(le===0)return this.strip();for(n(le===-1),le=0,$=0;$>26,this.words[$]=se&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(P,U){var B=this.length-P.length,X=this.clone(),$=P,se=$.words[$.length-1]|0,le=this._countBits(se);B=26-le,B!==0&&($=$.ushln(B),X.iushln(B),se=$.words[$.length-1]|0);var fe=X.length-$.length,V;if(U!==\"mod\"){V=new s(null),V.length=fe+1,V.words=new Array(V.length);for(var Y=0;Y=0;q--){var oe=(X.words[$.length+q]|0)*67108864+(X.words[$.length+q-1]|0);for(oe=Math.min(oe/se|0,67108863),X._ishlnsubmul($,oe,q);X.negative!==0;)oe--,X.negative=0,X._ishlnsubmul($,1,q),X.isZero()||(X.negative^=1);V&&(V.words[q]=oe)}return V&&V.strip(),X.strip(),U!==\"div\"&&B!==0&&X.iushrn(B),{div:V||null,mod:X}},s.prototype.divmod=function(P,U,B){if(n(!P.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var X,$,se;return this.negative!==0&&P.negative===0?(se=this.neg().divmod(P,U),U!==\"mod\"&&(X=se.div.neg()),U!==\"div\"&&($=se.mod.neg(),B&&$.negative!==0&&$.iadd(P)),{div:X,mod:$}):this.negative===0&&P.negative!==0?(se=this.divmod(P.neg(),U),U!==\"mod\"&&(X=se.div.neg()),{div:X,mod:se.mod}):this.negative&P.negative?(se=this.neg().divmod(P.neg(),U),U!==\"div\"&&($=se.mod.neg(),B&&$.negative!==0&&$.isub(P)),{div:se.div,mod:$}):P.length>this.length||this.cmp(P)<0?{div:new s(0),mod:this}:P.length===1?U===\"div\"?{div:this.divn(P.words[0]),mod:null}:U===\"mod\"?{div:null,mod:new s(this.modn(P.words[0]))}:{div:this.divn(P.words[0]),mod:new s(this.modn(P.words[0]))}:this._wordDiv(P,U)},s.prototype.div=function(P){return this.divmod(P,\"div\",!1).div},s.prototype.mod=function(P){return this.divmod(P,\"mod\",!1).mod},s.prototype.umod=function(P){return this.divmod(P,\"mod\",!0).mod},s.prototype.divRound=function(P){var U=this.divmod(P);if(U.mod.isZero())return U.div;var B=U.div.negative!==0?U.mod.isub(P):U.mod,X=P.ushrn(1),$=P.andln(1),se=B.cmp(X);return se<0||$===1&&se===0?U.div:U.div.negative!==0?U.div.isubn(1):U.div.iaddn(1)},s.prototype.modn=function(P){n(P<=67108863);for(var U=(1<<26)%P,B=0,X=this.length-1;X>=0;X--)B=(U*B+(this.words[X]|0))%P;return B},s.prototype.idivn=function(P){n(P<=67108863);for(var U=0,B=this.length-1;B>=0;B--){var X=(this.words[B]|0)+U*67108864;this.words[B]=X/P|0,U=X%P}return this.strip()},s.prototype.divn=function(P){return this.clone().idivn(P)},s.prototype.egcd=function(P){n(P.negative===0),n(!P.isZero());var U=this,B=P.clone();U.negative!==0?U=U.umod(P):U=U.clone();for(var X=new s(1),$=new s(0),se=new s(0),le=new s(1),fe=0;U.isEven()&&B.isEven();)U.iushrn(1),B.iushrn(1),++fe;for(var V=B.clone(),Y=U.clone();!U.isZero();){for(var ee=0,q=1;!(U.words[0]&q)&&ee<26;++ee,q<<=1);if(ee>0)for(U.iushrn(ee);ee-- >0;)(X.isOdd()||$.isOdd())&&(X.iadd(V),$.isub(Y)),X.iushrn(1),$.iushrn(1);for(var oe=0,ae=1;!(B.words[0]&ae)&&oe<26;++oe,ae<<=1);if(oe>0)for(B.iushrn(oe);oe-- >0;)(se.isOdd()||le.isOdd())&&(se.iadd(V),le.isub(Y)),se.iushrn(1),le.iushrn(1);U.cmp(B)>=0?(U.isub(B),X.isub(se),$.isub(le)):(B.isub(U),se.isub(X),le.isub($))}return{a:se,b:le,gcd:B.iushln(fe)}},s.prototype._invmp=function(P){n(P.negative===0),n(!P.isZero());var U=this,B=P.clone();U.negative!==0?U=U.umod(P):U=U.clone();for(var X=new s(1),$=new s(0),se=B.clone();U.cmpn(1)>0&&B.cmpn(1)>0;){for(var le=0,fe=1;!(U.words[0]&fe)&&le<26;++le,fe<<=1);if(le>0)for(U.iushrn(le);le-- >0;)X.isOdd()&&X.iadd(se),X.iushrn(1);for(var V=0,Y=1;!(B.words[0]&Y)&&V<26;++V,Y<<=1);if(V>0)for(B.iushrn(V);V-- >0;)$.isOdd()&&$.iadd(se),$.iushrn(1);U.cmp(B)>=0?(U.isub(B),X.isub($)):(B.isub(U),$.isub(X))}var ee;return U.cmpn(1)===0?ee=X:ee=$,ee.cmpn(0)<0&&ee.iadd(P),ee},s.prototype.gcd=function(P){if(this.isZero())return P.abs();if(P.isZero())return this.abs();var U=this.clone(),B=P.clone();U.negative=0,B.negative=0;for(var X=0;U.isEven()&&B.isEven();X++)U.iushrn(1),B.iushrn(1);do{for(;U.isEven();)U.iushrn(1);for(;B.isEven();)B.iushrn(1);var $=U.cmp(B);if($<0){var se=U;U=B,B=se}else if($===0||B.cmpn(1)===0)break;U.isub(B)}while(!0);return B.iushln(X)},s.prototype.invm=function(P){return this.egcd(P).a.umod(P)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(P){return this.words[0]&P},s.prototype.bincn=function(P){n(typeof P==\"number\");var U=P%26,B=(P-U)/26,X=1<>>26,le&=67108863,this.words[se]=le}return $!==0&&(this.words[se]=$,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(P){var U=P<0;if(this.negative!==0&&!U)return-1;if(this.negative===0&&U)return 1;this.strip();var B;if(this.length>1)B=1;else{U&&(P=-P),n(P<=67108863,\"Number is too big\");var X=this.words[0]|0;B=X===P?0:XP.length)return 1;if(this.length=0;B--){var X=this.words[B]|0,$=P.words[B]|0;if(X!==$){X<$?U=-1:X>$&&(U=1);break}}return U},s.prototype.gtn=function(P){return this.cmpn(P)===1},s.prototype.gt=function(P){return this.cmp(P)===1},s.prototype.gten=function(P){return this.cmpn(P)>=0},s.prototype.gte=function(P){return this.cmp(P)>=0},s.prototype.ltn=function(P){return this.cmpn(P)===-1},s.prototype.lt=function(P){return this.cmp(P)===-1},s.prototype.lten=function(P){return this.cmpn(P)<=0},s.prototype.lte=function(P){return this.cmp(P)<=0},s.prototype.eqn=function(P){return this.cmpn(P)===0},s.prototype.eq=function(P){return this.cmp(P)===0},s.red=function(P){return new F(P)},s.prototype.toRed=function(P){return n(!this.red,\"Already a number in reduction context\"),n(this.negative===0,\"red works only with positives\"),P.convertTo(this)._forceRed(P)},s.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},s.prototype._forceRed=function(P){return this.red=P,this},s.prototype.forceRed=function(P){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(P)},s.prototype.redAdd=function(P){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,P)},s.prototype.redIAdd=function(P){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,P)},s.prototype.redSub=function(P){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,P)},s.prototype.redISub=function(P){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,P)},s.prototype.redShl=function(P){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,P)},s.prototype.redMul=function(P){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,P),this.red.mul(this,P)},s.prototype.redIMul=function(P){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,P),this.red.imul(this,P)},s.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(P){return n(this.red&&!P.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,P)};var u={k256:null,p224:null,p192:null,p25519:null};function y(O,P){this.name=O,this.p=new s(P,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}y.prototype._tmp=function(){var P=new s(null);return P.words=new Array(Math.ceil(this.n/13)),P},y.prototype.ireduce=function(P){var U=P,B;do this.split(U,this.tmp),U=this.imulK(U),U=U.iadd(this.tmp),B=U.bitLength();while(B>this.n);var X=B0?U.isub(this.p):U.strip!==void 0?U.strip():U._strip(),U},y.prototype.split=function(P,U){P.iushrn(this.n,0,U)},y.prototype.imulK=function(P){return P.imul(this.k)};function f(){y.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}i(f,y),f.prototype.split=function(P,U){for(var B=4194303,X=Math.min(P.length,9),$=0;$>>22,se=le}se>>>=22,P.words[$-10]=se,se===0&&P.length>10?P.length-=10:P.length-=9},f.prototype.imulK=function(P){P.words[P.length]=0,P.words[P.length+1]=0,P.length+=2;for(var U=0,B=0;B>>=26,P.words[B]=$,U=X}return U!==0&&(P.words[P.length++]=U),P},s._prime=function(P){if(u[P])return u[P];var U;if(P===\"k256\")U=new f;else if(P===\"p224\")U=new R;else if(P===\"p192\")U=new L;else if(P===\"p25519\")U=new z;else throw new Error(\"Unknown prime \"+P);return u[P]=U,U};function F(O){if(typeof O==\"string\"){var P=s._prime(O);this.m=P.p,this.prime=P}else n(O.gtn(1),\"modulus must be greater than 1\"),this.m=O,this.prime=null}F.prototype._verify1=function(P){n(P.negative===0,\"red works only with positives\"),n(P.red,\"red works only with red numbers\")},F.prototype._verify2=function(P,U){n((P.negative|U.negative)===0,\"red works only with positives\"),n(P.red&&P.red===U.red,\"red works only with red numbers\")},F.prototype.imod=function(P){return this.prime?this.prime.ireduce(P)._forceRed(this):P.umod(this.m)._forceRed(this)},F.prototype.neg=function(P){return P.isZero()?P.clone():this.m.sub(P)._forceRed(this)},F.prototype.add=function(P,U){this._verify2(P,U);var B=P.add(U);return B.cmp(this.m)>=0&&B.isub(this.m),B._forceRed(this)},F.prototype.iadd=function(P,U){this._verify2(P,U);var B=P.iadd(U);return B.cmp(this.m)>=0&&B.isub(this.m),B},F.prototype.sub=function(P,U){this._verify2(P,U);var B=P.sub(U);return B.cmpn(0)<0&&B.iadd(this.m),B._forceRed(this)},F.prototype.isub=function(P,U){this._verify2(P,U);var B=P.isub(U);return B.cmpn(0)<0&&B.iadd(this.m),B},F.prototype.shl=function(P,U){return this._verify1(P),this.imod(P.ushln(U))},F.prototype.imul=function(P,U){return this._verify2(P,U),this.imod(P.imul(U))},F.prototype.mul=function(P,U){return this._verify2(P,U),this.imod(P.mul(U))},F.prototype.isqr=function(P){return this.imul(P,P.clone())},F.prototype.sqr=function(P){return this.mul(P,P)},F.prototype.sqrt=function(P){if(P.isZero())return P.clone();var U=this.m.andln(3);if(n(U%2===1),U===3){var B=this.m.add(new s(1)).iushrn(2);return this.pow(P,B)}for(var X=this.m.subn(1),$=0;!X.isZero()&&X.andln(1)===0;)$++,X.iushrn(1);n(!X.isZero());var se=new s(1).toRed(this),le=se.redNeg(),fe=this.m.subn(1).iushrn(1),V=this.m.bitLength();for(V=new s(2*V*V).toRed(this);this.pow(V,fe).cmp(le)!==0;)V.redIAdd(le);for(var Y=this.pow(V,X),ee=this.pow(P,X.addn(1).iushrn(1)),q=this.pow(P,X),oe=$;q.cmp(se)!==0;){for(var ae=q,j=0;ae.cmp(se)!==0;j++)ae=ae.redSqr();n(j=0;$--){for(var Y=U.words[$],ee=V-1;ee>=0;ee--){var q=Y>>ee&1;if(se!==X[0]&&(se=this.sqr(se)),q===0&&le===0){fe=0;continue}le<<=1,le|=q,fe++,!(fe!==B&&($!==0||ee!==0))&&(se=this.mul(se,X[le]),fe=0,le=0)}V=26}return se},F.prototype.convertTo=function(P){var U=P.umod(this.m);return U===P?U.clone():U},F.prototype.convertFrom=function(P){var U=P.clone();return U.red=null,U},s.mont=function(P){return new N(P)};function N(O){F.call(this,O),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(N,F),N.prototype.convertTo=function(P){return this.imod(P.ushln(this.shift))},N.prototype.convertFrom=function(P){var U=this.imod(P.mul(this.rinv));return U.red=null,U},N.prototype.imul=function(P,U){if(P.isZero()||U.isZero())return P.words[0]=0,P.length=1,P;var B=P.imul(U),X=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),$=B.isub(X).iushrn(this.shift),se=$;return $.cmp(this.m)>=0?se=$.isub(this.m):$.cmpn(0)<0&&(se=$.iadd(this.m)),se._forceRed(this)},N.prototype.mul=function(P,U){if(P.isZero()||U.isZero())return new s(0)._forceRed(this);var B=P.mul(U),X=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),$=B.isub(X).iushrn(this.shift),se=$;return $.cmp(this.m)>=0?se=$.isub(this.m):$.cmpn(0)<0&&(se=$.iadd(this.m)),se._forceRed(this)},N.prototype.invm=function(P){var U=this.imod(P._invmp(this.m).mul(this.r2));return U._forceRed(this)}}(e,this)},6860:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]-a[0],r[1]=o[1]-a[1],r[2]=o[2]-a[2],r[3]=o[3]-a[3],r}},6864:function(e){e.exports=t;function t(){var r=new Float32Array(16);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}},6867:function(e,t,r){\"use strict\";e.exports=l;var o=r(1888),a=r(855),n=r(7150);function i(_,w){for(var A=0;A<_;++A)if(!(w[A]<=w[A+_]))return!0;return!1}function s(_,w,A,M){for(var g=0,b=0,d=0,u=_.length;d>>1;if(!(d<=0)){var u,y=o.mallocDouble(2*d*g),f=o.mallocInt32(g);if(g=s(_,d,y,f),g>0){if(d===1&&M)a.init(g),u=a.sweepComplete(d,A,0,g,y,f,0,g,y,f);else{var R=o.mallocDouble(2*d*b),L=o.mallocInt32(b);b=s(w,d,R,L),b>0&&(a.init(g+b),d===1?u=a.sweepBipartite(d,A,0,g,y,f,0,b,R,L):u=n(d,A,M,g,y,f,b,R,L),o.free(R),o.free(L))}o.free(y),o.free(f)}return u}}}var c;function m(_,w){c.push([_,w])}function p(_){return c=[],h(_,_,m,!0),c}function T(_,w){return c=[],h(_,w,m,!1),c}function l(_,w,A){switch(arguments.length){case 1:return p(_);case 2:return typeof w==\"function\"?h(_,_,w,!0):T(_,w);case 3:return h(_,w,A,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},6894:function(e){e.exports=t;function t(r,o,a,n){var i=a[1],s=a[2],h=o[1]-i,c=o[2]-s,m=Math.sin(n),p=Math.cos(n);return r[0]=o[0],r[1]=i+h*p-c*m,r[2]=s+h*m+c*p,r}},7004:function(e){\"use strict\";e.exports=t;function t(r){for(var o=r.length,a=r[r.length-1],n=o,i=o-2;i>=0;--i){var s=a,h=r[i];a=s+h;var c=a-s,m=h-c;m&&(r[--n]=a,a=m)}for(var p=0,i=n;i=p0)&&!(p1>=hi)\"),w=m(\"lo===p0\"),A=m(\"lo0;){Y-=1;var oe=Y*d,ae=f[oe],j=f[oe+1],Q=f[oe+2],re=f[oe+3],ce=f[oe+4],be=f[oe+5],Ae=Y*u,De=R[Ae],ze=R[Ae+1],Ze=be&1,at=!!(be&16),nt=$,rt=se,st=fe,Me=V;if(Ze&&(nt=fe,rt=V,st=$,Me=se),!(be&2&&(Q=A(P,ae,j,Q,nt,rt,ze),j>=Q))&&!(be&4&&(j=M(P,ae,j,Q,nt,rt,De),j>=Q))){var ye=Q-j,he=ce-re;if(at){if(P*ye*(ye+he)\"u\"?r(1538):WeakMap,a=r(2762),n=r(8116),i=new o;function s(h){var c=i.get(h),m=c&&(c._triangleBuffer.handle||c._triangleBuffer.buffer);if(!m||!h.isBuffer(m)){var p=a(h,new Float32Array([-1,-1,-1,4,4,-1]));c=n(h,[{buffer:p,type:h.FLOAT,size:2}]),c._triangleBuffer=p,i.set(h,c)}c.bind(),h.drawArrays(h.TRIANGLES,0,3),c.unbind()}e.exports=s},7182:function(e,t,r){var o={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},a=o.create(),n=o.create();e.exports=function(s,h,c,m,p,T){return o.identity(s),o.fromRotationTranslation(s,T,h),s[3]=p[0],s[7]=p[1],s[11]=p[2],s[15]=p[3],o.identity(n),m[2]!==0&&(n[9]=m[2],o.multiply(s,s,n)),m[1]!==0&&(n[9]=0,n[8]=m[1],o.multiply(s,s,n)),m[0]!==0&&(n[8]=0,n[4]=m[0],o.multiply(s,s,n)),o.scale(s,s,c),s}},7201:function(e,t,r){\"use strict\";var o=1e-6,a=1e-6,n=r(9405),i=r(2762),s=r(8116),h=r(7766),c=r(8406),m=r(6760),p=r(7608),T=r(9618),l=r(6729),_=r(7765),w=r(1888),A=r(840),M=r(7626),g=A.meshShader,b=A.wireShader,d=A.pointShader,u=A.pickShader,y=A.pointPickShader,f=A.contourShader,R=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function L(fe,V,Y,ee,q,oe,ae,j,Q,re,ce,be,Ae,De,ze,Ze,at,nt,rt,st,Me,ye,he,Oe,tt,ot,Qe){this.gl=fe,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=V,this.dirty=!0,this.triShader=Y,this.lineShader=ee,this.pointShader=q,this.pickShader=oe,this.pointPickShader=ae,this.contourShader=j,this.trianglePositions=Q,this.triangleColors=ce,this.triangleNormals=Ae,this.triangleUVs=be,this.triangleIds=re,this.triangleVAO=De,this.triangleCount=0,this.lineWidth=1,this.edgePositions=ze,this.edgeColors=at,this.edgeUVs=nt,this.edgeIds=Ze,this.edgeVAO=rt,this.edgeCount=0,this.pointPositions=st,this.pointColors=ye,this.pointUVs=he,this.pointSizes=Oe,this.pointIds=Me,this.pointVAO=tt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=ot,this.contourVAO=Qe,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!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=R,this._view=R,this._projection=R,this._resolution=[1,1]}var z=L.prototype;z.isOpaque=function(){return!this.hasAlpha},z.isTransparent=function(){return this.hasAlpha},z.pickSlots=1,z.setPickBase=function(fe){this.pickId=fe};function F(fe,V){if(!V||!V.length)return 1;for(var Y=0;Yfe&&Y>0){var ee=(V[Y][0]-fe)/(V[Y][0]-V[Y-1][0]);return V[Y][1]*(1-ee)+ee*V[Y-1][1]}}return 1}function N(fe,V){for(var Y=l({colormap:fe,nshades:256,format:\"rgba\"}),ee=new Uint8Array(256*4),q=0;q<256;++q){for(var oe=Y[q],ae=0;ae<3;++ae)ee[4*q+ae]=oe[ae];V?ee[4*q+3]=255*F(q/255,V):ee[4*q+3]=255*oe[3]}return T(ee,[256,256,4],[4,0,1])}function O(fe){for(var V=fe.length,Y=new Array(V),ee=0;ee0){var Ae=this.triShader;Ae.bind(),Ae.uniforms=j,this.triangleVAO.bind(),V.drawArrays(V.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var Ae=this.lineShader;Ae.bind(),Ae.uniforms=j,this.edgeVAO.bind(),V.lineWidth(this.lineWidth*this.pixelRatio),V.drawArrays(V.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var Ae=this.pointShader;Ae.bind(),Ae.uniforms=j,this.pointVAO.bind(),V.drawArrays(V.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var Ae=this.contourShader;Ae.bind(),Ae.uniforms=j,this.contourVAO.bind(),V.drawArrays(V.LINES,0,this.contourCount),this.contourVAO.unbind()}},z.drawPick=function(fe){fe=fe||{};for(var V=this.gl,Y=fe.model||R,ee=fe.view||R,q=fe.projection||R,oe=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],ae=0;ae<3;++ae)oe[0][ae]=Math.max(oe[0][ae],this.clipBounds[0][ae]),oe[1][ae]=Math.min(oe[1][ae],this.clipBounds[1][ae]);this._model=[].slice.call(Y),this._view=[].slice.call(ee),this._projection=[].slice.call(q),this._resolution=[V.drawingBufferWidth,V.drawingBufferHeight];var j={model:Y,view:ee,projection:q,clipBounds:oe,pickId:this.pickId/255},Q=this.pickShader;if(Q.bind(),Q.uniforms=j,this.triangleCount>0&&(this.triangleVAO.bind(),V.drawArrays(V.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),V.lineWidth(this.lineWidth*this.pixelRatio),V.drawArrays(V.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Q=this.pointPickShader;Q.bind(),Q.uniforms=j,this.pointVAO.bind(),V.drawArrays(V.POINTS,0,this.pointCount),this.pointVAO.unbind()}},z.pick=function(fe){if(!fe||fe.id!==this.pickId)return null;for(var V=fe.value[0]+256*fe.value[1]+65536*fe.value[2],Y=this.cells[V],ee=this.positions,q=new Array(Y.length),oe=0;oeMath.max(g,b)?d[2]=1:g>Math.max(M,b)?d[0]=1:d[1]=1;for(var u=0,y=0,f=0;f<3;++f)u+=A[f]*A[f],y+=d[f]*A[f];for(var f=0;f<3;++f)d[f]-=y/u*A[f];return s(d,d),d}function T(A,M,g,b,d,u,y,f){this.center=o(g),this.up=o(b),this.right=o(d),this.radius=o([u]),this.angle=o([y,f]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,M),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 R=0;R<16;++R)this.computedMatrix[R]=.5;this.recalcMatrix(0)}var l=T.prototype;l.setDistanceLimits=function(A,M){A>0?A=Math.log(A):A=-1/0,M>0?M=Math.log(M):M=1/0,M=Math.max(M,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=M},l.getDistanceLimits=function(A){var M=this.radius.bounds[0];return A?(A[0]=Math.exp(M[0][0]),A[1]=Math.exp(M[1][0]),A):[Math.exp(M[0][0]),Math.exp(M[1][0])]},l.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var M=this.computedUp,g=this.computedRight,b=0,d=0,u=0;u<3;++u)d+=M[u]*g[u],b+=M[u]*M[u];for(var y=Math.sqrt(b),f=0,u=0;u<3;++u)g[u]-=M[u]*d/b,f+=g[u]*g[u],M[u]/=y;for(var R=Math.sqrt(f),u=0;u<3;++u)g[u]/=R;var L=this.computedToward;i(L,M,g),s(L,L);for(var z=Math.exp(this.computedRadius[0]),F=this.computedAngle[0],N=this.computedAngle[1],O=Math.cos(F),P=Math.sin(F),U=Math.cos(N),B=Math.sin(N),X=this.computedCenter,$=O*U,se=P*U,le=B,fe=-O*B,V=-P*B,Y=U,ee=this.computedEye,q=this.computedMatrix,u=0;u<3;++u){var oe=$*g[u]+se*L[u]+le*M[u];q[4*u+1]=fe*g[u]+V*L[u]+Y*M[u],q[4*u+2]=oe,q[4*u+3]=0}var ae=q[1],j=q[5],Q=q[9],re=q[2],ce=q[6],be=q[10],Ae=j*be-Q*ce,De=Q*re-ae*be,ze=ae*ce-j*re,Ze=c(Ae,De,ze);Ae/=Ze,De/=Ze,ze/=Ze,q[0]=Ae,q[4]=De,q[8]=ze;for(var u=0;u<3;++u)ee[u]=X[u]+q[2+4*u]*z;for(var u=0;u<3;++u){for(var f=0,at=0;at<3;++at)f+=q[u+4*at]*ee[at];q[12+u]=-f}q[15]=1},l.getMatrix=function(A,M){this.recalcMatrix(A);var g=this.computedMatrix;if(M){for(var b=0;b<16;++b)M[b]=g[b];return M}return g};var _=[0,0,0];l.rotate=function(A,M,g,b){if(this.angle.move(A,M,g),b){this.recalcMatrix(A);var d=this.computedMatrix;_[0]=d[2],_[1]=d[6],_[2]=d[10];for(var u=this.computedUp,y=this.computedRight,f=this.computedToward,R=0;R<3;++R)d[4*R]=u[R],d[4*R+1]=y[R],d[4*R+2]=f[R];n(d,d,b,_);for(var R=0;R<3;++R)u[R]=d[4*R],y[R]=d[4*R+1];this.up.set(A,u[0],u[1],u[2]),this.right.set(A,y[0],y[1],y[2])}},l.pan=function(A,M,g,b){M=M||0,g=g||0,b=b||0,this.recalcMatrix(A);var d=this.computedMatrix,u=Math.exp(this.computedRadius[0]),y=d[1],f=d[5],R=d[9],L=c(y,f,R);y/=L,f/=L,R/=L;var z=d[0],F=d[4],N=d[8],O=z*y+F*f+N*R;z-=y*O,F-=f*O,N-=R*O;var P=c(z,F,N);z/=P,F/=P,N/=P;var U=z*M+y*g,B=F*M+f*g,X=N*M+R*g;this.center.move(A,U,B,X);var $=Math.exp(this.computedRadius[0]);$=Math.max(1e-4,$+b),this.radius.set(A,Math.log($))},l.translate=function(A,M,g,b){this.center.move(A,M||0,g||0,b||0)},l.setMatrix=function(A,M,g,b){var d=1;typeof g==\"number\"&&(d=g|0),(d<0||d>3)&&(d=1);var u=(d+2)%3,y=(d+1)%3;M||(this.recalcMatrix(A),M=this.computedMatrix);var f=M[d],R=M[d+4],L=M[d+8];if(b){var F=Math.abs(f),N=Math.abs(R),O=Math.abs(L),P=Math.max(F,N,O);F===P?(f=f<0?-1:1,R=L=0):O===P?(L=L<0?-1:1,f=R=0):(R=R<0?-1:1,f=L=0)}else{var z=c(f,R,L);f/=z,R/=z,L/=z}var U=M[u],B=M[u+4],X=M[u+8],$=U*f+B*R+X*L;U-=f*$,B-=R*$,X-=L*$;var se=c(U,B,X);U/=se,B/=se,X/=se;var le=R*X-L*B,fe=L*U-f*X,V=f*B-R*U,Y=c(le,fe,V);le/=Y,fe/=Y,V/=Y,this.center.jump(A,ye,he,Oe),this.radius.idle(A),this.up.jump(A,f,R,L),this.right.jump(A,U,B,X);var ee,q;if(d===2){var oe=M[1],ae=M[5],j=M[9],Q=oe*U+ae*B+j*X,re=oe*le+ae*fe+j*V;De<0?ee=-Math.PI/2:ee=Math.PI/2,q=Math.atan2(re,Q)}else{var ce=M[2],be=M[6],Ae=M[10],De=ce*f+be*R+Ae*L,ze=ce*U+be*B+Ae*X,Ze=ce*le+be*fe+Ae*V;ee=Math.asin(m(De)),q=Math.atan2(Ze,ze)}this.angle.jump(A,q,ee),this.recalcMatrix(A);var at=M[2],nt=M[6],rt=M[10],st=this.computedMatrix;a(st,M);var Me=st[15],ye=st[12]/Me,he=st[13]/Me,Oe=st[14]/Me,tt=Math.exp(this.computedRadius[0]);this.center.jump(A,ye-at*tt,he-nt*tt,Oe-rt*tt)},l.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},l.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},l.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},l.setDistance=function(A,M){M>0&&this.radius.set(A,Math.log(M))},l.lookAt=function(A,M,g,b){this.recalcMatrix(A),M=M||this.computedEye,g=g||this.computedCenter,b=b||this.computedUp;var d=b[0],u=b[1],y=b[2],f=c(d,u,y);if(!(f<1e-6)){d/=f,u/=f,y/=f;var R=M[0]-g[0],L=M[1]-g[1],z=M[2]-g[2],F=c(R,L,z);if(!(F<1e-6)){R/=F,L/=F,z/=F;var N=this.computedRight,O=N[0],P=N[1],U=N[2],B=d*O+u*P+y*U;O-=B*d,P-=B*u,U-=B*y;var X=c(O,P,U);if(!(X<.01&&(O=u*z-y*L,P=y*R-d*z,U=d*L-u*R,X=c(O,P,U),X<1e-6))){O/=X,P/=X,U/=X,this.up.set(A,d,u,y),this.right.set(A,O,P,U),this.center.set(A,g[0],g[1],g[2]),this.radius.set(A,Math.log(F));var $=u*U-y*P,se=y*O-d*U,le=d*P-u*O,fe=c($,se,le);$/=fe,se/=fe,le/=fe;var V=d*R+u*L+y*z,Y=O*R+P*L+U*z,ee=$*R+se*L+le*z,q=Math.asin(m(V)),oe=Math.atan2(ee,Y),ae=this.angle._state,j=ae[ae.length-1],Q=ae[ae.length-2];j=j%(2*Math.PI);var re=Math.abs(j+2*Math.PI-oe),ce=Math.abs(j-oe),be=Math.abs(j-2*Math.PI-oe);re 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=o([`precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n 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 vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n 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 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, packFloat(pixelArcLength).xyz);\n}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];t.createShader=function(c){return a(c,n,i,null,h)},t.createPickShader=function(c){return a(c,n,s,null,h)}},7352:function(e,t,r){\"use strict\";var o=r(5721),a=r(4750),n=r(2690);e.exports=i;function i(s){var h=s.length;if(h===0)return[];if(h===1)return[[0]];var c=s[0].length;return c===0?[]:c===1?o(s):c===2?a(s):n(s,c)}},7399:function(e){e.exports=t;function t(r,o){var a=o[0],n=o[1],i=o[2],s=o[3],h=a+a,c=n+n,m=i+i,p=a*h,T=n*h,l=n*c,_=i*h,w=i*c,A=i*m,M=s*h,g=s*c,b=s*m;return r[0]=1-l-A,r[1]=T+b,r[2]=_-g,r[3]=0,r[4]=T-b,r[5]=1-p-A,r[6]=w+M,r[7]=0,r[8]=_+g,r[9]=w-M,r[10]=1-p-l,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}},7417:function(e){e.exports=t;function t(r,o,a){return r[0]=Math.max(o[0],a[0]),r[1]=Math.max(o[1],a[1]),r[2]=Math.max(o[2],a[2]),r}},7442:function(e,t,r){var o=r(6658),a=r(7182),n=r(2652),i=r(9921),s=r(8648),h=T(),c=T(),m=T();e.exports=p;function p(w,A,M,g){if(i(A)===0||i(M)===0)return!1;var b=n(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),d=n(M,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!b||!d?!1:(o(m.translate,h.translate,c.translate,g),o(m.skew,h.skew,c.skew,g),o(m.scale,h.scale,c.scale,g),o(m.perspective,h.perspective,c.perspective,g),s(m.quaternion,h.quaternion,c.quaternion,g),a(w,m.translate,m.scale,m.skew,m.perspective,m.quaternion),!0)}function T(){return{translate:l(),scale:l(1),skew:l(),perspective:_(),quaternion:_()}}function l(w){return[w||0,w||0,w||0]}function _(){return[0,0,0,1]}},7507:function(e,t){\"use strict\";t.byteLength=c,t.toByteArray=p,t.fromByteArray=_;for(var r=[],o=[],a=typeof Uint8Array<\"u\"?Uint8Array:Array,n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",i=0,s=n.length;i0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var M=w.indexOf(\"=\");M===-1&&(M=A);var g=M===A?0:4-M%4;return[M,g]}function c(w){var A=h(w),M=A[0],g=A[1];return(M+g)*3/4-g}function m(w,A,M){return(A+M)*3/4-M}function p(w){var A,M=h(w),g=M[0],b=M[1],d=new a(m(w,g,b)),u=0,y=b>0?g-4:g,f;for(f=0;f>16&255,d[u++]=A>>8&255,d[u++]=A&255;return b===2&&(A=o[w.charCodeAt(f)]<<2|o[w.charCodeAt(f+1)]>>4,d[u++]=A&255),b===1&&(A=o[w.charCodeAt(f)]<<10|o[w.charCodeAt(f+1)]<<4|o[w.charCodeAt(f+2)]>>2,d[u++]=A>>8&255,d[u++]=A&255),d}function T(w){return r[w>>18&63]+r[w>>12&63]+r[w>>6&63]+r[w&63]}function l(w,A,M){for(var g,b=[],d=A;dy?y:u+d));return g===1?(A=w[M-1],b.push(r[A>>2]+r[A<<4&63]+\"==\")):g===2&&(A=(w[M-2]<<8)+w[M-1],b.push(r[A>>10]+r[A>>4&63]+r[A<<2&63]+\"=\")),b.join(\"\")}},7518:function(e,t,r){\"use strict\";var o=r(1433);function a(s,h,c,m,p,T){this.location=s,this.dimension=h,this.a=c,this.b=m,this.c=p,this.d=T}a.prototype.bind=function(s){switch(this.dimension){case 1:s.vertexAttrib1f(this.location,this.a);break;case 2:s.vertexAttrib2f(this.location,this.a,this.b);break;case 3:s.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:s.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function n(s,h,c){this.gl=s,this._ext=h,this.handle=c,this._attribs=[],this._useElements=!1,this._elementsType=s.UNSIGNED_SHORT}n.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var s=0;s1.0001)return null;f+=y[M]}return Math.abs(f-1)>.001?null:[g,h(m,y),y]}},7636:function(e){e.exports=t;function t(r,o){o=o||1;var a=Math.random()*2*Math.PI,n=Math.random()*2-1,i=Math.sqrt(1-n*n)*o;return r[0]=Math.cos(a)*i,r[1]=Math.sin(a)*i,r[2]=n*o,r}},7640:function(e,t,r){\"use strict\";var o=r(1888);function a(p){switch(p){case\"uint32\":return[o.mallocUint32,o.freeUint32];default:return null}}var n={\"uint32,1,0\":function(p,T){return function(_,w,A,M,g,b,d,u,y,f,R){var L,z,F,N=_*g+M,O,P=p(u),U,B,X,$;for(L=_+1;L<=w;++L){for(z=L,N+=g,F=N,U=0,B=N,O=0;O_;){U=0,B=F-g;t:for(O=0;O$)break t;B+=f,U+=R}for(U=F,B=F-g,O=0;O>1,P=O-z,U=O+z,B=F,X=P,$=O,se=U,le=N,fe=w+1,V=A-1,Y=!0,ee,q,oe,ae,j,Q,re,ce,be,Ae=0,De=0,ze=0,Ze,at,nt,rt,st,Me,ye,he,Oe,tt,ot,Qe,Pt,It,qt,Wt,kr=y,mr=T(kr),qr=T(kr);at=b*B,nt=b*X,Wt=g;e:for(Ze=0;Ze0){q=B,B=X,X=q;break e}if(ze<0)break e;Wt+=R}at=b*se,nt=b*le,Wt=g;e:for(Ze=0;Ze0){q=se,se=le,le=q;break e}if(ze<0)break e;Wt+=R}at=b*B,nt=b*$,Wt=g;e:for(Ze=0;Ze0){q=B,B=$,$=q;break e}if(ze<0)break e;Wt+=R}at=b*X,nt=b*$,Wt=g;e:for(Ze=0;Ze0){q=X,X=$,$=q;break e}if(ze<0)break e;Wt+=R}at=b*B,nt=b*se,Wt=g;e:for(Ze=0;Ze0){q=B,B=se,se=q;break e}if(ze<0)break e;Wt+=R}at=b*$,nt=b*se,Wt=g;e:for(Ze=0;Ze0){q=$,$=se,se=q;break e}if(ze<0)break e;Wt+=R}at=b*X,nt=b*le,Wt=g;e:for(Ze=0;Ze0){q=X,X=le,le=q;break e}if(ze<0)break e;Wt+=R}at=b*X,nt=b*$,Wt=g;e:for(Ze=0;Ze0){q=X,X=$,$=q;break e}if(ze<0)break e;Wt+=R}at=b*se,nt=b*le,Wt=g;e:for(Ze=0;Ze0){q=se,se=le,le=q;break e}if(ze<0)break e;Wt+=R}for(at=b*B,nt=b*X,rt=b*$,st=b*se,Me=b*le,ye=b*F,he=b*O,Oe=b*N,qt=0,Wt=g,Ze=0;Ze0)V--;else if(ze<0){for(at=b*Q,nt=b*fe,rt=b*V,Wt=g,Ze=0;Ze0)for(;;){re=g+V*b,qt=0;e:for(Ze=0;Ze0){if(--VN){e:for(;;){for(re=g+fe*b,qt=0,Wt=g,Ze=0;Ze1&&_?A(l,_[0],_[1]):A(l)}var c={\"uint32,1,0\":function(p,T){return function(l){var _=l.data,w=l.offset|0,A=l.shape,M=l.stride,g=M[0]|0,b=A[0]|0,d=M[1]|0,u=A[1]|0,y=d,f=d,R=1;b<=32?p(0,b-1,_,w,g,d,b,u,y,f,R):T(0,b-1,_,w,g,d,b,u,y,f,R)}}};function m(p,T){var l=[T,p].join(\",\"),_=c[l],w=i(p,T),A=h(p,T,w);return _(w,A)}e.exports=m},7642:function(e,t,r){\"use strict\";var o=r(8954),a=r(1682);e.exports=h;function n(c,m){this.point=c,this.index=m}function i(c,m){for(var p=c.point,T=m.point,l=p.length,_=0;_=2)return!1;F[O]=P}return!0}):z=z.filter(function(F){for(var N=0;N<=T;++N){var O=y[F[N]];if(O<0)return!1;F[N]=O}return!0}),T&1)for(var w=0;w\",U=\"\",B=P.length,X=U.length,$=F[0]===_||F[0]===M,se=0,le=-X;se>-1&&(se=N.indexOf(P,se),!(se===-1||(le=N.indexOf(U,se+B),le===-1)||le<=se));){for(var fe=se;fe=le)O[fe]=null,N=N.substr(0,fe)+\" \"+N.substr(fe+1);else if(O[fe]!==null){var V=O[fe].indexOf(F[0]);V===-1?O[fe]+=F:$&&(O[fe]=O[fe].substr(0,V+1)+(1+parseInt(O[fe][V+1]))+O[fe].substr(V+2))}var Y=se+B,ee=N.substr(Y,le-Y),q=ee.indexOf(P);q!==-1?se=q:se=le+X}return O}function d(z,F,N){for(var O=F.textAlign||\"start\",P=F.textBaseline||\"alphabetic\",U=[1<<30,1<<30],B=[0,0],X=z.length,$=0;$/g,`\n`):N=N.replace(/\\/g,\" \");var B=\"\",X=[];for(j=0;j-1?parseInt(he[1+ot]):0,It=Qe>-1?parseInt(Oe[1+Qe]):0;Pt!==It&&(tt=tt.replace(ze(),\"?px \"),ce*=Math.pow(.75,It-Pt),tt=tt.replace(\"?px \",ze())),re+=.25*V*(It-Pt)}if(U.superscripts===!0){var qt=he.indexOf(_),Wt=Oe.indexOf(_),kr=qt>-1?parseInt(he[1+qt]):0,mr=Wt>-1?parseInt(Oe[1+Wt]):0;kr!==mr&&(tt=tt.replace(ze(),\"?px \"),ce*=Math.pow(.75,mr-kr),tt=tt.replace(\"?px \",ze())),re-=.25*V*(mr-kr)}if(U.bolds===!0){var qr=he.indexOf(m)>-1,Sr=Oe.indexOf(m)>-1;!qr&&Sr&&(Rr?tt=tt.replace(\"italic \",\"italic bold \"):tt=\"bold \"+tt),qr&&!Sr&&(tt=tt.replace(\"bold \",\"\"))}if(U.italics===!0){var Rr=he.indexOf(T)>-1,wt=Oe.indexOf(T)>-1;!Rr&&wt&&(tt=\"italic \"+tt),Rr&&!wt&&(tt=tt.replace(\"italic \",\"\"))}F.font=tt}for(ae=0;ae0&&(P=O.size),O.lineSpacing&&O.lineSpacing>0&&(U=O.lineSpacing),O.styletags&&O.styletags.breaklines&&(B.breaklines=!!O.styletags.breaklines),O.styletags&&O.styletags.bolds&&(B.bolds=!!O.styletags.bolds),O.styletags&&O.styletags.italics&&(B.italics=!!O.styletags.italics),O.styletags&&O.styletags.subscripts&&(B.subscripts=!!O.styletags.subscripts),O.styletags&&O.styletags.superscripts&&(B.superscripts=!!O.styletags.superscripts)),N.font=[O.fontStyle,O.fontVariant,O.fontWeight,P+\"px\",O.font].filter(function($){return $}).join(\" \"),N.textAlign=\"start\",N.textBaseline=\"alphabetic\",N.direction=\"ltr\";var X=u(F,N,z,P,U,B);return R(X,O,P)}},7721:function(e,t,r){\"use strict\";var o=r(5716);e.exports=a;function a(n){return o(n[0])*o(n[1])}},7765:function(e,t,r){\"use strict\";e.exports=l;var o=r(9618),a=r(1888),n=r(446),i=r(1570);function s(_){for(var w=_.length,A=0,M=0;M\"u\"&&(M=s(_));var g=_.length;if(g===0||M<1)return{cells:[],vertexIds:[],vertexWeights:[]};var b=h(w,+A),d=c(_,M),u=m(d,w,b,+A),y=p(d,w.length|0),f=i(M)(_,d.data,y,b),R=T(d),L=[].slice.call(u.data,0,u.shape[0]);return a.free(b),a.free(d.data),a.free(u.data),a.free(y),{cells:f,vertexIds:R,vertexWeights:L}}},7766:function(e,t,r){\"use strict\";var o=r(9618),a=r(5298),n=r(1888);e.exports=u;var i=null,s=null,h=null;function c(y){i=[y.LINEAR,y.NEAREST_MIPMAP_LINEAR,y.LINEAR_MIPMAP_NEAREST,y.LINEAR_MIPMAP_NEAREST],s=[y.NEAREST,y.LINEAR,y.NEAREST_MIPMAP_NEAREST,y.NEAREST_MIPMAP_LINEAR,y.LINEAR_MIPMAP_NEAREST,y.LINEAR_MIPMAP_LINEAR],h=[y.REPEAT,y.CLAMP_TO_EDGE,y.MIRRORED_REPEAT]}function m(y){return typeof HTMLCanvasElement<\"u\"&&y instanceof HTMLCanvasElement||typeof HTMLImageElement<\"u\"&&y instanceof HTMLImageElement||typeof HTMLVideoElement<\"u\"&&y instanceof HTMLVideoElement||typeof ImageData<\"u\"&&y instanceof ImageData}var p=function(y,f){a.muls(y,f,255)};function T(y,f,R){var L=y.gl,z=L.getParameter(L.MAX_TEXTURE_SIZE);if(f<0||f>z||R<0||R>z)throw new Error(\"gl-texture2d: Invalid texture size\");return y._shape=[f,R],y.bind(),L.texImage2D(L.TEXTURE_2D,0,y.format,f,R,0,y.format,y.type,null),y._mipLevels=[0],y}function l(y,f,R,L,z,F){this.gl=y,this.handle=f,this.format=z,this.type=F,this._shape=[R,L],this._mipLevels=[0],this._magFilter=y.NEAREST,this._minFilter=y.NEAREST,this._wrapS=y.CLAMP_TO_EDGE,this._wrapT=y.CLAMP_TO_EDGE,this._anisoSamples=1;var N=this,O=[this._wrapS,this._wrapT];Object.defineProperties(O,[{get:function(){return N._wrapS},set:function(U){return N.wrapS=U}},{get:function(){return N._wrapT},set:function(U){return N.wrapT=U}}]),this._wrapVector=O;var P=[this._shape[0],this._shape[1]];Object.defineProperties(P,[{get:function(){return N._shape[0]},set:function(U){return N.width=U}},{get:function(){return N._shape[1]},set:function(U){return N.height=U}}]),this._shapeVector=P}var _=l.prototype;Object.defineProperties(_,{minFilter:{get:function(){return this._minFilter},set:function(y){this.bind();var f=this.gl;if(this.type===f.FLOAT&&i.indexOf(y)>=0&&(f.getExtension(\"OES_texture_float_linear\")||(y=f.NEAREST)),s.indexOf(y)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+y);return f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,y),this._minFilter=y}},magFilter:{get:function(){return this._magFilter},set:function(y){this.bind();var f=this.gl;if(this.type===f.FLOAT&&i.indexOf(y)>=0&&(f.getExtension(\"OES_texture_float_linear\")||(y=f.NEAREST)),s.indexOf(y)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+y);return f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MAG_FILTER,y),this._magFilter=y}},mipSamples:{get:function(){return this._anisoSamples},set:function(y){var f=this._anisoSamples;if(this._anisoSamples=Math.max(y,1)|0,f!==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(y){if(this.bind(),h.indexOf(y)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+y);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,y),this._wrapS=y}},wrapT:{get:function(){return this._wrapT},set:function(y){if(this.bind(),h.indexOf(y)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+y);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,y),this._wrapT=y}},wrap:{get:function(){return this._wrapVector},set:function(y){if(Array.isArray(y)||(y=[y,y]),y.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var f=0;f<2;++f)if(h.indexOf(y[f])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+y);this._wrapS=y[0],this._wrapT=y[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),y}},shape:{get:function(){return this._shapeVector},set:function(y){if(!Array.isArray(y))y=[y|0,y|0];else if(y.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return T(this,y[0]|0,y[1]|0),[y[0]|0,y[1]|0]}},width:{get:function(){return this._shape[0]},set:function(y){return y=y|0,T(this,y,this._shape[1]),y}},height:{get:function(){return this._shape[1]},set:function(y){return y=y|0,T(this,this._shape[0],y),y}}}),_.bind=function(y){var f=this.gl;return y!==void 0&&f.activeTexture(f.TEXTURE0+(y|0)),f.bindTexture(f.TEXTURE_2D,this.handle),y!==void 0?y|0:f.getParameter(f.ACTIVE_TEXTURE)-f.TEXTURE0},_.dispose=function(){this.gl.deleteTexture(this.handle)},_.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var y=Math.min(this._shape[0],this._shape[1]),f=0;y>0;++f,y>>>=1)this._mipLevels.indexOf(f)<0&&this._mipLevels.push(f)},_.setPixels=function(y,f,R,L){var z=this.gl;this.bind(),Array.isArray(f)?(L=R,R=f[1]|0,f=f[0]|0):(f=f||0,R=R||0),L=L||0;var F=m(y)?y:y.raw;if(F){var N=this._mipLevels.indexOf(L)<0;N?(z.texImage2D(z.TEXTURE_2D,0,this.format,this.format,this.type,F),this._mipLevels.push(L)):z.texSubImage2D(z.TEXTURE_2D,L,f,R,this.format,this.type,F)}else if(y.shape&&y.stride&&y.data){if(y.shape.length<2||f+y.shape[1]>this._shape[1]>>>L||R+y.shape[0]>this._shape[0]>>>L||f<0||R<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");A(z,f,R,L,this.format,this.type,this._mipLevels,y)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function w(y,f){return y.length===3?f[2]===1&&f[1]===y[0]*y[2]&&f[0]===y[2]:f[0]===1&&f[1]===y[0]}function A(y,f,R,L,z,F,N,O){var P=O.dtype,U=O.shape.slice();if(U.length<2||U.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var B=0,X=0,$=w(U,O.stride.slice());P===\"float32\"?B=y.FLOAT:P===\"float64\"?(B=y.FLOAT,$=!1,P=\"float32\"):P===\"uint8\"?B=y.UNSIGNED_BYTE:(B=y.UNSIGNED_BYTE,$=!1,P=\"uint8\");var se=1;if(U.length===2)X=y.LUMINANCE,U=[U[0],U[1],1],O=o(O.data,U,[O.stride[0],O.stride[1],1],O.offset);else if(U.length===3){if(U[2]===1)X=y.ALPHA;else if(U[2]===2)X=y.LUMINANCE_ALPHA;else if(U[2]===3)X=y.RGB;else if(U[2]===4)X=y.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");se=U[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((X===y.LUMINANCE||X===y.ALPHA)&&(z===y.LUMINANCE||z===y.ALPHA)&&(X=z),X!==z)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var le=O.size,fe=N.indexOf(L)<0;if(fe&&N.push(L),B===F&&$)O.offset===0&&O.data.length===le?fe?y.texImage2D(y.TEXTURE_2D,L,z,U[0],U[1],0,z,F,O.data):y.texSubImage2D(y.TEXTURE_2D,L,f,R,U[0],U[1],z,F,O.data):fe?y.texImage2D(y.TEXTURE_2D,L,z,U[0],U[1],0,z,F,O.data.subarray(O.offset,O.offset+le)):y.texSubImage2D(y.TEXTURE_2D,L,f,R,U[0],U[1],z,F,O.data.subarray(O.offset,O.offset+le));else{var V;F===y.FLOAT?V=n.mallocFloat32(le):V=n.mallocUint8(le);var Y=o(V,U,[U[2],U[2]*U[0],1]);B===y.FLOAT&&F===y.UNSIGNED_BYTE?p(Y,O):a.assign(Y,O),fe?y.texImage2D(y.TEXTURE_2D,L,z,U[0],U[1],0,z,F,V.subarray(0,le)):y.texSubImage2D(y.TEXTURE_2D,L,f,R,U[0],U[1],z,F,V.subarray(0,le)),F===y.FLOAT?n.freeFloat32(V):n.freeUint8(V)}}function M(y){var f=y.createTexture();return y.bindTexture(y.TEXTURE_2D,f),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MIN_FILTER,y.NEAREST),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MAG_FILTER,y.NEAREST),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_WRAP_S,y.CLAMP_TO_EDGE),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_WRAP_T,y.CLAMP_TO_EDGE),f}function g(y,f,R,L,z){var F=y.getParameter(y.MAX_TEXTURE_SIZE);if(f<0||f>F||R<0||R>F)throw new Error(\"gl-texture2d: Invalid texture shape\");if(z===y.FLOAT&&!y.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var N=M(y);return y.texImage2D(y.TEXTURE_2D,0,L,f,R,0,L,z,null),new l(y,N,f,R,L,z)}function b(y,f,R,L,z,F){var N=M(y);return y.texImage2D(y.TEXTURE_2D,0,z,z,F,f),new l(y,N,R,L,z,F)}function d(y,f){var R=f.dtype,L=f.shape.slice(),z=y.getParameter(y.MAX_TEXTURE_SIZE);if(L[0]<0||L[0]>z||L[1]<0||L[1]>z)throw new Error(\"gl-texture2d: Invalid texture size\");var F=w(L,f.stride.slice()),N=0;R===\"float32\"?N=y.FLOAT:R===\"float64\"?(N=y.FLOAT,F=!1,R=\"float32\"):R===\"uint8\"?N=y.UNSIGNED_BYTE:(N=y.UNSIGNED_BYTE,F=!1,R=\"uint8\");var O=0;if(L.length===2)O=y.LUMINANCE,L=[L[0],L[1],1],f=o(f.data,L,[f.stride[0],f.stride[1],1],f.offset);else if(L.length===3)if(L[2]===1)O=y.ALPHA;else if(L[2]===2)O=y.LUMINANCE_ALPHA;else if(L[2]===3)O=y.RGB;else if(L[2]===4)O=y.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");N===y.FLOAT&&!y.getExtension(\"OES_texture_float\")&&(N=y.UNSIGNED_BYTE,F=!1);var P,U,B=f.size;if(F)f.offset===0&&f.data.length===B?P=f.data:P=f.data.subarray(f.offset,f.offset+B);else{var X=[L[2],L[2]*L[0],1];U=n.malloc(B,R);var $=o(U,L,X,0);(R===\"float32\"||R===\"float64\")&&N===y.UNSIGNED_BYTE?p($,f):a.assign($,f),P=U.subarray(0,B)}var se=M(y);return y.texImage2D(y.TEXTURE_2D,0,O,L[0],L[1],0,O,N,P),F||n.free(U),new l(y,se,L[0],L[1],O,N)}function u(y){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(i||c(y),typeof arguments[1]==\"number\")return g(y,arguments[1],arguments[2],arguments[3]||y.RGBA,arguments[4]||y.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return g(y,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||y.RGBA,arguments[3]||y.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var f=arguments[1],R=m(f)?f:f.raw;if(R)return b(y,R,f.width|0,f.height|0,arguments[2]||y.RGBA,arguments[3]||y.UNSIGNED_BYTE);if(f.shape&&f.data&&f.stride)return d(y,f)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},7790:function(){},7815:function(e,t,r){\"use strict\";var o=r(2931),a=r(9970),n=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],i=function(A,M,g,b){for(var d=A.points,u=A.velocities,y=A.divergences,f=[],R=[],L=[],z=[],F=[],N=[],O=0,P=0,U=a.create(),B=a.create(),X=8,$=0;$0)for(var V=0;VM)return b-1}return b},c=function(A,M,g){return Ag?g:A},m=function(A,M,g){var b=M.vectors,d=M.meshgrid,u=A[0],y=A[1],f=A[2],R=d[0].length,L=d[1].length,z=d[2].length,F=h(d[0],u),N=h(d[1],y),O=h(d[2],f),P=F+1,U=N+1,B=O+1;if(F=c(F,0,R-1),P=c(P,0,R-1),N=c(N,0,L-1),U=c(U,0,L-1),O=c(O,0,z-1),B=c(B,0,z-1),F<0||N<0||O<0||P>R-1||U>L-1||B>z-1)return o.create();var X=d[0][F],$=d[0][P],se=d[1][N],le=d[1][U],fe=d[2][O],V=d[2][B],Y=(u-X)/($-X),ee=(y-se)/(le-se),q=(f-fe)/(V-fe);isFinite(Y)||(Y=.5),isFinite(ee)||(ee=.5),isFinite(q)||(q=.5);var oe,ae,j,Q,re,ce;switch(g.reversedX&&(F=R-1-F,P=R-1-P),g.reversedY&&(N=L-1-N,U=L-1-U),g.reversedZ&&(O=z-1-O,B=z-1-B),g.filled){case 5:re=O,ce=B,j=N*z,Q=U*z,oe=F*z*L,ae=P*z*L;break;case 4:re=O,ce=B,oe=F*z,ae=P*z,j=N*z*R,Q=U*z*R;break;case 3:j=N,Q=U,re=O*L,ce=B*L,oe=F*L*z,ae=P*L*z;break;case 2:j=N,Q=U,oe=F*L,ae=P*L,re=O*L*R,ce=B*L*R;break;case 1:oe=F,ae=P,re=O*R,ce=B*R,j=N*R*z,Q=U*R*z;break;default:oe=F,ae=P,j=N*R,Q=U*R,re=O*R*L,ce=B*R*L;break}var be=b[oe+j+re],Ae=b[oe+j+ce],De=b[oe+Q+re],ze=b[oe+Q+ce],Ze=b[ae+j+re],at=b[ae+j+ce],nt=b[ae+Q+re],rt=b[ae+Q+ce],st=o.create(),Me=o.create(),ye=o.create(),he=o.create();o.lerp(st,be,Ze,Y),o.lerp(Me,Ae,at,Y),o.lerp(ye,De,nt,Y),o.lerp(he,ze,rt,Y);var Oe=o.create(),tt=o.create();o.lerp(Oe,st,ye,ee),o.lerp(tt,Me,he,ee);var ot=o.create();return o.lerp(ot,Oe,tt,q),ot},p=function(A,M){var g=M[0],b=M[1],d=M[2];return A[0]=g<0?-g:g,A[1]=b<0?-b:b,A[2]=d<0?-d:d,A},T=function(A){var M=1/0;A.sort(function(u,y){return u-y});for(var g=A.length,b=1;bP||rtU||stB)},$=o.distance(M[0],M[1]),se=10*$/b,le=se*se,fe=1,V=0,Y=g.length;Y>1&&(fe=l(g));for(var ee=0;eeV&&(V=be),re.push(be),z.push({points:oe,velocities:ae,divergences:re});for(var Ae=0;Aele&&o.scale(De,De,se/Math.sqrt(ze)),o.add(De,De,q),j=R(De),o.squaredDistance(Q,De)-le>-1e-4*le){oe.push(De),Q=De,ae.push(j);var ce=L(De,j),be=o.length(ce);isFinite(be)&&be>V&&(V=be),re.push(be)}q=De}}var Ze=s(z,A.colormap,V,fe);return u?Ze.tubeScale=u:(V===0&&(V=1),Ze.tubeScale=d*.5*fe/V),Ze};var _=r(6740),w=r(6405).createMesh;e.exports.createTubeMesh=function(A,M){return w(A,M,{shaders:_,traceType:\"streamtube\"})}},7827:function(e){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},7842:function(e,t,r){\"use strict\";var o=r(6330),a=r(1533),n=r(2651),i=r(6768),s=r(869),h=r(8697);e.exports=c;function c(m,p){if(o(m))return p?h(m,c(p)):[m[0].clone(),m[1].clone()];var T=0,l,_;if(a(m))l=m.clone();else if(typeof m==\"string\")l=i(m);else{if(m===0)return[n(0),n(1)];if(m===Math.floor(m))l=n(m);else{for(;m!==Math.floor(m);)m=m*Math.pow(2,256),T-=256;l=n(m)}}if(o(p))l.mul(p[1]),_=p[0].clone();else if(a(p))_=p.clone();else if(typeof p==\"string\")_=i(p);else if(!p)_=n(1);else if(p===Math.floor(p))_=n(p);else{for(;p!==Math.floor(p);)p=p*Math.pow(2,256),T+=256;_=n(p)}return T>0?l=l.ushln(T):T<0&&(_=_.ushln(-T)),s(l,_)}},7894:function(e){e.exports=t;function t(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}},7932:function(e,t,r){var o=r(620);e.exports=o.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"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\"])},7960:function(e){e.exports=t;function t(r,o){var a=o[0]-r[0],n=o[1]-r[1],i=o[2]-r[2],s=o[3]-r[3];return a*a+n*n+i*i+s*s}},8105:function(e){\"use strict\";e.exports=r;var t={\"lo===p0\":o,\"lo=p0)&&!(p1>=hi)\":c};function r(m){return t[m]}function o(m,p,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,d=T,u=p,y=m+p,f=T;l>f;++f,g+=M){var R=_[g+u];if(R===A)if(d===f)d+=1,b+=M;else{for(var L=0;M>L;++L){var z=_[g+L];_[g+L]=_[b],_[b++]=z}var F=w[f];w[f]=w[d],w[d++]=F}}return d}function a(m,p,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,d=T,u=p,y=m+p,f=T;l>f;++f,g+=M){var R=_[g+u];if(RL;++L){var z=_[g+L];_[g+L]=_[b],_[b++]=z}var F=w[f];w[f]=w[d],w[d++]=F}}return d}function n(m,p,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,d=T,u=p,y=m+p,f=T;l>f;++f,g+=M){var R=_[g+y];if(R<=A)if(d===f)d+=1,b+=M;else{for(var L=0;M>L;++L){var z=_[g+L];_[g+L]=_[b],_[b++]=z}var F=w[f];w[f]=w[d],w[d++]=F}}return d}function i(m,p,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,d=T,u=p,y=m+p,f=T;l>f;++f,g+=M){var R=_[g+y];if(R<=A)if(d===f)d+=1,b+=M;else{for(var L=0;M>L;++L){var z=_[g+L];_[g+L]=_[b],_[b++]=z}var F=w[f];w[f]=w[d],w[d++]=F}}return d}function s(m,p,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,d=T,u=p,y=m+p,f=T;l>f;++f,g+=M){var R=_[g+u],L=_[g+y];if(R<=A&&A<=L)if(d===f)d+=1,b+=M;else{for(var z=0;M>z;++z){var F=_[g+z];_[g+z]=_[b],_[b++]=F}var N=w[f];w[f]=w[d],w[d++]=N}}return d}function h(m,p,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,d=T,u=p,y=m+p,f=T;l>f;++f,g+=M){var R=_[g+u],L=_[g+y];if(Rz;++z){var F=_[g+z];_[g+z]=_[b],_[b++]=F}var N=w[f];w[f]=w[d],w[d++]=N}}return d}function c(m,p,T,l,_,w,A,M){for(var g=2*m,b=g*T,d=b,u=T,y=p,f=m+p,R=T;l>R;++R,b+=g){var L=_[b+y],z=_[b+f];if(!(L>=A)&&!(M>=z))if(u===R)u+=1,d+=g;else{for(var F=0;g>F;++F){var N=_[b+F];_[b+F]=_[d],_[d++]=N}var O=w[R];w[R]=w[u],w[u++]=O}}return u}},8107:function(e){e.exports=t;function t(r,o,a){return r[0]=Math.min(o[0],a[0]),r[1]=Math.min(o[1],a[1]),r[2]=Math.min(o[2],a[2]),r}},8116:function(e,t,r){\"use strict\";var o=r(7518),a=r(870);function n(s){this.bindVertexArrayOES=s.bindVertexArray.bind(s),this.createVertexArrayOES=s.createVertexArray.bind(s),this.deleteVertexArrayOES=s.deleteVertexArray.bind(s)}function i(s,h,c,m){var p=s.createVertexArray?new n(s):s.getExtension(\"OES_vertex_array_object\"),T;return p?T=o(s,p):T=a(s),T.update(h,c,m),T}e.exports=i},8192:function(e,t,r){e.exports=i;var o=r(2825),a=r(3536),n=r(244);function i(s,h){var c=o(s[0],s[1],s[2]),m=o(h[0],h[1],h[2]);a(c,c),a(m,m);var p=n(c,m);return p>1?0:Math.acos(p)}},8210:function(e){\"use strict\";e.exports=r;function t(o,a){var n=o+a,i=n-o,s=n-i,h=a-i,c=o-s,m=c+h;return m?[m,n]:[n]}function r(o,a){var n=o.length|0,i=a.length|0;if(n===1&&i===1)return t(o[0],a[0]);var s=n+i,h=new Array(s),c=0,m=0,p=0,T=Math.abs,l=o[m],_=T(l),w=a[p],A=T(w),M,g;_=i?(M=l,m+=1,mc)for(var R=h[l],L=1/Math.sqrt(d*y),f=0;f<3;++f){var z=(f+1)%3,F=(f+2)%3;R[f]+=L*(u[z]*b[F]-u[F]*b[z])}}for(var m=0;mc)for(var L=1/Math.sqrt(N),f=0;f<3;++f)R[f]*=L;else for(var f=0;f<3;++f)R[f]=0}return h},t.faceNormals=function(a,n,i){for(var s=a.length,h=new Array(s),c=i===void 0?o:i,m=0;mc?M=1/Math.sqrt(M):M=0;for(var l=0;l<3;++l)A[l]*=M;h[m]=A}return h}},8418:function(e,t,r){\"use strict\";var o=r(5219),a=r(2762),n=r(8116),i=r(1888),s=r(6760),h=r(1283),c=r(9366),m=r(5964),p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=ArrayBuffer,l=DataView;function _(q){return T.isView(q)&&!(q instanceof l)}function w(q){return Array.isArray(q)||_(q)}e.exports=ee;function A(q,oe){var ae=q[0],j=q[1],Q=q[2],re=q[3];return q[0]=oe[0]*ae+oe[4]*j+oe[8]*Q+oe[12]*re,q[1]=oe[1]*ae+oe[5]*j+oe[9]*Q+oe[13]*re,q[2]=oe[2]*ae+oe[6]*j+oe[10]*Q+oe[14]*re,q[3]=oe[3]*ae+oe[7]*j+oe[11]*Q+oe[15]*re,q}function M(q,oe,ae,j){return A(j,j,ae),A(j,j,oe),A(j,j,q)}function g(q,oe){this.index=q,this.dataCoordinate=this.position=oe}function b(q){return q===!0||q>1?1:q}function d(q,oe,ae,j,Q,re,ce,be,Ae,De,ze,Ze){this.gl=q,this.pixelRatio=1,this.shader=oe,this.orthoShader=ae,this.projectShader=j,this.pointBuffer=Q,this.colorBuffer=re,this.glyphBuffer=ce,this.idBuffer=be,this.vao=Ae,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=De,this.pickOrthoShader=ze,this.pickProjectShader=Ze,this.points=[],this._selectResult=new g(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}var u=d.prototype;u.pickSlots=1,u.setPickBase=function(q){this.pickId=q},u.isTransparent=function(){if(this.hasAlpha)return!0;for(var q=0;q<3;++q)if(this.axesProject[q]&&this.projectHasAlpha)return!0;return!1},u.isOpaque=function(){if(!this.hasAlpha)return!0;for(var q=0;q<3;++q)if(this.axesProject[q]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],f=[0,0,0],R=[0,0,0],L=[0,0,0,1],z=[0,0,0,1],F=p.slice(),N=[0,0,0],O=[[0,0,0],[0,0,0]];function P(q){return q[0]=q[1]=q[2]=0,q}function U(q,oe){return q[0]=oe[0],q[1]=oe[1],q[2]=oe[2],q[3]=1,q}function B(q,oe,ae,j){return q[0]=oe[0],q[1]=oe[1],q[2]=oe[2],q[ae]=j,q}function X(q){for(var oe=O,ae=0;ae<2;++ae)for(var j=0;j<3;++j)oe[ae][j]=Math.max(Math.min(q[ae][j],1e8),-1e8);return oe}function $(q,oe,ae,j){var Q=oe.axesProject,re=oe.gl,ce=q.uniforms,be=ae.model||p,Ae=ae.view||p,De=ae.projection||p,ze=oe.axesBounds,Ze=X(oe.clipBounds),at;oe.axes&&oe.axes.lastCubeProps?at=oe.axes.lastCubeProps.axis:at=[1,1,1],y[0]=2/re.drawingBufferWidth,y[1]=2/re.drawingBufferHeight,q.bind(),ce.view=Ae,ce.projection=De,ce.screenSize=y,ce.highlightId=oe.highlightId,ce.highlightScale=oe.highlightScale,ce.clipBounds=Ze,ce.pickGroup=oe.pickId/255,ce.pixelRatio=j;for(var nt=0;nt<3;++nt)if(Q[nt]){ce.scale=oe.projectScale[nt],ce.opacity=oe.projectOpacity[nt];for(var rt=F,st=0;st<16;++st)rt[st]=0;for(var st=0;st<4;++st)rt[5*st]=1;rt[5*nt]=0,at[nt]<0?rt[12+nt]=ze[0][nt]:rt[12+nt]=ze[1][nt],s(rt,be,rt),ce.model=rt;var Me=(nt+1)%3,ye=(nt+2)%3,he=P(f),Oe=P(R);he[Me]=1,Oe[ye]=1;var tt=M(De,Ae,be,U(L,he)),ot=M(De,Ae,be,U(z,Oe));if(Math.abs(tt[1])>Math.abs(ot[1])){var Qe=tt;tt=ot,ot=Qe,Qe=he,he=Oe,Oe=Qe;var Pt=Me;Me=ye,ye=Pt}tt[0]<0&&(he[Me]=-1),ot[1]>0&&(Oe[ye]=-1);for(var It=0,qt=0,st=0;st<4;++st)It+=Math.pow(be[4*Me+st],2),qt+=Math.pow(be[4*ye+st],2);he[Me]/=Math.sqrt(It),Oe[ye]/=Math.sqrt(qt),ce.axes[0]=he,ce.axes[1]=Oe,ce.fragClipBounds[0]=B(N,Ze[0],nt,-1e8),ce.fragClipBounds[1]=B(N,Ze[1],nt,1e8),oe.vao.bind(),oe.vao.draw(re.TRIANGLES,oe.vertexCount),oe.lineWidth>0&&(re.lineWidth(oe.lineWidth*j),oe.vao.draw(re.LINES,oe.lineVertexCount,oe.vertexCount)),oe.vao.unbind()}}var se=[-1e8,-1e8,-1e8],le=[1e8,1e8,1e8],fe=[se,le];function V(q,oe,ae,j,Q,re,ce){var be=ae.gl;if((re===ae.projectHasAlpha||ce)&&$(oe,ae,j,Q),re===ae.hasAlpha||ce){q.bind();var Ae=q.uniforms;Ae.model=j.model||p,Ae.view=j.view||p,Ae.projection=j.projection||p,y[0]=2/be.drawingBufferWidth,y[1]=2/be.drawingBufferHeight,Ae.screenSize=y,Ae.highlightId=ae.highlightId,Ae.highlightScale=ae.highlightScale,Ae.fragClipBounds=fe,Ae.clipBounds=ae.axes.bounds,Ae.opacity=ae.opacity,Ae.pickGroup=ae.pickId/255,Ae.pixelRatio=Q,ae.vao.bind(),ae.vao.draw(be.TRIANGLES,ae.vertexCount),ae.lineWidth>0&&(be.lineWidth(ae.lineWidth*Q),ae.vao.draw(be.LINES,ae.lineVertexCount,ae.vertexCount)),ae.vao.unbind()}}u.draw=function(q){var oe=this.useOrtho?this.orthoShader:this.shader;V(oe,this.projectShader,this,q,this.pixelRatio,!1,!1)},u.drawTransparent=function(q){var oe=this.useOrtho?this.orthoShader:this.shader;V(oe,this.projectShader,this,q,this.pixelRatio,!0,!1)},u.drawPick=function(q){var oe=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;V(oe,this.pickProjectShader,this,q,1,!0,!0)},u.pick=function(q){if(!q||q.id!==this.pickId)return null;var oe=q.value[2]+(q.value[1]<<8)+(q.value[0]<<16);if(oe>=this.pointCount||oe<0)return null;var ae=this.points[oe],j=this._selectResult;j.index=oe;for(var Q=0;Q<3;++Q)j.position[Q]=j.dataCoordinate[Q]=ae[Q];return j},u.highlight=function(q){if(!q)this.highlightId=[1,1,1,1];else{var oe=q.index,ae=oe&255,j=oe>>8&255,Q=oe>>16&255;this.highlightId=[ae/255,j/255,Q/255,0]}};function Y(q,oe,ae,j){var Q;w(q)?oe0){var Rr=0,wt=ye,Ne=[0,0,0,1],Ke=[0,0,0,1],Te=w(at)&&w(at[0]),Ie=w(st)&&w(st[0]);e:for(var j=0;j0?1-qt[0][0]:_t<0?1+qt[1][0]:1,Ct*=Ct>0?1-qt[0][1]:Ct<0?1+qt[1][1]:1;for(var ir=[_t,Ct],Da=Pt.cells||[],Ia=Pt.positions||[],ot=0;ot=i?(M=l,m+=1,m0?1:0}},8648:function(e,t,r){e.exports=r(783)},8692:function(e){e.exports=t;function t(r,o,a,n){var i=a[0],s=a[1],h=o[0]-i,c=o[1]-s,m=Math.sin(n),p=Math.cos(n);return r[0]=i+h*p-c*m,r[1]=s+h*m+c*p,r[2]=o[2],r}},8697:function(e,t,r){\"use strict\";var o=r(869);e.exports=a;function a(n,i){return o(n[0].mul(i[1]),n[1].mul(i[0]))}},8731:function(e,t,r){\"use strict\";e.exports=c;var o=r(8866);function a(m,p,T,l,_,w){this._gl=m,this._wrapper=p,this._index=T,this._locations=l,this._dimension=_,this._constFunc=w}var n=a.prototype;n.pointer=function(p,T,l,_){var w=this,A=w._gl,M=w._locations[w._index];A.vertexAttribPointer(M,w._dimension,p||A.FLOAT,!!T,l||0,_||0),A.enableVertexAttribArray(M)},n.set=function(m,p,T,l){return this._constFunc(this._locations[this._index],m,p,T,l)},Object.defineProperty(n,\"location\",{get:function(){return this._locations[this._index]},set:function(m){return m!==this._locations[this._index]&&(this._locations[this._index]=m|0,this._wrapper.program=null),m|0}});var i=[function(m,p,T){return T.length===void 0?m.vertexAttrib1f(p,T):m.vertexAttrib1fv(p,T)},function(m,p,T,l){return T.length===void 0?m.vertexAttrib2f(p,T,l):m.vertexAttrib2fv(p,T)},function(m,p,T,l,_){return T.length===void 0?m.vertexAttrib3f(p,T,l,_):m.vertexAttrib3fv(p,T)},function(m,p,T,l,_,w){return T.length===void 0?m.vertexAttrib4f(p,T,l,_,w):m.vertexAttrib4fv(p,T)}];function s(m,p,T,l,_,w,A){var M=i[_],g=new a(m,p,T,l,_,M);Object.defineProperty(w,A,{set:function(b){return m.disableVertexAttribArray(l[T]),M(m,l[T],b),b},get:function(){return g},enumerable:!0})}function h(m,p,T,l,_,w,A){for(var M=new Array(_),g=new Array(_),b=0;b<_;++b)s(m,p,T[b],l,_,M,b),g[b]=M[b];Object.defineProperty(M,\"location\",{set:function(y){if(Array.isArray(y))for(var f=0;f<_;++f)g[f].location=y[f];else for(var f=0;f<_;++f)g[f].location=y+f;return y},get:function(){for(var y=new Array(_),f=0;f<_;++f)y[f]=l[T[f]];return y},enumerable:!0}),M.pointer=function(y,f,R,L){y=y||m.FLOAT,f=!!f,R=R||_*_,L=L||0;for(var z=0;z<_;++z){var F=l[T[z]];m.vertexAttribPointer(F,_,y,f,R,L+z*_),m.enableVertexAttribArray(F)}};var d=new Array(_),u=m[\"vertexAttrib\"+_+\"fv\"];Object.defineProperty(w,A,{set:function(y){for(var f=0;f<_;++f){var R=l[T[f]];if(m.disableVertexAttribArray(R),Array.isArray(y[0]))u.call(m,R,y[f]);else{for(var L=0;L<_;++L)d[L]=y[_*f+L];u.call(m,R,d)}}return y},get:function(){return M},enumerable:!0})}function c(m,p,T,l){for(var _={},w=0,A=T.length;w=0){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new o(\"\",\"Invalid data type for attribute \"+g+\": \"+b);s(m,p,d[0],l,u,_,g)}else if(b.indexOf(\"mat\")>=0){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new o(\"\",\"Invalid data type for attribute \"+g+\": \"+b);h(m,p,d,l,u,_,g)}else throw new o(\"\",\"Unknown data type for attribute \"+g+\": \"+b);break}}return _}},8828:function(e,t){\"use strict\";\"use restrict\";var r=32;t.INT_BITS=r,t.INT_MAX=2147483647,t.INT_MIN=-1<0)-(n<0)},t.abs=function(n){var i=n>>r-1;return(n^i)-i},t.min=function(n,i){return i^(n^i)&-(n65535)<<4,n>>>=i,s=(n>255)<<3,n>>>=s,i|=s,s=(n>15)<<2,n>>>=s,i|=s,s=(n>3)<<1,n>>>=s,i|=s,i|n>>1},t.log10=function(n){return n>=1e9?9:n>=1e8?8:n>=1e7?7:n>=1e6?6:n>=1e5?5:n>=1e4?4:n>=1e3?3:n>=100?2:n>=10?1:0},t.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function o(n){var i=32;return n&=-n,n&&i--,n&65535&&(i-=16),n&16711935&&(i-=8),n&252645135&&(i-=4),n&858993459&&(i-=2),n&1431655765&&(i-=1),i}t.countTrailingZeros=o,t.nextPow2=function(n){return n+=n===0,--n,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n+1},t.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},t.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var a=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,h=i,c=7;for(s>>>=1;s;s>>>=1)h<<=1,h|=s&1,--c;n[i]=h<>>8&255]<<16|a[n>>>16&255]<<8|a[n>>>24&255]},t.interleave2=function(n,i){return n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,i&=65535,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,n|i<<1},t.deinterleave2=function(n,i){return n=n>>>i&1431655765,n=(n|n>>>1)&858993459,n=(n|n>>>2)&252645135,n=(n|n>>>4)&16711935,n=(n|n>>>16)&65535,n<<16>>16},t.interleave3=function(n,i,s){return n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,i&=1023,i=(i|i<<16)&4278190335,i=(i|i<<8)&251719695,i=(i|i<<4)&3272356035,i=(i|i<<2)&1227133513,n|=i<<1,s&=1023,s=(s|s<<16)&4278190335,s=(s|s<<8)&251719695,s=(s|s<<4)&3272356035,s=(s|s<<2)&1227133513,n|s<<2},t.deinterleave3=function(n,i){return n=n>>>i&1227133513,n=(n|n>>>2)&3272356035,n=(n|n>>>4)&251719695,n=(n|n>>>8)&4278190335,n=(n|n>>>16)&1023,n<<22>>22},t.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>o(n)+1}},8866:function(e){function t(r,o,a){this.shortMessage=o||\"\",this.longMessage=a||\"\",this.rawError=r||\"\",this.message=\"gl-shader: \"+(o||r||\"\")+(a?`\n`+a:\"\"),this.stack=new Error().stack}t.prototype=new Error,t.prototype.name=\"GLError\",t.prototype.constructor=t,e.exports=t},8902:function(e,t,r){\"use strict\";var o=r(2478),a=r(3250)[3],n=0,i=1,s=2;e.exports=A;function h(M,g,b,d,u){this.a=M,this.b=g,this.idx=b,this.lowerIds=d,this.upperIds=u}function c(M,g,b,d){this.a=M,this.b=g,this.type=b,this.idx=d}function m(M,g){var b=M.a[0]-g.a[0]||M.a[1]-g.a[1]||M.type-g.type;return b||M.type!==n&&(b=a(M.a,M.b,g.b),b)?b:M.idx-g.idx}function p(M,g){return a(M.a,M.b,g)}function T(M,g,b,d,u){for(var y=o.lt(g,d,p),f=o.gt(g,d,p),R=y;R1&&a(b[z[N-2]],b[z[N-1]],d)>0;)M.push([z[N-1],z[N-2],u]),N-=1;z.length=N,z.push(u);for(var F=L.upperIds,N=F.length;N>1&&a(b[F[N-2]],b[F[N-1]],d)<0;)M.push([F[N-2],F[N-1],u]),N-=1;F.length=N,F.push(u)}}function l(M,g){var b;return M.a[0]L[0]&&u.push(new c(L,R,s,y),new c(R,L,i,y))}u.sort(m);for(var z=u[0].a[0]-(1+Math.abs(u[0].a[0]))*Math.pow(2,-52),F=[new h([z,1],[z,0],-1,[],[],[],[])],N=[],y=0,O=u.length;y0;){_=d.pop();for(var u=_.adjacent,y=0;y<=A;++y){var f=u[y];if(!(!f.boundary||f.lastVisited<=-M)){for(var R=f.vertices,L=0;L<=A;++L){var z=R[L];z<0?g[L]=w:g[L]=b[z]}var F=this.orient();if(F>0)return f;f.lastVisited=-M,F===0&&d.push(f)}}}return null},T.walk=function(_,w){var A=this.vertices.length-1,M=this.dimension,g=this.vertices,b=this.tuple,d=w?this.interior.length*Math.random()|0:this.interior.length-1,u=this.interior[d];e:for(;!u.boundary;){for(var y=u.vertices,f=u.adjacent,R=0;R<=M;++R)b[R]=g[y[R]];u.lastVisited=A;for(var R=0;R<=M;++R){var L=f[R];if(!(L.lastVisited>=A)){var z=b[R];b[R]=_;var F=this.orient();if(b[R]=z,F<0){u=L;continue e}else L.boundary?L.lastVisited=-A:L.lastVisited=A}}return}return u},T.addPeaks=function(_,w){var A=this.vertices.length-1,M=this.dimension,g=this.vertices,b=this.tuple,d=this.interior,u=this.simplices,y=[w];w.lastVisited=A,w.vertices[w.vertices.indexOf(-1)]=A,w.boundary=!1,d.push(w);for(var f=[];y.length>0;){var w=y.pop(),R=w.vertices,L=w.adjacent,z=R.indexOf(A);if(!(z<0)){for(var F=0;F<=M;++F)if(F!==z){var N=L[F];if(!(!N.boundary||N.lastVisited>=A)){var O=N.vertices;if(N.lastVisited!==-A){for(var P=0,U=0;U<=M;++U)O[U]<0?(P=U,b[U]=_):b[U]=g[O[U]];var B=this.orient();if(B>0){O[P]=A,N.boundary=!1,d.push(N),y.push(N),N.lastVisited=A;continue}else N.lastVisited=-A}var X=N.adjacent,$=R.slice(),se=L.slice(),le=new n($,se,!0);u.push(le);var fe=X.indexOf(w);if(!(fe<0)){X[fe]=le,se[z]=N,$[F]=-1,se[F]=w,L[F]=le,le.flip();for(var U=0;U<=M;++U){var V=$[U];if(!(V<0||V===A)){for(var Y=new Array(M-1),ee=0,q=0;q<=M;++q){var oe=$[q];oe<0||q===U||(Y[ee++]=oe)}f.push(new i(Y,le,U))}}}}}}}f.sort(s);for(var F=0;F+1=0?d[y++]=u[R]:f=R&1;if(f===(_&1)){var L=d[0];d[0]=d[1],d[1]=L}w.push(d)}}return w};function l(_,w){var A=_.length;if(A===0)throw new Error(\"Must have at least d+1 points\");var M=_[0].length;if(A<=M)throw new Error(\"Must input at least d+1 points\");var g=_.slice(0,M+1),b=o.apply(void 0,g);if(b===0)throw new Error(\"Input not in general position\");for(var d=new Array(M+1),u=0;u<=M;++u)d[u]=u;b<0&&(d[0]=1,d[1]=0);for(var y=new n(d,new Array(M+1),!1),f=y.adjacent,R=new Array(M+2),u=0;u<=M;++u){for(var L=d.slice(),z=0;z<=M;++z)z===u&&(L[z]=-1);var F=L[0];L[0]=L[1],L[1]=F;var N=new n(L,new Array(M+1),!0);f[u]=N,R[u]=N}R[M+1]=y;for(var u=0;u<=M;++u)for(var L=f[u].vertices,O=f[u].adjacent,z=0;z<=M;++z){var P=L[z];if(P<0){O[z]=y;continue}for(var U=0;U<=M;++U)f[U].vertices.indexOf(P)<0&&(O[z]=f[U])}for(var B=new p(M,g,R),X=!!w,u=M+1;u=1},l.isTransparent=function(){return this.opacity<1},l.pickSlots=1,l.setPickBase=function(b){this.pickId=b};function _(b){for(var d=m({colormap:b,nshades:256,format:\"rgba\"}),u=new Uint8Array(256*4),y=0;y<256;++y){for(var f=d[y],R=0;R<3;++R)u[4*y+R]=f[R];u[4*y+3]=f[3]*255}return c(u,[256,256,4],[4,0,1])}function w(b){for(var d=b.length,u=new Array(d),y=0;y0){var U=this.triShader;U.bind(),U.uniforms=z,this.triangleVAO.bind(),d.drawArrays(d.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},l.drawPick=function(b){b=b||{};for(var d=this.gl,u=b.model||p,y=b.view||p,f=b.projection||p,R=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],L=0;L<3;++L)R[0][L]=Math.max(R[0][L],this.clipBounds[0][L]),R[1][L]=Math.min(R[1][L],this.clipBounds[1][L]);this._model=[].slice.call(u),this._view=[].slice.call(y),this._projection=[].slice.call(f),this._resolution=[d.drawingBufferWidth,d.drawingBufferHeight];var z={model:u,view:y,projection:f,clipBounds:R,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},F=this.pickShader;F.bind(),F.uniforms=z,this.triangleCount>0&&(this.triangleVAO.bind(),d.drawArrays(d.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},l.pick=function(b){if(!b||b.id!==this.pickId)return null;var d=b.value[0]+256*b.value[1]+65536*b.value[2],u=this.cells[d],y=this.positions[u[1]].slice(0,3),f={position:y,dataCoordinate:y,index:Math.floor(u[1]/48)};return this.traceType===\"cone\"?f.index=Math.floor(u[1]/48):this.traceType===\"streamtube\"&&(f.intensity=this.intensity[u[1]],f.velocity=this.vectors[u[1]].slice(0,3),f.divergence=this.vectors[u[1]][3],f.index=d),f},l.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()};function A(b,d){var u=o(b,d.meshShader.vertex,d.meshShader.fragment,null,d.meshShader.attributes);return u.attributes.position.location=0,u.attributes.color.location=2,u.attributes.uv.location=3,u.attributes.vector.location=4,u}function M(b,d){var u=o(b,d.pickShader.vertex,d.pickShader.fragment,null,d.pickShader.attributes);return u.attributes.position.location=0,u.attributes.id.location=1,u.attributes.vector.location=4,u}function g(b,d,u){var y=u.shaders;arguments.length===1&&(d=b,b=d.gl);var f=A(b,y),R=M(b,y),L=i(b,c(new Uint8Array([255,255,255,255]),[1,1,4]));L.generateMipmap(),L.minFilter=b.LINEAR_MIPMAP_LINEAR,L.magFilter=b.LINEAR;var z=a(b),F=a(b),N=a(b),O=a(b),P=a(b),U=n(b,[{buffer:z,type:b.FLOAT,size:4},{buffer:P,type:b.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:N,type:b.FLOAT,size:4},{buffer:O,type:b.FLOAT,size:2},{buffer:F,type:b.FLOAT,size:4}]),B=new T(b,L,f,R,z,F,P,N,O,U,u.traceType||\"cone\");return B.update(d),B}e.exports=g},9127:function(e,t,r){\"use strict\";e.exports=n;var o=r(6204),a=r(5771);function n(i){return a(o(i))}},9131:function(e,t,r){var o=r(5177),a=r(9288);e.exports=n;function n(i,s){return s=s||1,i[0]=Math.random(),i[1]=Math.random(),i[2]=Math.random(),i[3]=Math.random(),o(i,i),a(i,i,s),i}},9165:function(e,t,r){\"use strict\";e.exports=T;var o=r(2762),a=r(8116),n=r(3436),i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(l,_,w,A){this.gl=l,this.shader=A,this.buffer=_,this.vao=w,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 h=s.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(l){var _=this.gl,w=this.shader.uniforms;this.shader.bind();var A=w.view=l.view||i,M=w.projection=l.projection||i;w.model=l.model||i,w.clipBounds=this.clipBounds,w.opacity=this.opacity;var g=A[12],b=A[13],d=A[14],u=A[15],y=l._ortho||!1,f=y?2:1,R=f*this.pixelRatio*(M[3]*g+M[7]*b+M[11]*d+M[15]*u)/_.drawingBufferHeight;this.vao.bind();for(var L=0;L<3;++L)_.lineWidth(this.lineWidth[L]*this.pixelRatio),w.capSize=this.capSize[L]*R,this.lineCount[L]&&_.drawArrays(_.LINES,this.lineOffset[L],this.lineCount[L]);this.vao.unbind()};function c(l,_){for(var w=0;w<3;++w)l[0][w]=Math.min(l[0][w],_[w]),l[1][w]=Math.max(l[1][w],_[w])}var m=function(){for(var l=new Array(3),_=0;_<3;++_){for(var w=[],A=1;A<=2;++A)for(var M=-1;M<=1;M+=2){var g=(A+_)%3,b=[0,0,0];b[g]=M,w.push(b)}l[_]=w}return l}();function p(l,_,w,A){for(var M=m[A],g=0;g0){var z=y.slice();z[d]+=R[1][d],M.push(y[0],y[1],y[2],L[0],L[1],L[2],L[3],0,0,0,z[0],z[1],z[2],L[0],L[1],L[2],L[3],0,0,0),c(this.bounds,z),b+=2+p(M,z,L,d)}}}this.lineCount[d]=b-this.lineOffset[d]}this.buffer.update(M)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function T(l){var _=l.gl,w=o(_),A=a(_,[{buffer:w,type:_.FLOAT,size:3,offset:0,stride:40},{buffer:w,type:_.FLOAT,size:4,offset:12,stride:40},{buffer:w,type:_.FLOAT,size:3,offset:28,stride:40}]),M=n(_);M.attributes.position.location=0,M.attributes.color.location=1,M.attributes.offset.location=2;var g=new s(_,w,A,M);return g.update(l),g}},9215:function(e,t,r){\"use strict\";e.exports=c;var o=r(4769),a=r(2478);function n(m,p,T){return Math.min(p,Math.max(m,T))}function i(m,p,T){this.dimension=m.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var l=0;l=T-1)for(var b=w.length-1,u=m-p[T-1],d=0;d=T-1)for(var g=w.length-1,b=m-p[T-1],d=0;d=0;--T)if(m[--p])return!1;return!0},s.jump=function(m){var p=this.lastT(),T=this.dimension;if(!(m0;--d)l.push(n(M[d-1],g[d-1],arguments[d])),_.push(0)}},s.push=function(m){var p=this.lastT(),T=this.dimension;if(!(m1e-6?1/A:0;this._time.push(m);for(var u=T;u>0;--u){var y=n(g[u-1],b[u-1],arguments[u]);l.push(y),_.push((y-l[w++])*d)}}},s.set=function(m){var p=this.dimension;if(!(m0;--M)T.push(n(w[M-1],A[M-1],arguments[M])),l.push(0)}},s.move=function(m){var p=this.lastT(),T=this.dimension;if(!(m<=p||arguments.length!==T+1)){var l=this._state,_=this._velocity,w=l.length-this.dimension,A=this.bounds,M=A[0],g=A[1],b=m-p,d=b>1e-6?1/b:0;this._time.push(m);for(var u=T;u>0;--u){var y=arguments[u];l.push(n(M[u-1],g[u-1],l[w++]+y)),_.push(y*d)}}},s.idle=function(m){var p=this.lastT();if(!(m=0;--d)l.push(n(M[d],g[d],l[w]+b*_[w])),_.push(0),w+=1}};function h(m){for(var p=new Array(m),T=0;T1&&i.indexOf(\"Macintosh\")!==-1&&i.indexOf(\"Safari\")!==-1&&(s=!0),s}},9226:function(e){e.exports=t;function t(r,o){return r[0]=Math.ceil(o[0]),r[1]=Math.ceil(o[1]),r[2]=Math.ceil(o[2]),r}},9265:function(e){e.exports=t;function t(r,o){return r[0]===o[0]&&r[1]===o[1]&&r[2]===o[2]}},9288:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]*a,r[1]=o[1]*a,r[2]=o[2]*a,r[3]=o[3]*a,r}},9346:function(e){\"use strict\";var t=new Float64Array(4),r=new Float64Array(4),o=new Float64Array(4);function a(n,i,s,h,c){t.length=p?(u=1,f=p+2*_+A):(u=-_/p,f=_*u+A)):(u=0,w>=0?(y=0,f=A):-w>=l?(y=1,f=l+2*w+A):(y=-w/l,f=w*y+A));else if(y<0)y=0,_>=0?(u=0,f=A):-_>=p?(u=1,f=p+2*_+A):(u=-_/p,f=_*u+A);else{var R=1/d;u*=R,y*=R,f=u*(p*u+T*y+2*_)+y*(T*u+l*y+2*w)+A}else{var L,z,F,N;u<0?(L=T+_,z=l+w,z>L?(F=z-L,N=p-2*T+l,F>=N?(u=1,y=0,f=p+2*_+A):(u=F/N,y=1-u,f=u*(p*u+T*y+2*_)+y*(T*u+l*y+2*w)+A)):(u=0,z<=0?(y=1,f=l+2*w+A):w>=0?(y=0,f=A):(y=-w/l,f=w*y+A))):y<0?(L=T+w,z=p+_,z>L?(F=z-L,N=p-2*T+l,F>=N?(y=1,u=0,f=l+2*w+A):(y=F/N,u=1-y,f=u*(p*u+T*y+2*_)+y*(T*u+l*y+2*w)+A)):(y=0,z<=0?(u=1,f=p+2*_+A):_>=0?(u=0,f=A):(u=-_/p,f=_*u+A))):(F=l+w-T-_,F<=0?(u=0,y=1,f=l+2*w+A):(N=p-2*T+l,F>=N?(u=1,y=0,f=p+2*_+A):(u=F/N,y=1-u,f=u*(p*u+T*y+2*_)+y*(T*u+l*y+2*w)+A)))}for(var O=1-u-y,m=0;mw)for(l=w;l<_;l++)this.gl.enableVertexAttribArray(l);else if(w>_)for(l=_;l=0){for(var O=N.type.charAt(N.type.length-1)|0,P=new Array(O),U=0;U=0;)B+=1;z[F]=B}var X=new Array(w.length);function $(){g.program=i.program(b,g._vref,g._fref,L,z);for(var se=0;seae&&Q>0){var re=(j[Q][0]-ae)/(j[Q][0]-j[Q-1][0]);return j[Q][1]*(1-re)+re*j[Q-1][1]}}return 1}var U=[0,0,0],B={showSurface:!1,showContour:!1,projections:[f.slice(),f.slice(),f.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function X(ae,j){var Q,re,ce,be=j.axes&&j.axes.lastCubeProps.axis||U,Ae=j.showSurface,De=j.showContour;for(Q=0;Q<3;++Q)for(Ae=Ae||j.surfaceProject[Q],re=0;re<3;++re)De=De||j.contourProject[Q][re];for(Q=0;Q<3;++Q){var ze=B.projections[Q];for(re=0;re<16;++re)ze[re]=0;for(re=0;re<4;++re)ze[5*re]=1;ze[5*Q]=0,ze[12+Q]=j.axesBounds[+(be[Q]>0)][Q],l(ze,ae.model,ze);var Ze=B.clipBounds[Q];for(ce=0;ce<2;++ce)for(re=0;re<3;++re)Ze[ce][re]=ae.clipBounds[ce][re];Ze[0][Q]=-1e8,Ze[1][Q]=1e8}return B.showSurface=Ae,B.showContour=De,B}var $={model:f,view:f,projection:f,inverseModel:f.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},se=f.slice(),le=[1,0,0,0,1,0,0,0,1];function fe(ae,j){ae=ae||{};var Q=this.gl;Q.disable(Q.CULL_FACE),this._colorMap.bind(0);var re=$;re.model=ae.model||f,re.view=ae.view||f,re.projection=ae.projection||f,re.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],re.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],re.objectOffset=this.objectOffset,re.contourColor=this.contourColor[0],re.inverseModel=_(re.inverseModel,re.model);for(var ce=0;ce<2;++ce)for(var be=re.clipBounds[ce],Ae=0;Ae<3;++Ae)be[Ae]=Math.min(Math.max(this.clipBounds[ce][Ae],-1e8),1e8);re.kambient=this.ambientLight,re.kdiffuse=this.diffuseLight,re.kspecular=this.specularLight,re.roughness=this.roughness,re.fresnel=this.fresnel,re.opacity=this.opacity,re.height=0,re.permutation=le,re.vertexColor=this.vertexColor;var De=se;for(l(De,re.view,re.model),l(De,re.projection,De),_(De,De),ce=0;ce<3;++ce)re.eyePosition[ce]=De[12+ce]/De[15];var ze=De[15];for(ce=0;ce<3;++ce)ze+=this.lightPosition[ce]*De[4*ce+3];for(ce=0;ce<3;++ce){var Ze=De[12+ce];for(Ae=0;Ae<3;++Ae)Ze+=De[4*Ae+ce]*this.lightPosition[Ae];re.lightPosition[ce]=Ze/ze}var at=X(re,this);if(at.showSurface){for(this._shader.bind(),this._shader.uniforms=re,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Q.TRIANGLES,this._vertexCount),ce=0;ce<3;++ce)!this.surfaceProject[ce]||!this.vertexCount||(this._shader.uniforms.model=at.projections[ce],this._shader.uniforms.clipBounds=at.clipBounds[ce],this._vao.draw(Q.TRIANGLES,this._vertexCount));this._vao.unbind()}if(at.showContour){var nt=this._contourShader;re.kambient=1,re.kdiffuse=0,re.kspecular=0,re.opacity=1,nt.bind(),nt.uniforms=re;var rt=this._contourVAO;for(rt.bind(),ce=0;ce<3;++ce)for(nt.uniforms.permutation=L[ce],Q.lineWidth(this.contourWidth[ce]*this.pixelRatio),Ae=0;Ae>4)/16)/255,ce=Math.floor(re),be=re-ce,Ae=j[1]*(ae.value[1]+(ae.value[2]&15)/16)/255,De=Math.floor(Ae),ze=Ae-De;ce+=1,De+=1;var Ze=Q.position;Ze[0]=Ze[1]=Ze[2]=0;for(var at=0;at<2;++at)for(var nt=at?be:1-be,rt=0;rt<2;++rt)for(var st=rt?ze:1-ze,Me=ce+at,ye=De+rt,he=nt*st,Oe=0;Oe<3;++Oe)Ze[Oe]+=this._field[Oe].get(Me,ye)*he;for(var tt=this._pickResult.level,ot=0;ot<3;++ot)if(tt[ot]=w.le(this.contourLevels[ot],Ze[ot]),tt[ot]<0)this.contourLevels[ot].length>0&&(tt[ot]=0);else if(tt[ot]Math.abs(Pt-Ze[ot])&&(tt[ot]+=1)}for(Q.index[0]=be<.5?ce:ce+1,Q.index[1]=ze<.5?De:De+1,Q.uv[0]=re/j[0],Q.uv[1]=Ae/j[1],Oe=0;Oe<3;++Oe)Q.dataCoordinate[Oe]=this._field[Oe].get(Q.index[0],Q.index[1]);return Q},O.padField=function(ae,j){var Q=j.shape.slice(),re=ae.shape.slice();c.assign(ae.lo(1,1).hi(Q[0],Q[1]),j),c.assign(ae.lo(1).hi(Q[0],1),j.hi(Q[0],1)),c.assign(ae.lo(1,re[1]-1).hi(Q[0],1),j.lo(0,Q[1]-1).hi(Q[0],1)),c.assign(ae.lo(0,1).hi(1,Q[1]),j.hi(1)),c.assign(ae.lo(re[0]-1,1).hi(1,Q[1]),j.lo(Q[0]-1)),ae.set(0,0,j.get(0,0)),ae.set(0,re[1]-1,j.get(0,Q[1]-1)),ae.set(re[0]-1,0,j.get(Q[0]-1,0)),ae.set(re[0]-1,re[1]-1,j.get(Q[0]-1,Q[1]-1))};function Y(ae,j){return Array.isArray(ae)?[j(ae[0]),j(ae[1]),j(ae[2])]:[j(ae),j(ae),j(ae)]}function ee(ae){return Array.isArray(ae)?ae.length===3?[ae[0],ae[1],ae[2],1]:[ae[0],ae[1],ae[2],ae[3]]:[0,0,0,1]}function q(ae){if(Array.isArray(ae)){if(Array.isArray(ae))return[ee(ae[0]),ee(ae[1]),ee(ae[2])];var j=ee(ae);return[j.slice(),j.slice(),j.slice()]}}O.update=function(ae){ae=ae||{},this.objectOffset=ae.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in ae&&(this.contourWidth=Y(ae.contourWidth,Number)),\"showContour\"in ae&&(this.showContour=Y(ae.showContour,Boolean)),\"showSurface\"in ae&&(this.showSurface=!!ae.showSurface),\"contourTint\"in ae&&(this.contourTint=Y(ae.contourTint,Boolean)),\"contourColor\"in ae&&(this.contourColor=q(ae.contourColor)),\"contourProject\"in ae&&(this.contourProject=Y(ae.contourProject,function(pi){return Y(pi,Boolean)})),\"surfaceProject\"in ae&&(this.surfaceProject=ae.surfaceProject),\"dynamicColor\"in ae&&(this.dynamicColor=q(ae.dynamicColor)),\"dynamicTint\"in ae&&(this.dynamicTint=Y(ae.dynamicTint,Number)),\"dynamicWidth\"in ae&&(this.dynamicWidth=Y(ae.dynamicWidth,Number)),\"opacity\"in ae&&(this.opacity=ae.opacity),\"opacityscale\"in ae&&(this.opacityscale=ae.opacityscale),\"colorBounds\"in ae&&(this.colorBounds=ae.colorBounds),\"vertexColor\"in ae&&(this.vertexColor=ae.vertexColor?1:0),\"colormap\"in ae&&this._colorMap.setPixels(this.genColormap(ae.colormap,this.opacityscale));var j=ae.field||ae.coords&&ae.coords[2]||null,Q=!1;if(j||(this._field[2].shape[0]||this._field[2].shape[2]?j=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):j=this._field[2].hi(0,0)),\"field\"in ae||\"coords\"in ae){var re=(j.shape[0]+2)*(j.shape[1]+2);re>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(o.nextPow2(re))),this._field[2]=p(this._field[2].data,[j.shape[0]+2,j.shape[1]+2]),this.padField(this._field[2],j),this.shape=j.shape.slice();for(var ce=this.shape,be=0;be<2;++be)this._field[2].size>this._field[be].data.length&&(s.freeFloat(this._field[be].data),this._field[be].data=s.mallocFloat(this._field[2].size)),this._field[be]=p(this._field[be].data,[ce[0]+2,ce[1]+2]);if(ae.coords){var Ae=ae.coords;if(!Array.isArray(Ae)||Ae.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(be=0;be<2;++be){var De=Ae[be];for(rt=0;rt<2;++rt)if(De.shape[rt]!==ce[rt])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[be],De)}}else if(ae.ticks){var ze=ae.ticks;if(!Array.isArray(ze)||ze.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(be=0;be<2;++be){var Ze=ze[be];if((Array.isArray(Ze)||Ze.length)&&(Ze=p(Ze)),Ze.shape[0]!==ce[be])throw new Error(\"gl-surface: invalid tick length\");var at=p(Ze.data,ce);at.stride[be]=Ze.stride[0],at.stride[be^1]=0,this.padField(this._field[be],at)}}else{for(be=0;be<2;++be){var nt=[0,0];nt[be]=1,this._field[be]=p(this._field[be].data,[ce[0]+2,ce[1]+2],nt,0)}this._field[0].set(0,0,0);for(var rt=0;rt0){for(var Za=0;Za<5;++Za)rr.pop();Te-=1}continue e}}}Da.push(Te)}this._contourOffsets[er]=fa,this._contourCounts[er]=Da}var ri=s.mallocFloat(rr.length);for(be=0;be=0&&(d=g|0,b+=y*d,u-=d),new w(this.data,u,y,b)},A.step=function(g){var b=this.shape[0],d=this.stride[0],u=this.offset,y=0,f=Math.ceil;return typeof g==\"number\"&&(y=g|0,y<0?(u+=d*(b-1),b=f(-b/y)):b=f(b/y),d*=y),new w(this.data,b,d,u)},A.transpose=function(g){g=g===void 0?0:g|0;var b=this.shape,d=this.stride;return new w(this.data,b[g],d[g],this.offset)},A.pick=function(g){var b=[],d=[],u=this.offset;typeof g==\"number\"&&g>=0?u=u+this.stride[0]*g|0:(b.push(this.shape[0]),d.push(this.stride[0]));var y=l[b.length+1];return y(this.data,b,d,u)},function(g,b,d,u){return new w(g,b[0],d[0],u)}},2:function(T,l,_){function w(M,g,b,d,u,y){this.data=M,this.shape=[g,b],this.stride=[d,u],this.offset=y|0}var A=w.prototype;return A.dtype=T,A.dimension=2,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(g,b,d){return T===\"generic\"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*b,d):this.data[this.offset+this.stride[0]*g+this.stride[1]*b]=d},A.get=function(g,b){return T===\"generic\"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*b):this.data[this.offset+this.stride[0]*g+this.stride[1]*b]},A.index=function(g,b){return this.offset+this.stride[0]*g+this.stride[1]*b},A.hi=function(g,b){return new w(this.data,typeof g!=\"number\"||g<0?this.shape[0]:g|0,typeof b!=\"number\"||b<0?this.shape[1]:b|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(g,b){var d=this.offset,u=0,y=this.shape[0],f=this.shape[1],R=this.stride[0],L=this.stride[1];return typeof g==\"number\"&&g>=0&&(u=g|0,d+=R*u,y-=u),typeof b==\"number\"&&b>=0&&(u=b|0,d+=L*u,f-=u),new w(this.data,y,f,R,L,d)},A.step=function(g,b){var d=this.shape[0],u=this.shape[1],y=this.stride[0],f=this.stride[1],R=this.offset,L=0,z=Math.ceil;return typeof g==\"number\"&&(L=g|0,L<0?(R+=y*(d-1),d=z(-d/L)):d=z(d/L),y*=L),typeof b==\"number\"&&(L=b|0,L<0?(R+=f*(u-1),u=z(-u/L)):u=z(u/L),f*=L),new w(this.data,d,u,y,f,R)},A.transpose=function(g,b){g=g===void 0?0:g|0,b=b===void 0?1:b|0;var d=this.shape,u=this.stride;return new w(this.data,d[g],d[b],u[g],u[b],this.offset)},A.pick=function(g,b){var d=[],u=[],y=this.offset;typeof g==\"number\"&&g>=0?y=y+this.stride[0]*g|0:(d.push(this.shape[0]),u.push(this.stride[0])),typeof b==\"number\"&&b>=0?y=y+this.stride[1]*b|0:(d.push(this.shape[1]),u.push(this.stride[1]));var f=l[d.length+1];return f(this.data,d,u,y)},function(g,b,d,u){return new w(g,b[0],b[1],d[0],d[1],u)}},3:function(T,l,_){function w(M,g,b,d,u,y,f,R){this.data=M,this.shape=[g,b,d],this.stride=[u,y,f],this.offset=R|0}var A=w.prototype;return A.dtype=T,A.dimension=3,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,\"order\",{get:function(){var g=Math.abs(this.stride[0]),b=Math.abs(this.stride[1]),d=Math.abs(this.stride[2]);return g>b?b>d?[2,1,0]:g>d?[1,2,0]:[1,0,2]:g>d?[2,0,1]:d>b?[0,1,2]:[0,2,1]}}),A.set=function(g,b,d,u){return T===\"generic\"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d,u):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d]=u},A.get=function(g,b,d){return T===\"generic\"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d]},A.index=function(g,b,d){return this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d},A.hi=function(g,b,d){return new w(this.data,typeof g!=\"number\"||g<0?this.shape[0]:g|0,typeof b!=\"number\"||b<0?this.shape[1]:b|0,typeof d!=\"number\"||d<0?this.shape[2]:d|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(g,b,d){var u=this.offset,y=0,f=this.shape[0],R=this.shape[1],L=this.shape[2],z=this.stride[0],F=this.stride[1],N=this.stride[2];return typeof g==\"number\"&&g>=0&&(y=g|0,u+=z*y,f-=y),typeof b==\"number\"&&b>=0&&(y=b|0,u+=F*y,R-=y),typeof d==\"number\"&&d>=0&&(y=d|0,u+=N*y,L-=y),new w(this.data,f,R,L,z,F,N,u)},A.step=function(g,b,d){var u=this.shape[0],y=this.shape[1],f=this.shape[2],R=this.stride[0],L=this.stride[1],z=this.stride[2],F=this.offset,N=0,O=Math.ceil;return typeof g==\"number\"&&(N=g|0,N<0?(F+=R*(u-1),u=O(-u/N)):u=O(u/N),R*=N),typeof b==\"number\"&&(N=b|0,N<0?(F+=L*(y-1),y=O(-y/N)):y=O(y/N),L*=N),typeof d==\"number\"&&(N=d|0,N<0?(F+=z*(f-1),f=O(-f/N)):f=O(f/N),z*=N),new w(this.data,u,y,f,R,L,z,F)},A.transpose=function(g,b,d){g=g===void 0?0:g|0,b=b===void 0?1:b|0,d=d===void 0?2:d|0;var u=this.shape,y=this.stride;return new w(this.data,u[g],u[b],u[d],y[g],y[b],y[d],this.offset)},A.pick=function(g,b,d){var u=[],y=[],f=this.offset;typeof g==\"number\"&&g>=0?f=f+this.stride[0]*g|0:(u.push(this.shape[0]),y.push(this.stride[0])),typeof b==\"number\"&&b>=0?f=f+this.stride[1]*b|0:(u.push(this.shape[1]),y.push(this.stride[1])),typeof d==\"number\"&&d>=0?f=f+this.stride[2]*d|0:(u.push(this.shape[2]),y.push(this.stride[2]));var R=l[u.length+1];return R(this.data,u,y,f)},function(g,b,d,u){return new w(g,b[0],b[1],b[2],d[0],d[1],d[2],u)}},4:function(T,l,_){function w(M,g,b,d,u,y,f,R,L,z){this.data=M,this.shape=[g,b,d,u],this.stride=[y,f,R,L],this.offset=z|0}var A=w.prototype;return A.dtype=T,A.dimension=4,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,\"order\",{get:_}),A.set=function(g,b,d,u,y){return T===\"generic\"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d+this.stride[3]*u,y):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d+this.stride[3]*u]=y},A.get=function(g,b,d,u){return T===\"generic\"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d+this.stride[3]*u):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d+this.stride[3]*u]},A.index=function(g,b,d,u){return this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*d+this.stride[3]*u},A.hi=function(g,b,d,u){return new w(this.data,typeof g!=\"number\"||g<0?this.shape[0]:g|0,typeof b!=\"number\"||b<0?this.shape[1]:b|0,typeof d!=\"number\"||d<0?this.shape[2]:d|0,typeof u!=\"number\"||u<0?this.shape[3]:u|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(g,b,d,u){var y=this.offset,f=0,R=this.shape[0],L=this.shape[1],z=this.shape[2],F=this.shape[3],N=this.stride[0],O=this.stride[1],P=this.stride[2],U=this.stride[3];return typeof g==\"number\"&&g>=0&&(f=g|0,y+=N*f,R-=f),typeof b==\"number\"&&b>=0&&(f=b|0,y+=O*f,L-=f),typeof d==\"number\"&&d>=0&&(f=d|0,y+=P*f,z-=f),typeof u==\"number\"&&u>=0&&(f=u|0,y+=U*f,F-=f),new w(this.data,R,L,z,F,N,O,P,U,y)},A.step=function(g,b,d,u){var y=this.shape[0],f=this.shape[1],R=this.shape[2],L=this.shape[3],z=this.stride[0],F=this.stride[1],N=this.stride[2],O=this.stride[3],P=this.offset,U=0,B=Math.ceil;return typeof g==\"number\"&&(U=g|0,U<0?(P+=z*(y-1),y=B(-y/U)):y=B(y/U),z*=U),typeof b==\"number\"&&(U=b|0,U<0?(P+=F*(f-1),f=B(-f/U)):f=B(f/U),F*=U),typeof d==\"number\"&&(U=d|0,U<0?(P+=N*(R-1),R=B(-R/U)):R=B(R/U),N*=U),typeof u==\"number\"&&(U=u|0,U<0?(P+=O*(L-1),L=B(-L/U)):L=B(L/U),O*=U),new w(this.data,y,f,R,L,z,F,N,O,P)},A.transpose=function(g,b,d,u){g=g===void 0?0:g|0,b=b===void 0?1:b|0,d=d===void 0?2:d|0,u=u===void 0?3:u|0;var y=this.shape,f=this.stride;return new w(this.data,y[g],y[b],y[d],y[u],f[g],f[b],f[d],f[u],this.offset)},A.pick=function(g,b,d,u){var y=[],f=[],R=this.offset;typeof g==\"number\"&&g>=0?R=R+this.stride[0]*g|0:(y.push(this.shape[0]),f.push(this.stride[0])),typeof b==\"number\"&&b>=0?R=R+this.stride[1]*b|0:(y.push(this.shape[1]),f.push(this.stride[1])),typeof d==\"number\"&&d>=0?R=R+this.stride[2]*d|0:(y.push(this.shape[2]),f.push(this.stride[2])),typeof u==\"number\"&&u>=0?R=R+this.stride[3]*u|0:(y.push(this.shape[3]),f.push(this.stride[3]));var L=l[y.length+1];return L(this.data,y,f,R)},function(g,b,d,u){return new w(g,b[0],b[1],b[2],b[3],d[0],d[1],d[2],d[3],u)}},5:function(l,_,w){function A(g,b,d,u,y,f,R,L,z,F,N,O){this.data=g,this.shape=[b,d,u,y,f],this.stride=[R,L,z,F,N],this.offset=O|0}var M=A.prototype;return M.dtype=l,M.dimension=5,Object.defineProperty(M,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(M,\"order\",{get:w}),M.set=function(b,d,u,y,f,R){return l===\"generic\"?this.data.set(this.offset+this.stride[0]*b+this.stride[1]*d+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f,R):this.data[this.offset+this.stride[0]*b+this.stride[1]*d+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f]=R},M.get=function(b,d,u,y,f){return l===\"generic\"?this.data.get(this.offset+this.stride[0]*b+this.stride[1]*d+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f):this.data[this.offset+this.stride[0]*b+this.stride[1]*d+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f]},M.index=function(b,d,u,y,f){return this.offset+this.stride[0]*b+this.stride[1]*d+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f},M.hi=function(b,d,u,y,f){return new A(this.data,typeof b!=\"number\"||b<0?this.shape[0]:b|0,typeof d!=\"number\"||d<0?this.shape[1]:d|0,typeof u!=\"number\"||u<0?this.shape[2]:u|0,typeof y!=\"number\"||y<0?this.shape[3]:y|0,typeof f!=\"number\"||f<0?this.shape[4]:f|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},M.lo=function(b,d,u,y,f){var R=this.offset,L=0,z=this.shape[0],F=this.shape[1],N=this.shape[2],O=this.shape[3],P=this.shape[4],U=this.stride[0],B=this.stride[1],X=this.stride[2],$=this.stride[3],se=this.stride[4];return typeof b==\"number\"&&b>=0&&(L=b|0,R+=U*L,z-=L),typeof d==\"number\"&&d>=0&&(L=d|0,R+=B*L,F-=L),typeof u==\"number\"&&u>=0&&(L=u|0,R+=X*L,N-=L),typeof y==\"number\"&&y>=0&&(L=y|0,R+=$*L,O-=L),typeof f==\"number\"&&f>=0&&(L=f|0,R+=se*L,P-=L),new A(this.data,z,F,N,O,P,U,B,X,$,se,R)},M.step=function(b,d,u,y,f){var R=this.shape[0],L=this.shape[1],z=this.shape[2],F=this.shape[3],N=this.shape[4],O=this.stride[0],P=this.stride[1],U=this.stride[2],B=this.stride[3],X=this.stride[4],$=this.offset,se=0,le=Math.ceil;return typeof b==\"number\"&&(se=b|0,se<0?($+=O*(R-1),R=le(-R/se)):R=le(R/se),O*=se),typeof d==\"number\"&&(se=d|0,se<0?($+=P*(L-1),L=le(-L/se)):L=le(L/se),P*=se),typeof u==\"number\"&&(se=u|0,se<0?($+=U*(z-1),z=le(-z/se)):z=le(z/se),U*=se),typeof y==\"number\"&&(se=y|0,se<0?($+=B*(F-1),F=le(-F/se)):F=le(F/se),B*=se),typeof f==\"number\"&&(se=f|0,se<0?($+=X*(N-1),N=le(-N/se)):N=le(N/se),X*=se),new A(this.data,R,L,z,F,N,O,P,U,B,X,$)},M.transpose=function(b,d,u,y,f){b=b===void 0?0:b|0,d=d===void 0?1:d|0,u=u===void 0?2:u|0,y=y===void 0?3:y|0,f=f===void 0?4:f|0;var R=this.shape,L=this.stride;return new A(this.data,R[b],R[d],R[u],R[y],R[f],L[b],L[d],L[u],L[y],L[f],this.offset)},M.pick=function(b,d,u,y,f){var R=[],L=[],z=this.offset;typeof b==\"number\"&&b>=0?z=z+this.stride[0]*b|0:(R.push(this.shape[0]),L.push(this.stride[0])),typeof d==\"number\"&&d>=0?z=z+this.stride[1]*d|0:(R.push(this.shape[1]),L.push(this.stride[1])),typeof u==\"number\"&&u>=0?z=z+this.stride[2]*u|0:(R.push(this.shape[2]),L.push(this.stride[2])),typeof y==\"number\"&&y>=0?z=z+this.stride[3]*y|0:(R.push(this.shape[3]),L.push(this.stride[3])),typeof f==\"number\"&&f>=0?z=z+this.stride[4]*f|0:(R.push(this.shape[4]),L.push(this.stride[4]));var F=_[R.length+1];return F(this.data,R,L,z)},function(b,d,u,y){return new A(b,d[0],d[1],d[2],d[3],d[4],u[0],u[1],u[2],u[3],u[4],y)}}};function h(T,l){var _=l===-1?\"T\":String(l),w=s[_];return l===-1?w(T):l===0?w(T,m[T][0]):w(T,m[T],i)}function c(T){if(o(T))return\"buffer\";if(a)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 Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(T)?\"array\":\"generic\"}var m={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function p(T,l,_,w){if(T===void 0){var u=m.array[0];return u([])}else typeof T==\"number\"&&(T=[T]);l===void 0&&(l=[T.length]);var A=l.length;if(_===void 0){_=new Array(A);for(var M=A-1,g=1;M>=0;--M)_[M]=g,g*=l[M]}if(w===void 0){w=0;for(var M=0;M1e-6?(_[0]=A/d,_[1]=M/d,_[2]=g/d,_[3]=b/d):(_[0]=_[1]=_[2]=0,_[3]=1)}function p(_,w,A){this.radius=o([A]),this.center=o(w),this.rotation=o(_),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 T=p.prototype;T.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},T.recalcMatrix=function(_){this.radius.curve(_),this.center.curve(_),this.rotation.curve(_);var w=this.computedRotation;m(w,w);var A=this.computedMatrix;n(A,w);var M=this.computedCenter,g=this.computedEye,b=this.computedUp,d=Math.exp(this.computedRadius[0]);g[0]=M[0]+d*A[2],g[1]=M[1]+d*A[6],g[2]=M[2]+d*A[10],b[0]=A[1],b[1]=A[5],b[2]=A[9];for(var u=0;u<3;++u){for(var y=0,f=0;f<3;++f)y+=A[u+4*f]*g[f];A[12+u]=-y}},T.getMatrix=function(_,w){this.recalcMatrix(_);var A=this.computedMatrix;if(w){for(var M=0;M<16;++M)w[M]=A[M];return w}return A},T.idle=function(_){this.center.idle(_),this.radius.idle(_),this.rotation.idle(_)},T.flush=function(_){this.center.flush(_),this.radius.flush(_),this.rotation.flush(_)},T.pan=function(_,w,A,M){w=w||0,A=A||0,M=M||0,this.recalcMatrix(_);var g=this.computedMatrix,b=g[1],d=g[5],u=g[9],y=h(b,d,u);b/=y,d/=y,u/=y;var f=g[0],R=g[4],L=g[8],z=f*b+R*d+L*u;f-=b*z,R-=d*z,L-=u*z;var F=h(f,R,L);f/=F,R/=F,L/=F;var N=g[2],O=g[6],P=g[10],U=N*b+O*d+P*u,B=N*f+O*R+P*L;N-=U*b+B*f,O-=U*d+B*R,P-=U*u+B*L;var X=h(N,O,P);N/=X,O/=X,P/=X;var $=f*w+b*A,se=R*w+d*A,le=L*w+u*A;this.center.move(_,$,se,le);var fe=Math.exp(this.computedRadius[0]);fe=Math.max(1e-4,fe+M),this.radius.set(_,Math.log(fe))},T.rotate=function(_,w,A,M){this.recalcMatrix(_),w=w||0,A=A||0;var g=this.computedMatrix,b=g[0],d=g[4],u=g[8],y=g[1],f=g[5],R=g[9],L=g[2],z=g[6],F=g[10],N=w*b+A*y,O=w*d+A*f,P=w*u+A*R,U=-(z*P-F*O),B=-(F*N-L*P),X=-(L*O-z*N),$=Math.sqrt(Math.max(0,1-Math.pow(U,2)-Math.pow(B,2)-Math.pow(X,2))),se=c(U,B,X,$);se>1e-6?(U/=se,B/=se,X/=se,$/=se):(U=B=X=0,$=1);var le=this.computedRotation,fe=le[0],V=le[1],Y=le[2],ee=le[3],q=fe*$+ee*U+V*X-Y*B,oe=V*$+ee*B+Y*U-fe*X,ae=Y*$+ee*X+fe*B-V*U,j=ee*$-fe*U-V*B-Y*X;if(M){U=L,B=z,X=F;var Q=Math.sin(M)/h(U,B,X);U*=Q,B*=Q,X*=Q,$=Math.cos(w),q=q*$+j*U+oe*X-ae*B,oe=oe*$+j*B+ae*U-q*X,ae=ae*$+j*X+q*B-oe*U,j=j*$-q*U-oe*B-ae*X}var re=c(q,oe,ae,j);re>1e-6?(q/=re,oe/=re,ae/=re,j/=re):(q=oe=ae=0,j=1),this.rotation.set(_,q,oe,ae,j)},T.lookAt=function(_,w,A,M){this.recalcMatrix(_),A=A||this.computedCenter,w=w||this.computedEye,M=M||this.computedUp;var g=this.computedMatrix;a(g,w,A,M);var b=this.computedRotation;s(b,g[0],g[1],g[2],g[4],g[5],g[6],g[8],g[9],g[10]),m(b,b),this.rotation.set(_,b[0],b[1],b[2],b[3]);for(var d=0,u=0;u<3;++u)d+=Math.pow(A[u]-w[u],2);this.radius.set(_,.5*Math.log(Math.max(d,1e-6))),this.center.set(_,A[0],A[1],A[2])},T.translate=function(_,w,A,M){this.center.move(_,w||0,A||0,M||0)},T.setMatrix=function(_,w){var A=this.computedRotation;s(A,w[0],w[1],w[2],w[4],w[5],w[6],w[8],w[9],w[10]),m(A,A),this.rotation.set(_,A[0],A[1],A[2],A[3]);var M=this.computedMatrix;i(M,w);var g=M[15];if(Math.abs(g)>1e-6){var b=M[12]/g,d=M[13]/g,u=M[14]/g;this.recalcMatrix(_);var y=Math.exp(this.computedRadius[0]);this.center.set(_,b-M[2]*y,d-M[6]*y,u-M[10]*y),this.radius.idle(_)}else this.center.idle(_),this.radius.idle(_)},T.setDistance=function(_,w){w>0&&this.radius.set(_,Math.log(w))},T.setDistanceLimits=function(_,w){_>0?_=Math.log(_):_=-1/0,w>0?w=Math.log(w):w=1/0,w=Math.max(w,_),this.radius.bounds[0][0]=_,this.radius.bounds[1][0]=w},T.getDistanceLimits=function(_){var w=this.radius.bounds;return _?(_[0]=Math.exp(w[0][0]),_[1]=Math.exp(w[1][0]),_):[Math.exp(w[0][0]),Math.exp(w[1][0])]},T.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]}},T.fromJSON=function(_){var w=this.lastT(),A=_.center;A&&this.center.set(w,A[0],A[1],A[2]);var M=_.rotation;M&&this.rotation.set(w,M[0],M[1],M[2],M[3]);var g=_.distance;g&&g>0&&this.radius.set(w,Math.log(g)),this.setDistanceLimits(_.zoomMin,_.zoomMax)};function l(_){_=_||{};var w=_.center||[0,0,0],A=_.rotation||[0,0,0,1],M=_.radius||1;w=[].slice.call(w,0,3),A=[].slice.call(A,0,4),m(A,A);var g=new p(A,w,Math.log(M));return g.setDistanceLimits(_.zoomMin,_.zoomMax),(\"eye\"in _||\"up\"in _)&&g.lookAt(0,_.eye,_.center,_.up),g}},9994:function(e,t,r){\"use strict\";var o=r(9618),a=r(8277);e.exports=function(i,s){for(var h=[],c=i,m=1;Array.isArray(c);)h.push(c.length),m*=c.length,c=c[0];return h.length===0?o():(s||(s=o(new Float64Array(m),h)),a(s,i),s)}}},x={};function S(e){var t=x[e];if(t!==void 0)return t.exports;var r=x[e]={id:e,loaded:!1,exports:{}};return v[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}(function(){S.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch{if(typeof window==\"object\")return window}}()})(),function(){S.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e}}();var E=S(1964);G.exports=E})()}}),xE=Xe({\"node_modules/color-name/index.js\"(Z,G){\"use strict\";G.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]}}}),GN=Xe({\"node_modules/color-normalize/node_modules/color-parse/index.js\"(Z,G){\"use strict\";var v=xE();G.exports=S;var x={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function S(E){var e,t=[],r=1,o;if(typeof E==\"string\")if(E=E.toLowerCase(),v[E])t=v[E].slice(),o=\"rgb\";else if(E===\"transparent\")r=0,o=\"rgb\",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(E)){var a=E.slice(1),n=a.length,i=n<=4;r=1,i?(t=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],n===4&&(r=parseInt(a[3]+a[3],16)/255)):(t=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],n===8&&(r=parseInt(a[6]+a[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),o=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(E)){var s=e[1],h=s===\"rgb\",a=s.replace(/a$/,\"\");o=a;var n=a===\"cmyk\"?4:a===\"gray\"?1:3;t=e[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(p,T){if(/%$/.test(p))return T===n?parseFloat(p)/100:a===\"rgb\"?parseFloat(p)*255/100:parseFloat(p);if(a[T]===\"h\"){if(/deg$/.test(p))return parseFloat(p);if(x[p]!==void 0)return x[p]}return parseFloat(p)}),s===a&&t.push(1),r=h||t[n]===void 0?1:t[n],t=t.slice(0,n)}else E.length>10&&/[0-9](?:\\s|\\/)/.test(E)&&(t=E.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),o=E.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(E)?Array.isArray(E)||E.length?(t=[E[0],E[1],E[2]],o=\"rgb\",r=E.length===4?E[3]:1):E instanceof Object&&(E.r!=null||E.red!=null||E.R!=null?(o=\"rgb\",t=[E.r||E.red||E.R||0,E.g||E.green||E.G||0,E.b||E.blue||E.B||0]):(o=\"hsl\",t=[E.h||E.hue||E.H||0,E.s||E.saturation||E.S||0,E.l||E.lightness||E.L||E.b||E.brightness]),r=E.a||E.alpha||E.opacity||1,E.opacity!=null&&(r/=100)):(o=\"rgb\",t=[E>>>16,(E&65280)>>>8,E&255]);return{space:o,values:t,alpha:r}}}}),HN=Xe({\"node_modules/color-normalize/node_modules/color-rgba/index.js\"(Z,G){\"use strict\";var v=GN();G.exports=function(E){Array.isArray(E)&&E.raw&&(E=String.raw.apply(null,arguments));var e,t,r,o=v(E);if(!o.space)return[];var a=[0,0,0],n=o.space[0]===\"h\"?[360,100,100]:[255,255,255];return e=Array(3),e[0]=Math.min(Math.max(o.values[0],a[0]),n[0]),e[1]=Math.min(Math.max(o.values[1],a[1]),n[1]),e[2]=Math.min(Math.max(o.values[2],a[2]),n[2]),o.space[0]===\"h\"&&(e=x(e)),e.push(Math.min(Math.max(o.alpha,0),1)),e};function x(S){var E=S[0]/360,e=S[1]/100,t=S[2]/100,r,o,a,n,i,s=0;if(e===0)return i=t*255,[i,i,i];for(o=t<.5?t*(1+e):t+e-t*e,r=2*t-o,n=[0,0,0];s<3;)a=E+1/3*-(s-1),a<0?a++:a>1&&a--,i=6*a<1?r+(o-r)*6*a:2*a<1?o:3*a<2?r+(o-r)*(2/3-a)*6:r,n[s++]=i*255;return n}}}),mx=Xe({\"node_modules/clamp/index.js\"(Z,G){G.exports=v;function v(x,S,E){return SE?E:x:xS?S:x}}}),Q3=Xe({\"node_modules/dtype/index.js\"(Z,G){G.exports=function(v){switch(v){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}}}}),d0=Xe({\"node_modules/color-normalize/index.js\"(Z,G){\"use strict\";var v=HN(),x=mx(),S=Q3();G.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var o=S(r),a=new o(4),n=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=v(t),t[0]/=255,t[1]/=255,t[2]/=255),E(t)?(a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3]!=null?t[3]:255,n&&(a[0]/=255,a[1]/=255,a[2]/=255,a[3]/=255),a):(n?(a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3]!=null?t[3]:1):(a[0]=x(Math.floor(t[0]*255),0,255),a[1]=x(Math.floor(t[1]*255),0,255),a[2]=x(Math.floor(t[2]*255),0,255),a[3]=t[3]==null?255:x(Math.floor(t[3]*255),0,255)),a)};function E(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}}}),em=Xe({\"src/lib/str2rgbarray.js\"(Z,G){\"use strict\";var v=d0();function x(S){return S?v(S):[0,0,0,1]}G.exports=x}}),tm=Xe({\"src/lib/gl_format_color.js\"(Z,G){\"use strict\";var v=rs(),x=Ch(),S=d0(),E=rc(),e=sh().defaultLine,t=bp().isArrayOrTypedArray,r=S(e),o=1;function a(c,m){var p=c;return p[3]*=m,p}function n(c){if(v(c))return r;var m=S(c);return m.length?m:r}function i(c){return v(c)?c:o}function s(c,m,p){var T=c.color;T&&T._inputArray&&(T=T._inputArray);var l=t(T),_=t(m),w=E.extractOpts(c),A=[],M,g,b,d,u;if(w.colorscale!==void 0?M=E.makeColorScaleFuncFromTrace(c):M=n,l?g=function(f,R){return f[R]===void 0?r:S(M(f[R]))}:g=n,_?b=function(f,R){return f[R]===void 0?o:i(f[R])}:b=i,l||_)for(var y=0;y0){var p=o.c2l(c);o._lowerLogErrorBound||(o._lowerLogErrorBound=p),o._lowerErrorBound=Math.min(o._lowerLogErrorBound,p)}}else n[i]=[-s[0]*r,s[1]*r]}return n}function S(e){for(var t=0;t-1?-1:R.indexOf(\"right\")>-1?1:0}function w(R){return R==null?0:R.indexOf(\"top\")>-1?-1:R.indexOf(\"bottom\")>-1?1:0}function A(R){var L=0,z=0,F=[L,z];if(Array.isArray(R))for(var N=0;N=0){var X=T(U.position,U.delaunayColor,U.delaunayAxis);X.opacity=R.opacity,this.delaunayMesh?this.delaunayMesh.update(X):(X.gl=L,this.delaunayMesh=E(X),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)},p.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())};function f(R,L){var z=new m(R,L.uid);return z.update(L),z}G.exports=f}}),wE=Xe({\"src/traces/scatter3d/attributes.js\"(Z,G){\"use strict\";var v=af(),x=tc(),S=ku(),E=tf().axisHoverFormat,{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=Jl(),o=ru(),a=bE(),n=eT(),i=Qo().extendFlat,s=pc().overrideAll,h=Jm(),c=v.line,m=v.marker,p=m.line,T=i({width:c.width,dash:{valType:\"enumerated\",values:h(a),dflt:\"solid\"}},S(\"line\"));function l(w){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var _=G.exports=s({x:v.x,y:v.y,z:{valType:\"data_array\"},text:i({},v.text,{}),texttemplate:t(),texttemplatefallback:r({editType:\"calc\"}),hovertext:i({},v.hovertext,{}),hovertemplate:e(),hovertemplatefallback:r(),xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),zhoverformat:E(\"z\"),mode:i({},v.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:l(\"x\"),y:l(\"y\"),z:l(\"z\")},connectgaps:v.connectgaps,line:T,marker:i({symbol:{valType:\"enumerated\",values:h(n),dflt:\"circle\",arrayOk:!0},size:i({},m.size,{dflt:8}),sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode,opacity:i({},m.opacity,{arrayOk:!1}),colorbar:m.colorbar,line:i({width:i({},p.width,{arrayOk:!1})},S(\"marker.line\"))},S(\"marker\")),textposition:i({},v.textposition,{dflt:\"top center\"}),textfont:x({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:o.opacity,hoverinfo:i({},o.hoverinfo)},\"calc\",\"nested\");_.x.editType=_.y.editType=_.z.editType=\"calc+clearAxisTypes\"}}),ZN=Xe({\"src/traces/scatter3d/defaults.js\"(Z,G){\"use strict\";var v=so(),x=sa(),S=Fu(),E=md(),e=Dd(),t=zd(),r=wE();G.exports=function(n,i,s,h){function c(M,g){return x.coerce(n,i,r,M,g)}var m=o(n,i,c,h);if(!m){i.visible=!1;return}c(\"text\"),c(\"hovertext\"),c(\"hovertemplate\"),c(\"hovertemplatefallback\"),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"zhoverformat\"),c(\"mode\"),S.hasMarkers(i)&&E(n,i,s,h,c,{noAngle:!0,noLineDash:!0,noSelect:!0}),S.hasLines(i)&&(c(\"connectgaps\"),e(n,i,s,h,c)),S.hasText(i)&&(c(\"texttemplate\"),c(\"texttemplatefallback\"),t(n,i,h,c,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var p=(i.line||{}).color,T=(i.marker||{}).color;c(\"surfaceaxis\")>=0&&c(\"surfacecolor\",p||T);for(var l=[\"x\",\"y\",\"z\"],_=0;_<3;++_){var w=\"projection.\"+l[_];c(w+\".show\")&&(c(w+\".opacity\"),c(w+\".scale\"))}var A=v.getComponentMethod(\"errorbars\",\"supplyDefaults\");A(n,i,p||T||s,{axis:\"z\"}),A(n,i,p||T||s,{axis:\"y\",inherit:\"z\"}),A(n,i,p||T||s,{axis:\"x\",inherit:\"z\"})};function o(a,n,i,s){var h=0,c=i(\"x\"),m=i(\"y\"),p=i(\"z\"),T=v.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return T(a,n,[\"x\",\"y\",\"z\"],s),c&&m&&p&&(h=Math.min(c.length,m.length,p.length),n._length=n._xlength=n._ylength=n._zlength=h),h}}}),YN=Xe({\"src/traces/scatter3d/calc.js\"(Z,G){\"use strict\";var v=Av(),x=Fd();G.exports=function(E,e){var t=[{x:!1,y:!1,trace:e,t:{}}];return v(t,e),x(E,e),t}}}),KN=Xe({\"node_modules/get-canvas-context/index.js\"(Z,G){G.exports=v;function v(x,S){if(typeof x!=\"string\")throw new TypeError(\"must specify type string\");if(S=S||{},typeof document>\"u\"&&!S.canvas)return null;var E=S.canvas||document.createElement(\"canvas\");typeof S.width==\"number\"&&(E.width=S.width),typeof S.height==\"number\"&&(E.height=S.height);var e=S,t;try{var r=[x];x.indexOf(\"webgl\")===0&&r.push(\"experimental-\"+x);for(var o=0;o/g,\" \"));i[s]=p,h.tickmode=c}}o.ticks=i;for(var s=0;s<3;++s){E[s]=.5*(r.glplot.bounds[0][s]+r.glplot.bounds[1][s]);for(var T=0;T<2;++T)o.bounds[T][s]=r.glplot.bounds[T][s]}r.contourLevels=e(i)}}}),tU=Xe({\"src/plots/gl3d/scene.js\"(Z,G){\"use strict\";var v=Yh().gl_plot3d,x=v.createCamera,S=v.createScene,E=JN(),e=b2(),t=so(),r=sa(),o=r.preserveDrawingBuffer(),a=Go(),n=rf(),i=em(),s=TE(),h=U5(),c=$N(),m=QN(),p=eU(),T=Yd().applyAutorangeOptions,l,_,w=!1;function A(z,F){var N=document.createElement(\"div\"),O=z.container;this.graphDiv=z.graphDiv;var P=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");P.style.position=\"absolute\",P.style.top=P.style.left=\"0px\",P.style.width=P.style.height=\"100%\",P.style[\"z-index\"]=20,P.style[\"pointer-events\"]=\"none\",N.appendChild(P),this.svgContainer=P,N.id=z.id,N.style.position=\"absolute\",N.style.top=N.style.left=\"0px\",N.style.width=N.style.height=\"100%\",O.appendChild(N),this.fullLayout=F,this.id=z.id||\"scene\",this.fullSceneLayout=F[this.id],this.plotArgs=[[],{},{}],this.axesOptions=c(F,F[this.id]),this.spikeOptions=m(F[this.id]),this.container=N,this.staticMode=!!z.staticPlot,this.pixelRatio=this.pixelRatio||z.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=t.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=t.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var M=A.prototype;M.prepareOptions=function(){var z=this,F={canvas:z.canvas,gl:z.gl,glOptions:{preserveDrawingBuffer:o,premultipliedAlpha:!0,antialias:!0},container:z.container,axes:z.axesOptions,spikes:z.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:z.camera,pixelRatio:z.pixelRatio};if(z.staticMode){if(!_&&(l=document.createElement(\"canvas\"),_=E({canvas:l,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!_))throw new Error(\"error creating static canvas/context for image server\");F.gl=_,F.canvas=l}return F};var g=!0;M.tryCreatePlot=function(){var z=this,F=z.prepareOptions(),N=!0;try{z.glplot=S(F)}catch{if(z.staticMode||!g||o)N=!1;else{r.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{o=F.glOptions.preserveDrawingBuffer=!0,z.glplot=S(F)}catch{o=F.glOptions.preserveDrawingBuffer=!1,N=!1}}}return g=!1,N},M.initializeGLCamera=function(){var z=this,F=z.fullSceneLayout.camera,N=F.projection.type===\"orthographic\";z.camera=x(z.container,{center:[F.center.x,F.center.y,F.center.z],eye:[F.eye.x,F.eye.y,F.eye.z],up:[F.up.x,F.up.y,F.up.z],_ortho:N,zoomMin:.01,zoomMax:100,mode:\"orbit\"})},M.initializeGLPlot=function(){var z=this;z.initializeGLCamera();var F=z.tryCreatePlot();if(!F)return s(z);z.traces={},z.make4thDimension();var N=z.graphDiv,O=N.layout,P=function(){var B={};return z.isCameraChanged(O)&&(B[z.id+\".camera\"]=z.getCamera()),z.isAspectChanged(O)&&(B[z.id+\".aspectratio\"]=z.glplot.getAspectratio(),O[z.id].aspectmode!==\"manual\"&&(z.fullSceneLayout.aspectmode=O[z.id].aspectmode=B[z.id+\".aspectmode\"]=\"manual\")),B},U=function(B){if(B.fullSceneLayout.dragmode!==!1){var X=P();B.saveLayout(O),B.graphDiv.emit(\"plotly_relayout\",X)}};return z.glplot.canvas&&(z.glplot.canvas.addEventListener(\"mouseup\",function(){U(z)}),z.glplot.canvas.addEventListener(\"touchstart\",function(){w=!0}),z.glplot.canvas.addEventListener(\"wheel\",function(B){if(N._context._scrollZoom.gl3d){if(z.camera._ortho){var X=B.deltaX>B.deltaY?1.1:.9090909090909091,$=z.glplot.getAspectratio();z.glplot.setAspectratio({x:X*$.x,y:X*$.y,z:X*$.z})}U(z)}},e?{passive:!1}:!1),z.glplot.canvas.addEventListener(\"mousemove\",function(){if(z.fullSceneLayout.dragmode!==!1&&z.camera.mouseListener.buttons!==0){var B=P();z.graphDiv.emit(\"plotly_relayouting\",B)}}),z.staticMode||z.glplot.canvas.addEventListener(\"webglcontextlost\",function(B){N&&N.emit&&N.emit(\"plotly_webglcontextlost\",{event:B,layer:z.id})},!1)),z.glplot.oncontextloss=function(){z.recoverContext()},z.glplot.onrender=function(){z.render()},!0},M.render=function(){var z=this,F=z.graphDiv,N,O=z.svgContainer,P=z.container.getBoundingClientRect();F._fullLayout._calcInverseTransform(F);var U=F._fullLayout._invScaleX,B=F._fullLayout._invScaleY,X=P.width*U,$=P.height*B;O.setAttributeNS(null,\"viewBox\",\"0 0 \"+X+\" \"+$),O.setAttributeNS(null,\"width\",X),O.setAttributeNS(null,\"height\",$),p(z),z.glplot.axes.update(z.axesOptions);for(var se=Object.keys(z.traces),le=null,fe=z.glplot.selection,V=0;V\")):N.type===\"isosurface\"||N.type===\"volume\"?(ae.valueLabel=a.hoverLabelText(z._mockAxis,z._mockAxis.d2l(fe.traceCoordinate[3]),N.valuehoverformat),be.push(\"value: \"+ae.valueLabel),fe.textLabel&&be.push(fe.textLabel),ce=be.join(\"
\")):ce=fe.textLabel;var Ae={x:fe.traceCoordinate[0],y:fe.traceCoordinate[1],z:fe.traceCoordinate[2],data:q._input,fullData:q,curveNumber:q.index,pointNumber:oe};n.appendArrayPointValue(Ae,q,oe),N._module.eventData&&(Ae=q._module.eventData(Ae,fe,q,{},oe));var De={points:[Ae]};if(z.fullSceneLayout.hovermode){var ze=[];n.loneHover({trace:q,x:(.5+.5*ee[0]/ee[3])*X,y:(.5-.5*ee[1]/ee[3])*$,xLabel:ae.xLabel,yLabel:ae.yLabel,zLabel:ae.zLabel,text:ce,name:le.name,color:n.castHoverOption(q,oe,\"bgcolor\")||le.color,borderColor:n.castHoverOption(q,oe,\"bordercolor\"),fontFamily:n.castHoverOption(q,oe,\"font.family\"),fontSize:n.castHoverOption(q,oe,\"font.size\"),fontColor:n.castHoverOption(q,oe,\"font.color\"),nameLength:n.castHoverOption(q,oe,\"namelength\"),textAlign:n.castHoverOption(q,oe,\"align\"),hovertemplate:r.castOption(q,oe,\"hovertemplate\"),hovertemplateLabels:r.extendFlat({},Ae,ae),eventData:[Ae]},{container:O,gd:F,inOut_bbox:ze}),Ae.bbox=ze[0]}fe.distance<5&&(fe.buttons||w)?F.emit(\"plotly_click\",De):F.emit(\"plotly_hover\",De),this.oldEventData=De}else n.loneUnhover(O),this.oldEventData&&F.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;z.drawAnnotations(z)},M.recoverContext=function(){var z=this;z.glplot.dispose();var F=function(){if(z.glplot.gl.isContextLost()){requestAnimationFrame(F);return}if(!z.initializeGLPlot()){r.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}z.plot.apply(z,z.plotArgs)};requestAnimationFrame(F)};var b=[\"xaxis\",\"yaxis\",\"zaxis\"];function d(z,F,N){for(var O=z.fullSceneLayout,P=0;P<3;P++){var U=b[P],B=U.charAt(0),X=O[U],$=F[B],se=F[B+\"calendar\"],le=F[\"_\"+B+\"length\"];if(!r.isArrayOrTypedArray($))N[0][P]=Math.min(N[0][P],0),N[1][P]=Math.max(N[1][P],le-1);else for(var fe,V=0;V<(le||$.length);V++)if(r.isArrayOrTypedArray($[V]))for(var Y=0;Y<$[V].length;++Y)fe=X.d2l($[V][Y],0,se),!isNaN(fe)&&isFinite(fe)&&(N[0][P]=Math.min(N[0][P],fe),N[1][P]=Math.max(N[1][P],fe));else fe=X.d2l($[V],0,se),!isNaN(fe)&&isFinite(fe)&&(N[0][P]=Math.min(N[0][P],fe),N[1][P]=Math.max(N[1][P],fe))}}function u(z,F){for(var N=z.fullSceneLayout,O=N.annotations||[],P=0;P<3;P++)for(var U=b[P],B=U.charAt(0),X=N[U],$=0;$q[1][B])q[0][B]=-1,q[1][B]=1;else{var at=q[1][B]-q[0][B];q[0][B]-=at/32,q[1][B]+=at/32}if(j=[q[0][B],q[1][B]],j=T(j,$),q[0][B]=j[0],q[1][B]=j[1],$.isReversed()){var nt=q[0][B];q[0][B]=q[1][B],q[1][B]=nt}}else j=$.range,q[0][B]=$.r2l(j[0]),q[1][B]=$.r2l(j[1]);q[0][B]===q[1][B]&&(q[0][B]-=1,q[1][B]+=1),oe[B]=q[1][B]-q[0][B],$.range=[q[0][B],q[1][B]],$.limitRange(),O.glplot.setBounds(B,{min:$.range[0]*Y[B],max:$.range[1]*Y[B]})}var rt,st=le.aspectmode;if(st===\"cube\")rt=[1,1,1];else if(st===\"manual\"){var Me=le.aspectratio;rt=[Me.x,Me.y,Me.z]}else if(st===\"auto\"||st===\"data\"){var ye=[1,1,1];for(B=0;B<3;++B){$=le[b[B]],se=$.type;var he=ae[se];ye[B]=Math.pow(he.acc,1/he.count)/Y[B]}st===\"data\"||Math.max.apply(null,ye)/Math.min.apply(null,ye)<=4?rt=ye:rt=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");le.aspectratio.x=fe.aspectratio.x=rt[0],le.aspectratio.y=fe.aspectratio.y=rt[1],le.aspectratio.z=fe.aspectratio.z=rt[2],O.glplot.setAspectratio(le.aspectratio),O.viewInitial.aspectratio||(O.viewInitial.aspectratio={x:le.aspectratio.x,y:le.aspectratio.y,z:le.aspectratio.z}),O.viewInitial.aspectmode||(O.viewInitial.aspectmode=le.aspectmode);var Oe=le.domain||null,tt=F._size||null;if(Oe&&tt){var ot=O.container.style;ot.position=\"absolute\",ot.left=tt.l+Oe.x[0]*tt.w+\"px\",ot.top=tt.t+(1-Oe.y[1])*tt.h+\"px\",ot.width=tt.w*(Oe.x[1]-Oe.x[0])+\"px\",ot.height=tt.h*(Oe.y[1]-Oe.y[0])+\"px\"}O.glplot.redraw()}},M.destroy=function(){var z=this;z.glplot&&(z.camera.mouseListener.enabled=!1,z.container.removeEventListener(\"wheel\",z.camera.wheelListener),z.camera=null,z.glplot.dispose(),z.container.parentNode.removeChild(z.container),z.glplot=null)};function y(z){return[[z.eye.x,z.eye.y,z.eye.z],[z.center.x,z.center.y,z.center.z],[z.up.x,z.up.y,z.up.z]]}function f(z){return{up:{x:z.up[0],y:z.up[1],z:z.up[2]},center:{x:z.center[0],y:z.center[1],z:z.center[2]},eye:{x:z.eye[0],y:z.eye[1],z:z.eye[2]},projection:{type:z._ortho===!0?\"orthographic\":\"perspective\"}}}M.getCamera=function(){var z=this;return z.camera.view.recalcMatrix(z.camera.view.lastT()),f(z.camera)},M.setViewport=function(z){var F=this,N=z.camera;F.camera.lookAt.apply(this,y(N)),F.glplot.setAspectratio(z.aspectratio);var O=N.projection.type===\"orthographic\",P=F.camera._ortho;O!==P&&(F.glplot.redraw(),F.glplot.clearRGBA(),F.glplot.dispose(),F.initializeGLPlot())},M.isCameraChanged=function(z){var F=this,N=F.getCamera(),O=r.nestedProperty(z,F.id+\".camera\"),P=O.get();function U(se,le,fe,V){var Y=[\"up\",\"center\",\"eye\"],ee=[\"x\",\"y\",\"z\"];return le[Y[fe]]&&se[Y[fe]][ee[V]]===le[Y[fe]][ee[V]]}var B=!1;if(P===void 0)B=!0;else{for(var X=0;X<3;X++)for(var $=0;$<3;$++)if(!U(N,P,X,$)){B=!0;break}(!P.projection||N.projection&&N.projection.type!==P.projection.type)&&(B=!0)}return B},M.isAspectChanged=function(z){var F=this,N=F.glplot.getAspectratio(),O=r.nestedProperty(z,F.id+\".aspectratio\"),P=O.get();return P===void 0||P.x!==N.x||P.y!==N.y||P.z!==N.z},M.saveLayout=function(z){var F=this,N=F.fullLayout,O,P,U,B,X,$,se=F.isCameraChanged(z),le=F.isAspectChanged(z),fe=se||le;if(fe){var V={};if(se&&(O=F.getCamera(),P=r.nestedProperty(z,F.id+\".camera\"),U=P.get(),V[F.id+\".camera\"]=U),le&&(B=F.glplot.getAspectratio(),X=r.nestedProperty(z,F.id+\".aspectratio\"),$=X.get(),V[F.id+\".aspectratio\"]=$),t.call(\"_storeDirectGUIEdit\",z,N._preGUI,V),se){P.set(O);var Y=r.nestedProperty(N,F.id+\".camera\");Y.set(O)}if(le){X.set(B);var ee=r.nestedProperty(N,F.id+\".aspectratio\");ee.set(B),F.glplot.redraw()}}return fe},M.updateFx=function(z,F){var N=this,O=N.camera;if(O)if(z===\"orbit\")O.mode=\"orbit\",O.keyBindingMode=\"rotate\";else if(z===\"turntable\"){O.up=[0,0,1],O.mode=\"turntable\",O.keyBindingMode=\"rotate\";var P=N.graphDiv,U=P._fullLayout,B=N.fullSceneLayout.camera,X=B.up.x,$=B.up.y,se=B.up.z;if(se/Math.sqrt(X*X+$*$+se*se)<.999){var le=N.id+\".camera.up\",fe={x:0,y:0,z:1},V={};V[le]=fe;var Y=P.layout;t.call(\"_storeDirectGUIEdit\",Y,U._preGUI,V),B.up=fe,r.nestedProperty(Y,le).set(fe)}}else O.keyBindingMode=z;N.fullSceneLayout.hovermode=F};function R(z,F,N){for(var O=0,P=N-1;O0)for(var X=255/B,$=0;$<3;++$)z[U+$]=Math.min(X*z[U+$],255)}}M.toImage=function(z){var F=this;z||(z=\"png\"),F.staticMode&&F.container.appendChild(l),F.glplot.redraw();var N=F.glplot.gl,O=N.drawingBufferWidth,P=N.drawingBufferHeight;N.bindFramebuffer(N.FRAMEBUFFER,null);var U=new Uint8Array(O*P*4);N.readPixels(0,0,O,P,N.RGBA,N.UNSIGNED_BYTE,U),R(U,O,P),L(U,O,P);var B=document.createElement(\"canvas\");B.width=O,B.height=P;var X=B.getContext(\"2d\",{willReadFrequently:!0}),$=X.createImageData(O,P);$.data.set(U),X.putImageData($,0,0);var se;switch(z){case\"jpeg\":se=B.toDataURL(\"image/jpeg\");break;case\"webp\":se=B.toDataURL(\"image/webp\");break;default:se=B.toDataURL(\"image/png\")}return F.staticMode&&F.container.removeChild(l),se},M.setConvert=function(){for(var z=this,F=0;F<3;F++){var N=z.fullSceneLayout[b[F]];a.setConvert(N,z.fullLayout),N.setScale=r.noop}},M.make4thDimension=function(){var z=this,F=z.graphDiv,N=F._fullLayout;z._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},a.setConvert(z._mockAxis,N)},G.exports=A}}),rU=Xe({\"src/plots/gl3d/layout/attributes.js\"(Z,G){\"use strict\";G.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}}}),AE=Xe({\"src/plots/gl3d/layout/axis_attributes.js\"(Z,G){\"use strict\";var v=$n(),x=Wh(),S=Qo().extendFlat,E=pc().overrideAll;G.exports=E({visible:x.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:v.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:x.color,categoryorder:x.categoryorder,categoryarray:x.categoryarray,title:{text:x.title.text,font:x.title.font},type:S({},x.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:x.autotypenumbers,autorange:x.autorange,autorangeoptions:{minallowed:x.autorangeoptions.minallowed,maxallowed:x.autorangeoptions.maxallowed,clipmin:x.autorangeoptions.clipmin,clipmax:x.autorangeoptions.clipmax,include:x.autorangeoptions.include,editType:\"plot\"},rangemode:x.rangemode,minallowed:x.minallowed,maxallowed:x.maxallowed,range:S({},x.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:x.minor.tickmode,nticks:x.nticks,tick0:x.tick0,dtick:x.dtick,tickvals:x.tickvals,ticktext:x.ticktext,ticks:x.ticks,mirror:x.mirror,ticklen:x.ticklen,tickwidth:x.tickwidth,tickcolor:x.tickcolor,showticklabels:x.showticklabels,labelalias:x.labelalias,tickfont:x.tickfont,tickangle:x.tickangle,tickprefix:x.tickprefix,showtickprefix:x.showtickprefix,ticksuffix:x.ticksuffix,showticksuffix:x.showticksuffix,showexponent:x.showexponent,exponentformat:x.exponentformat,minexponent:x.minexponent,separatethousands:x.separatethousands,tickformat:x.tickformat,tickformatstops:x.tickformatstops,hoverformat:x.hoverformat,showline:x.showline,linecolor:x.linecolor,linewidth:x.linewidth,showgrid:x.showgrid,gridcolor:S({},x.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:x.gridwidth,zeroline:x.zeroline,zerolinecolor:x.zerolinecolor,zerolinewidth:x.zerolinewidth},\"plot\",\"from-root\")}}),SE=Xe({\"src/plots/gl3d/layout/layout_attributes.js\"(Z,G){\"use strict\";var v=AE(),x=wc().attributes,S=Qo().extendFlat,E=sa().counterRegex;function e(t,r,o){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:r,editType:\"camera\"},z:{valType:\"number\",dflt:o,editType:\"camera\"},editType:\"camera\"}}G.exports={_arrayAttrRegexps:[E(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:S(e(0,0,1),{}),center:S(e(0,0,0),{}),eye:S(e(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:x({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:v,yaxis:v,zaxis:v,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\"}}}),aU=Xe({\"src/plots/gl3d/layout/axis_defaults.js\"(Z,G){\"use strict\";var v=Ch().mix,x=sa(),S=zl(),E=AE(),e=B5(),t=F_(),r=[\"xaxis\",\"yaxis\",\"zaxis\"],o=100*136/187;G.exports=function(n,i,s){var h,c;function m(l,_){return x.coerce(h,c,E,l,_)}for(var p=0;p1;function m(p){if(!c){var T=v.validate(i[p],t[p]);if(T)return i[p]}}E(i,s,h,{type:o,attributes:t,handleDefaults:a,fullLayout:s,font:s.font,fullData:h,getDfltFromLayout:m,autotypenumbersDflt:s.autotypenumbers,paper_bgcolor:s.paper_bgcolor,calendar:s.calendar})};function a(n,i,s,h){for(var c=s(\"bgcolor\"),m=x.combine(c,h.paper_bgcolor),p=[\"up\",\"center\",\"eye\"],T=0;T.999)&&(M=\"turntable\")}else M=\"turntable\";s(\"dragmode\",M),s(\"hovermode\",h.getDfltFromLayout(\"hovermode\"))}}}),v0=Xe({\"src/plots/gl3d/index.js\"(Z){\"use strict\";var G=pc().overrideAll,v=Zm(),x=tU(),S=Hh().getSubplotData,E=sa(),e=vd(),t=\"gl3d\",r=\"scene\";Z.name=t,Z.attr=r,Z.idRoot=r,Z.idRegex=Z.attrRegex=E.counterRegex(\"scene\"),Z.attributes=rU(),Z.layoutAttributes=SE(),Z.baseLayoutAttrOverrides=G({hoverlabel:v.hoverlabel},\"plot\",\"nested\"),Z.supplyLayoutDefaults=iU(),Z.plot=function(a){for(var n=a._fullLayout,i=a._fullData,s=n._subplots[t],h=0;h0){R=h[L];break}return R}function T(y,f){if(!(y<1||f<1)){for(var R=m(y),L=m(f),z=1,F=0;FA;)L--,L/=p(L),L++,L1?z:1};function M(y,f,R){var L=R[8]+R[2]*f[0]+R[5]*f[1];return y[0]=(R[6]+R[0]*f[0]+R[3]*f[1])/L,y[1]=(R[7]+R[1]*f[0]+R[4]*f[1])/L,y}function g(y,f,R){return b(y,f,M,R),y}function b(y,f,R,L){for(var z=[0,0],F=y.shape[0],N=y.shape[1],O=0;O0&&this.contourStart[L]!==null&&this.contourEnd[L]!==null&&this.contourEnd[L]>this.contourStart[L]))for(f[L]=!0,z=this.contourStart[L];z$&&(this.minValues[U]=$),this.maxValues[U]<$&&(this.maxValues[U]=$));for(U=0;U<3;U++)this.objectOffset[U]=.5*(this.minValues[U]+this.maxValues[U]);for(U=0;U<3;U++)for(B=0;Bh&&(o.isomin=null,o.isomax=null);var c=i(\"x\"),m=i(\"y\"),p=i(\"z\"),T=i(\"value\");if(!c||!c.length||!m||!m.length||!p||!p.length||!T||!T.length){o.visible=!1;return}var l=x.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(r,o,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(M){i(M+\"hoverformat\");var g=\"caps.\"+M,b=i(g+\".show\");b&&i(g+\".fill\");var d=\"slices.\"+M,u=i(d+\".show\");u&&(i(d+\".fill\"),i(d+\".locations\"))});var _=i(\"spaceframe.show\");_&&i(\"spaceframe.fill\");var w=i(\"surface.show\");w&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var A=i(\"contour.show\");A&&(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(M){i(M)}),E(r,o,n,i,{prefix:\"\",cLetter:\"c\"}),o._length=null}G.exports={supplyDefaults:e,supplyIsoDefaults:t}}}),rT=Xe({\"src/traces/streamtube/calc.js\"(Z,G){\"use strict\";var v=sa(),x=Tp();function S(r,o){o._len=Math.min(o.u.length,o.v.length,o.w.length,o.x.length,o.y.length,o.z.length),o._u=t(o.u,o._len),o._v=t(o.v,o._len),o._w=t(o.w,o._len),o._x=t(o.x,o._len),o._y=t(o.y,o._len),o._z=t(o.z,o._len);var a=E(o);o._gridFill=a.fill,o._Xs=a.Xs,o._Ys=a.Ys,o._Zs=a.Zs,o._len=a.len;var n=0,i,s,h;o.starts&&(i=t(o.starts.x||[]),s=t(o.starts.y||[]),h=t(o.starts.z||[]),n=Math.min(i.length,s.length,h.length)),o._startsX=i||[],o._startsY=s||[],o._startsZ=h||[];var c=0,m=1/0,p;for(p=0;p1&&(u=o[i-1],f=a[i-1],L=n[i-1]),s=0;su?\"-\":\"+\")+\"x\"),A=A.replace(\"y\",(y>f?\"-\":\"+\")+\"y\"),A=A.replace(\"z\",(R>L?\"-\":\"+\")+\"z\");var O=function(){i=0,z=[],F=[],N=[]};(!i||i0;m--){var p=Math.min(c[m],c[m-1]),T=Math.max(c[m],c[m-1]);if(T>p&&p-1}function Q(wt,Ne){return wt===null?Ne:wt}function re(wt,Ne,Ke){se();var Te=[Ne],Ie=[Ke];if(q>=1)Te=[Ne],Ie=[Ke];else if(q>0){var Ve=ae(Ne,Ke);Te=Ve.xyzv,Ie=Ve.abc}for(var Ce=0;Ce-1?Ke[Pe]:$(ft,ct,_t);ir>-1?Ee[Pe]=ir:Ee[Pe]=fe(ft,ct,_t,Q(wt,Ct))}V(Ee[0],Ee[1],Ee[2])}}function ce(wt,Ne,Ke){var Te=function(Ie,Ve,Ce){re(wt,[Ne[Ie],Ne[Ve],Ne[Ce]],[Ke[Ie],Ke[Ve],Ke[Ce]])};Te(0,1,2),Te(2,3,0)}function be(wt,Ne,Ke){var Te=function(Ie,Ve,Ce){re(wt,[Ne[Ie],Ne[Ve],Ne[Ce]],[Ke[Ie],Ke[Ve],Ke[Ce]])};Te(0,1,2),Te(3,0,1),Te(2,3,0),Te(1,2,3)}function Ae(wt,Ne,Ke,Te){var Ie=wt[3];IeTe&&(Ie=Te);for(var Ve=(wt[3]-Ie)/(wt[3]-Ne[3]+1e-9),Ce=[],Ee=0;Ee<4;Ee++)Ce[Ee]=(1-Ve)*wt[Ee]+Ve*Ne[Ee];return Ce}function De(wt,Ne,Ke){return wt>=Ne&&wt<=Ke}function ze(wt){var Ne=.001*(O-N);return wt>=N-Ne&&wt<=O+Ne}function Ze(wt){for(var Ne=[],Ke=0;Ke<4;Ke++){var Te=wt[Ke];Ne.push([h._x[Te],h._y[Te],h._z[Te],h._value[Te]])}return Ne}var at=3;function nt(wt,Ne,Ke,Te,Ie,Ve){Ve||(Ve=1),Ke=[-1,-1,-1];var Ce=!1,Ee=[De(Ne[0][3],Te,Ie),De(Ne[1][3],Te,Ie),De(Ne[2][3],Te,Ie)];if(!Ee[0]&&!Ee[1]&&!Ee[2])return!1;var Pe=function(ct,_t,Ct){return ze(_t[0][3])&&ze(_t[1][3])&&ze(_t[2][3])?(re(ct,_t,Ct),!0):VeEe?[z,Ve]:[Ve,F];qt(Ne,Pe[0],Pe[1])}}var ft=[[Math.min(N,F),Math.max(N,F)],[Math.min(z,O),Math.max(z,O)]];[\"x\",\"y\",\"z\"].forEach(function(ct){for(var _t=[],Ct=0;Ct0&&(Da.push(Wa.id),ct===\"x\"?Ia.push([Wa.distRatio,0,0]):ct===\"y\"?Ia.push([0,Wa.distRatio,0]):Ia.push([0,0,Wa.distRatio]))}else ct===\"x\"?fa=qr(1,u-1):ct===\"y\"?fa=qr(1,y-1):fa=qr(1,f-1);Da.length>0&&(ct===\"x\"?_t[ir]=Wt(wt,Da,rr,er,Ia,_t[ir]):ct===\"y\"?_t[ir]=kr(wt,Da,rr,er,Ia,_t[ir]):_t[ir]=mr(wt,Da,rr,er,Ia,_t[ir]),ir++),fa.length>0&&(ct===\"x\"?_t[ir]=tt(wt,fa,rr,er,_t[ir]):ct===\"y\"?_t[ir]=ot(wt,fa,rr,er,_t[ir]):_t[ir]=Qe(wt,fa,rr,er,_t[ir]),ir++)}var Ca=h.caps[ct];Ca.show&&Ca.fill&&(oe(Ca.fill),ct===\"x\"?_t[ir]=tt(wt,[0,u-1],rr,er,_t[ir]):ct===\"y\"?_t[ir]=ot(wt,[0,y-1],rr,er,_t[ir]):_t[ir]=Qe(wt,[0,f-1],rr,er,_t[ir]),ir++)}}),w===0&&le(),h._meshX=P,h._meshY=U,h._meshZ=B,h._meshIntensity=X,h._Xs=g,h._Ys=b,h._Zs=d}return Rr(),h}function s(h,c){var m=h.glplot.gl,p=v({gl:m}),T=new o(h,p,c.uid);return p._trace=T,T.update(c),h.glplot.add(p),T}G.exports={findNearestOnAxis:r,generateIsoMeshes:i,createIsosurfaceTrace:s}}}),fU=Xe({\"src/traces/isosurface/index.js\"(Z,G){\"use strict\";G.exports={attributes:tT(),supplyDefaults:EE().supplyDefaults,calc:kE(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:aT().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:v0(),categories:[\"gl3d\",\"showLegend\"],meta:{}}}}),hU=Xe({\"lib/isosurface.js\"(Z,G){\"use strict\";G.exports=fU()}}),CE=Xe({\"src/traces/volume/attributes.js\"(Z,G){\"use strict\";var v=ku(),x=tT(),S=gx(),E=ru(),e=Qo().extendFlat,t=pc().overrideAll,r=G.exports=t(e({x:x.x,y:x.y,z:x.z,value:x.value,isomin:x.isomin,isomax:x.isomax,surface:x.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:x.slices,caps:x.caps,text:x.text,hovertext:x.hovertext,xhoverformat:x.xhoverformat,yhoverformat:x.yhoverformat,zhoverformat:x.zhoverformat,valuehoverformat:x.valuehoverformat,hovertemplate:x.hovertemplate,hovertemplatefallback:x.hovertemplatefallback},v(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:x.colorbar,opacity:x.opacity,opacityscale:S.opacityscale,lightposition:x.lightposition,lighting:x.lighting,flatshading:x.flatshading,contour:x.contour,hoverinfo:e({},E.hoverinfo),showlegend:e({},E.showlegend,{dflt:!1})}),\"calc\",\"nested\");r.x.editType=r.y.editType=r.z.editType=r.value.editType=\"calc+clearAxisTypes\"}}),pU=Xe({\"src/traces/volume/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=CE(),S=EE().supplyIsoDefaults,E=ME().opacityscaleDefaults;G.exports=function(t,r,o,a){function n(i,s){return v.coerce(t,r,x,i,s)}S(t,r,o,a,n),E(t,r,a,n)}}}),dU=Xe({\"src/traces/volume/convert.js\"(Z,G){\"use strict\";var v=Yh().gl_mesh3d,x=tm().parseColorScale,S=sa().isArrayOrTypedArray,E=em(),e=rc().extractOpts,t=E1(),r=aT().findNearestOnAxis,o=aT().generateIsoMeshes;function a(s,h,c){this.scene=s,this.uid=c,this.mesh=h,this.name=\"\",this.data=null,this.showContour=!1}var n=a.prototype;n.handlePick=function(s){if(s.object===this.mesh){var h=s.data.index,c=this.data._meshX[h],m=this.data._meshY[h],p=this.data._meshZ[h],T=this.data._Ys.length,l=this.data._Zs.length,_=r(c,this.data._Xs).id,w=r(m,this.data._Ys).id,A=r(p,this.data._Zs).id,M=s.index=A+l*w+l*T*_;s.traceCoordinate=[this.data._meshX[M],this.data._meshY[M],this.data._meshZ[M],this.data._value[M]];var g=this.data.hovertext||this.data.text;return S(g)&&g[M]!==void 0?s.textLabel=g[M]:g&&(s.textLabel=g),!0}},n.update=function(s){var h=this.scene,c=h.fullSceneLayout;this.data=o(s);function m(w,A,M,g){return A.map(function(b){return w.d2l(b,0,g)*M})}var p=t(m(c.xaxis,s._meshX,h.dataScale[0],s.xcalendar),m(c.yaxis,s._meshY,h.dataScale[1],s.ycalendar),m(c.zaxis,s._meshZ,h.dataScale[2],s.zcalendar)),T=t(s._meshI,s._meshJ,s._meshK),l={positions:p,cells:T,lightPosition:[s.lightposition.x,s.lightposition.y,s.lightposition.z],ambient:s.lighting.ambient,diffuse:s.lighting.diffuse,specular:s.lighting.specular,roughness:s.lighting.roughness,fresnel:s.lighting.fresnel,vertexNormalsEpsilon:s.lighting.vertexnormalsepsilon,faceNormalsEpsilon:s.lighting.facenormalsepsilon,opacity:s.opacity,opacityscale:s.opacityscale,contourEnable:s.contour.show,contourColor:E(s.contour.color).slice(0,3),contourWidth:s.contour.width,useFacetNormals:s.flatshading},_=e(s);l.vertexIntensity=s._meshIntensity,l.vertexIntensityBounds=[_.min,_.max],l.colormap=x(s),this.mesh.update(l)},n.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function i(s,h){var c=s.glplot.gl,m=v({gl:c}),p=new a(s,m,h.uid);return m._trace=p,p.update(h),s.glplot.add(m),p}G.exports=i}}),vU=Xe({\"src/traces/volume/index.js\"(Z,G){\"use strict\";G.exports={attributes:CE(),supplyDefaults:pU(),calc:kE(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:dU(),moduleType:\"trace\",name:\"volume\",basePlotModule:v0(),categories:[\"gl3d\",\"showLegend\"],meta:{}}}}),mU=Xe({\"lib/volume.js\"(Z,G){\"use strict\";G.exports=vU()}}),gU=Xe({\"src/traces/mesh3d/defaults.js\"(Z,G){\"use strict\";var v=so(),x=sa(),S=_h(),E=M1();G.exports=function(t,r,o,a){function n(m,p){return x.coerce(t,r,E,m,p)}function i(m){var p=m.map(function(T){var l=n(T);return l&&x.isArrayOrTypedArray(l)?l:null});return p.every(function(T){return T&&T.length===p[0].length})&&p}var s=i([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(i([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var h=v.getComponentMethod(\"calendars\",\"handleTraceDefaults\");h(t,r,[\"x\",\"y\",\"z\"],a),[\"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(m){n(m)});var c=n(\"contour.show\");c&&(n(\"contour.color\"),n(\"contour.width\")),\"intensity\"in t?(n(\"intensity\"),n(\"intensitymode\"),S(t,r,a,n,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?n(\"facecolor\"):\"vertexcolor\"in t?n(\"vertexcolor\"):n(\"color\",o)),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),n(\"hovertemplatefallback\"),n(\"xhoverformat\"),n(\"yhoverformat\"),n(\"zhoverformat\"),r._length=null}}}),yU=Xe({\"src/traces/mesh3d/calc.js\"(Z,G){\"use strict\";var v=Tp();G.exports=function(S,E){E.intensity&&v(S,E,{vals:E.intensity,containerStr:\"\",cLetter:\"c\"})}}}),_U=Xe({\"src/traces/mesh3d/convert.js\"(Z,G){\"use strict\";var v=Yh().gl_mesh3d,x=Yh().delaunay_triangulate,S=Yh().alpha_shape,E=Yh().convex_hull,e=tm().parseColorScale,t=sa().isArrayOrTypedArray,r=em(),o=rc().extractOpts,a=E1();function n(l,_,w){this.scene=l,this.uid=w,this.mesh=_,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var i=n.prototype;i.handlePick=function(l){if(l.object===this.mesh){var _=l.index=l.data.index;l.data._cellCenter?l.traceCoordinate=l.data.dataCoordinate:l.traceCoordinate=[this.data.x[_],this.data.y[_],this.data.z[_]];var w=this.data.hovertext||this.data.text;return t(w)&&w[_]!==void 0?l.textLabel=w[_]:w&&(l.textLabel=w),!0}};function s(l){for(var _=[],w=l.length,A=0;A=_-.5)return!1;return!0}i.update=function(l){var _=this.scene,w=_.fullSceneLayout;this.data=l;var A=l.x.length,M=a(h(w.xaxis,l.x,_.dataScale[0],l.xcalendar),h(w.yaxis,l.y,_.dataScale[1],l.ycalendar),h(w.zaxis,l.z,_.dataScale[2],l.zcalendar)),g;if(l.i&&l.j&&l.k){if(l.i.length!==l.j.length||l.j.length!==l.k.length||!p(l.i,A)||!p(l.j,A)||!p(l.k,A))return;g=a(c(l.i),c(l.j),c(l.k))}else l.alphahull===0?g=E(M):l.alphahull>0?g=S(l.alphahull,M):g=m(l.delaunayaxis,M);var b={positions:M,cells:g,lightPosition:[l.lightposition.x,l.lightposition.y,l.lightposition.z],ambient:l.lighting.ambient,diffuse:l.lighting.diffuse,specular:l.lighting.specular,roughness:l.lighting.roughness,fresnel:l.lighting.fresnel,vertexNormalsEpsilon:l.lighting.vertexnormalsepsilon,faceNormalsEpsilon:l.lighting.facenormalsepsilon,opacity:l.opacity,contourEnable:l.contour.show,contourColor:r(l.contour.color).slice(0,3),contourWidth:l.contour.width,useFacetNormals:l.flatshading};if(l.intensity){var d=o(l);this.color=\"#fff\";var u=l.intensitymode;b[u+\"Intensity\"]=l.intensity,b[u+\"IntensityBounds\"]=[d.min,d.max],b.colormap=e(l)}else l.vertexcolor?(this.color=l.vertexcolor[0],b.vertexColors=s(l.vertexcolor)):l.facecolor?(this.color=l.facecolor[0],b.cellColors=s(l.facecolor)):(this.color=l.color,b.meshColor=r(l.color));this.mesh.update(b)},i.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function T(l,_){var w=l.glplot.gl,A=v({gl:w}),M=new n(l,A,_.uid);return A._trace=M,M.update(_),l.glplot.add(A),M}G.exports=T}}),xU=Xe({\"src/traces/mesh3d/index.js\"(Z,G){\"use strict\";G.exports={attributes:M1(),supplyDefaults:gU(),calc:yU(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:_U(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:v0(),categories:[\"gl3d\",\"showLegend\"],meta:{}}}}),bU=Xe({\"lib/mesh3d.js\"(Z,G){\"use strict\";G.exports=xU()}}),LE=Xe({\"src/traces/cone/attributes.js\"(Z,G){\"use strict\";var v=ku(),x=tf().axisHoverFormat,{hovertemplateAttrs:S,templatefallbackAttrs:E}=Jl(),e=M1(),t=ru(),r=Qo().extendFlat,o={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\",\"raw\"],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:S({editType:\"calc\"},{keys:[\"norm\"]}),hovertemplatefallback:E({editType:\"calc\"}),uhoverformat:x(\"u\",1),vhoverformat:x(\"v\",1),whoverformat:x(\"w\",1),xhoverformat:x(\"x\"),yhoverformat:x(\"y\"),zhoverformat:x(\"z\"),showlegend:r({},t.showlegend,{dflt:!1})};r(o,v(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var a=[\"opacity\",\"lightposition\",\"lighting\"];a.forEach(function(n){o[n]=e[n]}),o.hoverinfo=r({},t.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),G.exports=o}}),wU=Xe({\"src/traces/cone/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=_h(),S=LE();G.exports=function(e,t,r,o){function a(T,l){return v.coerce(e,t,S,T,l)}var n=a(\"u\"),i=a(\"v\"),s=a(\"w\"),h=a(\"x\"),c=a(\"y\"),m=a(\"z\");if(!n||!n.length||!i||!i.length||!s||!s.length||!h||!h.length||!c||!c.length||!m||!m.length){t.visible=!1;return}var p=a(\"sizemode\");a(\"sizeref\",p===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),x(e,t,o,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),t._length=null}}}),TU=Xe({\"src/traces/cone/calc.js\"(Z,G){\"use strict\";var v=Tp();G.exports=function(S,E){for(var e=E.u,t=E.v,r=E.w,o=Math.min(E.x.length,E.y.length,E.z.length,e.length,t.length,r.length),a=-1/0,n=1/0,i=0;i2?p=c.slice(1,m-1):m===2?p=[(c[0]+c[1])/2]:p=c,p}function i(c){var m=c.length;return m===1?[.5,.5]:[c[1]-c[0],c[m-1]-c[m-2]]}function s(c,m){var p=c.fullSceneLayout,T=c.dataScale,l=m._len,_={};function w(fe,V){var Y=p[V],ee=T[r[V]];return S.simpleMap(fe,function(q){return Y.d2l(q)*ee})}if(_.vectors=t(w(m._u,\"xaxis\"),w(m._v,\"yaxis\"),w(m._w,\"zaxis\"),l),!l)return{positions:[],cells:[]};var A=w(m._Xs,\"xaxis\"),M=w(m._Ys,\"yaxis\"),g=w(m._Zs,\"zaxis\");_.meshgrid=[A,M,g],_.gridFill=m._gridFill;var b=m._slen;if(b)_.startingPositions=t(w(m._startsX,\"xaxis\"),w(m._startsY,\"yaxis\"),w(m._startsZ,\"zaxis\"));else{for(var d=M[0],u=n(A),y=n(g),f=new Array(u.length*y.length),R=0,L=0;Ld&&(d=R[0]),R[1]u&&(u=R[1])}function f(R){switch(R.type){case\"GeometryCollection\":R.geometries.forEach(f);break;case\"Point\":y(R.coordinates);break;case\"MultiPoint\":R.coordinates.forEach(y);break}}w.arcs.forEach(function(R){for(var L=-1,z=R.length,F;++Ld&&(d=F[0]),F[1]u&&(u=F[1])});for(M in w.objects)f(w.objects[M]);return[g,b,d,u]}function e(w,A){for(var M,g=w.length,b=g-A;b<--g;)M=w[b],w[b++]=w[g],w[g]=M}function t(w,A){return typeof A==\"string\"&&(A=w.objects[A]),A.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:A.geometries.map(function(M){return r(w,M)})}:r(w,A)}function r(w,A){var M=A.id,g=A.bbox,b=A.properties==null?{}:A.properties,d=o(w,A);return M==null&&g==null?{type:\"Feature\",properties:b,geometry:d}:g==null?{type:\"Feature\",id:M,properties:b,geometry:d}:{type:\"Feature\",id:M,bbox:g,properties:b,geometry:d}}function o(w,A){var M=S(w.transform),g=w.arcs;function b(L,z){z.length&&z.pop();for(var F=g[L<0?~L:L],N=0,O=F.length;N1)g=s(w,A,M);else for(b=0,g=new Array(d=w.arcs.length);b1)for(var z=1,F=y(R[0]),N,O;zF&&(O=R[0],R[0]=R[z],R[z]=O,F=N);return R}).filter(function(f){return f.length>0})}}function p(w,A){for(var M=0,g=w.length;M>>1;w[b]=2))throw new Error(\"n must be \\u22652\");f=w.bbox||E(w);var M=f[0],g=f[1],b=f[2],d=f[3],u;A={scale:[b-M?(b-M)/(u-1):1,d-g?(d-g)/(u-1):1],translate:[M,g]}}else f=w.bbox;var y=l(A),f,R,L=w.objects,z={};function F(P){return y(P)}function N(P){var U;switch(P.type){case\"GeometryCollection\":U={type:\"GeometryCollection\",geometries:P.geometries.map(N)};break;case\"Point\":U={type:\"Point\",coordinates:F(P.coordinates)};break;case\"MultiPoint\":U={type:\"MultiPoint\",coordinates:P.coordinates.map(F)};break;default:return P}return P.id!=null&&(U.id=P.id),P.bbox!=null&&(U.bbox=P.bbox),P.properties!=null&&(U.properties=P.properties),U}function O(P){var U=0,B=1,X=P.length,$,se=new Array(X);for(se[0]=y(P[0],0);++U0&&(E.push(e),e=[])}return e.length>0&&E.push(e),E},Z.makeLine=function(v){return v.length===1?{type:\"LineString\",coordinates:v[0]}:{type:\"MultiLineString\",coordinates:v}},Z.makePolygon=function(v){if(v.length===1)return{type:\"Polygon\",coordinates:v};for(var x=new Array(v.length),S=0;Se(N,z)),F)}function r(L,z,F={}){for(let O of L){if(O.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(O[O.length-1].length!==O[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let P=0;Pr(N,z)),F)}function a(L,z,F={}){if(L.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return S({type:\"LineString\",coordinates:L},z,F)}function n(L,z,F={}){return i(L.map(N=>a(N,z)),F)}function i(L,z={}){let F={type:\"FeatureCollection\"};return z.id&&(F.id=z.id),z.bbox&&(F.bbox=z.bbox),F.features=L,F}function s(L,z,F={}){return S({type:\"MultiLineString\",coordinates:L},z,F)}function h(L,z,F={}){return S({type:\"MultiPoint\",coordinates:L},z,F)}function c(L,z,F={}){return S({type:\"MultiPolygon\",coordinates:L},z,F)}function m(L,z,F={}){return S({type:\"GeometryCollection\",geometries:L},z,F)}function p(L,z=0){if(z&&!(z>=0))throw new Error(\"precision must be a positive number\");let F=Math.pow(10,z||0);return Math.round(L*F)/F}function T(L,z=\"kilometers\"){let F=v[z];if(!F)throw new Error(z+\" units is invalid\");return L*F}function l(L,z=\"kilometers\"){let F=v[z];if(!F)throw new Error(z+\" units is invalid\");return L/F}function _(L,z){return M(l(L,z))}function w(L){let z=L%360;return z<0&&(z+=360),z}function A(L){return L=L%360,L>180?L-360:L<-180?L+360:L}function M(L){return L%(2*Math.PI)*180/Math.PI}function g(L){return L%360*Math.PI/180}function b(L,z=\"kilometers\",F=\"kilometers\"){if(!(L>=0))throw new Error(\"length must be a positive number\");return T(l(L,z),F)}function d(L,z=\"meters\",F=\"kilometers\"){if(!(L>=0))throw new Error(\"area must be a positive number\");let N=x[z];if(!N)throw new Error(\"invalid original units\");let O=x[F];if(!O)throw new Error(\"invalid final units\");return L/N*O}function u(L){return!isNaN(L)&&L!==null&&!Array.isArray(L)}function y(L){return L!==null&&typeof L==\"object\"&&!Array.isArray(L)}function f(L){if(!L)throw new Error(\"bbox is required\");if(!Array.isArray(L))throw new Error(\"bbox must be an Array\");if(L.length!==4&&L.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");L.forEach(z=>{if(!u(z))throw new Error(\"bbox must only contain numbers\")})}function R(L){if(!L)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof L)===-1)throw new Error(\"id must be a number or a string\")}Z.areaFactors=x,Z.azimuthToBearing=A,Z.bearingToAzimuth=w,Z.convertArea=d,Z.convertLength=b,Z.degreesToRadians=g,Z.earthRadius=G,Z.factors=v,Z.feature=S,Z.featureCollection=i,Z.geometry=E,Z.geometryCollection=m,Z.isNumber=u,Z.isObject=y,Z.lengthToDegrees=_,Z.lengthToRadians=l,Z.lineString=a,Z.lineStrings=n,Z.multiLineString=s,Z.multiPoint=h,Z.multiPolygon=c,Z.point=e,Z.points=t,Z.polygon=r,Z.polygons=o,Z.radiansToDegrees=M,Z.radiansToLength=T,Z.round=p,Z.validateBBox=f,Z.validateId=R}}),sT=Xe({\"node_modules/@turf/meta/dist/cjs/index.cjs\"(Z){\"use strict\";Object.defineProperty(Z,\"__esModule\",{value:!0});var G=oT();function v(l,_,w){if(l!==null)for(var A,M,g,b,d,u,y,f=0,R=0,L,z=l.type,F=z===\"FeatureCollection\",N=z===\"Feature\",O=F?l.features.length:1,P=0;Pu||F>y||N>f){d=R,u=A,y=F,f=N,g=0;return}var O=G.lineString.call(void 0,[d,R],w.properties);if(_(O,A,M,N,g)===!1)return!1;g++,d=R})===!1)return!1}}})}function h(l,_,w){var A=w,M=!1;return s(l,function(g,b,d,u,y){M===!1&&w===void 0?A=g:A=_(A,g,b,d,u,y),M=!0}),A}function c(l,_){if(!l)throw new Error(\"geojson is required\");n(l,function(w,A,M){if(w.geometry!==null){var g=w.geometry.type,b=w.geometry.coordinates;switch(g){case\"LineString\":if(_(w,A,M,0,0)===!1)return!1;break;case\"Polygon\":for(var d=0;dn+S(i),0)}function S(a){let n=0,i;switch(a.type){case\"Polygon\":return E(a.coordinates);case\"MultiPolygon\":for(i=0;i0){n+=Math.abs(r(a[0]));for(let i=1;i=n?(s+2)%n:s+2],p=h[0]*t,T=c[1]*t,l=m[0]*t;i+=(l-p)*Math.sin(T),s++}return i*e}var o=x;Z.area=x,Z.default=o}}),zU=Xe({\"node_modules/@turf/centroid/dist/cjs/index.cjs\"(Z){\"use strict\";Object.defineProperty(Z,\"__esModule\",{value:!0});var G=oT(),v=sT();function x(E,e={}){let t=0,r=0,o=0;return v.coordEach.call(void 0,E,function(a){t+=a[0],r+=a[1],o++},!0),G.point.call(void 0,[t/o,r/o],e.properties)}var S=x;Z.centroid=x,Z.default=S}}),FU=Xe({\"node_modules/@turf/bbox/dist/cjs/index.cjs\"(Z){\"use strict\";Object.defineProperty(Z,\"__esModule\",{value:!0});var G=sT();function v(S,E={}){if(S.bbox!=null&&E.recompute!==!0)return S.bbox;let e=[1/0,1/0,-1/0,-1/0];return G.coordEach.call(void 0,S,t=>{e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]0&&z[F+1][0]<0)return F;return null}switch(b===\"RUS\"||b===\"FJI\"?u=function(z){var F;if(L(z)===null)F=z;else for(F=new Array(z.length),R=0;RF?N[O++]=[z[R][0]+360,z[R][1]]:R===F?(N[O++]=z[R],N[O++]=[z[R][0],-90]):N[O++]=z[R];var P=n.tester(N);P.pts.pop(),d.push(P)}:u=function(z){d.push(n.tester(z))},M.type){case\"MultiPolygon\":for(y=0;y0?P.properties.ct=l(P):P.properties.ct=[NaN,NaN],N.fIn=z,N.fOut=P,d.push(P)}else r.log([\"Location\",N.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete b[F]}switch(g.type){case\"FeatureCollection\":var R=g.features;for(u=0;ud&&(d=f,g=y)}else g=M;return E(g).geometry.coordinates}function _(A){var M=window.PlotlyGeoAssets||{},g=[];function b(R){return new Promise(function(L,z){v.json(R,function(F,N){if(F){delete M[R];var O=F.status===404?'GeoJSON at URL \"'+R+'\" does not exist.':\"Unexpected error while fetching from \"+R;return z(new Error(O))}return M[R]=N,L(N)})})}function d(R){return new Promise(function(L,z){var F=0,N=setInterval(function(){if(M[R]&&M[R]!==\"pending\")return clearInterval(N),L(M[R]);if(F>100)return clearInterval(N),z(\"Unexpected error while fetching from \"+R);F++},50)})}for(var u=0;u\")}}}),BU=Xe({\"src/traces/scattergeo/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S,E,e,t){x.lon=S.lon,x.lat=S.lat,x.location=S.loc?S.loc:null;var r=e[t];return r.fIn&&r.fIn.properties&&(x.properties=r.fIn.properties),x}}}),NU=Xe({\"src/traces/scattergeo/select.js\"(Z,G){\"use strict\";var v=Fu(),x=Hs().BADNUM;G.exports=function(E,e){var t=E.cd,r=E.xaxis,o=E.yaxis,a=[],n=t[0].trace,i,s,h,c,m,p=!v.hasMarkers(n)&&!v.hasText(n);if(p)return[];if(e===!1)for(m=0;mq?1:ee>=q?0:NaN}function S(ee){return ee.length===1&&(ee=E(ee)),{left:function(q,oe,ae,j){for(ae==null&&(ae=0),j==null&&(j=q.length);ae>>1;ee(q[Q],oe)<0?ae=Q+1:j=Q}return ae},right:function(q,oe,ae,j){for(ae==null&&(ae=0),j==null&&(j=q.length);ae>>1;ee(q[Q],oe)>0?j=Q:ae=Q+1}return ae}}}function E(ee){return function(q,oe){return x(ee(q),oe)}}var e=S(x),t=e.right,r=e.left;function o(ee,q){q==null&&(q=a);for(var oe=0,ae=ee.length-1,j=ee[0],Q=new Array(ae<0?0:ae);oeee?1:q>=ee?0:NaN}function s(ee){return ee===null?NaN:+ee}function h(ee,q){var oe=ee.length,ae=0,j=-1,Q=0,re,ce,be=0;if(q==null)for(;++j1)return be/(ae-1)}function c(ee,q){var oe=h(ee,q);return oe&&Math.sqrt(oe)}function m(ee,q){var oe=ee.length,ae=-1,j,Q,re;if(q==null){for(;++ae=j)for(Q=re=j;++aej&&(Q=j),re=j)for(Q=re=j;++aej&&(Q=j),re0)return[ee];if((ae=q0)for(ee=Math.ceil(ee/ce),q=Math.floor(q/ce),re=new Array(Q=Math.ceil(q-ee+1));++j=0?(Q>=M?10:Q>=g?5:Q>=b?2:1)*Math.pow(10,j):-Math.pow(10,-j)/(Q>=M?10:Q>=g?5:Q>=b?2:1)}function y(ee,q,oe){var ae=Math.abs(q-ee)/Math.max(0,oe),j=Math.pow(10,Math.floor(Math.log(ae)/Math.LN10)),Q=ae/j;return Q>=M?j*=10:Q>=g?j*=5:Q>=b&&(j*=2),qze;)Ze.pop(),--at;var nt=new Array(at+1),rt;for(Q=0;Q<=at;++Q)rt=nt[Q]=[],rt.x0=Q>0?Ze[Q-1]:De,rt.x1=Q=1)return+oe(ee[ae-1],ae-1,ee);var ae,j=(ae-1)*q,Q=Math.floor(j),re=+oe(ee[Q],Q,ee),ce=+oe(ee[Q+1],Q+1,ee);return re+(ce-re)*(j-Q)}}function z(ee,q,oe){return ee=l.call(ee,s).sort(x),Math.ceil((oe-q)/(2*(L(ee,.75)-L(ee,.25))*Math.pow(ee.length,-1/3)))}function F(ee,q,oe){return Math.ceil((oe-q)/(3.5*c(ee)*Math.pow(ee.length,-1/3)))}function N(ee,q){var oe=ee.length,ae=-1,j,Q;if(q==null){for(;++ae=j)for(Q=j;++aeQ&&(Q=j)}else for(;++ae=j)for(Q=j;++aeQ&&(Q=j);return Q}function O(ee,q){var oe=ee.length,ae=oe,j=-1,Q,re=0;if(q==null)for(;++j=0;)for(re=ee[q],oe=re.length;--oe>=0;)Q[--j]=re[oe];return Q}function B(ee,q){var oe=ee.length,ae=-1,j,Q;if(q==null){for(;++ae=j)for(Q=j;++aej&&(Q=j)}else for(;++ae=j)for(Q=j;++aej&&(Q=j);return Q}function X(ee,q){for(var oe=q.length,ae=new Array(oe);oe--;)ae[oe]=ee[q[oe]];return ae}function $(ee,q){if(oe=ee.length){var oe,ae=0,j=0,Q,re=ee[j];for(q==null&&(q=x);++ae0?1:Qt<0?-1:0},d=Math.sqrt,u=Math.tan;function y(Qt){return Qt>1?0:Qt<-1?a:Math.acos(Qt)}function f(Qt){return Qt>1?n:Qt<-1?-n:Math.asin(Qt)}function R(Qt){return(Qt=g(Qt/2))*Qt}function L(){}function z(Qt,br){Qt&&N.hasOwnProperty(Qt.type)&&N[Qt.type](Qt,br)}var F={Feature:function(Qt,br){z(Qt.geometry,br)},FeatureCollection:function(Qt,br){for(var aa=Qt.features,$r=-1,ka=aa.length;++$r=0?1:-1,ka=$r*aa,li=l(br),Ci=g(br),Hi=V*Ci,Qi=fe*li+Hi*l(ka),dn=Hi*$r*g(ka);B.add(T(dn,Qi)),le=Qt,fe=li,V=Ci}function j(Qt){return X.reset(),U(Qt,Y),X*2}function Q(Qt){return[T(Qt[1],Qt[0]),f(Qt[2])]}function re(Qt){var br=Qt[0],aa=Qt[1],$r=l(aa);return[$r*l(br),$r*g(br),g(aa)]}function ce(Qt,br){return Qt[0]*br[0]+Qt[1]*br[1]+Qt[2]*br[2]}function be(Qt,br){return[Qt[1]*br[2]-Qt[2]*br[1],Qt[2]*br[0]-Qt[0]*br[2],Qt[0]*br[1]-Qt[1]*br[0]]}function Ae(Qt,br){Qt[0]+=br[0],Qt[1]+=br[1],Qt[2]+=br[2]}function De(Qt,br){return[Qt[0]*br,Qt[1]*br,Qt[2]*br]}function ze(Qt){var br=d(Qt[0]*Qt[0]+Qt[1]*Qt[1]+Qt[2]*Qt[2]);Qt[0]/=br,Qt[1]/=br,Qt[2]/=br}var Ze,at,nt,rt,st,Me,ye,he,Oe=S(),tt,ot,Qe={point:Pt,lineStart:qt,lineEnd:Wt,polygonStart:function(){Qe.point=kr,Qe.lineStart=mr,Qe.lineEnd=qr,Oe.reset(),Y.polygonStart()},polygonEnd:function(){Y.polygonEnd(),Qe.point=Pt,Qe.lineStart=qt,Qe.lineEnd=Wt,B<0?(Ze=-(nt=180),at=-(rt=90)):Oe>r?rt=90:Oe<-r&&(at=-90),ot[0]=Ze,ot[1]=nt},sphere:function(){Ze=-(nt=180),at=-(rt=90)}};function Pt(Qt,br){tt.push(ot=[Ze=Qt,nt=Qt]),brrt&&(rt=br)}function It(Qt,br){var aa=re([Qt*c,br*c]);if(he){var $r=be(he,aa),ka=[$r[1],-$r[0],0],li=be(ka,$r);ze(li),li=Q(li);var Ci=Qt-st,Hi=Ci>0?1:-1,Qi=li[0]*h*Hi,dn,Pi=m(Ci)>180;Pi^(Hi*strt&&(rt=dn)):(Qi=(Qi+360)%360-180,Pi^(Hi*strt&&(rt=br))),Pi?QtSr(Ze,nt)&&(nt=Qt):Sr(Qt,nt)>Sr(Ze,nt)&&(Ze=Qt):nt>=Ze?(Qtnt&&(nt=Qt)):Qt>st?Sr(Ze,Qt)>Sr(Ze,nt)&&(nt=Qt):Sr(Qt,nt)>Sr(Ze,nt)&&(Ze=Qt)}else tt.push(ot=[Ze=Qt,nt=Qt]);brrt&&(rt=br),he=aa,st=Qt}function qt(){Qe.point=It}function Wt(){ot[0]=Ze,ot[1]=nt,Qe.point=Pt,he=null}function kr(Qt,br){if(he){var aa=Qt-st;Oe.add(m(aa)>180?aa+(aa>0?360:-360):aa)}else Me=Qt,ye=br;Y.point(Qt,br),It(Qt,br)}function mr(){Y.lineStart()}function qr(){kr(Me,ye),Y.lineEnd(),m(Oe)>r&&(Ze=-(nt=180)),ot[0]=Ze,ot[1]=nt,he=null}function Sr(Qt,br){return(br-=Qt)<0?br+360:br}function Rr(Qt,br){return Qt[0]-br[0]}function wt(Qt,br){return Qt[0]<=Qt[1]?Qt[0]<=br&&br<=Qt[1]:brSr($r[0],$r[1])&&($r[1]=ka[1]),Sr(ka[0],$r[1])>Sr($r[0],$r[1])&&($r[0]=ka[0])):li.push($r=ka);for(Ci=-1/0,aa=li.length-1,br=0,$r=li[aa];br<=aa;$r=ka,++br)ka=li[br],(Hi=Sr($r[1],ka[0]))>Ci&&(Ci=Hi,Ze=ka[0],nt=$r[1])}return tt=ot=null,Ze===1/0||at===1/0?[[NaN,NaN],[NaN,NaN]]:[[Ze,at],[nt,rt]]}var Ke,Te,Ie,Ve,Ce,Ee,Pe,ft,ct,_t,Ct,ir,rr,er,Lr,fa,Da={sphere:L,point:Ia,lineStart:Wa,lineEnd:wi,polygonStart:function(){Da.lineStart=Kt,Da.lineEnd=Ft},polygonEnd:function(){Da.lineStart=Wa,Da.lineEnd=wi}};function Ia(Qt,br){Qt*=c,br*=c;var aa=l(br);qa(aa*l(Qt),aa*g(Qt),g(br))}function qa(Qt,br,aa){++Ke,Ie+=(Qt-Ie)/Ke,Ve+=(br-Ve)/Ke,Ce+=(aa-Ce)/Ke}function Wa(){Da.point=Ca}function Ca(Qt,br){Qt*=c,br*=c;var aa=l(br);er=aa*l(Qt),Lr=aa*g(Qt),fa=g(br),Da.point=hi,qa(er,Lr,fa)}function hi(Qt,br){Qt*=c,br*=c;var aa=l(br),$r=aa*l(Qt),ka=aa*g(Qt),li=g(br),Ci=T(d((Ci=Lr*li-fa*ka)*Ci+(Ci=fa*$r-er*li)*Ci+(Ci=er*ka-Lr*$r)*Ci),er*$r+Lr*ka+fa*li);Te+=Ci,Ee+=Ci*(er+(er=$r)),Pe+=Ci*(Lr+(Lr=ka)),ft+=Ci*(fa+(fa=li)),qa(er,Lr,fa)}function wi(){Da.point=Ia}function Kt(){Da.point=Yt}function Ft(){Jt(ir,rr),Da.point=Ia}function Yt(Qt,br){ir=Qt,rr=br,Qt*=c,br*=c,Da.point=Jt;var aa=l(br);er=aa*l(Qt),Lr=aa*g(Qt),fa=g(br),qa(er,Lr,fa)}function Jt(Qt,br){Qt*=c,br*=c;var aa=l(br),$r=aa*l(Qt),ka=aa*g(Qt),li=g(br),Ci=Lr*li-fa*ka,Hi=fa*$r-er*li,Qi=er*ka-Lr*$r,dn=d(Ci*Ci+Hi*Hi+Qi*Qi),Pi=f(dn),Di=dn&&-Pi/dn;ct+=Di*Ci,_t+=Di*Hi,Ct+=Di*Qi,Te+=Pi,Ee+=Pi*(er+(er=$r)),Pe+=Pi*(Lr+(Lr=ka)),ft+=Pi*(fa+(fa=li)),qa(er,Lr,fa)}function Fr(Qt){Ke=Te=Ie=Ve=Ce=Ee=Pe=ft=ct=_t=Ct=0,U(Qt,Da);var br=ct,aa=_t,$r=Ct,ka=br*br+aa*aa+$r*$r;return kaa?Qt+Math.round(-Qt/s)*s:Qt,br]}ca.invert=ca;function Ba(Qt,br,aa){return(Qt%=s)?br||aa?ra(Za(Qt),ri(br,aa)):Za(Qt):br||aa?ri(br,aa):ca}function $a(Qt){return function(br,aa){return br+=Qt,[br>a?br-s:br<-a?br+s:br,aa]}}function Za(Qt){var br=$a(Qt);return br.invert=$a(-Qt),br}function ri(Qt,br){var aa=l(Qt),$r=g(Qt),ka=l(br),li=g(br);function Ci(Hi,Qi){var dn=l(Qi),Pi=l(Hi)*dn,Di=g(Hi)*dn,Ni=g(Qi),mi=Ni*aa+Pi*$r;return[T(Di*ka-mi*li,Pi*aa-Ni*$r),f(mi*ka+Di*li)]}return Ci.invert=function(Hi,Qi){var dn=l(Qi),Pi=l(Hi)*dn,Di=g(Hi)*dn,Ni=g(Qi),mi=Ni*ka-Di*li;return[T(Di*ka+Ni*li,Pi*aa+mi*$r),f(mi*aa-Pi*$r)]},Ci}function pi(Qt){Qt=Ba(Qt[0]*c,Qt[1]*c,Qt.length>2?Qt[2]*c:0);function br(aa){return aa=Qt(aa[0]*c,aa[1]*c),aa[0]*=h,aa[1]*=h,aa}return br.invert=function(aa){return aa=Qt.invert(aa[0]*c,aa[1]*c),aa[0]*=h,aa[1]*=h,aa},br}function Ra(Qt,br,aa,$r,ka,li){if(aa){var Ci=l(br),Hi=g(br),Qi=$r*aa;ka==null?(ka=br+$r*s,li=br-Qi/2):(ka=tn(Ci,ka),li=tn(Ci,li),($r>0?kali)&&(ka+=$r*s));for(var dn,Pi=ka;$r>0?Pi>li:Pi1&&Qt.push(Qt.pop().concat(Qt.shift()))},result:function(){var aa=Qt;return Qt=[],br=null,aa}}}function Tt(Qt,br){return m(Qt[0]-br[0])=0;--Hi)ka.point((Di=Pi[Hi])[0],Di[1]);else $r(Ni.x,Ni.p.x,-1,ka);Ni=Ni.p}Ni=Ni.o,Pi=Ni.z,mi=!mi}while(!Ni.v);ka.lineEnd()}}}function Cr(Qt){if(br=Qt.length){for(var br,aa=0,$r=Qt[0],ka;++aa=0?1:-1,Os=rl*Ss,el=Os>a,bs=Qn*yo;if(xr.add(T(bs*rl*g(Os),ao*Ko+bs*l(Os))),Ci+=el?Ss+rl*s:Ss,el^mi>=aa^An>=aa){var Fl=be(re(Ni),re(fo));ze(Fl);var _l=be(li,Fl);ze(_l);var ll=(el^Ss>=0?-1:1)*f(_l[2]);($r>ll||$r===ll&&(Fl[0]||Fl[1]))&&(Hi+=el^Ss>=0?1:-1)}}return(Ci<-r||Ci0){for(Qi||(ka.polygonStart(),Qi=!0),ka.lineStart(),Ko=0;Ko1&&un&2&&yo.push(yo.pop().concat(yo.shift())),Pi.push(yo.filter(xt))}}return Ni}}function xt(Qt){return Qt.length>1}function Xt(Qt,br){return((Qt=Qt.x)[0]<0?Qt[1]-n-r:n-Qt[1])-((br=br.x)[0]<0?br[1]-n-r:n-br[1])}var vr=Hr(function(){return!0},Or,Pa,[-a,-n]);function Or(Qt){var br=NaN,aa=NaN,$r=NaN,ka;return{lineStart:function(){Qt.lineStart(),ka=1},point:function(li,Ci){var Hi=li>0?a:-a,Qi=m(li-br);m(Qi-a)0?n:-n),Qt.point($r,aa),Qt.lineEnd(),Qt.lineStart(),Qt.point(Hi,aa),Qt.point(li,aa),ka=0):$r!==Hi&&Qi>=a&&(m(br-$r)r?p((g(br)*(li=l($r))*g(aa)-g($r)*(ka=l(br))*g(Qt))/(ka*li*Ci)):(br+$r)/2}function Pa(Qt,br,aa,$r){var ka;if(Qt==null)ka=aa*n,$r.point(-a,ka),$r.point(0,ka),$r.point(a,ka),$r.point(a,0),$r.point(a,-ka),$r.point(0,-ka),$r.point(-a,-ka),$r.point(-a,0),$r.point(-a,ka);else if(m(Qt[0]-br[0])>r){var li=Qt[0]0,ka=m(br)>r;function li(Pi,Di,Ni,mi){Ra(mi,Qt,aa,Ni,Pi,Di)}function Ci(Pi,Di){return l(Pi)*l(Di)>br}function Hi(Pi){var Di,Ni,mi,Mn,Qn;return{lineStart:function(){Mn=mi=!1,Qn=1},point:function(ao,eo){var fo=[ao,eo],An,un=Ci(ao,eo),yo=$r?un?0:dn(ao,eo):un?dn(ao+(ao<0?a:-a),eo):0;if(!Di&&(Mn=mi=un)&&Pi.lineStart(),un!==mi&&(An=Qi(Di,fo),(!An||Tt(Di,An)||Tt(fo,An))&&(fo[2]=1)),un!==mi)Qn=0,un?(Pi.lineStart(),An=Qi(fo,Di),Pi.point(An[0],An[1])):(An=Qi(Di,fo),Pi.point(An[0],An[1],2),Pi.lineEnd()),Di=An;else if(ka&&Di&&$r^un){var Ko;!(yo&Ni)&&(Ko=Qi(fo,Di,!0))&&(Qn=0,$r?(Pi.lineStart(),Pi.point(Ko[0][0],Ko[0][1]),Pi.point(Ko[1][0],Ko[1][1]),Pi.lineEnd()):(Pi.point(Ko[1][0],Ko[1][1]),Pi.lineEnd(),Pi.lineStart(),Pi.point(Ko[0][0],Ko[0][1],3)))}un&&(!Di||!Tt(Di,fo))&&Pi.point(fo[0],fo[1]),Di=fo,mi=un,Ni=yo},lineEnd:function(){mi&&Pi.lineEnd(),Di=null},clean:function(){return Qn|(Mn&&mi)<<1}}}function Qi(Pi,Di,Ni){var mi=re(Pi),Mn=re(Di),Qn=[1,0,0],ao=be(mi,Mn),eo=ce(ao,ao),fo=ao[0],An=eo-fo*fo;if(!An)return!Ni&Πvar un=br*eo/An,yo=-br*fo/An,Ko=be(Qn,ao),Ss=De(Qn,un),rl=De(ao,yo);Ae(Ss,rl);var Os=Ko,el=ce(Ss,Os),bs=ce(Os,Os),Fl=el*el-bs*(ce(Ss,Ss)-1);if(!(Fl<0)){var _l=d(Fl),ll=De(Os,(-el-_l)/bs);if(Ae(ll,Ss),ll=Q(ll),!Ni)return ll;var Un=Pi[0],Lo=Di[0],Js=Pi[1],Rs=Di[1],uu;Lo0^ll[1]<(m(ll[0]-Un)a^(Un<=ll[0]&&ll[0]<=Lo)){var bu=De(Os,(-el+_l)/bs);return Ae(bu,Ss),[ll,Q(bu)]}}}function dn(Pi,Di){var Ni=$r?Qt:a-Qt,mi=0;return Pi<-Ni?mi|=1:Pi>Ni&&(mi|=2),Di<-Ni?mi|=4:Di>Ni&&(mi|=8),mi}return Hr(Ci,Hi,li,$r?[0,-Qt]:[-a,Qt-a])}function la(Qt,br,aa,$r,ka,li){var Ci=Qt[0],Hi=Qt[1],Qi=br[0],dn=br[1],Pi=0,Di=1,Ni=Qi-Ci,mi=dn-Hi,Mn;if(Mn=aa-Ci,!(!Ni&&Mn>0)){if(Mn/=Ni,Ni<0){if(Mn0){if(Mn>Di)return;Mn>Pi&&(Pi=Mn)}if(Mn=ka-Ci,!(!Ni&&Mn<0)){if(Mn/=Ni,Ni<0){if(Mn>Di)return;Mn>Pi&&(Pi=Mn)}else if(Ni>0){if(Mn0)){if(Mn/=mi,mi<0){if(Mn0){if(Mn>Di)return;Mn>Pi&&(Pi=Mn)}if(Mn=li-Hi,!(!mi&&Mn<0)){if(Mn/=mi,mi<0){if(Mn>Di)return;Mn>Pi&&(Pi=Mn)}else if(mi>0){if(Mn0&&(Qt[0]=Ci+Pi*Ni,Qt[1]=Hi+Pi*mi),Di<1&&(br[0]=Ci+Di*Ni,br[1]=Hi+Di*mi),!0}}}}}var Ta=1e9,Ai=-Ta;function ki(Qt,br,aa,$r){function ka(dn,Pi){return Qt<=dn&&dn<=aa&&br<=Pi&&Pi<=$r}function li(dn,Pi,Di,Ni){var mi=0,Mn=0;if(dn==null||(mi=Ci(dn,Di))!==(Mn=Ci(Pi,Di))||Qi(dn,Pi)<0^Di>0)do Ni.point(mi===0||mi===3?Qt:aa,mi>1?$r:br);while((mi=(mi+Di+4)%4)!==Mn);else Ni.point(Pi[0],Pi[1])}function Ci(dn,Pi){return m(dn[0]-Qt)0?0:3:m(dn[0]-aa)0?2:1:m(dn[1]-br)0?1:0:Pi>0?3:2}function Hi(dn,Pi){return Qi(dn.x,Pi.x)}function Qi(dn,Pi){var Di=Ci(dn,1),Ni=Ci(Pi,1);return Di!==Ni?Di-Ni:Di===0?Pi[1]-dn[1]:Di===1?dn[0]-Pi[0]:Di===2?dn[1]-Pi[1]:Pi[0]-dn[0]}return function(dn){var Pi=dn,Di=hn(),Ni,mi,Mn,Qn,ao,eo,fo,An,un,yo,Ko,Ss={point:rl,lineStart:Fl,lineEnd:_l,polygonStart:el,polygonEnd:bs};function rl(Un,Lo){ka(Un,Lo)&&Pi.point(Un,Lo)}function Os(){for(var Un=0,Lo=0,Js=mi.length;Lo$r&&(Rc-Ic)*($r-bu)>(Au-bu)*(Qt-Ic)&&++Un:Au<=$r&&(Rc-Ic)*($r-bu)<(Au-bu)*(Qt-Ic)&&--Un;return Un}function el(){Pi=Di,Ni=[],mi=[],Ko=!0}function bs(){var Un=Os(),Lo=Ko&&Un,Js=(Ni=x.merge(Ni)).length;(Lo||Js)&&(dn.polygonStart(),Lo&&(dn.lineStart(),li(null,null,1,dn),dn.lineEnd()),Js&&Br(Ni,Hi,Un,li,dn),dn.polygonEnd()),Pi=dn,Ni=mi=Mn=null}function Fl(){Ss.point=ll,mi&&mi.push(Mn=[]),yo=!0,un=!1,fo=An=NaN}function _l(){Ni&&(ll(Qn,ao),eo&&un&&Di.rejoin(),Ni.push(Di.result())),Ss.point=rl,un&&Pi.lineEnd()}function ll(Un,Lo){var Js=ka(Un,Lo);if(mi&&Mn.push([Un,Lo]),yo)Qn=Un,ao=Lo,eo=Js,yo=!1,Js&&(Pi.lineStart(),Pi.point(Un,Lo));else if(Js&&un)Pi.point(Un,Lo);else{var Rs=[fo=Math.max(Ai,Math.min(Ta,fo)),An=Math.max(Ai,Math.min(Ta,An))],uu=[Un=Math.max(Ai,Math.min(Ta,Un)),Lo=Math.max(Ai,Math.min(Ta,Lo))];la(Rs,uu,Qt,br,aa,$r)?(un||(Pi.lineStart(),Pi.point(Rs[0],Rs[1])),Pi.point(uu[0],uu[1]),Js||Pi.lineEnd(),Ko=!1):Js&&(Pi.lineStart(),Pi.point(Un,Lo),Ko=!1)}fo=Un,An=Lo,un=Js}return Ss}}function Ki(){var Qt=0,br=0,aa=960,$r=500,ka,li,Ci;return Ci={stream:function(Hi){return ka&&li===Hi?ka:ka=ki(Qt,br,aa,$r)(li=Hi)},extent:function(Hi){return arguments.length?(Qt=+Hi[0][0],br=+Hi[0][1],aa=+Hi[1][0],$r=+Hi[1][1],ka=li=null,Ci):[[Qt,br],[aa,$r]]}}}var _n=S(),Rn,En,On,no={sphere:L,point:L,lineStart:cn,lineEnd:L,polygonStart:L,polygonEnd:L};function cn(){no.point=Wo,no.lineEnd=lo}function lo(){no.point=no.lineEnd=L}function Wo(Qt,br){Qt*=c,br*=c,Rn=Qt,En=g(br),On=l(br),no.point=hs}function hs(Qt,br){Qt*=c,br*=c;var aa=g(br),$r=l(br),ka=m(Qt-Rn),li=l(ka),Ci=g(ka),Hi=$r*Ci,Qi=On*aa-En*$r*li,dn=En*aa+On*$r*li;_n.add(T(d(Hi*Hi+Qi*Qi),dn)),Rn=Qt,En=aa,On=$r}function Oo(Qt){return _n.reset(),U(Qt,no),+_n}var Wn=[null,null],No={type:\"LineString\",coordinates:Wn};function as(Qt,br){return Wn[0]=Qt,Wn[1]=br,Oo(No)}var Ns={Feature:function(Qt,br){return uo(Qt.geometry,br)},FeatureCollection:function(Qt,br){for(var aa=Qt.features,$r=-1,ka=aa.length;++$r0&&(ka=as(Qt[li],Qt[li-1]),ka>0&&aa<=ka&&$r<=ka&&(aa+$r-ka)*(1-Math.pow((aa-$r)/ka,2))r}).map(Ni)).concat(x.range(_(li/dn)*dn,ka,dn).filter(function(An){return m(An%Di)>r}).map(mi))}return eo.lines=function(){return fo().map(function(An){return{type:\"LineString\",coordinates:An}})},eo.outline=function(){return{type:\"Polygon\",coordinates:[Mn($r).concat(Qn(Ci).slice(1),Mn(aa).reverse().slice(1),Qn(Hi).reverse().slice(1))]}},eo.extent=function(An){return arguments.length?eo.extentMajor(An).extentMinor(An):eo.extentMinor()},eo.extentMajor=function(An){return arguments.length?($r=+An[0][0],aa=+An[1][0],Hi=+An[0][1],Ci=+An[1][1],$r>aa&&(An=$r,$r=aa,aa=An),Hi>Ci&&(An=Hi,Hi=Ci,Ci=An),eo.precision(ao)):[[$r,Hi],[aa,Ci]]},eo.extentMinor=function(An){return arguments.length?(br=+An[0][0],Qt=+An[1][0],li=+An[0][1],ka=+An[1][1],br>Qt&&(An=br,br=Qt,Qt=An),li>ka&&(An=li,li=ka,ka=An),eo.precision(ao)):[[br,li],[Qt,ka]]},eo.step=function(An){return arguments.length?eo.stepMajor(An).stepMinor(An):eo.stepMinor()},eo.stepMajor=function(An){return arguments.length?(Pi=+An[0],Di=+An[1],eo):[Pi,Di]},eo.stepMinor=function(An){return arguments.length?(Qi=+An[0],dn=+An[1],eo):[Qi,dn]},eo.precision=function(An){return arguments.length?(ao=+An,Ni=Gi(li,ka,90),mi=Ln(br,Qt,ao),Mn=Gi(Hi,Ci,90),Qn=Ln($r,aa,ao),eo):ao},eo.extentMajor([[-180,-90+r],[180,90-r]]).extentMinor([[-180,-80-r],[180,80+r]])}function _s(){return Us()()}function Gn(Qt,br){var aa=Qt[0]*c,$r=Qt[1]*c,ka=br[0]*c,li=br[1]*c,Ci=l($r),Hi=g($r),Qi=l(li),dn=g(li),Pi=Ci*l(aa),Di=Ci*g(aa),Ni=Qi*l(ka),mi=Qi*g(ka),Mn=2*f(d(R(li-$r)+Ci*Qi*R(ka-aa))),Qn=g(Mn),ao=Mn?function(eo){var fo=g(eo*=Mn)/Qn,An=g(Mn-eo)/Qn,un=An*Pi+fo*Ni,yo=An*Di+fo*mi,Ko=An*Hi+fo*dn;return[T(yo,un)*h,T(Ko,d(un*un+yo*yo))*h]}:function(){return[aa*h,$r*h]};return ao.distance=Mn,ao}function zs(Qt){return Qt}var vs=S(),Ws=S(),il,xn,ko,bo,Is={point:L,lineStart:L,lineEnd:L,polygonStart:function(){Is.lineStart=pu,Is.lineEnd=vl},polygonEnd:function(){Is.lineStart=Is.lineEnd=Is.point=L,vs.add(m(Ws)),Ws.reset()},result:function(){var Qt=vs/2;return vs.reset(),Qt}};function pu(){Is.point=co}function co(Qt,br){Is.point=Vs,il=ko=Qt,xn=bo=br}function Vs(Qt,br){Ws.add(bo*Qt-ko*br),ko=Qt,bo=br}function vl(){Vs(il,xn)}var Ts=1/0,js=Ts,us=-Ts,As=us,Nl={point:su,lineStart:L,lineEnd:L,polygonStart:L,polygonEnd:L,result:function(){var Qt=[[Ts,js],[us,As]];return us=As=-(js=Ts=1/0),Qt}};function su(Qt,br){Qtus&&(us=Qt),brAs&&(As=br)}var Tc=0,du=0,Sf=0,Uc=0,Fs=0,dc=0,Hc=0,lu=0,Pl=0,ic,Ou,nl,ml,xs={point:Xs,lineStart:nc,lineEnd:fl,polygonStart:function(){xs.lineStart=xh,xs.lineEnd=ns},polygonEnd:function(){xs.point=Xs,xs.lineStart=nc,xs.lineEnd=fl},result:function(){var Qt=Pl?[Hc/Pl,lu/Pl]:dc?[Uc/dc,Fs/dc]:Sf?[Tc/Sf,du/Sf]:[NaN,NaN];return Tc=du=Sf=Uc=Fs=dc=Hc=lu=Pl=0,Qt}};function Xs(Qt,br){Tc+=Qt,du+=br,++Sf}function nc(){xs.point=Ul}function Ul(Qt,br){xs.point=qu,Xs(nl=Qt,ml=br)}function qu(Qt,br){var aa=Qt-nl,$r=br-ml,ka=d(aa*aa+$r*$r);Uc+=ka*(nl+Qt)/2,Fs+=ka*(ml+br)/2,dc+=ka,Xs(nl=Qt,ml=br)}function fl(){xs.point=Xs}function xh(){xs.point=bh}function ns(){Es(ic,Ou)}function bh(Qt,br){xs.point=Es,Xs(ic=nl=Qt,Ou=ml=br)}function Es(Qt,br){var aa=Qt-nl,$r=br-ml,ka=d(aa*aa+$r*$r);Uc+=ka*(nl+Qt)/2,Fs+=ka*(ml+br)/2,dc+=ka,ka=ml*Qt-nl*br,Hc+=ka*(nl+Qt),lu+=ka*(ml+br),Pl+=ka*3,Xs(nl=Qt,ml=br)}function to(Qt){this._context=Qt}to.prototype={_radius:4.5,pointRadius:function(Qt){return this._radius=Qt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(Qt,br){switch(this._point){case 0:{this._context.moveTo(Qt,br),this._point=1;break}case 1:{this._context.lineTo(Qt,br);break}default:{this._context.moveTo(Qt+this._radius,br),this._context.arc(Qt,br,this._radius,0,s);break}}},result:L};var Wc=S(),Vu,jl,Mf,Ac,nf,$l={point:L,lineStart:function(){$l.point=Jf},lineEnd:function(){Vu&&Of(jl,Mf),$l.point=L},polygonStart:function(){Vu=!0},polygonEnd:function(){Vu=null},result:function(){var Qt=+Wc;return Wc.reset(),Qt}};function Jf(Qt,br){$l.point=Of,jl=Ac=Qt,Mf=nf=br}function Of(Qt,br){Ac-=Qt,nf-=br,Wc.add(d(Ac*Ac+nf*nf)),Ac=Qt,nf=br}function of(){this._string=[]}of.prototype={_radius:4.5,_circle:jc(4.5),pointRadius:function(Qt){return(Qt=+Qt)!==this._radius&&(this._radius=Qt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(Qt,br){switch(this._point){case 0:{this._string.push(\"M\",Qt,\",\",br),this._point=1;break}case 1:{this._string.push(\"L\",Qt,\",\",br);break}default:{this._circle==null&&(this._circle=jc(this._radius)),this._string.push(\"M\",Qt,\",\",br,this._circle);break}}},result:function(){if(this._string.length){var Qt=this._string.join(\"\");return this._string=[],Qt}else return null}};function jc(Qt){return\"m0,\"+Qt+\"a\"+Qt+\",\"+Qt+\" 0 1,1 0,\"+-2*Qt+\"a\"+Qt+\",\"+Qt+\" 0 1,1 0,\"+2*Qt+\"z\"}function Bf(Qt,br){var aa=4.5,$r,ka;function li(Ci){return Ci&&(typeof aa==\"function\"&&ka.pointRadius(+aa.apply(this,arguments)),U(Ci,$r(ka))),ka.result()}return li.area=function(Ci){return U(Ci,$r(Is)),Is.result()},li.measure=function(Ci){return U(Ci,$r($l)),$l.result()},li.bounds=function(Ci){return U(Ci,$r(Nl)),Nl.result()},li.centroid=function(Ci){return U(Ci,$r(xs)),xs.result()},li.projection=function(Ci){return arguments.length?($r=Ci==null?(Qt=null,zs):(Qt=Ci).stream,li):Qt},li.context=function(Ci){return arguments.length?(ka=Ci==null?(br=null,new of):new to(br=Ci),typeof aa!=\"function\"&&ka.pointRadius(aa),li):br},li.pointRadius=function(Ci){return arguments.length?(aa=typeof Ci==\"function\"?Ci:(ka.pointRadius(+Ci),+Ci),li):aa},li.projection(Qt).context(br)}function Nf(Qt){return{stream:Gu(Qt)}}function Gu(Qt){return function(br){var aa=new Ef;for(var $r in Qt)aa[$r]=Qt[$r];return aa.stream=br,aa}}function Ef(){}Ef.prototype={constructor:Ef,point:function(Qt,br){this.stream.point(Qt,br)},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()}};function oc(Qt,br,aa){var $r=Qt.clipExtent&&Qt.clipExtent();return Qt.scale(150).translate([0,0]),$r!=null&&Qt.clipExtent(null),U(aa,Qt.stream(Nl)),br(Nl.result()),$r!=null&&Qt.clipExtent($r),Qt}function Xc(Qt,br,aa){return oc(Qt,function($r){var ka=br[1][0]-br[0][0],li=br[1][1]-br[0][1],Ci=Math.min(ka/($r[1][0]-$r[0][0]),li/($r[1][1]-$r[0][1])),Hi=+br[0][0]+(ka-Ci*($r[1][0]+$r[0][0]))/2,Qi=+br[0][1]+(li-Ci*($r[1][1]+$r[0][1]))/2;Qt.scale(150*Ci).translate([Hi,Qi])},aa)}function Ql(Qt,br,aa){return Xc(Qt,[[0,0],br],aa)}function qc(Qt,br,aa){return oc(Qt,function($r){var ka=+br,li=ka/($r[1][0]-$r[0][0]),Ci=(ka-li*($r[1][0]+$r[0][0]))/2,Hi=-li*$r[0][1];Qt.scale(150*li).translate([Ci,Hi])},aa)}function Sc(Qt,br,aa){return oc(Qt,function($r){var ka=+br,li=ka/($r[1][1]-$r[0][1]),Ci=-li*$r[0][0],Hi=(ka-li*($r[1][1]+$r[0][1]))/2;Qt.scale(150*li).translate([Ci,Hi])},aa)}var Zs=16,kf=l(30*c);function fh(Qt,br){return+br?Zc(Qt,br):Uf(Qt)}function Uf(Qt){return Gu({point:function(br,aa){br=Qt(br,aa),this.stream.point(br[0],br[1])}})}function Zc(Qt,br){function aa($r,ka,li,Ci,Hi,Qi,dn,Pi,Di,Ni,mi,Mn,Qn,ao){var eo=dn-$r,fo=Pi-ka,An=eo*eo+fo*fo;if(An>4*br&&Qn--){var un=Ci+Ni,yo=Hi+mi,Ko=Qi+Mn,Ss=d(un*un+yo*yo+Ko*Ko),rl=f(Ko/=Ss),Os=m(m(Ko)-1)br||m((eo*_l+fo*ll)/An-.5)>.3||Ci*Ni+Hi*mi+Qi*Mn2?Un[2]%360*c:0,_l()):[Hi*h,Qi*h,dn*h]},bs.angle=function(Un){return arguments.length?(Di=Un%360*c,_l()):Di*h},bs.reflectX=function(Un){return arguments.length?(Ni=Un?-1:1,_l()):Ni<0},bs.reflectY=function(Un){return arguments.length?(mi=Un?-1:1,_l()):mi<0},bs.precision=function(Un){return arguments.length?(Ko=fh(Ss,yo=Un*Un),ll()):d(yo)},bs.fitExtent=function(Un,Lo){return Xc(bs,Un,Lo)},bs.fitSize=function(Un,Lo){return Ql(bs,Un,Lo)},bs.fitWidth=function(Un,Lo){return qc(bs,Un,Lo)},bs.fitHeight=function(Un,Lo){return Sc(bs,Un,Lo)};function _l(){var Un=yl(aa,0,0,Ni,mi,Di).apply(null,br(li,Ci)),Lo=(Di?yl:jf)(aa,$r-Un[0],ka-Un[1],Ni,mi,Di);return Pi=Ba(Hi,Qi,dn),Ss=ra(br,Lo),rl=ra(Pi,Ss),Ko=fh(Ss,yo),ll()}function ll(){return Os=el=null,bs}return function(){return br=Qt.apply(this,arguments),bs.invert=br.invert&&Fl,_l()}}function ol(Qt){var br=0,aa=a/3,$r=Mc(Qt),ka=$r(br,aa);return ka.parallels=function(li){return arguments.length?$r(br=li[0]*c,aa=li[1]*c):[br*h,aa*h]},ka}function vc(Qt){var br=l(Qt);function aa($r,ka){return[$r*br,g(ka)/br]}return aa.invert=function($r,ka){return[$r/br,f(ka*br)]},aa}function yu(Qt,br){var aa=g(Qt),$r=(aa+g(br))/2;if(m($r)=.12&&ao<.234&&Qn>=-.425&&Qn<-.214?ka:ao>=.166&&ao<.234&&Qn>=-.214&&Qn<-.115?Ci:aa).invert(Ni)},Pi.stream=function(Ni){return Qt&&br===Ni?Qt:Qt=qf([aa.stream(br=Ni),ka.stream(Ni),Ci.stream(Ni)])},Pi.precision=function(Ni){return arguments.length?(aa.precision(Ni),ka.precision(Ni),Ci.precision(Ni),Di()):aa.precision()},Pi.scale=function(Ni){return arguments.length?(aa.scale(Ni),ka.scale(Ni*.35),Ci.scale(Ni),Pi.translate(aa.translate())):aa.scale()},Pi.translate=function(Ni){if(!arguments.length)return aa.translate();var mi=aa.scale(),Mn=+Ni[0],Qn=+Ni[1];return $r=aa.translate(Ni).clipExtent([[Mn-.455*mi,Qn-.238*mi],[Mn+.455*mi,Qn+.238*mi]]).stream(dn),li=ka.translate([Mn-.307*mi,Qn+.201*mi]).clipExtent([[Mn-.425*mi+r,Qn+.12*mi+r],[Mn-.214*mi-r,Qn+.234*mi-r]]).stream(dn),Hi=Ci.translate([Mn-.205*mi,Qn+.212*mi]).clipExtent([[Mn-.214*mi+r,Qn+.166*mi+r],[Mn-.115*mi-r,Qn+.234*mi-r]]).stream(dn),Di()},Pi.fitExtent=function(Ni,mi){return Xc(Pi,Ni,mi)},Pi.fitSize=function(Ni,mi){return Ql(Pi,Ni,mi)},Pi.fitWidth=function(Ni,mi){return qc(Pi,Ni,mi)},Pi.fitHeight=function(Ni,mi){return Sc(Pi,Ni,mi)};function Di(){return Qt=br=null,Pi}return Pi.scale(1070)}function Bu(Qt){return function(br,aa){var $r=l(br),ka=l(aa),li=Qt($r*ka);return[li*ka*g(br),li*g(aa)]}}function Ec(Qt){return function(br,aa){var $r=d(br*br+aa*aa),ka=Qt($r),li=g(ka),Ci=l(ka);return[T(br*li,$r*Ci),f($r&&aa*li/$r)]}}var mc=Bu(function(Qt){return d(2/(1+Qt))});mc.invert=Ec(function(Qt){return 2*f(Qt/2)});function Lh(){return Lu(mc).scale(124.75).clipAngle(180-.001)}var sf=Bu(function(Qt){return(Qt=y(Qt))&&Qt/g(Qt)});sf.invert=Ec(function(Qt){return Qt});function vf(){return Lu(sf).scale(79.4188).clipAngle(180-.001)}function Nu(Qt,br){return[Qt,A(u((n+br)/2))]}Nu.invert=function(Qt,br){return[Qt,2*p(w(br))-n]};function lf(){return au(Nu).scale(961/s)}function au(Qt){var br=Lu(Qt),aa=br.center,$r=br.scale,ka=br.translate,li=br.clipExtent,Ci=null,Hi,Qi,dn;br.scale=function(Di){return arguments.length?($r(Di),Pi()):$r()},br.translate=function(Di){return arguments.length?(ka(Di),Pi()):ka()},br.center=function(Di){return arguments.length?(aa(Di),Pi()):aa()},br.clipExtent=function(Di){return arguments.length?(Di==null?Ci=Hi=Qi=dn=null:(Ci=+Di[0][0],Hi=+Di[0][1],Qi=+Di[1][0],dn=+Di[1][1]),Pi()):Ci==null?null:[[Ci,Hi],[Qi,dn]]};function Pi(){var Di=a*$r(),Ni=br(pi(br.rotate()).invert([0,0]));return li(Ci==null?[[Ni[0]-Di,Ni[1]-Di],[Ni[0]+Di,Ni[1]+Di]]:Qt===Nu?[[Math.max(Ni[0]-Di,Ci),Hi],[Math.min(Ni[0]+Di,Qi),dn]]:[[Ci,Math.max(Ni[1]-Di,Hi)],[Qi,Math.min(Ni[1]+Di,dn)]])}return Pi()}function Yc(Qt){return u((n+Qt)/2)}function hh(Qt,br){var aa=l(Qt),$r=Qt===br?g(Qt):A(aa/l(br))/A(Yc(br)/Yc(Qt)),ka=aa*M(Yc(Qt),$r)/$r;if(!$r)return Nu;function li(Ci,Hi){ka>0?Hi<-n+r&&(Hi=-n+r):Hi>n-r&&(Hi=n-r);var Qi=ka/M(Yc(Hi),$r);return[Qi*g($r*Ci),ka-Qi*l($r*Ci)]}return li.invert=function(Ci,Hi){var Qi=ka-Hi,dn=b($r)*d(Ci*Ci+Qi*Qi),Pi=T(Ci,m(Qi))*b(Qi);return Qi*$r<0&&(Pi-=a*b(Ci)*b(Qi)),[Pi/$r,2*p(M(ka/dn,1/$r))-n]},li}function mf(){return ol(hh).scale(109.5).parallels([30,30])}function sl(Qt,br){return[Qt,br]}sl.invert=sl;function _u(){return Lu(sl).scale(152.63)}function Pu(Qt,br){var aa=l(Qt),$r=Qt===br?g(Qt):(aa-l(br))/(br-Qt),ka=aa/$r+Qt;if(m($r)r&&--$r>0);return[Qt/(.8707+(li=aa*aa)*(-.131979+li*(-.013791+li*li*li*(.003971-.001529*li)))),aa]};function gc(){return Lu(Cc).scale(175.295)}function ql(Qt,br){return[l(br)*g(Qt),g(br)]}ql.invert=Ec(f);function xu(){return Lu(ql).scale(249.5).clipAngle(90+r)}function Lc(Qt,br){var aa=l(br),$r=1+l(Qt)*aa;return[aa*g(Qt)/$r,g(br)/$r]}Lc.invert=Ec(function(Qt){return 2*p(Qt)});function Jc(){return Lu(Lc).scale(250).clipAngle(142)}function sc(Qt,br){return[A(u((n+br)/2)),-Qt]}sc.invert=function(Qt,br){return[-br,2*p(w(Qt))-n]};function Pc(){var Qt=au(sc),br=Qt.center,aa=Qt.rotate;return Qt.center=function($r){return arguments.length?br([-$r[1],$r[0]]):($r=br(),[$r[1],-$r[0]])},Qt.rotate=function($r){return arguments.length?aa([$r[0],$r[1],$r.length>2?$r[2]+90:90]):($r=aa(),[$r[0],$r[1],$r[2]-90])},aa([0,0,90]).scale(159.155)}v.geoAlbers=El,v.geoAlbersUsa=Qf,v.geoArea=j,v.geoAzimuthalEqualArea=Lh,v.geoAzimuthalEqualAreaRaw=mc,v.geoAzimuthalEquidistant=vf,v.geoAzimuthalEquidistantRaw=sf,v.geoBounds=Ne,v.geoCentroid=Fr,v.geoCircle=on,v.geoClipAntimeridian=vr,v.geoClipCircle=ya,v.geoClipExtent=Ki,v.geoClipRectangle=ki,v.geoConicConformal=mf,v.geoConicConformalRaw=hh,v.geoConicEqualArea=Tu,v.geoConicEqualAreaRaw=yu,v.geoConicEquidistant=Cf,v.geoConicEquidistantRaw=Pu,v.geoContains=Xo,v.geoDistance=as,v.geoEqualEarth=Lf,v.geoEqualEarthRaw=Kc,v.geoEquirectangular=_u,v.geoEquirectangularRaw=sl,v.geoGnomonic=Vf,v.geoGnomonicRaw=iu,v.geoGraticule=Us,v.geoGraticule10=_s,v.geoIdentity=Xu,v.geoInterpolate=Gn,v.geoLength=Oo,v.geoMercator=lf,v.geoMercatorRaw=Nu,v.geoNaturalEarth1=gc,v.geoNaturalEarth1Raw=Cc,v.geoOrthographic=xu,v.geoOrthographicRaw=ql,v.geoPath=Bf,v.geoProjection=Lu,v.geoProjectionMutator=Mc,v.geoRotation=pi,v.geoStereographic=Jc,v.geoStereographicRaw=Lc,v.geoStream=U,v.geoTransform=Nf,v.geoTransverseMercator=Pc,v.geoTransverseMercatorRaw=sc,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),UU=Xe({\"node_modules/d3-geo-projection/dist/d3-geo-projection.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z,zE(),_x()):x(v.d3=v.d3||{},v.d3,v.d3)})(Z,function(v,x,S){\"use strict\";var E=Math.abs,e=Math.atan,t=Math.atan2,r=Math.cos,o=Math.exp,a=Math.floor,n=Math.log,i=Math.max,s=Math.min,h=Math.pow,c=Math.round,m=Math.sign||function(He){return He>0?1:He<0?-1:0},p=Math.sin,T=Math.tan,l=1e-6,_=1e-12,w=Math.PI,A=w/2,M=w/4,g=Math.SQRT1_2,b=F(2),d=F(w),u=w*2,y=180/w,f=w/180;function R(He){return He?He/Math.sin(He):1}function L(He){return He>1?A:He<-1?-A:Math.asin(He)}function z(He){return He>1?0:He<-1?w:Math.acos(He)}function F(He){return He>0?Math.sqrt(He):0}function N(He){return He=o(2*He),(He-1)/(He+1)}function O(He){return(o(He)-o(-He))/2}function P(He){return(o(He)+o(-He))/2}function U(He){return n(He+F(He*He+1))}function B(He){return n(He+F(He*He-1))}function X(He){var Je=T(He/2),lt=2*n(r(He/2))/(Je*Je);function vt(Lt,At){var zt=r(Lt),cr=r(At),yr=p(At),Er=cr*zt,jr=-((1-Er?n((1+Er)/2)/(1-Er):-.5)+lt/(1+Er));return[jr*cr*p(Lt),jr*yr]}return vt.invert=function(Lt,At){var zt=F(Lt*Lt+At*At),cr=-He/2,yr=50,Er;if(!zt)return[0,0];do{var jr=cr/2,Qr=r(jr),pa=p(jr),Aa=pa/Qr,za=-n(E(Qr));cr-=Er=(2/Aa*za-lt*Aa-zt)/(-za/(pa*pa)+1-lt/(2*Qr*Qr))*(Qr<0?.7:1)}while(E(Er)>l&&--yr>0);var ci=p(cr);return[t(Lt*ci,zt*r(cr)),L(At*ci/zt)]},vt}function $(){var He=A,Je=x.geoProjectionMutator(X),lt=Je(He);return lt.radius=function(vt){return arguments.length?Je(He=vt*f):He*y},lt.scale(179.976).clipAngle(147)}function se(He,Je){var lt=r(Je),vt=R(z(lt*r(He/=2)));return[2*lt*p(He)*vt,p(Je)*vt]}se.invert=function(He,Je){if(!(He*He+4*Je*Je>w*w+l)){var lt=He,vt=Je,Lt=25;do{var At=p(lt),zt=p(lt/2),cr=r(lt/2),yr=p(vt),Er=r(vt),jr=p(2*vt),Qr=yr*yr,pa=Er*Er,Aa=zt*zt,za=1-pa*cr*cr,ci=za?z(Er*cr)*F(Vi=1/za):Vi=0,Vi,ji=2*ci*Er*zt-He,nn=ci*yr-Je,Sn=Vi*(pa*Aa+ci*Er*cr*Qr),Kn=Vi*(.5*At*jr-ci*2*yr*zt),Bn=Vi*.25*(jr*zt-ci*yr*pa*At),wo=Vi*(Qr*cr+ci*Aa*Er),is=Kn*Bn-wo*Sn;if(!is)break;var Ao=(nn*Kn-ji*wo)/is,Zo=(ji*Bn-nn*Sn)/is;lt-=Ao,vt-=Zo}while((E(Ao)>l||E(Zo)>l)&&--Lt>0);return[lt,vt]}};function le(){return x.geoProjection(se).scale(152.63)}function fe(He){var Je=p(He),lt=r(He),vt=He>=0?1:-1,Lt=T(vt*He),At=(1+Je-lt)/2;function zt(cr,yr){var Er=r(yr),jr=r(cr/=2);return[(1+Er)*p(cr),(vt*yr>-t(jr,Lt)-.001?0:-vt*10)+At+p(yr)*lt-(1+Er)*Je*jr]}return zt.invert=function(cr,yr){var Er=0,jr=0,Qr=50;do{var pa=r(Er),Aa=p(Er),za=r(jr),ci=p(jr),Vi=1+za,ji=Vi*Aa-cr,nn=At+ci*lt-Vi*Je*pa-yr,Sn=Vi*pa/2,Kn=-Aa*ci,Bn=Je*Vi*Aa/2,wo=lt*za+Je*pa*ci,is=Kn*Bn-wo*Sn,Ao=(nn*Kn-ji*wo)/is/2,Zo=(ji*Bn-nn*Sn)/is;E(Zo)>2&&(Zo/=2),Er-=Ao,jr-=Zo}while((E(Ao)>l||E(Zo)>l)&&--Qr>0);return vt*jr>-t(r(Er),Lt)-.001?[Er*2,jr]:null},zt}function V(){var He=20*f,Je=He>=0?1:-1,lt=T(Je*He),vt=x.geoProjectionMutator(fe),Lt=vt(He),At=Lt.stream;return Lt.parallel=function(zt){return arguments.length?(lt=T((Je=(He=zt*f)>=0?1:-1)*He),vt(He)):He*y},Lt.stream=function(zt){var cr=Lt.rotate(),yr=At(zt),Er=(Lt.rotate([0,0]),At(zt)),jr=Lt.precision();return Lt.rotate(cr),yr.sphere=function(){Er.polygonStart(),Er.lineStart();for(var Qr=Je*-180;Je*Qr<180;Qr+=Je*90)Er.point(Qr,Je*90);if(He)for(;Je*(Qr-=3*Je*jr)>=-180;)Er.point(Qr,Je*-t(r(Qr*f/2),lt)*y);Er.lineEnd(),Er.polygonEnd()},yr},Lt.scale(218.695).center([0,28.0974])}function Y(He,Je){var lt=T(Je/2),vt=F(1-lt*lt),Lt=1+vt*r(He/=2),At=p(He)*vt/Lt,zt=lt/Lt,cr=At*At,yr=zt*zt;return[4/3*At*(3+cr-3*yr),4/3*zt*(3+3*cr-yr)]}Y.invert=function(He,Je){if(He*=3/8,Je*=3/8,!He&&E(Je)>1)return null;var lt=He*He,vt=Je*Je,Lt=1+lt+vt,At=F((Lt-F(Lt*Lt-4*Je*Je))/2),zt=L(At)/3,cr=At?B(E(Je/At))/3:U(E(He))/3,yr=r(zt),Er=P(cr),jr=Er*Er-yr*yr;return[m(He)*2*t(O(cr)*yr,.25-jr),m(Je)*2*t(Er*p(zt),.25+jr)]};function ee(){return x.geoProjection(Y).scale(66.1603)}var q=F(8),oe=n(1+b);function ae(He,Je){var lt=E(Je);return lt_&&--vt>0);return[He/(r(lt)*(q-1/p(lt))),m(Je)*lt]};function j(){return x.geoProjection(ae).scale(112.314)}function Q(He){var Je=2*w/He;function lt(vt,Lt){var At=x.geoAzimuthalEquidistantRaw(vt,Lt);if(E(vt)>A){var zt=t(At[1],At[0]),cr=F(At[0]*At[0]+At[1]*At[1]),yr=Je*c((zt-A)/Je)+A,Er=t(p(zt-=yr),2-r(zt));zt=yr+L(w/cr*p(Er))-Er,At[0]=cr*r(zt),At[1]=cr*p(zt)}return At}return lt.invert=function(vt,Lt){var At=F(vt*vt+Lt*Lt);if(At>A){var zt=t(Lt,vt),cr=Je*c((zt-A)/Je)+A,yr=zt>cr?-1:1,Er=At*r(cr-zt),jr=1/T(yr*z((Er-w)/F(w*(w-2*Er)+At*At)));zt=cr+2*e((jr+yr*F(jr*jr-3))/3),vt=At*r(zt),Lt=At*p(zt)}return x.geoAzimuthalEquidistantRaw.invert(vt,Lt)},lt}function re(){var He=5,Je=x.geoProjectionMutator(Q),lt=Je(He),vt=lt.stream,Lt=.01,At=-r(Lt*f),zt=p(Lt*f);return lt.lobes=function(cr){return arguments.length?Je(He=+cr):He},lt.stream=function(cr){var yr=lt.rotate(),Er=vt(cr),jr=(lt.rotate([0,0]),vt(cr));return lt.rotate(yr),Er.sphere=function(){jr.polygonStart(),jr.lineStart();for(var Qr=0,pa=360/He,Aa=2*w/He,za=90-180/He,ci=A;Qr0&&E(Lt)>l);return vt<0?NaN:lt}function ze(He,Je,lt){return Je===void 0&&(Je=40),lt===void 0&&(lt=_),function(vt,Lt,At,zt){var cr,yr,Er;At=At===void 0?0:+At,zt=zt===void 0?0:+zt;for(var jr=0;jrcr){At-=yr/=2,zt-=Er/=2;continue}cr=za;var ci=(At>0?-1:1)*lt,Vi=(zt>0?-1:1)*lt,ji=He(At+ci,zt),nn=He(At,zt+Vi),Sn=(ji[0]-Qr[0])/ci,Kn=(ji[1]-Qr[1])/ci,Bn=(nn[0]-Qr[0])/Vi,wo=(nn[1]-Qr[1])/Vi,is=wo*Sn-Kn*Bn,Ao=(E(is)<.5?.5:1)/is;if(yr=(Aa*Bn-pa*wo)*Ao,Er=(pa*Kn-Aa*Sn)*Ao,At+=yr,zt+=Er,E(yr)0&&(cr[1]*=1+yr/1.5*cr[0]*cr[0]),cr}return vt.invert=ze(vt),vt}function at(){return x.geoProjection(Ze()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(He,Je){var lt=He*p(Je),vt=30,Lt;do Je-=Lt=(Je+p(Je)-lt)/(1+r(Je));while(E(Lt)>l&&--vt>0);return Je/2}function rt(He,Je,lt){function vt(Lt,At){return[He*Lt*r(At=nt(lt,At)),Je*p(At)]}return vt.invert=function(Lt,At){return At=L(At/Je),[Lt/(He*r(At)),L((2*At+p(2*At))/lt)]},vt}var st=rt(b/A,b,w);function Me(){return x.geoProjection(st).scale(169.529)}var ye=2.00276,he=1.11072;function Oe(He,Je){var lt=nt(w,Je);return[ye*He/(1/r(Je)+he/r(lt)),(Je+b*p(lt))/ye]}Oe.invert=function(He,Je){var lt=ye*Je,vt=Je<0?-M:M,Lt=25,At,zt;do zt=lt-b*p(vt),vt-=At=(p(2*vt)+2*vt-w*p(zt))/(2*r(2*vt)+2+w*r(zt)*b*r(vt));while(E(At)>l&&--Lt>0);return zt=lt-b*p(vt),[He*(1/r(zt)+he/r(vt))/ye,zt]};function tt(){return x.geoProjection(Oe).scale(160.857)}function ot(He){var Je=0,lt=x.geoProjectionMutator(He),vt=lt(Je);return vt.parallel=function(Lt){return arguments.length?lt(Je=Lt*f):Je*y},vt}function Qe(He,Je){return[He*r(Je),Je]}Qe.invert=function(He,Je){return[He/r(Je),Je]};function Pt(){return x.geoProjection(Qe).scale(152.63)}function It(He){if(!He)return Qe;var Je=1/T(He);function lt(vt,Lt){var At=Je+He-Lt,zt=At&&vt*r(Lt)/At;return[At*p(zt),Je-At*r(zt)]}return lt.invert=function(vt,Lt){var At=F(vt*vt+(Lt=Je-Lt)*Lt),zt=Je+He-At;return[At/r(zt)*t(vt,Lt),zt]},lt}function qt(){return ot(It).scale(123.082).center([0,26.1441]).parallel(45)}function Wt(He){function Je(lt,vt){var Lt=A-vt,At=Lt&<*He*p(Lt)/Lt;return[Lt*p(At)/He,A-Lt*r(At)]}return Je.invert=function(lt,vt){var Lt=lt*He,At=A-vt,zt=F(Lt*Lt+At*At),cr=t(Lt,At);return[(zt?zt/p(zt):1)*cr/He,A-zt]},Je}function kr(){var He=.5,Je=x.geoProjectionMutator(Wt),lt=Je(He);return lt.fraction=function(vt){return arguments.length?Je(He=+vt):He},lt.scale(158.837)}var mr=rt(1,4/w,w);function qr(){return x.geoProjection(mr).scale(152.63)}function Sr(He,Je,lt,vt,Lt,At){var zt=r(At),cr;if(E(He)>1||E(At)>1)cr=z(lt*Lt+Je*vt*zt);else{var yr=p(He/2),Er=p(At/2);cr=2*L(F(yr*yr+Je*vt*Er*Er))}return E(cr)>l?[cr,t(vt*p(At),Je*Lt-lt*vt*zt)]:[0,0]}function Rr(He,Je,lt){return z((He*He+Je*Je-lt*lt)/(2*He*Je))}function wt(He){return He-2*w*a((He+w)/(2*w))}function Ne(He,Je,lt){for(var vt=[[He[0],He[1],p(He[1]),r(He[1])],[Je[0],Je[1],p(Je[1]),r(Je[1])],[lt[0],lt[1],p(lt[1]),r(lt[1])]],Lt=vt[2],At,zt=0;zt<3;++zt,Lt=At)At=vt[zt],Lt.v=Sr(At[1]-Lt[1],Lt[3],Lt[2],At[3],At[2],At[0]-Lt[0]),Lt.point=[0,0];var cr=Rr(vt[0].v[0],vt[2].v[0],vt[1].v[0]),yr=Rr(vt[0].v[0],vt[1].v[0],vt[2].v[0]),Er=w-cr;vt[2].point[1]=0,vt[0].point[0]=-(vt[1].point[0]=vt[0].v[0]/2);var jr=[vt[2].point[0]=vt[0].point[0]+vt[2].v[0]*r(cr),2*(vt[0].point[1]=vt[1].point[1]=vt[2].v[0]*p(cr))];function Qr(pa,Aa){var za=p(Aa),ci=r(Aa),Vi=new Array(3),ji;for(ji=0;ji<3;++ji){var nn=vt[ji];if(Vi[ji]=Sr(Aa-nn[1],nn[3],nn[2],ci,za,pa-nn[0]),!Vi[ji][0])return nn.point;Vi[ji][1]=wt(Vi[ji][1]-nn.v[1])}var Sn=jr.slice();for(ji=0;ji<3;++ji){var Kn=ji==2?0:ji+1,Bn=Rr(vt[ji].v[0],Vi[ji][0],Vi[Kn][0]);Vi[ji][1]<0&&(Bn=-Bn),ji?ji==1?(Bn=yr-Bn,Sn[0]-=Vi[ji][0]*r(Bn),Sn[1]-=Vi[ji][0]*p(Bn)):(Bn=Er-Bn,Sn[0]+=Vi[ji][0]*r(Bn),Sn[1]+=Vi[ji][0]*p(Bn)):(Sn[0]+=Vi[ji][0]*r(Bn),Sn[1]-=Vi[ji][0]*p(Bn))}return Sn[0]/=3,Sn[1]/=3,Sn}return Qr}function Ke(He){return He[0]*=f,He[1]*=f,He}function Te(){return Ie([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Ie(He,Je,lt){var vt=x.geoCentroid({type:\"MultiPoint\",coordinates:[He,Je,lt]}),Lt=[-vt[0],-vt[1]],At=x.geoRotation(Lt),zt=Ne(Ke(At(He)),Ke(At(Je)),Ke(At(lt)));zt.invert=ze(zt);var cr=x.geoProjection(zt).rotate(Lt),yr=cr.center;return delete cr.rotate,cr.center=function(Er){return arguments.length?yr(At(Er)):At.invert(yr())},cr.clipAngle(90)}function Ve(He,Je){var lt=F(1-p(Je));return[2/d*He*lt,d*(1-lt)]}Ve.invert=function(He,Je){var lt=(lt=Je/d-1)*lt;return[lt>0?He*F(w/lt)/2:0,L(1-lt)]};function Ce(){return x.geoProjection(Ve).scale(95.6464).center([0,30])}function Ee(He){var Je=T(He);function lt(vt,Lt){return[vt,(vt?vt/p(vt):1)*(p(Lt)*r(vt)-Je*r(Lt))]}return lt.invert=Je?function(vt,Lt){vt&&(Lt*=p(vt)/vt);var At=r(vt);return[vt,2*t(F(At*At+Je*Je-Lt*Lt)-At,Je-Lt)]}:function(vt,Lt){return[vt,L(vt?Lt*T(vt)/vt:Lt)]},lt}function Pe(){return ot(Ee).scale(249.828).clipAngle(90)}var ft=F(3);function ct(He,Je){return[ft*He*(2*r(2*Je/3)-1)/d,ft*d*p(Je/3)]}ct.invert=function(He,Je){var lt=3*L(Je/(ft*d));return[d*He/(ft*(2*r(2*lt/3)-1)),lt]};function _t(){return x.geoProjection(ct).scale(156.19)}function Ct(He){var Je=r(He);function lt(vt,Lt){return[vt*Je,p(Lt)/Je]}return lt.invert=function(vt,Lt){return[vt/Je,L(Lt*Je)]},lt}function ir(){return ot(Ct).parallel(38.58).scale(195.044)}function rr(He){var Je=r(He);function lt(vt,Lt){return[vt*Je,(1+Je)*T(Lt/2)]}return lt.invert=function(vt,Lt){return[vt/Je,e(Lt/(1+Je))*2]},lt}function er(){return ot(rr).scale(124.75)}function Lr(He,Je){var lt=F(8/(3*w));return[lt*He*(1-E(Je)/w),lt*Je]}Lr.invert=function(He,Je){var lt=F(8/(3*w)),vt=Je/lt;return[He/(lt*(1-E(vt)/w)),vt]};function fa(){return x.geoProjection(Lr).scale(165.664)}function Da(He,Je){var lt=F(4-3*p(E(Je)));return[2/F(6*w)*He*lt,m(Je)*F(2*w/3)*(2-lt)]}Da.invert=function(He,Je){var lt=2-E(Je)/F(2*w/3);return[He*F(6*w)/(2*lt),m(Je)*L((4-lt*lt)/3)]};function Ia(){return x.geoProjection(Da).scale(165.664)}function qa(He,Je){var lt=F(w*(4+w));return[2/lt*He*(1+F(1-4*Je*Je/(w*w))),4/lt*Je]}qa.invert=function(He,Je){var lt=F(w*(4+w))/2;return[He*lt/(1+F(1-Je*Je*(4+w)/(4*w))),Je*lt/2]};function Wa(){return x.geoProjection(qa).scale(180.739)}function Ca(He,Je){var lt=(2+A)*p(Je);Je/=2;for(var vt=0,Lt=1/0;vt<10&&E(Lt)>l;vt++){var At=r(Je);Je-=Lt=(Je+p(Je)*(At+2)-lt)/(2*At*(1+At))}return[2/F(w*(4+w))*He*(1+r(Je)),2*F(w/(4+w))*p(Je)]}Ca.invert=function(He,Je){var lt=Je*F((4+w)/w)/2,vt=L(lt),Lt=r(vt);return[He/(2/F(w*(4+w))*(1+Lt)),L((vt+lt*(Lt+2))/(2+A))]};function hi(){return x.geoProjection(Ca).scale(180.739)}function wi(He,Je){return[He*(1+r(Je))/F(2+w),2*Je/F(2+w)]}wi.invert=function(He,Je){var lt=F(2+w),vt=Je*lt/2;return[lt*He/(1+r(vt)),vt]};function Kt(){return x.geoProjection(wi).scale(173.044)}function Ft(He,Je){for(var lt=(1+A)*p(Je),vt=0,Lt=1/0;vt<10&&E(Lt)>l;vt++)Je-=Lt=(Je+p(Je)-lt)/(1+r(Je));return lt=F(2+w),[He*(1+r(Je))/lt,2*Je/lt]}Ft.invert=function(He,Je){var lt=1+A,vt=F(lt/2);return[He*2*vt/(1+r(Je*=vt)),L((Je+p(Je))/lt)]};function Yt(){return x.geoProjection(Ft).scale(173.044)}var Jt=3+2*b;function Fr(He,Je){var lt=p(He/=2),vt=r(He),Lt=F(r(Je)),At=r(Je/=2),zt=p(Je)/(At+b*vt*Lt),cr=F(2/(1+zt*zt)),yr=F((b*At+(vt+lt)*Lt)/(b*At+(vt-lt)*Lt));return[Jt*(cr*(yr-1/yr)-2*n(yr)),Jt*(cr*zt*(yr+1/yr)-2*e(zt))]}Fr.invert=function(He,Je){if(!(At=Y.invert(He/1.2,Je*1.065)))return null;var lt=At[0],vt=At[1],Lt=20,At;He/=Jt,Je/=Jt;do{var zt=lt/2,cr=vt/2,yr=p(zt),Er=r(zt),jr=p(cr),Qr=r(cr),pa=r(vt),Aa=F(pa),za=jr/(Qr+b*Er*Aa),ci=za*za,Vi=F(2/(1+ci)),ji=b*Qr+(Er+yr)*Aa,nn=b*Qr+(Er-yr)*Aa,Sn=ji/nn,Kn=F(Sn),Bn=Kn-1/Kn,wo=Kn+1/Kn,is=Vi*Bn-2*n(Kn)-He,Ao=Vi*za*wo-2*e(za)-Je,Zo=jr&&g*Aa*yr*ci/jr,ps=(b*Er*Qr+Aa)/(2*(Qr+b*Er*Aa)*(Qr+b*Er*Aa)*Aa),ul=-.5*za*Vi*Vi*Vi,tl=ul*Zo,Jo=ul*ps,$o=($o=2*Qr+b*Aa*(Er-yr))*$o*Kn,Il=(b*Er*Qr*Aa+pa)/$o,eu=-(b*yr*jr)/(Aa*$o),Ru=Bn*tl-2*Il/Kn+Vi*(Il+Il/Sn),vu=Bn*Jo-2*eu/Kn+Vi*(eu+eu/Sn),Tl=za*wo*tl-2*Zo/(1+ci)+Vi*wo*Zo+Vi*za*(Il-Il/Sn),cu=za*wo*Jo-2*ps/(1+ci)+Vi*wo*ps+Vi*za*(eu-eu/Sn),uc=vu*Tl-cu*Ru;if(!uc)break;var Vl=(Ao*vu-is*cu)/uc,Gl=(is*Tl-Ao*Ru)/uc;lt-=Vl,vt=i(-A,s(A,vt-Gl))}while((E(Vl)>l||E(Gl)>l)&&--Lt>0);return E(E(vt)-A)vt){var Qr=F(jr),pa=t(Er,yr),Aa=lt*c(pa/lt),za=pa-Aa,ci=He*r(za),Vi=(He*p(za)-za*p(ci))/(A-ci),ji=Tt(za,Vi),nn=(w-He)/ut(ji,ci,w);yr=Qr;var Sn=50,Kn;do yr-=Kn=(He+ut(ji,ci,yr)*nn-Qr)/(ji(yr)*nn);while(E(Kn)>l&&--Sn>0);Er=za*p(yr),yrvt){var yr=F(cr),Er=t(zt,At),jr=lt*c(Er/lt),Qr=Er-jr;At=yr*r(Qr),zt=yr*p(Qr);for(var pa=At-A,Aa=p(At),za=zt/Aa,ci=Atl||E(za)>l)&&--ci>0);return[Qr,pa]},yr}var xr=Cr(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ir(){return x.geoProjection(xr).scale(149.995)}var Ur=Cr(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function Hr(){return x.geoProjection(Ur).scale(153.93)}var xt=Cr(5/6*w,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Xt(){return x.geoProjection(xt).scale(130.945)}function vr(He,Je){var lt=He*He,vt=Je*Je;return[He*(1-.162388*vt)*(.87-952426e-9*lt*lt),Je*(1+vt/12)]}vr.invert=function(He,Je){var lt=He,vt=Je,Lt=50,At;do{var zt=vt*vt;vt-=At=(vt*(1+zt/12)-Je)/(1+zt/4)}while(E(At)>l&&--Lt>0);Lt=50,He/=1-.162388*zt;do{var cr=(cr=lt*lt)*cr;lt-=At=(lt*(.87-952426e-9*cr)-He)/(.87-.00476213*cr)}while(E(At)>l&&--Lt>0);return[lt,vt]};function Or(){return x.geoProjection(vr).scale(131.747)}var ba=Cr(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Pa(){return x.geoProjection(ba).scale(131.087)}function ya(He){var Je=He(A,0)[0]-He(-A,0)[0];function lt(vt,Lt){var At=vt>0?-.5:.5,zt=He(vt+At*w,Lt);return zt[0]-=At*Je,zt}return He.invert&&(lt.invert=function(vt,Lt){var At=vt>0?-.5:.5,zt=He.invert(vt+At*Je,Lt),cr=zt[0]-At*w;return cr<-w?cr+=2*w:cr>w&&(cr-=2*w),zt[0]=cr,zt}),lt}function la(He,Je){var lt=m(He),vt=m(Je),Lt=r(Je),At=r(He)*Lt,zt=p(He)*Lt,cr=p(vt*Je);He=E(t(zt,cr)),Je=L(At),E(He-A)>l&&(He%=A);var yr=Ta(He>w/4?A-He:He,Je);return He>w/4&&(cr=yr[0],yr[0]=-yr[1],yr[1]=-cr),yr[0]*=lt,yr[1]*=-vt,yr}la.invert=function(He,Je){E(He)>1&&(He=m(He)*2-He),E(Je)>1&&(Je=m(Je)*2-Je);var lt=m(He),vt=m(Je),Lt=-lt*He,At=-vt*Je,zt=At/Lt<1,cr=Ai(zt?At:Lt,zt?Lt:At),yr=cr[0],Er=cr[1],jr=r(Er);return zt&&(yr=-A-yr),[lt*(t(p(yr)*jr,-p(Er))+w),vt*L(r(yr)*jr)]};function Ta(He,Je){if(Je===A)return[0,0];var lt=p(Je),vt=lt*lt,Lt=vt*vt,At=1+Lt,zt=1+3*Lt,cr=1-Lt,yr=L(1/F(At)),Er=cr+vt*At*yr,jr=(1-lt)/Er,Qr=F(jr),pa=jr*At,Aa=F(pa),za=Qr*cr,ci,Vi;if(He===0)return[0,-(za+vt*Aa)];var ji=r(Je),nn=1/ji,Sn=2*lt*ji,Kn=(-3*vt+yr*zt)*Sn,Bn=(-Er*ji-(1-lt)*Kn)/(Er*Er),wo=.5*Bn/Qr,is=cr*wo-2*vt*Qr*Sn,Ao=vt*At*Bn+jr*zt*Sn,Zo=-nn*Sn,ps=-nn*Ao,ul=-2*nn*is,tl=4*He/w,Jo;if(He>.222*w||Je.175*w){if(ci=(za+vt*F(pa*(1+Lt)-za*za))/(1+Lt),He>w/4)return[ci,ci];var $o=ci,Il=.5*ci;ci=.5*(Il+$o),Vi=50;do{var eu=F(pa-ci*ci),Ru=ci*(ul+Zo*eu)+ps*L(ci/Aa)-tl;if(!Ru)break;Ru<0?Il=ci:$o=ci,ci=.5*(Il+$o)}while(E($o-Il)>l&&--Vi>0)}else{ci=l,Vi=25;do{var vu=ci*ci,Tl=F(pa-vu),cu=ul+Zo*Tl,uc=ci*cu+ps*L(ci/Aa)-tl,Vl=cu+(ps-Zo*vu)/Tl;ci-=Jo=Tl?uc/Vl:0}while(E(Jo)>l&&--Vi>0)}return[ci,-za-vt*F(pa-ci*ci)]}function Ai(He,Je){for(var lt=0,vt=1,Lt=.5,At=50;;){var zt=Lt*Lt,cr=F(Lt),yr=L(1/F(1+zt)),Er=1-zt+Lt*(1+zt)*yr,jr=(1-cr)/Er,Qr=F(jr),pa=jr*(1+zt),Aa=Qr*(1-zt),za=pa-He*He,ci=F(za),Vi=Je+Aa+Lt*ci;if(E(vt-lt)<_||--At===0||Vi===0)break;Vi>0?lt=Lt:vt=Lt,Lt=.5*(lt+vt)}if(!At)return null;var ji=L(cr),nn=r(ji),Sn=1/nn,Kn=2*cr*nn,Bn=(-3*Lt+yr*(1+3*zt))*Kn,wo=(-Er*nn-(1-cr)*Bn)/(Er*Er),is=.5*wo/Qr,Ao=(1-zt)*is-2*Lt*Qr*Kn,Zo=-2*Sn*Ao,ps=-Sn*Kn,ul=-Sn*(Lt*(1+zt)*wo+jr*(1+3*zt)*Kn);return[w/4*(He*(Zo+ps*ci)+ul*L(He/F(pa))),ji]}function ki(){return x.geoProjection(ya(la)).scale(239.75)}function Ki(He,Je,lt){var vt,Lt,At;return He?(vt=_n(He,lt),Je?(Lt=_n(Je,1-lt),At=Lt[1]*Lt[1]+lt*vt[0]*vt[0]*Lt[0]*Lt[0],[[vt[0]*Lt[2]/At,vt[1]*vt[2]*Lt[0]*Lt[1]/At],[vt[1]*Lt[1]/At,-vt[0]*vt[2]*Lt[0]*Lt[2]/At],[vt[2]*Lt[1]*Lt[2]/At,-lt*vt[0]*vt[1]*Lt[0]/At]]):[[vt[0],0],[vt[1],0],[vt[2],0]]):(Lt=_n(Je,1-lt),[[0,Lt[0]/Lt[1]],[1/Lt[1],0],[Lt[2]/Lt[1],0]])}function _n(He,Je){var lt,vt,Lt,At,zt;if(Je=1-l)return lt=(1-Je)/4,vt=P(He),At=N(He),Lt=1/vt,zt=vt*O(He),[At+lt*(zt-He)/(vt*vt),Lt-lt*At*Lt*(zt-He),Lt+lt*At*Lt*(zt+He),2*e(o(He))-A+lt*(zt-He)/vt];var cr=[1,0,0,0,0,0,0,0,0],yr=[F(Je),0,0,0,0,0,0,0,0],Er=0;for(vt=F(1-Je),zt=1;E(yr[Er]/cr[Er])>l&&Er<8;)lt=cr[Er++],yr[Er]=(lt-vt)/2,cr[Er]=(lt+vt)/2,vt=F(lt*vt),zt*=2;Lt=zt*cr[Er]*He;do At=yr[Er]*p(vt=Lt)/cr[Er],Lt=(L(At)+Lt)/2;while(--Er);return[p(Lt),At=r(Lt),At/r(Lt-vt),Lt]}function Rn(He,Je,lt){var vt=E(He),Lt=E(Je),At=O(Lt);if(vt){var zt=1/p(vt),cr=1/(T(vt)*T(vt)),yr=-(cr+lt*(At*At*zt*zt)-1+lt),Er=(lt-1)*cr,jr=(-yr+F(yr*yr-4*Er))/2;return[En(e(1/F(jr)),lt)*m(He),En(e(F((jr/cr-1)/lt)),1-lt)*m(Je)]}return[0,En(e(At),1-lt)*m(Je)]}function En(He,Je){if(!Je)return He;if(Je===1)return n(T(He/2+M));for(var lt=1,vt=F(1-Je),Lt=F(Je),At=0;E(Lt)>l;At++){if(He%w){var zt=e(vt*T(He)/lt);zt<0&&(zt+=w),He+=zt+~~(He/w)*w}else He+=He;Lt=(lt+vt)/2,vt=F(lt*vt),Lt=((lt=Lt)-vt)/2}return He/(h(2,At)*lt)}function On(He,Je){var lt=(b-1)/(b+1),vt=F(1-lt*lt),Lt=En(A,vt*vt),At=-1,zt=n(T(w/4+E(Je)/2)),cr=o(At*zt)/F(lt),yr=no(cr*r(At*He),cr*p(At*He)),Er=Rn(yr[0],yr[1],vt*vt);return[-Er[1],(Je>=0?1:-1)*(.5*Lt-Er[0])]}function no(He,Je){var lt=He*He,vt=Je+1,Lt=1-lt-Je*Je;return[.5*((He>=0?A:-A)-t(Lt,2*He)),-.25*n(Lt*Lt+4*lt)+.5*n(vt*vt+lt)]}function cn(He,Je){var lt=Je[0]*Je[0]+Je[1]*Je[1];return[(He[0]*Je[0]+He[1]*Je[1])/lt,(He[1]*Je[0]-He[0]*Je[1])/lt]}On.invert=function(He,Je){var lt=(b-1)/(b+1),vt=F(1-lt*lt),Lt=En(A,vt*vt),At=-1,zt=Ki(.5*Lt-Je,-He,vt*vt),cr=cn(zt[0],zt[1]),yr=t(cr[1],cr[0])/At;return[yr,2*e(o(.5/At*n(lt*cr[0]*cr[0]+lt*cr[1]*cr[1])))-A]};function lo(){return x.geoProjection(ya(On)).scale(151.496)}function Wo(He){var Je=p(He),lt=r(He),vt=hs(He);vt.invert=hs(-He);function Lt(At,zt){var cr=vt(At,zt);At=cr[0],zt=cr[1];var yr=p(zt),Er=r(zt),jr=r(At),Qr=z(Je*yr+lt*Er*jr),pa=p(Qr),Aa=E(pa)>l?Qr/pa:1;return[Aa*lt*p(At),(E(At)>A?Aa:-Aa)*(Je*Er-lt*yr*jr)]}return Lt.invert=function(At,zt){var cr=F(At*At+zt*zt),yr=-p(cr),Er=r(cr),jr=cr*Er,Qr=-zt*yr,pa=cr*Je,Aa=F(jr*jr+Qr*Qr-pa*pa),za=t(jr*pa+Qr*Aa,Qr*pa-jr*Aa),ci=(cr>A?-1:1)*t(At*yr,cr*r(za)*Er+zt*p(za)*yr);return vt.invert(ci,za)},Lt}function hs(He){var Je=p(He),lt=r(He);return function(vt,Lt){var At=r(Lt),zt=r(vt)*At,cr=p(vt)*At,yr=p(Lt);return[t(cr,zt*lt-yr*Je),L(yr*lt+zt*Je)]}}function Oo(){var He=0,Je=x.geoProjectionMutator(Wo),lt=Je(He),vt=lt.rotate,Lt=lt.stream,At=x.geoCircle();return lt.parallel=function(zt){if(!arguments.length)return He*y;var cr=lt.rotate();return Je(He=zt*f).rotate(cr)},lt.rotate=function(zt){return arguments.length?(vt.call(lt,[zt[0],zt[1]-He*y]),At.center([-zt[0],-zt[1]]),lt):(zt=vt.call(lt),zt[1]+=He*y,zt)},lt.stream=function(zt){return zt=Lt(zt),zt.sphere=function(){zt.polygonStart();var cr=.01,yr=At.radius(90-cr)().coordinates[0],Er=yr.length-1,jr=-1,Qr;for(zt.lineStart();++jr=0;)zt.point((Qr=yr[jr])[0],Qr[1]);zt.lineEnd(),zt.polygonEnd()},zt},lt.scale(79.4187).parallel(45).clipAngle(180-.001)}var Wn=3,No=L(1-1/Wn)*y,as=Ct(0);function Ns(He){var Je=No*f,lt=Ve(w,Je)[0]-Ve(-w,Je)[0],vt=as(0,Je)[1],Lt=Ve(0,Je)[1],At=d-Lt,zt=u/He,cr=4/u,yr=vt+At*At*4/u;function Er(jr,Qr){var pa,Aa=E(Qr);if(Aa>Je){var za=s(He-1,i(0,a((jr+w)/zt)));jr+=w*(He-1)/He-za*zt,pa=Ve(jr,Aa),pa[0]=pa[0]*u/lt-u*(He-1)/(2*He)+za*u/He,pa[1]=vt+(pa[1]-Lt)*4*At/u,Qr<0&&(pa[1]=-pa[1])}else pa=as(jr,Qr);return pa[0]*=cr,pa[1]/=yr,pa}return Er.invert=function(jr,Qr){jr/=cr,Qr*=yr;var pa=E(Qr);if(pa>vt){var Aa=s(He-1,i(0,a((jr+w)/zt)));jr=(jr+w*(He-1)/He-Aa*zt)*lt/u;var za=Ve.invert(jr,.25*(pa-vt)*u/At+Lt);return za[0]-=w*(He-1)/He-Aa*zt,Qr<0&&(za[1]=-za[1]),za}return as.invert(jr,Qr)},Er}function ss(He,Je){return[He,Je&1?90-l:No]}function uo(He,Je){return[He,Je&1?-90+l:-No]}function jn(He){return[He[0]*(1-l),He[1]]}function Xn(He){var Je=[].concat(S.range(-180,180+He/2,He).map(ss),S.range(180,-180-He/2,-He).map(uo));return{type:\"Polygon\",coordinates:[He===180?Je.map(jn):Je]}}function ls(){var He=4,Je=x.geoProjectionMutator(Ns),lt=Je(He),vt=lt.stream;return lt.lobes=function(Lt){return arguments.length?Je(He=+Lt):He},lt.stream=function(Lt){var At=lt.rotate(),zt=vt(Lt),cr=(lt.rotate([0,0]),vt(Lt));return lt.rotate(At),zt.sphere=function(){x.geoStream(Xn(180/He),cr)},zt},lt.scale(239.75)}function Cs(He){var Je=1+He,lt=p(1/Je),vt=L(lt),Lt=2*F(w/(At=w+4*vt*Je)),At,zt=.5*Lt*(Je+F(He*(2+He))),cr=He*He,yr=Je*Je;function Er(jr,Qr){var pa=1-p(Qr),Aa,za;if(pa&&pa<2){var ci=A-Qr,Vi=25,ji;do{var nn=p(ci),Sn=r(ci),Kn=vt+t(nn,Je-Sn),Bn=1+yr-2*Je*Sn;ci-=ji=(ci-cr*vt-Je*nn+Bn*Kn-.5*pa*At)/(2*Je*nn*Kn)}while(E(ji)>_&&--Vi>0);Aa=Lt*F(Bn),za=jr*Kn/w}else Aa=Lt*(He+pa),za=jr*vt/w;return[Aa*p(za),zt-Aa*r(za)]}return Er.invert=function(jr,Qr){var pa=jr*jr+(Qr-=zt)*Qr,Aa=(1+yr-pa/(Lt*Lt))/(2*Je),za=z(Aa),ci=p(za),Vi=vt+t(ci,Je-Aa);return[L(jr/F(pa))*w/Vi,L(1-2*(za-cr*vt-Je*ci+(1+yr-2*Je*Aa)*Vi)/At)]},Er}function Ks(){var He=1,Je=x.geoProjectionMutator(Cs),lt=Je(He);return lt.ratio=function(vt){return arguments.length?Je(He=+vt):He},lt.scale(167.774).center([0,18.67])}var Xo=.7109889596207567,Gi=.0528035274542;function Ln(He,Je){return Je>-Xo?(He=st(He,Je),He[1]+=Gi,He):Qe(He,Je)}Ln.invert=function(He,Je){return Je>-Xo?st.invert(He,Je-Gi):Qe.invert(He,Je)};function Us(){return x.geoProjection(Ln).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function _s(He,Je){return E(Je)>Xo?(He=st(He,Je),He[1]-=Je>0?Gi:-Gi,He):Qe(He,Je)}_s.invert=function(He,Je){return E(Je)>Xo?st.invert(He,Je+(Je>0?Gi:-Gi)):Qe.invert(He,Je)};function Gn(){return x.geoProjection(_s).scale(152.63)}function zs(He,Je,lt,vt){var Lt=F(4*w/(2*lt+(1+He-Je/2)*p(2*lt)+(He+Je)/2*p(4*lt)+Je/2*p(6*lt))),At=F(vt*p(lt)*F((1+He*r(2*lt)+Je*r(4*lt))/(1+He+Je))),zt=lt*yr(1);function cr(Qr){return F(1+He*r(2*Qr)+Je*r(4*Qr))}function yr(Qr){var pa=Qr*lt;return(2*pa+(1+He-Je/2)*p(2*pa)+(He+Je)/2*p(4*pa)+Je/2*p(6*pa))/lt}function Er(Qr){return cr(Qr)*p(Qr)}var jr=function(Qr,pa){var Aa=lt*De(yr,zt*p(pa)/lt,pa/w);isNaN(Aa)&&(Aa=lt*m(pa));var za=Lt*cr(Aa);return[za*At*Qr/w*r(Aa),za/At*p(Aa)]};return jr.invert=function(Qr,pa){var Aa=De(Er,pa*At/Lt);return[Qr*w/(r(Aa)*Lt*At*cr(Aa)),L(lt*yr(Aa/lt)/zt)]},lt===0&&(Lt=F(vt/w),jr=function(Qr,pa){return[Qr*Lt,p(pa)/Lt]},jr.invert=function(Qr,pa){return[Qr/Lt,L(pa*Lt)]}),jr}function vs(){var He=1,Je=0,lt=45*f,vt=2,Lt=x.geoProjectionMutator(zs),At=Lt(He,Je,lt,vt);return At.a=function(zt){return arguments.length?Lt(He=+zt,Je,lt,vt):He},At.b=function(zt){return arguments.length?Lt(He,Je=+zt,lt,vt):Je},At.psiMax=function(zt){return arguments.length?Lt(He,Je,lt=+zt*f,vt):lt*y},At.ratio=function(zt){return arguments.length?Lt(He,Je,lt,vt=+zt):vt},At.scale(180.739)}function Ws(He,Je,lt,vt,Lt,At,zt,cr,yr,Er,jr){if(jr.nanEncountered)return NaN;var Qr,pa,Aa,za,ci,Vi,ji,nn,Sn,Kn;if(Qr=lt-Je,pa=He(Je+Qr*.25),Aa=He(lt-Qr*.25),isNaN(pa)){jr.nanEncountered=!0;return}if(isNaN(Aa)){jr.nanEncountered=!0;return}return za=Qr*(vt+4*pa+Lt)/12,ci=Qr*(Lt+4*Aa+At)/12,Vi=za+ci,Kn=(Vi-zt)/15,Er>yr?(jr.maxDepthCount++,Vi+Kn):Math.abs(Kn)>1;do yr[Vi]>Aa?ci=Vi:za=Vi,Vi=za+ci>>1;while(Vi>za);var ji=yr[Vi+1]-yr[Vi];return ji&&(ji=(Aa-yr[Vi+1])/ji),(Vi+1+ji)/zt}var Qr=2*jr(1)/w*At/lt,pa=function(Aa,za){var ci=jr(E(p(za))),Vi=vt(ci)*Aa;return ci/=Qr,[Vi,za>=0?ci:-ci]};return pa.invert=function(Aa,za){var ci;return za*=Qr,E(za)<1&&(ci=m(za)*L(Lt(E(za))*At)),[Aa/vt(E(za)),ci]},pa}function ko(){var He=0,Je=2.5,lt=1.183136,vt=x.geoProjectionMutator(xn),Lt=vt(He,Je,lt);return Lt.alpha=function(At){return arguments.length?vt(He=+At,Je,lt):He},Lt.k=function(At){return arguments.length?vt(He,Je=+At,lt):Je},Lt.gamma=function(At){return arguments.length?vt(He,Je,lt=+At):lt},Lt.scale(152.63)}function bo(He,Je){return E(He[0]-Je[0])=0;--yr)lt=He[1][yr],vt=lt[0][0],Lt=lt[0][1],At=lt[1][1],zt=lt[2][0],cr=lt[2][1],Je.push(Is([[zt-l,cr-l],[zt-l,At+l],[vt+l,At+l],[vt+l,Lt-l]],30));return{type:\"Polygon\",coordinates:[S.merge(Je)]}}function co(He,Je,lt){var vt,Lt;function At(yr,Er){for(var jr=Er<0?-1:1,Qr=Je[+(Er<0)],pa=0,Aa=Qr.length-1;paQr[pa][2][0];++pa);var za=He(yr-Qr[pa][1][0],Er);return za[0]+=He(Qr[pa][1][0],jr*Er>jr*Qr[pa][0][1]?Qr[pa][0][1]:Er)[0],za}lt?At.invert=lt(At):He.invert&&(At.invert=function(yr,Er){for(var jr=Lt[+(Er<0)],Qr=Je[+(Er<0)],pa=0,Aa=jr.length;paza&&(ci=Aa,Aa=za,za=ci),[[Qr,Aa],[pa,za]]})}),zt):Je.map(function(Er){return Er.map(function(jr){return[[jr[0][0]*y,jr[0][1]*y],[jr[1][0]*y,jr[1][1]*y],[jr[2][0]*y,jr[2][1]*y]]})})},Je!=null&&zt.lobes(Je),zt}var Vs=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function vl(){return co(Oe,Vs).scale(160.857)}var Ts=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function js(){return co(_s,Ts).scale(152.63)}var us=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function As(){return co(st,us).scale(169.529)}var Nl=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function su(){return co(st,Nl).scale(169.529).rotate([20,0])}var Tc=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function du(){return co(Ln,Tc,ze).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var Sf=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Uc(){return co(Qe,Sf).scale(152.63).rotate([-20,0])}function Fs(He,Je){return[3/u*He*F(w*w/3-Je*Je),Je]}Fs.invert=function(He,Je){return[u/3*He/F(w*w/3-Je*Je),Je]};function dc(){return x.geoProjection(Fs).scale(158.837)}function Hc(He){function Je(lt,vt){if(E(E(vt)-A)2)return null;lt/=2,vt/=2;var At=lt*lt,zt=vt*vt,cr=2*vt/(1+At+zt);return cr=h((1+cr)/(1-cr),1/He),[t(2*lt,1-At-zt)/He,L((cr-1)/(cr+1))]},Je}function lu(){var He=.5,Je=x.geoProjectionMutator(Hc),lt=Je(He);return lt.spacing=function(vt){return arguments.length?Je(He=+vt):He},lt.scale(124.75)}var Pl=w/b;function ic(He,Je){return[He*(1+F(r(Je)))/2,Je/(r(Je/2)*r(He/6))]}ic.invert=function(He,Je){var lt=E(He),vt=E(Je),Lt=l,At=A;vtl||E(Vi)>l)&&--Lt>0);return Lt&&[lt,vt]};function ml(){return x.geoProjection(nl).scale(139.98)}function xs(He,Je){return[p(He)/r(Je),T(Je)*r(He)]}xs.invert=function(He,Je){var lt=He*He,vt=Je*Je,Lt=vt+1,At=lt+Lt,zt=He?g*F((At-F(At*At-4*lt))/lt):1/F(Lt);return[L(He*zt),m(Je)*z(zt)]};function Xs(){return x.geoProjection(xs).scale(144.049).clipAngle(90-.001)}function nc(He){var Je=r(He),lt=T(M+He/2);function vt(Lt,At){var zt=At-He,cr=E(zt)=0;)jr=He[Er],Qr=jr[0]+cr*(Aa=Qr)-yr*pa,pa=jr[1]+cr*pa+yr*Aa;return Qr=cr*(Aa=Qr)-yr*pa,pa=cr*pa+yr*Aa,[Qr,pa]}return lt.invert=function(vt,Lt){var At=20,zt=vt,cr=Lt;do{for(var yr=Je,Er=He[yr],jr=Er[0],Qr=Er[1],pa=0,Aa=0,za;--yr>=0;)Er=He[yr],pa=jr+zt*(za=pa)-cr*Aa,Aa=Qr+zt*Aa+cr*za,jr=Er[0]+zt*(za=jr)-cr*Qr,Qr=Er[1]+zt*Qr+cr*za;pa=jr+zt*(za=pa)-cr*Aa,Aa=Qr+zt*Aa+cr*za,jr=zt*(za=jr)-cr*Qr-vt,Qr=zt*Qr+cr*za-Lt;var ci=pa*pa+Aa*Aa,Vi,ji;zt-=Vi=(jr*pa+Qr*Aa)/ci,cr-=ji=(Qr*pa-jr*Aa)/ci}while(E(Vi)+E(ji)>l*l&&--At>0);if(At){var nn=F(zt*zt+cr*cr),Sn=2*e(nn*.5),Kn=p(Sn);return[t(zt*Kn,nn*r(Sn)),nn?L(cr*Kn/nn):0]}},lt}var ns=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],bh=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Es=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],to=[[.9245,0],[0,0],[.01943,0]],Wc=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Vu(){return $l(ns,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function jl(){return $l(bh,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mf(){return $l(Es,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Ac(){return $l(to,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function nf(){return $l(Wc,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function $l(He,Je){var lt=x.geoProjection(xh(He)).rotate(Je).clipAngle(90),vt=x.geoRotation(Je),Lt=lt.center;return delete lt.rotate,lt.center=function(At){return arguments.length?Lt(vt(At)):vt.invert(Lt())},lt}var Jf=F(6),Of=F(7);function of(He,Je){var lt=L(7*p(Je)/(3*Jf));return[Jf*He*(2*r(2*lt/3)-1)/Of,9*p(lt/3)/Of]}of.invert=function(He,Je){var lt=3*L(Je*Of/9);return[He*Of/(Jf*(2*r(2*lt/3)-1)),L(p(lt)*3*Jf/7)]};function jc(){return x.geoProjection(of).scale(164.859)}function Bf(He,Je){for(var lt=(1+g)*p(Je),vt=Je,Lt=0,At;Lt<25&&(vt-=At=(p(vt/2)+p(vt)-lt)/(.5*r(vt/2)+r(vt)),!(E(At)_&&--vt>0);return At=lt*lt,zt=At*At,cr=At*zt,[He/(.84719-.13063*At+cr*cr*(-.04515+.05494*At-.02326*zt+.00331*cr)),lt]};function Xc(){return x.geoProjection(oc).scale(175.295)}function Ql(He,Je){return[He*(1+r(Je))/2,2*(Je-T(Je/2))]}Ql.invert=function(He,Je){for(var lt=Je/2,vt=0,Lt=1/0;vt<10&&E(Lt)>l;++vt){var At=r(Je/2);Je-=Lt=(Je-T(Je/2)-lt)/(1-.5/(At*At))}return[2*He/(1+r(Je)),Je]};function qc(){return x.geoProjection(Ql).scale(152.63)}var Sc=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function Zs(){return co(ce(1/0),Sc).rotate([20,0]).scale(152.63)}function kf(He,Je){var lt=p(Je),vt=r(Je),Lt=m(He);if(He===0||E(Je)===A)return[0,Je];if(Je===0)return[He,0];if(E(He)===A)return[He*vt,A*lt];var At=w/(2*He)-2*He/w,zt=2*Je/w,cr=(1-zt*zt)/(lt-zt),yr=At*At,Er=cr*cr,jr=1+yr/Er,Qr=1+Er/yr,pa=(At*lt/cr-At/2)/jr,Aa=(Er*lt/yr+cr/2)/Qr,za=pa*pa+vt*vt/jr,ci=Aa*Aa-(Er*lt*lt/yr+cr*lt-1)/Qr;return[A*(pa+F(za)*Lt),A*(Aa+F(ci<0?0:ci)*m(-Je*At)*Lt)]}kf.invert=function(He,Je){He/=A,Je/=A;var lt=He*He,vt=Je*Je,Lt=lt+vt,At=w*w;return[He?(Lt-1+F((1-Lt)*(1-Lt)+4*lt))/(2*He)*A:0,De(function(zt){return Lt*(w*p(zt)-2*zt)*w+4*zt*zt*(Je-p(zt))+2*w*zt-At*Je},0)]};function fh(){return x.geoProjection(kf).scale(127.267)}var Uf=1.0148,Zc=.23185,$f=-.14499,Cu=.02406,jf=Uf,yl=5*Zc,Lu=7*$f,Mc=9*Cu,ol=1.790857183;function vc(He,Je){var lt=Je*Je;return[He,Je*(Uf+lt*lt*(Zc+lt*($f+Cu*lt)))]}vc.invert=function(He,Je){Je>ol?Je=ol:Je<-ol&&(Je=-ol);var lt=Je,vt;do{var Lt=lt*lt;lt-=vt=(lt*(Uf+Lt*Lt*(Zc+Lt*($f+Cu*Lt)))-Je)/(jf+Lt*Lt*(yl+Lt*(Lu+Mc*Lt)))}while(E(vt)>l);return[He,lt]};function yu(){return x.geoProjection(vc).scale(139.319)}function Tu(He,Je){if(E(Je)l&&--Lt>0);return zt=T(vt),[(E(Je)=0;)if(vt=Je[cr],lt[0]===vt[0]&<[1]===vt[1]){if(At)return[At,lt];At=lt}}}function au(He){for(var Je=He.length,lt=[],vt=He[Je-1],Lt=0;Lt0?[-vt[0],0]:[180-vt[0],180])};var Je=mf.map(function(lt){return{face:lt,project:He(lt)}});return[-1,0,0,1,0,1,4,5].forEach(function(lt,vt){var Lt=Je[lt];Lt&&(Lt.children||(Lt.children=[])).push(Je[vt])}),sf(Je[0],function(lt,vt){return Je[lt<-w/2?vt<0?6:4:lt<0?vt<0?2:0:ltvt^Aa>vt&<<(pa-Er)*(vt-jr)/(Aa-jr)+Er&&(Lt=!Lt)}return Lt}function iu(He,Je){var lt=Je.stream,vt;if(!lt)throw new Error(\"invalid projection\");switch(He&&He.type){case\"Feature\":vt=Xu;break;case\"FeatureCollection\":vt=Vf;break;default:vt=gc;break}return vt(He,lt)}function Vf(He,Je){return{type:\"FeatureCollection\",features:He.features.map(function(lt){return Xu(lt,Je)})}}function Xu(He,Je){return{type:\"Feature\",id:He.id,properties:He.properties,geometry:gc(He.geometry,Je)}}function Cc(He,Je){return{type:\"GeometryCollection\",geometries:He.geometries.map(function(lt){return gc(lt,Je)})}}function gc(He,Je){if(!He)return null;if(He.type===\"GeometryCollection\")return Cc(He,Je);var lt;switch(He.type){case\"Point\":lt=Lc;break;case\"MultiPoint\":lt=Lc;break;case\"LineString\":lt=Jc;break;case\"MultiLineString\":lt=Jc;break;case\"Polygon\":lt=sc;break;case\"MultiPolygon\":lt=sc;break;case\"Sphere\":lt=sc;break;default:return null}return x.geoStream(He,Je(lt)),lt.result()}var ql=[],xu=[],Lc={point:function(He,Je){ql.push([He,Je])},result:function(){var He=ql.length?ql.length<2?{type:\"Point\",coordinates:ql[0]}:{type:\"MultiPoint\",coordinates:ql}:null;return ql=[],He}},Jc={lineStart:Wu,point:function(He,Je){ql.push([He,Je])},lineEnd:function(){ql.length&&(xu.push(ql),ql=[])},result:function(){var He=xu.length?xu.length<2?{type:\"LineString\",coordinates:xu[0]}:{type:\"MultiLineString\",coordinates:xu}:null;return xu=[],He}},sc={polygonStart:Wu,lineStart:Wu,point:function(He,Je){ql.push([He,Je])},lineEnd:function(){var He=ql.length;if(He){do ql.push(ql[0].slice());while(++He<4);xu.push(ql),ql=[]}},polygonEnd:Wu,result:function(){if(!xu.length)return null;var He=[],Je=[];return xu.forEach(function(lt){Kc(lt)?He.push([lt]):Je.push(lt)}),Je.forEach(function(lt){var vt=lt[0];He.some(function(Lt){if(Lf(Lt[0],vt))return Lt.push(lt),!0})||He.push([lt])}),xu=[],He.length?He.length>1?{type:\"MultiPolygon\",coordinates:He}:{type:\"Polygon\",coordinates:He[0]}:null}};function Pc(He){var Je=He(A,0)[0]-He(-A,0)[0];function lt(vt,Lt){var At=E(vt)0?vt-w:vt+w,Lt),cr=(zt[0]-zt[1])*g,yr=(zt[0]+zt[1])*g;if(At)return[cr,yr];var Er=Je*g,jr=cr>0^yr>0?-1:1;return[jr*cr-m(yr)*Er,jr*yr-m(cr)*Er]}return He.invert&&(lt.invert=function(vt,Lt){var At=(vt+Lt)*g,zt=(Lt-vt)*g,cr=E(At)<.5*Je&&E(zt)<.5*Je;if(!cr){var yr=Je*g,Er=At>0^zt>0?-1:1,jr=-Er*vt+(zt>0?1:-1)*yr,Qr=-Er*Lt+(At>0?1:-1)*yr;At=(-jr-Qr)*g,zt=(jr-Qr)*g}var pa=He.invert(At,zt);return cr||(pa[0]+=At>0?w:-w),pa}),x.geoProjection(lt).rotate([-90,-90,45]).clipAngle(180-.001)}function Qt(){return Pc(la).scale(176.423)}function br(){return Pc(On).scale(111.48)}function aa(He,Je){if(!(0<=(Je=+Je)&&Je<=20))throw new Error(\"invalid digits\");function lt(Er){var jr=Er.length,Qr=2,pa=new Array(jr);for(pa[0]=+Er[0].toFixed(Je),pa[1]=+Er[1].toFixed(Je);Qr2||Aa[0]!=jr[0]||Aa[1]!=jr[1])&&(Qr.push(Aa),jr=Aa)}return Qr.length===1&&Er.length>1&&Qr.push(lt(Er[Er.length-1])),Qr}function At(Er){return Er.map(Lt)}function zt(Er){if(Er==null)return Er;var jr;switch(Er.type){case\"GeometryCollection\":jr={type:\"GeometryCollection\",geometries:Er.geometries.map(zt)};break;case\"Point\":jr={type:\"Point\",coordinates:lt(Er.coordinates)};break;case\"MultiPoint\":jr={type:Er.type,coordinates:vt(Er.coordinates)};break;case\"LineString\":jr={type:Er.type,coordinates:Lt(Er.coordinates)};break;case\"MultiLineString\":case\"Polygon\":jr={type:Er.type,coordinates:At(Er.coordinates)};break;case\"MultiPolygon\":jr={type:\"MultiPolygon\",coordinates:Er.coordinates.map(At)};break;default:return Er}return Er.bbox!=null&&(jr.bbox=Er.bbox),jr}function cr(Er){var jr={type:\"Feature\",properties:Er.properties,geometry:zt(Er.geometry)};return Er.id!=null&&(jr.id=Er.id),Er.bbox!=null&&(jr.bbox=Er.bbox),jr}if(He!=null)switch(He.type){case\"Feature\":return cr(He);case\"FeatureCollection\":{var yr={type:\"FeatureCollection\",features:He.features.map(cr)};return He.bbox!=null&&(yr.bbox=He.bbox),yr}default:return zt(He)}return He}function $r(He){var Je=p(He);function lt(vt,Lt){var At=Je?T(vt*Je/2)/Je:vt/2;if(!Lt)return[2*At,-He];var zt=2*e(At*p(Lt)),cr=1/T(Lt);return[p(zt)*cr,Lt+(1-r(zt))*cr-He]}return lt.invert=function(vt,Lt){if(E(Lt+=He)l&&--cr>0);var pa=vt*(Er=T(zt)),Aa=T(E(Lt)0?A:-A)*(yr+Lt*(jr-zt)/2+Lt*Lt*(jr-2*yr+zt)/2)]}Ci.invert=function(He,Je){var lt=Je/A,vt=lt*90,Lt=s(18,E(vt/5)),At=i(0,a(Lt));do{var zt=li[At][1],cr=li[At+1][1],yr=li[s(19,At+2)][1],Er=yr-zt,jr=yr-2*cr+zt,Qr=2*(E(lt)-cr)/Er,pa=jr/Er,Aa=Qr*(1-pa*Qr*(1-2*pa*Qr));if(Aa>=0||At===1){vt=(Je>=0?5:-5)*(Aa+Lt);var za=50,ci;do Lt=s(18,E(vt)/5),At=a(Lt),Aa=Lt-At,zt=li[At][1],cr=li[At+1][1],yr=li[s(19,At+2)][1],vt-=(ci=(Je>=0?A:-A)*(cr+Aa*(yr-zt)/2+Aa*Aa*(yr-2*cr+zt)/2)-Je)*y;while(E(ci)>_&&--za>0);break}}while(--At>=0);var Vi=li[At][0],ji=li[At+1][0],nn=li[s(19,At+2)][0];return[He/(ji+Aa*(nn-Vi)/2+Aa*Aa*(nn-2*ji+Vi)/2),vt*f]};function Hi(){return x.geoProjection(Ci).scale(152.63)}function Qi(He){function Je(lt,vt){var Lt=r(vt),At=(He-1)/(He-Lt*r(lt));return[At*Lt*p(lt),At*p(vt)]}return Je.invert=function(lt,vt){var Lt=lt*lt+vt*vt,At=F(Lt),zt=(He-F(1-Lt*(He+1)/(He-1)))/((He-1)/At+At/(He-1));return[t(lt*zt,At*F(1-zt*zt)),At?L(vt*zt/At):0]},Je}function dn(He,Je){var lt=Qi(He);if(!Je)return lt;var vt=r(Je),Lt=p(Je);function At(zt,cr){var yr=lt(zt,cr),Er=yr[1],jr=Er*Lt/(He-1)+vt;return[yr[0]*vt/jr,Er/jr]}return At.invert=function(zt,cr){var yr=(He-1)/(He-1-cr*Lt);return lt.invert(yr*zt,yr*cr*vt)},At}function Pi(){var He=2,Je=0,lt=x.geoProjectionMutator(dn),vt=lt(He,Je);return vt.distance=function(Lt){return arguments.length?lt(He=+Lt,Je):He},vt.tilt=function(Lt){return arguments.length?lt(He,Je=Lt*f):Je*y},vt.scale(432.147).clipAngle(z(1/He)*y-1e-6)}var Di=1e-4,Ni=1e4,mi=-180,Mn=mi+Di,Qn=180,ao=Qn-Di,eo=-90,fo=eo+Di,An=90,un=An-Di;function yo(He){return He.length>0}function Ko(He){return Math.floor(He*Ni)/Ni}function Ss(He){return He===eo||He===An?[0,He]:[mi,Ko(He)]}function rl(He){var Je=He[0],lt=He[1],vt=!1;return Je<=Mn?(Je=mi,vt=!0):Je>=ao&&(Je=Qn,vt=!0),lt<=fo?(lt=eo,vt=!0):lt>=un&&(lt=An,vt=!0),vt?[Je,lt]:He}function Os(He){return He.map(rl)}function el(He,Je,lt){for(var vt=0,Lt=He.length;vt=ao||jr<=fo||jr>=un){At[zt]=rl(yr);for(var Qr=zt+1;QrMn&&Aafo&&za=cr)break;lt.push({index:-1,polygon:Je,ring:At=At.slice(Qr-1)}),At[0]=Ss(At[0][1]),zt=-1,cr=At.length}}}}function bs(He){var Je,lt=He.length,vt={},Lt={},At,zt,cr,yr,Er;for(Je=0;Je0?w-cr:cr)*y],Er=x.geoProjection(He(zt)).rotate(yr),jr=x.geoRotation(yr),Qr=Er.center;return delete Er.rotate,Er.center=function(pa){return arguments.length?Qr(jr(pa)):jr.invert(Qr())},Er.clipAngle(90)}function Rs(He){var Je=r(He);function lt(vt,Lt){var At=x.geoGnomonicRaw(vt,Lt);return At[0]*=Je,At}return lt.invert=function(vt,Lt){return x.geoGnomonicRaw.invert(vt/Je,Lt)},lt}function uu(){return Iu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Iu(He,Je){return Js(Rs,He,Je)}function Zu(He){if(!(He*=2))return x.geoAzimuthalEquidistantRaw;var Je=-He/2,lt=-Je,vt=He*He,Lt=T(lt),At=.5/p(lt);function zt(cr,yr){var Er=z(r(yr)*r(cr-Je)),jr=z(r(yr)*r(cr-lt)),Qr=yr<0?-1:1;return Er*=Er,jr*=jr,[(Er-jr)/(2*He),Qr*F(4*vt*jr-(vt-Er+jr)*(vt-Er+jr))/(2*He)]}return zt.invert=function(cr,yr){var Er=yr*yr,jr=r(F(Er+(pa=cr+Je)*pa)),Qr=r(F(Er+(pa=cr+lt)*pa)),pa,Aa;return[t(Aa=jr-Qr,pa=(jr+Qr)*Lt),(yr<0?-1:1)*z(F(pa*pa+Aa*Aa)*At)]},zt}function Ic(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(He,Je){return Js(Zu,He,Je)}function Rc(He,Je){if(E(Je)l&&--cr>0);return[m(He)*(F(Lt*Lt+4)+Lt)*w/4,A*zt]};function Yu(){return x.geoProjection(lc).scale(127.16)}function Ue(He,Je,lt,vt,Lt){function At(zt,cr){var yr=lt*p(vt*cr),Er=F(1-yr*yr),jr=F(2/(1+Er*r(zt*=Lt)));return[He*Er*jr*p(zt),Je*yr*jr]}return At.invert=function(zt,cr){var yr=zt/He,Er=cr/Je,jr=F(yr*yr+Er*Er),Qr=2*L(jr/2);return[t(zt*T(Qr),He*jr)/Lt,jr&&L(cr*p(Qr)/(Je*lt*jr))/vt]},At}function I(He,Je,lt,vt){var Lt=w/3;He=i(He,l),Je=i(Je,l),He=s(He,A),Je=s(Je,w-l),lt=i(lt,0),lt=s(lt,100-l),vt=i(vt,l);var At=lt/100+1,zt=vt/100,cr=z(At*r(Lt))/Lt,yr=p(He)/p(cr*A),Er=Je/w,jr=F(zt*p(He/2)/p(Je/2)),Qr=jr/F(Er*yr*cr),pa=1/(jr*F(Er*yr*cr));return Ue(Qr,pa,yr,cr,Er)}function ie(){var He=65*f,Je=60*f,lt=20,vt=200,Lt=x.geoProjectionMutator(I),At=Lt(He,Je,lt,vt);return At.poleline=function(zt){return arguments.length?Lt(He=+zt*f,Je,lt,vt):He*y},At.parallels=function(zt){return arguments.length?Lt(He,Je=+zt*f,lt,vt):Je*y},At.inflation=function(zt){return arguments.length?Lt(He,Je,lt=+zt,vt):lt},At.ratio=function(zt){return arguments.length?Lt(He,Je,lt,vt=+zt):vt},At.scale(163.775)}function we(){return ie().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var Se=4*w+3*F(3),Be=2*F(2*w*F(3)/Se),dt=rt(Be*F(3)/w,Be,Se/6);function St(){return x.geoProjection(dt).scale(176.84)}function Nt(He,Je){return[He*F(1-3*Je*Je/(w*w)),Je]}Nt.invert=function(He,Je){return[He/F(1-3*Je*Je/(w*w)),Je]};function $t(){return x.geoProjection(Nt).scale(152.63)}function Tr(He,Je){var lt=r(Je),vt=r(He)*lt,Lt=1-vt,At=r(He=t(p(He)*lt,-p(Je))),zt=p(He);return lt=F(1-vt*vt),[zt*lt-At*Lt,-At*lt-zt*Lt]}Tr.invert=function(He,Je){var lt=(He*He+Je*Je)/-2,vt=F(-lt*(2+lt)),Lt=Je*lt+He*vt,At=He*lt-Je*vt,zt=F(At*At+Lt*Lt);return[t(vt*Lt,zt*(1+lt)),zt?-L(vt*At/zt):0]};function Ar(){return x.geoProjection(Tr).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function Kr(He,Je){var lt=se(He,Je);return[(lt[0]+He/A)/2,(lt[1]+Je)/2]}Kr.invert=function(He,Je){var lt=He,vt=Je,Lt=25;do{var At=r(vt),zt=p(vt),cr=p(2*vt),yr=zt*zt,Er=At*At,jr=p(lt),Qr=r(lt/2),pa=p(lt/2),Aa=pa*pa,za=1-Er*Qr*Qr,ci=za?z(At*Qr)*F(Vi=1/za):Vi=0,Vi,ji=.5*(2*ci*At*pa+lt/A)-He,nn=.5*(ci*zt+vt)-Je,Sn=.5*Vi*(Er*Aa+ci*At*Qr*yr)+.5/A,Kn=Vi*(jr*cr/4-ci*zt*pa),Bn=.125*Vi*(cr*pa-ci*zt*Er*jr),wo=.5*Vi*(yr*Qr+ci*Aa*At)+.5,is=Kn*Bn-wo*Sn,Ao=(nn*Kn-ji*wo)/is,Zo=(ji*Bn-nn*Sn)/is;lt-=Ao,vt-=Zo}while((E(Ao)>l||E(Zo)>l)&&--Lt>0);return[lt,vt]};function na(){return x.geoProjection(Kr).scale(158.837)}v.geoNaturalEarth=x.geoNaturalEarth1,v.geoNaturalEarthRaw=x.geoNaturalEarth1Raw,v.geoAiry=$,v.geoAiryRaw=X,v.geoAitoff=le,v.geoAitoffRaw=se,v.geoArmadillo=V,v.geoArmadilloRaw=fe,v.geoAugust=ee,v.geoAugustRaw=Y,v.geoBaker=j,v.geoBakerRaw=ae,v.geoBerghaus=re,v.geoBerghausRaw=Q,v.geoBertin1953=at,v.geoBertin1953Raw=Ze,v.geoBoggs=tt,v.geoBoggsRaw=Oe,v.geoBonne=qt,v.geoBonneRaw=It,v.geoBottomley=kr,v.geoBottomleyRaw=Wt,v.geoBromley=qr,v.geoBromleyRaw=mr,v.geoChamberlin=Ie,v.geoChamberlinRaw=Ne,v.geoChamberlinAfrica=Te,v.geoCollignon=Ce,v.geoCollignonRaw=Ve,v.geoCraig=Pe,v.geoCraigRaw=Ee,v.geoCraster=_t,v.geoCrasterRaw=ct,v.geoCylindricalEqualArea=ir,v.geoCylindricalEqualAreaRaw=Ct,v.geoCylindricalStereographic=er,v.geoCylindricalStereographicRaw=rr,v.geoEckert1=fa,v.geoEckert1Raw=Lr,v.geoEckert2=Ia,v.geoEckert2Raw=Da,v.geoEckert3=Wa,v.geoEckert3Raw=qa,v.geoEckert4=hi,v.geoEckert4Raw=Ca,v.geoEckert5=Kt,v.geoEckert5Raw=wi,v.geoEckert6=Yt,v.geoEckert6Raw=Ft,v.geoEisenlohr=ta,v.geoEisenlohrRaw=Fr,v.geoFahey=Ba,v.geoFaheyRaw=ca,v.geoFoucaut=Za,v.geoFoucautRaw=$a,v.geoFoucautSinusoidal=pi,v.geoFoucautSinusoidalRaw=ri,v.geoGilbert=on,v.geoGingery=Br,v.geoGingeryRaw=hn,v.geoGinzburg4=Ir,v.geoGinzburg4Raw=xr,v.geoGinzburg5=Hr,v.geoGinzburg5Raw=Ur,v.geoGinzburg6=Xt,v.geoGinzburg6Raw=xt,v.geoGinzburg8=Or,v.geoGinzburg8Raw=vr,v.geoGinzburg9=Pa,v.geoGinzburg9Raw=ba,v.geoGringorten=ki,v.geoGringortenRaw=la,v.geoGuyou=lo,v.geoGuyouRaw=On,v.geoHammer=Ae,v.geoHammerRaw=ce,v.geoHammerRetroazimuthal=Oo,v.geoHammerRetroazimuthalRaw=Wo,v.geoHealpix=ls,v.geoHealpixRaw=Ns,v.geoHill=Ks,v.geoHillRaw=Cs,v.geoHomolosine=Gn,v.geoHomolosineRaw=_s,v.geoHufnagel=vs,v.geoHufnagelRaw=zs,v.geoHyperelliptical=ko,v.geoHyperellipticalRaw=xn,v.geoInterrupt=co,v.geoInterruptedBoggs=vl,v.geoInterruptedHomolosine=js,v.geoInterruptedMollweide=As,v.geoInterruptedMollweideHemispheres=su,v.geoInterruptedSinuMollweide=du,v.geoInterruptedSinusoidal=Uc,v.geoKavrayskiy7=dc,v.geoKavrayskiy7Raw=Fs,v.geoLagrange=lu,v.geoLagrangeRaw=Hc,v.geoLarrivee=Ou,v.geoLarriveeRaw=ic,v.geoLaskowski=ml,v.geoLaskowskiRaw=nl,v.geoLittrow=Xs,v.geoLittrowRaw=xs,v.geoLoximuthal=Ul,v.geoLoximuthalRaw=nc,v.geoMiller=fl,v.geoMillerRaw=qu,v.geoModifiedStereographic=$l,v.geoModifiedStereographicRaw=xh,v.geoModifiedStereographicAlaska=Vu,v.geoModifiedStereographicGs48=jl,v.geoModifiedStereographicGs50=Mf,v.geoModifiedStereographicMiller=Ac,v.geoModifiedStereographicLee=nf,v.geoMollweide=Me,v.geoMollweideRaw=st,v.geoMtFlatPolarParabolic=jc,v.geoMtFlatPolarParabolicRaw=of,v.geoMtFlatPolarQuartic=Nf,v.geoMtFlatPolarQuarticRaw=Bf,v.geoMtFlatPolarSinusoidal=Ef,v.geoMtFlatPolarSinusoidalRaw=Gu,v.geoNaturalEarth2=Xc,v.geoNaturalEarth2Raw=oc,v.geoNellHammer=qc,v.geoNellHammerRaw=Ql,v.geoInterruptedQuarticAuthalic=Zs,v.geoNicolosi=fh,v.geoNicolosiRaw=kf,v.geoPatterson=yu,v.geoPattersonRaw=vc,v.geoPolyconic=El,v.geoPolyconicRaw=Tu,v.geoPolyhedral=sf,v.geoPolyhedralButterfly=sl,v.geoPolyhedralCollignon=Cf,v.geoPolyhedralWaterman=hl,v.geoProject=iu,v.geoGringortenQuincuncial=Qt,v.geoPeirceQuincuncial=br,v.geoPierceQuincuncial=br,v.geoQuantize=aa,v.geoQuincuncial=Pc,v.geoRectangularPolyconic=ka,v.geoRectangularPolyconicRaw=$r,v.geoRobinson=Hi,v.geoRobinsonRaw=Ci,v.geoSatellite=Pi,v.geoSatelliteRaw=dn,v.geoSinuMollweide=Us,v.geoSinuMollweideRaw=Ln,v.geoSinusoidal=Pt,v.geoSinusoidalRaw=Qe,v.geoStitch=ll,v.geoTimes=Lo,v.geoTimesRaw=Un,v.geoTwoPointAzimuthal=Iu,v.geoTwoPointAzimuthalRaw=Rs,v.geoTwoPointAzimuthalUsa=uu,v.geoTwoPointEquidistant=bu,v.geoTwoPointEquidistantRaw=Zu,v.geoTwoPointEquidistantUsa=Ic,v.geoVanDerGrinten=Au,v.geoVanDerGrintenRaw=Rc,v.geoVanDerGrinten2=ho,v.geoVanDerGrinten2Raw=yc,v.geoVanDerGrinten3=Dc,v.geoVanDerGrinten3Raw=Ro,v.geoVanDerGrinten4=Yu,v.geoVanDerGrinten4Raw=lc,v.geoWagner=ie,v.geoWagner7=we,v.geoWagnerRaw=I,v.geoWagner4=St,v.geoWagner4Raw=dt,v.geoWagner6=$t,v.geoWagner6Raw=Nt,v.geoWiechel=Ar,v.geoWiechelRaw=Tr,v.geoWinkel3=na,v.geoWinkel3Raw=Kr,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),jU=Xe({\"src/plots/geo/zoom.js\"(Z,G){\"use strict\";var v=Hn(),x=sa(),S=so(),E=Math.PI/180,e=180/Math.PI,t={cursor:\"pointer\"},r={cursor:\"auto\"};function o(y,f){var R=y.projection,L;return f._isScoped?L=i:f._isClipped?L=h:L=s,L(y,R)}G.exports=o;function a(y,f){return v.behavior.zoom().translate(f.translate()).scale(f.scale())}function n(y,f,R){var L=y.id,z=y.graphDiv,F=z.layout,N=F[L],O=z._fullLayout,P=O[L],U={},B={};function X($,se){U[L+\".\"+$]=x.nestedProperty(N,$).get(),S.call(\"_storeDirectGUIEdit\",F,O._preGUI,U);var le=x.nestedProperty(P,$);le.get()!==se&&(le.set(se),x.nestedProperty(N,$).set(se),B[L+\".\"+$]=se)}R(X),X(\"projection.scale\",f.scale()/y.fitScale),X(\"fitbounds\",!1),z.emit(\"plotly_relayout\",B)}function i(y,f){var R=a(y,f);function L(){v.select(this).style(t)}function z(){f.scale(v.event.scale).translate(v.event.translate),y.render(!0);var O=f.invert(y.midPt);y.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":f.scale()/y.fitScale,\"geo.center.lon\":O[0],\"geo.center.lat\":O[1]})}function F(O){var P=f.invert(y.midPt);O(\"center.lon\",P[0]),O(\"center.lat\",P[1])}function N(){v.select(this).style(r),n(y,f,F)}return R.on(\"zoomstart\",L).on(\"zoom\",z).on(\"zoomend\",N),R}function s(y,f){var R=a(y,f),L=2,z,F,N,O,P,U,B,X,$;function se(q){return f.invert(q)}function le(q){var oe=se(q);if(!oe)return!0;var ae=f(oe);return Math.abs(ae[0]-q[0])>L||Math.abs(ae[1]-q[1])>L}function fe(){v.select(this).style(t),z=v.mouse(this),F=f.rotate(),N=f.translate(),O=F,P=se(z)}function V(){if(U=v.mouse(this),le(z)){R.scale(f.scale()),R.translate(f.translate());return}f.scale(v.event.scale),f.translate([N[0],v.event.translate[1]]),P?se(U)&&(X=se(U),B=[O[0]+(X[0]-P[0]),F[1],F[2]],f.rotate(B),O=B):(z=U,P=se(z)),$=!0,y.render(!0);var q=f.rotate(),oe=f.invert(y.midPt);y.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":f.scale()/y.fitScale,\"geo.center.lon\":oe[0],\"geo.center.lat\":oe[1],\"geo.projection.rotation.lon\":-q[0]})}function Y(){v.select(this).style(r),$&&n(y,f,ee)}function ee(q){var oe=f.rotate(),ae=f.invert(y.midPt);q(\"projection.rotation.lon\",-oe[0]),q(\"center.lon\",ae[0]),q(\"center.lat\",ae[1])}return R.on(\"zoomstart\",fe).on(\"zoom\",V).on(\"zoomend\",Y),R}function h(y,f){var R={r:f.rotate(),k:f.scale()},L=a(y,f),z=u(L,\"zoomstart\",\"zoom\",\"zoomend\"),F=0,N=L.on,O;L.on(\"zoomstart\",function(){v.select(this).style(t);var $=v.mouse(this),se=f.rotate(),le=se,fe=f.translate(),V=m(se);O=c(f,$),N.call(L,\"zoom\",function(){var Y=v.mouse(this);if(f.scale(R.k=v.event.scale),!O)$=Y,O=c(f,$);else if(c(f,Y)){f.rotate(se).translate(fe);var ee=c(f,Y),q=T(O,ee),oe=M(p(V,q)),ae=R.r=l(oe,O,le);(!isFinite(ae[0])||!isFinite(ae[1])||!isFinite(ae[2]))&&(ae=le),f.rotate(ae),le=ae}U(z.of(this,arguments))}),P(z.of(this,arguments))}).on(\"zoomend\",function(){v.select(this).style(r),N.call(L,\"zoom\",null),B(z.of(this,arguments)),n(y,f,X)}).on(\"zoom.redraw\",function(){y.render(!0);var $=f.rotate();y.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":f.scale()/y.fitScale,\"geo.projection.rotation.lon\":-$[0],\"geo.projection.rotation.lat\":-$[1]})});function P($){F++||$({type:\"zoomstart\"})}function U($){$({type:\"zoom\"})}function B($){--F||$({type:\"zoomend\"})}function X($){var se=f.rotate();$(\"projection.rotation.lon\",-se[0]),$(\"projection.rotation.lat\",-se[1])}return v.rebind(L,z,\"on\")}function c(y,f){var R=y.invert(f);return R&&isFinite(R[0])&&isFinite(R[1])&&g(R)}function m(y){var f=.5*y[0]*E,R=.5*y[1]*E,L=.5*y[2]*E,z=Math.sin(f),F=Math.cos(f),N=Math.sin(R),O=Math.cos(R),P=Math.sin(L),U=Math.cos(L);return[F*O*U+z*N*P,z*O*U-F*N*P,F*N*U+z*O*P,F*O*P-z*N*U]}function p(y,f){var R=y[0],L=y[1],z=y[2],F=y[3],N=f[0],O=f[1],P=f[2],U=f[3];return[R*N-L*O-z*P-F*U,R*O+L*N+z*U-F*P,R*P-L*U+z*N+F*O,R*U+L*P-z*O+F*N]}function T(y,f){if(!(!y||!f)){var R=d(y,f),L=Math.sqrt(b(R,R)),z=.5*Math.acos(Math.max(-1,Math.min(1,b(y,f)))),F=Math.sin(z)/L;return L&&[Math.cos(z),R[2]*F,-R[1]*F,R[0]*F]}}function l(y,f,R){var L=A(f,2,y[0]);L=A(L,1,y[1]),L=A(L,0,y[2]-R[2]);var z=f[0],F=f[1],N=f[2],O=L[0],P=L[1],U=L[2],B=Math.atan2(F,z)*e,X=Math.sqrt(z*z+F*F),$,se;Math.abs(P)>X?(se=(P>0?90:-90)-B,$=0):(se=Math.asin(P/X)*e-B,$=Math.sqrt(X*X-P*P));var le=180-se-2*B,fe=(Math.atan2(U,O)-Math.atan2(N,$))*e,V=(Math.atan2(U,O)-Math.atan2(N,-$))*e,Y=_(R[0],R[1],se,fe),ee=_(R[0],R[1],le,V);return Y<=ee?[se,fe,R[2]]:[le,V,R[2]]}function _(y,f,R,L){var z=w(R-y),F=w(L-f);return Math.sqrt(z*z+F*F)}function w(y){return(y%360+540)%360-180}function A(y,f,R){var L=R*E,z=y.slice(),F=f===0?1:0,N=f===2?1:2,O=Math.cos(L),P=Math.sin(L);return z[F]=y[F]*O-y[N]*P,z[N]=y[N]*O+y[F]*P,z}function M(y){return[Math.atan2(2*(y[0]*y[1]+y[2]*y[3]),1-2*(y[1]*y[1]+y[2]*y[2]))*e,Math.asin(Math.max(-1,Math.min(1,2*(y[0]*y[2]-y[3]*y[1]))))*e,Math.atan2(2*(y[0]*y[3]+y[1]*y[2]),1-2*(y[2]*y[2]+y[3]*y[3]))*e]}function g(y){var f=y[0]*E,R=y[1]*E,L=Math.cos(R);return[L*Math.cos(f),L*Math.sin(f),Math.sin(R)]}function b(y,f){for(var R=0,L=0,z=y.length;L0&&P._module.calcGeoJSON(O,L)}if(!z){var U=this.updateProjection(R,L);if(U)return;(!this.viewInitial||this.scope!==F.scope)&&this.saveViewInitial(F)}this.scope=F.scope,this.updateBaseLayers(L,F),this.updateDims(L,F),this.updateFx(L,F),s.generalUpdatePerTraceModule(this.graphDiv,this,R,F);var B=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=B.selectAll(\".point\"),this.dataPoints.text=B.selectAll(\"text\"),this.dataPaths.line=B.selectAll(\".js-line\");var X=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=X.selectAll(\"path\"),this._render()},d.updateProjection=function(R,L){var z=this.graphDiv,F=L[this.id],N=L._size,O=F.domain,P=F.projection,U=F.lonaxis,B=F.lataxis,X=U._ax,$=B._ax,se=this.projection=u(F),le=[[N.l+N.w*O.x[0],N.t+N.h*(1-O.y[1])],[N.l+N.w*O.x[1],N.t+N.h*(1-O.y[0])]],fe=F.center||{},V=P.rotation||{},Y=U.range||[],ee=B.range||[];if(F.fitbounds){X._length=le[1][0]-le[0][0],$._length=le[1][1]-le[0][1],X.range=c(z,X),$.range=c(z,$);var q=(X.range[0]+X.range[1])/2,oe=($.range[0]+$.range[1])/2;if(F._isScoped)fe={lon:q,lat:oe};else if(F._isClipped){fe={lon:q,lat:oe},V={lon:q,lat:oe,roll:V.roll};var ae=P.type,j=w.lonaxisSpan[ae]/2||180,Q=w.lataxisSpan[ae]/2||90;Y=[q-j,q+j],ee=[oe-Q,oe+Q]}else fe={lon:q,lat:oe},V={lon:q,lat:V.lat,roll:V.roll}}se.center([fe.lon-V.lon,fe.lat-V.lat]).rotate([-V.lon,-V.lat,V.roll]).parallels(P.parallels);var re=f(Y,ee);se.fitExtent(le,re);var ce=this.bounds=se.getBounds(re),be=this.fitScale=se.scale(),Ae=se.translate();if(F.fitbounds){var De=se.getBounds(f(X.range,$.range)),ze=Math.min((ce[1][0]-ce[0][0])/(De[1][0]-De[0][0]),(ce[1][1]-ce[0][1])/(De[1][1]-De[0][1]));isFinite(ze)?se.scale(ze*be):r.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else se.scale(P.scale*be);var Ze=this.midPt=[(ce[0][0]+ce[1][0])/2,(ce[0][1]+ce[1][1])/2];if(se.translate([Ae[0]+(Ze[0]-Ae[0]),Ae[1]+(Ze[1]-Ae[1])]).clipExtent(ce),F._isAlbersUsa){var at=se([fe.lon,fe.lat]),nt=se.translate();se.translate([nt[0]-(at[0]-nt[0]),nt[1]-(at[1]-nt[1])])}},d.updateBaseLayers=function(R,L){var z=this,F=z.topojson,N=z.layers,O=z.basePaths;function P(le){return le===\"lonaxis\"||le===\"lataxis\"}function U(le){return!!w.lineLayers[le]}function B(le){return!!w.fillLayers[le]}var X=this.hasChoropleth?w.layersForChoropleth:w.layers,$=X.filter(function(le){return U(le)||B(le)?L[\"show\"+le]:P(le)?L[le].showgrid:!0}),se=z.framework.selectAll(\".layer\").data($,String);se.exit().each(function(le){delete N[le],delete O[le],v.select(this).remove()}),se.enter().append(\"g\").attr(\"class\",function(le){return\"layer \"+le}).each(function(le){var fe=N[le]=v.select(this);le===\"bg\"?z.bgRect=fe.append(\"rect\").style(\"pointer-events\",\"all\"):P(le)?O[le]=fe.append(\"path\").style(\"fill\",\"none\"):le===\"backplot\"?fe.append(\"g\").classed(\"choroplethlayer\",!0):le===\"frontplot\"?fe.append(\"g\").classed(\"scatterlayer\",!0):U(le)?O[le]=fe.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):B(le)&&(O[le]=fe.append(\"path\").style(\"stroke\",\"none\"))}),se.order(),se.each(function(le){var fe=O[le],V=w.layerNameToAdjective[le];le===\"frame\"?fe.datum(w.sphereSVG):U(le)||B(le)?fe.datum(g(F,F.objects[le])):P(le)&&fe.datum(y(le,L,R)).call(a.stroke,L[le].gridcolor).call(n.dashLine,L[le].griddash,L[le].gridwidth),U(le)?fe.call(a.stroke,L[V+\"color\"]).call(n.dashLine,\"\",L[V+\"width\"]):B(le)&&fe.call(a.fill,L[V+\"color\"])})},d.updateDims=function(R,L){var z=this.bounds,F=(L.framewidth||0)/2,N=z[0][0]-F,O=z[0][1]-F,P=z[1][0]-N+F,U=z[1][1]-O+F;n.setRect(this.clipRect,N,O,P,U),this.bgRect.call(n.setRect,N,O,P,U).call(a.fill,L.bgcolor),this.xaxis._offset=N,this.xaxis._length=P,this.yaxis._offset=O,this.yaxis._length=U},d.updateFx=function(R,L){var z=this,F=z.graphDiv,N=z.bgRect,O=R.dragmode,P=R.clickmode;if(z.isStatic)return;function U(){var se=z.viewInitial,le={};for(var fe in se)le[z.id+\".\"+fe]=se[fe];t.call(\"_guiRelayout\",F,le),F.emit(\"plotly_doubleclick\",null)}function B(se){return z.projection.invert([se[0]+z.xaxis._offset,se[1]+z.yaxis._offset])}var X=function(se,le){if(le.isRect){var fe=se.range={};fe[z.id]=[B([le.xmin,le.ymin]),B([le.xmax,le.ymax])]}else{var V=se.lassoPoints={};V[z.id]=le.map(B)}},$={element:z.bgRect.node(),gd:F,plotinfo:{id:z.id,xaxis:z.xaxis,yaxis:z.yaxis,fillRangeItems:X},xaxes:[z.xaxis],yaxes:[z.yaxis],subplot:z.id,clickFn:function(se){se===2&&T(F)}};O===\"pan\"?(N.node().onmousedown=null,N.call(_(z,L)),N.on(\"dblclick.zoom\",U),F._context._scrollZoom.geo||N.on(\"wheel.zoom\",null)):(O===\"select\"||O===\"lasso\")&&(N.on(\".zoom\",null),$.prepFn=function(se,le,fe){p(se,le,fe,$,O)},m.init($)),N.on(\"mousemove\",function(){var se=z.projection.invert(r.getPositionFromD3Event());if(!se)return m.unhover(F,v.event);z.xaxis.p2c=function(){return se[0]},z.yaxis.p2c=function(){return se[1]},i.hover(F,v.event,z.id)}),N.on(\"mouseout\",function(){F._dragging||m.unhover(F,v.event)}),N.on(\"click\",function(){O!==\"select\"&&O!==\"lasso\"&&(P.indexOf(\"select\")>-1&&l(v.event,F,[z.xaxis],[z.yaxis],z.id,$),P.indexOf(\"event\")>-1&&i.click(F,v.event))})},d.makeFramework=function(){var R=this,L=R.graphDiv,z=L._fullLayout,F=\"clip\"+z._uid+R.id;R.clipDef=z._clips.append(\"clipPath\").attr(\"id\",F),R.clipRect=R.clipDef.append(\"rect\"),R.framework=v.select(R.container).append(\"g\").attr(\"class\",\"geo \"+R.id).call(n.setClipUrl,F,L),R.project=function(N){var O=R.projection(N);return O?[O[0]-R.xaxis._offset,O[1]-R.yaxis._offset]:[null,null]},R.xaxis={_id:\"x\",c2p:function(N){return R.project(N)[0]}},R.yaxis={_id:\"y\",c2p:function(N){return R.project(N)[1]}},R.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},h.setConvert(R.mockAxis,z)},d.saveViewInitial=function(R){var L=R.center||{},z=R.projection,F=z.rotation||{};this.viewInitial={fitbounds:R.fitbounds,\"projection.scale\":z.scale};var N;R._isScoped?N={\"center.lon\":L.lon,\"center.lat\":L.lat}:R._isClipped?N={\"projection.rotation.lon\":F.lon,\"projection.rotation.lat\":F.lat}:N={\"center.lon\":L.lon,\"center.lat\":L.lat,\"projection.rotation.lon\":F.lon},r.extendFlat(this.viewInitial,N)},d.render=function(R){this._hasMarkerAngles&&R?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},d._render=function(){var R=this.projection,L=R.getPath(),z;function F(O){var P=R(O.lonlat);return P?o(P[0],P[1]):null}function N(O){return R.isLonLatOverEdges(O.lonlat)?\"none\":null}for(z in this.basePaths)this.basePaths[z].attr(\"d\",L);for(z in this.dataPaths)this.dataPaths[z].attr(\"d\",function(O){return L(O.geojson)});for(z in this.dataPoints)this.dataPoints[z].attr(\"display\",N).attr(\"transform\",F)};function u(R){var L=R.projection,z=L.type,F=w.projNames[z];F=\"geo\"+r.titleCase(F);for(var N=x[F]||e[F],O=N(),P=R._isSatellite?Math.acos(1/L.distance)*180/Math.PI:R._isClipped?w.lonaxisSpan[z]/2:null,U=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],B=function(se){return se?O:[]},X=0;XV}else return!1},O.getPath=function(){return S().projection(O)},O.getBounds=function(se){return O.getPath().bounds(se)},O.precision(w.precision),R._isSatellite&&O.tilt(L.tilt).distance(L.distance),P&&O.clipAngle(P-w.clipPad),O}function y(R,L,z){var F=1e-6,N=2.5,O=L[R],P=w.scopeDefaults[L.scope],U,B,X;R===\"lonaxis\"?(U=P.lonaxisRange,B=P.lataxisRange,X=function(oe,ae){return[oe,ae]}):R===\"lataxis\"&&(U=P.lataxisRange,B=P.lonaxisRange,X=function(oe,ae){return[ae,oe]});var $={type:\"linear\",range:[U[0],U[1]-F],tick0:O.tick0,dtick:O.dtick};h.setConvert($,z);var se=h.calcTicks($);!L.isScoped&&R===\"lonaxis\"&&se.pop();for(var le=se.length,fe=new Array(le),V=0;V0&&N<0&&(N+=360);var U=(N-F)/4;return{type:\"Polygon\",coordinates:[[[F,O],[F,P],[F+U,P],[F+2*U,P],[F+3*U,P],[N,P],[N,O],[N-U,O],[N-2*U,O],[N-3*U,O],[F,O]]]}}}}),FE=Xe({\"src/plots/geo/layout_attributes.js\"(Z,G){\"use strict\";var v=sh(),x=wc().attributes,S=Gh().dash,E=yx(),e=pc().overrideAll,t=Jm(),r={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:v.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:S},o=G.exports=e({domain:x({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:t(E.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:t(E.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:v.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:E.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:E.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:E.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:E.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:v.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:v.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:v.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:v.background},lonaxis:r,lataxis:r},\"plot\",\"from-root\");o.uirevision={valType:\"any\",editType:\"none\"}}}),VU=Xe({\"src/plots/geo/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=o0(),S=Hh().getSubplotData,E=yx(),e=FE(),t=E.axesNames;G.exports=function(a,n,i){x(a,n,i,{type:\"geo\",attributes:e,handleDefaults:r,fullData:i,partition:\"y\"})};function r(o,a,n,i){var s=S(i.fullData,\"geo\",i.id),h=s.map(function(ee){return ee.index}),c=n(\"resolution\"),m=n(\"scope\"),p=E.scopeDefaults[m],T=n(\"projection.type\",p.projType),l=a._isAlbersUsa=T===\"albers usa\";l&&(m=a.scope=\"usa\");var _=a._isScoped=m!==\"world\",w=a._isSatellite=T===\"satellite\",A=a._isConic=T.indexOf(\"conic\")!==-1||T===\"albers\",M=a._isClipped=!!E.lonaxisSpan[T];if(o.visible===!1){var g=v.extendDeep({},a._template);g.showcoastlines=!1,g.showcountries=!1,g.showframe=!1,g.showlakes=!1,g.showland=!1,g.showocean=!1,g.showrivers=!1,g.showsubunits=!1,g.lonaxis&&(g.lonaxis.showgrid=!1),g.lataxis&&(g.lataxis.showgrid=!1),a._template=g}for(var b=n(\"visible\"),d,u=0;u0&&B<0&&(B+=360);var X=(U+B)/2,$;if(!l){var se=_?p.projRotate:[X,0,0];$=n(\"projection.rotation.lon\",se[0]),n(\"projection.rotation.lat\",se[1]),n(\"projection.rotation.roll\",se[2]),d=n(\"showcoastlines\",!_&&b),d&&(n(\"coastlinecolor\"),n(\"coastlinewidth\")),d=n(\"showocean\",b?void 0:!1),d&&n(\"oceancolor\")}var le,fe;if(l?(le=-96.6,fe=38.7):(le=_?X:$,fe=(P[0]+P[1])/2),n(\"center.lon\",le),n(\"center.lat\",fe),w&&(n(\"projection.tilt\"),n(\"projection.distance\")),A){var V=p.projParallels||[0,60];n(\"projection.parallels\",V)}n(\"projection.scale\"),d=n(\"showland\",b?void 0:!1),d&&n(\"landcolor\"),d=n(\"showlakes\",b?void 0:!1),d&&n(\"lakecolor\"),d=n(\"showrivers\",b?void 0:!1),d&&(n(\"rivercolor\"),n(\"riverwidth\")),d=n(\"showcountries\",_&&m!==\"usa\"&&b),d&&(n(\"countrycolor\"),n(\"countrywidth\")),(m===\"usa\"||m===\"north america\"&&c===50)&&(n(\"showsubunits\",b),n(\"subunitcolor\"),n(\"subunitwidth\")),_||(d=n(\"showframe\",b),d&&(n(\"framecolor\"),n(\"framewidth\"))),n(\"bgcolor\");var Y=n(\"fitbounds\");Y&&(delete a.projection.scale,_?(delete a.center.lon,delete a.center.lat):M?(delete a.center.lon,delete a.center.lat,delete a.projection.rotation.lon,delete a.projection.rotation.lat,delete a.lonaxis.range,delete a.lataxis.range):(delete a.center.lon,delete a.center.lat,delete a.projection.rotation.lon))}}}),OE=Xe({\"src/plots/geo/index.js\"(Z,G){\"use strict\";var v=Hh().getSubplotCalcData,x=sa().counterRegex,S=qU(),E=\"geo\",e=x(E),t={};t[E]={valType:\"subplotid\",dflt:E,editType:\"calc\"};function r(n){for(var i=n._fullLayout,s=n.calcdata,h=i._subplots[E],c=0;c\")}}}}),fT=Xe({\"src/traces/choropleth/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S,E,e,t){x.location=S.location,x.z=S.z;var r=e[t];return r.fIn&&r.fIn.properties&&(x.properties=r.fIn.properties),x.ct=r.ct,x}}}),hT=Xe({\"src/traces/choropleth/select.js\"(Z,G){\"use strict\";G.exports=function(x,S){var E=x.cd,e=x.xaxis,t=x.yaxis,r=[],o,a,n,i,s;if(S===!1)for(o=0;o=Math.min(B,X)&&T<=Math.max(B,X)?0:1/0}if(L=Math.min($,se)&&l<=Math.max($,se)?0:1/0}N=Math.sqrt(L*L+z*z),u=w[R]}}}else for(R=w.length-1;R>-1;R--)d=w[R],y=m[d],f=p[d],L=h.c2p(y)-T,z=c.c2p(f)-l,F=Math.sqrt(L*L+z*z),F100},Z.isDotSymbol=function(v){return typeof v==\"string\"?G.DOT_RE.test(v):v>200}}}),YU=Xe({\"src/traces/scattergl/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=so(),S=dT(),E=xx(),e=Tv(),t=Fu(),r=n1(),o=Qd(),a=md(),n=Dd(),i=ev(),s=zd();G.exports=function(c,m,p,T){function l(u,y){return v.coerce(c,m,E,u,y)}var _=c.marker?S.isOpenSymbol(c.marker.symbol):!1,w=t.isBubble(c),A=r(c,m,T,l);if(!A){m.visible=!1;return}o(c,m,T,l),l(\"xhoverformat\"),l(\"yhoverformat\");var M=A>>1,c=r[h],m=a!==void 0?a(c,o):c-o;m>=0?(s=h,i=h-1):n=h+1}return s}function x(r,o,a,n,i){for(var s=i+1;n<=i;){var h=n+i>>>1,c=r[h],m=a!==void 0?a(c,o):c-o;m>0?(s=h,i=h-1):n=h+1}return s}function S(r,o,a,n,i){for(var s=n-1;n<=i;){var h=n+i>>>1,c=r[h],m=a!==void 0?a(c,o):c-o;m<0?(s=h,n=h+1):i=h-1}return s}function E(r,o,a,n,i){for(var s=n-1;n<=i;){var h=n+i>>>1,c=r[h],m=a!==void 0?a(c,o):c-o;m<=0?(s=h,n=h+1):i=h-1}return s}function e(r,o,a,n,i){for(;n<=i;){var s=n+i>>>1,h=r[s],c=a!==void 0?a(h,o):h-o;if(c===0)return s;c<=0?n=s+1:i=s-1}return-1}function t(r,o,a,n,i,s){return typeof a==\"function\"?s(r,o,a,n===void 0?0:n|0,i===void 0?r.length-1:i|0):s(r,o,void 0,a===void 0?0:a|0,n===void 0?r.length-1:n|0)}G.exports={ge:function(r,o,a,n,i){return t(r,o,a,n,i,v)},gt:function(r,o,a,n,i){return t(r,o,a,n,i,x)},lt:function(r,o,a,n,i){return t(r,o,a,n,i,S)},le:function(r,o,a,n,i){return t(r,o,a,n,i,E)},eq:function(r,o,a,n,i){return t(r,o,a,n,i,e)}}}}),Ev=Xe({\"node_modules/pick-by-alias/index.js\"(Z,G){\"use strict\";G.exports=function(E,e,t){var r={},o,a;if(typeof e==\"string\"&&(e=x(e)),Array.isArray(e)){var n={};for(a=0;a1&&(S=arguments),typeof S==\"string\"?S=S.split(/\\s/).map(parseFloat):typeof S==\"number\"&&(S=[S]),S.length&&typeof S[0]==\"number\"?S.length===1?E={width:S[0],height:S[0],x:0,y:0}:S.length===2?E={width:S[0],height:S[1],x:0,y:0}:E={x:S[0],y:S[1],width:S[2]-S[0]||0,height:S[3]-S[1]||0}:S&&(S=v(S,{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:S.left||0,y:S.top||0},S.width==null?S.right?E.width=S.right-E.x:E.width=0:E.width=S.width,S.height==null?S.bottom?E.height=S.bottom-E.y:E.height=0:E.height=S.height),E}}}),mg=Xe({\"node_modules/array-bounds/index.js\"(Z,G){\"use strict\";G.exports=v;function v(x,S){if(!x||x.length==null)throw Error(\"Argument should be an array\");S==null?S=1:S=Math.floor(S);for(var E=Array(S*2),e=0;et&&(t=x[o]),x[o]>>1,w;m.dtype||(m.dtype=\"array\"),typeof m.dtype==\"string\"?w=new(a(m.dtype))(_):m.dtype&&(w=m.dtype,Array.isArray(w)&&(w.length=_));for(let L=0;L<_;++L)w[L]=L;let A=[],M=[],g=[],b=[];u(0,0,1,w,0,1);let d=0;for(let L=0;Lp||P>i){for(let oe=0;oere||X>ce||$=le||j===Q)return;let be=A[ae];Q===void 0&&(Q=be.length);for(let Me=j;Me=N&&he<=P&&Oe>=O&&Oe<=U&&fe.push(ye)}let Ae=M[ae],De=Ae[j*4+0],ze=Ae[j*4+1],Ze=Ae[j*4+2],at=Ae[j*4+3],nt=Y(Ae,j+1),rt=oe*.5,st=ae+1;V(ee,q,rt,st,De,ze||Ze||at||nt),V(ee,q+rt,rt,st,ze,Ze||at||nt),V(ee+rt,q,rt,st,Ze,at||nt),V(ee+rt,q+rt,rt,st,at,nt)}function Y(ee,q){let oe=null,ae=0;for(;oe===null;)if(oe=ee[q*4+ae],ae++,ae>ee.length)return null;return oe}return fe}function f(L,z,F,N,O){let P=[];for(let U=0;U1&&(c=1),c<-1&&(c=-1),h*Math.acos(c)},t=function(a,n,i,s,h,c,m,p,T,l,_,w){var A=Math.pow(h,2),M=Math.pow(c,2),g=Math.pow(_,2),b=Math.pow(w,2),d=A*M-A*b-M*g;d<0&&(d=0),d/=A*b+M*g,d=Math.sqrt(d)*(m===p?-1:1);var u=d*h/c*w,y=d*-c/h*_,f=l*u-T*y+(a+i)/2,R=T*u+l*y+(n+s)/2,L=(_-u)/h,z=(w-y)/c,F=(-_-u)/h,N=(-w-y)/c,O=e(1,0,L,z),P=e(L,z,F,N);return p===0&&P>0&&(P-=x),p===1&&P<0&&(P+=x),[f,R,O,P]},r=function(a){var n=a.px,i=a.py,s=a.cx,h=a.cy,c=a.rx,m=a.ry,p=a.xAxisRotation,T=p===void 0?0:p,l=a.largeArcFlag,_=l===void 0?0:l,w=a.sweepFlag,A=w===void 0?0:w,M=[];if(c===0||m===0)return[];var g=Math.sin(T*x/360),b=Math.cos(T*x/360),d=b*(n-s)/2+g*(i-h)/2,u=-g*(n-s)/2+b*(i-h)/2;if(d===0&&u===0)return[];c=Math.abs(c),m=Math.abs(m);var y=Math.pow(d,2)/Math.pow(c,2)+Math.pow(u,2)/Math.pow(m,2);y>1&&(c*=Math.sqrt(y),m*=Math.sqrt(y));var f=t(n,i,s,h,c,m,_,A,g,b,d,u),R=v(f,4),L=R[0],z=R[1],F=R[2],N=R[3],O=Math.abs(N)/(x/4);Math.abs(1-O)<1e-7&&(O=1);var P=Math.max(Math.ceil(O),1);N/=P;for(var U=0;U4?(o=l[l.length-4],a=l[l.length-3]):(o=c,a=m),r.push(l)}return r}function S(e,t,r,o){return[\"C\",e,t,r,o,r,o]}function E(e,t,r,o,a,n){return[\"C\",e/3+2/3*r,t/3+2/3*o,a/3+2/3*r,n/3+2/3*o,a,n]}}}),UE=Xe({\"node_modules/is-svg-path/index.js\"(Z,G){\"use strict\";G.exports=function(x){return typeof x!=\"string\"?!1:(x=x.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(x)&&/[\\dz]$/i.test(x)&&x.length>4))}}}),ij=Xe({\"node_modules/svg-path-bounds/index.js\"(Z,G){\"use strict\";var v=M_(),x=NE(),S=aj(),E=UE(),e=K_();G.exports=t;function t(r){if(Array.isArray(r)&&r.length===1&&typeof r[0]==\"string\"&&(r=r[0]),typeof r==\"string\"&&(e(E(r),\"String is not an SVG path.\"),r=v(r)),e(Array.isArray(r),\"Argument should be a string or an array of path segments.\"),r=x(r),r=S(r),!r.length)return[0,0,0,0];for(var o=[1/0,1/0,-1/0,-1/0],a=0,n=r.length;ao[2]&&(o[2]=i[s+0]),i[s+1]>o[3]&&(o[3]=i[s+1]);return o}}}),nj=Xe({\"node_modules/normalize-svg-path/index.js\"(Z,G){var v=Math.PI,x=o(120);G.exports=S;function S(a){for(var n,i=[],s=0,h=0,c=0,m=0,p=null,T=null,l=0,_=0,w=0,A=a.length;w7&&(i.push(M.splice(0,7)),M.unshift(\"C\"));break;case\"S\":var b=l,d=_;(n==\"C\"||n==\"S\")&&(b+=b-s,d+=d-h),M=[\"C\",b,d,M[1],M[2],M[3],M[4]];break;case\"T\":n==\"Q\"||n==\"T\"?(p=l*2-p,T=_*2-T):(p=l,T=_),M=e(l,_,p,T,M[1],M[2]);break;case\"Q\":p=M[1],T=M[2],M=e(l,_,M[1],M[2],M[3],M[4]);break;case\"L\":M=E(l,_,M[1],M[2]);break;case\"H\":M=E(l,_,M[1],_);break;case\"V\":M=E(l,_,l,M[1]);break;case\"Z\":M=E(l,_,c,m);break}n=g,l=M[M.length-2],_=M[M.length-1],M.length>4?(s=M[M.length-4],h=M[M.length-3]):(s=l,h=_),i.push(M)}return i}function E(a,n,i,s){return[\"C\",a,n,i,s,i,s]}function e(a,n,i,s,h,c){return[\"C\",a/3+2/3*i,n/3+2/3*s,h/3+2/3*i,c/3+2/3*s,h,c]}function t(a,n,i,s,h,c,m,p,T,l){if(l)f=l[0],R=l[1],u=l[2],y=l[3];else{var _=r(a,n,-h);a=_.x,n=_.y,_=r(p,T,-h),p=_.x,T=_.y;var w=(a-p)/2,A=(n-T)/2,M=w*w/(i*i)+A*A/(s*s);M>1&&(M=Math.sqrt(M),i=M*i,s=M*s);var g=i*i,b=s*s,d=(c==m?-1:1)*Math.sqrt(Math.abs((g*b-g*A*A-b*w*w)/(g*A*A+b*w*w)));d==1/0&&(d=1);var u=d*i*A/s+(a+p)/2,y=d*-s*w/i+(n+T)/2,f=Math.asin(((n-y)/s).toFixed(9)),R=Math.asin(((T-y)/s).toFixed(9));f=aR&&(f=f-v*2),!m&&R>f&&(R=R-v*2)}if(Math.abs(R-f)>x){var L=R,z=p,F=T;R=f+x*(m&&R>f?1:-1),p=u+i*Math.cos(R),T=y+s*Math.sin(R);var N=t(p,T,i,s,h,0,m,z,F,[R,L,u,y])}var O=Math.tan((R-f)/4),P=4/3*i*O,U=4/3*s*O,B=[2*a-(a+P*Math.sin(f)),2*n-(n-U*Math.cos(f)),p+P*Math.sin(R),T-U*Math.cos(R),p,T];if(l)return B;N&&(B=B.concat(N));for(var X=0;X0?r.strokeStyle=\"white\":r.strokeStyle=\"black\",r.lineWidth=Math.abs(p)),r.translate(h*.5,c*.5),r.scale(_,_),n()){var w=new Path2D(i);r.fill(w),p&&r.stroke(w)}else{var A=x(i);S(r,A),r.fill(),p&&r.stroke()}r.setTransform(1,0,0,1,0,0);var M=e(r,{cutoff:s.cutoff!=null?s.cutoff:.5,radius:s.radius!=null?s.radius:m*.5});return M}var a;function n(){if(a!=null)return a;var i=document.createElement(\"canvas\").getContext(\"2d\");if(i.canvas.width=i.canvas.height=1,!window.Path2D)return a=!1;var s=new Path2D(\"M0,0h1v1h-1v-1Z\");i.fillStyle=\"black\",i.fill(s);var h=i.getImageData(0,0,1,1);return a=h&&h.data&&h.data[3]===255}}}),yg=Xe({\"src/traces/scattergl/convert.js\"(Z,G){\"use strict\";var v=rs(),x=lj(),S=d0(),E=so(),e=sa(),t=e.isArrayOrTypedArray,r=es(),o=ef(),a=tm().formatColor,n=Fu(),i=r1(),s=dT(),h=y0(),c=Ym().DESELECTDIM,m={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},p=$p().appendArrayPointValue;function T(N,O){var P,U={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},B=N._context.plotGlPixelRatio;if(O.visible!==!0)return U;if(n.hasText(O)&&(U.text=l(N,O),U.textSel=M(N,O,O.selected),U.textUnsel=M(N,O,O.unselected)),n.hasMarkers(O)&&(U.marker=w(N,O),U.markerSel=A(N,O,O.selected),U.markerUnsel=A(N,O,O.unselected),!O.unselected&&t(O.marker.opacity))){var X=O.marker.opacity;for(U.markerUnsel.opacity=new Array(X.length),P=0;P500?\"bold\":\"normal\":N}function w(N,O){var P=O._length,U=O.marker,B={},X,$=t(U.symbol),se=t(U.angle),le=t(U.color),fe=t(U.line.color),V=t(U.opacity),Y=t(U.size),ee=t(U.line.width),q;if($||(q=s.isOpenSymbol(U.symbol)),$||le||fe||V||se){B.symbols=new Array(P),B.angles=new Array(P),B.colors=new Array(P),B.borderColors=new Array(P);var oe=U.symbol,ae=U.angle,j=a(U,U.opacity,P),Q=a(U.line,U.opacity,P);if(!t(Q[0])){var re=Q;for(Q=Array(P),X=0;Xh.TOO_MANY_POINTS||n.hasMarkers(O)?\"rect\":\"round\";if(fe&&O.connectgaps){var Y=X[0],ee=X[1];for($=0;$1?le[$]:le[0]:le,q=t(fe)?fe.length>1?fe[$]:fe[0]:fe,oe=m[ee],ae=m[q],j=V?V/.8+1:0,Q=-ae*j-ae*.5;X.offset[$]=[oe*j/Y,Q/Y]}}return X}G.exports={style:T,markerStyle:w,markerSelection:A,linePositions:L,errorBarPositions:z,textPosition:F}}}),jE=Xe({\"src/traces/scattergl/scene_update.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E){var e=E._scene,t={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},r={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return E._scene||(e=E._scene={},e.init=function(){v.extendFlat(e,r,t)},e.init(),e.update=function(a){var n=v.repeat(a,e.count);if(e.fill2d&&e.fill2d.update(n),e.scatter2d&&e.scatter2d.update(n),e.line2d&&e.line2d.update(n),e.error2d&&e.error2d.update(n.concat(n)),e.select2d&&e.select2d.update(n),e.glText)for(var i=0;i=c,u=b*2,y={},f,R=A.makeCalcdata(_,\"x\"),L=M.makeCalcdata(_,\"y\"),z=e(_,A,\"x\",R),F=e(_,M,\"y\",L),N=z.vals,O=F.vals;_._x=N,_._y=O,_.xperiodalignment&&(_._origX=R,_._xStarts=z.starts,_._xEnds=z.ends),_.yperiodalignment&&(_._origY=L,_._yStarts=F.starts,_._yEnds=F.ends);var P=new Array(u),U=new Array(b);for(f=0;f1&&x.extendFlat(g.line,i.linePositions(T,_,w)),g.errorX||g.errorY){var b=i.errorBarPositions(T,_,w,A,M);g.errorX&&x.extendFlat(g.errorX,b.x),g.errorY&&x.extendFlat(g.errorY,b.y)}return g.text&&(x.extendFlat(g.text,{positions:w},i.textPosition(T,_,g.text,g.marker)),x.extendFlat(g.textSel,{positions:w},i.textPosition(T,_,g.text,g.markerSel)),x.extendFlat(g.textUnsel,{positions:w},i.textPosition(T,_,g.text,g.markerUnsel))),g}}}),qE=Xe({\"src/traces/scattergl/edit_style.js\"(Z,G){\"use strict\";var v=sa(),x=$n(),S=Ym().DESELECTDIM;function E(e){var t=e[0],r=t.trace,o=t.t,a=o._scene,n=o.index,i=a.selectBatch[n],s=a.unselectBatch[n],h=a.textOptions[n],c=a.textSelectedOptions[n]||{},m=a.textUnselectedOptions[n]||{},p=v.extendFlat({},h),T,l;if(i.length||s.length){var _=c.color,w=m.color,A=h.color,M=v.isArrayOrTypedArray(A);for(p.color=new Array(r._length),T=0;T>>24,r=(E&16711680)>>>16,o=(E&65280)>>>8,a=E&255;return e===!1?[t,r,o,a]:[t/255,r/255,o/255,a/255]}}}),ch=Xe({\"node_modules/object-assign/index.js\"(Z,G){\"use strict\";var v=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable;function E(t){if(t==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}function e(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",Object.getOwnPropertyNames(t)[0]===\"5\")return!1;for(var r={},o=0;o<10;o++)r[\"_\"+String.fromCharCode(o)]=o;var a=Object.getOwnPropertyNames(r).map(function(i){return r[i]});if(a.join(\"\")!==\"0123456789\")return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(i){n[i]=i}),Object.keys(Object.assign({},n)).join(\"\")===\"abcdefghijklmnopqrst\"}catch{return!1}}G.exports=e()?Object.assign:function(t,r){for(var o,a=E(t),n,i=1;iy.length)&&(f=y.length);for(var R=0,L=new Array(f);R 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`]),le.vert=p([`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\n// \\`invariant\\` effectively turns off optimizations for the position.\n// We need this because -fast-math on M1 Macs is re-ordering\n// floating point operations in a way that causes floating point\n// precision limits to put points in the wrong locations.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\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) * pointSizeScale;\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`]),w&&(le.frag=le.frag.replace(\"smoothstep\",\"smoothStep\"),se.frag=se.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=y(le)}b.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},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var y=this,f=arguments.length,R=new Array(f),L=0;Lye)?st.tree=c(rt,{bounds:Qe}):ye&&ye.length&&(st.tree=ye),st.tree){var Pt={primitive:\"points\",usage:\"static\",data:st.tree,type:\"uint32\"};st.elements?st.elements(Pt):st.elements=N.elements(Pt)}var It=A.float32(rt);he({data:It,usage:\"dynamic\"});var qt=A.fract32(rt,It);return Oe({data:qt,usage:\"dynamic\"}),tt({data:new Uint8Array(ot),type:\"uint8\",usage:\"stream\"}),rt}},{marker:function(rt,st,Me){var ye=st.activation;if(ye.forEach(function(qt){return qt&&qt.destroy&&qt.destroy()}),ye.length=0,!rt||typeof rt[0]==\"number\"){var he=y.addMarker(rt);ye[he]=!0}else{for(var Oe=[],tt=0,ot=Math.min(rt.length,st.count);tt=0)return z;var F;if(y instanceof Uint8Array||y instanceof Uint8ClampedArray)F=y;else{F=new Uint8Array(y.length);for(var N=0,O=y.length;NL*4&&(this.tooManyColors=!0),this.updatePalette(R),z.length===1?z[0]:z},b.prototype.updatePalette=function(y){if(!this.tooManyColors){var f=this.maxColors,R=this.paletteTexture,L=Math.ceil(y.length*.25/f);if(L>1){y=y.slice();for(var z=y.length*.25%f;z80*P){se=fe=N[0],le=V=N[1];for(var oe=P;oefe&&(fe=Y),ee>V&&(V=ee);q=Math.max(fe-se,V-le),q=q!==0?32767/q:0}return E(X,$,P,se,le,q,0),$}function x(N,O,P,U,B){var X,$;if(B===F(N,O,P,U)>0)for(X=O;X=O;X-=U)$=R(X,N[X],N[X+1],$);return $&&A($,$.next)&&(L($),$=$.next),$}function S(N,O){if(!N)return N;O||(O=N);var P=N,U;do if(U=!1,!P.steiner&&(A(P,P.next)||w(P.prev,P,P.next)===0)){if(L(P),P=O=P.prev,P===P.next)break;U=!0}else P=P.next;while(U||P!==O);return O}function E(N,O,P,U,B,X,$){if(N){!$&&X&&c(N,U,B,X);for(var se=N,le,fe;N.prev!==N.next;){if(le=N.prev,fe=N.next,X?t(N,U,B,X):e(N)){O.push(le.i/P|0),O.push(N.i/P|0),O.push(fe.i/P|0),L(N),N=fe.next,se=fe.next;continue}if(N=fe,N===se){$?$===1?(N=r(S(N),O,P),E(N,O,P,U,B,X,2)):$===2&&o(N,O,P,U,B,X):E(S(N),O,P,U,B,X,1);break}}}}function e(N){var O=N.prev,P=N,U=N.next;if(w(O,P,U)>=0)return!1;for(var B=O.x,X=P.x,$=U.x,se=O.y,le=P.y,fe=U.y,V=BX?B>$?B:$:X>$?X:$,q=se>le?se>fe?se:fe:le>fe?le:fe,oe=U.next;oe!==O;){if(oe.x>=V&&oe.x<=ee&&oe.y>=Y&&oe.y<=q&&l(B,se,X,le,$,fe,oe.x,oe.y)&&w(oe.prev,oe,oe.next)>=0)return!1;oe=oe.next}return!0}function t(N,O,P,U){var B=N.prev,X=N,$=N.next;if(w(B,X,$)>=0)return!1;for(var se=B.x,le=X.x,fe=$.x,V=B.y,Y=X.y,ee=$.y,q=sele?se>fe?se:fe:le>fe?le:fe,j=V>Y?V>ee?V:ee:Y>ee?Y:ee,Q=p(q,oe,O,P,U),re=p(ae,j,O,P,U),ce=N.prevZ,be=N.nextZ;ce&&ce.z>=Q&&be&&be.z<=re;){if(ce.x>=q&&ce.x<=ae&&ce.y>=oe&&ce.y<=j&&ce!==B&&ce!==$&&l(se,V,le,Y,fe,ee,ce.x,ce.y)&&w(ce.prev,ce,ce.next)>=0||(ce=ce.prevZ,be.x>=q&&be.x<=ae&&be.y>=oe&&be.y<=j&&be!==B&&be!==$&&l(se,V,le,Y,fe,ee,be.x,be.y)&&w(be.prev,be,be.next)>=0))return!1;be=be.nextZ}for(;ce&&ce.z>=Q;){if(ce.x>=q&&ce.x<=ae&&ce.y>=oe&&ce.y<=j&&ce!==B&&ce!==$&&l(se,V,le,Y,fe,ee,ce.x,ce.y)&&w(ce.prev,ce,ce.next)>=0)return!1;ce=ce.prevZ}for(;be&&be.z<=re;){if(be.x>=q&&be.x<=ae&&be.y>=oe&&be.y<=j&&be!==B&&be!==$&&l(se,V,le,Y,fe,ee,be.x,be.y)&&w(be.prev,be,be.next)>=0)return!1;be=be.nextZ}return!0}function r(N,O,P){var U=N;do{var B=U.prev,X=U.next.next;!A(B,X)&&M(B,U,U.next,X)&&u(B,X)&&u(X,B)&&(O.push(B.i/P|0),O.push(U.i/P|0),O.push(X.i/P|0),L(U),L(U.next),U=N=X),U=U.next}while(U!==N);return S(U)}function o(N,O,P,U,B,X){var $=N;do{for(var se=$.next.next;se!==$.prev;){if($.i!==se.i&&_($,se)){var le=f($,se);$=S($,$.next),le=S(le,le.next),E($,O,P,U,B,X,0),E(le,O,P,U,B,X,0);return}se=se.next}$=$.next}while($!==N)}function a(N,O,P,U){var B=[],X,$,se,le,fe;for(X=0,$=O.length;X<$;X++)se=O[X]*U,le=X<$-1?O[X+1]*U:N.length,fe=x(N,se,le,U,!1),fe===fe.next&&(fe.steiner=!0),B.push(T(fe));for(B.sort(n),X=0;X=P.next.y&&P.next.y!==P.y){var se=P.x+(B-P.y)*(P.next.x-P.x)/(P.next.y-P.y);if(se<=U&&se>X&&(X=se,$=P.x=P.x&&P.x>=fe&&U!==P.x&&l(B$.x||P.x===$.x&&h($,P)))&&($=P,Y=ee)),P=P.next;while(P!==le);return $}function h(N,O){return w(N.prev,N,O.prev)<0&&w(O.next,N,N.next)<0}function c(N,O,P,U){var B=N;do B.z===0&&(B.z=p(B.x,B.y,O,P,U)),B.prevZ=B.prev,B.nextZ=B.next,B=B.next;while(B!==N);B.prevZ.nextZ=null,B.prevZ=null,m(B)}function m(N){var O,P,U,B,X,$,se,le,fe=1;do{for(P=N,N=null,X=null,$=0;P;){for($++,U=P,se=0,O=0;O0||le>0&&U;)se!==0&&(le===0||!U||P.z<=U.z)?(B=P,P=P.nextZ,se--):(B=U,U=U.nextZ,le--),X?X.nextZ=B:N=B,B.prevZ=X,X=B;P=U}X.nextZ=null,fe*=2}while($>1);return N}function p(N,O,P,U,B){return N=(N-P)*B|0,O=(O-U)*B|0,N=(N|N<<8)&16711935,N=(N|N<<4)&252645135,N=(N|N<<2)&858993459,N=(N|N<<1)&1431655765,O=(O|O<<8)&16711935,O=(O|O<<4)&252645135,O=(O|O<<2)&858993459,O=(O|O<<1)&1431655765,N|O<<1}function T(N){var O=N,P=N;do(O.x=(N-$)*(X-se)&&(N-$)*(U-se)>=(P-$)*(O-se)&&(P-$)*(X-se)>=(B-$)*(U-se)}function _(N,O){return N.next.i!==O.i&&N.prev.i!==O.i&&!d(N,O)&&(u(N,O)&&u(O,N)&&y(N,O)&&(w(N.prev,N,O.prev)||w(N,O.prev,O))||A(N,O)&&w(N.prev,N,N.next)>0&&w(O.prev,O,O.next)>0)}function w(N,O,P){return(O.y-N.y)*(P.x-O.x)-(O.x-N.x)*(P.y-O.y)}function A(N,O){return N.x===O.x&&N.y===O.y}function M(N,O,P,U){var B=b(w(N,O,P)),X=b(w(N,O,U)),$=b(w(P,U,N)),se=b(w(P,U,O));return!!(B!==X&&$!==se||B===0&&g(N,P,O)||X===0&&g(N,U,O)||$===0&&g(P,N,U)||se===0&&g(P,O,U))}function g(N,O,P){return O.x<=Math.max(N.x,P.x)&&O.x>=Math.min(N.x,P.x)&&O.y<=Math.max(N.y,P.y)&&O.y>=Math.min(N.y,P.y)}function b(N){return N>0?1:N<0?-1:0}function d(N,O){var P=N;do{if(P.i!==N.i&&P.next.i!==N.i&&P.i!==O.i&&P.next.i!==O.i&&M(P,P.next,N,O))return!0;P=P.next}while(P!==N);return!1}function u(N,O){return w(N.prev,N,N.next)<0?w(N,O,N.next)>=0&&w(N,N.prev,O)>=0:w(N,O,N.prev)<0||w(N,N.next,O)<0}function y(N,O){var P=N,U=!1,B=(N.x+O.x)/2,X=(N.y+O.y)/2;do P.y>X!=P.next.y>X&&P.next.y!==P.y&&B<(P.next.x-P.x)*(X-P.y)/(P.next.y-P.y)+P.x&&(U=!U),P=P.next;while(P!==N);return U}function f(N,O){var P=new z(N.i,N.x,N.y),U=new z(O.i,O.x,O.y),B=N.next,X=O.prev;return N.next=O,O.prev=N,P.next=B,B.prev=P,U.next=P,P.prev=U,X.next=U,U.prev=X,U}function R(N,O,P,U){var B=new z(N,O,P);return U?(B.next=U.next,B.prev=U,U.next.prev=B,U.next=B):(B.prev=B,B.next=B),B}function L(N){N.next.prev=N.prev,N.prev.next=N.next,N.prevZ&&(N.prevZ.nextZ=N.nextZ),N.nextZ&&(N.nextZ.prevZ=N.prevZ)}function z(N,O,P){this.i=N,this.x=O,this.y=P,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}v.deviation=function(N,O,P,U){var B=O&&O.length,X=B?O[0]*P:N.length,$=Math.abs(F(N,0,X,P));if(B)for(var se=0,le=O.length;se0&&(U+=N[B-1].length,P.holes.push(U))}return P}}}),vj=Xe({\"node_modules/array-normalize/index.js\"(Z,G){\"use strict\";var v=mg();G.exports=x;function x(S,E,e){if(!S||S.length==null)throw Error(\"Argument should be an array\");E==null&&(E=1),e==null&&(e=v(S,E));for(var t=0;t-1}}}),JE=Xe({\"node_modules/es5-ext/string/#/contains/index.js\"(Z,G){\"use strict\";G.exports=kj()()?String.prototype.contains:Cj()}}),am=Xe({\"node_modules/d/index.js\"(Z,G){\"use strict\";var v=_g(),x=YE(),S=_T(),E=KE(),e=JE(),t=G.exports=function(r,o){var a,n,i,s,h;return arguments.length<2||typeof r!=\"string\"?(s=o,o=r,r=null):s=arguments[2],v(r)?(a=e.call(r,\"c\"),n=e.call(r,\"e\"),i=e.call(r,\"w\")):(a=i=!0,n=!1),h={value:o,configurable:a,enumerable:n,writable:i},s?S(E(s),h):h};t.gs=function(r,o,a){var n,i,s,h;return typeof r!=\"string\"?(s=a,a=o,o=r,r=null):s=arguments[3],v(o)?x(o)?v(a)?x(a)||(s=a,a=void 0):a=void 0:(s=o,o=a=void 0):o=void 0,v(r)?(n=e.call(r,\"c\"),i=e.call(r,\"e\")):(n=!0,i=!1),h={get:o,set:a,configurable:n,enumerable:i},s?S(E(s),h):h}}}),bx=Xe({\"node_modules/es5-ext/function/is-arguments.js\"(Z,G){\"use strict\";var v=Object.prototype.toString,x=v.call(function(){return arguments}());G.exports=function(S){return v.call(S)===x}}}),wx=Xe({\"node_modules/es5-ext/string/is-string.js\"(Z,G){\"use strict\";var v=Object.prototype.toString,x=v.call(\"\");G.exports=function(S){return typeof S==\"string\"||S&&typeof S==\"object\"&&(S instanceof String||v.call(S)===x)||!1}}}),Lj=Xe({\"node_modules/ext/global-this/is-implemented.js\"(Z,G){\"use strict\";G.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}}}),Pj=Xe({\"node_modules/ext/global-this/implementation.js\"(Z,G){var v=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};G.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch{return v()}try{return __global__||v()}finally{delete Object.prototype.__global__}}()}}),Tx=Xe({\"node_modules/ext/global-this/index.js\"(Z,G){\"use strict\";G.exports=Lj()()?globalThis:Pj()}}),Ij=Xe({\"node_modules/es6-symbol/is-implemented.js\"(Z,G){\"use strict\";var v=Tx(),x={object:!0,symbol:!0};G.exports=function(){var S=v.Symbol,E;if(typeof S!=\"function\")return!1;E=S(\"test symbol\");try{String(E)}catch{return!1}return!(!x[typeof S.iterator]||!x[typeof S.toPrimitive]||!x[typeof S.toStringTag])}}}),Rj=Xe({\"node_modules/es6-symbol/is-symbol.js\"(Z,G){\"use strict\";G.exports=function(v){return v?typeof v==\"symbol\"?!0:!v.constructor||v.constructor.name!==\"Symbol\"?!1:v[v.constructor.toStringTag]===\"Symbol\":!1}}}),$E=Xe({\"node_modules/es6-symbol/validate-symbol.js\"(Z,G){\"use strict\";var v=Rj();G.exports=function(x){if(!v(x))throw new TypeError(x+\" is not a symbol\");return x}}}),Dj=Xe({\"node_modules/es6-symbol/lib/private/generate-name.js\"(Z,G){\"use strict\";var v=am(),x=Object.create,S=Object.defineProperty,E=Object.prototype,e=x(null);G.exports=function(t){for(var r=0,o,a;e[t+(r||\"\")];)++r;return t+=r||\"\",e[t]=!0,o=\"@@\"+t,S(E,o,v.gs(null,function(n){a||(a=!0,S(this,o,v(n)),a=!1)})),o}}}),zj=Xe({\"node_modules/es6-symbol/lib/private/setup/standard-symbols.js\"(Z,G){\"use strict\";var v=am(),x=Tx().Symbol;G.exports=function(S){return Object.defineProperties(S,{hasInstance:v(\"\",x&&x.hasInstance||S(\"hasInstance\")),isConcatSpreadable:v(\"\",x&&x.isConcatSpreadable||S(\"isConcatSpreadable\")),iterator:v(\"\",x&&x.iterator||S(\"iterator\")),match:v(\"\",x&&x.match||S(\"match\")),replace:v(\"\",x&&x.replace||S(\"replace\")),search:v(\"\",x&&x.search||S(\"search\")),species:v(\"\",x&&x.species||S(\"species\")),split:v(\"\",x&&x.split||S(\"split\")),toPrimitive:v(\"\",x&&x.toPrimitive||S(\"toPrimitive\")),toStringTag:v(\"\",x&&x.toStringTag||S(\"toStringTag\")),unscopables:v(\"\",x&&x.unscopables||S(\"unscopables\"))})}}}),Fj=Xe({\"node_modules/es6-symbol/lib/private/setup/symbol-registry.js\"(Z,G){\"use strict\";var v=am(),x=$E(),S=Object.create(null);G.exports=function(E){return Object.defineProperties(E,{for:v(function(e){return S[e]?S[e]:S[e]=E(String(e))}),keyFor:v(function(e){var t;x(e);for(t in S)if(S[t]===e)return t})})}}}),Oj=Xe({\"node_modules/es6-symbol/polyfill.js\"(Z,G){\"use strict\";var v=am(),x=$E(),S=Tx().Symbol,E=Dj(),e=zj(),t=Fj(),r=Object.create,o=Object.defineProperties,a=Object.defineProperty,n,i,s;if(typeof S==\"function\")try{String(S()),s=!0}catch{}else S=null;i=function(c){if(this instanceof i)throw new TypeError(\"Symbol is not a constructor\");return n(c)},G.exports=n=function h(c){var m;if(this instanceof h)throw new TypeError(\"Symbol is not a constructor\");return s?S(c):(m=r(i.prototype),c=c===void 0?\"\":String(c),o(m,{__description__:v(\"\",c),__name__:v(\"\",E(c))}))},e(n),t(n),o(i.prototype,{constructor:v(n),toString:v(\"\",function(){return this.__name__})}),o(n.prototype,{toString:v(function(){return\"Symbol (\"+x(this).__description__+\")\"}),valueOf:v(function(){return x(this)})}),a(n.prototype,n.toPrimitive,v(\"\",function(){var h=x(this);return typeof h==\"symbol\"?h:h.toString()})),a(n.prototype,n.toStringTag,v(\"c\",\"Symbol\")),a(i.prototype,n.toStringTag,v(\"c\",n.prototype[n.toStringTag])),a(i.prototype,n.toPrimitive,v(\"c\",n.prototype[n.toPrimitive]))}}),x0=Xe({\"node_modules/es6-symbol/index.js\"(Z,G){\"use strict\";G.exports=Ij()()?Tx().Symbol:Oj()}}),Bj=Xe({\"node_modules/es5-ext/array/#/clear.js\"(Z,G){\"use strict\";var v=rm();G.exports=function(){return v(this).length=0,this}}}),L1=Xe({\"node_modules/es5-ext/object/valid-callable.js\"(Z,G){\"use strict\";G.exports=function(v){if(typeof v!=\"function\")throw new TypeError(v+\" is not a function\");return v}}}),Nj=Xe({\"node_modules/type/string/coerce.js\"(Z,G){\"use strict\";var v=_g(),x=yT(),S=Object.prototype.toString;G.exports=function(E){if(!v(E))return null;if(x(E)){var e=E.toString;if(typeof e!=\"function\"||e===S)return null}try{return\"\"+E}catch{return null}}}}),Uj=Xe({\"node_modules/type/lib/safe-to-string.js\"(Z,G){\"use strict\";G.exports=function(v){try{return v.toString()}catch{try{return String(v)}catch{return null}}}}}),jj=Xe({\"node_modules/type/lib/to-short-string.js\"(Z,G){\"use strict\";var v=Uj(),x=/[\\n\\r\\u2028\\u2029]/g;G.exports=function(S){var E=v(S);return E===null?\"\":(E.length>100&&(E=E.slice(0,99)+\"\\u2026\"),E=E.replace(x,function(e){switch(e){case`\n`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),E)}}}),QE=Xe({\"node_modules/type/lib/resolve-exception.js\"(Z,G){\"use strict\";var v=_g(),x=yT(),S=Nj(),E=jj(),e=function(t,r){return t.replace(\"%v\",E(r))};G.exports=function(t,r,o){if(!x(o))throw new TypeError(e(r,t));if(!v(t)){if(\"default\"in o)return o.default;if(o.isOptional)return null}var a=S(o.errorMessage);throw v(a)||(a=r),new TypeError(e(a,t))}}}),qj=Xe({\"node_modules/type/value/ensure.js\"(Z,G){\"use strict\";var v=QE(),x=_g();G.exports=function(S){return x(S)?S:v(S,\"Cannot use %v\",arguments[1])}}}),Vj=Xe({\"node_modules/type/plain-function/ensure.js\"(Z,G){\"use strict\";var v=QE(),x=YE();G.exports=function(S){return x(S)?S:v(S,\"%v is not a plain function\",arguments[1])}}}),Gj=Xe({\"node_modules/es5-ext/array/from/is-implemented.js\"(Z,G){\"use strict\";G.exports=function(){var v=Array.from,x,S;return typeof v!=\"function\"?!1:(x=[\"raz\",\"dwa\"],S=v(x),!!(S&&S!==x&&S[1]===\"dwa\"))}}}),Hj=Xe({\"node_modules/es5-ext/function/is-function.js\"(Z,G){\"use strict\";var v=Object.prototype.toString,x=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);G.exports=function(S){return typeof S==\"function\"&&x(v.call(S))}}}),Wj=Xe({\"node_modules/es5-ext/math/sign/is-implemented.js\"(Z,G){\"use strict\";G.exports=function(){var v=Math.sign;return typeof v!=\"function\"?!1:v(10)===1&&v(-20)===-1}}}),Xj=Xe({\"node_modules/es5-ext/math/sign/shim.js\"(Z,G){\"use strict\";G.exports=function(v){return v=Number(v),isNaN(v)||v===0?v:v>0?1:-1}}}),Zj=Xe({\"node_modules/es5-ext/math/sign/index.js\"(Z,G){\"use strict\";G.exports=Wj()()?Math.sign:Xj()}}),Yj=Xe({\"node_modules/es5-ext/number/to-integer.js\"(Z,G){\"use strict\";var v=Zj(),x=Math.abs,S=Math.floor;G.exports=function(E){return isNaN(E)?0:(E=Number(E),E===0||!isFinite(E)?E:v(E)*S(x(E)))}}}),Kj=Xe({\"node_modules/es5-ext/number/to-pos-integer.js\"(Z,G){\"use strict\";var v=Yj(),x=Math.max;G.exports=function(S){return x(0,v(S))}}}),Jj=Xe({\"node_modules/es5-ext/array/from/shim.js\"(Z,G){\"use strict\";var v=x0().iterator,x=bx(),S=Hj(),E=Kj(),e=L1(),t=rm(),r=_0(),o=wx(),a=Array.isArray,n=Function.prototype.call,i={configurable:!0,enumerable:!0,writable:!0,value:null},s=Object.defineProperty;G.exports=function(h){var c=arguments[1],m=arguments[2],p,T,l,_,w,A,M,g,b,d;if(h=Object(t(h)),r(c)&&e(c),!this||this===Array||!S(this)){if(!c){if(x(h))return w=h.length,w!==1?Array.apply(null,h):(_=new Array(1),_[0]=h[0],_);if(a(h)){for(_=new Array(w=h.length),T=0;T=55296&&A<=56319&&(d+=h[++T])),d=c?n.call(c,m,d,l):d,p?(i.value=d,s(_,l,i)):_[l]=d,++l;w=l}}if(w===void 0)for(w=E(h.length),p&&(_=new p(w)),T=0;T=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){o(this,\"__redo__\",e(\"c\",[i]));return}this.__redo__.forEach(function(s,h){s>=i&&(this.__redo__[h]=++s)},this),this.__redo__.push(i)}}),_onDelete:e(function(i){var s;i>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(s=this.__redo__.indexOf(i),s!==-1&&this.__redo__.splice(s,1),this.__redo__.forEach(function(h,c){h>i&&(this.__redo__[c]=--h)},this)))}),_onClear:e(function(){this.__redo__&&v.call(this.__redo__),this.__nextIndex__=0})}))),o(n.prototype,r.iterator,e(function(){return this}))}}),iq=Xe({\"node_modules/es6-iterator/array.js\"(Z,G){\"use strict\";var v=gT(),x=JE(),S=am(),E=x0(),e=e6(),t=Object.defineProperty,r;r=G.exports=function(o,a){if(!(this instanceof r))throw new TypeError(\"Constructor requires 'new'\");e.call(this,o),a?x.call(a,\"key+value\")?a=\"key+value\":x.call(a,\"key\")?a=\"key\":a=\"value\":a=\"value\",t(this,\"__kind__\",S(\"\",a))},v&&v(r,e),delete r.prototype.constructor,r.prototype=Object.create(e.prototype,{_resolve:S(function(o){return this.__kind__===\"value\"?this.__list__[o]:this.__kind__===\"key+value\"?[o,this.__list__[o]]:o})}),t(r.prototype,E.toStringTag,S(\"c\",\"Array Iterator\"))}}),nq=Xe({\"node_modules/es6-iterator/string.js\"(Z,G){\"use strict\";var v=gT(),x=am(),S=x0(),E=e6(),e=Object.defineProperty,t;t=G.exports=function(r){if(!(this instanceof t))throw new TypeError(\"Constructor requires 'new'\");r=String(r),E.call(this,r),e(this,\"__length__\",x(\"\",r.length))},v&&v(t,E),delete t.prototype.constructor,t.prototype=Object.create(E.prototype,{_next:x(function(){if(this.__list__){if(this.__nextIndex__=55296&&a<=56319?o+this.__list__[this.__nextIndex__++]:o)})}),e(t.prototype,S.toStringTag,x(\"c\",\"String Iterator\"))}}),oq=Xe({\"node_modules/es6-iterator/is-iterable.js\"(Z,G){\"use strict\";var v=bx(),x=_0(),S=wx(),E=x0().iterator,e=Array.isArray;G.exports=function(t){return x(t)?e(t)||S(t)||v(t)?!0:typeof t[E]==\"function\":!1}}}),sq=Xe({\"node_modules/es6-iterator/valid-iterable.js\"(Z,G){\"use strict\";var v=oq();G.exports=function(x){if(!v(x))throw new TypeError(x+\" is not iterable\");return x}}}),t6=Xe({\"node_modules/es6-iterator/get.js\"(Z,G){\"use strict\";var v=bx(),x=wx(),S=iq(),E=nq(),e=sq(),t=x0().iterator;G.exports=function(r){return typeof e(r)[t]==\"function\"?r[t]():v(r)?new S(r):x(r)?new E(r):new S(r)}}}),lq=Xe({\"node_modules/es6-iterator/for-of.js\"(Z,G){\"use strict\";var v=bx(),x=L1(),S=wx(),E=t6(),e=Array.isArray,t=Function.prototype.call,r=Array.prototype.some;G.exports=function(o,a){var n,i=arguments[2],s,h,c,m,p,T,l;if(e(o)||v(o)?n=\"array\":S(o)?n=\"string\":o=E(o),x(a),h=function(){c=!0},n===\"array\"){r.call(o,function(_){return t.call(a,i,_,h),c});return}if(n===\"string\"){for(p=o.length,m=0;m=55296&&l<=56319&&(T+=o[++m])),t.call(a,i,T,h),!c);++m);return}for(s=o.next();!s.done;){if(t.call(a,i,s.value,h),c)return;s=o.next()}}}}),uq=Xe({\"node_modules/es6-weak-map/is-native-implemented.js\"(Z,G){\"use strict\";G.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()}}),cq=Xe({\"node_modules/es6-weak-map/polyfill.js\"(Z,G){\"use strict\";var v=_0(),x=gT(),S=_j(),E=rm(),e=xj(),t=am(),r=t6(),o=lq(),a=x0().toStringTag,n=uq(),i=Array.isArray,s=Object.defineProperty,h=Object.prototype.hasOwnProperty,c=Object.getPrototypeOf,m;G.exports=m=function(){var p=arguments[0],T;if(!(this instanceof m))throw new TypeError(\"Constructor requires 'new'\");return T=n&&x&&WeakMap!==m?x(new WeakMap,c(this)):this,v(p)&&(i(p)||(p=r(p))),s(T,\"__weakMapData__\",t(\"c\",\"$weakMap$\"+e())),p&&o(p,function(l){E(l),T.set(l[0],l[1])}),T},n&&(x&&x(m,WeakMap),m.prototype=Object.create(WeakMap.prototype,{constructor:t(m)})),Object.defineProperties(m.prototype,{delete:t(function(p){return h.call(S(p),this.__weakMapData__)?(delete p[this.__weakMapData__],!0):!1}),get:t(function(p){if(h.call(S(p),this.__weakMapData__))return p[this.__weakMapData__]}),has:t(function(p){return h.call(S(p),this.__weakMapData__)}),set:t(function(p,T){return s(S(p),this.__weakMapData__,t(\"c\",T)),this}),toString:t(function(){return\"[object WeakMap]\"})}),s(m.prototype,a,t(\"c\",\"WeakMap\"))}}),r6=Xe({\"node_modules/es6-weak-map/index.js\"(Z,G){\"use strict\";G.exports=mj()()?WeakMap:cq()}}),fq=Xe({\"node_modules/array-find-index/index.js\"(Z,G){\"use strict\";G.exports=function(v,x,S){if(typeof Array.prototype.findIndex==\"function\")return v.findIndex(x,S);if(typeof x!=\"function\")throw new TypeError(\"predicate must be a function\");var E=Object(v),e=E.length;if(e===0)return-1;for(var t=0;t 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`,l=`\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\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) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n`;G.exports=_;function _(w,A){if(!(this instanceof _))return new _(w,A);if(typeof w==\"function\"?(A||(A={}),A.regl=w):A=w,A.length&&(A.positions=A),w=A.regl,!w.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=w._gl,this.regl=w,this.passes=[],this.shaders=_.shaders.has(w)?_.shaders.get(w):_.shaders.set(w,_.createShaders(w)).get(w),this.update(A)}_.dashMult=2,_.maxPatternLength=256,_.precisionThreshold=3e6,_.maxPoints=1e4,_.maxLines=2048,_.shaders=new n,_.createShaders=function(w){let A=w.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),M={primitive:\"triangle strip\",instances:w.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(u,y)=>y.join===\"round\"?2:1,miterLimit:w.prop(\"miterLimit\"),scale:w.prop(\"scale\"),scaleFract:w.prop(\"scaleFract\"),translateFract:w.prop(\"translateFract\"),translate:w.prop(\"translate\"),thickness:w.prop(\"thickness\"),dashTexture:w.prop(\"dashTexture\"),opacity:w.prop(\"opacity\"),pixelRatio:w.context(\"pixelRatio\"),id:w.prop(\"id\"),dashLength:w.prop(\"dashLength\"),viewport:(u,y)=>[y.viewport.x,y.viewport.y,u.viewportWidth,u.viewportHeight],depth:w.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:(u,y)=>!y.overlay},stencil:{enable:!1},scissor:{enable:!0,box:w.prop(\"viewport\")},viewport:w.prop(\"viewport\")},g=w(S({vert:h,frag:c,attributes:{lineEnd:{buffer:A,divisor:0,stride:8,offset:0},lineTop:{buffer:A,divisor:0,stride:8,offset:4},aCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:w.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:w.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:w.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},M)),b;try{b=w(S({cull:{enable:!0,face:\"back\"},vert:T,frag:l,attributes:{lineEnd:{buffer:A,divisor:0,stride:8,offset:0},lineTop:{buffer:A,divisor:0,stride:8,offset:4},aColor:{buffer:w.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:w.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},M))}catch{b=g}return{fill:w({primitive:\"triangle\",elements:(u,y)=>y.triangles,offset:0,vert:m,frag:p,uniforms:{scale:w.prop(\"scale\"),color:w.prop(\"fill\"),scaleFract:w.prop(\"scaleFract\"),translateFract:w.prop(\"translateFract\"),translate:w.prop(\"translate\"),opacity:w.prop(\"opacity\"),pixelRatio:w.context(\"pixelRatio\"),id:w.prop(\"id\"),viewport:(u,y)=>[y.viewport.x,y.viewport.y,u.viewportWidth,u.viewportHeight]},attributes:{position:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:w.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:M.blend,depth:{enable:!1},scissor:M.scissor,stencil:M.stencil,viewport:M.viewport}),rect:g,miter:b}},_.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},_.prototype.render=function(...w){w.length&&this.update(...w),this.draw()},_.prototype.draw=function(...w){return(w.length?w:this.passes).forEach((A,M)=>{if(A&&Array.isArray(A))return this.draw(...A);typeof A==\"number\"&&(A=this.passes[A]),A&&A.count>1&&A.opacity&&(this.regl._refresh(),A.fill&&A.triangles&&A.triangles.length>2&&this.shaders.fill(A),A.thickness&&(A.scale[0]*A.viewport.width>_.precisionThreshold||A.scale[1]*A.viewport.height>_.precisionThreshold?this.shaders.rect(A):A.join===\"rect\"||!A.join&&(A.thickness<=2||A.count>=_.maxPoints)?this.shaders.rect(A):this.shaders.miter(A)))}),this},_.prototype.update=function(w){if(!w)return;w.length!=null?typeof w[0]==\"number\"&&(w=[{positions:w}]):Array.isArray(w)||(w=[w]);let{regl:A,gl:M}=this;if(w.forEach((b,d)=>{let u=this.passes[d];if(b!==void 0){if(b===null){this.passes[d]=null;return}if(typeof b[0]==\"number\"&&(b={positions:b}),b=E(b,{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\",splitNull:\"splitNull\"}),u||(this.passes[d]=u={id:d,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:A.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:A.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:A.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:A.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},b=S({},_.defaults,b)),b.thickness!=null&&(u.thickness=parseFloat(b.thickness)),b.opacity!=null&&(u.opacity=parseFloat(b.opacity)),b.miterLimit!=null&&(u.miterLimit=parseFloat(b.miterLimit)),b.overlay!=null&&(u.overlay=!!b.overlay,d<_.maxLines&&(u.depth=2*(_.maxLines-1-d%_.maxLines)/_.maxLines-1)),b.join!=null&&(u.join=b.join),b.hole!=null&&(u.hole=b.hole),b.fill!=null&&(u.fill=b.fill?v(b.fill,\"uint8\"):null),b.viewport!=null&&(u.viewport=i(b.viewport)),u.viewport||(u.viewport=i([M.drawingBufferWidth,M.drawingBufferHeight])),b.close!=null&&(u.close=b.close),b.positions===null&&(b.positions=[]),b.positions){let R,L;if(b.positions.x&&b.positions.y){let O=b.positions.x,P=b.positions.y;L=u.count=Math.max(O.length,P.length),R=new Float64Array(L*2);for(let U=0;Ule-fe),X=[],$=0,se=u.hole!=null?u.hole[0]:null;if(se!=null){let le=s(B,fe=>fe>=se);B=B.slice(0,le),B.push(se)}for(let le=0;leee-se+(B[le]-$)),Y=t(fe,V);Y=Y.map(ee=>ee+$+(ee+${w.colorBuffer.destroy(),w.positionBuffer.destroy(),w.dashTexture.destroy()}),this.passes.length=0,this}}}),hq=Xe({\"node_modules/regl-error2d/index.js\"(Z,G){\"use strict\";var v=mg(),x=d0(),S=GE(),E=Ev(),e=ch(),t=gg(),{float32:r,fract32:o}=mT();G.exports=n;var a=[[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]];function n(i,s){if(typeof i==\"function\"?(s||(s={}),s.regl=i):s=i,s.length&&(s.positions=s),i=s.regl,!i.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let h=i._gl,c,m,p,T,l,_,w={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},A=[];return T=i.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),m=i.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),p=i.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=i.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),_=i.buffer({usage:\"static\",type:\"float\",data:a}),d(s),c=i({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:i.prop(\"range\"),lineWidth:i.prop(\"lineWidth\"),capSize:i.prop(\"capSize\"),opacity:i.prop(\"opacity\"),scale:i.prop(\"scale\"),translate:i.prop(\"translate\"),scaleFract:i.prop(\"scaleFract\"),translateFract:i.prop(\"translateFract\"),viewport:(y,f)=>[f.viewport.x,f.viewport.y,y.viewportWidth,y.viewportHeight]},attributes:{color:{buffer:T,offset:(y,f)=>f.offset*4,divisor:1},position:{buffer:m,offset:(y,f)=>f.offset*8,divisor:1},positionFract:{buffer:p,offset:(y,f)=>f.offset*8,divisor:1},error:{buffer:l,offset:(y,f)=>f.offset*16,divisor:1},direction:{buffer:_,stride:24,offset:0},lineOffset:{buffer:_,stride:24,offset:8},capOffset:{buffer:_,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:i.prop(\"viewport\")},viewport:i.prop(\"viewport\"),stencil:!1,instances:i.prop(\"count\"),count:a.length}),e(M,{update:d,draw:g,destroy:u,regl:i,gl:h,canvas:h.canvas,groups:A}),M;function M(y){y?d(y):y===null&&u(),g()}function g(y){if(typeof y==\"number\")return b(y);y&&!Array.isArray(y)&&(y=[y]),i._refresh(),A.forEach((f,R)=>{if(f){if(y&&(y[R]?f.draw=!0:f.draw=!1),!f.draw){f.draw=!0;return}b(R)}})}function b(y){typeof y==\"number\"&&(y=A[y]),y!=null&&y&&y.count&&y.color&&y.opacity&&y.positions&&y.positions.length>1&&(y.scaleRatio=[y.scale[0]*y.viewport.width,y.scale[1]*y.viewport.height],c(y),y.after&&y.after(y))}function d(y){if(!y)return;y.length!=null?typeof y[0]==\"number\"&&(y=[{positions:y}]):Array.isArray(y)||(y=[y]);let f=0,R=0;if(M.groups=A=y.map((F,N)=>{let O=A[N];if(F)typeof F==\"function\"?F={after:F}:typeof F[0]==\"number\"&&(F={positions:F});else return O;return F=E(F,{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\"}),O||(A[N]=O={id:N,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},F=e({},w,F)),S(O,F,[{lineWidth:P=>+P*.5,capSize:P=>+P*.5,opacity:parseFloat,errors:P=>(P=t(P),R+=P.length,P),positions:(P,U)=>(P=t(P,\"float64\"),U.count=Math.floor(P.length/2),U.bounds=v(P,2),U.offset=f,f+=U.count,P)},{color:(P,U)=>{let B=U.count;if(P||(P=\"transparent\"),!Array.isArray(P)||typeof P[0]==\"number\"){let $=P;P=Array(B);for(let se=0;se{let X=U.bounds;return P||(P=X),U.scale=[1/(P[2]-P[0]),1/(P[3]-P[1])],U.translate=[-P[0],-P[1]],U.scaleFract=o(U.scale),U.translateFract=o(U.translate),P},viewport:P=>{let U;return Array.isArray(P)?U={x:P[0],y:P[1],width:P[2]-P[0],height:P[3]-P[1]}:P?(U={x:P.x||P.left||0,y:P.y||P.top||0},P.right?U.width=P.right-U.x:U.width=P.w||P.width||0,P.bottom?U.height=P.bottom-U.y:U.height=P.h||P.height||0):U={x:0,y:0,width:h.drawingBufferWidth,height:h.drawingBufferHeight},U}}]),O}),f||R){let F=A.reduce((U,B,X)=>U+(B?B.count:0),0),N=new Float64Array(F*2),O=new Uint8Array(F*4),P=new Float32Array(F*4);A.forEach((U,B)=>{if(!U)return;let{positions:X,count:$,offset:se,color:le,errors:fe}=U;$&&(O.set(le,se*4),P.set(fe,se*4),N.set(X,se*2))});var L=r(N);m(L);var z=o(N,L);p(z),T(O),l(P)}}function u(){m.destroy(),p.destroy(),T.destroy(),l.destroy(),_.destroy()}}}}),pq=Xe({\"node_modules/unquote/index.js\"(Z,G){var v=/[\\'\\\"]/;G.exports=function(S){return S?(v.test(S.charAt(0))&&(S=S.substr(1)),v.test(S.charAt(S.length-1))&&(S=S.substr(0,S.length-1)),S):\"\"}}}),i6=Xe({\"node_modules/css-global-keywords/index.json\"(Z,G){G.exports=[\"inherit\",\"initial\",\"unset\"]}}),n6=Xe({\"node_modules/css-system-font-keywords/index.json\"(Z,G){G.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]}}),o6=Xe({\"node_modules/css-font-weight-keywords/index.json\"(Z,G){G.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]}}),s6=Xe({\"node_modules/css-font-style-keywords/index.json\"(Z,G){G.exports=[\"normal\",\"italic\",\"oblique\"]}}),l6=Xe({\"node_modules/css-font-stretch-keywords/index.json\"(Z,G){G.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]}}),dq=Xe({\"node_modules/parenthesis/index.js\"(Z,G){\"use strict\";function v(E,e){if(typeof E!=\"string\")return[E];var t=[E];typeof e==\"string\"||Array.isArray(e)?e={brackets:e}:e||(e={});var r=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],o=e.escape||\"___\",a=!!e.flat;r.forEach(function(s){var h=new RegExp([\"\\\\\",s[0],\"[^\\\\\",s[0],\"\\\\\",s[1],\"]*\\\\\",s[1]].join(\"\")),c=[];function m(p,T,l){var _=t.push(p.slice(s[0].length,-s[1].length))-1;return c.push(_),o+_+o}t.forEach(function(p,T){for(var l,_=0;p!=l;)if(l=p,p=p.replace(h,m),_++>1e4)throw Error(\"References have circular dependency. Please, check them.\");t[T]=p}),c=c.reverse(),t=t.map(function(p){return c.forEach(function(T){p=p.replace(new RegExp(\"(\\\\\"+o+T+\"\\\\\"+o+\")\",\"g\"),s[0]+\"$1\"+s[1])}),p})});var n=new RegExp(\"\\\\\"+o+\"([0-9]+)\\\\\"+o);function i(s,h,c){for(var m=[],p,T=0;p=n.exec(s);){if(T++>1e4)throw Error(\"Circular references in parenthesis\");m.push(s.slice(0,p.index)),m.push(i(h[p[1]],h)),s=s.slice(p.index+p[0].length)}return m.push(s),m}return a?t:i(t[0],t)}function x(E,e){if(e&&e.flat){var t=e&&e.escape||\"___\",r=E[0],o;if(!r)return\"\";for(var a=new RegExp(\"\\\\\"+t+\"([0-9]+)\\\\\"+t),n=0;r!=o;){if(n++>1e4)throw Error(\"Circular references in \"+E);o=r,r=r.replace(a,i)}return r}return E.reduce(function s(h,c){return Array.isArray(c)&&(c=c.reduce(s,\"\")),h+c},\"\");function i(s,h){if(E[h]==null)throw Error(\"Reference \"+h+\"is undefined\");return E[h]}}function S(E,e){return Array.isArray(E)?x(E,e):v(E,e)}S.parse=v,S.stringify=x,G.exports=S}}),vq=Xe({\"node_modules/string-split-by/index.js\"(Z,G){\"use strict\";var v=dq();G.exports=function(S,E,e){if(S==null)throw Error(\"First argument should be a string\");if(E==null)throw Error(\"Separator should be a string or a RegExp\");e?(typeof e==\"string\"||Array.isArray(e))&&(e={ignore:e}):e={},e.escape==null&&(e.escape=!0),e.ignore==null?e.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof e.ignore==\"string\"&&(e.ignore=[e.ignore]),e.ignore=e.ignore.map(function(h){return h.length===1&&(h=h+h),h}));var t=v.parse(S,{flat:!0,brackets:e.ignore}),r=t[0],o=r.split(E);if(e.escape){for(var a=[],n=0;n1&&Zt===fr&&(Zt==='\"'||Zt===\"'\"))return['\"'+r(it.substr(1,it.length-2))+'\"'];var oa=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(it);if(oa)return o(it.substr(0,oa.index)).concat(o(oa[1])).concat(o(it.substr(oa.index+oa[0].length)));var wa=it.split(\".\");if(wa.length===1)return['\"'+r(it)+'\"'];for(var ma=[],_a=0;_a\"u\"?1:window.devicePixelRatio,si=!1,yn={},zi=function(ea){},Ei=function(){};if(typeof Zt==\"string\"?fr=document.querySelector(Zt):typeof Zt==\"object\"&&(_(Zt)?fr=Zt:w(Zt)?(ma=Zt,wa=ma.canvas):(\"gl\"in Zt?ma=Zt.gl:\"canvas\"in Zt?wa=M(Zt.canvas):\"container\"in Zt&&(oa=M(Zt.container)),\"attributes\"in Zt&&(_a=Zt.attributes),\"extensions\"in Zt&&(Ya=A(Zt.extensions)),\"optionalExtensions\"in Zt&&(bi=A(Zt.optionalExtensions)),\"onDone\"in Zt&&(zi=Zt.onDone),\"profile\"in Zt&&(si=!!Zt.profile),\"pixelRatio\"in Zt&&(yi=+Zt.pixelRatio),\"cachedCode\"in Zt&&(yn=Zt.cachedCode))),fr&&(fr.nodeName.toLowerCase()===\"canvas\"?wa=fr:oa=fr),!ma){if(!wa){var Na=T(oa||document.body,zi,yi);if(!Na)return null;wa=Na.canvas,Ei=Na.onDestroy}_a.premultipliedAlpha===void 0&&(_a.premultipliedAlpha=!0),ma=l(wa,_a)}return ma?{gl:ma,canvas:wa,container:oa,extensions:Ya,optionalExtensions:bi,pixelRatio:yi,profile:si,cachedCode:yn,onDone:zi,onDestroy:Ei}:(Ei(),zi(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function b(it,Zt){var fr={};function oa(_a){var Ya=_a.toLowerCase(),bi;try{bi=fr[Ya]=it.getExtension(Ya)}catch{}return!!bi}for(var wa=0;wa65535)<<4,it>>>=Zt,fr=(it>255)<<3,it>>>=fr,Zt|=fr,fr=(it>15)<<2,it>>>=fr,Zt|=fr,fr=(it>3)<<1,it>>>=fr,Zt|=fr,Zt|it>>1}function P(){var it=d(8,function(){return[]});function Zt(ma){var _a=N(ma),Ya=it[O(_a)>>2];return Ya.length>0?Ya.pop():new ArrayBuffer(_a)}function fr(ma){it[O(ma.byteLength)>>2].push(ma)}function oa(ma,_a){var Ya=null;switch(ma){case u:Ya=new Int8Array(Zt(_a),0,_a);break;case y:Ya=new Uint8Array(Zt(_a),0,_a);break;case f:Ya=new Int16Array(Zt(2*_a),0,_a);break;case R:Ya=new Uint16Array(Zt(2*_a),0,_a);break;case L:Ya=new Int32Array(Zt(4*_a),0,_a);break;case z:Ya=new Uint32Array(Zt(4*_a),0,_a);break;case F:Ya=new Float32Array(Zt(4*_a),0,_a);break;default:return null}return Ya.length!==_a?Ya.subarray(0,_a):Ya}function wa(ma){fr(ma.buffer)}return{alloc:Zt,free:fr,allocType:oa,freeType:wa}}var U=P();U.zero=P();var B=3408,X=3410,$=3411,se=3412,le=3413,fe=3414,V=3415,Y=33901,ee=33902,q=3379,oe=3386,ae=34921,j=36347,Q=36348,re=35661,ce=35660,be=34930,Ae=36349,De=34076,ze=34024,Ze=7936,at=7937,nt=7938,rt=35724,st=34047,Me=36063,ye=34852,he=3553,Oe=34067,tt=34069,ot=33984,Qe=6408,Pt=5126,It=5121,qt=36160,Wt=36053,kr=36064,mr=16384,qr=function(it,Zt){var fr=1;Zt.ext_texture_filter_anisotropic&&(fr=it.getParameter(st));var oa=1,wa=1;Zt.webgl_draw_buffers&&(oa=it.getParameter(ye),wa=it.getParameter(Me));var ma=!!Zt.oes_texture_float;if(ma){var _a=it.createTexture();it.bindTexture(he,_a),it.texImage2D(he,0,Qe,1,1,0,Qe,Pt,null);var Ya=it.createFramebuffer();if(it.bindFramebuffer(qt,Ya),it.framebufferTexture2D(qt,kr,he,_a,0),it.bindTexture(he,null),it.checkFramebufferStatus(qt)!==Wt)ma=!1;else{it.viewport(0,0,1,1),it.clearColor(1,0,0,1),it.clear(mr);var bi=U.allocType(Pt,4);it.readPixels(0,0,1,1,Qe,Pt,bi),it.getError()?ma=!1:(it.deleteFramebuffer(Ya),it.deleteTexture(_a),ma=bi[0]===1),U.freeType(bi)}}var yi=typeof navigator<\"u\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),si=!0;if(!yi){var yn=it.createTexture(),zi=U.allocType(It,36);it.activeTexture(ot),it.bindTexture(Oe,yn),it.texImage2D(tt,0,Qe,3,3,0,Qe,It,zi),U.freeType(zi),it.bindTexture(Oe,null),it.deleteTexture(yn),si=!it.getError()}return{colorBits:[it.getParameter(X),it.getParameter($),it.getParameter(se),it.getParameter(le)],depthBits:it.getParameter(fe),stencilBits:it.getParameter(V),subpixelBits:it.getParameter(B),extensions:Object.keys(Zt).filter(function(Ei){return!!Zt[Ei]}),maxAnisotropic:fr,maxDrawbuffers:oa,maxColorAttachments:wa,pointSizeDims:it.getParameter(Y),lineWidthDims:it.getParameter(ee),maxViewportDims:it.getParameter(oe),maxCombinedTextureUnits:it.getParameter(re),maxCubeMapSize:it.getParameter(De),maxRenderbufferSize:it.getParameter(ze),maxTextureUnits:it.getParameter(be),maxTextureSize:it.getParameter(q),maxAttributes:it.getParameter(ae),maxVertexUniforms:it.getParameter(j),maxVertexTextureUnits:it.getParameter(ce),maxVaryingVectors:it.getParameter(Q),maxFragmentUniforms:it.getParameter(Ae),glsl:it.getParameter(rt),renderer:it.getParameter(at),vendor:it.getParameter(Ze),version:it.getParameter(nt),readFloat:ma,npotTextureCube:si}},Sr=function(it){return it instanceof Uint8Array||it instanceof Uint16Array||it instanceof Uint32Array||it instanceof Int8Array||it instanceof Int16Array||it instanceof Int32Array||it instanceof Float32Array||it instanceof Float64Array||it instanceof Uint8ClampedArray};function Rr(it){return!!it&&typeof it==\"object\"&&Array.isArray(it.shape)&&Array.isArray(it.stride)&&typeof it.offset==\"number\"&&it.shape.length===it.stride.length&&(Array.isArray(it.data)||Sr(it.data))}var wt=function(it){return Object.keys(it).map(function(Zt){return it[Zt]})},Ne={shape:Ee,flatten:Ce};function Ke(it,Zt,fr){for(var oa=0;oa0){var pn;if(Array.isArray(Ma[0])){Li=Ca(Ma);for(var Ha=1,Ua=1;Ua0){if(typeof Ha[0]==\"number\"){var Ti=U.allocType(Va.dtype,Ha.length);Fr(Ti,Ha),Li(Ti,Yi),U.freeType(Ti)}else if(Array.isArray(Ha[0])||Sr(Ha[0])){Ri=Ca(Ha);var xi=Wa(Ha,Ri,Va.dtype);Li(xi,Yi),U.freeType(xi)}}}else if(Rr(Ha)){Ri=Ha.shape;var Xi=Ha.stride,mn=0,In=0,Ii=0,an=0;Ri.length===1?(mn=Ri[0],In=1,Ii=Xi[0],an=0):Ri.length===2&&(mn=Ri[0],In=Ri[1],Ii=Xi[0],an=Xi[1]);var kn=Array.isArray(Ha.data)?Va.dtype:Jt(Ha.data),Dn=U.allocType(kn,mn*In);ta(Dn,Ha.data,mn,In,Ii,an,Ha.offset),Li(Dn,Yi),U.freeType(Dn)}return Bi}return Qa||Bi(ea),Bi._reglType=\"buffer\",Bi._buffer=Va,Bi.subdata=pn,fr.profile&&(Bi.stats=Va.stats),Bi.destroy=function(){zi(Va)},Bi}function Na(){wt(ma).forEach(function(ea){ea.buffer=it.createBuffer(),it.bindBuffer(ea.type,ea.buffer),it.bufferData(ea.type,ea.persistentData||ea.byteLength,ea.usage)})}return fr.profile&&(Zt.getTotalBufferSize=function(){var ea=0;return Object.keys(ma).forEach(function(Ma){ea+=ma[Ma].stats.size}),ea}),{create:Ei,createStream:bi,destroyStream:yi,clear:function(){wt(ma).forEach(zi),Ya.forEach(zi)},getBuffer:function(ea){return ea&&ea._buffer instanceof _a?ea._buffer:null},restore:Na,_initBuffer:yn}}var ca=0,Ba=0,$a=1,Za=1,ri=4,pi=4,Ra={points:ca,point:Ba,lines:$a,line:Za,triangles:ri,triangle:pi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},tn=0,on=1,hn=4,Tt=5120,ut=5121,Br=5122,Cr=5123,xr=5124,Ir=5125,Ur=34963,Hr=35040,xt=35044;function Xt(it,Zt,fr,oa){var wa={},ma=0,_a={uint8:ut,uint16:Cr};Zt.oes_element_index_uint&&(_a.uint32=Ir);function Ya(Na){this.id=ma++,wa[this.id]=this,this.buffer=Na,this.primType=hn,this.vertCount=0,this.type=0}Ya.prototype.bind=function(){this.buffer.bind()};var bi=[];function yi(Na){var ea=bi.pop();return ea||(ea=new Ya(fr.create(null,Ur,!0,!1)._buffer)),yn(ea,Na,Hr,-1,-1,0,0),ea}function si(Na){bi.push(Na)}function yn(Na,ea,Ma,Qa,di,Va,Bi){Na.buffer.bind();var Li;if(ea){var pn=Bi;!Bi&&(!Sr(ea)||Rr(ea)&&!Sr(ea.data))&&(pn=Zt.oes_element_index_uint?Ir:Cr),fr._initBuffer(Na.buffer,ea,Ma,pn,3)}else it.bufferData(Ur,Va,Ma),Na.buffer.dtype=Li||ut,Na.buffer.usage=Ma,Na.buffer.dimension=3,Na.buffer.byteLength=Va;if(Li=Bi,!Bi){switch(Na.buffer.dtype){case ut:case Tt:Li=ut;break;case Cr:case Br:Li=Cr;break;case Ir:case xr:Li=Ir;break;default:}Na.buffer.dtype=Li}Na.type=Li;var Ha=di;Ha<0&&(Ha=Na.buffer.byteLength,Li===Cr?Ha>>=1:Li===Ir&&(Ha>>=2)),Na.vertCount=Ha;var Ua=Qa;if(Qa<0){Ua=hn;var Yi=Na.buffer.dimension;Yi===1&&(Ua=tn),Yi===2&&(Ua=on),Yi===3&&(Ua=hn)}Na.primType=Ua}function zi(Na){oa.elementsCount--,delete wa[Na.id],Na.buffer.destroy(),Na.buffer=null}function Ei(Na,ea){var Ma=fr.create(null,Ur,!0),Qa=new Ya(Ma._buffer);oa.elementsCount++;function di(Va){if(!Va)Ma(),Qa.primType=hn,Qa.vertCount=0,Qa.type=ut;else if(typeof Va==\"number\")Ma(Va),Qa.primType=hn,Qa.vertCount=Va|0,Qa.type=ut;else{var Bi=null,Li=xt,pn=-1,Ha=-1,Ua=0,Yi=0;Array.isArray(Va)||Sr(Va)||Rr(Va)?Bi=Va:(\"data\"in Va&&(Bi=Va.data),\"usage\"in Va&&(Li=qa[Va.usage]),\"primitive\"in Va&&(pn=Ra[Va.primitive]),\"count\"in Va&&(Ha=Va.count|0),\"type\"in Va&&(Yi=_a[Va.type]),\"length\"in Va?Ua=Va.length|0:(Ua=Ha,Yi===Cr||Yi===Br?Ua*=2:(Yi===Ir||Yi===xr)&&(Ua*=4))),yn(Qa,Bi,Li,pn,Ha,Ua,Yi)}return di}return di(Na),di._reglType=\"elements\",di._elements=Qa,di.subdata=function(Va,Bi){return Ma.subdata(Va,Bi),di},di.destroy=function(){zi(Qa)},di}return{create:Ei,createStream:yi,destroyStream:si,getElements:function(Na){return typeof Na==\"function\"&&Na._elements instanceof Ya?Na._elements:null},clear:function(){wt(wa).forEach(zi)}}}var vr=new Float32Array(1),Or=new Uint32Array(vr.buffer),ba=5123;function Pa(it){for(var Zt=U.allocType(ba,it.length),fr=0;fr>>31<<15,ma=(oa<<1>>>24)-127,_a=oa>>13&1023;if(ma<-24)Zt[fr]=wa;else if(ma<-14){var Ya=-14-ma;Zt[fr]=wa+(_a+1024>>Ya)}else ma>15?Zt[fr]=wa+31744:Zt[fr]=wa+(ma+15<<10)+_a}return Zt}function ya(it){return Array.isArray(it)||Sr(it)}var la=34467,Ta=3553,Ai=34067,ki=34069,Ki=6408,_n=6406,Rn=6407,En=6409,On=6410,no=32854,cn=32855,lo=36194,Wo=32819,hs=32820,Oo=33635,Wn=34042,No=6402,as=34041,Ns=35904,ss=35906,uo=36193,jn=33776,Xn=33777,ls=33778,Cs=33779,Ks=35986,Xo=35987,Gi=34798,Ln=35840,Us=35841,_s=35842,Gn=35843,zs=36196,vs=5121,Ws=5123,il=5125,xn=5126,ko=10242,bo=10243,Is=10497,pu=33071,co=33648,Vs=10240,vl=10241,Ts=9728,js=9729,us=9984,As=9985,Nl=9986,su=9987,Tc=33170,du=4352,Sf=4353,Uc=4354,Fs=34046,dc=3317,Hc=37440,lu=37441,Pl=37443,ic=37444,Ou=33984,nl=[us,Nl,As,su],ml=[0,En,On,Rn,Ki],xs={};xs[En]=xs[_n]=xs[No]=1,xs[as]=xs[On]=2,xs[Rn]=xs[Ns]=3,xs[Ki]=xs[ss]=4;function Xs(it){return\"[object \"+it+\"]\"}var nc=Xs(\"HTMLCanvasElement\"),Ul=Xs(\"OffscreenCanvas\"),qu=Xs(\"CanvasRenderingContext2D\"),fl=Xs(\"ImageBitmap\"),xh=Xs(\"HTMLImageElement\"),ns=Xs(\"HTMLVideoElement\"),bh=Object.keys(Pe).concat([nc,Ul,qu,fl,xh,ns]),Es=[];Es[vs]=1,Es[xn]=4,Es[uo]=2,Es[Ws]=2,Es[il]=4;var to=[];to[no]=2,to[cn]=2,to[lo]=2,to[as]=4,to[jn]=.5,to[Xn]=.5,to[ls]=1,to[Cs]=1,to[Ks]=.5,to[Xo]=1,to[Gi]=1,to[Ln]=.5,to[Us]=.25,to[_s]=.5,to[Gn]=.25,to[zs]=.5;function Wc(it){return Array.isArray(it)&&(it.length===0||typeof it[0]==\"number\")}function Vu(it){if(!Array.isArray(it))return!1;var Zt=it.length;return!(Zt===0||!ya(it[0]))}function jl(it){return Object.prototype.toString.call(it)}function Mf(it){return jl(it)===nc}function Ac(it){return jl(it)===Ul}function nf(it){return jl(it)===qu}function $l(it){return jl(it)===fl}function Jf(it){return jl(it)===xh}function Of(it){return jl(it)===ns}function of(it){if(!it)return!1;var Zt=jl(it);return bh.indexOf(Zt)>=0?!0:Wc(it)||Vu(it)||Rr(it)}function jc(it){return Pe[Object.prototype.toString.call(it)]|0}function Bf(it,Zt){var fr=Zt.length;switch(it.type){case vs:case Ws:case il:case xn:var oa=U.allocType(it.type,fr);oa.set(Zt),it.data=oa;break;case uo:it.data=Pa(Zt);break;default:}}function Nf(it,Zt){return U.allocType(it.type===uo?xn:it.type,Zt)}function Gu(it,Zt){it.type===uo?(it.data=Pa(Zt),U.freeType(Zt)):it.data=Zt}function Ef(it,Zt,fr,oa,wa,ma){for(var _a=it.width,Ya=it.height,bi=it.channels,yi=_a*Ya*bi,si=Nf(it,yi),yn=0,zi=0;zi=1;)Ya+=_a*bi*bi,bi/=2;return Ya}else return _a*fr*oa}function Xc(it,Zt,fr,oa,wa,ma,_a){var Ya={\"don't care\":du,\"dont care\":du,nice:Uc,fast:Sf},bi={repeat:Is,clamp:pu,mirror:co},yi={nearest:Ts,linear:js},si=v({mipmap:su,\"nearest mipmap nearest\":us,\"linear mipmap nearest\":As,\"nearest mipmap linear\":Nl,\"linear mipmap linear\":su},yi),yn={none:0,browser:ic},zi={uint8:vs,rgba4:Wo,rgb565:Oo,\"rgb5 a1\":hs},Ei={alpha:_n,luminance:En,\"luminance alpha\":On,rgb:Rn,rgba:Ki,rgba4:no,\"rgb5 a1\":cn,rgb565:lo},Na={};Zt.ext_srgb&&(Ei.srgb=Ns,Ei.srgba=ss),Zt.oes_texture_float&&(zi.float32=zi.float=xn),Zt.oes_texture_half_float&&(zi.float16=zi[\"half float\"]=uo),Zt.webgl_depth_texture&&(v(Ei,{depth:No,\"depth stencil\":as}),v(zi,{uint16:Ws,uint32:il,\"depth stencil\":Wn})),Zt.webgl_compressed_texture_s3tc&&v(Na,{\"rgb s3tc dxt1\":jn,\"rgba s3tc dxt1\":Xn,\"rgba s3tc dxt3\":ls,\"rgba s3tc dxt5\":Cs}),Zt.webgl_compressed_texture_atc&&v(Na,{\"rgb atc\":Ks,\"rgba atc explicit alpha\":Xo,\"rgba atc interpolated alpha\":Gi}),Zt.webgl_compressed_texture_pvrtc&&v(Na,{\"rgb pvrtc 4bppv1\":Ln,\"rgb pvrtc 2bppv1\":Us,\"rgba pvrtc 4bppv1\":_s,\"rgba pvrtc 2bppv1\":Gn}),Zt.webgl_compressed_texture_etc1&&(Na[\"rgb etc1\"]=zs);var ea=Array.prototype.slice.call(it.getParameter(la));Object.keys(Na).forEach(function(Le){var $e=Na[Le];ea.indexOf($e)>=0&&(Ei[Le]=$e)});var Ma=Object.keys(Ei);fr.textureFormats=Ma;var Qa=[];Object.keys(Ei).forEach(function(Le){var $e=Ei[Le];Qa[$e]=Le});var di=[];Object.keys(zi).forEach(function(Le){var $e=zi[Le];di[$e]=Le});var Va=[];Object.keys(yi).forEach(function(Le){var $e=yi[Le];Va[$e]=Le});var Bi=[];Object.keys(si).forEach(function(Le){var $e=si[Le];Bi[$e]=Le});var Li=[];Object.keys(bi).forEach(function(Le){var $e=bi[Le];Li[$e]=Le});var pn=Ma.reduce(function(Le,$e){var gt=Ei[$e];return gt===En||gt===_n||gt===En||gt===On||gt===No||gt===as||Zt.ext_srgb&&(gt===Ns||gt===ss)?Le[gt]=gt:gt===cn||$e.indexOf(\"rgba\")>=0?Le[gt]=Ki:Le[gt]=Rn,Le},{});function Ha(){this.internalformat=Ki,this.format=Ki,this.type=vs,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=ic,this.width=0,this.height=0,this.channels=0}function Ua(Le,$e){Le.internalformat=$e.internalformat,Le.format=$e.format,Le.type=$e.type,Le.compressed=$e.compressed,Le.premultiplyAlpha=$e.premultiplyAlpha,Le.flipY=$e.flipY,Le.unpackAlignment=$e.unpackAlignment,Le.colorSpace=$e.colorSpace,Le.width=$e.width,Le.height=$e.height,Le.channels=$e.channels}function Yi(Le,$e){if(!(typeof $e!=\"object\"||!$e)){if(\"premultiplyAlpha\"in $e&&(Le.premultiplyAlpha=$e.premultiplyAlpha),\"flipY\"in $e&&(Le.flipY=$e.flipY),\"alignment\"in $e&&(Le.unpackAlignment=$e.alignment),\"colorSpace\"in $e&&(Le.colorSpace=yn[$e.colorSpace]),\"type\"in $e){var gt=$e.type;Le.type=zi[gt]}var jt=Le.width,wr=Le.height,Nr=Le.channels,pr=!1;\"shape\"in $e?(jt=$e.shape[0],wr=$e.shape[1],$e.shape.length===3&&(Nr=$e.shape[2],pr=!0)):(\"radius\"in $e&&(jt=wr=$e.radius),\"width\"in $e&&(jt=$e.width),\"height\"in $e&&(wr=$e.height),\"channels\"in $e&&(Nr=$e.channels,pr=!0)),Le.width=jt|0,Le.height=wr|0,Le.channels=Nr|0;var yt=!1;if(\"format\"in $e){var kt=$e.format,Bt=Le.internalformat=Ei[kt];Le.format=pn[Bt],kt in zi&&(\"type\"in $e||(Le.type=zi[kt])),kt in Na&&(Le.compressed=!0),yt=!0}!pr&&yt?Le.channels=xs[Le.format]:pr&&!yt&&Le.channels!==ml[Le.format]&&(Le.format=Le.internalformat=ml[Le.channels])}}function Ri(Le){it.pixelStorei(Hc,Le.flipY),it.pixelStorei(lu,Le.premultiplyAlpha),it.pixelStorei(Pl,Le.colorSpace),it.pixelStorei(dc,Le.unpackAlignment)}function Ti(){Ha.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function xi(Le,$e){var gt=null;if(of($e)?gt=$e:$e&&(Yi(Le,$e),\"x\"in $e&&(Le.xOffset=$e.x|0),\"y\"in $e&&(Le.yOffset=$e.y|0),of($e.data)&&(gt=$e.data)),$e.copy){var jt=wa.viewportWidth,wr=wa.viewportHeight;Le.width=Le.width||jt-Le.xOffset,Le.height=Le.height||wr-Le.yOffset,Le.needsCopy=!0}else if(!gt)Le.width=Le.width||1,Le.height=Le.height||1,Le.channels=Le.channels||4;else if(Sr(gt))Le.channels=Le.channels||4,Le.data=gt,!(\"type\"in $e)&&Le.type===vs&&(Le.type=jc(gt));else if(Wc(gt))Le.channels=Le.channels||4,Bf(Le,gt),Le.alignment=1,Le.needsFree=!0;else if(Rr(gt)){var Nr=gt.data;!Array.isArray(Nr)&&Le.type===vs&&(Le.type=jc(Nr));var pr=gt.shape,yt=gt.stride,kt,Bt,nr,hr,lr,dr;pr.length===3?(nr=pr[2],dr=yt[2]):(nr=1,dr=1),kt=pr[0],Bt=pr[1],hr=yt[0],lr=yt[1],Le.alignment=1,Le.width=kt,Le.height=Bt,Le.channels=nr,Le.format=Le.internalformat=ml[nr],Le.needsFree=!0,Ef(Le,Nr,hr,lr,dr,gt.offset)}else if(Mf(gt)||Ac(gt)||nf(gt))Mf(gt)||Ac(gt)?Le.element=gt:Le.element=gt.canvas,Le.width=Le.element.width,Le.height=Le.element.height,Le.channels=4;else if($l(gt))Le.element=gt,Le.width=gt.width,Le.height=gt.height,Le.channels=4;else if(Jf(gt))Le.element=gt,Le.width=gt.naturalWidth,Le.height=gt.naturalHeight,Le.channels=4;else if(Of(gt))Le.element=gt,Le.width=gt.videoWidth,Le.height=gt.videoHeight,Le.channels=4;else if(Vu(gt)){var ur=Le.width||gt[0].length,Ht=Le.height||gt.length,sr=Le.channels;ya(gt[0][0])?sr=sr||gt[0][0].length:sr=sr||1;for(var Vt=Ne.shape(gt),Dr=1,Jr=0;Jr>=wr,gt.height>>=wr,xi(gt,jt[wr]),Le.mipmask|=1<=0&&!(\"faces\"in $e)&&(Le.genMipmaps=!0)}if(\"mag\"in $e){var jt=$e.mag;Le.magFilter=yi[jt]}var wr=Le.wrapS,Nr=Le.wrapT;if(\"wrap\"in $e){var pr=$e.wrap;typeof pr==\"string\"?wr=Nr=bi[pr]:Array.isArray(pr)&&(wr=bi[pr[0]],Nr=bi[pr[1]])}else{if(\"wrapS\"in $e){var yt=$e.wrapS;wr=bi[yt]}if(\"wrapT\"in $e){var kt=$e.wrapT;Nr=bi[kt]}}if(Le.wrapS=wr,Le.wrapT=Nr,\"anisotropic\"in $e){var Bt=$e.anisotropic;Le.anisotropic=$e.anisotropic}if(\"mipmap\"in $e){var nr=!1;switch(typeof $e.mipmap){case\"string\":Le.mipmapHint=Ya[$e.mipmap],Le.genMipmaps=!0,nr=!0;break;case\"boolean\":nr=Le.genMipmaps=$e.mipmap;break;case\"object\":Le.genMipmaps=!1,nr=!0;break;default:}nr&&!(\"min\"in $e)&&(Le.minFilter=us)}}function kl(Le,$e){it.texParameteri($e,vl,Le.minFilter),it.texParameteri($e,Vs,Le.magFilter),it.texParameteri($e,ko,Le.wrapS),it.texParameteri($e,bo,Le.wrapT),Zt.ext_texture_filter_anisotropic&&it.texParameteri($e,Fs,Le.anisotropic),Le.genMipmaps&&(it.hint(Tc,Le.mipmapHint),it.generateMipmap($e))}var tu=0,qs={},pl=fr.maxTextureUnits,wl=Array(pl).map(function(){return null});function Yn(Le){Ha.call(this),this.mipmask=0,this.internalformat=Ki,this.id=tu++,this.refCount=1,this.target=Le,this.texture=it.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new fs,_a.profile&&(this.stats={size:0})}function Cl(Le){it.activeTexture(Ou),it.bindTexture(Le.target,Le.texture)}function Co(){var Le=wl[0];Le?it.bindTexture(Le.target,Le.texture):it.bindTexture(Ta,null)}function ve(Le){var $e=Le.texture,gt=Le.unit,jt=Le.target;gt>=0&&(it.activeTexture(Ou+gt),it.bindTexture(jt,null),wl[gt]=null),it.deleteTexture($e),Le.texture=null,Le.params=null,Le.pixels=null,Le.refCount=0,delete qs[Le.id],ma.textureCount--}v(Yn.prototype,{bind:function(){var Le=this;Le.bindCount+=1;var $e=Le.unit;if($e<0){for(var gt=0;gt0)continue;jt.unit=-1}wl[gt]=Le,$e=gt;break}$e>=pl,_a.profile&&ma.maxTextureUnits<$e+1&&(ma.maxTextureUnits=$e+1),Le.unit=$e,it.activeTexture(Ou+$e),it.bindTexture(Le.target,Le.texture)}return $e},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&ve(this)}});function K(Le,$e){var gt=new Yn(Ta);qs[gt.id]=gt,ma.textureCount++;function jt(pr,yt){var kt=gt.texInfo;fs.call(kt);var Bt=po();return typeof pr==\"number\"?typeof yt==\"number\"?Dn(Bt,pr|0,yt|0):Dn(Bt,pr|0,pr|0):pr?(Sl(kt,pr),Zn(Bt,pr)):Dn(Bt,1,1),kt.genMipmaps&&(Bt.mipmask=(Bt.width<<1)-1),gt.mipmask=Bt.mipmask,Ua(gt,Bt),gt.internalformat=Bt.internalformat,jt.width=Bt.width,jt.height=Bt.height,Cl(gt),Ds(Bt,Ta),kl(kt,Ta),Co(),Wl(Bt),_a.profile&&(gt.stats.size=oc(gt.internalformat,gt.type,Bt.width,Bt.height,kt.genMipmaps,!1)),jt.format=Qa[gt.internalformat],jt.type=di[gt.type],jt.mag=Va[kt.magFilter],jt.min=Bi[kt.minFilter],jt.wrapS=Li[kt.wrapS],jt.wrapT=Li[kt.wrapT],jt}function wr(pr,yt,kt,Bt){var nr=yt|0,hr=kt|0,lr=Bt|0,dr=Ii();return Ua(dr,gt),dr.width=0,dr.height=0,xi(dr,pr),dr.width=dr.width||(gt.width>>lr)-nr,dr.height=dr.height||(gt.height>>lr)-hr,Cl(gt),mn(dr,Ta,nr,hr,lr),Co(),an(dr),jt}function Nr(pr,yt){var kt=pr|0,Bt=yt|0||kt;if(kt===gt.width&&Bt===gt.height)return jt;jt.width=gt.width=kt,jt.height=gt.height=Bt,Cl(gt);for(var nr=0;gt.mipmask>>nr;++nr){var hr=kt>>nr,lr=Bt>>nr;if(!hr||!lr)break;it.texImage2D(Ta,nr,gt.format,hr,lr,0,gt.format,gt.type,null)}return Co(),_a.profile&&(gt.stats.size=oc(gt.internalformat,gt.type,kt,Bt,!1,!1)),jt}return jt(Le,$e),jt.subimage=wr,jt.resize=Nr,jt._reglType=\"texture2d\",jt._texture=gt,_a.profile&&(jt.stats=gt.stats),jt.destroy=function(){gt.decRef()},jt}function _e(Le,$e,gt,jt,wr,Nr){var pr=new Yn(Ai);qs[pr.id]=pr,ma.cubeCount++;var yt=new Array(6);function kt(hr,lr,dr,ur,Ht,sr){var Vt,Dr=pr.texInfo;for(fs.call(Dr),Vt=0;Vt<6;++Vt)yt[Vt]=po();if(typeof hr==\"number\"||!hr){var Jr=hr|0||1;for(Vt=0;Vt<6;++Vt)Dn(yt[Vt],Jr,Jr)}else if(typeof hr==\"object\")if(lr)Zn(yt[0],hr),Zn(yt[1],lr),Zn(yt[2],dr),Zn(yt[3],ur),Zn(yt[4],Ht),Zn(yt[5],sr);else if(Sl(Dr,hr),Yi(pr,hr),\"faces\"in hr){var ga=hr.faces;for(Vt=0;Vt<6;++Vt)Ua(yt[Vt],pr),Zn(yt[Vt],ga[Vt])}else for(Vt=0;Vt<6;++Vt)Zn(yt[Vt],hr);for(Ua(pr,yt[0]),Dr.genMipmaps?pr.mipmask=(yt[0].width<<1)-1:pr.mipmask=yt[0].mipmask,pr.internalformat=yt[0].internalformat,kt.width=yt[0].width,kt.height=yt[0].height,Cl(pr),Vt=0;Vt<6;++Vt)Ds(yt[Vt],ki+Vt);for(kl(Dr,Ai),Co(),_a.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,kt.width,kt.height,Dr.genMipmaps,!0)),kt.format=Qa[pr.internalformat],kt.type=di[pr.type],kt.mag=Va[Dr.magFilter],kt.min=Bi[Dr.minFilter],kt.wrapS=Li[Dr.wrapS],kt.wrapT=Li[Dr.wrapT],Vt=0;Vt<6;++Vt)Wl(yt[Vt]);return kt}function Bt(hr,lr,dr,ur,Ht){var sr=dr|0,Vt=ur|0,Dr=Ht|0,Jr=Ii();return Ua(Jr,pr),Jr.width=0,Jr.height=0,xi(Jr,lr),Jr.width=Jr.width||(pr.width>>Dr)-sr,Jr.height=Jr.height||(pr.height>>Dr)-Vt,Cl(pr),mn(Jr,ki+hr,sr,Vt,Dr),Co(),an(Jr),kt}function nr(hr){var lr=hr|0;if(lr!==pr.width){kt.width=pr.width=lr,kt.height=pr.height=lr,Cl(pr);for(var dr=0;dr<6;++dr)for(var ur=0;pr.mipmask>>ur;++ur)it.texImage2D(ki+dr,ur,pr.format,lr>>ur,lr>>ur,0,pr.format,pr.type,null);return Co(),_a.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,kt.width,kt.height,!1,!0)),kt}}return kt(Le,$e,gt,jt,wr,Nr),kt.subimage=Bt,kt.resize=nr,kt._reglType=\"textureCube\",kt._texture=pr,_a.profile&&(kt.stats=pr.stats),kt.destroy=function(){pr.decRef()},kt}function te(){for(var Le=0;Le>jt,gt.height>>jt,0,gt.internalformat,gt.type,null);else for(var wr=0;wr<6;++wr)it.texImage2D(ki+wr,jt,gt.internalformat,gt.width>>jt,gt.height>>jt,0,gt.internalformat,gt.type,null);kl(gt.texInfo,gt.target)})}function Ge(){for(var Le=0;Le=0?Wl=!0:bi.indexOf(fs)>=0&&(Wl=!1))),(\"depthTexture\"in Yn||\"depthStencilTexture\"in Yn)&&(wl=!!(Yn.depthTexture||Yn.depthStencilTexture)),\"depth\"in Yn&&(typeof Yn.depth==\"boolean\"?Ds=Yn.depth:(tu=Yn.depth,bl=!1)),\"stencil\"in Yn&&(typeof Yn.stencil==\"boolean\"?bl=Yn.stencil:(qs=Yn.stencil,Ds=!1)),\"depthStencil\"in Yn&&(typeof Yn.depthStencil==\"boolean\"?Ds=bl=Yn.depthStencil:(pl=Yn.depthStencil,Ds=!1,bl=!1))}var Co=null,ve=null,K=null,_e=null;if(Array.isArray(po))Co=po.map(Na);else if(po)Co=[Na(po)];else for(Co=new Array(kl),kn=0;kn0&&(an.depth=xi[0].depth,an.stencil=xi[0].stencil,an.depthStencil=xi[0].depthStencil),xi[Ii]?xi[Ii](an):xi[Ii]=Ua(an)}return v(Xi,{width:kn,height:kn,color:fs})}function mn(In){var Ii,an=In|0;if(an===Xi.width)return Xi;var kn=Xi.color;for(Ii=0;Ii=kn.byteLength?Dn.subdata(kn):(Dn.destroy(),Ua.buffers[In]=null)),Ua.buffers[In]||(Dn=Ua.buffers[In]=wa.create(Ii,mf,!1,!0)),an.buffer=wa.getBuffer(Dn),an.size=an.buffer.dimension|0,an.normalized=!1,an.type=an.buffer.dtype,an.offset=0,an.stride=0,an.divisor=0,an.state=1,Xi[In]=1}else wa.getBuffer(Ii)?(an.buffer=wa.getBuffer(Ii),an.size=an.buffer.dimension|0,an.normalized=!1,an.type=an.buffer.dtype,an.offset=0,an.stride=0,an.divisor=0,an.state=1):wa.getBuffer(Ii.buffer)?(an.buffer=wa.getBuffer(Ii.buffer),an.size=(+Ii.size||an.buffer.dimension)|0,an.normalized=!!Ii.normalized||!1,\"type\"in Ii?an.type=fa[Ii.type]:an.type=an.buffer.dtype,an.offset=(Ii.offset||0)|0,an.stride=(Ii.stride||0)|0,an.divisor=(Ii.divisor||0)|0,an.state=1):\"x\"in Ii&&(an.x=+Ii.x||0,an.y=+Ii.y||0,an.z=+Ii.z||0,an.w=+Ii.w||0,an.state=2)}for(var Zn=0;Zn1)for(var Ri=0;Riea&&(ea=Ma.stats.uniformsCount)}),ea},fr.getMaxAttributesCount=function(){var ea=0;return si.forEach(function(Ma){Ma.stats.attributesCount>ea&&(ea=Ma.stats.attributesCount)}),ea});function Na(){wa={},ma={};for(var ea=0;ea16&&(fr=Pi(fr,it.length*8));for(var oa=Array(16),wa=Array(16),ma=0;ma<16;ma++)oa[ma]=fr[ma]^909522486,wa[ma]=fr[ma]^1549556828;var _a=Pi(oa.concat(Pc(Zt)),512+Zt.length*8);return Qt(Pi(wa.concat(_a),768))}function xu(it){for(var Zt=Vf?\"0123456789ABCDEF\":\"0123456789abcdef\",fr=\"\",oa,wa=0;wa>>4&15)+Zt.charAt(oa&15);return fr}function Lc(it){for(var Zt=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",fr=\"\",oa=it.length,wa=0;wait.length*8?fr+=Xu:fr+=Zt.charAt(ma>>>6*(3-_a)&63);return fr}function Jc(it,Zt){var fr=Zt.length,oa=Array(),wa,ma,_a,Ya,bi=Array(Math.ceil(it.length/2));for(wa=0;wa0;){for(Ya=Array(),_a=0,wa=0;wa0||ma>0)&&(Ya[Ya.length]=ma);oa[oa.length]=_a,bi=Ya}var yi=\"\";for(wa=oa.length-1;wa>=0;wa--)yi+=Zt.charAt(oa[wa]);var si=Math.ceil(it.length*8/(Math.log(Zt.length)/Math.log(2)));for(wa=yi.length;wa>>6&31,128|oa&63):oa<=65535?Zt+=String.fromCharCode(224|oa>>>12&15,128|oa>>>6&63,128|oa&63):oa<=2097151&&(Zt+=String.fromCharCode(240|oa>>>18&7,128|oa>>>12&63,128|oa>>>6&63,128|oa&63));return Zt}function Pc(it){for(var Zt=Array(it.length>>2),fr=0;fr>5]|=(it.charCodeAt(fr/8)&255)<<24-fr%32;return Zt}function Qt(it){for(var Zt=\"\",fr=0;fr>5]>>>24-fr%32&255);return Zt}function br(it,Zt){return it>>>Zt|it<<32-Zt}function aa(it,Zt){return it>>>Zt}function $r(it,Zt,fr){return it&Zt^~it&fr}function ka(it,Zt,fr){return it&Zt^it&fr^Zt&fr}function li(it){return br(it,2)^br(it,13)^br(it,22)}function Ci(it){return br(it,6)^br(it,11)^br(it,25)}function Hi(it){return br(it,7)^br(it,18)^aa(it,3)}function Qi(it){return br(it,17)^br(it,19)^aa(it,10)}var dn=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Pi(it,Zt){var fr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),oa=new Array(64),wa,ma,_a,Ya,bi,yi,si,yn,zi,Ei,Na,ea;for(it[Zt>>5]|=128<<24-Zt%32,it[(Zt+64>>9<<4)+15]=Zt,zi=0;zi>16)+(Zt>>16)+(fr>>16);return oa<<16|fr&65535}function Ni(it){return Array.prototype.slice.call(it)}function mi(it){return Ni(it).join(\"\")}function Mn(it){var Zt=it&&it.cache,fr=0,oa=[],wa=[],ma=[];function _a(Na,ea){var Ma=ea&&ea.stable;if(!Ma){for(var Qa=0;Qa0&&(Na.push(di,\"=\"),Na.push.apply(Na,Ni(arguments)),Na.push(\";\")),di}return v(ea,{def:Qa,toString:function(){return mi([Ma.length>0?\"var \"+Ma.join(\",\")+\";\":\"\",mi(Na)])}})}function bi(){var Na=Ya(),ea=Ya(),Ma=Na.toString,Qa=ea.toString;function di(Va,Bi){ea(Va,Bi,\"=\",Na.def(Va,Bi),\";\")}return v(function(){Na.apply(Na,Ni(arguments))},{def:Na.def,entry:Na,exit:ea,save:di,set:function(Va,Bi,Li){di(Va,Bi),Na(Va,Bi,\"=\",Li,\";\")},toString:function(){return Ma()+Qa()}})}function yi(){var Na=mi(arguments),ea=bi(),Ma=bi(),Qa=ea.toString,di=Ma.toString;return v(ea,{then:function(){return ea.apply(ea,Ni(arguments)),this},else:function(){return Ma.apply(Ma,Ni(arguments)),this},toString:function(){var Va=di();return Va&&(Va=\"else{\"+Va+\"}\"),mi([\"if(\",Na,\"){\",Qa(),\"}\",Va])}})}var si=Ya(),yn={};function zi(Na,ea){var Ma=[];function Qa(){var pn=\"a\"+Ma.length;return Ma.push(pn),pn}ea=ea||0;for(var di=0;di\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Fa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Xa={cw:et,ccw:mt};function fi(it){return Array.isArray(it)||Sr(it)||Rr(it)}function ni(it){return it.sort(function(Zt,fr){return Zt===Se?-1:fr===Se?1:Zt=1,oa>=2,Zt)}else if(fr===Ss){var wa=it.data;return new La(wa.thisDep,wa.contextDep,wa.propDep,Zt)}else{if(fr===rl)return new La(!1,!1,!1,Zt);if(fr===Os){for(var ma=!1,_a=!1,Ya=!1,bi=0;bi=1&&(_a=!0),si>=2&&(Ya=!0)}else yi.type===Ss&&(ma=ma||yi.data.thisDep,_a=_a||yi.data.contextDep,Ya=Ya||yi.data.propDep)}return new La(ma,_a,Ya,Zt)}else return new La(fr===Ko,fr===yo,fr===un,Zt)}}var Pn=new La(!1,!1,!1,function(){});function Jn(it,Zt,fr,oa,wa,ma,_a,Ya,bi,yi,si,yn,zi,Ei,Na,ea){var Ma=yi.Record,Qa={add:32774,subtract:32778,\"reverse subtract\":32779};fr.ext_blend_minmax&&(Qa.min=bt,Qa.max=Mt);var di=fr.angle_instanced_arrays,Va=fr.webgl_draw_buffers,Bi=fr.oes_vertex_array_object,Li={dirty:!0,profile:ea.profile},pn={},Ha=[],Ua={},Yi={};function Ri(yt){return yt.replace(\".\",\"_\")}function Ti(yt,kt,Bt){var nr=Ri(yt);Ha.push(yt),pn[nr]=Li[nr]=!!Bt,Ua[nr]=kt}function xi(yt,kt,Bt){var nr=Ri(yt);Ha.push(yt),Array.isArray(Bt)?(Li[nr]=Bt.slice(),pn[nr]=Bt.slice()):Li[nr]=pn[nr]=Bt,Yi[nr]=kt}function Xi(yt){return!!isNaN(yt)}Ti(el,ci),Ti(bs,za),xi(Fl,\"blendColor\",[0,0,0,0]),xi(_l,\"blendEquationSeparate\",[Xr,Xr]),xi(ll,\"blendFuncSeparate\",[Gr,_r,Gr,_r]),Ti(Un,ji,!0),xi(Lo,\"depthFunc\",xa),xi(Js,\"depthRange\",[0,1]),xi(Rs,\"depthMask\",!0),xi(uu,uu,[!0,!0,!0,!0]),Ti(Iu,Aa),xi(Zu,\"cullFace\",Fe),xi(Ic,Ic,mt),xi(bu,bu,1),Ti(Rc,Sn),xi(Au,\"polygonOffset\",[0,0]),Ti(yc,Kn),Ti(ho,Bn),xi(Ro,\"sampleCoverage\",[1,!1]),Ti(Dc,Vi),xi(lc,\"stencilMask\",-1),xi(Yu,\"stencilFunc\",[ar,0,-1]),xi(Ue,\"stencilOpSeparate\",[de,Ot,Ot,Ot]),xi(I,\"stencilOpSeparate\",[Fe,Ot,Ot,Ot]),Ti(ie,nn),xi(we,\"scissor\",[0,0,it.drawingBufferWidth,it.drawingBufferHeight]),xi(Se,Se,[0,0,it.drawingBufferWidth,it.drawingBufferHeight]);var mn={gl:it,context:zi,strings:Zt,next:pn,current:Li,draw:yn,elements:ma,buffer:wa,shader:si,attributes:yi.state,vao:yi,uniforms:bi,framebuffer:Ya,extensions:fr,timer:Ei,isBufferArgs:fi},In={primTypes:Ra,compareFuncs:Sa,blendFuncs:ti,blendEquations:Qa,stencilOps:Fa,glTypes:fa,orientationType:Xa};Va&&(In.backBuffer=[Fe],In.drawBuffer=d(oa.maxDrawbuffers,function(yt){return yt===0?[0]:d(yt,function(kt){return Ja+kt})}));var Ii=0;function an(){var yt=Mn({cache:Na}),kt=yt.link,Bt=yt.global;yt.id=Ii++,yt.batchId=\"0\";var nr=kt(mn),hr=yt.shared={props:\"a0\"};Object.keys(mn).forEach(function(sr){hr[sr]=Bt.def(nr,\".\",sr)});var lr=yt.next={},dr=yt.current={};Object.keys(Yi).forEach(function(sr){Array.isArray(Li[sr])&&(lr[sr]=Bt.def(hr.next,\".\",sr),dr[sr]=Bt.def(hr.current,\".\",sr))});var ur=yt.constants={};Object.keys(In).forEach(function(sr){ur[sr]=Bt.def(JSON.stringify(In[sr]))}),yt.invoke=function(sr,Vt){switch(Vt.type){case An:var Dr=[\"this\",hr.context,hr.props,yt.batchId];return sr.def(kt(Vt.data),\".call(\",Dr.slice(0,Math.max(Vt.data.length+1,4)),\")\");case un:return sr.def(hr.props,Vt.data);case yo:return sr.def(hr.context,Vt.data);case Ko:return sr.def(\"this\",Vt.data);case Ss:return Vt.data.append(yt,sr),Vt.data.ref;case rl:return Vt.data.toString();case Os:return Vt.data.map(function(Jr){return yt.invoke(sr,Jr)})}},yt.attribCache={};var Ht={};return yt.scopeAttrib=function(sr){var Vt=Zt.id(sr);if(Vt in Ht)return Ht[Vt];var Dr=yi.scope[Vt];Dr||(Dr=yi.scope[Vt]=new Ma);var Jr=Ht[Vt]=kt(Dr);return Jr},yt}function kn(yt){var kt=yt.static,Bt=yt.dynamic,nr;if(Be in kt){var hr=!!kt[Be];nr=rn(function(dr,ur){return hr}),nr.enable=hr}else if(Be in Bt){var lr=Bt[Be];nr=vn(lr,function(dr,ur){return dr.invoke(ur,lr)})}return nr}function Dn(yt,kt){var Bt=yt.static,nr=yt.dynamic;if(dt in Bt){var hr=Bt[dt];return hr?(hr=Ya.getFramebuffer(hr),rn(function(dr,ur){var Ht=dr.link(hr),sr=dr.shared;ur.set(sr.framebuffer,\".next\",Ht);var Vt=sr.context;return ur.set(Vt,\".\"+vt,Ht+\".width\"),ur.set(Vt,\".\"+Lt,Ht+\".height\"),Ht})):rn(function(dr,ur){var Ht=dr.shared;ur.set(Ht.framebuffer,\".next\",\"null\");var sr=Ht.context;return ur.set(sr,\".\"+vt,sr+\".\"+yr),ur.set(sr,\".\"+Lt,sr+\".\"+Er),\"null\"})}else if(dt in nr){var lr=nr[dt];return vn(lr,function(dr,ur){var Ht=dr.invoke(ur,lr),sr=dr.shared,Vt=sr.framebuffer,Dr=ur.def(Vt,\".getFramebuffer(\",Ht,\")\");ur.set(Vt,\".next\",Dr);var Jr=sr.context;return ur.set(Jr,\".\"+vt,Dr+\"?\"+Dr+\".width:\"+Jr+\".\"+yr),ur.set(Jr,\".\"+Lt,Dr+\"?\"+Dr+\".height:\"+Jr+\".\"+Er),Dr})}else return null}function Zn(yt,kt,Bt){var nr=yt.static,hr=yt.dynamic;function lr(Ht){if(Ht in nr){var sr=nr[Ht],Vt=!0,Dr=sr.x|0,Jr=sr.y|0,ga,vi;return\"width\"in sr?ga=sr.width|0:Vt=!1,\"height\"in sr?vi=sr.height|0:Vt=!1,new La(!Vt&&kt&&kt.thisDep,!Vt&&kt&&kt.contextDep,!Vt&&kt&&kt.propDep,function(Zi,Fi){var ui=Zi.shared.context,_i=ga;\"width\"in sr||(_i=Fi.def(ui,\".\",vt,\"-\",Dr));var Si=vi;return\"height\"in sr||(Si=Fi.def(ui,\".\",Lt,\"-\",Jr)),[Dr,Jr,_i,Si]})}else if(Ht in hr){var Ga=hr[Ht],ai=vn(Ga,function(Zi,Fi){var ui=Zi.invoke(Fi,Ga),_i=Zi.shared.context,Si=Fi.def(ui,\".x|0\"),Ui=Fi.def(ui,\".y|0\"),fn=Fi.def('\"width\" in ',ui,\"?\",ui,\".width|0:\",\"(\",_i,\".\",vt,\"-\",Si,\")\"),_o=Fi.def('\"height\" in ',ui,\"?\",ui,\".height|0:\",\"(\",_i,\".\",Lt,\"-\",Ui,\")\");return[Si,Ui,fn,_o]});return kt&&(ai.thisDep=ai.thisDep||kt.thisDep,ai.contextDep=ai.contextDep||kt.contextDep,ai.propDep=ai.propDep||kt.propDep),ai}else return kt?new La(kt.thisDep,kt.contextDep,kt.propDep,function(Zi,Fi){var ui=Zi.shared.context;return[0,0,Fi.def(ui,\".\",vt),Fi.def(ui,\".\",Lt)]}):null}var dr=lr(Se);if(dr){var ur=dr;dr=new La(dr.thisDep,dr.contextDep,dr.propDep,function(Ht,sr){var Vt=ur.append(Ht,sr),Dr=Ht.shared.context;return sr.set(Dr,\".\"+At,Vt[2]),sr.set(Dr,\".\"+zt,Vt[3]),Vt})}return{viewport:dr,scissor_box:lr(we)}}function Ds(yt,kt){var Bt=yt.static,nr=typeof Bt[Nt]==\"string\"&&typeof Bt[St]==\"string\";if(nr){if(Object.keys(kt.dynamic).length>0)return null;var hr=kt.static,lr=Object.keys(hr);if(lr.length>0&&typeof hr[lr[0]]==\"number\"){for(var dr=[],ur=0;ur\"+Si+\"?\"+Vt+\".constant[\"+Si+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",ga,\"(\",Vt,\".buffer)){\",Zi,\"=\",vi,\".createStream(\",Qr,\",\",Vt,\".buffer);\",\"}else{\",Zi,\"=\",vi,\".getBuffer(\",Vt,\".buffer);\",\"}\",Fi,'=\"type\" in ',Vt,\"?\",Jr.glTypes,\"[\",Vt,\".type]:\",Zi,\".dtype;\",Ga.normalized,\"=!!\",Vt,\".normalized;\");function ui(_i){sr(Ga[_i],\"=\",Vt,\".\",_i,\"|0;\")}return ui(\"size\"),ui(\"offset\"),ui(\"stride\"),ui(\"divisor\"),sr(\"}}\"),sr.exit(\"if(\",Ga.isStream,\"){\",vi,\".destroyStream(\",Zi,\");\",\"}\"),Ga}hr[lr]=vn(dr,ur)}),hr}function kl(yt){var kt=yt.static,Bt=yt.dynamic,nr={};return Object.keys(kt).forEach(function(hr){var lr=kt[hr];nr[hr]=rn(function(dr,ur){return typeof lr==\"number\"||typeof lr==\"boolean\"?\"\"+lr:dr.link(lr)})}),Object.keys(Bt).forEach(function(hr){var lr=Bt[hr];nr[hr]=vn(lr,function(dr,ur){return dr.invoke(ur,lr)})}),nr}function tu(yt,kt,Bt,nr,hr){var lr=yt.static,dr=yt.dynamic,ur=Ds(yt,kt),Ht=Dn(yt,hr),sr=Zn(yt,Ht,hr),Vt=po(yt,hr),Dr=Wl(yt,hr),Jr=bl(yt,hr,ur);function ga(ui){var _i=sr[ui];_i&&(Dr[ui]=_i)}ga(Se),ga(Ri(we));var vi=Object.keys(Dr).length>0,Ga={framebuffer:Ht,draw:Vt,shader:Jr,state:Dr,dirty:vi,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ga.profile=kn(yt,hr),Ga.uniforms=fs(Bt,hr),Ga.drawVAO=Ga.scopeVAO=Vt.vao,!Ga.drawVAO&&Jr.program&&!ur&&fr.angle_instanced_arrays&&Vt.static.elements){var ai=!0,Zi=Jr.program.attributes.map(function(ui){var _i=kt.static[ui];return ai=ai&&!!_i,_i});if(ai&&Zi.length>0){var Fi=yi.getVAO(yi.createVAO({attributes:Zi,elements:Vt.static.elements}));Ga.drawVAO=new La(null,null,null,function(ui,_i){return ui.link(Fi)}),Ga.useVAO=!0}}return ur?Ga.useVAO=!0:Ga.attributes=Sl(kt,hr),Ga.context=kl(nr,hr),Ga}function qs(yt,kt,Bt){var nr=yt.shared,hr=nr.context,lr=yt.scope();Object.keys(Bt).forEach(function(dr){kt.save(hr,\".\"+dr);var ur=Bt[dr],Ht=ur.append(yt,kt);Array.isArray(Ht)?lr(hr,\".\",dr,\"=[\",Ht.join(),\"];\"):lr(hr,\".\",dr,\"=\",Ht,\";\")}),kt(lr)}function pl(yt,kt,Bt,nr){var hr=yt.shared,lr=hr.gl,dr=hr.framebuffer,ur;Va&&(ur=kt.def(hr.extensions,\".webgl_draw_buffers\"));var Ht=yt.constants,sr=Ht.drawBuffer,Vt=Ht.backBuffer,Dr;Bt?Dr=Bt.append(yt,kt):Dr=kt.def(dr,\".next\"),nr||kt(\"if(\",Dr,\"!==\",dr,\".cur){\"),kt(\"if(\",Dr,\"){\",lr,\".bindFramebuffer(\",da,\",\",Dr,\".framebuffer);\"),Va&&kt(ur,\".drawBuffersWEBGL(\",sr,\"[\",Dr,\".colorAttachments.length]);\"),kt(\"}else{\",lr,\".bindFramebuffer(\",da,\",null);\"),Va&&kt(ur,\".drawBuffersWEBGL(\",Vt,\");\"),kt(\"}\",dr,\".cur=\",Dr,\";\"),nr||kt(\"}\")}function wl(yt,kt,Bt){var nr=yt.shared,hr=nr.gl,lr=yt.current,dr=yt.next,ur=nr.current,Ht=nr.next,sr=yt.cond(ur,\".dirty\");Ha.forEach(function(Vt){var Dr=Ri(Vt);if(!(Dr in Bt.state)){var Jr,ga;if(Dr in dr){Jr=dr[Dr],ga=lr[Dr];var vi=d(Li[Dr].length,function(ai){return sr.def(Jr,\"[\",ai,\"]\")});sr(yt.cond(vi.map(function(ai,Zi){return ai+\"!==\"+ga+\"[\"+Zi+\"]\"}).join(\"||\")).then(hr,\".\",Yi[Dr],\"(\",vi,\");\",vi.map(function(ai,Zi){return ga+\"[\"+Zi+\"]=\"+ai}).join(\";\"),\";\"))}else{Jr=sr.def(Ht,\".\",Dr);var Ga=yt.cond(Jr,\"!==\",ur,\".\",Dr);sr(Ga),Dr in Ua?Ga(yt.cond(Jr).then(hr,\".enable(\",Ua[Dr],\");\").else(hr,\".disable(\",Ua[Dr],\");\"),ur,\".\",Dr,\"=\",Jr,\";\"):Ga(hr,\".\",Yi[Dr],\"(\",Jr,\");\",ur,\".\",Dr,\"=\",Jr,\";\")}}}),Object.keys(Bt.state).length===0&&sr(ur,\".dirty=false;\"),kt(sr)}function Yn(yt,kt,Bt,nr){var hr=yt.shared,lr=yt.current,dr=hr.current,ur=hr.gl,Ht;ni(Object.keys(Bt)).forEach(function(sr){var Vt=Bt[sr];if(!(nr&&!nr(Vt))){var Dr=Vt.append(yt,kt);if(Ua[sr]){var Jr=Ua[sr];sn(Vt)?(Ht=yt.link(Dr,{stable:!0}),kt(yt.cond(Ht).then(ur,\".enable(\",Jr,\");\").else(ur,\".disable(\",Jr,\");\")),kt(dr,\".\",sr,\"=\",Ht,\";\")):(kt(yt.cond(Dr).then(ur,\".enable(\",Jr,\");\").else(ur,\".disable(\",Jr,\");\")),kt(dr,\".\",sr,\"=\",Dr,\";\"))}else if(ya(Dr)){var ga=lr[sr];kt(ur,\".\",Yi[sr],\"(\",Dr,\");\",Dr.map(function(vi,Ga){return ga+\"[\"+Ga+\"]=\"+vi}).join(\";\"),\";\")}else sn(Vt)?(Ht=yt.link(Dr,{stable:!0}),kt(ur,\".\",Yi[sr],\"(\",Ht,\");\",dr,\".\",sr,\"=\",Ht,\";\")):kt(ur,\".\",Yi[sr],\"(\",Dr,\");\",dr,\".\",sr,\"=\",Dr,\";\")}})}function Cl(yt,kt){di&&(yt.instancing=kt.def(yt.shared.extensions,\".angle_instanced_arrays\"))}function Co(yt,kt,Bt,nr,hr){var lr=yt.shared,dr=yt.stats,ur=lr.current,Ht=lr.timer,sr=Bt.profile;function Vt(){return typeof performance>\"u\"?\"Date.now()\":\"performance.now()\"}var Dr,Jr;function ga(ui){Dr=kt.def(),ui(Dr,\"=\",Vt(),\";\"),typeof hr==\"string\"?ui(dr,\".count+=\",hr,\";\"):ui(dr,\".count++;\"),Ei&&(nr?(Jr=kt.def(),ui(Jr,\"=\",Ht,\".getNumPendingQueries();\")):ui(Ht,\".beginQuery(\",dr,\");\"))}function vi(ui){ui(dr,\".cpuTime+=\",Vt(),\"-\",Dr,\";\"),Ei&&(nr?ui(Ht,\".pushScopeStats(\",Jr,\",\",Ht,\".getNumPendingQueries(),\",dr,\");\"):ui(Ht,\".endQuery();\"))}function Ga(ui){var _i=kt.def(ur,\".profile\");kt(ur,\".profile=\",ui,\";\"),kt.exit(ur,\".profile=\",_i,\";\")}var ai;if(sr){if(sn(sr)){sr.enable?(ga(kt),vi(kt.exit),Ga(\"true\")):Ga(\"false\");return}ai=sr.append(yt,kt),Ga(ai)}else ai=kt.def(ur,\".profile\");var Zi=yt.block();ga(Zi),kt(\"if(\",ai,\"){\",Zi,\"}\");var Fi=yt.block();vi(Fi),kt.exit(\"if(\",ai,\"){\",Fi,\"}\")}function ve(yt,kt,Bt,nr,hr){var lr=yt.shared;function dr(Ht){switch(Ht){case is:case ul:case Il:return 2;case Ao:case tl:case eu:return 3;case Zo:case Jo:case Ru:return 4;default:return 1}}function ur(Ht,sr,Vt){var Dr=lr.gl,Jr=kt.def(Ht,\".location\"),ga=kt.def(lr.attributes,\"[\",Jr,\"]\"),vi=Vt.state,Ga=Vt.buffer,ai=[Vt.x,Vt.y,Vt.z,Vt.w],Zi=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function Fi(){kt(\"if(!\",ga,\".buffer){\",Dr,\".enableVertexAttribArray(\",Jr,\");}\");var _i=Vt.type,Si;if(Vt.size?Si=kt.def(Vt.size,\"||\",sr):Si=sr,kt(\"if(\",ga,\".type!==\",_i,\"||\",ga,\".size!==\",Si,\"||\",Zi.map(function(fn){return ga+\".\"+fn+\"!==\"+Vt[fn]}).join(\"||\"),\"){\",Dr,\".bindBuffer(\",Qr,\",\",Ga,\".buffer);\",Dr,\".vertexAttribPointer(\",[Jr,Si,_i,Vt.normalized,Vt.stride,Vt.offset],\");\",ga,\".type=\",_i,\";\",ga,\".size=\",Si,\";\",Zi.map(function(fn){return ga+\".\"+fn+\"=\"+Vt[fn]+\";\"}).join(\"\"),\"}\"),di){var Ui=Vt.divisor;kt(\"if(\",ga,\".divisor!==\",Ui,\"){\",yt.instancing,\".vertexAttribDivisorANGLE(\",[Jr,Ui],\");\",ga,\".divisor=\",Ui,\";}\")}}function ui(){kt(\"if(\",ga,\".buffer){\",Dr,\".disableVertexAttribArray(\",Jr,\");\",ga,\".buffer=null;\",\"}if(\",Qn.map(function(_i,Si){return ga+\".\"+_i+\"!==\"+ai[Si]}).join(\"||\"),\"){\",Dr,\".vertexAttrib4f(\",Jr,\",\",ai,\");\",Qn.map(function(_i,Si){return ga+\".\"+_i+\"=\"+ai[Si]+\";\"}).join(\"\"),\"}\")}vi===eo?Fi():vi===fo?ui():(kt(\"if(\",vi,\"===\",eo,\"){\"),Fi(),kt(\"}else{\"),ui(),kt(\"}\"))}nr.forEach(function(Ht){var sr=Ht.name,Vt=Bt.attributes[sr],Dr;if(Vt){if(!hr(Vt))return;Dr=Vt.append(yt,kt)}else{if(!hr(Pn))return;var Jr=yt.scopeAttrib(sr);Dr={},Object.keys(new Ma).forEach(function(ga){Dr[ga]=kt.def(Jr,\".\",ga)})}ur(yt.link(Ht),dr(Ht.info.type),Dr)})}function K(yt,kt,Bt,nr,hr,lr){for(var dr=yt.shared,ur=dr.gl,Ht,sr=0;sr1){for(var Bo=[],Ps=[],Do=0;Do>1)\",Ga],\");\")}function Ui(){Bt(ai,\".drawArraysInstancedANGLE(\",[Jr,ga,vi,Ga],\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Bt(\"if(\",Vt,\"){\"),Si(),Bt(\"}else{\"),Ui(),Bt(\"}\")):Ui()}function _i(){function Si(){Bt(lr+\".drawElements(\"+[Jr,vi,Zi,ga+\"<<((\"+Zi+\"-\"+ao+\")>>1)\"]+\");\")}function Ui(){Bt(lr+\".drawArrays(\"+[Jr,ga,vi]+\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Bt(\"if(\",Vt,\"){\"),Si(),Bt(\"}else{\"),Ui(),Bt(\"}\")):Ui()}di&&(typeof Ga!=\"number\"||Ga>=0)?typeof Ga==\"string\"?(Bt(\"if(\",Ga,\">0){\"),ui(),Bt(\"}else if(\",Ga,\"<0){\"),_i(),Bt(\"}\")):ui():_i()}function te(yt,kt,Bt,nr,hr){var lr=an(),dr=lr.proc(\"body\",hr);return di&&(lr.instancing=dr.def(lr.shared.extensions,\".angle_instanced_arrays\")),yt(lr,dr,Bt,nr),lr.compile().body}function me(yt,kt,Bt,nr){Cl(yt,kt),Bt.useVAO?Bt.drawVAO?kt(yt.shared.vao,\".setVAO(\",Bt.drawVAO.append(yt,kt),\");\"):kt(yt.shared.vao,\".setVAO(\",yt.shared.vao,\".targetVAO);\"):(kt(yt.shared.vao,\".setVAO(null);\"),ve(yt,kt,Bt,nr.attributes,function(){return!0})),K(yt,kt,Bt,nr.uniforms,function(){return!0},!1),_e(yt,kt,kt,Bt)}function Ge(yt,kt){var Bt=yt.proc(\"draw\",1);Cl(yt,Bt),qs(yt,Bt,kt.context),pl(yt,Bt,kt.framebuffer),wl(yt,Bt,kt),Yn(yt,Bt,kt.state),Co(yt,Bt,kt,!1,!0);var nr=kt.shader.progVar.append(yt,Bt);if(Bt(yt.shared.gl,\".useProgram(\",nr,\".program);\"),kt.shader.program)me(yt,Bt,kt,kt.shader.program);else{Bt(yt.shared.vao,\".setVAO(null);\");var hr=yt.global.def(\"{}\"),lr=Bt.def(nr,\".id\"),dr=Bt.def(hr,\"[\",lr,\"]\");Bt(yt.cond(dr).then(dr,\".call(this,a0);\").else(dr,\"=\",hr,\"[\",lr,\"]=\",yt.link(function(ur){return te(me,yt,kt,ur,1)}),\"(\",nr,\");\",dr,\".call(this,a0);\"))}Object.keys(kt.state).length>0&&Bt(yt.shared.current,\".dirty=true;\"),yt.shared.vao&&Bt(yt.shared.vao,\".setVAO(null);\")}function Le(yt,kt,Bt,nr){yt.batchId=\"a1\",Cl(yt,kt);function hr(){return!0}ve(yt,kt,Bt,nr.attributes,hr),K(yt,kt,Bt,nr.uniforms,hr,!1),_e(yt,kt,kt,Bt)}function $e(yt,kt,Bt,nr){Cl(yt,kt);var hr=Bt.contextDep,lr=kt.def(),dr=\"a0\",ur=\"a1\",Ht=kt.def();yt.shared.props=Ht,yt.batchId=lr;var sr=yt.scope(),Vt=yt.scope();kt(sr.entry,\"for(\",lr,\"=0;\",lr,\"<\",ur,\";++\",lr,\"){\",Ht,\"=\",dr,\"[\",lr,\"];\",Vt,\"}\",sr.exit);function Dr(Zi){return Zi.contextDep&&hr||Zi.propDep}function Jr(Zi){return!Dr(Zi)}if(Bt.needsContext&&qs(yt,Vt,Bt.context),Bt.needsFramebuffer&&pl(yt,Vt,Bt.framebuffer),Yn(yt,Vt,Bt.state,Dr),Bt.profile&&Dr(Bt.profile)&&Co(yt,Vt,Bt,!1,!0),nr)Bt.useVAO?Bt.drawVAO?Dr(Bt.drawVAO)?Vt(yt.shared.vao,\".setVAO(\",Bt.drawVAO.append(yt,Vt),\");\"):sr(yt.shared.vao,\".setVAO(\",Bt.drawVAO.append(yt,sr),\");\"):sr(yt.shared.vao,\".setVAO(\",yt.shared.vao,\".targetVAO);\"):(sr(yt.shared.vao,\".setVAO(null);\"),ve(yt,sr,Bt,nr.attributes,Jr),ve(yt,Vt,Bt,nr.attributes,Dr)),K(yt,sr,Bt,nr.uniforms,Jr,!1),K(yt,Vt,Bt,nr.uniforms,Dr,!0),_e(yt,sr,Vt,Bt);else{var ga=yt.global.def(\"{}\"),vi=Bt.shader.progVar.append(yt,Vt),Ga=Vt.def(vi,\".id\"),ai=Vt.def(ga,\"[\",Ga,\"]\");Vt(yt.shared.gl,\".useProgram(\",vi,\".program);\",\"if(!\",ai,\"){\",ai,\"=\",ga,\"[\",Ga,\"]=\",yt.link(function(Zi){return te(Le,yt,Bt,Zi,2)}),\"(\",vi,\");}\",ai,\".call(this,a0[\",lr,\"],\",lr,\");\")}}function gt(yt,kt){var Bt=yt.proc(\"batch\",2);yt.batchId=\"0\",Cl(yt,Bt);var nr=!1,hr=!0;Object.keys(kt.context).forEach(function(ga){nr=nr||kt.context[ga].propDep}),nr||(qs(yt,Bt,kt.context),hr=!1);var lr=kt.framebuffer,dr=!1;lr?(lr.propDep?nr=dr=!0:lr.contextDep&&nr&&(dr=!0),dr||pl(yt,Bt,lr)):pl(yt,Bt,null),kt.state.viewport&&kt.state.viewport.propDep&&(nr=!0);function ur(ga){return ga.contextDep&&nr||ga.propDep}wl(yt,Bt,kt),Yn(yt,Bt,kt.state,function(ga){return!ur(ga)}),(!kt.profile||!ur(kt.profile))&&Co(yt,Bt,kt,!1,\"a1\"),kt.contextDep=nr,kt.needsContext=hr,kt.needsFramebuffer=dr;var Ht=kt.shader.progVar;if(Ht.contextDep&&nr||Ht.propDep)$e(yt,Bt,kt,null);else{var sr=Ht.append(yt,Bt);if(Bt(yt.shared.gl,\".useProgram(\",sr,\".program);\"),kt.shader.program)$e(yt,Bt,kt,kt.shader.program);else{Bt(yt.shared.vao,\".setVAO(null);\");var Vt=yt.global.def(\"{}\"),Dr=Bt.def(sr,\".id\"),Jr=Bt.def(Vt,\"[\",Dr,\"]\");Bt(yt.cond(Jr).then(Jr,\".call(this,a0,a1);\").else(Jr,\"=\",Vt,\"[\",Dr,\"]=\",yt.link(function(ga){return te($e,yt,kt,ga,2)}),\"(\",sr,\");\",Jr,\".call(this,a0,a1);\"))}}Object.keys(kt.state).length>0&&Bt(yt.shared.current,\".dirty=true;\"),yt.shared.vao&&Bt(yt.shared.vao,\".setVAO(null);\")}function jt(yt,kt){var Bt=yt.proc(\"scope\",3);yt.batchId=\"a2\";var nr=yt.shared,hr=nr.current;if(qs(yt,Bt,kt.context),kt.framebuffer&&kt.framebuffer.append(yt,Bt),ni(Object.keys(kt.state)).forEach(function(ur){var Ht=kt.state[ur],sr=Ht.append(yt,Bt);ya(sr)?sr.forEach(function(Vt,Dr){Xi(Vt)?Bt.set(yt.next[ur],\"[\"+Dr+\"]\",Vt):Bt.set(yt.next[ur],\"[\"+Dr+\"]\",yt.link(Vt,{stable:!0}))}):sn(Ht)?Bt.set(nr.next,\".\"+ur,yt.link(sr,{stable:!0})):Bt.set(nr.next,\".\"+ur,sr)}),Co(yt,Bt,kt,!0,!0),[$t,Kr,Ar,na,Tr].forEach(function(ur){var Ht=kt.draw[ur];if(Ht){var sr=Ht.append(yt,Bt);Xi(sr)?Bt.set(nr.draw,\".\"+ur,sr):Bt.set(nr.draw,\".\"+ur,yt.link(sr),{stable:!0})}}),Object.keys(kt.uniforms).forEach(function(ur){var Ht=kt.uniforms[ur].append(yt,Bt);Array.isArray(Ht)&&(Ht=\"[\"+Ht.map(function(sr){return Xi(sr)?sr:yt.link(sr,{stable:!0})})+\"]\"),Bt.set(nr.uniforms,\"[\"+yt.link(Zt.id(ur),{stable:!0})+\"]\",Ht)}),Object.keys(kt.attributes).forEach(function(ur){var Ht=kt.attributes[ur].append(yt,Bt),sr=yt.scopeAttrib(ur);Object.keys(new Ma).forEach(function(Vt){Bt.set(sr,\".\"+Vt,Ht[Vt])})}),kt.scopeVAO){var lr=kt.scopeVAO.append(yt,Bt);Xi(lr)?Bt.set(nr.vao,\".targetVAO\",lr):Bt.set(nr.vao,\".targetVAO\",yt.link(lr,{stable:!0}))}function dr(ur){var Ht=kt.shader[ur];if(Ht){var sr=Ht.append(yt,Bt);Xi(sr)?Bt.set(nr.shader,\".\"+ur,sr):Bt.set(nr.shader,\".\"+ur,yt.link(sr,{stable:!0}))}}dr(St),dr(Nt),Object.keys(kt.state).length>0&&(Bt(hr,\".dirty=true;\"),Bt.exit(hr,\".dirty=true;\")),Bt(\"a1(\",yt.shared.context,\",a0,\",yt.batchId,\");\")}function wr(yt){if(!(typeof yt!=\"object\"||ya(yt))){for(var kt=Object.keys(yt),Bt=0;Bt=0;--te){var me=mn[te];me&&me(Na,null,0)}fr.flush(),si&&si.update()}function Zn(){!kn&&mn.length>0&&(kn=c.next(Dn))}function Ds(){kn&&(c.cancel(Dn),kn=null)}function bl(te){te.preventDefault(),wa=!0,Ds(),In.forEach(function(me){me()})}function po(te){fr.getError(),wa=!1,ma.restore(),pn.restore(),di.restore(),Ha.restore(),Ua.restore(),Yi.restore(),Bi.restore(),si&&si.restore(),Ri.procs.refresh(),Zn(),Ii.forEach(function(me){me()})}Xi&&(Xi.addEventListener(cs,bl,!1),Xi.addEventListener(ms,po,!1));function Wl(){mn.length=0,Ds(),Xi&&(Xi.removeEventListener(cs,bl),Xi.removeEventListener(ms,po)),pn.clear(),Yi.clear(),Ua.clear(),Bi.clear(),Ha.clear(),Va.clear(),di.clear(),si&&si.clear(),an.forEach(function(te){te()})}function fs(te){function me(lr){var dr=v({},lr);delete dr.uniforms,delete dr.attributes,delete dr.context,delete dr.vao,\"stencil\"in dr&&dr.stencil.op&&(dr.stencil.opBack=dr.stencil.opFront=dr.stencil.op,delete dr.stencil.op);function ur(Ht){if(Ht in dr){var sr=dr[Ht];delete dr[Ht],Object.keys(sr).forEach(function(Vt){dr[Ht+\".\"+Vt]=sr[Vt]})}}return ur(\"blend\"),ur(\"depth\"),ur(\"cull\"),ur(\"stencil\"),ur(\"polygonOffset\"),ur(\"scissor\"),ur(\"sample\"),\"vao\"in lr&&(dr.vao=lr.vao),dr}function Ge(lr,dr){var ur={},Ht={};return Object.keys(lr).forEach(function(sr){var Vt=lr[sr];if(h.isDynamic(Vt)){Ht[sr]=h.unbox(Vt,sr);return}else if(dr&&Array.isArray(Vt)){for(var Dr=0;Dr0)return yt.call(this,nr(lr|0),lr|0)}else if(Array.isArray(lr)){if(lr.length)return yt.call(this,lr,lr.length)}else return pr.call(this,lr)}return v(hr,{stats:wr,destroy:function(){Nr.destroy()}})}var Sl=Yi.setFBO=fs({framebuffer:h.define.call(null,Al,\"framebuffer\")});function kl(te,me){var Ge=0;Ri.procs.poll();var Le=me.color;Le&&(fr.clearColor(+Le[0]||0,+Le[1]||0,+Le[2]||0,+Le[3]||0),Ge|=al),\"depth\"in me&&(fr.clearDepth(+me.depth),Ge|=xl),\"stencil\"in me&&(fr.clearStencil(me.stencil|0),Ge|=gn),fr.clear(Ge)}function tu(te){if(\"framebuffer\"in te)if(te.framebuffer&&te.framebuffer_reglType===\"framebufferCube\")for(var me=0;me<6;++me)Sl(v({framebuffer:te.framebuffer.faces[me]},te),kl);else Sl(te,kl);else kl(null,te)}function qs(te){mn.push(te);function me(){var Ge=Rl(mn,te);function Le(){var $e=Rl(mn,Le);mn[$e]=mn[mn.length-1],mn.length-=1,mn.length<=0&&Ds()}mn[Ge]=Le}return Zn(),{cancel:me}}function pl(){var te=xi.viewport,me=xi.scissor_box;te[0]=te[1]=me[0]=me[1]=0,Na.viewportWidth=Na.framebufferWidth=Na.drawingBufferWidth=te[2]=me[2]=fr.drawingBufferWidth,Na.viewportHeight=Na.framebufferHeight=Na.drawingBufferHeight=te[3]=me[3]=fr.drawingBufferHeight}function wl(){Na.tick+=1,Na.time=Cl(),pl(),Ri.procs.poll()}function Yn(){Ha.refresh(),pl(),Ri.procs.refresh(),si&&si.update()}function Cl(){return(m()-yn)/1e3}Yn();function Co(te,me){var Ge;switch(te){case\"frame\":return qs(me);case\"lost\":Ge=In;break;case\"restore\":Ge=Ii;break;case\"destroy\":Ge=an;break;default:}return Ge.push(me),{cancel:function(){for(var Le=0;Le=0},read:Ti,destroy:Wl,_gl:fr,_refresh:Yn,poll:function(){wl(),si&&si.update()},now:Cl,stats:Ya,getCachedCode:ve,preloadCachedCode:K});return Zt.onDone(null,_e),_e}return _c})}}),xq=Xe({\"node_modules/gl-util/context.js\"(Z,G){\"use strict\";var v=Ev();G.exports=function(o){if(o?typeof o==\"string\"&&(o={container:o}):o={},S(o)?o={container:o}:E(o)?o={container:o}:e(o)?o={gl:o}:o=v(o,{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),o.pixelRatio||(o.pixelRatio=window.pixelRatio||1),o.gl)return o.gl;if(o.canvas&&(o.container=o.canvas.parentNode),o.container){if(typeof o.container==\"string\"){var a=document.querySelector(o.container);if(!a)throw Error(\"Element \"+o.container+\" is not found\");o.container=a}S(o.container)?(o.canvas=o.container,o.container=o.canvas.parentNode):o.canvas||(o.canvas=t(),o.container.appendChild(o.canvas),x(o))}else if(!o.canvas)if(typeof document<\"u\")o.container=document.body||document.documentElement,o.canvas=t(),o.container.appendChild(o.canvas),x(o);else throw Error(\"Not DOM environment. Use headless-gl.\");return o.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{o.gl=o.canvas.getContext(n,o.attrs)}catch{}return o.gl}),o.gl};function x(r){if(r.container)if(r.container==document.body)document.body.style.width||(r.canvas.width=r.width||r.pixelRatio*window.innerWidth),document.body.style.height||(r.canvas.height=r.height||r.pixelRatio*window.innerHeight);else{var o=r.container.getBoundingClientRect();r.canvas.width=r.width||o.right-o.left,r.canvas.height=r.height||o.bottom-o.top}}function S(r){return typeof r.getContext==\"function\"&&\"width\"in r&&\"height\"in r}function E(r){return typeof r.nodeName==\"string\"&&typeof r.appendChild==\"function\"&&typeof r.getBoundingClientRect==\"function\"}function e(r){return typeof r.drawArrays==\"function\"||typeof r.drawElements==\"function\"}function t(){var r=document.createElement(\"canvas\");return r.style.position=\"absolute\",r.style.top=0,r.style.left=0,r}}}),bq=Xe({\"node_modules/font-atlas/index.js\"(Z,G){\"use strict\";var v=c6(),x=[32,126];G.exports=S;function S(E){E=E||{};var e=E.shape?E.shape:E.canvas?[E.canvas.width,E.canvas.height]:[512,512],t=E.canvas||document.createElement(\"canvas\"),r=E.font,o=typeof E.step==\"number\"?[E.step,E.step]:E.step||[32,32],a=E.chars||x;if(r&&typeof r!=\"string\"&&(r=v(r)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var n=[],i=a[0],s=0;i<=a[1];i++)n[s++]=String.fromCharCode(i);a=n}e=e.slice(),t.width=e[0],t.height=e[1];var h=t.getContext(\"2d\");h.fillStyle=\"#000\",h.fillRect(0,0,t.width,t.height),h.font=r,h.textAlign=\"center\",h.textBaseline=\"middle\",h.fillStyle=\"#fff\";for(var c=o[0]/2,m=o[1]/2,i=0;ie[0]-o[0]/2&&(c=o[0]/2,m+=o[1]);return t}}}),f6=Xe({\"node_modules/bit-twiddle/twiddle.js\"(Z){\"use strict\";\"use restrict\";var G=32;Z.INT_BITS=G,Z.INT_MAX=2147483647,Z.INT_MIN=-1<0)-(S<0)},Z.abs=function(S){var E=S>>G-1;return(S^E)-E},Z.min=function(S,E){return E^(S^E)&-(S65535)<<4,S>>>=E,e=(S>255)<<3,S>>>=e,E|=e,e=(S>15)<<2,S>>>=e,E|=e,e=(S>3)<<1,S>>>=e,E|=e,E|S>>1},Z.log10=function(S){return S>=1e9?9:S>=1e8?8:S>=1e7?7:S>=1e6?6:S>=1e5?5:S>=1e4?4:S>=1e3?3:S>=100?2:S>=10?1:0},Z.popCount=function(S){return S=S-(S>>>1&1431655765),S=(S&858993459)+(S>>>2&858993459),(S+(S>>>4)&252645135)*16843009>>>24};function v(S){var E=32;return S&=-S,S&&E--,S&65535&&(E-=16),S&16711935&&(E-=8),S&252645135&&(E-=4),S&858993459&&(E-=2),S&1431655765&&(E-=1),E}Z.countTrailingZeros=v,Z.nextPow2=function(S){return S+=S===0,--S,S|=S>>>1,S|=S>>>2,S|=S>>>4,S|=S>>>8,S|=S>>>16,S+1},Z.prevPow2=function(S){return S|=S>>>1,S|=S>>>2,S|=S>>>4,S|=S>>>8,S|=S>>>16,S-(S>>>1)},Z.parity=function(S){return S^=S>>>16,S^=S>>>8,S^=S>>>4,S&=15,27030>>>S&1};var x=new Array(256);(function(S){for(var E=0;E<256;++E){var e=E,t=E,r=7;for(e>>>=1;e;e>>>=1)t<<=1,t|=e&1,--r;S[E]=t<>>8&255]<<16|x[S>>>16&255]<<8|x[S>>>24&255]},Z.interleave2=function(S,E){return S&=65535,S=(S|S<<8)&16711935,S=(S|S<<4)&252645135,S=(S|S<<2)&858993459,S=(S|S<<1)&1431655765,E&=65535,E=(E|E<<8)&16711935,E=(E|E<<4)&252645135,E=(E|E<<2)&858993459,E=(E|E<<1)&1431655765,S|E<<1},Z.deinterleave2=function(S,E){return S=S>>>E&1431655765,S=(S|S>>>1)&858993459,S=(S|S>>>2)&252645135,S=(S|S>>>4)&16711935,S=(S|S>>>16)&65535,S<<16>>16},Z.interleave3=function(S,E,e){return S&=1023,S=(S|S<<16)&4278190335,S=(S|S<<8)&251719695,S=(S|S<<4)&3272356035,S=(S|S<<2)&1227133513,E&=1023,E=(E|E<<16)&4278190335,E=(E|E<<8)&251719695,E=(E|E<<4)&3272356035,E=(E|E<<2)&1227133513,S|=E<<1,e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,S|e<<2},Z.deinterleave3=function(S,E){return S=S>>>E&1227133513,S=(S|S>>>2)&3272356035,S=(S|S>>>4)&251719695,S=(S|S>>>8)&4278190335,S=(S|S>>>16)&1023,S<<22>>22},Z.nextCombination=function(S){var E=S|S-1;return E+1|(~E&-~E)-1>>>v(S)+1}}}),wq=Xe({\"node_modules/dup/dup.js\"(Z,G){\"use strict\";function v(E,e,t){var r=E[t]|0;if(r<=0)return[];var o=new Array(r),a;if(t===E.length-1)for(a=0;a\"u\"&&(e=0),typeof E){case\"number\":if(E>0)return x(E|0,e);break;case\"object\":if(typeof E.length==\"number\")return v(E,e,0);break}return[]}G.exports=S}}),Tq=Xe({\"node_modules/typedarray-pool/pool.js\"(Z){\"use strict\";var G=f6(),v=wq(),x=rg().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:v([32,0]),UINT16:v([32,0]),UINT32:v([32,0]),BIGUINT64:v([32,0]),INT8:v([32,0]),INT16:v([32,0]),INT32:v([32,0]),BIGINT64:v([32,0]),FLOAT:v([32,0]),DOUBLE:v([32,0]),DATA:v([32,0]),UINT8C:v([32,0]),BUFFER:v([32,0])});var S=typeof Uint8ClampedArray<\"u\",E=typeof BigUint64Array<\"u\",e=typeof BigInt64Array<\"u\",t=window.__TYPEDARRAY_POOL;t.UINT8C||(t.UINT8C=v([32,0])),t.BIGUINT64||(t.BIGUINT64=v([32,0])),t.BIGINT64||(t.BIGINT64=v([32,0])),t.BUFFER||(t.BUFFER=v([32,0]));var r=t.DATA,o=t.BUFFER;Z.free=function(u){if(x.isBuffer(u))o[G.log2(u.length)].push(u);else{if(Object.prototype.toString.call(u)!==\"[object ArrayBuffer]\"&&(u=u.buffer),!u)return;var y=u.length||u.byteLength,f=G.log2(y)|0;r[f].push(u)}};function a(d){if(d){var u=d.length||d.byteLength,y=G.log2(u);r[y].push(d)}}function n(d){a(d.buffer)}Z.freeUint8=Z.freeUint16=Z.freeUint32=Z.freeBigUint64=Z.freeInt8=Z.freeInt16=Z.freeInt32=Z.freeBigInt64=Z.freeFloat32=Z.freeFloat=Z.freeFloat64=Z.freeDouble=Z.freeUint8Clamped=Z.freeDataView=n,Z.freeArrayBuffer=a,Z.freeBuffer=function(u){o[G.log2(u.length)].push(u)},Z.malloc=function(u,y){if(y===void 0||y===\"arraybuffer\")return i(u);switch(y){case\"uint8\":return s(u);case\"uint16\":return h(u);case\"uint32\":return c(u);case\"int8\":return m(u);case\"int16\":return p(u);case\"int32\":return T(u);case\"float\":case\"float32\":return l(u);case\"double\":case\"float64\":return _(u);case\"uint8_clamped\":return w(u);case\"bigint64\":return M(u);case\"biguint64\":return A(u);case\"buffer\":return b(u);case\"data\":case\"dataview\":return g(u);default:return null}return null};function i(u){var u=G.nextPow2(u),y=G.log2(u),f=r[y];return f.length>0?f.pop():new ArrayBuffer(u)}Z.mallocArrayBuffer=i;function s(d){return new Uint8Array(i(d),0,d)}Z.mallocUint8=s;function h(d){return new Uint16Array(i(2*d),0,d)}Z.mallocUint16=h;function c(d){return new Uint32Array(i(4*d),0,d)}Z.mallocUint32=c;function m(d){return new Int8Array(i(d),0,d)}Z.mallocInt8=m;function p(d){return new Int16Array(i(2*d),0,d)}Z.mallocInt16=p;function T(d){return new Int32Array(i(4*d),0,d)}Z.mallocInt32=T;function l(d){return new Float32Array(i(4*d),0,d)}Z.mallocFloat32=Z.mallocFloat=l;function _(d){return new Float64Array(i(8*d),0,d)}Z.mallocFloat64=Z.mallocDouble=_;function w(d){return S?new Uint8ClampedArray(i(d),0,d):s(d)}Z.mallocUint8Clamped=w;function A(d){return E?new BigUint64Array(i(8*d),0,d):null}Z.mallocBigUint64=A;function M(d){return e?new BigInt64Array(i(8*d),0,d):null}Z.mallocBigInt64=M;function g(d){return new DataView(i(d),0,d)}Z.mallocDataView=g;function b(d){d=G.nextPow2(d);var u=G.log2(d),y=o[u];return y.length>0?y.pop():new x(d)}Z.mallocBuffer=b,Z.clearCache=function(){for(var u=0;u<32;++u)t.UINT8[u].length=0,t.UINT16[u].length=0,t.UINT32[u].length=0,t.INT8[u].length=0,t.INT16[u].length=0,t.INT32[u].length=0,t.FLOAT[u].length=0,t.DOUBLE[u].length=0,t.BIGUINT64[u].length=0,t.BIGINT64[u].length=0,t.UINT8C[u].length=0,r[u].length=0,o[u].length=0}}}),Aq=Xe({\"node_modules/is-plain-obj/index.js\"(Z,G){\"use strict\";var v=Object.prototype.toString;G.exports=function(x){var S;return v.call(x)===\"[object Object]\"&&(S=Object.getPrototypeOf(x),S===null||S===Object.getPrototypeOf({}))}}}),h6=Xe({\"node_modules/parse-unit/index.js\"(Z,G){G.exports=function(x,S){S||(S=[0,\"\"]),x=String(x);var E=parseFloat(x,10);return S[0]=E,S[1]=x.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",S}}}),Sq=Xe({\"node_modules/to-px/topx.js\"(Z,G){\"use strict\";var v=h6();G.exports=e;var x=96;function S(t,r){var o=v(getComputedStyle(t).getPropertyValue(r));return o[0]*e(o[1],t)}function E(t,r){var o=document.createElement(\"div\");o.style[\"font-size\"]=\"128\"+t,r.appendChild(o);var a=S(o,\"font-size\")/128;return r.removeChild(o),a}function e(t,r){switch(r=r||document.body,t=(t||\"px\").trim().toLowerCase(),(r===window||r===document)&&(r=document.body),t){case\"%\":return r.clientHeight/100;case\"ch\":case\"ex\":return E(t,r);case\"em\":return S(r,\"font-size\");case\"rem\":return S(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 x;case\"cm\":return x/2.54;case\"mm\":return x/25.4;case\"pt\":return x/72;case\"pc\":return x/6}return 1}}}),Mq=Xe({\"node_modules/detect-kerning/index.js\"(Z,G){\"use strict\";G.exports=E;var v=E.canvas=document.createElement(\"canvas\"),x=v.getContext(\"2d\"),S=e([32,126]);E.createPairs=e,E.ascii=S;function E(t,r){Array.isArray(t)&&(t=t.join(\", \"));var o={},a,n=16,i=.05;r&&(r.length===2&&typeof r[0]==\"number\"?a=e(r):Array.isArray(r)?a=r:(r.o?a=e(r.o):r.pairs&&(a=r.pairs),r.fontSize&&(n=r.fontSize),r.threshold!=null&&(i=r.threshold))),a||(a=S),x.font=n+\"px \"+t;for(var s=0;sn*i){var p=(m-c)/n;o[h]=p*1e3}}return o}function e(t){for(var r=[],o=t[0];o<=t[1];o++)for(var a=String.fromCharCode(o),n=t[0];n0;o-=4)if(r[o]!==0)return Math.floor((o-3)*.25/t)}}}),kq=Xe({\"node_modules/gl-text/dist.js\"(Z,G){\"use strict\";var v=yq(),x=Ev(),S=_q(),E=xq(),e=r6(),t=d0(),r=bq(),o=Tq(),a=C1(),n=Aq(),i=h6(),s=Sq(),h=Mq(),c=ch(),m=Eq(),p=gg(),T=f6(),l=T.nextPow2,_=new e,w=!1;document.body&&(A=document.body.appendChild(document.createElement(\"div\")),A.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(A).fontStretch&&(w=!0),document.body.removeChild(A));var A,M=function(d){g(d)?(d={regl:d},this.gl=d.regl._gl):this.gl=E(d),this.shader=_.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=d.regl||S({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(),_.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(n(d)?d:{})};M.prototype.createShader=function(){var d=this.regl,u=d({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:d.prop(\"count\"),offset:d.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:d.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:d.this(\"sizeBuffer\")},char:d.this(\"charBuffer\"),position:d.this(\"position\")},uniforms:{atlasSize:function(f,R){return[R.atlas.width,R.atlas.height]},atlasDim:function(f,R){return[R.atlas.cols,R.atlas.rows]},atlas:function(f,R){return R.atlas.texture},charStep:function(f,R){return R.atlas.step},em:function(f,R){return R.atlas.em},color:d.prop(\"color\"),opacity:d.prop(\"opacity\"),viewport:d.this(\"viewportArray\"),scale:d.this(\"scale\"),align:d.prop(\"align\"),baseline:d.prop(\"baseline\"),translate:d.this(\"translate\"),positionOffset:d.prop(\"positionOffset\")},primitive:\"points\",viewport:d.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\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\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\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 float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\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}`}),y={};return{regl:d,draw:u,atlas:y}},M.prototype.update=function(d){var u=this;if(typeof d==\"string\")d={text:d};else if(!d)return;d=x(d,{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),d.opacity!=null&&(Array.isArray(d.opacity)?this.opacity=d.opacity.map(function(he){return parseFloat(he)}):this.opacity=parseFloat(d.opacity)),d.viewport!=null&&(this.viewport=a(d.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),d.kerning!=null&&(this.kerning=d.kerning),d.offset!=null&&(typeof d.offset==\"number\"&&(d.offset=[d.offset,0]),this.positionOffset=p(d.offset)),d.direction&&(this.direction=d.direction),d.range&&(this.range=d.range,this.scale=[1/(d.range[2]-d.range[0]),1/(d.range[3]-d.range[1])],this.translate=[-d.range[0],-d.range[1]]),d.scale&&(this.scale=d.scale),d.translate&&(this.translate=d.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!d.font&&(d.font=M.baseFontSize+\"px sans-serif\");var y=!1,f=!1;if(d.font&&(Array.isArray(d.font)?d.font:[d.font]).forEach(function(he,Oe){if(typeof he==\"string\")try{he=v.parse(he)}catch{he=v.parse(M.baseFontSize+\"px \"+he)}else{var tt=he.style,ot=he.weight,Qe=he.stretch,Pt=he.variant;he=v.parse(v.stringify(he)),tt&&(he.style=tt),ot&&(he.weight=ot),Qe&&(he.stretch=Qe),Pt&&(he.variant=Pt)}var It=v.stringify({size:M.baseFontSize,family:he.family,stretch:w?he.stretch:void 0,variant:he.variant,weight:he.weight,style:he.style}),qt=i(he.size),Wt=Math.round(qt[0]*s(qt[1]));if(Wt!==u.fontSize[Oe]&&(f=!0,u.fontSize[Oe]=Wt),(!u.font[Oe]||It!=u.font[Oe].baseString)&&(y=!0,u.font[Oe]=M.fonts[It],!u.font[Oe])){var kr=he.family.join(\", \"),mr=[he.style];he.style!=he.variant&&mr.push(he.variant),he.variant!=he.weight&&mr.push(he.weight),w&&he.weight!=he.stretch&&mr.push(he.stretch),u.font[Oe]={baseString:It,family:kr,weight:he.weight,stretch:he.stretch,style:he.style,variant:he.variant,width:{},kerning:{},metrics:m(kr,{origin:\"top\",fontSize:M.baseFontSize,fontStyle:mr.join(\" \")})},M.fonts[It]=u.font[Oe]}}),(y||f)&&this.font.forEach(function(he,Oe){var tt=v.stringify({size:u.fontSize[Oe],family:he.family,stretch:w?he.stretch:void 0,variant:he.variant,weight:he.weight,style:he.style});if(u.fontAtlas[Oe]=u.shader.atlas[tt],!u.fontAtlas[Oe]){var ot=he.metrics;u.shader.atlas[tt]=u.fontAtlas[Oe]={fontString:tt,step:Math.ceil(u.fontSize[Oe]*ot.bottom*.5)*2,em:u.fontSize[Oe],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:u.regl.texture()}}d.text==null&&(d.text=u.text)}),typeof d.text==\"string\"&&d.position&&d.position.length>2){for(var R=Array(d.position.length*.5),L=0;L2){for(var N=!d.position[0].length,O=o.mallocFloat(this.count*2),P=0,U=0;P1?u.align[Oe]:u.align[0]:u.align;if(typeof tt==\"number\")return tt;switch(tt){case\"right\":case\"end\":return-he;case\"center\":case\"centre\":case\"middle\":return-he*.5}return 0})),this.baseline==null&&d.baseline==null&&(d.baseline=0),d.baseline!=null&&(this.baseline=d.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(he,Oe){var tt=(u.font[Oe]||u.font[0]).metrics,ot=0;return ot+=tt.bottom*.5,typeof he==\"number\"?ot+=he-tt.baseline:ot+=-tt[he],ot*=-1,ot})),d.color!=null)if(d.color||(d.color=\"transparent\"),typeof d.color==\"string\"||!isNaN(d.color))this.color=t(d.color,\"uint8\");else{var De;if(typeof d.color[0]==\"number\"&&d.color.length>this.counts.length){var ze=d.color.length;De=o.mallocUint8(ze);for(var Ze=(d.color.subarray||d.color.slice).bind(d.color),at=0;at4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(st){var Me=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(Me);for(var ye=0;ye1?this.counts[ye]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[ye]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(ye*4,ye*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[ye]:this.opacity,baseline:this.baselineOffset[ye]!=null?this.baselineOffset[ye]:this.baselineOffset[0],align:this.align?this.alignOffset[ye]!=null?this.alignOffset[ye]:this.alignOffset[0]:0,atlas:this.fontAtlas[ye]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(ye*2,ye*2+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=[]}},M.prototype.destroy=function(){},M.prototype.kerning=!0,M.prototype.position={constant:new Float32Array(2)},M.prototype.translate=null,M.prototype.scale=null,M.prototype.font=null,M.prototype.text=\"\",M.prototype.positionOffset=[0,0],M.prototype.opacity=1,M.prototype.color=new Uint8Array([0,0,0,255]),M.prototype.alignOffset=[0,0],M.maxAtlasSize=1024,M.atlasCanvas=document.createElement(\"canvas\"),M.atlasContext=M.atlasCanvas.getContext(\"2d\",{alpha:!1}),M.baseFontSize=64,M.fonts={};function g(b){return typeof b==\"function\"&&b._gl&&b.prop&&b.texture&&b.buffer}G.exports=M}}),Cq=Xe({\"node_modules/@plotly/regl/dist/regl.unchecked.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?G.exports=x():v.createREGL=x()})(Z,function(){\"use strict\";var v=function(it,Zt){for(var fr=Object.keys(Zt),oa=0;oa1&&Zt===fr&&(Zt==='\"'||Zt===\"'\"))return['\"'+r(it.substr(1,it.length-2))+'\"'];var oa=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(it);if(oa)return o(it.substr(0,oa.index)).concat(o(oa[1])).concat(o(it.substr(oa.index+oa[0].length)));var wa=it.split(\".\");if(wa.length===1)return['\"'+r(it)+'\"'];for(var ma=[],_a=0;_a\"u\"?1:window.devicePixelRatio,si=!1,yn={},zi=function(ea){},Ei=function(){};if(typeof Zt==\"string\"?fr=document.querySelector(Zt):typeof Zt==\"object\"&&(_(Zt)?fr=Zt:w(Zt)?(ma=Zt,wa=ma.canvas):(\"gl\"in Zt?ma=Zt.gl:\"canvas\"in Zt?wa=M(Zt.canvas):\"container\"in Zt&&(oa=M(Zt.container)),\"attributes\"in Zt&&(_a=Zt.attributes),\"extensions\"in Zt&&(Ya=A(Zt.extensions)),\"optionalExtensions\"in Zt&&(bi=A(Zt.optionalExtensions)),\"onDone\"in Zt&&(zi=Zt.onDone),\"profile\"in Zt&&(si=!!Zt.profile),\"pixelRatio\"in Zt&&(yi=+Zt.pixelRatio),\"cachedCode\"in Zt&&(yn=Zt.cachedCode))),fr&&(fr.nodeName.toLowerCase()===\"canvas\"?wa=fr:oa=fr),!ma){if(!wa){var Na=T(oa||document.body,zi,yi);if(!Na)return null;wa=Na.canvas,Ei=Na.onDestroy}_a.premultipliedAlpha===void 0&&(_a.premultipliedAlpha=!0),ma=l(wa,_a)}return ma?{gl:ma,canvas:wa,container:oa,extensions:Ya,optionalExtensions:bi,pixelRatio:yi,profile:si,cachedCode:yn,onDone:zi,onDestroy:Ei}:(Ei(),zi(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function b(it,Zt){var fr={};function oa(_a){var Ya=_a.toLowerCase(),bi;try{bi=fr[Ya]=it.getExtension(Ya)}catch{}return!!bi}for(var wa=0;wa65535)<<4,it>>>=Zt,fr=(it>255)<<3,it>>>=fr,Zt|=fr,fr=(it>15)<<2,it>>>=fr,Zt|=fr,fr=(it>3)<<1,it>>>=fr,Zt|=fr,Zt|it>>1}function P(){var it=d(8,function(){return[]});function Zt(ma){var _a=N(ma),Ya=it[O(_a)>>2];return Ya.length>0?Ya.pop():new ArrayBuffer(_a)}function fr(ma){it[O(ma.byteLength)>>2].push(ma)}function oa(ma,_a){var Ya=null;switch(ma){case u:Ya=new Int8Array(Zt(_a),0,_a);break;case y:Ya=new Uint8Array(Zt(_a),0,_a);break;case f:Ya=new Int16Array(Zt(2*_a),0,_a);break;case R:Ya=new Uint16Array(Zt(2*_a),0,_a);break;case L:Ya=new Int32Array(Zt(4*_a),0,_a);break;case z:Ya=new Uint32Array(Zt(4*_a),0,_a);break;case F:Ya=new Float32Array(Zt(4*_a),0,_a);break;default:return null}return Ya.length!==_a?Ya.subarray(0,_a):Ya}function wa(ma){fr(ma.buffer)}return{alloc:Zt,free:fr,allocType:oa,freeType:wa}}var U=P();U.zero=P();var B=3408,X=3410,$=3411,se=3412,le=3413,fe=3414,V=3415,Y=33901,ee=33902,q=3379,oe=3386,ae=34921,j=36347,Q=36348,re=35661,ce=35660,be=34930,Ae=36349,De=34076,ze=34024,Ze=7936,at=7937,nt=7938,rt=35724,st=34047,Me=36063,ye=34852,he=3553,Oe=34067,tt=34069,ot=33984,Qe=6408,Pt=5126,It=5121,qt=36160,Wt=36053,kr=36064,mr=16384,qr=function(it,Zt){var fr=1;Zt.ext_texture_filter_anisotropic&&(fr=it.getParameter(st));var oa=1,wa=1;Zt.webgl_draw_buffers&&(oa=it.getParameter(ye),wa=it.getParameter(Me));var ma=!!Zt.oes_texture_float;if(ma){var _a=it.createTexture();it.bindTexture(he,_a),it.texImage2D(he,0,Qe,1,1,0,Qe,Pt,null);var Ya=it.createFramebuffer();if(it.bindFramebuffer(qt,Ya),it.framebufferTexture2D(qt,kr,he,_a,0),it.bindTexture(he,null),it.checkFramebufferStatus(qt)!==Wt)ma=!1;else{it.viewport(0,0,1,1),it.clearColor(1,0,0,1),it.clear(mr);var bi=U.allocType(Pt,4);it.readPixels(0,0,1,1,Qe,Pt,bi),it.getError()?ma=!1:(it.deleteFramebuffer(Ya),it.deleteTexture(_a),ma=bi[0]===1),U.freeType(bi)}}var yi=typeof navigator<\"u\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),si=!0;if(!yi){var yn=it.createTexture(),zi=U.allocType(It,36);it.activeTexture(ot),it.bindTexture(Oe,yn),it.texImage2D(tt,0,Qe,3,3,0,Qe,It,zi),U.freeType(zi),it.bindTexture(Oe,null),it.deleteTexture(yn),si=!it.getError()}return{colorBits:[it.getParameter(X),it.getParameter($),it.getParameter(se),it.getParameter(le)],depthBits:it.getParameter(fe),stencilBits:it.getParameter(V),subpixelBits:it.getParameter(B),extensions:Object.keys(Zt).filter(function(Ei){return!!Zt[Ei]}),maxAnisotropic:fr,maxDrawbuffers:oa,maxColorAttachments:wa,pointSizeDims:it.getParameter(Y),lineWidthDims:it.getParameter(ee),maxViewportDims:it.getParameter(oe),maxCombinedTextureUnits:it.getParameter(re),maxCubeMapSize:it.getParameter(De),maxRenderbufferSize:it.getParameter(ze),maxTextureUnits:it.getParameter(be),maxTextureSize:it.getParameter(q),maxAttributes:it.getParameter(ae),maxVertexUniforms:it.getParameter(j),maxVertexTextureUnits:it.getParameter(ce),maxVaryingVectors:it.getParameter(Q),maxFragmentUniforms:it.getParameter(Ae),glsl:it.getParameter(rt),renderer:it.getParameter(at),vendor:it.getParameter(Ze),version:it.getParameter(nt),readFloat:ma,npotTextureCube:si}},Sr=function(it){return it instanceof Uint8Array||it instanceof Uint16Array||it instanceof Uint32Array||it instanceof Int8Array||it instanceof Int16Array||it instanceof Int32Array||it instanceof Float32Array||it instanceof Float64Array||it instanceof Uint8ClampedArray};function Rr(it){return!!it&&typeof it==\"object\"&&Array.isArray(it.shape)&&Array.isArray(it.stride)&&typeof it.offset==\"number\"&&it.shape.length===it.stride.length&&(Array.isArray(it.data)||Sr(it.data))}var wt=function(it){return Object.keys(it).map(function(Zt){return it[Zt]})},Ne={shape:Ee,flatten:Ce};function Ke(it,Zt,fr){for(var oa=0;oa0){var pn;if(Array.isArray(Ma[0])){Li=Ca(Ma);for(var Ha=1,Ua=1;Ua0){if(typeof Ha[0]==\"number\"){var Ti=U.allocType(Va.dtype,Ha.length);Fr(Ti,Ha),Li(Ti,Yi),U.freeType(Ti)}else if(Array.isArray(Ha[0])||Sr(Ha[0])){Ri=Ca(Ha);var xi=Wa(Ha,Ri,Va.dtype);Li(xi,Yi),U.freeType(xi)}}}else if(Rr(Ha)){Ri=Ha.shape;var Xi=Ha.stride,mn=0,In=0,Ii=0,an=0;Ri.length===1?(mn=Ri[0],In=1,Ii=Xi[0],an=0):Ri.length===2&&(mn=Ri[0],In=Ri[1],Ii=Xi[0],an=Xi[1]);var kn=Array.isArray(Ha.data)?Va.dtype:Jt(Ha.data),Dn=U.allocType(kn,mn*In);ta(Dn,Ha.data,mn,In,Ii,an,Ha.offset),Li(Dn,Yi),U.freeType(Dn)}return Bi}return Qa||Bi(ea),Bi._reglType=\"buffer\",Bi._buffer=Va,Bi.subdata=pn,fr.profile&&(Bi.stats=Va.stats),Bi.destroy=function(){zi(Va)},Bi}function Na(){wt(ma).forEach(function(ea){ea.buffer=it.createBuffer(),it.bindBuffer(ea.type,ea.buffer),it.bufferData(ea.type,ea.persistentData||ea.byteLength,ea.usage)})}return fr.profile&&(Zt.getTotalBufferSize=function(){var ea=0;return Object.keys(ma).forEach(function(Ma){ea+=ma[Ma].stats.size}),ea}),{create:Ei,createStream:bi,destroyStream:yi,clear:function(){wt(ma).forEach(zi),Ya.forEach(zi)},getBuffer:function(ea){return ea&&ea._buffer instanceof _a?ea._buffer:null},restore:Na,_initBuffer:yn}}var ca=0,Ba=0,$a=1,Za=1,ri=4,pi=4,Ra={points:ca,point:Ba,lines:$a,line:Za,triangles:ri,triangle:pi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},tn=0,on=1,hn=4,Tt=5120,ut=5121,Br=5122,Cr=5123,xr=5124,Ir=5125,Ur=34963,Hr=35040,xt=35044;function Xt(it,Zt,fr,oa){var wa={},ma=0,_a={uint8:ut,uint16:Cr};Zt.oes_element_index_uint&&(_a.uint32=Ir);function Ya(Na){this.id=ma++,wa[this.id]=this,this.buffer=Na,this.primType=hn,this.vertCount=0,this.type=0}Ya.prototype.bind=function(){this.buffer.bind()};var bi=[];function yi(Na){var ea=bi.pop();return ea||(ea=new Ya(fr.create(null,Ur,!0,!1)._buffer)),yn(ea,Na,Hr,-1,-1,0,0),ea}function si(Na){bi.push(Na)}function yn(Na,ea,Ma,Qa,di,Va,Bi){Na.buffer.bind();var Li;if(ea){var pn=Bi;!Bi&&(!Sr(ea)||Rr(ea)&&!Sr(ea.data))&&(pn=Zt.oes_element_index_uint?Ir:Cr),fr._initBuffer(Na.buffer,ea,Ma,pn,3)}else it.bufferData(Ur,Va,Ma),Na.buffer.dtype=Li||ut,Na.buffer.usage=Ma,Na.buffer.dimension=3,Na.buffer.byteLength=Va;if(Li=Bi,!Bi){switch(Na.buffer.dtype){case ut:case Tt:Li=ut;break;case Cr:case Br:Li=Cr;break;case Ir:case xr:Li=Ir;break;default:}Na.buffer.dtype=Li}Na.type=Li;var Ha=di;Ha<0&&(Ha=Na.buffer.byteLength,Li===Cr?Ha>>=1:Li===Ir&&(Ha>>=2)),Na.vertCount=Ha;var Ua=Qa;if(Qa<0){Ua=hn;var Yi=Na.buffer.dimension;Yi===1&&(Ua=tn),Yi===2&&(Ua=on),Yi===3&&(Ua=hn)}Na.primType=Ua}function zi(Na){oa.elementsCount--,delete wa[Na.id],Na.buffer.destroy(),Na.buffer=null}function Ei(Na,ea){var Ma=fr.create(null,Ur,!0),Qa=new Ya(Ma._buffer);oa.elementsCount++;function di(Va){if(!Va)Ma(),Qa.primType=hn,Qa.vertCount=0,Qa.type=ut;else if(typeof Va==\"number\")Ma(Va),Qa.primType=hn,Qa.vertCount=Va|0,Qa.type=ut;else{var Bi=null,Li=xt,pn=-1,Ha=-1,Ua=0,Yi=0;Array.isArray(Va)||Sr(Va)||Rr(Va)?Bi=Va:(\"data\"in Va&&(Bi=Va.data),\"usage\"in Va&&(Li=qa[Va.usage]),\"primitive\"in Va&&(pn=Ra[Va.primitive]),\"count\"in Va&&(Ha=Va.count|0),\"type\"in Va&&(Yi=_a[Va.type]),\"length\"in Va?Ua=Va.length|0:(Ua=Ha,Yi===Cr||Yi===Br?Ua*=2:(Yi===Ir||Yi===xr)&&(Ua*=4))),yn(Qa,Bi,Li,pn,Ha,Ua,Yi)}return di}return di(Na),di._reglType=\"elements\",di._elements=Qa,di.subdata=function(Va,Bi){return Ma.subdata(Va,Bi),di},di.destroy=function(){zi(Qa)},di}return{create:Ei,createStream:yi,destroyStream:si,getElements:function(Na){return typeof Na==\"function\"&&Na._elements instanceof Ya?Na._elements:null},clear:function(){wt(wa).forEach(zi)}}}var vr=new Float32Array(1),Or=new Uint32Array(vr.buffer),ba=5123;function Pa(it){for(var Zt=U.allocType(ba,it.length),fr=0;fr>>31<<15,ma=(oa<<1>>>24)-127,_a=oa>>13&1023;if(ma<-24)Zt[fr]=wa;else if(ma<-14){var Ya=-14-ma;Zt[fr]=wa+(_a+1024>>Ya)}else ma>15?Zt[fr]=wa+31744:Zt[fr]=wa+(ma+15<<10)+_a}return Zt}function ya(it){return Array.isArray(it)||Sr(it)}var la=34467,Ta=3553,Ai=34067,ki=34069,Ki=6408,_n=6406,Rn=6407,En=6409,On=6410,no=32854,cn=32855,lo=36194,Wo=32819,hs=32820,Oo=33635,Wn=34042,No=6402,as=34041,Ns=35904,ss=35906,uo=36193,jn=33776,Xn=33777,ls=33778,Cs=33779,Ks=35986,Xo=35987,Gi=34798,Ln=35840,Us=35841,_s=35842,Gn=35843,zs=36196,vs=5121,Ws=5123,il=5125,xn=5126,ko=10242,bo=10243,Is=10497,pu=33071,co=33648,Vs=10240,vl=10241,Ts=9728,js=9729,us=9984,As=9985,Nl=9986,su=9987,Tc=33170,du=4352,Sf=4353,Uc=4354,Fs=34046,dc=3317,Hc=37440,lu=37441,Pl=37443,ic=37444,Ou=33984,nl=[us,Nl,As,su],ml=[0,En,On,Rn,Ki],xs={};xs[En]=xs[_n]=xs[No]=1,xs[as]=xs[On]=2,xs[Rn]=xs[Ns]=3,xs[Ki]=xs[ss]=4;function Xs(it){return\"[object \"+it+\"]\"}var nc=Xs(\"HTMLCanvasElement\"),Ul=Xs(\"OffscreenCanvas\"),qu=Xs(\"CanvasRenderingContext2D\"),fl=Xs(\"ImageBitmap\"),xh=Xs(\"HTMLImageElement\"),ns=Xs(\"HTMLVideoElement\"),bh=Object.keys(Pe).concat([nc,Ul,qu,fl,xh,ns]),Es=[];Es[vs]=1,Es[xn]=4,Es[uo]=2,Es[Ws]=2,Es[il]=4;var to=[];to[no]=2,to[cn]=2,to[lo]=2,to[as]=4,to[jn]=.5,to[Xn]=.5,to[ls]=1,to[Cs]=1,to[Ks]=.5,to[Xo]=1,to[Gi]=1,to[Ln]=.5,to[Us]=.25,to[_s]=.5,to[Gn]=.25,to[zs]=.5;function Wc(it){return Array.isArray(it)&&(it.length===0||typeof it[0]==\"number\")}function Vu(it){if(!Array.isArray(it))return!1;var Zt=it.length;return!(Zt===0||!ya(it[0]))}function jl(it){return Object.prototype.toString.call(it)}function Mf(it){return jl(it)===nc}function Ac(it){return jl(it)===Ul}function nf(it){return jl(it)===qu}function $l(it){return jl(it)===fl}function Jf(it){return jl(it)===xh}function Of(it){return jl(it)===ns}function of(it){if(!it)return!1;var Zt=jl(it);return bh.indexOf(Zt)>=0?!0:Wc(it)||Vu(it)||Rr(it)}function jc(it){return Pe[Object.prototype.toString.call(it)]|0}function Bf(it,Zt){var fr=Zt.length;switch(it.type){case vs:case Ws:case il:case xn:var oa=U.allocType(it.type,fr);oa.set(Zt),it.data=oa;break;case uo:it.data=Pa(Zt);break;default:}}function Nf(it,Zt){return U.allocType(it.type===uo?xn:it.type,Zt)}function Gu(it,Zt){it.type===uo?(it.data=Pa(Zt),U.freeType(Zt)):it.data=Zt}function Ef(it,Zt,fr,oa,wa,ma){for(var _a=it.width,Ya=it.height,bi=it.channels,yi=_a*Ya*bi,si=Nf(it,yi),yn=0,zi=0;zi=1;)Ya+=_a*bi*bi,bi/=2;return Ya}else return _a*fr*oa}function Xc(it,Zt,fr,oa,wa,ma,_a){var Ya={\"don't care\":du,\"dont care\":du,nice:Uc,fast:Sf},bi={repeat:Is,clamp:pu,mirror:co},yi={nearest:Ts,linear:js},si=v({mipmap:su,\"nearest mipmap nearest\":us,\"linear mipmap nearest\":As,\"nearest mipmap linear\":Nl,\"linear mipmap linear\":su},yi),yn={none:0,browser:ic},zi={uint8:vs,rgba4:Wo,rgb565:Oo,\"rgb5 a1\":hs},Ei={alpha:_n,luminance:En,\"luminance alpha\":On,rgb:Rn,rgba:Ki,rgba4:no,\"rgb5 a1\":cn,rgb565:lo},Na={};Zt.ext_srgb&&(Ei.srgb=Ns,Ei.srgba=ss),Zt.oes_texture_float&&(zi.float32=zi.float=xn),Zt.oes_texture_half_float&&(zi.float16=zi[\"half float\"]=uo),Zt.webgl_depth_texture&&(v(Ei,{depth:No,\"depth stencil\":as}),v(zi,{uint16:Ws,uint32:il,\"depth stencil\":Wn})),Zt.webgl_compressed_texture_s3tc&&v(Na,{\"rgb s3tc dxt1\":jn,\"rgba s3tc dxt1\":Xn,\"rgba s3tc dxt3\":ls,\"rgba s3tc dxt5\":Cs}),Zt.webgl_compressed_texture_atc&&v(Na,{\"rgb atc\":Ks,\"rgba atc explicit alpha\":Xo,\"rgba atc interpolated alpha\":Gi}),Zt.webgl_compressed_texture_pvrtc&&v(Na,{\"rgb pvrtc 4bppv1\":Ln,\"rgb pvrtc 2bppv1\":Us,\"rgba pvrtc 4bppv1\":_s,\"rgba pvrtc 2bppv1\":Gn}),Zt.webgl_compressed_texture_etc1&&(Na[\"rgb etc1\"]=zs);var ea=Array.prototype.slice.call(it.getParameter(la));Object.keys(Na).forEach(function(Le){var $e=Na[Le];ea.indexOf($e)>=0&&(Ei[Le]=$e)});var Ma=Object.keys(Ei);fr.textureFormats=Ma;var Qa=[];Object.keys(Ei).forEach(function(Le){var $e=Ei[Le];Qa[$e]=Le});var di=[];Object.keys(zi).forEach(function(Le){var $e=zi[Le];di[$e]=Le});var Va=[];Object.keys(yi).forEach(function(Le){var $e=yi[Le];Va[$e]=Le});var Bi=[];Object.keys(si).forEach(function(Le){var $e=si[Le];Bi[$e]=Le});var Li=[];Object.keys(bi).forEach(function(Le){var $e=bi[Le];Li[$e]=Le});var pn=Ma.reduce(function(Le,$e){var gt=Ei[$e];return gt===En||gt===_n||gt===En||gt===On||gt===No||gt===as||Zt.ext_srgb&&(gt===Ns||gt===ss)?Le[gt]=gt:gt===cn||$e.indexOf(\"rgba\")>=0?Le[gt]=Ki:Le[gt]=Rn,Le},{});function Ha(){this.internalformat=Ki,this.format=Ki,this.type=vs,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=ic,this.width=0,this.height=0,this.channels=0}function Ua(Le,$e){Le.internalformat=$e.internalformat,Le.format=$e.format,Le.type=$e.type,Le.compressed=$e.compressed,Le.premultiplyAlpha=$e.premultiplyAlpha,Le.flipY=$e.flipY,Le.unpackAlignment=$e.unpackAlignment,Le.colorSpace=$e.colorSpace,Le.width=$e.width,Le.height=$e.height,Le.channels=$e.channels}function Yi(Le,$e){if(!(typeof $e!=\"object\"||!$e)){if(\"premultiplyAlpha\"in $e&&(Le.premultiplyAlpha=$e.premultiplyAlpha),\"flipY\"in $e&&(Le.flipY=$e.flipY),\"alignment\"in $e&&(Le.unpackAlignment=$e.alignment),\"colorSpace\"in $e&&(Le.colorSpace=yn[$e.colorSpace]),\"type\"in $e){var gt=$e.type;Le.type=zi[gt]}var jt=Le.width,wr=Le.height,Nr=Le.channels,pr=!1;\"shape\"in $e?(jt=$e.shape[0],wr=$e.shape[1],$e.shape.length===3&&(Nr=$e.shape[2],pr=!0)):(\"radius\"in $e&&(jt=wr=$e.radius),\"width\"in $e&&(jt=$e.width),\"height\"in $e&&(wr=$e.height),\"channels\"in $e&&(Nr=$e.channels,pr=!0)),Le.width=jt|0,Le.height=wr|0,Le.channels=Nr|0;var yt=!1;if(\"format\"in $e){var kt=$e.format,Bt=Le.internalformat=Ei[kt];Le.format=pn[Bt],kt in zi&&(\"type\"in $e||(Le.type=zi[kt])),kt in Na&&(Le.compressed=!0),yt=!0}!pr&&yt?Le.channels=xs[Le.format]:pr&&!yt&&Le.channels!==ml[Le.format]&&(Le.format=Le.internalformat=ml[Le.channels])}}function Ri(Le){it.pixelStorei(Hc,Le.flipY),it.pixelStorei(lu,Le.premultiplyAlpha),it.pixelStorei(Pl,Le.colorSpace),it.pixelStorei(dc,Le.unpackAlignment)}function Ti(){Ha.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function xi(Le,$e){var gt=null;if(of($e)?gt=$e:$e&&(Yi(Le,$e),\"x\"in $e&&(Le.xOffset=$e.x|0),\"y\"in $e&&(Le.yOffset=$e.y|0),of($e.data)&&(gt=$e.data)),$e.copy){var jt=wa.viewportWidth,wr=wa.viewportHeight;Le.width=Le.width||jt-Le.xOffset,Le.height=Le.height||wr-Le.yOffset,Le.needsCopy=!0}else if(!gt)Le.width=Le.width||1,Le.height=Le.height||1,Le.channels=Le.channels||4;else if(Sr(gt))Le.channels=Le.channels||4,Le.data=gt,!(\"type\"in $e)&&Le.type===vs&&(Le.type=jc(gt));else if(Wc(gt))Le.channels=Le.channels||4,Bf(Le,gt),Le.alignment=1,Le.needsFree=!0;else if(Rr(gt)){var Nr=gt.data;!Array.isArray(Nr)&&Le.type===vs&&(Le.type=jc(Nr));var pr=gt.shape,yt=gt.stride,kt,Bt,nr,hr,lr,dr;pr.length===3?(nr=pr[2],dr=yt[2]):(nr=1,dr=1),kt=pr[0],Bt=pr[1],hr=yt[0],lr=yt[1],Le.alignment=1,Le.width=kt,Le.height=Bt,Le.channels=nr,Le.format=Le.internalformat=ml[nr],Le.needsFree=!0,Ef(Le,Nr,hr,lr,dr,gt.offset)}else if(Mf(gt)||Ac(gt)||nf(gt))Mf(gt)||Ac(gt)?Le.element=gt:Le.element=gt.canvas,Le.width=Le.element.width,Le.height=Le.element.height,Le.channels=4;else if($l(gt))Le.element=gt,Le.width=gt.width,Le.height=gt.height,Le.channels=4;else if(Jf(gt))Le.element=gt,Le.width=gt.naturalWidth,Le.height=gt.naturalHeight,Le.channels=4;else if(Of(gt))Le.element=gt,Le.width=gt.videoWidth,Le.height=gt.videoHeight,Le.channels=4;else if(Vu(gt)){var ur=Le.width||gt[0].length,Ht=Le.height||gt.length,sr=Le.channels;ya(gt[0][0])?sr=sr||gt[0][0].length:sr=sr||1;for(var Vt=Ne.shape(gt),Dr=1,Jr=0;Jr>=wr,gt.height>>=wr,xi(gt,jt[wr]),Le.mipmask|=1<=0&&!(\"faces\"in $e)&&(Le.genMipmaps=!0)}if(\"mag\"in $e){var jt=$e.mag;Le.magFilter=yi[jt]}var wr=Le.wrapS,Nr=Le.wrapT;if(\"wrap\"in $e){var pr=$e.wrap;typeof pr==\"string\"?wr=Nr=bi[pr]:Array.isArray(pr)&&(wr=bi[pr[0]],Nr=bi[pr[1]])}else{if(\"wrapS\"in $e){var yt=$e.wrapS;wr=bi[yt]}if(\"wrapT\"in $e){var kt=$e.wrapT;Nr=bi[kt]}}if(Le.wrapS=wr,Le.wrapT=Nr,\"anisotropic\"in $e){var Bt=$e.anisotropic;Le.anisotropic=$e.anisotropic}if(\"mipmap\"in $e){var nr=!1;switch(typeof $e.mipmap){case\"string\":Le.mipmapHint=Ya[$e.mipmap],Le.genMipmaps=!0,nr=!0;break;case\"boolean\":nr=Le.genMipmaps=$e.mipmap;break;case\"object\":Le.genMipmaps=!1,nr=!0;break;default:}nr&&!(\"min\"in $e)&&(Le.minFilter=us)}}function kl(Le,$e){it.texParameteri($e,vl,Le.minFilter),it.texParameteri($e,Vs,Le.magFilter),it.texParameteri($e,ko,Le.wrapS),it.texParameteri($e,bo,Le.wrapT),Zt.ext_texture_filter_anisotropic&&it.texParameteri($e,Fs,Le.anisotropic),Le.genMipmaps&&(it.hint(Tc,Le.mipmapHint),it.generateMipmap($e))}var tu=0,qs={},pl=fr.maxTextureUnits,wl=Array(pl).map(function(){return null});function Yn(Le){Ha.call(this),this.mipmask=0,this.internalformat=Ki,this.id=tu++,this.refCount=1,this.target=Le,this.texture=it.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new fs,_a.profile&&(this.stats={size:0})}function Cl(Le){it.activeTexture(Ou),it.bindTexture(Le.target,Le.texture)}function Co(){var Le=wl[0];Le?it.bindTexture(Le.target,Le.texture):it.bindTexture(Ta,null)}function ve(Le){var $e=Le.texture,gt=Le.unit,jt=Le.target;gt>=0&&(it.activeTexture(Ou+gt),it.bindTexture(jt,null),wl[gt]=null),it.deleteTexture($e),Le.texture=null,Le.params=null,Le.pixels=null,Le.refCount=0,delete qs[Le.id],ma.textureCount--}v(Yn.prototype,{bind:function(){var Le=this;Le.bindCount+=1;var $e=Le.unit;if($e<0){for(var gt=0;gt0)continue;jt.unit=-1}wl[gt]=Le,$e=gt;break}$e>=pl,_a.profile&&ma.maxTextureUnits<$e+1&&(ma.maxTextureUnits=$e+1),Le.unit=$e,it.activeTexture(Ou+$e),it.bindTexture(Le.target,Le.texture)}return $e},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&ve(this)}});function K(Le,$e){var gt=new Yn(Ta);qs[gt.id]=gt,ma.textureCount++;function jt(pr,yt){var kt=gt.texInfo;fs.call(kt);var Bt=po();return typeof pr==\"number\"?typeof yt==\"number\"?Dn(Bt,pr|0,yt|0):Dn(Bt,pr|0,pr|0):pr?(Sl(kt,pr),Zn(Bt,pr)):Dn(Bt,1,1),kt.genMipmaps&&(Bt.mipmask=(Bt.width<<1)-1),gt.mipmask=Bt.mipmask,Ua(gt,Bt),gt.internalformat=Bt.internalformat,jt.width=Bt.width,jt.height=Bt.height,Cl(gt),Ds(Bt,Ta),kl(kt,Ta),Co(),Wl(Bt),_a.profile&&(gt.stats.size=oc(gt.internalformat,gt.type,Bt.width,Bt.height,kt.genMipmaps,!1)),jt.format=Qa[gt.internalformat],jt.type=di[gt.type],jt.mag=Va[kt.magFilter],jt.min=Bi[kt.minFilter],jt.wrapS=Li[kt.wrapS],jt.wrapT=Li[kt.wrapT],jt}function wr(pr,yt,kt,Bt){var nr=yt|0,hr=kt|0,lr=Bt|0,dr=Ii();return Ua(dr,gt),dr.width=0,dr.height=0,xi(dr,pr),dr.width=dr.width||(gt.width>>lr)-nr,dr.height=dr.height||(gt.height>>lr)-hr,Cl(gt),mn(dr,Ta,nr,hr,lr),Co(),an(dr),jt}function Nr(pr,yt){var kt=pr|0,Bt=yt|0||kt;if(kt===gt.width&&Bt===gt.height)return jt;jt.width=gt.width=kt,jt.height=gt.height=Bt,Cl(gt);for(var nr=0;gt.mipmask>>nr;++nr){var hr=kt>>nr,lr=Bt>>nr;if(!hr||!lr)break;it.texImage2D(Ta,nr,gt.format,hr,lr,0,gt.format,gt.type,null)}return Co(),_a.profile&&(gt.stats.size=oc(gt.internalformat,gt.type,kt,Bt,!1,!1)),jt}return jt(Le,$e),jt.subimage=wr,jt.resize=Nr,jt._reglType=\"texture2d\",jt._texture=gt,_a.profile&&(jt.stats=gt.stats),jt.destroy=function(){gt.decRef()},jt}function _e(Le,$e,gt,jt,wr,Nr){var pr=new Yn(Ai);qs[pr.id]=pr,ma.cubeCount++;var yt=new Array(6);function kt(hr,lr,dr,ur,Ht,sr){var Vt,Dr=pr.texInfo;for(fs.call(Dr),Vt=0;Vt<6;++Vt)yt[Vt]=po();if(typeof hr==\"number\"||!hr){var Jr=hr|0||1;for(Vt=0;Vt<6;++Vt)Dn(yt[Vt],Jr,Jr)}else if(typeof hr==\"object\")if(lr)Zn(yt[0],hr),Zn(yt[1],lr),Zn(yt[2],dr),Zn(yt[3],ur),Zn(yt[4],Ht),Zn(yt[5],sr);else if(Sl(Dr,hr),Yi(pr,hr),\"faces\"in hr){var ga=hr.faces;for(Vt=0;Vt<6;++Vt)Ua(yt[Vt],pr),Zn(yt[Vt],ga[Vt])}else for(Vt=0;Vt<6;++Vt)Zn(yt[Vt],hr);for(Ua(pr,yt[0]),Dr.genMipmaps?pr.mipmask=(yt[0].width<<1)-1:pr.mipmask=yt[0].mipmask,pr.internalformat=yt[0].internalformat,kt.width=yt[0].width,kt.height=yt[0].height,Cl(pr),Vt=0;Vt<6;++Vt)Ds(yt[Vt],ki+Vt);for(kl(Dr,Ai),Co(),_a.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,kt.width,kt.height,Dr.genMipmaps,!0)),kt.format=Qa[pr.internalformat],kt.type=di[pr.type],kt.mag=Va[Dr.magFilter],kt.min=Bi[Dr.minFilter],kt.wrapS=Li[Dr.wrapS],kt.wrapT=Li[Dr.wrapT],Vt=0;Vt<6;++Vt)Wl(yt[Vt]);return kt}function Bt(hr,lr,dr,ur,Ht){var sr=dr|0,Vt=ur|0,Dr=Ht|0,Jr=Ii();return Ua(Jr,pr),Jr.width=0,Jr.height=0,xi(Jr,lr),Jr.width=Jr.width||(pr.width>>Dr)-sr,Jr.height=Jr.height||(pr.height>>Dr)-Vt,Cl(pr),mn(Jr,ki+hr,sr,Vt,Dr),Co(),an(Jr),kt}function nr(hr){var lr=hr|0;if(lr!==pr.width){kt.width=pr.width=lr,kt.height=pr.height=lr,Cl(pr);for(var dr=0;dr<6;++dr)for(var ur=0;pr.mipmask>>ur;++ur)it.texImage2D(ki+dr,ur,pr.format,lr>>ur,lr>>ur,0,pr.format,pr.type,null);return Co(),_a.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,kt.width,kt.height,!1,!0)),kt}}return kt(Le,$e,gt,jt,wr,Nr),kt.subimage=Bt,kt.resize=nr,kt._reglType=\"textureCube\",kt._texture=pr,_a.profile&&(kt.stats=pr.stats),kt.destroy=function(){pr.decRef()},kt}function te(){for(var Le=0;Le>jt,gt.height>>jt,0,gt.internalformat,gt.type,null);else for(var wr=0;wr<6;++wr)it.texImage2D(ki+wr,jt,gt.internalformat,gt.width>>jt,gt.height>>jt,0,gt.internalformat,gt.type,null);kl(gt.texInfo,gt.target)})}function Ge(){for(var Le=0;Le=0?Wl=!0:bi.indexOf(fs)>=0&&(Wl=!1))),(\"depthTexture\"in Yn||\"depthStencilTexture\"in Yn)&&(wl=!!(Yn.depthTexture||Yn.depthStencilTexture)),\"depth\"in Yn&&(typeof Yn.depth==\"boolean\"?Ds=Yn.depth:(tu=Yn.depth,bl=!1)),\"stencil\"in Yn&&(typeof Yn.stencil==\"boolean\"?bl=Yn.stencil:(qs=Yn.stencil,Ds=!1)),\"depthStencil\"in Yn&&(typeof Yn.depthStencil==\"boolean\"?Ds=bl=Yn.depthStencil:(pl=Yn.depthStencil,Ds=!1,bl=!1))}var Co=null,ve=null,K=null,_e=null;if(Array.isArray(po))Co=po.map(Na);else if(po)Co=[Na(po)];else for(Co=new Array(kl),kn=0;kn0&&(an.depth=xi[0].depth,an.stencil=xi[0].stencil,an.depthStencil=xi[0].depthStencil),xi[Ii]?xi[Ii](an):xi[Ii]=Ua(an)}return v(Xi,{width:kn,height:kn,color:fs})}function mn(In){var Ii,an=In|0;if(an===Xi.width)return Xi;var kn=Xi.color;for(Ii=0;Ii=kn.byteLength?Dn.subdata(kn):(Dn.destroy(),Ua.buffers[In]=null)),Ua.buffers[In]||(Dn=Ua.buffers[In]=wa.create(Ii,mf,!1,!0)),an.buffer=wa.getBuffer(Dn),an.size=an.buffer.dimension|0,an.normalized=!1,an.type=an.buffer.dtype,an.offset=0,an.stride=0,an.divisor=0,an.state=1,Xi[In]=1}else wa.getBuffer(Ii)?(an.buffer=wa.getBuffer(Ii),an.size=an.buffer.dimension|0,an.normalized=!1,an.type=an.buffer.dtype,an.offset=0,an.stride=0,an.divisor=0,an.state=1):wa.getBuffer(Ii.buffer)?(an.buffer=wa.getBuffer(Ii.buffer),an.size=(+Ii.size||an.buffer.dimension)|0,an.normalized=!!Ii.normalized||!1,\"type\"in Ii?an.type=fa[Ii.type]:an.type=an.buffer.dtype,an.offset=(Ii.offset||0)|0,an.stride=(Ii.stride||0)|0,an.divisor=(Ii.divisor||0)|0,an.state=1):\"x\"in Ii&&(an.x=+Ii.x||0,an.y=+Ii.y||0,an.z=+Ii.z||0,an.w=+Ii.w||0,an.state=2)}for(var Zn=0;Zn1)for(var Ri=0;Riea&&(ea=Ma.stats.uniformsCount)}),ea},fr.getMaxAttributesCount=function(){var ea=0;return si.forEach(function(Ma){Ma.stats.attributesCount>ea&&(ea=Ma.stats.attributesCount)}),ea});function Na(){wa={},ma={};for(var ea=0;ea16&&(fr=Pi(fr,it.length*8));for(var oa=Array(16),wa=Array(16),ma=0;ma<16;ma++)oa[ma]=fr[ma]^909522486,wa[ma]=fr[ma]^1549556828;var _a=Pi(oa.concat(Pc(Zt)),512+Zt.length*8);return Qt(Pi(wa.concat(_a),768))}function xu(it){for(var Zt=Vf?\"0123456789ABCDEF\":\"0123456789abcdef\",fr=\"\",oa,wa=0;wa>>4&15)+Zt.charAt(oa&15);return fr}function Lc(it){for(var Zt=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",fr=\"\",oa=it.length,wa=0;wait.length*8?fr+=Xu:fr+=Zt.charAt(ma>>>6*(3-_a)&63);return fr}function Jc(it,Zt){var fr=Zt.length,oa=Array(),wa,ma,_a,Ya,bi=Array(Math.ceil(it.length/2));for(wa=0;wa0;){for(Ya=Array(),_a=0,wa=0;wa0||ma>0)&&(Ya[Ya.length]=ma);oa[oa.length]=_a,bi=Ya}var yi=\"\";for(wa=oa.length-1;wa>=0;wa--)yi+=Zt.charAt(oa[wa]);var si=Math.ceil(it.length*8/(Math.log(Zt.length)/Math.log(2)));for(wa=yi.length;wa>>6&31,128|oa&63):oa<=65535?Zt+=String.fromCharCode(224|oa>>>12&15,128|oa>>>6&63,128|oa&63):oa<=2097151&&(Zt+=String.fromCharCode(240|oa>>>18&7,128|oa>>>12&63,128|oa>>>6&63,128|oa&63));return Zt}function Pc(it){for(var Zt=Array(it.length>>2),fr=0;fr>5]|=(it.charCodeAt(fr/8)&255)<<24-fr%32;return Zt}function Qt(it){for(var Zt=\"\",fr=0;fr>5]>>>24-fr%32&255);return Zt}function br(it,Zt){return it>>>Zt|it<<32-Zt}function aa(it,Zt){return it>>>Zt}function $r(it,Zt,fr){return it&Zt^~it&fr}function ka(it,Zt,fr){return it&Zt^it&fr^Zt&fr}function li(it){return br(it,2)^br(it,13)^br(it,22)}function Ci(it){return br(it,6)^br(it,11)^br(it,25)}function Hi(it){return br(it,7)^br(it,18)^aa(it,3)}function Qi(it){return br(it,17)^br(it,19)^aa(it,10)}var dn=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Pi(it,Zt){var fr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),oa=new Array(64),wa,ma,_a,Ya,bi,yi,si,yn,zi,Ei,Na,ea;for(it[Zt>>5]|=128<<24-Zt%32,it[(Zt+64>>9<<4)+15]=Zt,zi=0;zi>16)+(Zt>>16)+(fr>>16);return oa<<16|fr&65535}function Ni(it){return Array.prototype.slice.call(it)}function mi(it){return Ni(it).join(\"\")}function Mn(it){var Zt=it&&it.cache,fr=0,oa=[],wa=[],ma=[];function _a(Na,ea){var Ma=ea&&ea.stable;if(!Ma){for(var Qa=0;Qa0&&(Na.push(di,\"=\"),Na.push.apply(Na,Ni(arguments)),Na.push(\";\")),di}return v(ea,{def:Qa,toString:function(){return mi([Ma.length>0?\"var \"+Ma.join(\",\")+\";\":\"\",mi(Na)])}})}function bi(){var Na=Ya(),ea=Ya(),Ma=Na.toString,Qa=ea.toString;function di(Va,Bi){ea(Va,Bi,\"=\",Na.def(Va,Bi),\";\")}return v(function(){Na.apply(Na,Ni(arguments))},{def:Na.def,entry:Na,exit:ea,save:di,set:function(Va,Bi,Li){di(Va,Bi),Na(Va,Bi,\"=\",Li,\";\")},toString:function(){return Ma()+Qa()}})}function yi(){var Na=mi(arguments),ea=bi(),Ma=bi(),Qa=ea.toString,di=Ma.toString;return v(ea,{then:function(){return ea.apply(ea,Ni(arguments)),this},else:function(){return Ma.apply(Ma,Ni(arguments)),this},toString:function(){var Va=di();return Va&&(Va=\"else{\"+Va+\"}\"),mi([\"if(\",Na,\"){\",Qa(),\"}\",Va])}})}var si=Ya(),yn={};function zi(Na,ea){var Ma=[];function Qa(){var pn=\"a\"+Ma.length;return Ma.push(pn),pn}ea=ea||0;for(var di=0;di\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Fa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Xa={cw:et,ccw:mt};function fi(it){return Array.isArray(it)||Sr(it)||Rr(it)}function ni(it){return it.sort(function(Zt,fr){return Zt===Se?-1:fr===Se?1:Zt=1,oa>=2,Zt)}else if(fr===Ss){var wa=it.data;return new La(wa.thisDep,wa.contextDep,wa.propDep,Zt)}else{if(fr===rl)return new La(!1,!1,!1,Zt);if(fr===Os){for(var ma=!1,_a=!1,Ya=!1,bi=0;bi=1&&(_a=!0),si>=2&&(Ya=!0)}else yi.type===Ss&&(ma=ma||yi.data.thisDep,_a=_a||yi.data.contextDep,Ya=Ya||yi.data.propDep)}return new La(ma,_a,Ya,Zt)}else return new La(fr===Ko,fr===yo,fr===un,Zt)}}var Pn=new La(!1,!1,!1,function(){});function Jn(it,Zt,fr,oa,wa,ma,_a,Ya,bi,yi,si,yn,zi,Ei,Na,ea){var Ma=yi.Record,Qa={add:32774,subtract:32778,\"reverse subtract\":32779};fr.ext_blend_minmax&&(Qa.min=bt,Qa.max=Mt);var di=fr.angle_instanced_arrays,Va=fr.webgl_draw_buffers,Bi=fr.oes_vertex_array_object,Li={dirty:!0,profile:ea.profile},pn={},Ha=[],Ua={},Yi={};function Ri(yt){return yt.replace(\".\",\"_\")}function Ti(yt,kt,Bt){var nr=Ri(yt);Ha.push(yt),pn[nr]=Li[nr]=!!Bt,Ua[nr]=kt}function xi(yt,kt,Bt){var nr=Ri(yt);Ha.push(yt),Array.isArray(Bt)?(Li[nr]=Bt.slice(),pn[nr]=Bt.slice()):Li[nr]=pn[nr]=Bt,Yi[nr]=kt}function Xi(yt){return!!isNaN(yt)}Ti(el,ci),Ti(bs,za),xi(Fl,\"blendColor\",[0,0,0,0]),xi(_l,\"blendEquationSeparate\",[Xr,Xr]),xi(ll,\"blendFuncSeparate\",[Gr,_r,Gr,_r]),Ti(Un,ji,!0),xi(Lo,\"depthFunc\",xa),xi(Js,\"depthRange\",[0,1]),xi(Rs,\"depthMask\",!0),xi(uu,uu,[!0,!0,!0,!0]),Ti(Iu,Aa),xi(Zu,\"cullFace\",Fe),xi(Ic,Ic,mt),xi(bu,bu,1),Ti(Rc,Sn),xi(Au,\"polygonOffset\",[0,0]),Ti(yc,Kn),Ti(ho,Bn),xi(Ro,\"sampleCoverage\",[1,!1]),Ti(Dc,Vi),xi(lc,\"stencilMask\",-1),xi(Yu,\"stencilFunc\",[ar,0,-1]),xi(Ue,\"stencilOpSeparate\",[de,Ot,Ot,Ot]),xi(I,\"stencilOpSeparate\",[Fe,Ot,Ot,Ot]),Ti(ie,nn),xi(we,\"scissor\",[0,0,it.drawingBufferWidth,it.drawingBufferHeight]),xi(Se,Se,[0,0,it.drawingBufferWidth,it.drawingBufferHeight]);var mn={gl:it,context:zi,strings:Zt,next:pn,current:Li,draw:yn,elements:ma,buffer:wa,shader:si,attributes:yi.state,vao:yi,uniforms:bi,framebuffer:Ya,extensions:fr,timer:Ei,isBufferArgs:fi},In={primTypes:Ra,compareFuncs:Sa,blendFuncs:ti,blendEquations:Qa,stencilOps:Fa,glTypes:fa,orientationType:Xa};Va&&(In.backBuffer=[Fe],In.drawBuffer=d(oa.maxDrawbuffers,function(yt){return yt===0?[0]:d(yt,function(kt){return Ja+kt})}));var Ii=0;function an(){var yt=Mn({cache:Na}),kt=yt.link,Bt=yt.global;yt.id=Ii++,yt.batchId=\"0\";var nr=kt(mn),hr=yt.shared={props:\"a0\"};Object.keys(mn).forEach(function(sr){hr[sr]=Bt.def(nr,\".\",sr)});var lr=yt.next={},dr=yt.current={};Object.keys(Yi).forEach(function(sr){Array.isArray(Li[sr])&&(lr[sr]=Bt.def(hr.next,\".\",sr),dr[sr]=Bt.def(hr.current,\".\",sr))});var ur=yt.constants={};Object.keys(In).forEach(function(sr){ur[sr]=Bt.def(JSON.stringify(In[sr]))}),yt.invoke=function(sr,Vt){switch(Vt.type){case An:var Dr=[\"this\",hr.context,hr.props,yt.batchId];return sr.def(kt(Vt.data),\".call(\",Dr.slice(0,Math.max(Vt.data.length+1,4)),\")\");case un:return sr.def(hr.props,Vt.data);case yo:return sr.def(hr.context,Vt.data);case Ko:return sr.def(\"this\",Vt.data);case Ss:return Vt.data.append(yt,sr),Vt.data.ref;case rl:return Vt.data.toString();case Os:return Vt.data.map(function(Jr){return yt.invoke(sr,Jr)})}},yt.attribCache={};var Ht={};return yt.scopeAttrib=function(sr){var Vt=Zt.id(sr);if(Vt in Ht)return Ht[Vt];var Dr=yi.scope[Vt];Dr||(Dr=yi.scope[Vt]=new Ma);var Jr=Ht[Vt]=kt(Dr);return Jr},yt}function kn(yt){var kt=yt.static,Bt=yt.dynamic,nr;if(Be in kt){var hr=!!kt[Be];nr=rn(function(dr,ur){return hr}),nr.enable=hr}else if(Be in Bt){var lr=Bt[Be];nr=vn(lr,function(dr,ur){return dr.invoke(ur,lr)})}return nr}function Dn(yt,kt){var Bt=yt.static,nr=yt.dynamic;if(dt in Bt){var hr=Bt[dt];return hr?(hr=Ya.getFramebuffer(hr),rn(function(dr,ur){var Ht=dr.link(hr),sr=dr.shared;ur.set(sr.framebuffer,\".next\",Ht);var Vt=sr.context;return ur.set(Vt,\".\"+vt,Ht+\".width\"),ur.set(Vt,\".\"+Lt,Ht+\".height\"),Ht})):rn(function(dr,ur){var Ht=dr.shared;ur.set(Ht.framebuffer,\".next\",\"null\");var sr=Ht.context;return ur.set(sr,\".\"+vt,sr+\".\"+yr),ur.set(sr,\".\"+Lt,sr+\".\"+Er),\"null\"})}else if(dt in nr){var lr=nr[dt];return vn(lr,function(dr,ur){var Ht=dr.invoke(ur,lr),sr=dr.shared,Vt=sr.framebuffer,Dr=ur.def(Vt,\".getFramebuffer(\",Ht,\")\");ur.set(Vt,\".next\",Dr);var Jr=sr.context;return ur.set(Jr,\".\"+vt,Dr+\"?\"+Dr+\".width:\"+Jr+\".\"+yr),ur.set(Jr,\".\"+Lt,Dr+\"?\"+Dr+\".height:\"+Jr+\".\"+Er),Dr})}else return null}function Zn(yt,kt,Bt){var nr=yt.static,hr=yt.dynamic;function lr(Ht){if(Ht in nr){var sr=nr[Ht],Vt=!0,Dr=sr.x|0,Jr=sr.y|0,ga,vi;return\"width\"in sr?ga=sr.width|0:Vt=!1,\"height\"in sr?vi=sr.height|0:Vt=!1,new La(!Vt&&kt&&kt.thisDep,!Vt&&kt&&kt.contextDep,!Vt&&kt&&kt.propDep,function(Zi,Fi){var ui=Zi.shared.context,_i=ga;\"width\"in sr||(_i=Fi.def(ui,\".\",vt,\"-\",Dr));var Si=vi;return\"height\"in sr||(Si=Fi.def(ui,\".\",Lt,\"-\",Jr)),[Dr,Jr,_i,Si]})}else if(Ht in hr){var Ga=hr[Ht],ai=vn(Ga,function(Zi,Fi){var ui=Zi.invoke(Fi,Ga),_i=Zi.shared.context,Si=Fi.def(ui,\".x|0\"),Ui=Fi.def(ui,\".y|0\"),fn=Fi.def('\"width\" in ',ui,\"?\",ui,\".width|0:\",\"(\",_i,\".\",vt,\"-\",Si,\")\"),_o=Fi.def('\"height\" in ',ui,\"?\",ui,\".height|0:\",\"(\",_i,\".\",Lt,\"-\",Ui,\")\");return[Si,Ui,fn,_o]});return kt&&(ai.thisDep=ai.thisDep||kt.thisDep,ai.contextDep=ai.contextDep||kt.contextDep,ai.propDep=ai.propDep||kt.propDep),ai}else return kt?new La(kt.thisDep,kt.contextDep,kt.propDep,function(Zi,Fi){var ui=Zi.shared.context;return[0,0,Fi.def(ui,\".\",vt),Fi.def(ui,\".\",Lt)]}):null}var dr=lr(Se);if(dr){var ur=dr;dr=new La(dr.thisDep,dr.contextDep,dr.propDep,function(Ht,sr){var Vt=ur.append(Ht,sr),Dr=Ht.shared.context;return sr.set(Dr,\".\"+At,Vt[2]),sr.set(Dr,\".\"+zt,Vt[3]),Vt})}return{viewport:dr,scissor_box:lr(we)}}function Ds(yt,kt){var Bt=yt.static,nr=typeof Bt[Nt]==\"string\"&&typeof Bt[St]==\"string\";if(nr){if(Object.keys(kt.dynamic).length>0)return null;var hr=kt.static,lr=Object.keys(hr);if(lr.length>0&&typeof hr[lr[0]]==\"number\"){for(var dr=[],ur=0;ur\"+Si+\"?\"+Vt+\".constant[\"+Si+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",ga,\"(\",Vt,\".buffer)){\",Zi,\"=\",vi,\".createStream(\",Qr,\",\",Vt,\".buffer);\",\"}else{\",Zi,\"=\",vi,\".getBuffer(\",Vt,\".buffer);\",\"}\",Fi,'=\"type\" in ',Vt,\"?\",Jr.glTypes,\"[\",Vt,\".type]:\",Zi,\".dtype;\",Ga.normalized,\"=!!\",Vt,\".normalized;\");function ui(_i){sr(Ga[_i],\"=\",Vt,\".\",_i,\"|0;\")}return ui(\"size\"),ui(\"offset\"),ui(\"stride\"),ui(\"divisor\"),sr(\"}}\"),sr.exit(\"if(\",Ga.isStream,\"){\",vi,\".destroyStream(\",Zi,\");\",\"}\"),Ga}hr[lr]=vn(dr,ur)}),hr}function kl(yt){var kt=yt.static,Bt=yt.dynamic,nr={};return Object.keys(kt).forEach(function(hr){var lr=kt[hr];nr[hr]=rn(function(dr,ur){return typeof lr==\"number\"||typeof lr==\"boolean\"?\"\"+lr:dr.link(lr)})}),Object.keys(Bt).forEach(function(hr){var lr=Bt[hr];nr[hr]=vn(lr,function(dr,ur){return dr.invoke(ur,lr)})}),nr}function tu(yt,kt,Bt,nr,hr){var lr=yt.static,dr=yt.dynamic,ur=Ds(yt,kt),Ht=Dn(yt,hr),sr=Zn(yt,Ht,hr),Vt=po(yt,hr),Dr=Wl(yt,hr),Jr=bl(yt,hr,ur);function ga(ui){var _i=sr[ui];_i&&(Dr[ui]=_i)}ga(Se),ga(Ri(we));var vi=Object.keys(Dr).length>0,Ga={framebuffer:Ht,draw:Vt,shader:Jr,state:Dr,dirty:vi,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ga.profile=kn(yt,hr),Ga.uniforms=fs(Bt,hr),Ga.drawVAO=Ga.scopeVAO=Vt.vao,!Ga.drawVAO&&Jr.program&&!ur&&fr.angle_instanced_arrays&&Vt.static.elements){var ai=!0,Zi=Jr.program.attributes.map(function(ui){var _i=kt.static[ui];return ai=ai&&!!_i,_i});if(ai&&Zi.length>0){var Fi=yi.getVAO(yi.createVAO({attributes:Zi,elements:Vt.static.elements}));Ga.drawVAO=new La(null,null,null,function(ui,_i){return ui.link(Fi)}),Ga.useVAO=!0}}return ur?Ga.useVAO=!0:Ga.attributes=Sl(kt,hr),Ga.context=kl(nr,hr),Ga}function qs(yt,kt,Bt){var nr=yt.shared,hr=nr.context,lr=yt.scope();Object.keys(Bt).forEach(function(dr){kt.save(hr,\".\"+dr);var ur=Bt[dr],Ht=ur.append(yt,kt);Array.isArray(Ht)?lr(hr,\".\",dr,\"=[\",Ht.join(),\"];\"):lr(hr,\".\",dr,\"=\",Ht,\";\")}),kt(lr)}function pl(yt,kt,Bt,nr){var hr=yt.shared,lr=hr.gl,dr=hr.framebuffer,ur;Va&&(ur=kt.def(hr.extensions,\".webgl_draw_buffers\"));var Ht=yt.constants,sr=Ht.drawBuffer,Vt=Ht.backBuffer,Dr;Bt?Dr=Bt.append(yt,kt):Dr=kt.def(dr,\".next\"),nr||kt(\"if(\",Dr,\"!==\",dr,\".cur){\"),kt(\"if(\",Dr,\"){\",lr,\".bindFramebuffer(\",da,\",\",Dr,\".framebuffer);\"),Va&&kt(ur,\".drawBuffersWEBGL(\",sr,\"[\",Dr,\".colorAttachments.length]);\"),kt(\"}else{\",lr,\".bindFramebuffer(\",da,\",null);\"),Va&&kt(ur,\".drawBuffersWEBGL(\",Vt,\");\"),kt(\"}\",dr,\".cur=\",Dr,\";\"),nr||kt(\"}\")}function wl(yt,kt,Bt){var nr=yt.shared,hr=nr.gl,lr=yt.current,dr=yt.next,ur=nr.current,Ht=nr.next,sr=yt.cond(ur,\".dirty\");Ha.forEach(function(Vt){var Dr=Ri(Vt);if(!(Dr in Bt.state)){var Jr,ga;if(Dr in dr){Jr=dr[Dr],ga=lr[Dr];var vi=d(Li[Dr].length,function(ai){return sr.def(Jr,\"[\",ai,\"]\")});sr(yt.cond(vi.map(function(ai,Zi){return ai+\"!==\"+ga+\"[\"+Zi+\"]\"}).join(\"||\")).then(hr,\".\",Yi[Dr],\"(\",vi,\");\",vi.map(function(ai,Zi){return ga+\"[\"+Zi+\"]=\"+ai}).join(\";\"),\";\"))}else{Jr=sr.def(Ht,\".\",Dr);var Ga=yt.cond(Jr,\"!==\",ur,\".\",Dr);sr(Ga),Dr in Ua?Ga(yt.cond(Jr).then(hr,\".enable(\",Ua[Dr],\");\").else(hr,\".disable(\",Ua[Dr],\");\"),ur,\".\",Dr,\"=\",Jr,\";\"):Ga(hr,\".\",Yi[Dr],\"(\",Jr,\");\",ur,\".\",Dr,\"=\",Jr,\";\")}}}),Object.keys(Bt.state).length===0&&sr(ur,\".dirty=false;\"),kt(sr)}function Yn(yt,kt,Bt,nr){var hr=yt.shared,lr=yt.current,dr=hr.current,ur=hr.gl,Ht;ni(Object.keys(Bt)).forEach(function(sr){var Vt=Bt[sr];if(!(nr&&!nr(Vt))){var Dr=Vt.append(yt,kt);if(Ua[sr]){var Jr=Ua[sr];sn(Vt)?(Ht=yt.link(Dr,{stable:!0}),kt(yt.cond(Ht).then(ur,\".enable(\",Jr,\");\").else(ur,\".disable(\",Jr,\");\")),kt(dr,\".\",sr,\"=\",Ht,\";\")):(kt(yt.cond(Dr).then(ur,\".enable(\",Jr,\");\").else(ur,\".disable(\",Jr,\");\")),kt(dr,\".\",sr,\"=\",Dr,\";\"))}else if(ya(Dr)){var ga=lr[sr];kt(ur,\".\",Yi[sr],\"(\",Dr,\");\",Dr.map(function(vi,Ga){return ga+\"[\"+Ga+\"]=\"+vi}).join(\";\"),\";\")}else sn(Vt)?(Ht=yt.link(Dr,{stable:!0}),kt(ur,\".\",Yi[sr],\"(\",Ht,\");\",dr,\".\",sr,\"=\",Ht,\";\")):kt(ur,\".\",Yi[sr],\"(\",Dr,\");\",dr,\".\",sr,\"=\",Dr,\";\")}})}function Cl(yt,kt){di&&(yt.instancing=kt.def(yt.shared.extensions,\".angle_instanced_arrays\"))}function Co(yt,kt,Bt,nr,hr){var lr=yt.shared,dr=yt.stats,ur=lr.current,Ht=lr.timer,sr=Bt.profile;function Vt(){return typeof performance>\"u\"?\"Date.now()\":\"performance.now()\"}var Dr,Jr;function ga(ui){Dr=kt.def(),ui(Dr,\"=\",Vt(),\";\"),typeof hr==\"string\"?ui(dr,\".count+=\",hr,\";\"):ui(dr,\".count++;\"),Ei&&(nr?(Jr=kt.def(),ui(Jr,\"=\",Ht,\".getNumPendingQueries();\")):ui(Ht,\".beginQuery(\",dr,\");\"))}function vi(ui){ui(dr,\".cpuTime+=\",Vt(),\"-\",Dr,\";\"),Ei&&(nr?ui(Ht,\".pushScopeStats(\",Jr,\",\",Ht,\".getNumPendingQueries(),\",dr,\");\"):ui(Ht,\".endQuery();\"))}function Ga(ui){var _i=kt.def(ur,\".profile\");kt(ur,\".profile=\",ui,\";\"),kt.exit(ur,\".profile=\",_i,\";\")}var ai;if(sr){if(sn(sr)){sr.enable?(ga(kt),vi(kt.exit),Ga(\"true\")):Ga(\"false\");return}ai=sr.append(yt,kt),Ga(ai)}else ai=kt.def(ur,\".profile\");var Zi=yt.block();ga(Zi),kt(\"if(\",ai,\"){\",Zi,\"}\");var Fi=yt.block();vi(Fi),kt.exit(\"if(\",ai,\"){\",Fi,\"}\")}function ve(yt,kt,Bt,nr,hr){var lr=yt.shared;function dr(Ht){switch(Ht){case is:case ul:case Il:return 2;case Ao:case tl:case eu:return 3;case Zo:case Jo:case Ru:return 4;default:return 1}}function ur(Ht,sr,Vt){var Dr=lr.gl,Jr=kt.def(Ht,\".location\"),ga=kt.def(lr.attributes,\"[\",Jr,\"]\"),vi=Vt.state,Ga=Vt.buffer,ai=[Vt.x,Vt.y,Vt.z,Vt.w],Zi=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function Fi(){kt(\"if(!\",ga,\".buffer){\",Dr,\".enableVertexAttribArray(\",Jr,\");}\");var _i=Vt.type,Si;if(Vt.size?Si=kt.def(Vt.size,\"||\",sr):Si=sr,kt(\"if(\",ga,\".type!==\",_i,\"||\",ga,\".size!==\",Si,\"||\",Zi.map(function(fn){return ga+\".\"+fn+\"!==\"+Vt[fn]}).join(\"||\"),\"){\",Dr,\".bindBuffer(\",Qr,\",\",Ga,\".buffer);\",Dr,\".vertexAttribPointer(\",[Jr,Si,_i,Vt.normalized,Vt.stride,Vt.offset],\");\",ga,\".type=\",_i,\";\",ga,\".size=\",Si,\";\",Zi.map(function(fn){return ga+\".\"+fn+\"=\"+Vt[fn]+\";\"}).join(\"\"),\"}\"),di){var Ui=Vt.divisor;kt(\"if(\",ga,\".divisor!==\",Ui,\"){\",yt.instancing,\".vertexAttribDivisorANGLE(\",[Jr,Ui],\");\",ga,\".divisor=\",Ui,\";}\")}}function ui(){kt(\"if(\",ga,\".buffer){\",Dr,\".disableVertexAttribArray(\",Jr,\");\",ga,\".buffer=null;\",\"}if(\",Qn.map(function(_i,Si){return ga+\".\"+_i+\"!==\"+ai[Si]}).join(\"||\"),\"){\",Dr,\".vertexAttrib4f(\",Jr,\",\",ai,\");\",Qn.map(function(_i,Si){return ga+\".\"+_i+\"=\"+ai[Si]+\";\"}).join(\"\"),\"}\")}vi===eo?Fi():vi===fo?ui():(kt(\"if(\",vi,\"===\",eo,\"){\"),Fi(),kt(\"}else{\"),ui(),kt(\"}\"))}nr.forEach(function(Ht){var sr=Ht.name,Vt=Bt.attributes[sr],Dr;if(Vt){if(!hr(Vt))return;Dr=Vt.append(yt,kt)}else{if(!hr(Pn))return;var Jr=yt.scopeAttrib(sr);Dr={},Object.keys(new Ma).forEach(function(ga){Dr[ga]=kt.def(Jr,\".\",ga)})}ur(yt.link(Ht),dr(Ht.info.type),Dr)})}function K(yt,kt,Bt,nr,hr,lr){for(var dr=yt.shared,ur=dr.gl,Ht,sr=0;sr1){for(var Bo=[],Ps=[],Do=0;Do>1)\",Ga],\");\")}function Ui(){Bt(ai,\".drawArraysInstancedANGLE(\",[Jr,ga,vi,Ga],\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Bt(\"if(\",Vt,\"){\"),Si(),Bt(\"}else{\"),Ui(),Bt(\"}\")):Ui()}function _i(){function Si(){Bt(lr+\".drawElements(\"+[Jr,vi,Zi,ga+\"<<((\"+Zi+\"-\"+ao+\")>>1)\"]+\");\")}function Ui(){Bt(lr+\".drawArrays(\"+[Jr,ga,vi]+\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Bt(\"if(\",Vt,\"){\"),Si(),Bt(\"}else{\"),Ui(),Bt(\"}\")):Ui()}di&&(typeof Ga!=\"number\"||Ga>=0)?typeof Ga==\"string\"?(Bt(\"if(\",Ga,\">0){\"),ui(),Bt(\"}else if(\",Ga,\"<0){\"),_i(),Bt(\"}\")):ui():_i()}function te(yt,kt,Bt,nr,hr){var lr=an(),dr=lr.proc(\"body\",hr);return di&&(lr.instancing=dr.def(lr.shared.extensions,\".angle_instanced_arrays\")),yt(lr,dr,Bt,nr),lr.compile().body}function me(yt,kt,Bt,nr){Cl(yt,kt),Bt.useVAO?Bt.drawVAO?kt(yt.shared.vao,\".setVAO(\",Bt.drawVAO.append(yt,kt),\");\"):kt(yt.shared.vao,\".setVAO(\",yt.shared.vao,\".targetVAO);\"):(kt(yt.shared.vao,\".setVAO(null);\"),ve(yt,kt,Bt,nr.attributes,function(){return!0})),K(yt,kt,Bt,nr.uniforms,function(){return!0},!1),_e(yt,kt,kt,Bt)}function Ge(yt,kt){var Bt=yt.proc(\"draw\",1);Cl(yt,Bt),qs(yt,Bt,kt.context),pl(yt,Bt,kt.framebuffer),wl(yt,Bt,kt),Yn(yt,Bt,kt.state),Co(yt,Bt,kt,!1,!0);var nr=kt.shader.progVar.append(yt,Bt);if(Bt(yt.shared.gl,\".useProgram(\",nr,\".program);\"),kt.shader.program)me(yt,Bt,kt,kt.shader.program);else{Bt(yt.shared.vao,\".setVAO(null);\");var hr=yt.global.def(\"{}\"),lr=Bt.def(nr,\".id\"),dr=Bt.def(hr,\"[\",lr,\"]\");Bt(yt.cond(dr).then(dr,\".call(this,a0);\").else(dr,\"=\",hr,\"[\",lr,\"]=\",yt.link(function(ur){return te(me,yt,kt,ur,1)}),\"(\",nr,\");\",dr,\".call(this,a0);\"))}Object.keys(kt.state).length>0&&Bt(yt.shared.current,\".dirty=true;\"),yt.shared.vao&&Bt(yt.shared.vao,\".setVAO(null);\")}function Le(yt,kt,Bt,nr){yt.batchId=\"a1\",Cl(yt,kt);function hr(){return!0}ve(yt,kt,Bt,nr.attributes,hr),K(yt,kt,Bt,nr.uniforms,hr,!1),_e(yt,kt,kt,Bt)}function $e(yt,kt,Bt,nr){Cl(yt,kt);var hr=Bt.contextDep,lr=kt.def(),dr=\"a0\",ur=\"a1\",Ht=kt.def();yt.shared.props=Ht,yt.batchId=lr;var sr=yt.scope(),Vt=yt.scope();kt(sr.entry,\"for(\",lr,\"=0;\",lr,\"<\",ur,\";++\",lr,\"){\",Ht,\"=\",dr,\"[\",lr,\"];\",Vt,\"}\",sr.exit);function Dr(Zi){return Zi.contextDep&&hr||Zi.propDep}function Jr(Zi){return!Dr(Zi)}if(Bt.needsContext&&qs(yt,Vt,Bt.context),Bt.needsFramebuffer&&pl(yt,Vt,Bt.framebuffer),Yn(yt,Vt,Bt.state,Dr),Bt.profile&&Dr(Bt.profile)&&Co(yt,Vt,Bt,!1,!0),nr)Bt.useVAO?Bt.drawVAO?Dr(Bt.drawVAO)?Vt(yt.shared.vao,\".setVAO(\",Bt.drawVAO.append(yt,Vt),\");\"):sr(yt.shared.vao,\".setVAO(\",Bt.drawVAO.append(yt,sr),\");\"):sr(yt.shared.vao,\".setVAO(\",yt.shared.vao,\".targetVAO);\"):(sr(yt.shared.vao,\".setVAO(null);\"),ve(yt,sr,Bt,nr.attributes,Jr),ve(yt,Vt,Bt,nr.attributes,Dr)),K(yt,sr,Bt,nr.uniforms,Jr,!1),K(yt,Vt,Bt,nr.uniforms,Dr,!0),_e(yt,sr,Vt,Bt);else{var ga=yt.global.def(\"{}\"),vi=Bt.shader.progVar.append(yt,Vt),Ga=Vt.def(vi,\".id\"),ai=Vt.def(ga,\"[\",Ga,\"]\");Vt(yt.shared.gl,\".useProgram(\",vi,\".program);\",\"if(!\",ai,\"){\",ai,\"=\",ga,\"[\",Ga,\"]=\",yt.link(function(Zi){return te(Le,yt,Bt,Zi,2)}),\"(\",vi,\");}\",ai,\".call(this,a0[\",lr,\"],\",lr,\");\")}}function gt(yt,kt){var Bt=yt.proc(\"batch\",2);yt.batchId=\"0\",Cl(yt,Bt);var nr=!1,hr=!0;Object.keys(kt.context).forEach(function(ga){nr=nr||kt.context[ga].propDep}),nr||(qs(yt,Bt,kt.context),hr=!1);var lr=kt.framebuffer,dr=!1;lr?(lr.propDep?nr=dr=!0:lr.contextDep&&nr&&(dr=!0),dr||pl(yt,Bt,lr)):pl(yt,Bt,null),kt.state.viewport&&kt.state.viewport.propDep&&(nr=!0);function ur(ga){return ga.contextDep&&nr||ga.propDep}wl(yt,Bt,kt),Yn(yt,Bt,kt.state,function(ga){return!ur(ga)}),(!kt.profile||!ur(kt.profile))&&Co(yt,Bt,kt,!1,\"a1\"),kt.contextDep=nr,kt.needsContext=hr,kt.needsFramebuffer=dr;var Ht=kt.shader.progVar;if(Ht.contextDep&&nr||Ht.propDep)$e(yt,Bt,kt,null);else{var sr=Ht.append(yt,Bt);if(Bt(yt.shared.gl,\".useProgram(\",sr,\".program);\"),kt.shader.program)$e(yt,Bt,kt,kt.shader.program);else{Bt(yt.shared.vao,\".setVAO(null);\");var Vt=yt.global.def(\"{}\"),Dr=Bt.def(sr,\".id\"),Jr=Bt.def(Vt,\"[\",Dr,\"]\");Bt(yt.cond(Jr).then(Jr,\".call(this,a0,a1);\").else(Jr,\"=\",Vt,\"[\",Dr,\"]=\",yt.link(function(ga){return te($e,yt,kt,ga,2)}),\"(\",sr,\");\",Jr,\".call(this,a0,a1);\"))}}Object.keys(kt.state).length>0&&Bt(yt.shared.current,\".dirty=true;\"),yt.shared.vao&&Bt(yt.shared.vao,\".setVAO(null);\")}function jt(yt,kt){var Bt=yt.proc(\"scope\",3);yt.batchId=\"a2\";var nr=yt.shared,hr=nr.current;if(qs(yt,Bt,kt.context),kt.framebuffer&&kt.framebuffer.append(yt,Bt),ni(Object.keys(kt.state)).forEach(function(ur){var Ht=kt.state[ur],sr=Ht.append(yt,Bt);ya(sr)?sr.forEach(function(Vt,Dr){Xi(Vt)?Bt.set(yt.next[ur],\"[\"+Dr+\"]\",Vt):Bt.set(yt.next[ur],\"[\"+Dr+\"]\",yt.link(Vt,{stable:!0}))}):sn(Ht)?Bt.set(nr.next,\".\"+ur,yt.link(sr,{stable:!0})):Bt.set(nr.next,\".\"+ur,sr)}),Co(yt,Bt,kt,!0,!0),[$t,Kr,Ar,na,Tr].forEach(function(ur){var Ht=kt.draw[ur];if(Ht){var sr=Ht.append(yt,Bt);Xi(sr)?Bt.set(nr.draw,\".\"+ur,sr):Bt.set(nr.draw,\".\"+ur,yt.link(sr),{stable:!0})}}),Object.keys(kt.uniforms).forEach(function(ur){var Ht=kt.uniforms[ur].append(yt,Bt);Array.isArray(Ht)&&(Ht=\"[\"+Ht.map(function(sr){return Xi(sr)?sr:yt.link(sr,{stable:!0})})+\"]\"),Bt.set(nr.uniforms,\"[\"+yt.link(Zt.id(ur),{stable:!0})+\"]\",Ht)}),Object.keys(kt.attributes).forEach(function(ur){var Ht=kt.attributes[ur].append(yt,Bt),sr=yt.scopeAttrib(ur);Object.keys(new Ma).forEach(function(Vt){Bt.set(sr,\".\"+Vt,Ht[Vt])})}),kt.scopeVAO){var lr=kt.scopeVAO.append(yt,Bt);Xi(lr)?Bt.set(nr.vao,\".targetVAO\",lr):Bt.set(nr.vao,\".targetVAO\",yt.link(lr,{stable:!0}))}function dr(ur){var Ht=kt.shader[ur];if(Ht){var sr=Ht.append(yt,Bt);Xi(sr)?Bt.set(nr.shader,\".\"+ur,sr):Bt.set(nr.shader,\".\"+ur,yt.link(sr,{stable:!0}))}}dr(St),dr(Nt),Object.keys(kt.state).length>0&&(Bt(hr,\".dirty=true;\"),Bt.exit(hr,\".dirty=true;\")),Bt(\"a1(\",yt.shared.context,\",a0,\",yt.batchId,\");\")}function wr(yt){if(!(typeof yt!=\"object\"||ya(yt))){for(var kt=Object.keys(yt),Bt=0;Bt=0;--te){var me=mn[te];me&&me(Na,null,0)}fr.flush(),si&&si.update()}function Zn(){!kn&&mn.length>0&&(kn=c.next(Dn))}function Ds(){kn&&(c.cancel(Dn),kn=null)}function bl(te){te.preventDefault(),wa=!0,Ds(),In.forEach(function(me){me()})}function po(te){fr.getError(),wa=!1,ma.restore(),pn.restore(),di.restore(),Ha.restore(),Ua.restore(),Yi.restore(),Bi.restore(),si&&si.restore(),Ri.procs.refresh(),Zn(),Ii.forEach(function(me){me()})}Xi&&(Xi.addEventListener(cs,bl,!1),Xi.addEventListener(ms,po,!1));function Wl(){mn.length=0,Ds(),Xi&&(Xi.removeEventListener(cs,bl),Xi.removeEventListener(ms,po)),pn.clear(),Yi.clear(),Ua.clear(),Bi.clear(),Ha.clear(),Va.clear(),di.clear(),si&&si.clear(),an.forEach(function(te){te()})}function fs(te){function me(lr){var dr=v({},lr);delete dr.uniforms,delete dr.attributes,delete dr.context,delete dr.vao,\"stencil\"in dr&&dr.stencil.op&&(dr.stencil.opBack=dr.stencil.opFront=dr.stencil.op,delete dr.stencil.op);function ur(Ht){if(Ht in dr){var sr=dr[Ht];delete dr[Ht],Object.keys(sr).forEach(function(Vt){dr[Ht+\".\"+Vt]=sr[Vt]})}}return ur(\"blend\"),ur(\"depth\"),ur(\"cull\"),ur(\"stencil\"),ur(\"polygonOffset\"),ur(\"scissor\"),ur(\"sample\"),\"vao\"in lr&&(dr.vao=lr.vao),dr}function Ge(lr,dr){var ur={},Ht={};return Object.keys(lr).forEach(function(sr){var Vt=lr[sr];if(h.isDynamic(Vt)){Ht[sr]=h.unbox(Vt,sr);return}else if(dr&&Array.isArray(Vt)){for(var Dr=0;Dr0)return yt.call(this,nr(lr|0),lr|0)}else if(Array.isArray(lr)){if(lr.length)return yt.call(this,lr,lr.length)}else return pr.call(this,lr)}return v(hr,{stats:wr,destroy:function(){Nr.destroy()}})}var Sl=Yi.setFBO=fs({framebuffer:h.define.call(null,Al,\"framebuffer\")});function kl(te,me){var Ge=0;Ri.procs.poll();var Le=me.color;Le&&(fr.clearColor(+Le[0]||0,+Le[1]||0,+Le[2]||0,+Le[3]||0),Ge|=al),\"depth\"in me&&(fr.clearDepth(+me.depth),Ge|=xl),\"stencil\"in me&&(fr.clearStencil(me.stencil|0),Ge|=gn),fr.clear(Ge)}function tu(te){if(\"framebuffer\"in te)if(te.framebuffer&&te.framebuffer_reglType===\"framebufferCube\")for(var me=0;me<6;++me)Sl(v({framebuffer:te.framebuffer.faces[me]},te),kl);else Sl(te,kl);else kl(null,te)}function qs(te){mn.push(te);function me(){var Ge=Rl(mn,te);function Le(){var $e=Rl(mn,Le);mn[$e]=mn[mn.length-1],mn.length-=1,mn.length<=0&&Ds()}mn[Ge]=Le}return Zn(),{cancel:me}}function pl(){var te=xi.viewport,me=xi.scissor_box;te[0]=te[1]=me[0]=me[1]=0,Na.viewportWidth=Na.framebufferWidth=Na.drawingBufferWidth=te[2]=me[2]=fr.drawingBufferWidth,Na.viewportHeight=Na.framebufferHeight=Na.drawingBufferHeight=te[3]=me[3]=fr.drawingBufferHeight}function wl(){Na.tick+=1,Na.time=Cl(),pl(),Ri.procs.poll()}function Yn(){Ha.refresh(),pl(),Ri.procs.refresh(),si&&si.update()}function Cl(){return(m()-yn)/1e3}Yn();function Co(te,me){var Ge;switch(te){case\"frame\":return qs(me);case\"lost\":Ge=In;break;case\"restore\":Ge=Ii;break;case\"destroy\":Ge=an;break;default:}return Ge.push(me),{cancel:function(){for(var Le=0;Le=0},read:Ti,destroy:Wl,_gl:fr,_refresh:Yn,poll:function(){wl(),si&&si.update()},now:Cl,stats:Ya,getCachedCode:ve,preloadCachedCode:K});return Zt.onDone(null,_e),_e}return _c})}}),xT=Xe({\"src/lib/prepare_regl.js\"(Z,G){\"use strict\";var v=TE(),x=Cq();G.exports=function(E,e,t){var r=E._fullLayout,o=!0;return r._glcanvas.each(function(a){if(a.regl){a.regl.preloadCachedCode(t);return}if(!(a.pick&&!r._has(\"parcoords\"))){try{a.regl=x({canvas:this,attributes:{antialias:!a.pick,preserveDrawingBuffer:!0},pixelRatio:E._context.plotGlPixelRatio||window.devicePixelRatio,extensions:e||[],cachedCode:t||{}})}catch{o=!1}a.regl||(o=!1),o&&this.addEventListener(\"webglcontextlost\",function(n){E&&E.emit&&E.emit(\"plotly_webglcontextlost\",{event:n,layer:a.key})},!1)}}),o||v({container:r._glcontainer.node()}),o}}}),p6=Xe({\"src/traces/scattergl/plot.js\"(h,G){\"use strict\";var v=HE(),x=a6(),S=hq(),E=kq(),e=sa(),t=Jd().selectMode,r=xT(),o=Fu(),a=O5(),n=qE().styleTextSelection,i={};function s(c,m,p,T){var l=c._size,_=c.width*T,w=c.height*T,A=l.l*T,M=l.b*T,g=l.r*T,b=l.t*T,d=l.w*T,u=l.h*T;return[A+m.domain[0]*d,M+p.domain[0]*u,_-g-(1-m.domain[1])*d,w-b-(1-p.domain[1])*u]}var h=G.exports=function(m,p,T){if(T.length){var l=m._fullLayout,_=p._scene,w=p.xaxis,A=p.yaxis,M,g;if(_){var b=r(m,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],i);if(!b){_.init();return}var d=_.count,u=l._glcanvas.data()[0].regl;if(a(m,p,T),_.dirty){if((_.line2d||_.error2d)&&!(_.scatter2d||_.fill2d||_.glText)&&u.clear({color:!0,depth:!0}),_.error2d===!0&&(_.error2d=S(u)),_.line2d===!0&&(_.line2d=x(u)),_.scatter2d===!0&&(_.scatter2d=v(u)),_.fill2d===!0&&(_.fill2d=x(u)),_.glText===!0)for(_.glText=new Array(d),M=0;M_.glText.length){var y=d-_.glText.length;for(M=0;MQ&&(isNaN(j[re])||isNaN(j[re+1]));)re-=2;ae.positions=j.slice(Q,re+2)}return ae}),_.line2d.update(_.lineOptions)),_.error2d){var L=(_.errorXOptions||[]).concat(_.errorYOptions||[]);_.error2d.update(L)}_.scatter2d&&_.scatter2d.update(_.markerOptions),_.fillOrder=e.repeat(null,d),_.fill2d&&(_.fillOptions=_.fillOptions.map(function(ae,j){var Q=T[j];if(!(!ae||!Q||!Q[0]||!Q[0].trace)){var re=Q[0],ce=re.trace,be=re.t,Ae=_.lineOptions[j],De,ze,Ze=[];ce._ownfill&&Ze.push(j),ce._nexttrace&&Ze.push(j+1),Ze.length&&(_.fillOrder[j]=Ze);var at=[],nt=Ae&&Ae.positions||be.positions,rt,st;if(ce.fill===\"tozeroy\"){for(rt=0;rtrt&&isNaN(nt[st+1]);)st-=2;nt[rt+1]!==0&&(at=[nt[rt],0]),at=at.concat(nt.slice(rt,st+2)),nt[st+1]!==0&&(at=at.concat([nt[st],0]))}else if(ce.fill===\"tozerox\"){for(rt=0;rtrt&&isNaN(nt[st]);)st-=2;nt[rt]!==0&&(at=[0,nt[rt+1]]),at=at.concat(nt.slice(rt,st+2)),nt[st]!==0&&(at=at.concat([0,nt[st+1]]))}else if(ce.fill===\"toself\"||ce.fill===\"tonext\"){for(at=[],De=0,ae.splitNull=!0,ze=0;ze-1;for(let[ae]of T)if(ae){var O=ae.trace,P=ae.t,U=P.index,B=O._length,X=P.x,$=P.y;if(O.selectedpoints||F||N){if(F||(F=!0),O.selectedpoints){var se=_.selectBatch[U]=e.selIndices2selPoints(O),le={};for(g=0;gw&&p||_n,f;for(y?f=p.sizeAvg||Math.max(p.size,3):f=S(h,m),A=0;A<_.length;A++)w=_[A],M=c[w],g=x.getFromId(s,h._diag[w][0])||{},b=x.getFromId(s,h._diag[w][1])||{},E(s,h,g,b,T[A],T[A],f);var R=o(s,h);return R.matrix||(R.matrix=!0),R.matrixOptions=p,R.selectedOptions=t(s,h,h.selected),R.unselectedOptions=t(s,h,h.unselected),[{x:!1,y:!1,t:{},trace:h}]}}}),zq=Xe({\"node_modules/performance-now/lib/performance-now.js\"(Z,G){(function(){var v,x,S,E,e,t;typeof performance<\"u\"&&performance!==null&&performance.now?G.exports=function(){return performance.now()}:typeof process<\"u\"&&process!==null&&process.hrtime?(G.exports=function(){return(v()-e)/1e6},x=process.hrtime,v=function(){var r;return r=x(),r[0]*1e9+r[1]},E=v(),t=process.uptime()*1e9,e=E-t):Date.now?(G.exports=function(){return Date.now()-S},S=Date.now()):(G.exports=function(){return new Date().getTime()-S},S=new Date().getTime())}).call(Z)}}),Fq=Xe({\"node_modules/raf/index.js\"(Z,G){var v=zq(),x=window,S=[\"moz\",\"webkit\"],E=\"AnimationFrame\",e=x[\"request\"+E],t=x[\"cancel\"+E]||x[\"cancelRequest\"+E];for(r=0;!e&&r{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,E(()=>{this.dirty=!1})),this)},o.prototype.update=function(...s){if(!s.length)return;for(let m=0;mf||!p.lower&&y{h[T+_]=m})}this.scatter.draw(...h)}return this},o.prototype.destroy=function(){return this.traces.forEach(s=>{s.buffer&&s.buffer.destroy&&s.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function a(s,h,c){let m=s.id!=null?s.id:s,p=h,T=c;return m<<16|(p&255)<<8|T&255}function n(s,h,c){let m,p,T,l,_,w,A,M,g=s[h],b=s[c];return g.length>2?(m=g[0],T=g[2],p=g[1],l=g[3]):g.length?(m=p=g[0],T=l=g[1]):(m=g.x,p=g.y,T=g.x+g.width,l=g.y+g.height),b.length>2?(_=b[0],A=b[2],w=b[1],M=b[3]):b.length?(_=w=b[0],A=M=b[1]):(_=b.x,w=b.y,A=b.x+b.width,M=b.y+b.height),[_,p,A,l]}function i(s){if(typeof s==\"number\")return[s,s,s,s];if(s.length===2)return[s[0],s[1],s[0],s[1]];{let h=t(s);return[h.x,h.y,h.x+h.width,h.y+h.height]}}}}),Nq=Xe({\"src/traces/splom/plot.js\"(Z,G){\"use strict\";var v=Bq(),x=sa(),S=ef(),E=Jd().selectMode;G.exports=function(r,o,a){if(a.length)for(var n=0;n-1,N=E(p)||!!n.selectedpoints||F,O=!0;if(N){var P=n._length;if(n.selectedpoints){s.selectBatch=n.selectedpoints;var U=n.selectedpoints,B={};for(_=0;_=X[$][0]&&B<=X[$][1])return!0;return!1}function h(B){B.attr(\"x\",-v.bar.captureWidth/2).attr(\"width\",v.bar.captureWidth)}function c(B){B.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function m(B){if(!B.brush.filterSpecified)return\"0,\"+B.height;for(var X=p(B.brush.filter.getConsolidated(),B.height),$=[0],se,le,fe,V=X.length?X[0][0]:null,Y=0;YB[1]+$||X=.9*B[1]+.1*B[0]?\"n\":X<=.9*B[0]+.1*B[1]?\"s\":\"ns\"}function l(){x.select(document.body).style(\"cursor\",null)}function _(B){B.attr(\"stroke-dasharray\",m)}function w(B,X){var $=x.select(B).selectAll(\".highlight, .highlight-shadow\"),se=X?$.transition().duration(v.bar.snapDuration).each(\"end\",X):$;_(se)}function A(B,X){var $=B.brush,se=$.filterSpecified,le=NaN,fe={},V;if(se){var Y=B.height,ee=$.filter.getConsolidated(),q=p(ee,Y),oe=NaN,ae=NaN,j=NaN;for(V=0;V<=q.length;V++){var Q=q[V];if(Q&&Q[0]<=X&&X<=Q[1]){oe=V;break}else if(ae=V?V-1:NaN,Q&&Q[0]>X){j=V;break}}if(le=oe,isNaN(le)&&(isNaN(ae)||isNaN(j)?le=isNaN(ae)?j:ae:le=X-q[ae][1]=De[0]&&Ae<=De[1]){fe.clickableOrdinalRange=De;break}}}return fe}function M(B,X){x.event.sourceEvent.stopPropagation();var $=X.height-x.mouse(B)[1]-2*v.verticalPadding,se=X.unitToPaddedPx.invert($),le=X.brush,fe=A(X,$),V=fe.interval,Y=le.svgBrush;if(Y.wasDragged=!1,Y.grabbingBar=fe.region===\"ns\",Y.grabbingBar){var ee=V.map(X.unitToPaddedPx);Y.grabPoint=$-ee[0]-v.verticalPadding,Y.barLength=ee[1]-ee[0]}Y.clickableOrdinalRange=fe.clickableOrdinalRange,Y.stayingIntervals=X.multiselect&&le.filterSpecified?le.filter.getConsolidated():[],V&&(Y.stayingIntervals=Y.stayingIntervals.filter(function(q){return q[0]!==V[0]&&q[1]!==V[1]})),Y.startExtent=fe.region?V[fe.region===\"s\"?1:0]:se,X.parent.inBrushDrag=!0,Y.brushStartCallback()}function g(B,X){x.event.sourceEvent.stopPropagation();var $=X.height-x.mouse(B)[1]-2*v.verticalPadding,se=X.brush.svgBrush;se.wasDragged=!0,se._dragging=!0,se.grabbingBar?se.newExtent=[$-se.grabPoint,$+se.barLength-se.grabPoint].map(X.unitToPaddedPx.invert):se.newExtent=[se.startExtent,X.unitToPaddedPx.invert($)].sort(e),X.brush.filterSpecified=!0,se.extent=se.stayingIntervals.concat([se.newExtent]),se.brushCallback(X),w(B.parentNode)}function b(B,X){var $=X.brush,se=$.filter,le=$.svgBrush;le._dragging||(d(B,X),g(B,X),X.brush.svgBrush.wasDragged=!1),le._dragging=!1;var fe=x.event;fe.sourceEvent.stopPropagation();var V=le.grabbingBar;if(le.grabbingBar=!1,le.grabLocation=void 0,X.parent.inBrushDrag=!1,l(),!le.wasDragged){le.wasDragged=void 0,le.clickableOrdinalRange?$.filterSpecified&&X.multiselect?le.extent.push(le.clickableOrdinalRange):(le.extent=[le.clickableOrdinalRange],$.filterSpecified=!0):V?(le.extent=le.stayingIntervals,le.extent.length===0&&z($)):z($),le.brushCallback(X),w(B.parentNode),le.brushEndCallback($.filterSpecified?se.getConsolidated():[]);return}var Y=function(){se.set(se.getConsolidated())};if(X.ordinal){var ee=X.unitTickvals;ee[ee.length-1]le.newExtent[0];le.extent=le.stayingIntervals.concat(q?[le.newExtent]:[]),le.extent.length||z($),le.brushCallback(X),q?w(B.parentNode,Y):(Y(),w(B.parentNode))}else Y();le.brushEndCallback($.filterSpecified?se.getConsolidated():[])}function d(B,X){var $=X.height-x.mouse(B)[1]-2*v.verticalPadding,se=A(X,$),le=\"crosshair\";se.clickableOrdinalRange?le=\"pointer\":se.region&&(le=se.region+\"-resize\"),x.select(document.body).style(\"cursor\",le)}function u(B){B.on(\"mousemove\",function(X){x.event.preventDefault(),X.parent.inBrushDrag||d(this,X)}).on(\"mouseleave\",function(X){X.parent.inBrushDrag||l()}).call(x.behavior.drag().on(\"dragstart\",function(X){M(this,X)}).on(\"drag\",function(X){g(this,X)}).on(\"dragend\",function(X){b(this,X)}))}function y(B,X){return B[0]-X[0]}function f(B,X,$){var se=$._context.staticPlot,le=B.selectAll(\".background\").data(E);le.enter().append(\"rect\").classed(\"background\",!0).call(h).call(c).style(\"pointer-events\",se?\"none\":\"auto\").attr(\"transform\",t(0,v.verticalPadding)),le.call(u).attr(\"height\",function(Y){return Y.height-v.verticalPadding});var fe=B.selectAll(\".highlight-shadow\").data(E);fe.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-v.bar.width/2).attr(\"stroke-width\",v.bar.width+v.bar.strokeWidth).attr(\"stroke\",X).attr(\"opacity\",v.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),fe.attr(\"y1\",function(Y){return Y.height}).call(_);var V=B.selectAll(\".highlight\").data(E);V.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-v.bar.width/2).attr(\"stroke-width\",v.bar.width-v.bar.strokeWidth).attr(\"stroke\",v.bar.fillColor).attr(\"opacity\",v.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),V.attr(\"y1\",function(Y){return Y.height}).call(_)}function R(B,X,$){var se=B.selectAll(\".\"+v.cn.axisBrush).data(E,S);se.enter().append(\"g\").classed(v.cn.axisBrush,!0),f(se,X,$)}function L(B){return B.svgBrush.extent.map(function(X){return X.slice()})}function z(B){B.filterSpecified=!1,B.svgBrush.extent=[[-1/0,1/0]]}function F(B){return function($){var se=$.brush,le=L(se),fe=le.slice();se.filter.set(fe),B()}}function N(B){for(var X=B.slice(),$=[],se,le=X.shift();le;){for(se=le.slice();(le=X.shift())&&le[0]<=se[1];)se[1]=Math.max(se[1],le[1]);$.push(se)}return $.length===1&&$[0][0]>$[0][1]&&($=[]),$}function O(){var B=[],X,$;return{set:function(se){B=se.map(function(le){return le.slice().sort(e)}).sort(y),B.length===1&&B[0][0]===-1/0&&B[0][1]===1/0&&(B=[[0,-1]]),X=N(B),$=B.reduce(function(le,fe){return[Math.min(le[0],fe[0]),Math.max(le[1],fe[1])]},[1/0,-1/0])},get:function(){return B.slice()},getConsolidated:function(){return X},getBounds:function(){return $}}}function P(B,X,$,se,le,fe){var V=O();return V.set($),{filter:V,filterSpecified:X,svgBrush:{extent:[],brushStartCallback:se,brushCallback:F(le),brushEndCallback:fe}}}function U(B,X){if(Array.isArray(B[0])?(B=B.map(function(se){return se.sort(e)}),X.multiselect?B=N(B.sort(y)):B=[B[0]]):B=[B.sort(e)],X.tickvals){var $=X.tickvals.slice().sort(e);if(B=B.map(function(se){var le=[i(0,$,se[0],[]),i(1,$,se[1],[])];if(le[1]>le[0])return le}).filter(function(se){return se}),!B.length)return}return B.length>1?B:B[0]}G.exports={makeBrush:P,ensureAxisBrush:R,cleanRanges:U}}}),Xq=Xe({\"src/traces/parcoords/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=wp().hasColorscale,S=_h(),E=wc().defaults,e=hp(),t=Go(),r=m6(),o=g6(),a=Ax().maxDimensionCount,n=bT();function i(h,c,m,p,T){var l=T(\"line.color\",m);if(x(h,\"line\")&&v.isArrayOrTypedArray(l)){if(l.length)return T(\"line.colorscale\"),S(h,c,p,T,{prefix:\"line.\",cLetter:\"c\"}),l.length;c.line.color=m}return 1/0}function s(h,c,m,p){function T(M,g){return v.coerce(h,c,r.dimensions,M,g)}var l=T(\"values\"),_=T(\"visible\");if(l&&l.length||(_=c.visible=!1),_){T(\"label\"),T(\"tickvals\"),T(\"ticktext\"),T(\"tickformat\");var w=T(\"range\");c._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:w},t.setConvert(c._ax,p.layout),T(\"multiselect\");var A=T(\"constraintrange\");A&&(c.constraintrange=o.cleanRanges(A,c))}}G.exports=function(c,m,p,T){function l(g,b){return v.coerce(c,m,r,g,b)}var _=c.dimensions;Array.isArray(_)&&_.length>a&&(v.log(\"parcoords traces support up to \"+a+\" dimensions at the moment\"),_.splice(a));var w=e(c,m,{name:\"dimensions\",layout:T,handleItemDefaults:s}),A=i(c,m,p,T,l);E(m,T,l),(!Array.isArray(w)||!w.length)&&(m.visible=!1),n(m,w,\"values\",A);var M=v.extendFlat({},T.font,{size:Math.round(T.font.size/1.2)});v.coerceFont(l,\"labelfont\",M),v.coerceFont(l,\"tickfont\",M,{autoShadowDflt:!0}),v.coerceFont(l,\"rangefont\",M),l(\"labelangle\"),l(\"labelside\"),l(\"unselected.line.color\"),l(\"unselected.line.opacity\")}}}),Zq=Xe({\"src/traces/parcoords/calc.js\"(Z,G){\"use strict\";var v=sa().isArrayOrTypedArray,x=rc(),S=kv().wrap;G.exports=function(t,r){var o,a;return x.hasColorscale(r,\"line\")&&v(r.line.color)?(o=r.line.color,a=x.extractOpts(r.line).colorscale,x.calc(t,r,{vals:o,containerStr:\"line\",cLetter:\"c\"})):(o=E(r._length),a=[[0,r.line.color],[1,r.line.color]]),S({lineColor:o,cscale:a})};function E(e){for(var t=new Array(e),r=0;r>>16,(Z&65280)>>>8,Z&255],alpha:1};if(typeof Z==\"number\")return{space:\"rgb\",values:[Z>>>16,(Z&65280)>>>8,Z&255],alpha:1};if(Z=String(Z).toLowerCase(),wT.default[Z])S=wT.default[Z].slice(),e=\"rgb\";else if(Z===\"transparent\")E=0,e=\"rgb\",S=[0,0,0];else if(Z[0]===\"#\"){var t=Z.slice(1),r=t.length,o=r<=4;E=1,o?(S=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],r===4&&(E=parseInt(t[3]+t[3],16)/255)):(S=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],r===8&&(E=parseInt(t[6]+t[7],16)/255)),S[0]||(S[0]=0),S[1]||(S[1]=0),S[2]||(S[2]=0),e=\"rgb\"}else if(x=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(Z)){var a=x[1];e=a.replace(/a$/,\"\");var n=e===\"cmyk\"?4:e===\"gray\"?1:3;S=x[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),e===\"color\"&&(e=S.shift()),S=S.map(function(i,s){if(i[i.length-1]===\"%\")return i=parseFloat(i)/100,s===3?i:e===\"rgb\"?i*255:e[0]===\"h\"||e[0]===\"l\"&&!s?i*100:e===\"lab\"?i*125:e===\"lch\"?s<2?i*150:i*360:e[0]===\"o\"&&!s?i:e===\"oklab\"?i*.4:e===\"oklch\"?s<2?i*.4:i*360:i;if(e[s]===\"h\"||s===2&&e[e.length-1]===\"h\"){if(TT[i]!==void 0)return TT[i];if(i.endsWith(\"deg\"))return parseFloat(i);if(i.endsWith(\"turn\"))return parseFloat(i)*360;if(i.endsWith(\"grad\"))return parseFloat(i)*360/400;if(i.endsWith(\"rad\"))return parseFloat(i)*180/Math.PI}return i===\"none\"?0:parseFloat(i)}),E=S.length>n?S.pop():1}else/[0-9](?:\\s|\\/|,)/.test(Z)&&(S=Z.match(/([0-9]+)/g).map(function(i){return parseFloat(i)}),e=((v=(G=Z.match(/([a-z])/ig))==null?void 0:G.join(\"\"))==null?void 0:v.toLowerCase())||\"rgb\");return{space:e,values:S,alpha:E}}var wT,y6,TT,Kq=Vo({\"node_modules/color-parse/index.js\"(){wT=jp(xE(),1),y6=Yq,TT={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),Sx,_6=Vo({\"node_modules/color-space/rgb.js\"(){Sx={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}}}),Mx,Jq=Vo({\"node_modules/color-space/hsl.js\"(){_6(),Mx={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(Z){var G=Z[0]/360,v=Z[1]/100,x=Z[2]/100,S,E,e,t,r,o=0;if(v===0)return r=x*255,[r,r,r];for(E=x<.5?x*(1+v):x+v-x*v,S=2*x-E,t=[0,0,0];o<3;)e=G+1/3*-(o-1),e<0?e++:e>1&&e--,r=6*e<1?S+(E-S)*6*e:2*e<1?E:3*e<2?S+(E-S)*(2/3-e)*6:S,t[o++]=r*255;return t}},Sx.hsl=function(Z){var G=Z[0]/255,v=Z[1]/255,x=Z[2]/255,S=Math.min(G,v,x),E=Math.max(G,v,x),e=E-S,t,r,o;return E===S?t=0:G===E?t=(v-x)/e:v===E?t=2+(x-G)/e:x===E&&(t=4+(G-v)/e),t=Math.min(t*60,360),t<0&&(t+=360),o=(S+E)/2,E===S?r=0:o<=.5?r=e/(E+S):r=e/(2-E-S),[t,r*100,o*100]}}}),x6={};Kl(x6,{default:()=>$q});function $q(Z){Array.isArray(Z)&&Z.raw&&(Z=String.raw(...arguments)),Z instanceof Number&&(Z=+Z);var G,v,x,S=y6(Z);if(!S.space)return[];let E=S.space[0]===\"h\"?Mx.min:Sx.min,e=S.space[0]===\"h\"?Mx.max:Sx.max;return G=Array(3),G[0]=Math.min(Math.max(S.values[0],E[0]),e[0]),G[1]=Math.min(Math.max(S.values[1],E[1]),e[1]),G[2]=Math.min(Math.max(S.values[2],E[2]),e[2]),S.space[0]===\"h\"&&(G=Mx.rgb(G)),G.push(Math.min(Math.max(S.alpha,0),1)),G}var Qq=Vo({\"node_modules/color-rgba/index.js\"(){Kq(),_6(),Jq()}}),b6=Xe({\"src/traces/parcoords/helpers.js\"(Z){\"use strict\";var G=sa().isTypedArray;Z.convertTypedArray=function(v){return G(v)?Array.prototype.slice.call(v):v},Z.isOrdinal=function(v){return!!v.tickvals},Z.isVisible=function(v){return v.visible||!(\"visible\"in v)}}}),eV=Xe({\"src/traces/parcoords/lines.js\"(Z,G){\"use strict\";var v=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"attribute vec4 p01_04, p05_08, p09_12, p13_16,\",\" p17_20, p21_24, p25_28, p29_32,\",\" p33_36, p37_40, p41_44, p45_48,\",\" p49_52, p53_56, p57_60, colors;\",\"\",\"uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\",\" loA, hiA, loB, hiB, loC, hiC, loD, hiD;\",\"\",\"uniform vec2 resolution, viewBoxPos, viewBoxSize;\",\"uniform float maskHeight;\",\"uniform float drwLayer; // 0: context, 1: focus, 2: pick\",\"uniform vec4 contextColor;\",\"uniform sampler2D maskTexture, palette;\",\"\",\"bool isPick = (drwLayer > 1.5);\",\"bool isContext = (drwLayer < 0.5);\",\"\",\"const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\",\"const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\",\"\",\"float val(mat4 p, mat4 v) {\",\" return dot(matrixCompMult(p, v) * UNITS, UNITS);\",\"}\",\"\",\"float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\",\" float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\",\" return y1 * (1.0 - ratio) + y2 * ratio;\",\"}\",\"\",\"int iMod(int a, int b) {\",\" return a - b * (a / b);\",\"}\",\"\",\"bool fOutside(float p, float lo, float hi) {\",\" return (lo < hi) && (lo > p || p > hi);\",\"}\",\"\",\"bool vOutside(vec4 p, vec4 lo, vec4 hi) {\",\" return (\",\" fOutside(p[0], lo[0], hi[0]) ||\",\" fOutside(p[1], lo[1], hi[1]) ||\",\" fOutside(p[2], lo[2], hi[2]) ||\",\" fOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool mOutside(mat4 p, mat4 lo, mat4 hi) {\",\" return (\",\" vOutside(p[0], lo[0], hi[0]) ||\",\" vOutside(p[1], lo[1], hi[1]) ||\",\" vOutside(p[2], lo[2], hi[2]) ||\",\" vOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" return mOutside(A, loA, hiA) ||\",\" mOutside(B, loB, hiB) ||\",\" mOutside(C, loC, hiC) ||\",\" mOutside(D, loD, hiD);\",\"}\",\"\",\"bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" mat4 pnts[4];\",\" pnts[0] = A;\",\" pnts[1] = B;\",\" pnts[2] = C;\",\" pnts[3] = D;\",\"\",\" for(int i = 0; i < 4; ++i) {\",\" for(int j = 0; j < 4; ++j) {\",\" for(int k = 0; k < 4; ++k) {\",\" if(0 == iMod(\",\" int(255.0 * texture2D(maskTexture,\",\" vec2(\",\" (float(i * 2 + j / 2) + 0.5) / 8.0,\",\" (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\",\" ))[3]\",\" ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\",\" 2\",\" )) return true;\",\" }\",\" }\",\" }\",\" return false;\",\"}\",\"\",\"vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float x = 0.5 * sign(v) + 0.5;\",\" float y = axisY(x, A, B, C, D);\",\" float z = 1.0 - abs(v);\",\"\",\" z += isContext ? 0.0 : 2.0 * float(\",\" outsideBoundingBox(A, B, C, D) ||\",\" outsideRasterMask(A, B, C, D)\",\" );\",\"\",\" return vec4(\",\" 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\",\" z,\",\" 1.0\",\" );\",\"}\",\"\",\"void main() {\",\" mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\",\" mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\",\" mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\",\" mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\",\"\",\" float v = colors[3];\",\"\",\" gl_Position = position(isContext, v, A, B, C, D);\",\"\",\" fragColor =\",\" isContext ? vec4(contextColor) :\",\" isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\",\"}\"].join(`\n`),x=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n`),S=Ax().maxDimensionCount,E=sa(),e=1e-6,t=2048,r=new Uint8Array(4),o=new Uint8Array(4),a={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function n(b){b.read({x:0,y:0,width:1,height:1,data:r})}function i(b,d,u,y,f){var R=b._gl;R.enable(R.SCISSOR_TEST),R.scissor(d,u,y,f),b.clear({color:[0,0,0,0],depth:1})}function s(b,d,u,y,f,R){var L=R.key;function z(F){var N=Math.min(y,f-F*y);F===0&&(window.cancelAnimationFrame(u.currentRafs[L]),delete u.currentRafs[L],i(b,R.scissorX,R.scissorY,R.scissorWidth,R.viewBoxSize[1])),!u.clearOnly&&(R.count=2*N,R.offset=2*F*y,d(R),F*y+N>>8*d)%256/255}function p(b,d,u){for(var y=new Array(b*(S+4)),f=0,R=0;Rze&&(ze=ae[ce].dim1.canvasX,Ae=ce);re===0&&i(f,0,0,N.canvasWidth,N.canvasHeight);var Ze=V(u);for(ce=0;cece._length&&(st=st.slice(0,ce._length));var Me=ce.tickvals,ye;function he(Pt,It){return{val:Pt,text:ye[It]}}function Oe(Pt,It){return Pt.val-It.val}if(S(Me)&&Me.length){x.isTypedArray(Me)&&(Me=Array.from(Me)),ye=ce.ticktext,!S(ye)||!ye.length?ye=Me.map(E(ce.tickformat)):ye.length>Me.length?ye=ye.slice(0,Me.length):Me.length>ye.length&&(Me=Me.slice(0,ye.length));for(var tt=1;tt=It||mr>=qt)return;var qr=Qe.lineLayer.readPixel(kr,qt-1-mr),Sr=qr[3]!==0,Rr=Sr?qr[2]+256*(qr[1]+256*qr[0]):null,wt={x:kr,y:mr,clientX:Pt.clientX,clientY:Pt.clientY,dataIndex:Qe.model.key,curveNumber:Rr};Rr!==Ae&&(Sr?Y.hover(wt):Y.unhover&&Y.unhover(wt),Ae=Rr)}}),be.style(\"opacity\",function(Qe){return Qe.pick?0:1}),oe.style(\"background\",\"rgba(255, 255, 255, 0)\");var ze=oe.selectAll(\".\"+T.cn.parcoords).data(ce,h);ze.exit().remove(),ze.enter().append(\"g\").classed(T.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),ze.attr(\"transform\",function(Qe){return o(Qe.model.translateX,Qe.model.translateY)});var Ze=ze.selectAll(\".\"+T.cn.parcoordsControlView).data(c,h);Ze.enter().append(\"g\").classed(T.cn.parcoordsControlView,!0),Ze.attr(\"transform\",function(Qe){return o(Qe.model.pad.l,Qe.model.pad.t)});var at=Ze.selectAll(\".\"+T.cn.yAxis).data(function(Qe){return Qe.dimensions},h);at.enter().append(\"g\").classed(T.cn.yAxis,!0),Ze.each(function(Qe){U(at,Qe,j)}),be.each(function(Qe){if(Qe.viewModel){!Qe.lineLayer||Y?Qe.lineLayer=_(this,Qe):Qe.lineLayer.update(Qe),(Qe.key||Qe.key===0)&&(Qe.viewModel[Qe.key]=Qe.lineLayer);var Pt=!Qe.context||Y;Qe.lineLayer.render(Qe.viewModel.panels,Pt)}}),at.attr(\"transform\",function(Qe){return o(Qe.xScale(Qe.xIndex),0)}),at.call(v.behavior.drag().origin(function(Qe){return Qe}).on(\"drag\",function(Qe){var Pt=Qe.parent;re.linePickActive(!1),Qe.x=Math.max(-T.overdrag,Math.min(Qe.model.width+T.overdrag,v.event.x)),Qe.canvasX=Qe.x*Qe.model.canvasPixelRatio,at.sort(function(It,qt){return It.x-qt.x}).each(function(It,qt){It.xIndex=qt,It.x=Qe===It?It.x:It.xScale(It.xIndex),It.canvasX=It.x*It.model.canvasPixelRatio}),U(at,Pt,j),at.filter(function(It){return Math.abs(Qe.xIndex-It.xIndex)!==0}).attr(\"transform\",function(It){return o(It.xScale(It.xIndex),0)}),v.select(this).attr(\"transform\",o(Qe.x,0)),at.each(function(It,qt,Wt){Wt===Qe.parent.key&&(Pt.dimensions[qt]=It)}),Pt.contextLayer&&Pt.contextLayer.render(Pt.panels,!1,!L(Pt)),Pt.focusLayer.render&&Pt.focusLayer.render(Pt.panels)}).on(\"dragend\",function(Qe){var Pt=Qe.parent;Qe.x=Qe.xScale(Qe.xIndex),Qe.canvasX=Qe.x*Qe.model.canvasPixelRatio,U(at,Pt,j),v.select(this).attr(\"transform\",function(It){return o(It.x,0)}),Pt.contextLayer&&Pt.contextLayer.render(Pt.panels,!1,!L(Pt)),Pt.focusLayer&&Pt.focusLayer.render(Pt.panels),Pt.pickLayer&&Pt.pickLayer.render(Pt.panels,!0),re.linePickActive(!0),Y&&Y.axesMoved&&Y.axesMoved(Pt.key,Pt.dimensions.map(function(It){return It.crossfilterDimensionIndex}))})),at.exit().remove();var nt=at.selectAll(\".\"+T.cn.axisOverlays).data(c,h);nt.enter().append(\"g\").classed(T.cn.axisOverlays,!0),nt.selectAll(\".\"+T.cn.axis).remove();var rt=nt.selectAll(\".\"+T.cn.axis).data(c,h);rt.enter().append(\"g\").classed(T.cn.axis,!0),rt.each(function(Qe){var Pt=Qe.model.height/Qe.model.tickDistance,It=Qe.domainScale,qt=It.domain();v.select(this).call(v.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(Pt,Qe.tickFormat).tickValues(Qe.ordinal?qt:null).tickFormat(function(Wt){return p.isOrdinal(Qe)?Wt:X(Qe.model.dimensions[Qe.visibleIndex],Wt)}).scale(It)),n.font(rt.selectAll(\"text\"),Qe.model.tickFont)}),rt.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),rt.selectAll(\"text\").style(\"cursor\",\"default\");var st=nt.selectAll(\".\"+T.cn.axisHeading).data(c,h);st.enter().append(\"g\").classed(T.cn.axisHeading,!0);var Me=st.selectAll(\".\"+T.cn.axisTitle).data(c,h);Me.enter().append(\"text\").classed(T.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",ee?\"none\":\"auto\"),Me.text(function(Qe){return Qe.label}).each(function(Qe){var Pt=v.select(this);n.font(Pt,Qe.model.labelFont),a.convertToTspans(Pt,le)}).attr(\"transform\",function(Qe){var Pt=P(Qe.model.labelAngle,Qe.model.labelSide),It=T.axisTitleOffset;return(Pt.dir>0?\"\":o(0,2*It+Qe.model.height))+r(Pt.degrees)+o(-It*Pt.dx,-It*Pt.dy)}).attr(\"text-anchor\",function(Qe){var Pt=P(Qe.model.labelAngle,Qe.model.labelSide),It=Math.abs(Pt.dx),qt=Math.abs(Pt.dy);return 2*It>qt?Pt.dir*Pt.dx<0?\"start\":\"end\":\"middle\"});var ye=nt.selectAll(\".\"+T.cn.axisExtent).data(c,h);ye.enter().append(\"g\").classed(T.cn.axisExtent,!0);var he=ye.selectAll(\".\"+T.cn.axisExtentTop).data(c,h);he.enter().append(\"g\").classed(T.cn.axisExtentTop,!0),he.attr(\"transform\",o(0,-T.axisExtentOffset));var Oe=he.selectAll(\".\"+T.cn.axisExtentTopText).data(c,h);Oe.enter().append(\"text\").classed(T.cn.axisExtentTopText,!0).call(N),Oe.text(function(Qe){return $(Qe,!0)}).each(function(Qe){n.font(v.select(this),Qe.model.rangeFont)});var tt=ye.selectAll(\".\"+T.cn.axisExtentBottom).data(c,h);tt.enter().append(\"g\").classed(T.cn.axisExtentBottom,!0),tt.attr(\"transform\",function(Qe){return o(0,Qe.model.height+T.axisExtentOffset)});var ot=tt.selectAll(\".\"+T.cn.axisExtentBottomText).data(c,h);ot.enter().append(\"text\").classed(T.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(N),ot.text(function(Qe){return $(Qe,!1)}).each(function(Qe){n.font(v.select(this),Qe.model.rangeFont)}),l.ensureAxisBrush(nt,Q,le)}}}),w6=Xe({\"src/traces/parcoords/plot.js\"(r,G){\"use strict\";var v=tV(),x=xT(),S=b6().isVisible,E={};function e(o,a,n){var i=a.indexOf(n),s=o.indexOf(i);return s===-1&&(s+=a.length),s}function t(o,a){return function(i,s){return e(o,a,i)-e(o,a,s)}}var r=G.exports=function(a,n){var i=a._fullLayout,s=x(a,[],E);if(s){var h={},c={},m={},p={},T=i._size;n.forEach(function(M,g){var b=M[0].trace;m[g]=b.index;var d=p[g]=b.index;h[g]=a.data[d].dimensions,c[g]=a.data[d].dimensions.slice()});var l=function(M,g,b){var d=c[M][g],u=b.map(function(F){return F.slice()}),y=\"dimensions[\"+g+\"].constraintrange\",f=i._tracePreGUI[a._fullData[m[M]]._fullInput.uid];if(f[y]===void 0){var R=d.constraintrange;f[y]=R||null}var L=a._fullData[m[M]].dimensions[g];u.length?(u.length===1&&(u=u[0]),d.constraintrange=u,L.constraintrange=u.slice(),u=[u]):(delete d.constraintrange,delete L.constraintrange,u=null);var z={};z[y]=u,a.emit(\"plotly_restyle\",[z,[p[M]]])},_=function(M){a.emit(\"plotly_hover\",M)},w=function(M){a.emit(\"plotly_unhover\",M)},A=function(M,g){var b=t(g,c[M].filter(S));h[M].sort(b),c[M].filter(function(d){return!S(d)}).sort(function(d){return c[M].indexOf(d)}).forEach(function(d){h[M].splice(h[M].indexOf(d),1),h[M].splice(c[M].indexOf(d),0,d)}),a.emit(\"plotly_restyle\",[{dimensions:[h[M]]},[p[M]]])};v(a,n,{width:T.w,height:T.h,margin:{t:T.t,r:T.r,b:T.b,l:T.l}},{filterChanged:l,hover:_,unhover:w,axesMoved:A})}};r.reglPrecompiled=E}}),rV=Xe({\"src/traces/parcoords/base_plot.js\"(Z){\"use strict\";var G=Hn(),v=Hh().getModuleCalcData,x=w6(),S=vd();Z.name=\"parcoords\",Z.plot=function(E){var e=v(E.calcdata,\"parcoords\")[0];e.length&&x(E,e)},Z.clean=function(E,e,t,r){var o=r._has&&r._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");o&&!a&&(r._paperdiv.selectAll(\".parcoords\").remove(),r._glimages.selectAll(\"*\").remove())},Z.toSVG=function(E){var e=E._fullLayout._glimages,t=G.select(E).selectAll(\".svg-container\"),r=t.filter(function(a,n){return n===t.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function o(){var a=this,n=a.toDataURL(\"image/png\"),i=e.append(\"svg:image\");i.attr({xmlns:S.svg,\"xlink:href\":n,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}r.each(o),window.setTimeout(function(){G.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}}}),aV=Xe({\"src/traces/parcoords/base_index.js\"(Z,G){\"use strict\";G.exports={attributes:m6(),supplyDefaults:Xq(),calc:Zq(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:rV(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}}}),iV=Xe({\"src/traces/parcoords/index.js\"(Z,G){\"use strict\";var v=aV();v.plot=w6(),G.exports=v}}),nV=Xe({\"lib/parcoords.js\"(Z,G){\"use strict\";G.exports=iV()}}),T6=Xe({\"src/traces/parcats/attributes.js\"(Z,G){\"use strict\";var v=Qo().extendFlat,x=ru(),S=tc(),E=ku(),{hovertemplateAttrs:e,templatefallbackAttrs:t}=Jl(),r=wc().attributes,o=v({editType:\"calc\"},E(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:e({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]}),hovertemplatefallback:t({editType:\"plot\"})});G.exports={domain:r({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:v({},x.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:e({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),hovertemplatefallback:t({editType:\"plot\"}),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:S({editType:\"calc\"}),tickfont:S({autoShadowDflt:!0,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:o,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}}}),oV=Xe({\"src/traces/parcats/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=wp().hasColorscale,S=_h(),E=wc().defaults,e=hp(),t=T6(),r=bT(),o=bp().isTypedArraySpec;function a(i,s,h,c,m){m(\"line.shape\"),m(\"line.hovertemplate\"),m(\"line.hovertemplatefallback\");var p=m(\"line.color\",c.colorway[0]);if(x(i,\"line\")&&v.isArrayOrTypedArray(p)){if(p.length)return m(\"line.colorscale\"),S(i,s,c,m,{prefix:\"line.\",cLetter:\"c\"}),p.length;s.line.color=h}return 1/0}function n(i,s){function h(w,A){return v.coerce(i,s,t.dimensions,w,A)}var c=h(\"values\"),m=h(\"visible\");if(c&&c.length||(m=s.visible=!1),m){h(\"label\"),h(\"displayindex\",s._index);var p=i.categoryarray,T=v.isArrayOrTypedArray(p)&&p.length>0||o(p),l;T&&(l=\"array\");var _=h(\"categoryorder\",l);_===\"array\"?(h(\"categoryarray\"),h(\"ticktext\")):(delete i.categoryarray,delete i.ticktext),!T&&_===\"array\"&&(s.categoryorder=\"trace\")}}G.exports=function(s,h,c,m){function p(w,A){return v.coerce(s,h,t,w,A)}var T=e(s,h,{name:\"dimensions\",handleItemDefaults:n}),l=a(s,h,c,m,p);E(h,m,p),(!Array.isArray(T)||!T.length)&&(h.visible=!1),r(h,T,\"values\",l),p(\"hoveron\"),p(\"hovertemplate\"),p(\"hovertemplatefallback\"),p(\"arrangement\"),p(\"bundlecolors\"),p(\"sortpaths\"),p(\"counts\");var _=m.font;v.coerceFont(p,\"labelfont\",_,{overrideDflt:{size:Math.round(_.size)}}),v.coerceFont(p,\"tickfont\",_,{autoShadowDflt:!0,overrideDflt:{size:Math.round(_.size/1.2)}})}}}),sV=Xe({\"src/traces/parcats/calc.js\"(Z,G){\"use strict\";var v=kv().wrap,x=wp().hasColorscale,S=Tp(),E=r5(),e=es(),t=sa(),r=rs();G.exports=function(_,w){var A=t.filterVisible(w.dimensions);if(A.length===0)return[];var M=A.map(function(V){var Y;if(V.categoryorder===\"trace\")Y=null;else if(V.categoryorder===\"array\")Y=V.categoryarray;else{Y=E(V.values);for(var ee=!0,q=0;q=l.length||_[l[w]]!==void 0)return!1;_[l[w]]=!0}return!0}}}),lV=Xe({\"src/traces/parcats/parcats.js\"(Z,G){\"use strict\";var v=Hn(),x=(pg(),zf(p0)).interpolateNumber,S=k2(),E=rf(),e=sa(),t=e.strTranslate,r=es(),o=Ch(),a=ou();function n(q,oe,ae,j){var Q=oe._context.staticPlot,re=q.map(le.bind(0,oe,ae)),ce=j.selectAll(\"g.parcatslayer\").data([null]);ce.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",Q?\"none\":\"all\");var be=ce.selectAll(\"g.trace.parcats\").data(re,i),Ae=be.enter().append(\"g\").attr(\"class\",\"trace parcats\");be.attr(\"transform\",function(he){return t(he.x,he.y)}),Ae.append(\"g\").attr(\"class\",\"paths\");var De=be.select(\"g.paths\"),ze=De.selectAll(\"path.path\").data(function(he){return he.paths},i);ze.attr(\"fill\",function(he){return he.model.color});var Ze=ze.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(he){return he.model.color}).attr(\"fill-opacity\",0);_(Ze),ze.attr(\"d\",function(he){return he.svgD}),Ze.empty()||ze.sort(h),ze.exit().remove(),ze.on(\"mouseover\",c).on(\"mouseout\",m).on(\"click\",l),Ae.append(\"g\").attr(\"class\",\"dimensions\");var at=be.select(\"g.dimensions\"),nt=at.selectAll(\"g.dimension\").data(function(he){return he.dimensions},i);nt.enter().append(\"g\").attr(\"class\",\"dimension\"),nt.attr(\"transform\",function(he){return t(he.x,0)}),nt.exit().remove();var rt=nt.selectAll(\"g.category\").data(function(he){return he.categories},i),st=rt.enter().append(\"g\").attr(\"class\",\"category\");rt.attr(\"transform\",function(he){return t(0,he.y)}),st.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),rt.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(he){return he.width}).attr(\"height\",function(he){return he.height}),M(st);var Me=rt.selectAll(\"rect.bandrect\").data(function(he){return he.bands},i);Me.each(function(){e.raiseToTop(this)}),Me.attr(\"fill\",function(he){return he.color});var ye=Me.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(he){return he.color}).attr(\"fill-opacity\",0);Me.attr(\"fill\",function(he){return he.color}).attr(\"width\",function(he){return he.width}).attr(\"height\",function(he){return he.height}).attr(\"y\",function(he){return he.y}).attr(\"cursor\",function(he){return he.parcatsViewModel.arrangement===\"fixed\"?\"default\":he.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),b(ye),Me.exit().remove(),st.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),rt.select(\"text.catlabel\").attr(\"text-anchor\",function(he){return s(he)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(he){return s(he)?he.width+5:-5}).attr(\"y\",function(he){return he.height/2}).text(function(he){return he.model.categoryLabel}).each(function(he){r.font(v.select(this),he.parcatsViewModel.categorylabelfont),a.convertToTspans(v.select(this),oe)}),st.append(\"text\").attr(\"class\",\"dimlabel\"),rt.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(he){return he.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(he){return he.width/2}).attr(\"y\",-5).text(function(he,Oe){return Oe===0?he.parcatsViewModel.model.dimensions[he.model.dimensionInd].dimensionLabel:null}).each(function(he){r.font(v.select(this),he.parcatsViewModel.labelfont)}),rt.selectAll(\"rect.bandrect\").on(\"mouseover\",N).on(\"mouseout\",O),rt.exit().remove(),nt.call(v.behavior.drag().origin(function(he){return{x:he.x,y:0}}).on(\"dragstart\",P).on(\"drag\",U).on(\"dragend\",B)),be.each(function(he){he.traceSelection=v.select(this),he.pathSelection=v.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),he.dimensionSelection=v.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),be.exit().remove()}G.exports=function(q,oe,ae,j){n(ae,q,j,oe)};function i(q){return q.key}function s(q){var oe=q.parcatsViewModel.dimensions.length,ae=q.parcatsViewModel.dimensions[oe-1].model.dimensionInd;return q.model.dimensionInd===ae}function h(q,oe){return q.model.rawColor>oe.model.rawColor?1:q.model.rawColor\"),Qe=v.mouse(Q)[0];E.loneHover({trace:re,x:rt-be.left+Ae.left,y:st-be.top+Ae.top,text:ot,color:q.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:Me,idealAlign:Qe1&&De.displayInd===Ae.dimensions.length-1?(at=ce.left,nt=\"left\"):(at=ce.left+ce.width,nt=\"right\");var rt=be.model.count,st=be.model.categoryLabel,Me=rt/be.parcatsViewModel.model.count,ye={countLabel:rt,categoryLabel:st,probabilityLabel:Me.toFixed(3)},he=[];be.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&he.push([\"Count:\",ye.countLabel].join(\" \")),be.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&he.push([\"P(\"+ye.categoryLabel+\"):\",ye.probabilityLabel].join(\" \"));var Oe=he.join(\"
\");return{trace:ze,x:j*(at-oe.left),y:Q*(Ze-oe.top),text:Oe,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:nt,hovertemplate:ze.hovertemplate,hovertemplateLabels:ye,eventData:[{data:ze._input,fullData:ze,count:rt,category:st,probability:Me}]}}function z(q,oe,ae){var j=[];return v.select(ae.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var Q=this;j.push(L(q,oe,Q))}),j}function F(q,oe,ae){q._fullLayout._calcInverseTransform(q);var j=q._fullLayout._invScaleX,Q=q._fullLayout._invScaleY,re=ae.getBoundingClientRect(),ce=v.select(ae).datum(),be=ce.categoryViewModel,Ae=be.parcatsViewModel,De=Ae.model.dimensions[be.model.dimensionInd],ze=Ae.trace,Ze=re.y+re.height/2,at,nt;Ae.dimensions.length>1&&De.displayInd===Ae.dimensions.length-1?(at=re.left,nt=\"left\"):(at=re.left+re.width,nt=\"right\");var rt=be.model.categoryLabel,st=ce.parcatsViewModel.model.count,Me=0;ce.categoryViewModel.bands.forEach(function(Wt){Wt.color===ce.color&&(Me+=Wt.count)});var ye=be.model.count,he=0;Ae.pathSelection.each(function(Wt){Wt.model.color===ce.color&&(he+=Wt.model.count)});var Oe=Me/st,tt=Me/he,ot=Me/ye,Qe={countLabel:Me,categoryLabel:rt,probabilityLabel:Oe.toFixed(3)},Pt=[];be.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&Pt.push([\"Count:\",Qe.countLabel].join(\" \")),be.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(Pt.push(\"P(color \\u2229 \"+rt+\"): \"+Qe.probabilityLabel),Pt.push(\"P(\"+rt+\" | color): \"+tt.toFixed(3)),Pt.push(\"P(color | \"+rt+\"): \"+ot.toFixed(3)));var It=Pt.join(\"
\"),qt=o.mostReadable(ce.color,[\"black\",\"white\"]);return{trace:ze,x:j*(at-oe.left),y:Q*(Ze-oe.top),text:It,color:ce.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:qt,fontSize:10,idealAlign:nt,hovertemplate:ze.hovertemplate,hovertemplateLabels:Qe,eventData:[{data:ze._input,fullData:ze,category:rt,count:st,probability:Oe,categorycount:ye,colorcount:he,bandcolorcount:Me}]}}function N(q){if(!q.parcatsViewModel.dragDimension&&q.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var oe=v.mouse(this)[1];if(oe<-1)return;var ae=q.parcatsViewModel.graphDiv,j=ae._fullLayout,Q=j._paperdiv.node().getBoundingClientRect(),re=q.parcatsViewModel.hoveron,ce=this;if(re===\"color\"?(y(ce),R(ce,\"plotly_hover\",v.event)):(u(ce),f(ce,\"plotly_hover\",v.event)),q.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var be;re===\"category\"?be=L(ae,Q,ce):re===\"color\"?be=F(ae,Q,ce):re===\"dimension\"&&(be=z(ae,Q,ce)),be&&E.loneHover(be,{container:j._hoverlayer.node(),outerContainer:j._paper.node(),gd:ae})}}}function O(q){var oe=q.parcatsViewModel;if(!oe.dragDimension&&(_(oe.pathSelection),M(oe.dimensionSelection.selectAll(\"g.category\")),b(oe.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),E.loneUnhover(oe.graphDiv._fullLayout._hoverlayer.node()),oe.pathSelection.sort(h),oe.hoverinfoItems.indexOf(\"skip\")===-1)){var ae=q.parcatsViewModel.hoveron,j=this;ae===\"color\"?R(j,\"plotly_unhover\",v.event):f(j,\"plotly_unhover\",v.event)}}function P(q){q.parcatsViewModel.arrangement!==\"fixed\"&&(q.dragDimensionDisplayInd=q.model.displayInd,q.initialDragDimensionDisplayInds=q.parcatsViewModel.model.dimensions.map(function(oe){return oe.displayInd}),q.dragHasMoved=!1,q.dragCategoryDisplayInd=null,v.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(oe){var ae=v.mouse(this)[0],j=v.mouse(this)[1];-2<=ae&&ae<=oe.width+2&&-2<=j&&j<=oe.height+2&&(q.dragCategoryDisplayInd=oe.model.displayInd,q.initialDragCategoryDisplayInds=q.model.categories.map(function(Q){return Q.displayInd}),oe.model.dragY=oe.y,e.raiseToTop(this.parentNode),v.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(Q){Q.yze.y+ze.height/2&&(re.model.displayInd=ze.model.displayInd,ze.model.displayInd=be),q.dragCategoryDisplayInd=re.model.displayInd}if(q.dragCategoryDisplayInd===null||q.parcatsViewModel.arrangement===\"freeform\"){Q.model.dragX=v.event.x;var Ze=q.parcatsViewModel.dimensions[ae],at=q.parcatsViewModel.dimensions[j];Ze!==void 0&&Q.model.dragXat.x&&(Q.model.displayInd=at.model.displayInd,at.model.displayInd=q.dragDimensionDisplayInd),q.dragDimensionDisplayInd=Q.model.displayInd}Y(q.parcatsViewModel),V(q.parcatsViewModel),se(q.parcatsViewModel),$(q.parcatsViewModel)}}function B(q){if(q.parcatsViewModel.arrangement!==\"fixed\"&&q.dragDimensionDisplayInd!==null){v.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var oe={},ae=X(q.parcatsViewModel),j=q.parcatsViewModel.model.dimensions.map(function(at){return at.displayInd}),Q=q.initialDragDimensionDisplayInds.some(function(at,nt){return at!==j[nt]});Q&&j.forEach(function(at,nt){var rt=q.parcatsViewModel.model.dimensions[nt].containerInd;oe[\"dimensions[\"+rt+\"].displayindex\"]=at});var re=!1;if(q.dragCategoryDisplayInd!==null){var ce=q.model.categories.map(function(at){return at.displayInd});if(re=q.initialDragCategoryDisplayInds.some(function(at,nt){return at!==ce[nt]}),re){var be=q.model.categories.slice().sort(function(at,nt){return at.displayInd-nt.displayInd}),Ae=be.map(function(at){return at.categoryValue}),De=be.map(function(at){return at.categoryLabel});oe[\"dimensions[\"+q.model.containerInd+\"].categoryarray\"]=[Ae],oe[\"dimensions[\"+q.model.containerInd+\"].ticktext\"]=[De],oe[\"dimensions[\"+q.model.containerInd+\"].categoryorder\"]=\"array\"}}if(q.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!q.dragHasMoved&&q.potentialClickBand&&(q.parcatsViewModel.hoveron===\"color\"?R(q.potentialClickBand,\"plotly_click\",v.event.sourceEvent):f(q.potentialClickBand,\"plotly_click\",v.event.sourceEvent)),q.model.dragX=null,q.dragCategoryDisplayInd!==null){var ze=q.parcatsViewModel.dimensions[q.dragDimensionDisplayInd].categories[q.dragCategoryDisplayInd];ze.model.dragY=null,q.dragCategoryDisplayInd=null}q.dragDimensionDisplayInd=null,q.parcatsViewModel.dragDimension=null,q.dragHasMoved=null,q.potentialClickBand=null,Y(q.parcatsViewModel),V(q.parcatsViewModel);var Ze=v.transition().duration(300).ease(\"cubic-in-out\");Ze.each(function(){se(q.parcatsViewModel,!0),$(q.parcatsViewModel,!0)}).each(\"end\",function(){(Q||re)&&S.restyle(q.parcatsViewModel.graphDiv,oe,[ae])})}}function X(q){for(var oe,ae=q.graphDiv._fullData,j=0;j=0;Ae--)De+=\"C\"+ce[Ae]+\",\"+(oe[Ae+1]+j)+\" \"+re[Ae]+\",\"+(oe[Ae]+j)+\" \"+(q[Ae]+ae[Ae])+\",\"+(oe[Ae]+j),De+=\"l-\"+ae[Ae]+\",0 \";return De+=\"Z\",De}function V(q){var oe=q.dimensions,ae=q.model,j=oe.map(function(qr){return qr.categories.map(function(Sr){return Sr.y})}),Q=q.model.dimensions.map(function(qr){return qr.categories.map(function(Sr){return Sr.displayInd})}),re=q.model.dimensions.map(function(qr){return qr.displayInd}),ce=q.dimensions.map(function(qr){return qr.model.dimensionInd}),be=oe.map(function(qr){return qr.x}),Ae=oe.map(function(qr){return qr.width}),De=[];for(var ze in ae.paths)ae.paths.hasOwnProperty(ze)&&De.push(ae.paths[ze]);function Ze(qr){var Sr=qr.categoryInds.map(function(wt,Ne){return Q[Ne][wt]}),Rr=ce.map(function(wt){return Sr[wt]});return Rr}De.sort(function(qr,Sr){var Rr=Ze(qr),wt=Ze(Sr);return q.sortpaths===\"backward\"&&(Rr.reverse(),wt.reverse()),Rr.push(qr.valueInds[0]),wt.push(Sr.valueInds[0]),q.bundlecolors&&(Rr.unshift(qr.rawColor),wt.unshift(Sr.rawColor)),Rrwt?1:0});for(var at=new Array(De.length),nt=oe[0].model.count,rt=oe[0].categories.map(function(qr){return qr.height}).reduce(function(qr,Sr){return qr+Sr}),st=0;st0?ye=rt*(Me.count/nt):ye=0;for(var he=new Array(j.length),Oe=0;Oe1?ce=(q.width-2*ae-j)/(Q-1):ce=0,be=ae,Ae=be+ce*re;var De=[],ze=q.model.maxCats,Ze=oe.categories.length,at=8,nt=oe.count,rt=q.height-at*(ze-1),st,Me,ye,he,Oe,tt=(ze-Ze)*at/2,ot=oe.categories.map(function(Qe){return{displayInd:Qe.displayInd,categoryInd:Qe.categoryInd}});for(ot.sort(function(Qe,Pt){return Qe.displayInd-Pt.displayInd}),Oe=0;Oe0?st=Me.count/nt*rt:st=0,ye={key:Me.valueInds[0],model:Me,width:j,height:st,y:Me.dragY!==null?Me.dragY:tt,bands:[],parcatsViewModel:q},tt=tt+st+at,De.push(ye);return{key:oe.dimensionInd,x:oe.dragX!==null?oe.dragX:Ae,y:0,width:j,model:oe,categories:De,parcatsViewModel:q,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}}}),A6=Xe({\"src/traces/parcats/plot.js\"(Z,G){\"use strict\";var v=lV();G.exports=function(S,E,e,t){var r=S._fullLayout,o=r._paper,a=r._size;v(S,o,E,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},e,t)}}}),uV=Xe({\"src/traces/parcats/base_plot.js\"(Z){\"use strict\";var G=Hh().getModuleCalcData,v=A6(),x=\"parcats\";Z.name=x,Z.plot=function(S,E,e,t){var r=G(S.calcdata,x);if(r.length){var o=r[0];v(S,o,e,t)}},Z.clean=function(S,E,e,t){var r=t._has&&t._has(\"parcats\"),o=E._has&&E._has(\"parcats\");r&&!o&&t._paperdiv.selectAll(\".parcats\").remove()}}}),cV=Xe({\"src/traces/parcats/index.js\"(Z,G){\"use strict\";G.exports={attributes:T6(),supplyDefaults:oV(),calc:sV(),plot:A6(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:uV(),categories:[\"noOpacity\"],meta:{}}}}),fV=Xe({\"lib/parcats.js\"(Z,G){\"use strict\";G.exports=cV()}}),im=Xe({\"src/plots/mapbox/constants.js\"(Z,G){\"use strict\";var v=Jm(),x=\"1.13.4\",S='\\xA9 OpenStreetMap contributors',E=['\\xA9 Carto',S].join(\" \"),e=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),t=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),r={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:S,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:E,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:E,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:e,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:e,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:t,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"}},o=v(r);G.exports={requiredVersion:x,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:r,styleValuesNonMapbox:o,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install @plotly/mapbox-gl@\"+x+\".\"].join(`\n`),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(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:\",o.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')`}}}}),Ex=Xe({\"src/plots/mapbox/layout_attributes.js\"(Z,G){\"use strict\";var v=sa(),x=$n().defaultLine,S=wc().attributes,E=tc(),e=af().textposition,t=pc().overrideAll,r=zl().templatedArray,o=im(),a=E({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});a.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var n=G.exports=t({_arrayAttrRegexps:[v.counterRegex(\"mapbox\",\".layers\",!0)],domain:S({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:o.styleValuesMapbox.concat(o.styleValuesNonMapbox),dflt:o.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},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:r(\"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:x},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:x}},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:a,textposition:v.extendFlat({},e,{arrayOk:!1})}})},\"plot\",\"from-root\");n.uirevision={valType:\"any\",editType:\"none\"}}}),AT=Xe({\"src/traces/scattermapbox/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:v,texttemplateAttrs:x,templatefallbackAttrs:S}=Jl(),E=$d(),e=vg(),t=af(),r=Ex(),o=ru(),a=ku(),n=Qo().extendFlat,i=pc().overrideAll,s=Ex(),h=e.line,c=e.marker;G.exports=i({lon:e.lon,lat:e.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:n({},s.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:n({},c.opacity,{dflt:1})},mode:n({},t.mode,{dflt:\"markers\"}),text:n({},t.text,{}),texttemplate:x({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),texttemplatefallback:S({editType:\"plot\"}),hovertext:n({},t.hovertext,{}),line:{color:h.color,width:h.width},connectgaps:t.connectgaps,marker:n({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode},a(\"marker\")),fill:e.fill,fillcolor:E(),textfont:r.layers.symbol.textfont,textposition:r.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:t.selected.marker},unselected:{marker:t.unselected.marker},hoverinfo:n({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:v(),hovertemplatefallback:S()},\"calc\",\"nested\")}}),S6=Xe({\"src/traces/scattermapbox/constants.js\"(Z,G){\"use strict\";var v=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];G.exports={isSupportedFont:function(x){return v.indexOf(x)!==-1}}}}),hV=Xe({\"src/traces/scattermapbox/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Fu(),S=md(),E=Dd(),e=zd(),t=ev(),r=AT(),o=S6().isSupportedFont;G.exports=function(i,s,h,c){function m(y,f){return v.coerce(i,s,r,y,f)}function p(y,f){return v.coerce2(i,s,r,y,f)}var T=a(i,s,m);if(!T){s.visible=!1;return}if(m(\"text\"),m(\"texttemplate\"),m(\"texttemplatefallback\"),m(\"hovertext\"),m(\"hovertemplate\"),m(\"hovertemplatefallback\"),m(\"mode\"),m(\"below\"),x.hasMarkers(s)){S(i,s,h,c,m,{noLine:!0,noAngle:!0}),m(\"marker.allowoverlap\"),m(\"marker.angle\");var l=s.marker;l.symbol!==\"circle\"&&(v.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),v.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}x.hasLines(s)&&(E(i,s,h,c,m,{noDash:!0}),m(\"connectgaps\"));var _=p(\"cluster.maxzoom\"),w=p(\"cluster.step\"),A=p(\"cluster.color\",s.marker&&s.marker.color||h),M=p(\"cluster.size\"),g=p(\"cluster.opacity\"),b=_!==!1||w!==!1||A!==!1||M!==!1||g!==!1,d=m(\"cluster.enabled\",b);if(d||x.hasText(s)){var u=c.font.family;e(i,s,c,m,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:o(u)?u:\"Open Sans Regular\",weight:c.font.weight,style:c.font.style,size:c.font.size,color:c.font.color}})}m(\"fill\"),s.fill!==\"none\"&&t(i,s,h,m),v.coerceSelectionMarkerOpacity(s,m)};function a(n,i,s){var h=s(\"lon\")||[],c=s(\"lat\")||[],m=Math.min(h.length,c.length);return i._length=m,m}}}),M6=Xe({\"src/traces/scattermapbox/format_labels.js\"(Z,G){\"use strict\";var v=Go();G.exports=function(S,E,e){var t={},r=e[E.subplot]._subplot,o=r.mockAxis,a=S.lonlat;return t.lonLabel=v.tickText(o,o.c2l(a[0]),!0).text,t.latLabel=v.tickText(o,o.c2l(a[1]),!0).text,t}}}),E6=Xe({\"src/plots/mapbox/convert_text_opts.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E){var e=S.split(\" \"),t=e[0],r=e[1],o=v.isArrayOrTypedArray(E)?v.mean(E):E,a=.5+o/100,n=1.5+o/100,i=[\"\",\"\"],s=[0,0];switch(t){case\"top\":i[0]=\"top\",s[1]=-n;break;case\"bottom\":i[0]=\"bottom\",s[1]=n;break}switch(r){case\"left\":i[1]=\"right\",s[0]=-a;break;case\"right\":i[1]=\"left\",s[0]=a;break}var h;return i[0]&&i[1]?h=i.join(\"-\"):i[0]?h=i[0]:i[1]?h=i[1]:h=\"center\",{anchor:h,offset:s}}}}),pV=Xe({\"src/traces/scattermapbox/convert.js\"(Z,G){\"use strict\";var v=rs(),x=sa(),S=Hs().BADNUM,E=m0(),e=rc(),t=es(),r=r1(),o=Fu(),a=S6().isSupportedFont,n=E6(),i=$p().appendArrayPointValue,s=ou().NEWLINES,h=ou().BR_TAG_ALL;G.exports=function(g,b){var d=b[0].trace,u=d.visible===!0&&d._length!==0,y=d.fill!==\"none\",f=o.hasLines(d),R=o.hasMarkers(d),L=o.hasText(d),z=R&&d.marker.symbol===\"circle\",F=R&&d.marker.symbol!==\"circle\",N=d.cluster&&d.cluster.enabled,O=c(\"fill\"),P=c(\"line\"),U=c(\"circle\"),B=c(\"symbol\"),X={fill:O,line:P,circle:U,symbol:B};if(!u)return X;var $;if((y||f)&&($=E.calcTraceToLineCoords(b)),y&&(O.geojson=E.makePolygon($),O.layout.visibility=\"visible\",x.extendFlat(O.paint,{\"fill-color\":d.fillcolor})),f&&(P.geojson=E.makeLine($),P.layout.visibility=\"visible\",x.extendFlat(P.paint,{\"line-width\":d.line.width,\"line-color\":d.line.color,\"line-opacity\":d.opacity})),z){var se=m(b);U.geojson=se.geojson,U.layout.visibility=\"visible\",N&&(U.filter=[\"!\",[\"has\",\"point_count\"]],X.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":w(d.cluster.color,d.cluster.step),\"circle-radius\":w(d.cluster.size,d.cluster.step),\"circle-opacity\":w(d.cluster.opacity,d.cluster.step)}},X.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":A(d),\"text-size\":12}}),x.extendFlat(U.paint,{\"circle-color\":se.mcc,\"circle-radius\":se.mrc,\"circle-opacity\":se.mo})}if(z&&N&&(U.filter=[\"!\",[\"has\",\"point_count\"]]),(F||L)&&(B.geojson=p(b,g),x.extendFlat(B.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),F&&(x.extendFlat(B.layout,{\"icon-size\":d.marker.size/10}),\"angle\"in d.marker&&d.marker.angle!==\"auto\"&&x.extendFlat(B.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),B.layout[\"icon-allow-overlap\"]=d.marker.allowoverlap,x.extendFlat(B.paint,{\"icon-opacity\":d.opacity*d.marker.opacity,\"icon-color\":d.marker.color})),L)){var le=(d.marker||{}).size,fe=n(d.textposition,le);x.extendFlat(B.layout,{\"text-size\":d.textfont.size,\"text-anchor\":fe.anchor,\"text-offset\":fe.offset,\"text-font\":A(d)}),x.extendFlat(B.paint,{\"text-color\":d.textfont.color,\"text-opacity\":d.opacity})}return X};function c(M){return{type:M,geojson:E.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function m(M){var g=M[0].trace,b=g.marker,d=g.selectedpoints,u=x.isArrayOrTypedArray(b.color),y=x.isArrayOrTypedArray(b.size),f=x.isArrayOrTypedArray(b.opacity),R;function L(le){return g.opacity*le}function z(le){return le/2}var F;u&&(e.hasColorscale(g,\"marker\")?F=e.makeColorScaleFuncFromTrace(b):F=x.identity);var N;y&&(N=r(g));var O;f&&(O=function(le){var fe=v(le)?+x.constrain(le,0,1):0;return L(fe)});var P=[];for(R=0;R850?R+=\" Black\":u>750?R+=\" Extra Bold\":u>650?R+=\" Bold\":u>550?R+=\" Semi Bold\":u>450?R+=\" Medium\":u>350?R+=\" Regular\":u>250?R+=\" Light\":u>150?R+=\" Extra Light\":R+=\" Thin\"):y.slice(0,2).join(\" \")===\"Open Sans\"?(R=\"Open Sans\",u>750?R+=\" Extrabold\":u>650?R+=\" Bold\":u>550?R+=\" Semibold\":u>350?R+=\" Regular\":R+=\" Light\"):y.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(R=\"Klokantech Noto Sans\",y[3]===\"CJK\"&&(R+=\" CJK\"),R+=u>500?\" Bold\":\" Regular\")),f&&(R+=\" Italic\"),R===\"Open Sans Regular Italic\"?R=\"Open Sans Italic\":R===\"Open Sans Regular Bold\"?R=\"Open Sans Bold\":R===\"Open Sans Regular Bold Italic\"?R=\"Open Sans Bold Italic\":R===\"Klokantech Noto Sans Regular Italic\"&&(R=\"Klokantech Noto Sans Italic\"),a(R)||(R=b);var L=R.split(\", \");return L}}}),dV=Xe({\"src/traces/scattermapbox/plot.js\"(Z,G){\"use strict\";var v=sa(),x=pV(),S=im().traceLayerPrefix,E={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function e(r,o,a,n){this.type=\"scattermapbox\",this.subplot=r,this.uid=o,this.clusterEnabled=a,this.isHidden=n,this.sourceIds={fill:\"source-\"+o+\"-fill\",line:\"source-\"+o+\"-line\",circle:\"source-\"+o+\"-circle\",symbol:\"source-\"+o+\"-symbol\",cluster:\"source-\"+o+\"-circle\",clusterCount:\"source-\"+o+\"-circle\"},this.layerIds={fill:S+o+\"-fill\",line:S+o+\"-line\",circle:S+o+\"-circle\",symbol:S+o+\"-symbol\",cluster:S+o+\"-cluster\",clusterCount:S+o+\"-cluster-count\"},this.below=null}var t=e.prototype;t.addSource=function(r,o,a){var n={type:\"geojson\",data:o.geojson};a&&a.enabled&&v.extendFlat(n,{cluster:!0,clusterMaxZoom:a.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[r]);i?i.setData(o.geojson):this.subplot.map.addSource(this.sourceIds[r],n)},t.setSourceData=function(r,o){this.subplot.map.getSource(this.sourceIds[r]).setData(o.geojson)},t.addLayer=function(r,o,a){var n={type:o.type,id:this.layerIds[r],source:this.sourceIds[r],layout:o.layout,paint:o.paint};o.filter&&(n.filter=o.filter);for(var i=this.layerIds[r],s,h=this.subplot.getMapLayers(),c=0;c=0;f--){var R=y[f];i.removeLayer(p.layerIds[R])}u||i.removeSource(p.sourceIds.circle)}function _(u){for(var y=E.nonCluster,f=0;f=0;f--){var R=y[f];i.removeLayer(p.layerIds[R]),u||i.removeSource(p.sourceIds[R])}}function A(u){m?l(u):w(u)}function M(u){c?T(u):_(u)}function g(){for(var u=c?E.cluster:E.nonCluster,y=0;y=0;n--){var i=a[n];o.removeLayer(this.layerIds[i]),o.removeSource(this.sourceIds[i])}},G.exports=function(o,a){var n=a[0].trace,i=n.cluster&&n.cluster.enabled,s=n.visible!==!0,h=new e(o,n.uid,i,s),c=x(o.gd,a),m=h.below=o.belowLookup[\"trace-\"+n.uid],p,T,l;if(i)for(h.addSource(\"circle\",c.circle,n.cluster),p=0;p=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),M=A*360,g=n-M;function b(N){var O=N.lonlat;if(O[0]===e||_&&T.indexOf(N.i+1)===-1)return 1/0;var P=x.modHalf(O[0],360),U=O[1],B=p.project([P,U]),X=B.x-c.c2p([g,U]),$=B.y-m.c2p([P,i]),se=Math.max(3,N.mrc||0);return Math.max(Math.sqrt(X*X+$*$)-se,1-3/se)}if(v.getClosest(s,b,a),a.index!==!1){var d=s[a.index],u=d.lonlat,y=[x.modHalf(u[0],360)+M,u[1]],f=c.c2p(y),R=m.c2p(y),L=d.mrc||1;a.x0=f-L,a.x1=f+L,a.y0=R-L,a.y1=R+L;var z={};z[h.subplot]={_subplot:p};var F=h._module.formatLabels(d,h,z);return a.lonLabel=F.lonLabel,a.latLabel=F.latLabel,a.color=S(h,d),a.extraText=o(h,d,s[0].t.labels),a.hovertemplate=h.hovertemplate,[a]}}function o(a,n,i){if(a.hovertemplate)return;var s=n.hi||a.hoverinfo,h=s.split(\"+\"),c=h.indexOf(\"all\")!==-1,m=h.indexOf(\"lon\")!==-1,p=h.indexOf(\"lat\")!==-1,T=n.lonlat,l=[];function _(w){return w+\"\\xB0\"}return c||m&&p?l.push(\"(\"+_(T[1])+\", \"+_(T[0])+\")\"):m?l.push(i.lon+_(T[0])):p&&l.push(i.lat+_(T[1])),(c||h.indexOf(\"text\")!==-1)&&E(n,a,l),l.join(\"
\")}G.exports={hoverPoints:r,getExtraText:o}}}),vV=Xe({\"src/traces/scattermapbox/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x}}}),mV=Xe({\"src/traces/scattermapbox/select.js\"(Z,G){\"use strict\";var v=sa(),x=Fu(),S=Hs().BADNUM;G.exports=function(e,t){var r=e.cd,o=e.xaxis,a=e.yaxis,n=[],i=r[0].trace,s;if(!x.hasMarkers(i))return[];if(t===!1)for(s=0;s\"u\"&&(C=1e-6);var H,ne,xe,Re,qe;for(xe=k,qe=0;qe<8;qe++){if(Re=this.sampleCurveX(xe)-k,Math.abs(Re)ne)return ne;for(;HRe?H=xe:ne=xe,xe=(ne-H)*.5+H}return xe},a.prototype.solve=function(k,C){return this.sampleCurveY(this.solveCurveX(k,C))};var n=i;function i(k,C){this.x=k,this.y=C}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(k){return this.clone()._add(k)},sub:function(k){return this.clone()._sub(k)},multByPoint:function(k){return this.clone()._multByPoint(k)},divByPoint:function(k){return this.clone()._divByPoint(k)},mult:function(k){return this.clone()._mult(k)},div:function(k){return this.clone()._div(k)},rotate:function(k){return this.clone()._rotate(k)},rotateAround:function(k,C){return this.clone()._rotateAround(k,C)},matMult:function(k){return this.clone()._matMult(k)},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(k){return this.x===k.x&&this.y===k.y},dist:function(k){return Math.sqrt(this.distSqr(k))},distSqr:function(k){var C=k.x-this.x,H=k.y-this.y;return C*C+H*H},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(k){return Math.atan2(this.y-k.y,this.x-k.x)},angleWith:function(k){return this.angleWithSep(k.x,k.y)},angleWithSep:function(k,C){return Math.atan2(this.x*C-this.y*k,this.x*k+this.y*C)},_matMult:function(k){var C=k[0]*this.x+k[1]*this.y,H=k[2]*this.x+k[3]*this.y;return this.x=C,this.y=H,this},_add:function(k){return this.x+=k.x,this.y+=k.y,this},_sub:function(k){return this.x-=k.x,this.y-=k.y,this},_mult:function(k){return this.x*=k,this.y*=k,this},_div:function(k){return this.x/=k,this.y/=k,this},_multByPoint:function(k){return this.x*=k.x,this.y*=k.y,this},_divByPoint:function(k){return this.x/=k.x,this.y/=k.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var k=this.y;return this.y=this.x,this.x=-k,this},_rotate:function(k){var C=Math.cos(k),H=Math.sin(k),ne=C*this.x-H*this.y,xe=H*this.x+C*this.y;return this.x=ne,this.y=xe,this},_rotateAround:function(k,C){var H=Math.cos(k),ne=Math.sin(k),xe=C.x+H*(this.x-C.x)-ne*(this.y-C.y),Re=C.y+ne*(this.x-C.x)+H*(this.y-C.y);return this.x=xe,this.y=Re,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(k){return k instanceof i?k:Array.isArray(k)?new i(k[0],k[1]):k};var s=typeof self<\"u\"?self:{};function h(k,C){if(Array.isArray(k)){if(!Array.isArray(C)||k.length!==C.length)return!1;for(var H=0;H=1)return 1;var C=k*k,H=C*k;return 4*(k<.5?H:3*(k-C)+H-.75)}function p(k,C,H,ne){var xe=new o(k,C,H,ne);return function(Re){return xe.solve(Re)}}var T=p(.25,.1,.25,1);function l(k,C,H){return Math.min(H,Math.max(C,k))}function _(k,C,H){var ne=H-C,xe=((k-C)%ne+ne)%ne+C;return xe===C?H:xe}function w(k,C,H){if(!k.length)return H(null,[]);var ne=k.length,xe=new Array(k.length),Re=null;k.forEach(function(qe,pt){C(qe,function(Dt,Gt){Dt&&(Re=Dt),xe[pt]=Gt,--ne===0&&H(Re,xe)})})}function A(k){var C=[];for(var H in k)C.push(k[H]);return C}function M(k,C){var H=[];for(var ne in k)ne in C||H.push(ne);return H}function g(k){for(var C=[],H=arguments.length-1;H-- >0;)C[H]=arguments[H+1];for(var ne=0,xe=C;ne>C/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,k)}return k()}function f(k){return k<=1?1:Math.pow(2,Math.ceil(Math.log(k)/Math.LN2))}function R(k){return k?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(k):!1}function L(k,C){k.forEach(function(H){C[H]&&(C[H]=C[H].bind(C))})}function z(k,C){return k.indexOf(C,k.length-C.length)!==-1}function F(k,C,H){var ne={};for(var xe in k)ne[xe]=C.call(H||this,k[xe],xe,k);return ne}function N(k,C,H){var ne={};for(var xe in k)C.call(H||this,k[xe],xe,k)&&(ne[xe]=k[xe]);return ne}function O(k){return Array.isArray(k)?k.map(O):typeof k==\"object\"&&k?F(k,O):k}function P(k,C){for(var H=0;H=0)return!0;return!1}var U={};function B(k){U[k]||(typeof console<\"u\"&&console.warn(k),U[k]=!0)}function X(k,C,H){return(H.y-k.y)*(C.x-k.x)>(C.y-k.y)*(H.x-k.x)}function $(k){for(var C=0,H=0,ne=k.length,xe=ne-1,Re=void 0,qe=void 0;H@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,H={};if(k.replace(C,function(xe,Re,qe,pt){var Dt=qe||pt;return H[Re]=Dt?Dt.toLowerCase():!0,\"\"}),H[\"max-age\"]){var ne=parseInt(H[\"max-age\"],10);isNaN(ne)?delete H[\"max-age\"]:H[\"max-age\"]=ne}return H}var V=null;function Y(k){if(V==null){var C=k.navigator?k.navigator.userAgent:null;V=!!k.safari||!!(C&&(/\\b(iPad|iPhone|iPod)\\b/.test(C)||C.match(\"Safari\")&&!C.match(\"Chrome\")))}return V}function ee(k){try{var C=s[k];return C.setItem(\"_mapbox_test_\",1),C.removeItem(\"_mapbox_test_\"),!0}catch{return!1}}function q(k){return s.btoa(encodeURIComponent(k).replace(/%([0-9A-F]{2})/g,function(C,H){return String.fromCharCode(+(\"0x\"+H))}))}function oe(k){return decodeURIComponent(s.atob(k).split(\"\").map(function(C){return\"%\"+(\"00\"+C.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var ae=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),j=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,Q=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,re,ce,be={now:ae,frame:function(C){var H=j(C);return{cancel:function(){return Q(H)}}},getImageData:function(C,H){H===void 0&&(H=0);var ne=s.document.createElement(\"canvas\"),xe=ne.getContext(\"2d\");if(!xe)throw new Error(\"failed to create canvas 2d context\");return ne.width=C.width,ne.height=C.height,xe.drawImage(C,0,0,C.width,C.height),xe.getImageData(-H,-H,C.width+2*H,C.height+2*H)},resolveURL:function(C){return re||(re=s.document.createElement(\"a\")),re.href=C,re.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return s.matchMedia?(ce==null&&(ce=s.matchMedia(\"(prefers-reduced-motion: reduce)\")),ce.matches):!1}},Ae={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},De={supported:!1,testSupport:rt},ze,Ze=!1,at,nt=!1;s.document&&(at=s.document.createElement(\"img\"),at.onload=function(){ze&&st(ze),ze=null,nt=!0},at.onerror=function(){Ze=!0,ze=null},at.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function rt(k){Ze||!at||(nt?st(k):ze=k)}function st(k){var C=k.createTexture();k.bindTexture(k.TEXTURE_2D,C);try{if(k.texImage2D(k.TEXTURE_2D,0,k.RGBA,k.RGBA,k.UNSIGNED_BYTE,at),k.isContextLost())return;De.supported=!0}catch{}k.deleteTexture(C),Ze=!0}var Me=\"01\";function ye(){for(var k=\"1\",C=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",H=\"\",ne=0;ne<10;ne++)H+=C[Math.floor(Math.random()*62)];var xe=12*60*60*1e3,Re=[k,Me,H].join(\"\"),qe=Date.now()+xe;return{token:Re,tokenExpiresAt:qe}}var he=function(C,H){this._transformRequestFn=C,this._customAccessToken=H,this._createSkuToken()};he.prototype._createSkuToken=function(){var C=ye();this._skuToken=C.token,this._skuTokenExpiresAt=C.tokenExpiresAt},he.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},he.prototype.transformRequest=function(C,H){return this._transformRequestFn?this._transformRequestFn(C,H)||{url:C}:{url:C}},he.prototype.normalizeStyleURL=function(C,H){if(!Oe(C))return C;var ne=qt(C);return ne.path=\"/styles/v1\"+ne.path,this._makeAPIURL(ne,this._customAccessToken||H)},he.prototype.normalizeGlyphsURL=function(C,H){if(!Oe(C))return C;var ne=qt(C);return ne.path=\"/fonts/v1\"+ne.path,this._makeAPIURL(ne,this._customAccessToken||H)},he.prototype.normalizeSourceURL=function(C,H){if(!Oe(C))return C;var ne=qt(C);return ne.path=\"/v4/\"+ne.authority+\".json\",ne.params.push(\"secure\"),this._makeAPIURL(ne,this._customAccessToken||H)},he.prototype.normalizeSpriteURL=function(C,H,ne,xe){var Re=qt(C);return Oe(C)?(Re.path=\"/styles/v1\"+Re.path+\"/sprite\"+H+ne,this._makeAPIURL(Re,this._customAccessToken||xe)):(Re.path+=\"\"+H+ne,Wt(Re))},he.prototype.normalizeTileURL=function(C,H){if(this._isSkuTokenExpired()&&this._createSkuToken(),C&&!Oe(C))return C;var ne=qt(C),xe=/(\\.(png|jpg)\\d*)(?=$)/,Re=/^.+\\/v4\\//,qe=be.devicePixelRatio>=2||H===512?\"@2x\":\"\",pt=De.supported?\".webp\":\"$1\";ne.path=ne.path.replace(xe,\"\"+qe+pt),ne.path=ne.path.replace(Re,\"/\"),ne.path=\"/v4\"+ne.path;var Dt=this._customAccessToken||Pt(ne.params)||Ae.ACCESS_TOKEN;return Ae.REQUIRE_ACCESS_TOKEN&&Dt&&this._skuToken&&ne.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(ne,Dt)},he.prototype.canonicalizeTileURL=function(C,H){var ne=\"/v4/\",xe=/\\.[\\w]+$/,Re=qt(C);if(!Re.path.match(/(^\\/v4\\/)/)||!Re.path.match(xe))return C;var qe=\"mapbox://tiles/\";qe+=Re.path.replace(ne,\"\");var pt=Re.params;return H&&(pt=pt.filter(function(Dt){return!Dt.match(/^access_token=/)})),pt.length&&(qe+=\"?\"+pt.join(\"&\")),qe},he.prototype.canonicalizeTileset=function(C,H){for(var ne=H?Oe(H):!1,xe=[],Re=0,qe=C.tiles||[];Re=0&&C.params.splice(Re,1)}if(xe.path!==\"/\"&&(C.path=\"\"+xe.path+C.path),!Ae.REQUIRE_ACCESS_TOKEN)return Wt(C);if(H=H||Ae.ACCESS_TOKEN,!H)throw new Error(\"An API access token is required to use Mapbox GL. \"+ne);if(H[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+ne);return C.params=C.params.filter(function(qe){return qe.indexOf(\"access_token\")===-1}),C.params.push(\"access_token=\"+H),Wt(C)};function Oe(k){return k.indexOf(\"mapbox:\")===0}var tt=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function ot(k){return tt.test(k)}function Qe(k){return k.indexOf(\"sku=\")>0&&ot(k)}function Pt(k){for(var C=0,H=k;C=1&&s.localStorage.setItem(H,JSON.stringify(this.eventData))}catch{B(\"Unable to write to LocalStorage\")}},qr.prototype.processRequests=function(C){},qr.prototype.postEvent=function(C,H,ne,xe){var Re=this;if(Ae.EVENTS_URL){var qe=qt(Ae.EVENTS_URL);qe.params.push(\"access_token=\"+(xe||Ae.ACCESS_TOKEN||\"\"));var pt={event:this.type,created:new Date(C).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:r,skuId:Me,userId:this.anonId},Dt=H?g(pt,H):pt,Gt={url:Wt(qe),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Dt])};this.pendingRequest=ca(Gt,function(tr){Re.pendingRequest=null,ne(tr),Re.saveEventData(),Re.processRequests(xe)})}},qr.prototype.queueRequest=function(C,H){this.queue.push(C),this.processRequests(H)};var Sr=function(k){function C(){k.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.postMapLoadEvent=function(ne,xe,Re,qe){this.skuToken=Re,(Ae.EVENTS_URL&&qe||Ae.ACCESS_TOKEN&&Array.isArray(ne)&&ne.some(function(pt){return Oe(pt)||ot(pt)}))&&this.queueRequest({id:xe,timestamp:Date.now()},qe)},C.prototype.processRequests=function(ne){var xe=this;if(!(this.pendingRequest||this.queue.length===0)){var Re=this.queue.shift(),qe=Re.id,pt=Re.timestamp;qe&&this.success[qe]||(this.anonId||this.fetchEventData(),R(this.anonId)||(this.anonId=y()),this.postEvent(pt,{skuToken:this.skuToken},function(Dt){Dt||qe&&(xe.success[qe]=!0)},ne))}},C}(qr),Rr=function(k){function C(H){k.call(this,\"appUserTurnstile\"),this._customAccessToken=H}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.postTurnstileEvent=function(ne,xe){Ae.EVENTS_URL&&Ae.ACCESS_TOKEN&&Array.isArray(ne)&&ne.some(function(Re){return Oe(Re)||ot(Re)})&&this.queueRequest(Date.now(),xe)},C.prototype.processRequests=function(ne){var xe=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var Re=mr(Ae.ACCESS_TOKEN),qe=Re?Re.u:Ae.ACCESS_TOKEN,pt=qe!==this.eventData.tokenU;R(this.anonId)||(this.anonId=y(),pt=!0);var Dt=this.queue.shift();if(this.eventData.lastSuccess){var Gt=new Date(this.eventData.lastSuccess),tr=new Date(Dt),Pr=(Dt-this.eventData.lastSuccess)/(24*60*60*1e3);pt=pt||Pr>=1||Pr<-1||Gt.getDate()!==tr.getDate()}else pt=!0;if(!pt)return this.processRequests();this.postEvent(Dt,{\"enabled.telemetry\":!1},function(Zr){Zr||(xe.eventData.lastSuccess=Dt,xe.eventData.tokenU=qe)},ne)}},C}(qr),wt=new Rr,Ne=wt.postTurnstileEvent.bind(wt),Ke=new Sr,Te=Ke.postMapLoadEvent.bind(Ke),Ie=\"mapbox-tiles\",Ve=500,Ce=50,Ee=1e3*60*7,Pe;function ft(){s.caches&&!Pe&&(Pe=s.caches.open(Ie))}var ct;function _t(k,C){if(ct===void 0)try{new Response(new ReadableStream),ct=!0}catch{ct=!1}ct?C(k.body):k.blob().then(C)}function Ct(k,C,H){if(ft(),!!Pe){var ne={status:C.status,statusText:C.statusText,headers:new s.Headers};C.headers.forEach(function(qe,pt){return ne.headers.set(pt,qe)});var xe=fe(C.headers.get(\"Cache-Control\")||\"\");if(!xe[\"no-store\"]){xe[\"max-age\"]&&ne.headers.set(\"Expires\",new Date(H+xe[\"max-age\"]*1e3).toUTCString());var Re=new Date(ne.headers.get(\"Expires\")).getTime()-H;ReDate.now()&&!H[\"no-cache\"]}var Lr=1/0;function fa(k){Lr++,Lr>Ce&&(k.getActor().send(\"enforceCacheSizeLimit\",Ve),Lr=0)}function Da(k){ft(),Pe&&Pe.then(function(C){C.keys().then(function(H){for(var ne=0;ne=200&&H.status<300||H.status===0)&&H.response!==null){var xe=H.response;if(k.type===\"json\")try{xe=JSON.parse(H.response)}catch(Re){return C(Re)}C(null,xe,H.getResponseHeader(\"Cache-Control\"),H.getResponseHeader(\"Expires\"))}else C(new wi(H.statusText,H.status,k.url))},H.send(k.body),{cancel:function(){return H.abort()}}}var Fr=function(k,C){if(!Ft(k.url)){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty(\"signal\"))return Yt(k,C);if(le()&&self.worker&&self.worker.actor){var H=!0;return self.worker.actor.send(\"getResource\",k,C,void 0,H)}}return Jt(k,C)},ta=function(k,C){return Fr(g(k,{type:\"json\"}),C)},ra=function(k,C){return Fr(g(k,{type:\"arrayBuffer\"}),C)},ca=function(k,C){return Fr(g(k,{method:\"POST\"}),C)};function Ba(k){var C=s.document.createElement(\"a\");return C.href=k,C.protocol===s.document.location.protocol&&C.host===s.document.location.host}var $a=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Za(k,C,H,ne){var xe=new s.Image,Re=s.URL;xe.onload=function(){C(null,xe),Re.revokeObjectURL(xe.src),xe.onload=null,s.requestAnimationFrame(function(){xe.src=$a})},xe.onerror=function(){return C(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 qe=new s.Blob([new Uint8Array(k)],{type:\"image/png\"});xe.cacheControl=H,xe.expires=ne,xe.src=k.byteLength?Re.createObjectURL(qe):$a}function ri(k,C){var H=new s.Blob([new Uint8Array(k)],{type:\"image/png\"});s.createImageBitmap(H).then(function(ne){C(null,ne)}).catch(function(ne){C(new Error(\"Could not load image because of \"+ne.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var pi,Ra,tn=function(){pi=[],Ra=0};tn();var on=function(k,C){if(De.supported&&(k.headers||(k.headers={}),k.headers.accept=\"image/webp,*/*\"),Ra>=Ae.MAX_PARALLEL_IMAGE_REQUESTS){var H={requestParameters:k,callback:C,cancelled:!1,cancel:function(){this.cancelled=!0}};return pi.push(H),H}Ra++;var ne=!1,xe=function(){if(!ne)for(ne=!0,Ra--;pi.length&&Ra0||this._oneTimeListeners&&this._oneTimeListeners[C]&&this._oneTimeListeners[C].length>0||this._eventedParent&&this._eventedParent.listens(C)},xr.prototype.setEventedParent=function(C,H){return this._eventedParent=C,this._eventedParentData=H,this};var Ir=8,Ur={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\"}},Hr={\"*\":{type:\"source\"}},xt=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],Xt={type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},vr={type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},Or={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\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},ba={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},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},Pa={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\"}}},ya={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\"}}},la={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\"}},Ta=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],Ai={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},ki={\"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\"}},Ki={\"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\"}},_n={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Rn={\"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\"}},En={\"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:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"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\"}],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\"}},On={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},no={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},cn={type:\"array\",value:\"*\"},lo={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},Wo={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},hs={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},Oo={type:\"array\",value:\"*\",minimum:1},Wn={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}},No=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],as={\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},Ns={\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},ss={\"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\"}},uo={\"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\"}},jn={\"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\"}},Xn={\"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\"}},ls={\"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\"}},Cs={\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},Ks={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},Xo={\"*\":{type:\"string\"}},Gi={$version:Ir,$root:Ur,sources:Hr,source:xt,source_vector:Xt,source_raster:vr,source_raster_dem:Or,source_geojson:ba,source_video:Pa,source_image:ya,layer:la,layout:Ta,layout_background:Ai,layout_fill:ki,layout_circle:Ki,layout_heatmap:_n,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:Rn,layout_symbol:En,layout_raster:On,layout_hillshade:no,filter:cn,filter_operator:lo,geometry_type:Wo,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:hs,expression:Oo,light:Wn,paint:No,paint_fill:as,\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:Ns,paint_circle:ss,paint_heatmap:uo,paint_symbol:jn,paint_raster:Xn,paint_hillshade:ls,paint_background:Cs,transition:Ks,\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:Xo},Ln=function(C,H,ne,xe){this.message=(C?C+\": \":\"\")+ne,xe&&(this.identifier=xe),H!=null&&H.__line__&&(this.line=H.__line__)};function Us(k){var C=k.key,H=k.value;return H?[new Ln(C,H,\"constants have been deprecated as of v8\")]:[]}function _s(k){for(var C=[],H=arguments.length-1;H-- >0;)C[H]=arguments[H+1];for(var ne=0,xe=C;ne\":k.itemType.kind===\"value\"?\"array\":\"array<\"+C+\">\"}else return k.kind}var Nl=[il,xn,ko,bo,Is,Ts,pu,us(co),js];function su(k,C){if(C.kind===\"error\")return null;if(k.kind===\"array\"){if(C.kind===\"array\"&&(C.N===0&&C.itemType.kind===\"value\"||!su(k.itemType,C.itemType))&&(typeof k.N!=\"number\"||k.N===C.N))return null}else{if(k.kind===C.kind)return null;if(k.kind===\"value\")for(var H=0,ne=Nl;H255?255:Gt}function xe(Gt){return Gt<0?0:Gt>1?1:Gt}function Re(Gt){return Gt[Gt.length-1]===\"%\"?ne(parseFloat(Gt)/100*255):ne(parseInt(Gt))}function qe(Gt){return Gt[Gt.length-1]===\"%\"?xe(parseFloat(Gt)/100):xe(parseFloat(Gt))}function pt(Gt,tr,Pr){return Pr<0?Pr+=1:Pr>1&&(Pr-=1),Pr*6<1?Gt+(tr-Gt)*Pr*6:Pr*2<1?tr:Pr*3<2?Gt+(tr-Gt)*(2/3-Pr)*6:Gt}function Dt(Gt){var tr=Gt.replace(/ /g,\"\").toLowerCase();if(tr in H)return H[tr].slice();if(tr[0]===\"#\"){if(tr.length===4){var Pr=parseInt(tr.substr(1),16);return Pr>=0&&Pr<=4095?[(Pr&3840)>>4|(Pr&3840)>>8,Pr&240|(Pr&240)>>4,Pr&15|(Pr&15)<<4,1]:null}else if(tr.length===7){var Pr=parseInt(tr.substr(1),16);return Pr>=0&&Pr<=16777215?[(Pr&16711680)>>16,(Pr&65280)>>8,Pr&255,1]:null}return null}var Zr=tr.indexOf(\"(\"),Vr=tr.indexOf(\")\");if(Zr!==-1&&Vr+1===tr.length){var ua=tr.substr(0,Zr),Oa=tr.substr(Zr+1,Vr-(Zr+1)).split(\",\"),Mi=1;switch(ua){case\"rgba\":if(Oa.length!==4)return null;Mi=qe(Oa.pop());case\"rgb\":return Oa.length!==3?null:[Re(Oa[0]),Re(Oa[1]),Re(Oa[2]),Mi];case\"hsla\":if(Oa.length!==4)return null;Mi=qe(Oa.pop());case\"hsl\":if(Oa.length!==3)return null;var ii=(parseFloat(Oa[0])%360+360)%360/360,$i=qe(Oa[1]),Oi=qe(Oa[2]),Ji=Oi<=.5?Oi*($i+1):Oi+$i-Oi*$i,ln=Oi*2-Ji;return[ne(pt(ln,Ji,ii+1/3)*255),ne(pt(ln,Ji,ii)*255),ne(pt(ln,Ji,ii-1/3)*255),Mi];default:return null}}return null}try{C.parseCSSColor=Dt}catch{}}),Uc=Sf.parseCSSColor,Fs=function(C,H,ne,xe){xe===void 0&&(xe=1),this.r=C,this.g=H,this.b=ne,this.a=xe};Fs.parse=function(C){if(C){if(C instanceof Fs)return C;if(typeof C==\"string\"){var H=Uc(C);if(H)return new Fs(H[0]/255*H[3],H[1]/255*H[3],H[2]/255*H[3],H[3])}}},Fs.prototype.toString=function(){var C=this.toArray(),H=C[0],ne=C[1],xe=C[2],Re=C[3];return\"rgba(\"+Math.round(H)+\",\"+Math.round(ne)+\",\"+Math.round(xe)+\",\"+Re+\")\"},Fs.prototype.toArray=function(){var C=this,H=C.r,ne=C.g,xe=C.b,Re=C.a;return Re===0?[0,0,0,0]:[H*255/Re,ne*255/Re,xe*255/Re,Re]},Fs.black=new Fs(0,0,0,1),Fs.white=new Fs(1,1,1,1),Fs.transparent=new Fs(0,0,0,0),Fs.red=new Fs(1,0,0,1);var dc=function(C,H,ne){C?this.sensitivity=H?\"variant\":\"case\":this.sensitivity=H?\"accent\":\"base\",this.locale=ne,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};dc.prototype.compare=function(C,H){return this.collator.compare(C,H)},dc.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Hc=function(C,H,ne,xe,Re){this.text=C,this.image=H,this.scale=ne,this.fontStack=xe,this.textColor=Re},lu=function(C){this.sections=C};lu.fromString=function(C){return new lu([new Hc(C,null,null,null,null)])},lu.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(C){return C.text.length!==0||C.image&&C.image.name.length!==0})},lu.factory=function(C){return C instanceof lu?C:lu.fromString(C)},lu.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(C){return C.text}).join(\"\")},lu.prototype.serialize=function(){for(var C=[\"format\"],H=0,ne=this.sections;H=0&&k<=255&&typeof C==\"number\"&&C>=0&&C<=255&&typeof H==\"number\"&&H>=0&&H<=255)){var xe=typeof ne==\"number\"?[k,C,H,ne]:[k,C,H];return\"Invalid rgba value [\"+xe.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof ne>\"u\"||typeof ne==\"number\"&&ne>=0&&ne<=1?null:\"Invalid rgba value [\"+[k,C,H,ne].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Ou(k){if(k===null)return!0;if(typeof k==\"string\")return!0;if(typeof k==\"boolean\")return!0;if(typeof k==\"number\")return!0;if(k instanceof Fs)return!0;if(k instanceof dc)return!0;if(k instanceof lu)return!0;if(k instanceof Pl)return!0;if(Array.isArray(k)){for(var C=0,H=k;C2){var pt=C[1];if(typeof pt!=\"string\"||!(pt in nc)||pt===\"object\")return H.error('The item type argument of \"array\" must be one of string, number, boolean',1);qe=nc[pt],ne++}else qe=co;var Dt;if(C.length>3){if(C[2]!==null&&(typeof C[2]!=\"number\"||C[2]<0||C[2]!==Math.floor(C[2])))return H.error('The length argument to \"array\" must be a positive integer literal',2);Dt=C[2],ne++}xe=us(qe,Dt)}else xe=nc[Re];for(var Gt=[];ne1)&&H.push(xe)}}return H.concat(this.args.map(function(Re){return Re.serialize()}))};var qu=function(C){this.type=Ts,this.sections=C};qu.parse=function(C,H){if(C.length<2)return H.error(\"Expected at least one argument.\");var ne=C[1];if(!Array.isArray(ne)&&typeof ne==\"object\")return H.error(\"First argument must be an image or text section.\");for(var xe=[],Re=!1,qe=1;qe<=C.length-1;++qe){var pt=C[qe];if(Re&&typeof pt==\"object\"&&!Array.isArray(pt)){Re=!1;var Dt=null;if(pt[\"font-scale\"]&&(Dt=H.parse(pt[\"font-scale\"],1,xn),!Dt))return null;var Gt=null;if(pt[\"text-font\"]&&(Gt=H.parse(pt[\"text-font\"],1,us(ko)),!Gt))return null;var tr=null;if(pt[\"text-color\"]&&(tr=H.parse(pt[\"text-color\"],1,Is),!tr))return null;var Pr=xe[xe.length-1];Pr.scale=Dt,Pr.font=Gt,Pr.textColor=tr}else{var Zr=H.parse(C[qe],1,co);if(!Zr)return null;var Vr=Zr.type.kind;if(Vr!==\"string\"&&Vr!==\"value\"&&Vr!==\"null\"&&Vr!==\"resolvedImage\")return H.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");Re=!0,xe.push({content:Zr,scale:null,font:null,textColor:null})}}return new qu(xe)},qu.prototype.evaluate=function(C){var H=function(ne){var xe=ne.content.evaluate(C);return nl(xe)===js?new Hc(\"\",xe,null,null,null):new Hc(ml(xe),null,ne.scale?ne.scale.evaluate(C):null,ne.font?ne.font.evaluate(C).join(\",\"):null,ne.textColor?ne.textColor.evaluate(C):null)};return new lu(this.sections.map(H))},qu.prototype.eachChild=function(C){for(var H=0,ne=this.sections;H-1),ne},fl.prototype.eachChild=function(C){C(this.input)},fl.prototype.outputDefined=function(){return!1},fl.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var xh={\"to-boolean\":bo,\"to-color\":Is,\"to-number\":xn,\"to-string\":ko},ns=function(C,H){this.type=C,this.args=H};ns.parse=function(C,H){if(C.length<2)return H.error(\"Expected at least one argument.\");var ne=C[0];if((ne===\"to-boolean\"||ne===\"to-string\")&&C.length!==2)return H.error(\"Expected one argument.\");for(var xe=xh[ne],Re=[],qe=1;qe4?ne=\"Invalid rbga value \"+JSON.stringify(H)+\": expected an array containing either three or four numeric values.\":ne=ic(H[0],H[1],H[2],H[3]),!ne))return new Fs(H[0]/255,H[1]/255,H[2]/255,H[3])}throw new Xs(ne||\"Could not parse color from value '\"+(typeof H==\"string\"?H:String(JSON.stringify(H)))+\"'\")}else if(this.type.kind===\"number\"){for(var Dt=null,Gt=0,tr=this.args;Gt=C[2]||k[1]<=C[1]||k[3]>=C[3])}function Jf(k,C){var H=Ac(k[0]),ne=nf(k[1]),xe=Math.pow(2,C.z);return[Math.round(H*xe*jl),Math.round(ne*xe*jl)]}function Of(k,C,H){var ne=k[0]-C[0],xe=k[1]-C[1],Re=k[0]-H[0],qe=k[1]-H[1];return ne*qe-Re*xe===0&&ne*Re<=0&&xe*qe<=0}function of(k,C,H){return C[1]>k[1]!=H[1]>k[1]&&k[0]<(H[0]-C[0])*(k[1]-C[1])/(H[1]-C[1])+C[0]}function jc(k,C){for(var H=!1,ne=0,xe=C.length;ne0&&Pr<0||tr<0&&Pr>0}function Ef(k,C,H,ne){var xe=[C[0]-k[0],C[1]-k[1]],Re=[ne[0]-H[0],ne[1]-H[1]];return Nf(Re,xe)===0?!1:!!(Gu(k,C,H,ne)&&Gu(H,ne,k,C))}function oc(k,C,H){for(var ne=0,xe=H;neH[2]){var xe=ne*.5,Re=k[0]-H[0]>xe?-ne:H[0]-k[0]>xe?ne:0;Re===0&&(Re=k[0]-H[2]>xe?-ne:H[2]-k[0]>xe?ne:0),k[0]+=Re}Mf(C,k)}function kf(k){k[0]=k[1]=1/0,k[2]=k[3]=-1/0}function fh(k,C,H,ne){for(var xe=Math.pow(2,ne.z)*jl,Re=[ne.x*jl,ne.y*jl],qe=[],pt=0,Dt=k;pt=0)return!1;var H=!0;return k.eachChild(function(ne){H&&!Lu(ne,C)&&(H=!1)}),H}var Mc=function(C,H){this.type=H.type,this.name=C,this.boundExpression=H};Mc.parse=function(C,H){if(C.length!==2||typeof C[1]!=\"string\")return H.error(\"'var' expression requires exactly one string literal argument.\");var ne=C[1];return H.scope.has(ne)?new Mc(ne,H.scope.get(ne)):H.error('Unknown variable \"'+ne+'\". Make sure \"'+ne+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Mc.prototype.evaluate=function(C){return this.boundExpression.evaluate(C)},Mc.prototype.eachChild=function(){},Mc.prototype.outputDefined=function(){return!1},Mc.prototype.serialize=function(){return[\"var\",this.name]};var ol=function(C,H,ne,xe,Re){H===void 0&&(H=[]),xe===void 0&&(xe=new Ws),Re===void 0&&(Re=[]),this.registry=C,this.path=H,this.key=H.map(function(qe){return\"[\"+qe+\"]\"}).join(\"\"),this.scope=xe,this.errors=Re,this.expectedType=ne};ol.prototype.parse=function(C,H,ne,xe,Re){return Re===void 0&&(Re={}),H?this.concat(H,ne,xe)._parse(C,Re):this._parse(C,Re)},ol.prototype._parse=function(C,H){(C===null||typeof C==\"string\"||typeof C==\"boolean\"||typeof C==\"number\")&&(C=[\"literal\",C]);function ne(tr,Pr,Zr){return Zr===\"assert\"?new Ul(Pr,[tr]):Zr===\"coerce\"?new ns(Pr,[tr]):tr}if(Array.isArray(C)){if(C.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var xe=C[0];if(typeof xe!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof xe+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var Re=this.registry[xe];if(Re){var qe=Re.parse(C,this);if(!qe)return null;if(this.expectedType){var pt=this.expectedType,Dt=qe.type;if((pt.kind===\"string\"||pt.kind===\"number\"||pt.kind===\"boolean\"||pt.kind===\"object\"||pt.kind===\"array\")&&Dt.kind===\"value\")qe=ne(qe,pt,H.typeAnnotation||\"assert\");else if((pt.kind===\"color\"||pt.kind===\"formatted\"||pt.kind===\"resolvedImage\")&&(Dt.kind===\"value\"||Dt.kind===\"string\"))qe=ne(qe,pt,H.typeAnnotation||\"coerce\");else if(this.checkSubtype(pt,Dt))return null}if(!(qe instanceof xs)&&qe.type.kind!==\"resolvedImage\"&&vc(qe)){var Gt=new Es;try{qe=new xs(qe.type,qe.evaluate(Gt))}catch(tr){return this.error(tr.message),null}}return qe}return this.error('Unknown expression \"'+xe+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof C>\"u\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof C==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof C+\" instead.\")},ol.prototype.concat=function(C,H,ne){var xe=typeof C==\"number\"?this.path.concat(C):this.path,Re=ne?this.scope.concat(ne):this.scope;return new ol(this.registry,xe,H||null,Re,this.errors)},ol.prototype.error=function(C){for(var H=[],ne=arguments.length-1;ne-- >0;)H[ne]=arguments[ne+1];var xe=\"\"+this.key+H.map(function(Re){return\"[\"+Re+\"]\"}).join(\"\");this.errors.push(new vs(xe,C))},ol.prototype.checkSubtype=function(C,H){var ne=su(C,H);return ne&&this.error(ne),ne};function vc(k){if(k instanceof Mc)return vc(k.boundExpression);if(k instanceof to&&k.name===\"error\")return!1;if(k instanceof Vu)return!1;if(k instanceof Cu)return!1;var C=k instanceof ns||k instanceof Ul,H=!0;return k.eachChild(function(ne){C?H=H&&vc(ne):H=H&&ne instanceof xs}),H?jf(k)&&Lu(k,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function yu(k,C){for(var H=k.length-1,ne=0,xe=H,Re=0,qe,pt;ne<=xe;)if(Re=Math.floor((ne+xe)/2),qe=k[Re],pt=k[Re+1],qe<=C){if(Re===H||CC)xe=Re-1;else throw new Xs(\"Input is not a number.\");return 0}var Tu=function(C,H,ne){this.type=C,this.input=H,this.labels=[],this.outputs=[];for(var xe=0,Re=ne;xe=pt)return H.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',Gt);var Pr=H.parse(Dt,tr,Re);if(!Pr)return null;Re=Re||Pr.type,xe.push([pt,Pr])}return new Tu(Re,ne,xe)},Tu.prototype.evaluate=function(C){var H=this.labels,ne=this.outputs;if(H.length===1)return ne[0].evaluate(C);var xe=this.input.evaluate(C);if(xe<=H[0])return ne[0].evaluate(C);var Re=H.length;if(xe>=H[Re-1])return ne[Re-1].evaluate(C);var qe=yu(H,xe);return ne[qe].evaluate(C)},Tu.prototype.eachChild=function(C){C(this.input);for(var H=0,ne=this.outputs;H0&&C.push(this.labels[H]),C.push(this.outputs[H].serialize());return C};function El(k,C,H){return k*(1-H)+C*H}function qf(k,C,H){return new Fs(El(k.r,C.r,H),El(k.g,C.g,H),El(k.b,C.b,H),El(k.a,C.a,H))}function Qf(k,C,H){return k.map(function(ne,xe){return El(ne,C[xe],H)})}var Bu=Object.freeze({__proto__:null,number:El,color:qf,array:Qf}),Ec=.95047,mc=1,Lh=1.08883,sf=4/29,vf=6/29,Nu=3*vf*vf,lf=vf*vf*vf,au=Math.PI/180,Yc=180/Math.PI;function hh(k){return k>lf?Math.pow(k,1/3):k/Nu+sf}function mf(k){return k>vf?k*k*k:Nu*(k-sf)}function sl(k){return 255*(k<=.0031308?12.92*k:1.055*Math.pow(k,1/2.4)-.055)}function _u(k){return k/=255,k<=.04045?k/12.92:Math.pow((k+.055)/1.055,2.4)}function Pu(k){var C=_u(k.r),H=_u(k.g),ne=_u(k.b),xe=hh((.4124564*C+.3575761*H+.1804375*ne)/Ec),Re=hh((.2126729*C+.7151522*H+.072175*ne)/mc),qe=hh((.0193339*C+.119192*H+.9503041*ne)/Lh);return{l:116*Re-16,a:500*(xe-Re),b:200*(Re-qe),alpha:k.a}}function Cf(k){var C=(k.l+16)/116,H=isNaN(k.a)?C:C+k.a/500,ne=isNaN(k.b)?C:C-k.b/200;return C=mc*mf(C),H=Ec*mf(H),ne=Lh*mf(ne),new Fs(sl(3.2404542*H-1.5371385*C-.4985314*ne),sl(-.969266*H+1.8760108*C+.041556*ne),sl(.0556434*H-.2040259*C+1.0572252*ne),k.alpha)}function hl(k,C,H){return{l:El(k.l,C.l,H),a:El(k.a,C.a,H),b:El(k.b,C.b,H),alpha:El(k.alpha,C.alpha,H)}}function uf(k){var C=Pu(k),H=C.l,ne=C.a,xe=C.b,Re=Math.atan2(xe,ne)*Yc;return{h:Re<0?Re+360:Re,c:Math.sqrt(ne*ne+xe*xe),l:H,alpha:k.a}}function kc(k){var C=k.h*au,H=k.c,ne=k.l;return Cf({l:ne,a:Math.cos(C)*H,b:Math.sin(C)*H,alpha:k.alpha})}function Hu(k,C,H){var ne=C-k;return k+H*(ne>180||ne<-180?ne-360*Math.round(ne/360):ne)}function gf(k,C,H){return{h:Hu(k.h,C.h,H),c:El(k.c,C.c,H),l:El(k.l,C.l,H),alpha:El(k.alpha,C.alpha,H)}}var Wu={forward:Pu,reverse:Cf,interpolate:hl},Kc={forward:uf,reverse:kc,interpolate:gf},Lf=Object.freeze({__proto__:null,lab:Wu,hcl:Kc}),iu=function(C,H,ne,xe,Re){this.type=C,this.operator=H,this.interpolation=ne,this.input=xe,this.labels=[],this.outputs=[];for(var qe=0,pt=Re;qe1}))return H.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);xe={name:\"cubic-bezier\",controlPoints:Dt}}else return H.error(\"Unknown interpolation type \"+String(xe[0]),1,0);if(C.length-1<4)return H.error(\"Expected at least 4 arguments, but found only \"+(C.length-1)+\".\");if((C.length-1)%2!==0)return H.error(\"Expected an even number of arguments.\");if(Re=H.parse(Re,2,xn),!Re)return null;var Gt=[],tr=null;ne===\"interpolate-hcl\"||ne===\"interpolate-lab\"?tr=Is:H.expectedType&&H.expectedType.kind!==\"value\"&&(tr=H.expectedType);for(var Pr=0;Pr=Zr)return H.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',ua);var Mi=H.parse(Vr,Oa,tr);if(!Mi)return null;tr=tr||Mi.type,Gt.push([Zr,Mi])}return tr.kind!==\"number\"&&tr.kind!==\"color\"&&!(tr.kind===\"array\"&&tr.itemType.kind===\"number\"&&typeof tr.N==\"number\")?H.error(\"Type \"+As(tr)+\" is not interpolatable.\"):new iu(tr,ne,xe,Re,Gt)},iu.prototype.evaluate=function(C){var H=this.labels,ne=this.outputs;if(H.length===1)return ne[0].evaluate(C);var xe=this.input.evaluate(C);if(xe<=H[0])return ne[0].evaluate(C);var Re=H.length;if(xe>=H[Re-1])return ne[Re-1].evaluate(C);var qe=yu(H,xe),pt=H[qe],Dt=H[qe+1],Gt=iu.interpolationFactor(this.interpolation,xe,pt,Dt),tr=ne[qe].evaluate(C),Pr=ne[qe+1].evaluate(C);return this.operator===\"interpolate\"?Bu[this.type.kind.toLowerCase()](tr,Pr,Gt):this.operator===\"interpolate-hcl\"?Kc.reverse(Kc.interpolate(Kc.forward(tr),Kc.forward(Pr),Gt)):Wu.reverse(Wu.interpolate(Wu.forward(tr),Wu.forward(Pr),Gt))},iu.prototype.eachChild=function(C){C(this.input);for(var H=0,ne=this.outputs;H=ne.length)throw new Xs(\"Array index out of bounds: \"+H+\" > \"+(ne.length-1)+\".\");if(H!==Math.floor(H))throw new Xs(\"Array index must be an integer, but found \"+H+\" instead.\");return ne[H]},gc.prototype.eachChild=function(C){C(this.index),C(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var ql=function(C,H){this.type=bo,this.needle=C,this.haystack=H};ql.parse=function(C,H){if(C.length!==3)return H.error(\"Expected 2 arguments, but found \"+(C.length-1)+\" instead.\");var ne=H.parse(C[1],1,co),xe=H.parse(C[2],2,co);return!ne||!xe?null:Tc(ne.type,[bo,ko,xn,il,co])?new ql(ne,xe):H.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+As(ne.type)+\" instead\")},ql.prototype.evaluate=function(C){var H=this.needle.evaluate(C),ne=this.haystack.evaluate(C);if(!ne)return!1;if(!du(H,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Xs(\"Expected first argument to be of type boolean, string, number or null, but found \"+As(nl(H))+\" instead.\");if(!du(ne,[\"string\",\"array\"]))throw new Xs(\"Expected second argument to be of type array or string, but found \"+As(nl(ne))+\" instead.\");return ne.indexOf(H)>=0},ql.prototype.eachChild=function(C){C(this.needle),C(this.haystack)},ql.prototype.outputDefined=function(){return!0},ql.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var xu=function(C,H,ne){this.type=xn,this.needle=C,this.haystack=H,this.fromIndex=ne};xu.parse=function(C,H){if(C.length<=2||C.length>=5)return H.error(\"Expected 3 or 4 arguments, but found \"+(C.length-1)+\" instead.\");var ne=H.parse(C[1],1,co),xe=H.parse(C[2],2,co);if(!ne||!xe)return null;if(!Tc(ne.type,[bo,ko,xn,il,co]))return H.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+As(ne.type)+\" instead\");if(C.length===4){var Re=H.parse(C[3],3,xn);return Re?new xu(ne,xe,Re):null}else return new xu(ne,xe)},xu.prototype.evaluate=function(C){var H=this.needle.evaluate(C),ne=this.haystack.evaluate(C);if(!du(H,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Xs(\"Expected first argument to be of type boolean, string, number or null, but found \"+As(nl(H))+\" instead.\");if(!du(ne,[\"string\",\"array\"]))throw new Xs(\"Expected second argument to be of type array or string, but found \"+As(nl(ne))+\" instead.\");if(this.fromIndex){var xe=this.fromIndex.evaluate(C);return ne.indexOf(H,xe)}return ne.indexOf(H)},xu.prototype.eachChild=function(C){C(this.needle),C(this.haystack),this.fromIndex&&C(this.fromIndex)},xu.prototype.outputDefined=function(){return!1},xu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var C=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),C]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var Lc=function(C,H,ne,xe,Re,qe){this.inputType=C,this.type=H,this.input=ne,this.cases=xe,this.outputs=Re,this.otherwise=qe};Lc.parse=function(C,H){if(C.length<5)return H.error(\"Expected at least 4 arguments, but found only \"+(C.length-1)+\".\");if(C.length%2!==1)return H.error(\"Expected an even number of arguments.\");var ne,xe;H.expectedType&&H.expectedType.kind!==\"value\"&&(xe=H.expectedType);for(var Re={},qe=[],pt=2;ptNumber.MAX_SAFE_INTEGER)return tr.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof Vr==\"number\"&&Math.floor(Vr)!==Vr)return tr.error(\"Numeric branch labels must be integer values.\");if(!ne)ne=nl(Vr);else if(tr.checkSubtype(ne,nl(Vr)))return null;if(typeof Re[String(Vr)]<\"u\")return tr.error(\"Branch labels must be unique.\");Re[String(Vr)]=qe.length}var ua=H.parse(Gt,pt,xe);if(!ua)return null;xe=xe||ua.type,qe.push(ua)}var Oa=H.parse(C[1],1,co);if(!Oa)return null;var Mi=H.parse(C[C.length-1],C.length-1,xe);return!Mi||Oa.type.kind!==\"value\"&&H.concat(1).checkSubtype(ne,Oa.type)?null:new Lc(ne,xe,Oa,Re,qe,Mi)},Lc.prototype.evaluate=function(C){var H=this.input.evaluate(C),ne=nl(H)===this.inputType&&this.outputs[this.cases[H]]||this.otherwise;return ne.evaluate(C)},Lc.prototype.eachChild=function(C){C(this.input),this.outputs.forEach(C),C(this.otherwise)},Lc.prototype.outputDefined=function(){return this.outputs.every(function(C){return C.outputDefined()})&&this.otherwise.outputDefined()},Lc.prototype.serialize=function(){for(var C=this,H=[\"match\",this.input.serialize()],ne=Object.keys(this.cases).sort(),xe=[],Re={},qe=0,pt=ne;qe=5)return H.error(\"Expected 3 or 4 arguments, but found \"+(C.length-1)+\" instead.\");var ne=H.parse(C[1],1,co),xe=H.parse(C[2],2,xn);if(!ne||!xe)return null;if(!Tc(ne.type,[us(co),ko,co]))return H.error(\"Expected first argument to be of type array or string, but found \"+As(ne.type)+\" instead\");if(C.length===4){var Re=H.parse(C[3],3,xn);return Re?new sc(ne.type,ne,xe,Re):null}else return new sc(ne.type,ne,xe)},sc.prototype.evaluate=function(C){var H=this.input.evaluate(C),ne=this.beginIndex.evaluate(C);if(!du(H,[\"string\",\"array\"]))throw new Xs(\"Expected first argument to be of type array or string, but found \"+As(nl(H))+\" instead.\");if(this.endIndex){var xe=this.endIndex.evaluate(C);return H.slice(ne,xe)}return H.slice(ne)},sc.prototype.eachChild=function(C){C(this.input),C(this.beginIndex),this.endIndex&&C(this.endIndex)},sc.prototype.outputDefined=function(){return!1},sc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var C=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),C]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function Pc(k,C){return k===\"==\"||k===\"!=\"?C.kind===\"boolean\"||C.kind===\"string\"||C.kind===\"number\"||C.kind===\"null\"||C.kind===\"value\":C.kind===\"string\"||C.kind===\"number\"||C.kind===\"value\"}function Qt(k,C,H){return C===H}function br(k,C,H){return C!==H}function aa(k,C,H){return CH}function ka(k,C,H){return C<=H}function li(k,C,H){return C>=H}function Ci(k,C,H,ne){return ne.compare(C,H)===0}function Hi(k,C,H,ne){return!Ci(k,C,H,ne)}function Qi(k,C,H,ne){return ne.compare(C,H)<0}function dn(k,C,H,ne){return ne.compare(C,H)>0}function Pi(k,C,H,ne){return ne.compare(C,H)<=0}function Di(k,C,H,ne){return ne.compare(C,H)>=0}function Ni(k,C,H){var ne=k!==\"==\"&&k!==\"!=\";return function(){function xe(Re,qe,pt){this.type=bo,this.lhs=Re,this.rhs=qe,this.collator=pt,this.hasUntypedArgument=Re.type.kind===\"value\"||qe.type.kind===\"value\"}return xe.parse=function(qe,pt){if(qe.length!==3&&qe.length!==4)return pt.error(\"Expected two or three arguments.\");var Dt=qe[0],Gt=pt.parse(qe[1],1,co);if(!Gt)return null;if(!Pc(Dt,Gt.type))return pt.concat(1).error('\"'+Dt+`\" comparisons are not supported for type '`+As(Gt.type)+\"'.\");var tr=pt.parse(qe[2],2,co);if(!tr)return null;if(!Pc(Dt,tr.type))return pt.concat(2).error('\"'+Dt+`\" comparisons are not supported for type '`+As(tr.type)+\"'.\");if(Gt.type.kind!==tr.type.kind&&Gt.type.kind!==\"value\"&&tr.type.kind!==\"value\")return pt.error(\"Cannot compare types '\"+As(Gt.type)+\"' and '\"+As(tr.type)+\"'.\");ne&&(Gt.type.kind===\"value\"&&tr.type.kind!==\"value\"?Gt=new Ul(tr.type,[Gt]):Gt.type.kind!==\"value\"&&tr.type.kind===\"value\"&&(tr=new Ul(Gt.type,[tr])));var Pr=null;if(qe.length===4){if(Gt.type.kind!==\"string\"&&tr.type.kind!==\"string\"&&Gt.type.kind!==\"value\"&&tr.type.kind!==\"value\")return pt.error(\"Cannot use collator to compare non-string types.\");if(Pr=pt.parse(qe[3],3,vl),!Pr)return null}return new xe(Gt,tr,Pr)},xe.prototype.evaluate=function(qe){var pt=this.lhs.evaluate(qe),Dt=this.rhs.evaluate(qe);if(ne&&this.hasUntypedArgument){var Gt=nl(pt),tr=nl(Dt);if(Gt.kind!==tr.kind||!(Gt.kind===\"string\"||Gt.kind===\"number\"))throw new Xs('Expected arguments for \"'+k+'\" to be (string, string) or (number, number), but found ('+Gt.kind+\", \"+tr.kind+\") instead.\")}if(this.collator&&!ne&&this.hasUntypedArgument){var Pr=nl(pt),Zr=nl(Dt);if(Pr.kind!==\"string\"||Zr.kind!==\"string\")return C(qe,pt,Dt)}return this.collator?H(qe,pt,Dt,this.collator.evaluate(qe)):C(qe,pt,Dt)},xe.prototype.eachChild=function(qe){qe(this.lhs),qe(this.rhs),this.collator&&qe(this.collator)},xe.prototype.outputDefined=function(){return!0},xe.prototype.serialize=function(){var qe=[k];return this.eachChild(function(pt){qe.push(pt.serialize())}),qe},xe}()}var mi=Ni(\"==\",Qt,Ci),Mn=Ni(\"!=\",br,Hi),Qn=Ni(\"<\",aa,Qi),ao=Ni(\">\",$r,dn),eo=Ni(\"<=\",ka,Pi),fo=Ni(\">=\",li,Di),An=function(C,H,ne,xe,Re){this.type=ko,this.number=C,this.locale=H,this.currency=ne,this.minFractionDigits=xe,this.maxFractionDigits=Re};An.parse=function(C,H){if(C.length!==3)return H.error(\"Expected two arguments.\");var ne=H.parse(C[1],1,xn);if(!ne)return null;var xe=C[2];if(typeof xe!=\"object\"||Array.isArray(xe))return H.error(\"NumberFormat options argument must be an object.\");var Re=null;if(xe.locale&&(Re=H.parse(xe.locale,1,ko),!Re))return null;var qe=null;if(xe.currency&&(qe=H.parse(xe.currency,1,ko),!qe))return null;var pt=null;if(xe[\"min-fraction-digits\"]&&(pt=H.parse(xe[\"min-fraction-digits\"],1,xn),!pt))return null;var Dt=null;return xe[\"max-fraction-digits\"]&&(Dt=H.parse(xe[\"max-fraction-digits\"],1,xn),!Dt)?null:new An(ne,Re,qe,pt,Dt)},An.prototype.evaluate=function(C){return new Intl.NumberFormat(this.locale?this.locale.evaluate(C):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(C):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(C):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(C):void 0}).format(this.number.evaluate(C))},An.prototype.eachChild=function(C){C(this.number),this.locale&&C(this.locale),this.currency&&C(this.currency),this.minFractionDigits&&C(this.minFractionDigits),this.maxFractionDigits&&C(this.maxFractionDigits)},An.prototype.outputDefined=function(){return!1},An.prototype.serialize=function(){var C={};return this.locale&&(C.locale=this.locale.serialize()),this.currency&&(C.currency=this.currency.serialize()),this.minFractionDigits&&(C[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(C[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),C]};var un=function(C){this.type=xn,this.input=C};un.parse=function(C,H){if(C.length!==2)return H.error(\"Expected 1 argument, but found \"+(C.length-1)+\" instead.\");var ne=H.parse(C[1],1);return ne?ne.type.kind!==\"array\"&&ne.type.kind!==\"string\"&&ne.type.kind!==\"value\"?H.error(\"Expected argument of type string or array, but found \"+As(ne.type)+\" instead.\"):new un(ne):null},un.prototype.evaluate=function(C){var H=this.input.evaluate(C);if(typeof H==\"string\")return H.length;if(Array.isArray(H))return H.length;throw new Xs(\"Expected value to be of type string or array, but found \"+As(nl(H))+\" instead.\")},un.prototype.eachChild=function(C){C(this.input)},un.prototype.outputDefined=function(){return!1},un.prototype.serialize=function(){var C=[\"length\"];return this.eachChild(function(H){C.push(H.serialize())}),C};var yo={\"==\":mi,\"!=\":Mn,\">\":ao,\"<\":Qn,\">=\":fo,\"<=\":eo,array:Ul,at:gc,boolean:Ul,case:Jc,coalesce:Xu,collator:Vu,format:qu,image:fl,in:ql,\"index-of\":xu,interpolate:iu,\"interpolate-hcl\":iu,\"interpolate-lab\":iu,length:un,let:Cc,literal:xs,match:Lc,number:Ul,\"number-format\":An,object:Ul,slice:sc,step:Tu,string:Ul,\"to-boolean\":ns,\"to-color\":ns,\"to-number\":ns,\"to-string\":ns,var:Mc,within:Cu};function Ko(k,C){var H=C[0],ne=C[1],xe=C[2],Re=C[3];H=H.evaluate(k),ne=ne.evaluate(k),xe=xe.evaluate(k);var qe=Re?Re.evaluate(k):1,pt=ic(H,ne,xe,qe);if(pt)throw new Xs(pt);return new Fs(H/255*qe,ne/255*qe,xe/255*qe,qe)}function Ss(k,C){return k in C}function rl(k,C){var H=C[k];return typeof H>\"u\"?null:H}function Os(k,C,H,ne){for(;H<=ne;){var xe=H+ne>>1;if(C[xe]===k)return!0;C[xe]>k?ne=xe-1:H=xe+1}return!1}function el(k){return{type:k}}to.register(yo,{error:[Vs,[ko],function(k,C){var H=C[0];throw new Xs(H.evaluate(k))}],typeof:[ko,[co],function(k,C){var H=C[0];return As(nl(H.evaluate(k)))}],\"to-rgba\":[us(xn,4),[Is],function(k,C){var H=C[0];return H.evaluate(k).toArray()}],rgb:[Is,[xn,xn,xn],Ko],rgba:[Is,[xn,xn,xn,xn],Ko],has:{type:bo,overloads:[[[ko],function(k,C){var H=C[0];return Ss(H.evaluate(k),k.properties())}],[[ko,pu],function(k,C){var H=C[0],ne=C[1];return Ss(H.evaluate(k),ne.evaluate(k))}]]},get:{type:co,overloads:[[[ko],function(k,C){var H=C[0];return rl(H.evaluate(k),k.properties())}],[[ko,pu],function(k,C){var H=C[0],ne=C[1];return rl(H.evaluate(k),ne.evaluate(k))}]]},\"feature-state\":[co,[ko],function(k,C){var H=C[0];return rl(H.evaluate(k),k.featureState||{})}],properties:[pu,[],function(k){return k.properties()}],\"geometry-type\":[ko,[],function(k){return k.geometryType()}],id:[co,[],function(k){return k.id()}],zoom:[xn,[],function(k){return k.globals.zoom}],\"heatmap-density\":[xn,[],function(k){return k.globals.heatmapDensity||0}],\"line-progress\":[xn,[],function(k){return k.globals.lineProgress||0}],accumulated:[co,[],function(k){return k.globals.accumulated===void 0?null:k.globals.accumulated}],\"+\":[xn,el(xn),function(k,C){for(var H=0,ne=0,xe=C;ne\":[bo,[ko,co],function(k,C){var H=C[0],ne=C[1],xe=k.properties()[H.value],Re=ne.value;return typeof xe==typeof Re&&xe>Re}],\"filter-id->\":[bo,[co],function(k,C){var H=C[0],ne=k.id(),xe=H.value;return typeof ne==typeof xe&&ne>xe}],\"filter-<=\":[bo,[ko,co],function(k,C){var H=C[0],ne=C[1],xe=k.properties()[H.value],Re=ne.value;return typeof xe==typeof Re&&xe<=Re}],\"filter-id-<=\":[bo,[co],function(k,C){var H=C[0],ne=k.id(),xe=H.value;return typeof ne==typeof xe&&ne<=xe}],\"filter->=\":[bo,[ko,co],function(k,C){var H=C[0],ne=C[1],xe=k.properties()[H.value],Re=ne.value;return typeof xe==typeof Re&&xe>=Re}],\"filter-id->=\":[bo,[co],function(k,C){var H=C[0],ne=k.id(),xe=H.value;return typeof ne==typeof xe&&ne>=xe}],\"filter-has\":[bo,[co],function(k,C){var H=C[0];return H.value in k.properties()}],\"filter-has-id\":[bo,[],function(k){return k.id()!==null&&k.id()!==void 0}],\"filter-type-in\":[bo,[us(ko)],function(k,C){var H=C[0];return H.value.indexOf(k.geometryType())>=0}],\"filter-id-in\":[bo,[us(co)],function(k,C){var H=C[0];return H.value.indexOf(k.id())>=0}],\"filter-in-small\":[bo,[ko,us(co)],function(k,C){var H=C[0],ne=C[1];return ne.value.indexOf(k.properties()[H.value])>=0}],\"filter-in-large\":[bo,[ko,us(co)],function(k,C){var H=C[0],ne=C[1];return Os(k.properties()[H.value],ne.value,0,ne.value.length-1)}],all:{type:bo,overloads:[[[bo,bo],function(k,C){var H=C[0],ne=C[1];return H.evaluate(k)&&ne.evaluate(k)}],[el(bo),function(k,C){for(var H=0,ne=C;H-1}function Un(k){return!!k.expression&&k.expression.interpolated}function Lo(k){return k instanceof Number?\"number\":k instanceof String?\"string\":k instanceof Boolean?\"boolean\":Array.isArray(k)?\"array\":k===null?\"null\":typeof k}function Js(k){return typeof k==\"object\"&&k!==null&&!Array.isArray(k)}function Rs(k){return k}function uu(k,C){var H=C.type===\"color\",ne=k.stops&&typeof k.stops[0][0]==\"object\",xe=ne||k.property!==void 0,Re=ne||!xe,qe=k.type||(Un(C)?\"exponential\":\"interval\");if(H&&(k=_s({},k),k.stops&&(k.stops=k.stops.map(function(Nn){return[Nn[0],Fs.parse(Nn[1])]})),k.default?k.default=Fs.parse(k.default):k.default=Fs.parse(C.default)),k.colorSpace&&k.colorSpace!==\"rgb\"&&!Lf[k.colorSpace])throw new Error(\"Unknown color space: \"+k.colorSpace);var pt,Dt,Gt;if(qe===\"exponential\")pt=bu;else if(qe===\"interval\")pt=Ic;else if(qe===\"categorical\"){pt=Zu,Dt=Object.create(null);for(var tr=0,Pr=k.stops;tr=k.stops[ne-1][0])return k.stops[ne-1][1];var xe=yu(k.stops.map(function(Re){return Re[0]}),H);return k.stops[xe][1]}function bu(k,C,H){var ne=k.base!==void 0?k.base:1;if(Lo(H)!==\"number\")return Iu(k.default,C.default);var xe=k.stops.length;if(xe===1||H<=k.stops[0][0])return k.stops[0][1];if(H>=k.stops[xe-1][0])return k.stops[xe-1][1];var Re=yu(k.stops.map(function(Pr){return Pr[0]}),H),qe=Au(H,ne,k.stops[Re][0],k.stops[Re+1][0]),pt=k.stops[Re][1],Dt=k.stops[Re+1][1],Gt=Bu[C.type]||Rs;if(k.colorSpace&&k.colorSpace!==\"rgb\"){var tr=Lf[k.colorSpace];Gt=function(Pr,Zr){return tr.reverse(tr.interpolate(tr.forward(Pr),tr.forward(Zr),qe))}}return typeof pt.evaluate==\"function\"?{evaluate:function(){for(var Zr=[],Vr=arguments.length;Vr--;)Zr[Vr]=arguments[Vr];var ua=pt.evaluate.apply(void 0,Zr),Oa=Dt.evaluate.apply(void 0,Zr);if(!(ua===void 0||Oa===void 0))return Gt(ua,Oa,qe)}}:Gt(pt,Dt,qe)}function Rc(k,C,H){return C.type===\"color\"?H=Fs.parse(H):C.type===\"formatted\"?H=lu.fromString(H.toString()):C.type===\"resolvedImage\"?H=Pl.fromString(H.toString()):Lo(H)!==C.type&&(C.type!==\"enum\"||!C.values[H])&&(H=void 0),Iu(H,k.default,C.default)}function Au(k,C,H,ne){var xe=ne-H,Re=k-H;return xe===0?0:C===1?Re/xe:(Math.pow(C,Re)-1)/(Math.pow(C,xe)-1)}var yc=function(C,H){this.expression=C,this._warningHistory={},this._evaluator=new Es,this._defaultValue=H?Se(H):null,this._enumValues=H&&H.type===\"enum\"?H.values:null};yc.prototype.evaluateWithoutErrorHandling=function(C,H,ne,xe,Re,qe){return this._evaluator.globals=C,this._evaluator.feature=H,this._evaluator.featureState=ne,this._evaluator.canonical=xe,this._evaluator.availableImages=Re||null,this._evaluator.formattedSection=qe,this.expression.evaluate(this._evaluator)},yc.prototype.evaluate=function(C,H,ne,xe,Re,qe){this._evaluator.globals=C,this._evaluator.feature=H||null,this._evaluator.featureState=ne||null,this._evaluator.canonical=xe,this._evaluator.availableImages=Re||null,this._evaluator.formattedSection=qe||null;try{var pt=this.expression.evaluate(this._evaluator);if(pt==null||typeof pt==\"number\"&&pt!==pt)return this._defaultValue;if(this._enumValues&&!(pt in this._enumValues))throw new Xs(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(Dt){return JSON.stringify(Dt)}).join(\", \")+\", but found \"+JSON.stringify(pt)+\" instead.\");return pt}catch(Dt){return this._warningHistory[Dt.message]||(this._warningHistory[Dt.message]=!0,typeof console<\"u\"&&console.warn(Dt.message)),this._defaultValue}};function ho(k){return Array.isArray(k)&&k.length>0&&typeof k[0]==\"string\"&&k[0]in yo}function Ro(k,C){var H=new ol(yo,[],C?we(C):void 0),ne=H.parse(k,void 0,void 0,void 0,C&&C.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return ne?bs(new yc(ne,C)):Fl(H.errors)}var Dc=function(C,H){this.kind=C,this._styleExpression=H,this.isStateDependent=C!==\"constant\"&&!yl(H.expression)};Dc.prototype.evaluateWithoutErrorHandling=function(C,H,ne,xe,Re,qe){return this._styleExpression.evaluateWithoutErrorHandling(C,H,ne,xe,Re,qe)},Dc.prototype.evaluate=function(C,H,ne,xe,Re,qe){return this._styleExpression.evaluate(C,H,ne,xe,Re,qe)};var lc=function(C,H,ne,xe){this.kind=C,this.zoomStops=ne,this._styleExpression=H,this.isStateDependent=C!==\"camera\"&&!yl(H.expression),this.interpolationType=xe};lc.prototype.evaluateWithoutErrorHandling=function(C,H,ne,xe,Re,qe){return this._styleExpression.evaluateWithoutErrorHandling(C,H,ne,xe,Re,qe)},lc.prototype.evaluate=function(C,H,ne,xe,Re,qe){return this._styleExpression.evaluate(C,H,ne,xe,Re,qe)},lc.prototype.interpolationFactor=function(C,H,ne){return this.interpolationType?iu.interpolationFactor(this.interpolationType,C,H,ne):0};function Yu(k,C){if(k=Ro(k,C),k.result===\"error\")return k;var H=k.value.expression,ne=jf(H);if(!ne&&!_l(C))return Fl([new vs(\"\",\"data expressions not supported\")]);var xe=Lu(H,[\"zoom\"]);if(!xe&&!ll(C))return Fl([new vs(\"\",\"zoom expressions not supported\")]);var Re=ie(H);if(!Re&&!xe)return Fl([new vs(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(Re instanceof vs)return Fl([Re]);if(Re instanceof iu&&!Un(C))return Fl([new vs(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!Re)return bs(ne?new Dc(\"constant\",k.value):new Dc(\"source\",k.value));var qe=Re instanceof iu?Re.interpolation:void 0;return bs(ne?new lc(\"camera\",k.value,Re.labels,qe):new lc(\"composite\",k.value,Re.labels,qe))}var Ue=function(C,H){this._parameters=C,this._specification=H,_s(this,uu(this._parameters,this._specification))};Ue.deserialize=function(C){return new Ue(C._parameters,C._specification)},Ue.serialize=function(C){return{_parameters:C._parameters,_specification:C._specification}};function I(k,C){if(Js(k))return new Ue(k,C);if(ho(k)){var H=Yu(k,C);if(H.result===\"error\")throw new Error(H.value.map(function(xe){return xe.key+\": \"+xe.message}).join(\", \"));return H.value}else{var ne=k;return typeof k==\"string\"&&C.type===\"color\"&&(ne=Fs.parse(k)),{kind:\"constant\",evaluate:function(){return ne}}}}function ie(k){var C=null;if(k instanceof Cc)C=ie(k.result);else if(k instanceof Xu)for(var H=0,ne=k.args;Hne.maximum?[new Ln(C,H,H+\" is greater than the maximum value \"+ne.maximum)]:[]}function Nt(k){var C=k.valueSpec,H=Gn(k.value.type),ne,xe={},Re,qe,pt=H!==\"categorical\"&&k.value.property===void 0,Dt=!pt,Gt=Lo(k.value.stops)===\"array\"&&Lo(k.value.stops[0])===\"array\"&&Lo(k.value.stops[0][0])===\"object\",tr=Be({key:k.key,value:k.value,valueSpec:k.styleSpec.function,style:k.style,styleSpec:k.styleSpec,objectElementValidators:{stops:Pr,default:ua}});return H===\"identity\"&&pt&&tr.push(new Ln(k.key,k.value,'missing required property \"property\"')),H!==\"identity\"&&!k.value.stops&&tr.push(new Ln(k.key,k.value,'missing required property \"stops\"')),H===\"exponential\"&&k.valueSpec.expression&&!Un(k.valueSpec)&&tr.push(new Ln(k.key,k.value,\"exponential functions not supported\")),k.styleSpec.$version>=8&&(Dt&&!_l(k.valueSpec)?tr.push(new Ln(k.key,k.value,\"property functions not supported\")):pt&&!ll(k.valueSpec)&&tr.push(new Ln(k.key,k.value,\"zoom functions not supported\"))),(H===\"categorical\"||Gt)&&k.value.property===void 0&&tr.push(new Ln(k.key,k.value,'\"property\" property is required')),tr;function Pr(Oa){if(H===\"identity\")return[new Ln(Oa.key,Oa.value,'identity function may not have a \"stops\" property')];var Mi=[],ii=Oa.value;return Mi=Mi.concat(dt({key:Oa.key,value:ii,valueSpec:Oa.valueSpec,style:Oa.style,styleSpec:Oa.styleSpec,arrayElementValidator:Zr})),Lo(ii)===\"array\"&&ii.length===0&&Mi.push(new Ln(Oa.key,ii,\"array must have at least one stop\")),Mi}function Zr(Oa){var Mi=[],ii=Oa.value,$i=Oa.key;if(Lo(ii)!==\"array\")return[new Ln($i,ii,\"array expected, \"+Lo(ii)+\" found\")];if(ii.length!==2)return[new Ln($i,ii,\"array length 2 expected, length \"+ii.length+\" found\")];if(Gt){if(Lo(ii[0])!==\"object\")return[new Ln($i,ii,\"object expected, \"+Lo(ii[0])+\" found\")];if(ii[0].zoom===void 0)return[new Ln($i,ii,\"object stop key must have zoom\")];if(ii[0].value===void 0)return[new Ln($i,ii,\"object stop key must have value\")];if(qe&&qe>Gn(ii[0].zoom))return[new Ln($i,ii[0].zoom,\"stop zoom values must appear in ascending order\")];Gn(ii[0].zoom)!==qe&&(qe=Gn(ii[0].zoom),Re=void 0,xe={}),Mi=Mi.concat(Be({key:$i+\"[0]\",value:ii[0],valueSpec:{zoom:{}},style:Oa.style,styleSpec:Oa.styleSpec,objectElementValidators:{zoom:St,value:Vr}}))}else Mi=Mi.concat(Vr({key:$i+\"[0]\",value:ii[0],valueSpec:{},style:Oa.style,styleSpec:Oa.styleSpec},ii));return ho(zs(ii[1]))?Mi.concat([new Ln($i+\"[1]\",ii[1],\"expressions are not allowed in function stops.\")]):Mi.concat(Ao({key:$i+\"[1]\",value:ii[1],valueSpec:C,style:Oa.style,styleSpec:Oa.styleSpec}))}function Vr(Oa,Mi){var ii=Lo(Oa.value),$i=Gn(Oa.value),Oi=Oa.value!==null?Oa.value:Mi;if(!ne)ne=ii;else if(ii!==ne)return[new Ln(Oa.key,Oi,ii+\" stop domain type must match previous stop domain type \"+ne)];if(ii!==\"number\"&&ii!==\"string\"&&ii!==\"boolean\")return[new Ln(Oa.key,Oi,\"stop domain value must be a number, string, or boolean\")];if(ii!==\"number\"&&H!==\"categorical\"){var Ji=\"number expected, \"+ii+\" found\";return _l(C)&&H===void 0&&(Ji+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Ln(Oa.key,Oi,Ji)]}return H===\"categorical\"&&ii===\"number\"&&(!isFinite($i)||Math.floor($i)!==$i)?[new Ln(Oa.key,Oi,\"integer expected, found \"+$i)]:H!==\"categorical\"&&ii===\"number\"&&Re!==void 0&&$i=2&&k[1]!==\"$id\"&&k[1]!==\"$type\";case\"in\":return k.length>=3&&(typeof k[1]!=\"string\"||Array.isArray(k[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return k.length!==3||Array.isArray(k[1])||Array.isArray(k[2]);case\"any\":case\"all\":for(var C=0,H=k.slice(1);CC?1:0}function vt(k){if(!Array.isArray(k))return!1;if(k[0]===\"within\")return!0;for(var C=1;C\"||C===\"<=\"||C===\">=\"?At(k[1],k[2],C):C===\"any\"?zt(k.slice(1)):C===\"all\"?[\"all\"].concat(k.slice(1).map(Lt)):C===\"none\"?[\"all\"].concat(k.slice(1).map(Lt).map(Er)):C===\"in\"?cr(k[1],k.slice(2)):C===\"!in\"?Er(cr(k[1],k.slice(2))):C===\"has\"?yr(k[1]):C===\"!has\"?Er(yr(k[1])):C===\"within\"?k:!0;return H}function At(k,C,H){switch(k){case\"$type\":return[\"filter-type-\"+H,C];case\"$id\":return[\"filter-id-\"+H,C];default:return[\"filter-\"+H,k,C]}}function zt(k){return[\"any\"].concat(k.map(Lt))}function cr(k,C){if(C.length===0)return!1;switch(k){case\"$type\":return[\"filter-type-in\",[\"literal\",C]];case\"$id\":return[\"filter-id-in\",[\"literal\",C]];default:return C.length>200&&!C.some(function(H){return typeof H!=typeof C[0]})?[\"filter-in-large\",k,[\"literal\",C.sort(lt)]]:[\"filter-in-small\",k,[\"literal\",C]]}}function yr(k){switch(k){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",k]}}function Er(k){return[\"!\",k]}function jr(k){return na(zs(k.value))?$t(_s({},k,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Qr(k)}function Qr(k){var C=k.value,H=k.key;if(Lo(C)!==\"array\")return[new Ln(H,C,\"array expected, \"+Lo(C)+\" found\")];var ne=k.styleSpec,xe,Re=[];if(C.length<1)return[new Ln(H,C,\"filter array must have at least 1 element\")];switch(Re=Re.concat(Kr({key:H+\"[0]\",value:C[0],valueSpec:ne.filter_operator,style:k.style,styleSpec:k.styleSpec})),Gn(C[0])){case\"<\":case\"<=\":case\">\":case\">=\":C.length>=2&&Gn(C[1])===\"$type\"&&Re.push(new Ln(H,C,'\"$type\" cannot be use with operator \"'+C[0]+'\"'));case\"==\":case\"!=\":C.length!==3&&Re.push(new Ln(H,C,'filter array for operator \"'+C[0]+'\" must have 3 elements'));case\"in\":case\"!in\":C.length>=2&&(xe=Lo(C[1]),xe!==\"string\"&&Re.push(new Ln(H+\"[1]\",C[1],\"string expected, \"+xe+\" found\")));for(var qe=2;qe=tr[Vr+0]&&ne>=tr[Vr+1])?(qe[Zr]=!0,Re.push(Gt[Zr])):qe[Zr]=!1}}},cu.prototype._forEachCell=function(k,C,H,ne,xe,Re,qe,pt){for(var Dt=this._convertToCellCoord(k),Gt=this._convertToCellCoord(C),tr=this._convertToCellCoord(H),Pr=this._convertToCellCoord(ne),Zr=Dt;Zr<=tr;Zr++)for(var Vr=Gt;Vr<=Pr;Vr++){var ua=this.d*Vr+Zr;if(!(pt&&!pt(this._convertFromCellCoord(Zr),this._convertFromCellCoord(Vr),this._convertFromCellCoord(Zr+1),this._convertFromCellCoord(Vr+1)))&&xe.call(this,k,C,H,ne,ua,Re,qe,pt))return}},cu.prototype._convertFromCellCoord=function(k){return(k-this.padding)/this.scale},cu.prototype._convertToCellCoord=function(k){return Math.max(0,Math.min(this.d-1,Math.floor(k*this.scale)+this.padding))},cu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var k=this.cells,C=Tl+this.cells.length+1+1,H=0,ne=0;ne=0)){var Pr=k[tr];Gt[tr]=Gl[Dt].shallow.indexOf(tr)>=0?Pr:bt(Pr,C)}k instanceof Error&&(Gt.message=k.message)}if(Gt.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return Dt!==\"Object\"&&(Gt.$name=Dt),Gt}throw new Error(\"can't serialize object of type \"+typeof k)}function Mt(k){if(k==null||typeof k==\"boolean\"||typeof k==\"number\"||typeof k==\"string\"||k instanceof Boolean||k instanceof Number||k instanceof String||k instanceof Date||k instanceof RegExp||et(k)||mt(k)||ArrayBuffer.isView(k)||k instanceof uc)return k;if(Array.isArray(k))return k.map(Mt);if(typeof k==\"object\"){var C=k.$name||\"Object\",H=Gl[C],ne=H.klass;if(!ne)throw new Error(\"can't deserialize unregistered class \"+C);if(ne.deserialize)return ne.deserialize(k);for(var xe=Object.create(ne.prototype),Re=0,qe=Object.keys(k);Re=0?Dt:Mt(Dt)}}return xe}throw new Error(\"can't deserialize object of type \"+typeof k)}var ar=function(){this.first=!0};ar.prototype.update=function(C,H){var ne=Math.floor(C);return this.first?(this.first=!1,this.lastIntegerZoom=ne,this.lastIntegerZoomTime=0,this.lastZoom=C,this.lastFloorZoom=ne,!0):(this.lastFloorZoom>ne?(this.lastIntegerZoom=ne+1,this.lastIntegerZoomTime=H):this.lastFloorZoom=128&&k<=255},Arabic:function(k){return k>=1536&&k<=1791},\"Arabic Supplement\":function(k){return k>=1872&&k<=1919},\"Arabic Extended-A\":function(k){return k>=2208&&k<=2303},\"Hangul Jamo\":function(k){return k>=4352&&k<=4607},\"Unified Canadian Aboriginal Syllabics\":function(k){return k>=5120&&k<=5759},Khmer:function(k){return k>=6016&&k<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(k){return k>=6320&&k<=6399},\"General Punctuation\":function(k){return k>=8192&&k<=8303},\"Letterlike Symbols\":function(k){return k>=8448&&k<=8527},\"Number Forms\":function(k){return k>=8528&&k<=8591},\"Miscellaneous Technical\":function(k){return k>=8960&&k<=9215},\"Control Pictures\":function(k){return k>=9216&&k<=9279},\"Optical Character Recognition\":function(k){return k>=9280&&k<=9311},\"Enclosed Alphanumerics\":function(k){return k>=9312&&k<=9471},\"Geometric Shapes\":function(k){return k>=9632&&k<=9727},\"Miscellaneous Symbols\":function(k){return k>=9728&&k<=9983},\"Miscellaneous Symbols and Arrows\":function(k){return k>=11008&&k<=11263},\"CJK Radicals Supplement\":function(k){return k>=11904&&k<=12031},\"Kangxi Radicals\":function(k){return k>=12032&&k<=12255},\"Ideographic Description Characters\":function(k){return k>=12272&&k<=12287},\"CJK Symbols and Punctuation\":function(k){return k>=12288&&k<=12351},Hiragana:function(k){return k>=12352&&k<=12447},Katakana:function(k){return k>=12448&&k<=12543},Bopomofo:function(k){return k>=12544&&k<=12591},\"Hangul Compatibility Jamo\":function(k){return k>=12592&&k<=12687},Kanbun:function(k){return k>=12688&&k<=12703},\"Bopomofo Extended\":function(k){return k>=12704&&k<=12735},\"CJK Strokes\":function(k){return k>=12736&&k<=12783},\"Katakana Phonetic Extensions\":function(k){return k>=12784&&k<=12799},\"Enclosed CJK Letters and Months\":function(k){return k>=12800&&k<=13055},\"CJK Compatibility\":function(k){return k>=13056&&k<=13311},\"CJK Unified Ideographs Extension A\":function(k){return k>=13312&&k<=19903},\"Yijing Hexagram Symbols\":function(k){return k>=19904&&k<=19967},\"CJK Unified Ideographs\":function(k){return k>=19968&&k<=40959},\"Yi Syllables\":function(k){return k>=40960&&k<=42127},\"Yi Radicals\":function(k){return k>=42128&&k<=42191},\"Hangul Jamo Extended-A\":function(k){return k>=43360&&k<=43391},\"Hangul Syllables\":function(k){return k>=44032&&k<=55215},\"Hangul Jamo Extended-B\":function(k){return k>=55216&&k<=55295},\"Private Use Area\":function(k){return k>=57344&&k<=63743},\"CJK Compatibility Ideographs\":function(k){return k>=63744&&k<=64255},\"Arabic Presentation Forms-A\":function(k){return k>=64336&&k<=65023},\"Vertical Forms\":function(k){return k>=65040&&k<=65055},\"CJK Compatibility Forms\":function(k){return k>=65072&&k<=65103},\"Small Form Variants\":function(k){return k>=65104&&k<=65135},\"Arabic Presentation Forms-B\":function(k){return k>=65136&&k<=65279},\"Halfwidth and Fullwidth Forms\":function(k){return k>=65280&&k<=65519}};function _r(k){for(var C=0,H=k;C=65097&&k<=65103)||Ot[\"CJK Compatibility Ideographs\"](k)||Ot[\"CJK Compatibility\"](k)||Ot[\"CJK Radicals Supplement\"](k)||Ot[\"CJK Strokes\"](k)||Ot[\"CJK Symbols and Punctuation\"](k)&&!(k>=12296&&k<=12305)&&!(k>=12308&&k<=12319)&&k!==12336||Ot[\"CJK Unified Ideographs Extension A\"](k)||Ot[\"CJK Unified Ideographs\"](k)||Ot[\"Enclosed CJK Letters and Months\"](k)||Ot[\"Hangul Compatibility Jamo\"](k)||Ot[\"Hangul Jamo Extended-A\"](k)||Ot[\"Hangul Jamo Extended-B\"](k)||Ot[\"Hangul Jamo\"](k)||Ot[\"Hangul Syllables\"](k)||Ot.Hiragana(k)||Ot[\"Ideographic Description Characters\"](k)||Ot.Kanbun(k)||Ot[\"Kangxi Radicals\"](k)||Ot[\"Katakana Phonetic Extensions\"](k)||Ot.Katakana(k)&&k!==12540||Ot[\"Halfwidth and Fullwidth Forms\"](k)&&k!==65288&&k!==65289&&k!==65293&&!(k>=65306&&k<=65310)&&k!==65339&&k!==65341&&k!==65343&&!(k>=65371&&k<=65503)&&k!==65507&&!(k>=65512&&k<=65519)||Ot[\"Small Form Variants\"](k)&&!(k>=65112&&k<=65118)&&!(k>=65123&&k<=65126)||Ot[\"Unified Canadian Aboriginal Syllabics\"](k)||Ot[\"Unified Canadian Aboriginal Syllabics Extended\"](k)||Ot[\"Vertical Forms\"](k)||Ot[\"Yijing Hexagram Symbols\"](k)||Ot[\"Yi Syllables\"](k)||Ot[\"Yi Radicals\"](k))}function Ja(k){return!!(Ot[\"Latin-1 Supplement\"](k)&&(k===167||k===169||k===174||k===177||k===188||k===189||k===190||k===215||k===247)||Ot[\"General Punctuation\"](k)&&(k===8214||k===8224||k===8225||k===8240||k===8241||k===8251||k===8252||k===8258||k===8263||k===8264||k===8265||k===8273)||Ot[\"Letterlike Symbols\"](k)||Ot[\"Number Forms\"](k)||Ot[\"Miscellaneous Technical\"](k)&&(k>=8960&&k<=8967||k>=8972&&k<=8991||k>=8996&&k<=9e3||k===9003||k>=9085&&k<=9114||k>=9150&&k<=9165||k===9167||k>=9169&&k<=9179||k>=9186&&k<=9215)||Ot[\"Control Pictures\"](k)&&k!==9251||Ot[\"Optical Character Recognition\"](k)||Ot[\"Enclosed Alphanumerics\"](k)||Ot[\"Geometric Shapes\"](k)||Ot[\"Miscellaneous Symbols\"](k)&&!(k>=9754&&k<=9759)||Ot[\"Miscellaneous Symbols and Arrows\"](k)&&(k>=11026&&k<=11055||k>=11088&&k<=11097||k>=11192&&k<=11243)||Ot[\"CJK Symbols and Punctuation\"](k)||Ot.Katakana(k)||Ot[\"Private Use Area\"](k)||Ot[\"CJK Compatibility Forms\"](k)||Ot[\"Small Form Variants\"](k)||Ot[\"Halfwidth and Fullwidth Forms\"](k)||k===8734||k===8756||k===8757||k>=9984&&k<=10087||k>=10102&&k<=10131||k===65532||k===65533)}function ti(k){return!(da(k)||Ja(k))}function Sa(k){return Ot.Arabic(k)||Ot[\"Arabic Supplement\"](k)||Ot[\"Arabic Extended-A\"](k)||Ot[\"Arabic Presentation Forms-A\"](k)||Ot[\"Arabic Presentation Forms-B\"](k)}function Fa(k){return k>=1424&&k<=2303||Ot[\"Arabic Presentation Forms-A\"](k)||Ot[\"Arabic Presentation Forms-B\"](k)}function Xa(k,C){return!(!C&&Fa(k)||k>=2304&&k<=3583||k>=3840&&k<=4255||Ot.Khmer(k))}function fi(k){for(var C=0,H=k;C-1&&(rn=La.error),sn&&sn(k)};function Jn(){ro.fire(new Br(\"pluginStateChange\",{pluginStatus:rn,pluginURL:vn}))}var ro=new xr,Yo=function(){return rn},io=function(k){return k({pluginStatus:rn,pluginURL:vn}),ro.on(\"pluginStateChange\",k),k},Ho=function(k,C,H){if(H===void 0&&(H=!1),rn===La.deferred||rn===La.loading||rn===La.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");vn=be.resolveURL(k),rn=La.deferred,sn=C,Jn(),H||cl()},cl=function(){if(rn!==La.deferred||!vn)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");rn=La.loading,Jn(),vn&&ra({url:vn},function(k){k?Pn(k):(rn=La.loaded,Jn())})},al={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return rn===La.loaded||al.applyArabicShaping!=null},isLoading:function(){return rn===La.loading},setState:function(C){rn=C.pluginStatus,vn=C.pluginURL},isParsed:function(){return al.applyArabicShaping!=null&&al.processBidirectionalText!=null&&al.processStyledBidirectionalText!=null},getPluginURL:function(){return vn}},xl=function(){!al.isLoading()&&!al.isLoaded()&&Yo()===\"deferred\"&&cl()},gn=function(C,H){this.zoom=C,H?(this.now=H.now,this.fadeDuration=H.fadeDuration,this.zoomHistory=H.zoomHistory,this.transition=H.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ar,this.transition={})};gn.prototype.isSupportedScript=function(C){return ni(C,al.isLoaded())},gn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},gn.prototype.getCrossfadeParameters=function(){var C=this.zoom,H=C-Math.floor(C),ne=this.crossFadingFactor();return C>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:H+(1-H)*ne}:{fromScale:.5,toScale:1,t:1-(1-ne)*H}};var vo=function(C,H){this.property=C,this.value=H,this.expression=I(H===void 0?C.specification.default:H,C.specification)};vo.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},vo.prototype.possiblyEvaluate=function(C,H,ne){return this.property.possiblyEvaluate(this,C,H,ne)};var cs=function(C){this.property=C,this.value=new vo(C,void 0)};cs.prototype.transitioned=function(C,H){return new Al(this.property,this.value,H,g({},C.transition,this.transition),C.now)},cs.prototype.untransitioned=function(){return new Al(this.property,this.value,null,{},0)};var ms=function(C){this._properties=C,this._values=Object.create(C.defaultTransitionablePropertyValues)};ms.prototype.getValue=function(C){return O(this._values[C].value.value)},ms.prototype.setValue=function(C,H){this._values.hasOwnProperty(C)||(this._values[C]=new cs(this._values[C].property)),this._values[C].value=new vo(this._values[C].property,H===null?void 0:O(H))},ms.prototype.getTransition=function(C){return O(this._values[C].transition)},ms.prototype.setTransition=function(C,H){this._values.hasOwnProperty(C)||(this._values[C]=new cs(this._values[C].property)),this._values[C].transition=O(H)||void 0},ms.prototype.serialize=function(){for(var C={},H=0,ne=Object.keys(this._values);Hthis.end)return this.prior=null,Re;if(this.value.isDataDriven())return this.prior=null,Re;if(xeqe.zoomHistory.lastIntegerZoom?{from:ne,to:xe}:{from:Re,to:xe}},C.prototype.interpolate=function(ne){return ne},C}(Zt),oa=function(C){this.specification=C};oa.prototype.possiblyEvaluate=function(C,H,ne,xe){if(C.value!==void 0)if(C.expression.kind===\"constant\"){var Re=C.expression.evaluate(H,null,{},ne,xe);return this._calculate(Re,Re,Re,H)}else return this._calculate(C.expression.evaluate(new gn(Math.floor(H.zoom-1),H)),C.expression.evaluate(new gn(Math.floor(H.zoom),H)),C.expression.evaluate(new gn(Math.floor(H.zoom+1),H)),H)},oa.prototype._calculate=function(C,H,ne,xe){var Re=xe.zoom;return Re>xe.zoomHistory.lastIntegerZoom?{from:C,to:H}:{from:ne,to:H}},oa.prototype.interpolate=function(C){return C};var wa=function(C){this.specification=C};wa.prototype.possiblyEvaluate=function(C,H,ne,xe){return!!C.expression.evaluate(H,null,{},ne,xe)},wa.prototype.interpolate=function(){return!1};var ma=function(C){this.properties=C,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var H in C){var ne=C[H];ne.specification.overridable&&this.overridableProperties.push(H);var xe=this.defaultPropertyValues[H]=new vo(ne,void 0),Re=this.defaultTransitionablePropertyValues[H]=new cs(ne);this.defaultTransitioningPropertyValues[H]=Re.untransitioned(),this.defaultPossiblyEvaluatedValues[H]=xe.possiblyEvaluate({})}};de(\"DataDrivenProperty\",Zt),de(\"DataConstantProperty\",it),de(\"CrossFadedDataDrivenProperty\",fr),de(\"CrossFadedProperty\",oa),de(\"ColorRampProperty\",wa);var _a=\"-transition\",Ya=function(k){function C(H,ne){if(k.call(this),this.id=H.id,this.type=H.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},H.type!==\"custom\"&&(H=H,this.metadata=H.metadata,this.minzoom=H.minzoom,this.maxzoom=H.maxzoom,H.type!==\"background\"&&(this.source=H.source,this.sourceLayer=H[\"source-layer\"],this.filter=H.filter),ne.layout&&(this._unevaluatedLayout=new Su(ne.layout)),ne.paint)){this._transitionablePaint=new ms(ne.paint);for(var xe in H.paint)this.setPaintProperty(xe,H.paint[xe],{validate:!1});for(var Re in H.layout)this.setLayoutProperty(Re,H.layout[Re],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new _c(ne.paint)}}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},C.prototype.getLayoutProperty=function(ne){return ne===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(ne)},C.prototype.setLayoutProperty=function(ne,xe,Re){if(Re===void 0&&(Re={}),xe!=null){var qe=\"layers.\"+this.id+\".layout.\"+ne;if(this._validate(eu,qe,ne,xe,Re))return}if(ne===\"visibility\"){this.visibility=xe;return}this._unevaluatedLayout.setValue(ne,xe)},C.prototype.getPaintProperty=function(ne){return z(ne,_a)?this._transitionablePaint.getTransition(ne.slice(0,-_a.length)):this._transitionablePaint.getValue(ne)},C.prototype.setPaintProperty=function(ne,xe,Re){if(Re===void 0&&(Re={}),xe!=null){var qe=\"layers.\"+this.id+\".paint.\"+ne;if(this._validate(Il,qe,ne,xe,Re))return!1}if(z(ne,_a))return this._transitionablePaint.setTransition(ne.slice(0,-_a.length),xe||void 0),!1;var pt=this._transitionablePaint._values[ne],Dt=pt.property.specification[\"property-type\"]===\"cross-faded-data-driven\",Gt=pt.value.isDataDriven(),tr=pt.value;this._transitionablePaint.setValue(ne,xe),this._handleSpecialPaintPropertyUpdate(ne);var Pr=this._transitionablePaint._values[ne].value,Zr=Pr.isDataDriven();return Zr||Gt||Dt||this._handleOverridablePaintPropertyUpdate(ne,tr,Pr)},C.prototype._handleSpecialPaintPropertyUpdate=function(ne){},C.prototype._handleOverridablePaintPropertyUpdate=function(ne,xe,Re){return!1},C.prototype.isHidden=function(ne){return this.minzoom&&ne=this.maxzoom?!0:this.visibility===\"none\"},C.prototype.updateTransitions=function(ne){this._transitioningPaint=this._transitionablePaint.transitioned(ne,this._transitioningPaint)},C.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},C.prototype.recalculate=function(ne,xe){ne.getCrossfadeParameters&&(this._crossfadeParameters=ne.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(ne,void 0,xe)),this.paint=this._transitioningPaint.possiblyEvaluate(ne,void 0,xe)},C.prototype.serialize=function(){var ne={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&&(ne.layout=ne.layout||{},ne.layout.visibility=this.visibility),N(ne,function(xe,Re){return xe!==void 0&&!(Re===\"layout\"&&!Object.keys(xe).length)&&!(Re===\"paint\"&&!Object.keys(xe).length)})},C.prototype._validate=function(ne,xe,Re,qe,pt){return pt===void 0&&(pt={}),pt&&pt.validate===!1?!1:Ru(this,ne.call(Jo,{key:xe,layerType:this.type,objectKey:Re,value:qe,styleSpec:Gi,style:{glyphs:!0,sprite:!0}}))},C.prototype.is3D=function(){return!1},C.prototype.isTileClipped=function(){return!1},C.prototype.hasOffscreenPass=function(){return!1},C.prototype.resize=function(){},C.prototype.isStateDependent=function(){for(var ne in this.paint._values){var xe=this.paint.get(ne);if(!(!(xe instanceof Rl)||!_l(xe.property.specification))&&(xe.value.kind===\"source\"||xe.value.kind===\"composite\")&&xe.value.isStateDependent)return!0}return!1},C}(xr),bi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},yi=function(C,H){this._structArray=C,this._pos1=H*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},si=128,yn=5,zi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};zi.serialize=function(C,H){return C._trim(),H&&(C.isTransferred=!0,H.push(C.arrayBuffer)),{length:C.length,arrayBuffer:C.arrayBuffer}},zi.deserialize=function(C){var H=Object.create(this.prototype);return H.arrayBuffer=C.arrayBuffer,H.length=C.length,H.capacity=C.arrayBuffer.byteLength/H.bytesPerElement,H._refreshViews(),H},zi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},zi.prototype.clear=function(){this.length=0},zi.prototype.resize=function(C){this.reserve(C),this.length=C},zi.prototype.reserve=function(C){if(C>this.capacity){this.capacity=Math.max(C,Math.floor(this.capacity*yn),si),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var H=this.uint8;this._refreshViews(),H&&this.uint8.set(H)}},zi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Ei(k,C){C===void 0&&(C=1);var H=0,ne=0,xe=k.map(function(qe){var pt=Na(qe.type),Dt=H=ea(H,Math.max(C,pt)),Gt=qe.components||1;return ne=Math.max(ne,pt),H+=pt*Gt,{name:qe.name,type:qe.type,components:Gt,offset:Dt}}),Re=ea(H,Math.max(ne,C));return{members:xe,size:Re,alignment:C}}function Na(k){return bi[k].BYTES_PER_ELEMENT}function ea(k,C){return Math.ceil(k/C)*C}var Ma=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe){var Re=this.length;return this.resize(Re+1),this.emplace(Re,ne,xe)},C.prototype.emplace=function(ne,xe,Re){var qe=ne*2;return this.int16[qe+0]=xe,this.int16[qe+1]=Re,ne},C}(zi);Ma.prototype.bytesPerElement=4,de(\"StructArrayLayout2i4\",Ma);var Qa=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe){var pt=this.length;return this.resize(pt+1),this.emplace(pt,ne,xe,Re,qe)},C.prototype.emplace=function(ne,xe,Re,qe,pt){var Dt=ne*4;return this.int16[Dt+0]=xe,this.int16[Dt+1]=Re,this.int16[Dt+2]=qe,this.int16[Dt+3]=pt,ne},C}(zi);Qa.prototype.bytesPerElement=8,de(\"StructArrayLayout4i8\",Qa);var di=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt){var Gt=this.length;return this.resize(Gt+1),this.emplace(Gt,ne,xe,Re,qe,pt,Dt)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt){var tr=ne*6;return this.int16[tr+0]=xe,this.int16[tr+1]=Re,this.int16[tr+2]=qe,this.int16[tr+3]=pt,this.int16[tr+4]=Dt,this.int16[tr+5]=Gt,ne},C}(zi);di.prototype.bytesPerElement=12,de(\"StructArrayLayout2i4i12\",di);var Va=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt){var Gt=this.length;return this.resize(Gt+1),this.emplace(Gt,ne,xe,Re,qe,pt,Dt)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt){var tr=ne*4,Pr=ne*8;return this.int16[tr+0]=xe,this.int16[tr+1]=Re,this.uint8[Pr+4]=qe,this.uint8[Pr+5]=pt,this.uint8[Pr+6]=Dt,this.uint8[Pr+7]=Gt,ne},C}(zi);Va.prototype.bytesPerElement=8,de(\"StructArrayLayout2i4ub8\",Va);var Bi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe){var Re=this.length;return this.resize(Re+1),this.emplace(Re,ne,xe)},C.prototype.emplace=function(ne,xe,Re){var qe=ne*2;return this.float32[qe+0]=xe,this.float32[qe+1]=Re,ne},C}(zi);Bi.prototype.bytesPerElement=8,de(\"StructArrayLayout2f8\",Bi);var Li=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr){var Vr=this.length;return this.resize(Vr+1),this.emplace(Vr,ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr){var ua=ne*10;return this.uint16[ua+0]=xe,this.uint16[ua+1]=Re,this.uint16[ua+2]=qe,this.uint16[ua+3]=pt,this.uint16[ua+4]=Dt,this.uint16[ua+5]=Gt,this.uint16[ua+6]=tr,this.uint16[ua+7]=Pr,this.uint16[ua+8]=Zr,this.uint16[ua+9]=Vr,ne},C}(zi);Li.prototype.bytesPerElement=20,de(\"StructArrayLayout10ui20\",Li);var pn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua){var Oa=this.length;return this.resize(Oa+1),this.emplace(Oa,ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua,Oa){var Mi=ne*12;return this.int16[Mi+0]=xe,this.int16[Mi+1]=Re,this.int16[Mi+2]=qe,this.int16[Mi+3]=pt,this.uint16[Mi+4]=Dt,this.uint16[Mi+5]=Gt,this.uint16[Mi+6]=tr,this.uint16[Mi+7]=Pr,this.int16[Mi+8]=Zr,this.int16[Mi+9]=Vr,this.int16[Mi+10]=ua,this.int16[Mi+11]=Oa,ne},C}(zi);pn.prototype.bytesPerElement=24,de(\"StructArrayLayout4i4ui4i24\",pn);var Ha=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re){var qe=this.length;return this.resize(qe+1),this.emplace(qe,ne,xe,Re)},C.prototype.emplace=function(ne,xe,Re,qe){var pt=ne*3;return this.float32[pt+0]=xe,this.float32[pt+1]=Re,this.float32[pt+2]=qe,ne},C}(zi);Ha.prototype.bytesPerElement=12,de(\"StructArrayLayout3f12\",Ha);var Ua=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne){var xe=this.length;return this.resize(xe+1),this.emplace(xe,ne)},C.prototype.emplace=function(ne,xe){var Re=ne*1;return this.uint32[Re+0]=xe,ne},C}(zi);Ua.prototype.bytesPerElement=4,de(\"StructArrayLayout1ul4\",Ua);var Yi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.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)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr){var Zr=this.length;return this.resize(Zr+1),this.emplace(Zr,ne,xe,Re,qe,pt,Dt,Gt,tr,Pr)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr){var Vr=ne*10,ua=ne*5;return this.int16[Vr+0]=xe,this.int16[Vr+1]=Re,this.int16[Vr+2]=qe,this.int16[Vr+3]=pt,this.int16[Vr+4]=Dt,this.int16[Vr+5]=Gt,this.uint32[ua+3]=tr,this.uint16[Vr+8]=Pr,this.uint16[Vr+9]=Zr,ne},C}(zi);Yi.prototype.bytesPerElement=20,de(\"StructArrayLayout6i1ul2ui20\",Yi);var Ri=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt){var Gt=this.length;return this.resize(Gt+1),this.emplace(Gt,ne,xe,Re,qe,pt,Dt)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt){var tr=ne*6;return this.int16[tr+0]=xe,this.int16[tr+1]=Re,this.int16[tr+2]=qe,this.int16[tr+3]=pt,this.int16[tr+4]=Dt,this.int16[tr+5]=Gt,ne},C}(zi);Ri.prototype.bytesPerElement=12,de(\"StructArrayLayout2i2i2i12\",Ri);var Ti=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt){var Dt=this.length;return this.resize(Dt+1),this.emplace(Dt,ne,xe,Re,qe,pt)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt){var Gt=ne*4,tr=ne*8;return this.float32[Gt+0]=xe,this.float32[Gt+1]=Re,this.float32[Gt+2]=qe,this.int16[tr+6]=pt,this.int16[tr+7]=Dt,ne},C}(zi);Ti.prototype.bytesPerElement=16,de(\"StructArrayLayout2f1f2i16\",Ti);var xi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe){var pt=this.length;return this.resize(pt+1),this.emplace(pt,ne,xe,Re,qe)},C.prototype.emplace=function(ne,xe,Re,qe,pt){var Dt=ne*12,Gt=ne*3;return this.uint8[Dt+0]=xe,this.uint8[Dt+1]=Re,this.float32[Gt+1]=qe,this.float32[Gt+2]=pt,ne},C}(zi);xi.prototype.bytesPerElement=12,de(\"StructArrayLayout2ub2f12\",xi);var Xi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re){var qe=this.length;return this.resize(qe+1),this.emplace(qe,ne,xe,Re)},C.prototype.emplace=function(ne,xe,Re,qe){var pt=ne*3;return this.uint16[pt+0]=xe,this.uint16[pt+1]=Re,this.uint16[pt+2]=qe,ne},C}(zi);Xi.prototype.bytesPerElement=6,de(\"StructArrayLayout3ui6\",Xi);var mn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.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)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi){var Ji=this.length;return this.resize(Ji+1),this.emplace(Ji,ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji){var ln=ne*24,Tn=ne*12,Vn=ne*48;return this.int16[ln+0]=xe,this.int16[ln+1]=Re,this.uint16[ln+2]=qe,this.uint16[ln+3]=pt,this.uint32[Tn+2]=Dt,this.uint32[Tn+3]=Gt,this.uint32[Tn+4]=tr,this.uint16[ln+10]=Pr,this.uint16[ln+11]=Zr,this.uint16[ln+12]=Vr,this.float32[Tn+7]=ua,this.float32[Tn+8]=Oa,this.uint8[Vn+36]=Mi,this.uint8[Vn+37]=ii,this.uint8[Vn+38]=$i,this.uint32[Tn+10]=Oi,this.int16[ln+22]=Ji,ne},C}(zi);mn.prototype.bytesPerElement=48,de(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",mn);var In=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.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)},C.prototype.emplaceBack=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji,ln,Tn,Vn,Nn,So,oo,go,ks,Mo,Po){var $s=this.length;return this.resize($s+1),this.emplace($s,ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji,ln,Tn,Vn,Nn,So,oo,go,ks,Mo,Po)},C.prototype.emplace=function(ne,xe,Re,qe,pt,Dt,Gt,tr,Pr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji,ln,Tn,Vn,Nn,So,oo,go,ks,Mo,Po,$s){var ws=ne*34,Xl=ne*17;return this.int16[ws+0]=xe,this.int16[ws+1]=Re,this.int16[ws+2]=qe,this.int16[ws+3]=pt,this.int16[ws+4]=Dt,this.int16[ws+5]=Gt,this.int16[ws+6]=tr,this.int16[ws+7]=Pr,this.uint16[ws+8]=Zr,this.uint16[ws+9]=Vr,this.uint16[ws+10]=ua,this.uint16[ws+11]=Oa,this.uint16[ws+12]=Mi,this.uint16[ws+13]=ii,this.uint16[ws+14]=$i,this.uint16[ws+15]=Oi,this.uint16[ws+16]=Ji,this.uint16[ws+17]=ln,this.uint16[ws+18]=Tn,this.uint16[ws+19]=Vn,this.uint16[ws+20]=Nn,this.uint16[ws+21]=So,this.uint16[ws+22]=oo,this.uint32[Xl+12]=go,this.float32[Xl+13]=ks,this.float32[Xl+14]=Mo,this.float32[Xl+15]=Po,this.float32[Xl+16]=$s,ne},C}(zi);In.prototype.bytesPerElement=68,de(\"StructArrayLayout8i15ui1ul4f68\",In);var Ii=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne){var xe=this.length;return this.resize(xe+1),this.emplace(xe,ne)},C.prototype.emplace=function(ne,xe){var Re=ne*1;return this.float32[Re+0]=xe,ne},C}(zi);Ii.prototype.bytesPerElement=4,de(\"StructArrayLayout1f4\",Ii);var an=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re){var qe=this.length;return this.resize(qe+1),this.emplace(qe,ne,xe,Re)},C.prototype.emplace=function(ne,xe,Re,qe){var pt=ne*3;return this.int16[pt+0]=xe,this.int16[pt+1]=Re,this.int16[pt+2]=qe,ne},C}(zi);an.prototype.bytesPerElement=6,de(\"StructArrayLayout3i6\",an);var kn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re){var qe=this.length;return this.resize(qe+1),this.emplace(qe,ne,xe,Re)},C.prototype.emplace=function(ne,xe,Re,qe){var pt=ne*2,Dt=ne*4;return this.uint32[pt+0]=xe,this.uint16[Dt+2]=Re,this.uint16[Dt+3]=qe,ne},C}(zi);kn.prototype.bytesPerElement=8,de(\"StructArrayLayout1ul2ui8\",kn);var Dn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe){var Re=this.length;return this.resize(Re+1),this.emplace(Re,ne,xe)},C.prototype.emplace=function(ne,xe,Re){var qe=ne*2;return this.uint16[qe+0]=xe,this.uint16[qe+1]=Re,ne},C}(zi);Dn.prototype.bytesPerElement=4,de(\"StructArrayLayout2ui4\",Dn);var Zn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne){var xe=this.length;return this.resize(xe+1),this.emplace(xe,ne)},C.prototype.emplace=function(ne,xe){var Re=ne*1;return this.uint16[Re+0]=xe,ne},C}(zi);Zn.prototype.bytesPerElement=2,de(\"StructArrayLayout1ui2\",Zn);var Ds=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,xe,Re,qe){var pt=this.length;return this.resize(pt+1),this.emplace(pt,ne,xe,Re,qe)},C.prototype.emplace=function(ne,xe,Re,qe,pt){var Dt=ne*4;return this.float32[Dt+0]=xe,this.float32[Dt+1]=Re,this.float32[Dt+2]=qe,this.float32[Dt+3]=pt,ne},C}(zi);Ds.prototype.bytesPerElement=16,de(\"StructArrayLayout4f16\",Ds);var bl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={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},anchorPoint:{configurable:!0}};return H.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},H.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},H.x1.get=function(){return this._structArray.int16[this._pos2+2]},H.y1.get=function(){return this._structArray.int16[this._pos2+3]},H.x2.get=function(){return this._structArray.int16[this._pos2+4]},H.y2.get=function(){return this._structArray.int16[this._pos2+5]},H.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},H.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},H.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},H.anchorPoint.get=function(){return new n(this.anchorPointX,this.anchorPointY)},Object.defineProperties(C.prototype,H),C}(yi);bl.prototype.size=20;var po=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(ne){return new bl(this,ne)},C}(Yi);de(\"CollisionBoxArray\",po);var Wl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={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},associatedIconIndex:{configurable:!0}};return H.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},H.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},H.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},H.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},H.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},H.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},H.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},H.segment.get=function(){return this._structArray.uint16[this._pos2+10]},H.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},H.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},H.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},H.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},H.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},H.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},H.placedOrientation.set=function(ne){this._structArray.uint8[this._pos1+37]=ne},H.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},H.hidden.set=function(ne){this._structArray.uint8[this._pos1+38]=ne},H.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},H.crossTileID.set=function(ne){this._structArray.uint32[this._pos4+10]=ne},H.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(C.prototype,H),C}(yi);Wl.prototype.size=48;var fs=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(ne){return new Wl(this,ne)},C}(mn);de(\"PlacedSymbolArray\",fs);var Sl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return H.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},H.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},H.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},H.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},H.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},H.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},H.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},H.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},H.key.get=function(){return this._structArray.uint16[this._pos2+8]},H.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},H.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},H.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},H.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},H.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},H.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},H.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},H.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},H.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},H.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},H.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},H.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},H.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},H.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},H.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},H.crossTileID.set=function(ne){this._structArray.uint32[this._pos4+12]=ne},H.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},H.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},H.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},H.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(C.prototype,H),C}(yi);Sl.prototype.size=68;var kl=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(ne){return new Sl(this,ne)},C}(In);de(\"SymbolInstanceArray\",kl);var tu=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.getoffsetX=function(ne){return this.float32[ne*1+0]},C}(Ii);de(\"GlyphOffsetArray\",tu);var qs=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.getx=function(ne){return this.int16[ne*3+0]},C.prototype.gety=function(ne){return this.int16[ne*3+1]},C.prototype.gettileUnitDistanceFromAnchor=function(ne){return this.int16[ne*3+2]},C}(an);de(\"SymbolLineVertexArray\",qs);var pl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return H.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},H.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},H.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(C.prototype,H),C}(yi);pl.prototype.size=8;var wl=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(ne){return new pl(this,ne)},C}(kn);de(\"FeatureIndexArray\",wl);var Yn=Ei([{name:\"a_pos\",components:2,type:\"Int16\"}],4),Cl=Yn.members,Co=function(C){C===void 0&&(C=[]),this.segments=C};Co.prototype.prepareSegment=function(C,H,ne,xe){var Re=this.segments[this.segments.length-1];return C>Co.MAX_VERTEX_ARRAY_LENGTH&&B(\"Max vertices per segment is \"+Co.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+C),(!Re||Re.vertexLength+C>Co.MAX_VERTEX_ARRAY_LENGTH||Re.sortKey!==xe)&&(Re={vertexOffset:H.length,primitiveOffset:ne.length,vertexLength:0,primitiveLength:0},xe!==void 0&&(Re.sortKey=xe),this.segments.push(Re)),Re},Co.prototype.get=function(){return this.segments},Co.prototype.destroy=function(){for(var C=0,H=this.segments;C>>16)*Dt&65535)<<16)&4294967295,tr=tr<<15|tr>>>17,tr=(tr&65535)*Gt+(((tr>>>16)*Gt&65535)<<16)&4294967295,qe^=tr,qe=qe<<13|qe>>>19,pt=(qe&65535)*5+(((qe>>>16)*5&65535)<<16)&4294967295,qe=(pt&65535)+27492+(((pt>>>16)+58964&65535)<<16);switch(tr=0,xe){case 3:tr^=(H.charCodeAt(Pr+2)&255)<<16;case 2:tr^=(H.charCodeAt(Pr+1)&255)<<8;case 1:tr^=H.charCodeAt(Pr)&255,tr=(tr&65535)*Dt+(((tr>>>16)*Dt&65535)<<16)&4294967295,tr=tr<<15|tr>>>17,tr=(tr&65535)*Gt+(((tr>>>16)*Gt&65535)<<16)&4294967295,qe^=tr}return qe^=H.length,qe^=qe>>>16,qe=(qe&65535)*2246822507+(((qe>>>16)*2246822507&65535)<<16)&4294967295,qe^=qe>>>13,qe=(qe&65535)*3266489909+(((qe>>>16)*3266489909&65535)<<16)&4294967295,qe^=qe>>>16,qe>>>0}k.exports=C}),te=t(function(k){function C(H,ne){for(var xe=H.length,Re=ne^xe,qe=0,pt;xe>=4;)pt=H.charCodeAt(qe)&255|(H.charCodeAt(++qe)&255)<<8|(H.charCodeAt(++qe)&255)<<16|(H.charCodeAt(++qe)&255)<<24,pt=(pt&65535)*1540483477+(((pt>>>16)*1540483477&65535)<<16),pt^=pt>>>24,pt=(pt&65535)*1540483477+(((pt>>>16)*1540483477&65535)<<16),Re=(Re&65535)*1540483477+(((Re>>>16)*1540483477&65535)<<16)^pt,xe-=4,++qe;switch(xe){case 3:Re^=(H.charCodeAt(qe+2)&255)<<16;case 2:Re^=(H.charCodeAt(qe+1)&255)<<8;case 1:Re^=H.charCodeAt(qe)&255,Re=(Re&65535)*1540483477+(((Re>>>16)*1540483477&65535)<<16)}return Re^=Re>>>13,Re=(Re&65535)*1540483477+(((Re>>>16)*1540483477&65535)<<16),Re^=Re>>>15,Re>>>0}k.exports=C}),me=_e,Ge=_e,Le=te;me.murmur3=Ge,me.murmur2=Le;var $e=function(){this.ids=[],this.positions=[],this.indexed=!1};$e.prototype.add=function(C,H,ne,xe){this.ids.push(jt(C)),this.positions.push(H,ne,xe)},$e.prototype.getPositions=function(C){for(var H=jt(C),ne=0,xe=this.ids.length-1;ne>1;this.ids[Re]>=H?xe=Re:ne=Re+1}for(var qe=[];this.ids[ne]===H;){var pt=this.positions[3*ne],Dt=this.positions[3*ne+1],Gt=this.positions[3*ne+2];qe.push({index:pt,start:Dt,end:Gt}),ne++}return qe},$e.serialize=function(C,H){var ne=new Float64Array(C.ids),xe=new Uint32Array(C.positions);return wr(ne,xe,0,ne.length-1),H&&H.push(ne.buffer,xe.buffer),{ids:ne,positions:xe}},$e.deserialize=function(C){var H=new $e;return H.ids=C.ids,H.positions=C.positions,H.indexed=!0,H};var gt=Math.pow(2,53)-1;function jt(k){var C=+k;return!isNaN(C)&&C<=gt?C:me(String(k))}function wr(k,C,H,ne){for(;H>1],Re=H-1,qe=ne+1;;){do Re++;while(k[Re]xe);if(Re>=qe)break;Nr(k,Re,qe),Nr(C,3*Re,3*qe),Nr(C,3*Re+1,3*qe+1),Nr(C,3*Re+2,3*qe+2)}qe-Hqe.x+1||Dtqe.y+1)&&B(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return H}function _o(k,C){return{type:k.type,id:k.id,properties:k.properties,geometry:C?fn(k):[]}}function Bo(k,C,H,ne,xe){k.emplaceBack(C*2+(ne+1)/2,H*2+(xe+1)/2)}var Ps=function(C){this.zoom=C.zoom,this.overscaling=C.overscaling,this.layers=C.layers,this.layerIds=this.layers.map(function(H){return H.id}),this.index=C.index,this.hasPattern=!1,this.layoutVertexArray=new Ma,this.indexArray=new Xi,this.segments=new Co,this.programConfigurations=new Ga(C.layers,C.zoom),this.stateDependentLayerIds=this.layers.filter(function(H){return H.isStateDependent()}).map(function(H){return H.id})};Ps.prototype.populate=function(C,H,ne){var xe=this.layers[0],Re=[],qe=null;xe.type===\"circle\"&&(qe=xe.layout.get(\"circle-sort-key\"));for(var pt=0,Dt=C;pt=ui||Zr<0||Zr>=ui)){var Vr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,C.sortKey),ua=Vr.vertexLength;Bo(this.layoutVertexArray,Pr,Zr,-1,-1),Bo(this.layoutVertexArray,Pr,Zr,1,-1),Bo(this.layoutVertexArray,Pr,Zr,1,1),Bo(this.layoutVertexArray,Pr,Zr,-1,1),this.indexArray.emplaceBack(ua,ua+1,ua+2),this.indexArray.emplaceBack(ua,ua+3,ua+2),Vr.vertexLength+=4,Vr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,C,ne,{},xe)},de(\"CircleBucket\",Ps,{omit:[\"layers\"]});function Do(k,C){for(var H=0;H=3){for(var Re=0;Re1){if(kp(k,C))return!0;for(var ne=0;ne1?k.distSqr(H):k.distSqr(H.sub(C)._mult(xe)._add(C))}function ed(k,C){for(var H=!1,ne,xe,Re,qe=0;qeC.y!=Re.y>C.y&&C.x<(Re.x-xe.x)*(C.y-xe.y)/(Re.y-xe.y)+xe.x&&(H=!H)}return H}function Ih(k,C){for(var H=!1,ne=0,xe=k.length-1;neC.y!=qe.y>C.y&&C.x<(qe.x-Re.x)*(C.y-Re.y)/(qe.y-Re.y)+Re.x&&(H=!H)}return H}function td(k,C,H,ne,xe){for(var Re=0,qe=k;Re=pt.x&&xe>=pt.y)return!0}var Dt=[new n(C,H),new n(C,xe),new n(ne,xe),new n(ne,H)];if(k.length>2)for(var Gt=0,tr=Dt;Gtxe.x&&C.x>xe.x||k.yxe.y&&C.y>xe.y)return!1;var Re=X(k,C,H[0]);return Re!==X(k,C,H[1])||Re!==X(k,C,H[2])||Re!==X(k,C,H[3])}function Rh(k,C,H){var ne=C.paint.get(k).value;return ne.kind===\"constant\"?ne.value:H.programConfigurations.get(C.id).getMaxValue(k)}function Cp(k){return Math.sqrt(k[0]*k[0]+k[1]*k[1])}function Vp(k,C,H,ne,xe){if(!C[0]&&!C[1])return k;var Re=n.convert(C)._mult(xe);H===\"viewport\"&&Re._rotate(-ne);for(var qe=[],pt=0;pt0&&(Re=1/Math.sqrt(Re)),k[0]=C[0]*Re,k[1]=C[1]*Re,k[2]=C[2]*Re,k}function UT(k,C){return k[0]*C[0]+k[1]*C[1]+k[2]*C[2]}function jT(k,C,H){var ne=C[0],xe=C[1],Re=C[2],qe=H[0],pt=H[1],Dt=H[2];return k[0]=xe*Dt-Re*pt,k[1]=Re*qe-ne*Dt,k[2]=ne*pt-xe*qe,k}function qT(k,C,H){var ne=C[0],xe=C[1],Re=C[2];return k[0]=ne*H[0]+xe*H[3]+Re*H[6],k[1]=ne*H[1]+xe*H[4]+Re*H[7],k[2]=ne*H[2]+xe*H[5]+Re*H[8],k}var VT=lv,vk=function(){var k=sv();return function(C,H,ne,xe,Re,qe){var pt,Dt;for(H||(H=3),ne||(ne=0),xe?Dt=Math.min(xe*H+ne,C.length):Dt=C.length,pt=ne;ptk.width||xe.height>k.height||H.x>k.width-xe.width||H.y>k.height-xe.height)throw new RangeError(\"out of range source coordinates for image copy\");if(xe.width>C.width||xe.height>C.height||ne.x>C.width-xe.width||ne.y>C.height-xe.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var qe=k.data,pt=C.data,Dt=0;Dt80*H){pt=Gt=k[0],Dt=tr=k[1];for(var ua=H;uaGt&&(Gt=Pr),Zr>tr&&(tr=Zr);Vr=Math.max(Gt-pt,tr-Dt),Vr=Vr!==0?1/Vr:0}return E0(Re,qe,H,pt,Dt,Vr),qe}function Mg(k,C,H,ne,xe){var Re,qe;if(xe===U1(k,C,H,ne)>0)for(Re=C;Re=C;Re-=ne)qe=Ux(Re,k[Re],k[Re+1],qe);return qe&&C0(qe,qe.next)&&(I0(qe),qe=qe.next),qe}function uv(k,C){if(!k)return k;C||(C=k);var H=k,ne;do if(ne=!1,!H.steiner&&(C0(H,H.next)||cf(H.prev,H,H.next)===0)){if(I0(H),H=C=H.prev,H===H.next)break;ne=!0}else H=H.next;while(ne||H!==C);return C}function E0(k,C,H,ne,xe,Re,qe){if(k){!qe&&Re&&Eg(k,ne,xe,Re);for(var pt=k,Dt,Gt;k.prev!==k.next;){if(Dt=k.prev,Gt=k.next,Re?Ox(k,ne,xe,Re):Fx(k)){C.push(Dt.i/H),C.push(k.i/H),C.push(Gt.i/H),I0(k),k=Gt.next,pt=Gt.next;continue}if(k=Gt,k===pt){qe?qe===1?(k=k0(uv(k),C,H),E0(k,C,H,ne,xe,Re,2)):qe===2&&yd(k,C,H,ne,xe,Re):E0(uv(k),C,H,ne,xe,Re,1);break}}}}function Fx(k){var C=k.prev,H=k,ne=k.next;if(cf(C,H,ne)>=0)return!1;for(var xe=k.next.next;xe!==k.prev;){if(fv(C.x,C.y,H.x,H.y,ne.x,ne.y,xe.x,xe.y)&&cf(xe.prev,xe,xe.next)>=0)return!1;xe=xe.next}return!0}function Ox(k,C,H,ne){var xe=k.prev,Re=k,qe=k.next;if(cf(xe,Re,qe)>=0)return!1;for(var pt=xe.xRe.x?xe.x>qe.x?xe.x:qe.x:Re.x>qe.x?Re.x:qe.x,tr=xe.y>Re.y?xe.y>qe.y?xe.y:qe.y:Re.y>qe.y?Re.y:qe.y,Pr=F1(pt,Dt,C,H,ne),Zr=F1(Gt,tr,C,H,ne),Vr=k.prevZ,ua=k.nextZ;Vr&&Vr.z>=Pr&&ua&&ua.z<=Zr;){if(Vr!==k.prev&&Vr!==k.next&&fv(xe.x,xe.y,Re.x,Re.y,qe.x,qe.y,Vr.x,Vr.y)&&cf(Vr.prev,Vr,Vr.next)>=0||(Vr=Vr.prevZ,ua!==k.prev&&ua!==k.next&&fv(xe.x,xe.y,Re.x,Re.y,qe.x,qe.y,ua.x,ua.y)&&cf(ua.prev,ua,ua.next)>=0))return!1;ua=ua.nextZ}for(;Vr&&Vr.z>=Pr;){if(Vr!==k.prev&&Vr!==k.next&&fv(xe.x,xe.y,Re.x,Re.y,qe.x,qe.y,Vr.x,Vr.y)&&cf(Vr.prev,Vr,Vr.next)>=0)return!1;Vr=Vr.prevZ}for(;ua&&ua.z<=Zr;){if(ua!==k.prev&&ua!==k.next&&fv(xe.x,xe.y,Re.x,Re.y,qe.x,qe.y,ua.x,ua.y)&&cf(ua.prev,ua,ua.next)>=0)return!1;ua=ua.nextZ}return!0}function k0(k,C,H){var ne=k;do{var xe=ne.prev,Re=ne.next.next;!C0(xe,Re)&&kg(xe,ne,ne.next,Re)&&P0(xe,Re)&&P0(Re,xe)&&(C.push(xe.i/H),C.push(ne.i/H),C.push(Re.i/H),I0(ne),I0(ne.next),ne=k=Re),ne=ne.next}while(ne!==k);return uv(ne)}function yd(k,C,H,ne,xe,Re){var qe=k;do{for(var pt=qe.next.next;pt!==qe.prev;){if(qe.i!==pt.i&&cm(qe,pt)){var Dt=B1(qe,pt);qe=uv(qe,qe.next),Dt=uv(Dt,Dt.next),E0(qe,C,H,ne,xe,Re),E0(Dt,C,H,ne,xe,Re);return}pt=pt.next}qe=qe.next}while(qe!==k)}function cv(k,C,H,ne){var xe=[],Re,qe,pt,Dt,Gt;for(Re=0,qe=C.length;Re=H.next.y&&H.next.y!==H.y){var pt=H.x+(xe-H.y)*(H.next.x-H.x)/(H.next.y-H.y);if(pt<=ne&&pt>Re){if(Re=pt,pt===ne){if(xe===H.y)return H;if(xe===H.next.y)return H.next}qe=H.x=H.x&&H.x>=Gt&&ne!==H.x&&fv(xeqe.x||H.x===qe.x&&$T(qe,H)))&&(qe=H,Pr=Zr)),H=H.next;while(H!==Dt);return qe}function $T(k,C){return cf(k.prev,k,C.prev)<0&&cf(C.next,k,k.next)<0}function Eg(k,C,H,ne){var xe=k;do xe.z===null&&(xe.z=F1(xe.x,xe.y,C,H,ne)),xe.prevZ=xe.prev,xe.nextZ=xe.next,xe=xe.next;while(xe!==k);xe.prevZ.nextZ=null,xe.prevZ=null,z1(xe)}function z1(k){var C,H,ne,xe,Re,qe,pt,Dt,Gt=1;do{for(H=k,k=null,Re=null,qe=0;H;){for(qe++,ne=H,pt=0,C=0;C0||Dt>0&≠)pt!==0&&(Dt===0||!ne||H.z<=ne.z)?(xe=H,H=H.nextZ,pt--):(xe=ne,ne=ne.nextZ,Dt--),Re?Re.nextZ=xe:k=xe,xe.prevZ=Re,Re=xe;H=ne}Re.nextZ=null,Gt*=2}while(qe>1);return k}function F1(k,C,H,ne,xe){return k=32767*(k-H)*xe,C=32767*(C-ne)*xe,k=(k|k<<8)&16711935,k=(k|k<<4)&252645135,k=(k|k<<2)&858993459,k=(k|k<<1)&1431655765,C=(C|C<<8)&16711935,C=(C|C<<4)&252645135,C=(C|C<<2)&858993459,C=(C|C<<1)&1431655765,k|C<<1}function O1(k){var C=k,H=k;do(C.x=0&&(k-qe)*(ne-pt)-(H-qe)*(C-pt)>=0&&(H-qe)*(Re-pt)-(xe-qe)*(ne-pt)>=0}function cm(k,C){return k.next.i!==C.i&&k.prev.i!==C.i&&!Nx(k,C)&&(P0(k,C)&&P0(C,k)&&QT(k,C)&&(cf(k.prev,k,C.prev)||cf(k,C.prev,C))||C0(k,C)&&cf(k.prev,k,k.next)>0&&cf(C.prev,C,C.next)>0)}function cf(k,C,H){return(C.y-k.y)*(H.x-C.x)-(C.x-k.x)*(H.y-C.y)}function C0(k,C){return k.x===C.x&&k.y===C.y}function kg(k,C,H,ne){var xe=Dv(cf(k,C,H)),Re=Dv(cf(k,C,ne)),qe=Dv(cf(H,ne,k)),pt=Dv(cf(H,ne,C));return!!(xe!==Re&&qe!==pt||xe===0&&L0(k,H,C)||Re===0&&L0(k,ne,C)||qe===0&&L0(H,k,ne)||pt===0&&L0(H,C,ne))}function L0(k,C,H){return C.x<=Math.max(k.x,H.x)&&C.x>=Math.min(k.x,H.x)&&C.y<=Math.max(k.y,H.y)&&C.y>=Math.min(k.y,H.y)}function Dv(k){return k>0?1:k<0?-1:0}function Nx(k,C){var H=k;do{if(H.i!==k.i&&H.next.i!==k.i&&H.i!==C.i&&H.next.i!==C.i&&kg(H,H.next,k,C))return!0;H=H.next}while(H!==k);return!1}function P0(k,C){return cf(k.prev,k,k.next)<0?cf(k,C,k.next)>=0&&cf(k,k.prev,C)>=0:cf(k,C,k.prev)<0||cf(k,k.next,C)<0}function QT(k,C){var H=k,ne=!1,xe=(k.x+C.x)/2,Re=(k.y+C.y)/2;do H.y>Re!=H.next.y>Re&&H.next.y!==H.y&&xe<(H.next.x-H.x)*(Re-H.y)/(H.next.y-H.y)+H.x&&(ne=!ne),H=H.next;while(H!==k);return ne}function B1(k,C){var H=new N1(k.i,k.x,k.y),ne=new N1(C.i,C.x,C.y),xe=k.next,Re=C.prev;return k.next=C,C.prev=k,H.next=xe,xe.prev=H,ne.next=H,H.prev=ne,Re.next=ne,ne.prev=Re,ne}function Ux(k,C,H,ne){var xe=new N1(k,C,H);return ne?(xe.next=ne.next,xe.prev=ne,ne.next.prev=xe,ne.next=xe):(xe.prev=xe,xe.next=xe),xe}function I0(k){k.next.prev=k.prev,k.prev.next=k.next,k.prevZ&&(k.prevZ.nextZ=k.nextZ),k.nextZ&&(k.nextZ.prevZ=k.prevZ)}function N1(k,C,H){this.i=k,this.x=C,this.y=H,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}um.deviation=function(k,C,H,ne){var xe=C&&C.length,Re=xe?C[0]*H:k.length,qe=Math.abs(U1(k,0,Re,H));if(xe)for(var pt=0,Dt=C.length;pt0&&(ne+=k[xe-1].length,H.holes.push(ne))}return H},Sg.default=zx;function j1(k,C,H,ne,xe){Hd(k,C,H||0,ne||k.length-1,xe||jx)}function Hd(k,C,H,ne,xe){for(;ne>H;){if(ne-H>600){var Re=ne-H+1,qe=C-H+1,pt=Math.log(Re),Dt=.5*Math.exp(2*pt/3),Gt=.5*Math.sqrt(pt*Dt*(Re-Dt)/Re)*(qe-Re/2<0?-1:1),tr=Math.max(H,Math.floor(C-qe*Dt/Re+Gt)),Pr=Math.min(ne,Math.floor(C+(Re-qe)*Dt/Re+Gt));Hd(k,C,tr,Pr,xe)}var Zr=k[C],Vr=H,ua=ne;for(fm(k,H,C),xe(k[ne],Zr)>0&&fm(k,H,ne);Vr0;)ua--}xe(k[H],Zr)===0?fm(k,H,ua):(ua++,fm(k,ua,ne)),ua<=C&&(H=ua+1),C<=ua&&(ne=ua-1)}}function fm(k,C,H){var ne=k[C];k[C]=k[H],k[H]=ne}function jx(k,C){return kC?1:0}function Cg(k,C){var H=k.length;if(H<=1)return[k];for(var ne=[],xe,Re,qe=0;qe1)for(var Dt=0;Dt>3}if(ne--,H===1||H===2)xe+=k.readSVarint(),Re+=k.readSVarint(),H===1&&(pt&&qe.push(pt),pt=[]),pt.push(new n(xe,Re));else if(H===7)pt&&pt.push(pt[0].clone());else throw new Error(\"unknown command \"+H)}return pt&&qe.push(pt),qe},zv.prototype.bbox=function(){var k=this._pbf;k.pos=this._geometry;for(var C=k.readVarint()+k.pos,H=1,ne=0,xe=0,Re=0,qe=1/0,pt=-1/0,Dt=1/0,Gt=-1/0;k.pos>3}if(ne--,H===1||H===2)xe+=k.readSVarint(),Re+=k.readSVarint(),xept&&(pt=xe),ReGt&&(Gt=Re);else if(H!==7)throw new Error(\"unknown command \"+H)}return[qe,Dt,pt,Gt]},zv.prototype.toGeoJSON=function(k,C,H){var ne=this.extent*Math.pow(2,H),xe=this.extent*k,Re=this.extent*C,qe=this.loadGeometry(),pt=zv.types[this.type],Dt,Gt;function tr(Vr){for(var ua=0;ua>3;C=ne===1?k.readString():ne===2?k.readFloat():ne===3?k.readDouble():ne===4?k.readVarint64():ne===5?k.readVarint():ne===6?k.readSVarint():ne===7?k.readBoolean():null}return C}G1.prototype.feature=function(k){if(k<0||k>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[k];var C=this._pbf.readVarint()+this._pbf.pos;return new V1(this._pbf,C,this.extent,this._keys,this._values)};var Jx=tA;function tA(k,C){this.layers=k.readFields(rA,{},C)}function rA(k,C,H){if(k===3){var ne=new Wd(H,H.readVarint()+H.pos);ne.length&&(C[ne.name]=ne)}}var $x=Jx,hm=V1,Qx=Wd,Xd={VectorTile:$x,VectorTileFeature:hm,VectorTileLayer:Qx},eb=Xd.VectorTileFeature.types,Pg=500,pm=Math.pow(2,13);function hv(k,C,H,ne,xe,Re,qe,pt){k.emplaceBack(C,H,Math.floor(ne*pm)*2+qe,xe*pm*2,Re*pm*2,Math.round(pt))}var cd=function(C){this.zoom=C.zoom,this.overscaling=C.overscaling,this.layers=C.layers,this.layerIds=this.layers.map(function(H){return H.id}),this.index=C.index,this.hasPattern=!1,this.layoutVertexArray=new di,this.indexArray=new Xi,this.programConfigurations=new Ga(C.layers,C.zoom),this.segments=new Co,this.stateDependentLayerIds=this.layers.filter(function(H){return H.isStateDependent()}).map(function(H){return H.id})};cd.prototype.populate=function(C,H,ne){this.features=[],this.hasPattern=Lg(\"fill-extrusion\",this.layers,H);for(var xe=0,Re=C;xe=1){var Ji=Mi[$i-1];if(!aA(Oi,Ji)){Vr.vertexLength+4>Co.MAX_VERTEX_ARRAY_LENGTH&&(Vr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var ln=Oi.sub(Ji)._perp()._unit(),Tn=Ji.dist(Oi);ii+Tn>32768&&(ii=0),hv(this.layoutVertexArray,Oi.x,Oi.y,ln.x,ln.y,0,0,ii),hv(this.layoutVertexArray,Oi.x,Oi.y,ln.x,ln.y,0,1,ii),ii+=Tn,hv(this.layoutVertexArray,Ji.x,Ji.y,ln.x,ln.y,0,0,ii),hv(this.layoutVertexArray,Ji.x,Ji.y,ln.x,ln.y,0,1,ii);var Vn=Vr.vertexLength;this.indexArray.emplaceBack(Vn,Vn+2,Vn+1),this.indexArray.emplaceBack(Vn+1,Vn+2,Vn+3),Vr.vertexLength+=4,Vr.primitiveLength+=2}}}}if(Vr.vertexLength+Gt>Co.MAX_VERTEX_ARRAY_LENGTH&&(Vr=this.segments.prepareSegment(Gt,this.layoutVertexArray,this.indexArray)),eb[C.type]===\"Polygon\"){for(var Nn=[],So=[],oo=Vr.vertexLength,go=0,ks=Dt;goui)||k.y===C.y&&(k.y<0||k.y>ui)}function iA(k){return k.every(function(C){return C.x<0})||k.every(function(C){return C.x>ui})||k.every(function(C){return C.y<0})||k.every(function(C){return C.y>ui})}var dm=new ma({\"fill-extrusion-opacity\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Zt(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new fr(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Zt(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Zt(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),wh={paint:dm},pv=function(k){function C(H){k.call(this,H,wh)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.createBucket=function(ne){return new cd(ne)},C.prototype.queryRadius=function(){return Cp(this.paint.get(\"fill-extrusion-translate\"))},C.prototype.is3D=function(){return!0},C.prototype.queryIntersectsFeature=function(ne,xe,Re,qe,pt,Dt,Gt,tr){var Pr=Vp(ne,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Dt.angle,Gt),Zr=this.paint.get(\"fill-extrusion-height\").evaluate(xe,Re),Vr=this.paint.get(\"fill-extrusion-base\").evaluate(xe,Re),ua=nA(Pr,tr,Dt,0),Oa=W1(qe,Vr,Zr,tr),Mi=Oa[0],ii=Oa[1];return tb(Mi,ii,ua)},C}(Ya);function Fv(k,C){return k.x*C.x+k.y*C.y}function H1(k,C){if(k.length===1){for(var H=0,ne=C[H++],xe;!xe||ne.equals(xe);)if(xe=C[H++],!xe)return 1/0;for(;H=2&&C[Gt-1].equals(C[Gt-2]);)Gt--;for(var tr=0;tr0;if(Nn&&$i>tr){var oo=Vr.dist(ua);if(oo>2*Pr){var go=Vr.sub(Vr.sub(ua)._mult(Pr/oo)._round());this.updateDistance(ua,go),this.addCurrentVertex(go,Mi,0,0,Zr),ua=go}}var ks=ua&&Oa,Mo=ks?ne:Dt?\"butt\":xe;if(ks&&Mo===\"round\"&&(TnRe&&(Mo=\"bevel\"),Mo===\"bevel\"&&(Tn>2&&(Mo=\"flipbevel\"),Tn100)Oi=ii.mult(-1);else{var Po=Tn*Mi.add(ii).mag()/Mi.sub(ii).mag();Oi._perp()._mult(Po*(So?-1:1))}this.addCurrentVertex(Vr,Oi,0,0,Zr),this.addCurrentVertex(Vr,Oi.mult(-1),0,0,Zr)}else if(Mo===\"bevel\"||Mo===\"fakeround\"){var $s=-Math.sqrt(Tn*Tn-1),ws=So?$s:0,Xl=So?0:$s;if(ua&&this.addCurrentVertex(Vr,Mi,ws,Xl,Zr),Mo===\"fakeround\")for(var zu=Math.round(Vn*180/Math.PI/Z1),Zl=1;Zl2*Pr){var Zf=Vr.add(Oa.sub(Vr)._mult(Pr/gh)._round());this.updateDistance(Vr,Zf),this.addCurrentVertex(Zf,ii,0,0,Zr),Vr=Zf}}}}},Hf.prototype.addCurrentVertex=function(C,H,ne,xe,Re,qe){qe===void 0&&(qe=!1);var pt=H.x+H.y*ne,Dt=H.y-H.x*ne,Gt=-H.x+H.y*xe,tr=-H.y-H.x*xe;this.addHalfVertex(C,pt,Dt,qe,!1,ne,Re),this.addHalfVertex(C,Gt,tr,qe,!0,-xe,Re),this.distance>O0/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(C,H,ne,xe,Re,qe))},Hf.prototype.addHalfVertex=function(C,H,ne,xe,Re,qe,pt){var Dt=C.x,Gt=C.y,tr=this.lineClips?this.scaledDistance*(O0-1):this.scaledDistance,Pr=tr*Rg;if(this.layoutVertexArray.emplaceBack((Dt<<1)+(xe?1:0),(Gt<<1)+(Re?1:0),Math.round(Ig*H)+128,Math.round(Ig*ne)+128,(qe===0?0:qe<0?-1:1)+1|(Pr&63)<<2,Pr>>6),this.lineClips){var Zr=this.scaledDistance-this.lineClips.start,Vr=this.lineClips.end-this.lineClips.start,ua=Zr/Vr;this.layoutVertexArray2.emplaceBack(ua,this.lineClipsArray.length)}var Oa=pt.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Oa),pt.primitiveLength++),Re?this.e2=Oa:this.e1=Oa},Hf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Hf.prototype.updateDistance=function(C,H){this.distance+=C.dist(H),this.updateScaledDistance()},de(\"LineBucket\",Hf,{omit:[\"layers\",\"patternFeatures\"]});var Y1=new ma({\"line-cap\":new it(Gi.layout_line[\"line-cap\"]),\"line-join\":new Zt(Gi.layout_line[\"line-join\"]),\"line-miter-limit\":new it(Gi.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new it(Gi.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Zt(Gi.layout_line[\"line-sort-key\"])}),K1=new ma({\"line-opacity\":new Zt(Gi.paint_line[\"line-opacity\"]),\"line-color\":new Zt(Gi.paint_line[\"line-color\"]),\"line-translate\":new it(Gi.paint_line[\"line-translate\"]),\"line-translate-anchor\":new it(Gi.paint_line[\"line-translate-anchor\"]),\"line-width\":new Zt(Gi.paint_line[\"line-width\"]),\"line-gap-width\":new Zt(Gi.paint_line[\"line-gap-width\"]),\"line-offset\":new Zt(Gi.paint_line[\"line-offset\"]),\"line-blur\":new Zt(Gi.paint_line[\"line-blur\"]),\"line-dasharray\":new oa(Gi.paint_line[\"line-dasharray\"]),\"line-pattern\":new fr(Gi.paint_line[\"line-pattern\"]),\"line-gradient\":new wa(Gi.paint_line[\"line-gradient\"])}),Dg={paint:K1,layout:Y1},sA=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.possiblyEvaluate=function(ne,xe){return xe=new gn(Math.floor(xe.zoom),{now:xe.now,fadeDuration:xe.fadeDuration,zoomHistory:xe.zoomHistory,transition:xe.transition}),k.prototype.possiblyEvaluate.call(this,ne,xe)},C.prototype.evaluate=function(ne,xe,Re,qe){return xe=g({},xe,{zoom:Math.floor(xe.zoom)}),k.prototype.evaluate.call(this,ne,xe,Re,qe)},C}(Zt),W=new sA(Dg.paint.properties[\"line-width\"].specification);W.useIntegerZoom=!0;var D=function(k){function C(H){k.call(this,H,Dg),this.gradientVersion=0}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._handleSpecialPaintPropertyUpdate=function(ne){if(ne===\"line-gradient\"){var xe=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=xe._styleExpression.expression instanceof Tu,this.gradientVersion=(this.gradientVersion+1)%c}},C.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},C.prototype.recalculate=function(ne,xe){k.prototype.recalculate.call(this,ne,xe),this.paint._values[\"line-floorwidth\"]=W.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,ne)},C.prototype.createBucket=function(ne){return new Hf(ne)},C.prototype.queryRadius=function(ne){var xe=ne,Re=J(Rh(\"line-width\",this,xe),Rh(\"line-gap-width\",this,xe)),qe=Rh(\"line-offset\",this,xe);return Re/2+Math.abs(qe)+Cp(this.paint.get(\"line-translate\"))},C.prototype.queryIntersectsFeature=function(ne,xe,Re,qe,pt,Dt,Gt){var tr=Vp(ne,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Dt.angle,Gt),Pr=Gt/2*J(this.paint.get(\"line-width\").evaluate(xe,Re),this.paint.get(\"line-gap-width\").evaluate(xe,Re)),Zr=this.paint.get(\"line-offset\").evaluate(xe,Re);return Zr&&(qe=pe(qe,Zr*Gt)),mu(tr,qe,Pr)},C.prototype.isTileClipped=function(){return!0},C}(Ya);function J(k,C){return C>0?C+2*k:k}function pe(k,C){for(var H=[],ne=new n(0,0),xe=0;xe\":\"\\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\"};function qi(k){for(var C=\"\",H=0;H>1,tr=-7,Pr=H?xe-1:0,Zr=H?-1:1,Vr=k[C+Pr];for(Pr+=Zr,Re=Vr&(1<<-tr)-1,Vr>>=-tr,tr+=pt;tr>0;Re=Re*256+k[C+Pr],Pr+=Zr,tr-=8);for(qe=Re&(1<<-tr)-1,Re>>=-tr,tr+=ne;tr>0;qe=qe*256+k[C+Pr],Pr+=Zr,tr-=8);if(Re===0)Re=1-Gt;else{if(Re===Dt)return qe?NaN:(Vr?-1:1)*(1/0);qe=qe+Math.pow(2,ne),Re=Re-Gt}return(Vr?-1:1)*qe*Math.pow(2,Re-ne)},Eo=function(k,C,H,ne,xe,Re){var qe,pt,Dt,Gt=Re*8-xe-1,tr=(1<>1,Zr=xe===23?Math.pow(2,-24)-Math.pow(2,-77):0,Vr=ne?0:Re-1,ua=ne?1:-1,Oa=C<0||C===0&&1/C<0?1:0;for(C=Math.abs(C),isNaN(C)||C===1/0?(pt=isNaN(C)?1:0,qe=tr):(qe=Math.floor(Math.log(C)/Math.LN2),C*(Dt=Math.pow(2,-qe))<1&&(qe--,Dt*=2),qe+Pr>=1?C+=Zr/Dt:C+=Zr*Math.pow(2,1-Pr),C*Dt>=2&&(qe++,Dt/=2),qe+Pr>=tr?(pt=0,qe=tr):qe+Pr>=1?(pt=(C*Dt-1)*Math.pow(2,xe),qe=qe+Pr):(pt=C*Math.pow(2,Pr-1)*Math.pow(2,xe),qe=0));xe>=8;k[H+Vr]=pt&255,Vr+=ua,pt/=256,xe-=8);for(qe=qe<0;k[H+Vr]=qe&255,Vr+=ua,qe/=256,Gt-=8);k[H+Vr-ua]|=Oa*128},ys={read:qn,write:Eo},mo=zn;function zn(k){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(k)?k:new Uint8Array(k||0),this.pos=0,this.type=0,this.length=this.buf.length}zn.Varint=0,zn.Fixed64=1,zn.Bytes=2,zn.Fixed32=5;var ts=65536*65536,Uo=1/ts,zo=12,wn=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf8\");zn.prototype={destroy:function(){this.buf=null},readFields:function(k,C,H){for(H=H||this.length;this.pos>3,Re=this.pos;this.type=ne&7,k(xe,C,this),this.pos===Re&&this.skip(ne)}return C},readMessage:function(k,C){return this.readFields(k,C,this.readVarint()+this.pos)},readFixed32:function(){var k=dh(this.buf,this.pos);return this.pos+=4,k},readSFixed32:function(){var k=Rp(this.buf,this.pos);return this.pos+=4,k},readFixed64:function(){var k=dh(this.buf,this.pos)+dh(this.buf,this.pos+4)*ts;return this.pos+=8,k},readSFixed64:function(){var k=dh(this.buf,this.pos)+Rp(this.buf,this.pos+4)*ts;return this.pos+=8,k},readFloat:function(){var k=ys.read(this.buf,this.pos,!0,23,4);return this.pos+=4,k},readDouble:function(){var k=ys.read(this.buf,this.pos,!0,52,8);return this.pos+=8,k},readVarint:function(k){var C=this.buf,H,ne;return ne=C[this.pos++],H=ne&127,ne<128||(ne=C[this.pos++],H|=(ne&127)<<7,ne<128)||(ne=C[this.pos++],H|=(ne&127)<<14,ne<128)||(ne=C[this.pos++],H|=(ne&127)<<21,ne<128)?H:(ne=C[this.pos],H|=(ne&15)<<28,os(H,k,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var k=this.readVarint();return k%2===1?(k+1)/-2:k/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var k=this.readVarint()+this.pos,C=this.pos;return this.pos=k,k-C>=zo&&wn?hu(this.buf,C,k):dp(this.buf,C,k)},readBytes:function(){var k=this.readVarint()+this.pos,C=this.buf.subarray(this.pos,k);return this.pos=k,C},readPackedVarint:function(k,C){if(this.type!==zn.Bytes)return k.push(this.readVarint(C));var H=Fo(this);for(k=k||[];this.pos127;);else if(C===zn.Bytes)this.pos=this.readVarint()+this.pos;else if(C===zn.Fixed32)this.pos+=4;else if(C===zn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+C)},writeTag:function(k,C){this.writeVarint(k<<3|C)},realloc:function(k){for(var C=this.length||16;C268435455||k<0){Ku(k,this);return}this.realloc(4),this.buf[this.pos++]=k&127|(k>127?128:0),!(k<=127)&&(this.buf[this.pos++]=(k>>>=7)&127|(k>127?128:0),!(k<=127)&&(this.buf[this.pos++]=(k>>>=7)&127|(k>127?128:0),!(k<=127)&&(this.buf[this.pos++]=k>>>7&127)))},writeSVarint:function(k){this.writeVarint(k<0?-k*2-1:k*2)},writeBoolean:function(k){this.writeVarint(!!k)},writeString:function(k){k=String(k),this.realloc(k.length*4),this.pos++;var C=this.pos;this.pos=fc(this.buf,k,this.pos);var H=this.pos-C;H>=128&&Hp(C,H,this),this.pos=C-1,this.writeVarint(H),this.pos+=H},writeFloat:function(k){this.realloc(4),ys.write(this.buf,k,this.pos,!0,23,4),this.pos+=4},writeDouble:function(k){this.realloc(8),ys.write(this.buf,k,this.pos,!0,52,8),this.pos+=8},writeBytes:function(k){var C=k.length;this.writeVarint(C),this.realloc(C);for(var H=0;H=128&&Hp(H,ne,this),this.pos=H-1,this.writeVarint(ne),this.pos+=ne},writeMessage:function(k,C,H){this.writeTag(k,zn.Bytes),this.writeRawMessage(C,H)},writePackedVarint:function(k,C){C.length&&this.writeMessage(k,Th,C)},writePackedSVarint:function(k,C){C.length&&this.writeMessage(k,rh,C)},writePackedBoolean:function(k,C){C.length&&this.writeMessage(k,Qh,C)},writePackedFloat:function(k,C){C.length&&this.writeMessage(k,Jh,C)},writePackedDouble:function(k,C){C.length&&this.writeMessage(k,$h,C)},writePackedFixed32:function(k,C){C.length&&this.writeMessage(k,ff,C)},writePackedSFixed32:function(k,C){C.length&&this.writeMessage(k,ah,C)},writePackedFixed64:function(k,C){C.length&&this.writeMessage(k,Fh,C)},writePackedSFixed64:function(k,C){C.length&&this.writeMessage(k,Ah,C)},writeBytesField:function(k,C){this.writeTag(k,zn.Bytes),this.writeBytes(C)},writeFixed32Field:function(k,C){this.writeTag(k,zn.Fixed32),this.writeFixed32(C)},writeSFixed32Field:function(k,C){this.writeTag(k,zn.Fixed32),this.writeSFixed32(C)},writeFixed64Field:function(k,C){this.writeTag(k,zn.Fixed64),this.writeFixed64(C)},writeSFixed64Field:function(k,C){this.writeTag(k,zn.Fixed64),this.writeSFixed64(C)},writeVarintField:function(k,C){this.writeTag(k,zn.Varint),this.writeVarint(C)},writeSVarintField:function(k,C){this.writeTag(k,zn.Varint),this.writeSVarint(C)},writeStringField:function(k,C){this.writeTag(k,zn.Bytes),this.writeString(C)},writeFloatField:function(k,C){this.writeTag(k,zn.Fixed32),this.writeFloat(C)},writeDoubleField:function(k,C){this.writeTag(k,zn.Fixed64),this.writeDouble(C)},writeBooleanField:function(k,C){this.writeVarintField(k,!!C)}};function os(k,C,H){var ne=H.buf,xe,Re;if(Re=ne[H.pos++],xe=(Re&112)>>4,Re<128||(Re=ne[H.pos++],xe|=(Re&127)<<3,Re<128)||(Re=ne[H.pos++],xe|=(Re&127)<<10,Re<128)||(Re=ne[H.pos++],xe|=(Re&127)<<17,Re<128)||(Re=ne[H.pos++],xe|=(Re&127)<<24,Re<128)||(Re=ne[H.pos++],xe|=(Re&1)<<31,Re<128))return Ls(k,xe,C);throw new Error(\"Expected varint not more than 10 bytes\")}function Fo(k){return k.type===zn.Bytes?k.readVarint()+k.pos:k.pos+1}function Ls(k,C,H){return H?C*4294967296+(k>>>0):(C>>>0)*4294967296+(k>>>0)}function Ku(k,C){var H,ne;if(k>=0?(H=k%4294967296|0,ne=k/4294967296|0):(H=~(-k%4294967296),ne=~(-k/4294967296),H^4294967295?H=H+1|0:(H=0,ne=ne+1|0)),k>=18446744073709552e3||k<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");C.realloc(10),Uu(H,ne,C),th(ne,C)}function Uu(k,C,H){H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos]=k&127}function th(k,C){var H=(k&7)<<4;C.buf[C.pos++]|=H|((k>>>=3)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127)))))}function Hp(k,C,H){var ne=C<=16383?1:C<=2097151?2:C<=268435455?3:Math.floor(Math.log(C)/(Math.LN2*7));H.realloc(ne);for(var xe=H.pos-1;xe>=k;xe--)H.buf[xe+ne]=H.buf[xe]}function Th(k,C){for(var H=0;H>>8,k[H+2]=C>>>16,k[H+3]=C>>>24}function Rp(k,C){return(k[C]|k[C+1]<<8|k[C+2]<<16)+(k[C+3]<<24)}function dp(k,C,H){for(var ne=\"\",xe=C;xe239?4:Re>223?3:Re>191?2:1;if(xe+pt>H)break;var Dt,Gt,tr;pt===1?Re<128&&(qe=Re):pt===2?(Dt=k[xe+1],(Dt&192)===128&&(qe=(Re&31)<<6|Dt&63,qe<=127&&(qe=null))):pt===3?(Dt=k[xe+1],Gt=k[xe+2],(Dt&192)===128&&(Gt&192)===128&&(qe=(Re&15)<<12|(Dt&63)<<6|Gt&63,(qe<=2047||qe>=55296&&qe<=57343)&&(qe=null))):pt===4&&(Dt=k[xe+1],Gt=k[xe+2],tr=k[xe+3],(Dt&192)===128&&(Gt&192)===128&&(tr&192)===128&&(qe=(Re&15)<<18|(Dt&63)<<12|(Gt&63)<<6|tr&63,(qe<=65535||qe>=1114112)&&(qe=null))),qe===null?(qe=65533,pt=1):qe>65535&&(qe-=65536,ne+=String.fromCharCode(qe>>>10&1023|55296),qe=56320|qe&1023),ne+=String.fromCharCode(qe),xe+=pt}return ne}function hu(k,C,H){return wn.decode(k.subarray(C,H))}function fc(k,C,H){for(var ne=0,xe,Re;ne55295&&xe<57344)if(Re)if(xe<56320){k[H++]=239,k[H++]=191,k[H++]=189,Re=xe;continue}else xe=Re-55296<<10|xe-56320|65536,Re=null;else{xe>56319||ne+1===C.length?(k[H++]=239,k[H++]=191,k[H++]=189):Re=xe;continue}else Re&&(k[H++]=239,k[H++]=191,k[H++]=189,Re=null);xe<128?k[H++]=xe:(xe<2048?k[H++]=xe>>6|192:(xe<65536?k[H++]=xe>>12|224:(k[H++]=xe>>18|240,k[H++]=xe>>12&63|128),k[H++]=xe>>6&63|128),k[H++]=xe&63|128)}return H}var Ju=3;function Dp(k,C,H){k===1&&H.readMessage($c,C)}function $c(k,C,H){if(k===3){var ne=H.readMessage(vm,{}),xe=ne.id,Re=ne.bitmap,qe=ne.width,pt=ne.height,Dt=ne.left,Gt=ne.top,tr=ne.advance;C.push({id:xe,bitmap:new Ip({width:qe+2*Ju,height:pt+2*Ju},Re),metrics:{width:qe,height:pt,left:Dt,top:Gt,advance:tr}})}}function vm(k,C,H){k===1?C.id=H.readVarint():k===2?C.bitmap=H.readBytes():k===3?C.width=H.readVarint():k===4?C.height=H.readVarint():k===5?C.left=H.readSVarint():k===6?C.top=H.readSVarint():k===7&&(C.advance=H.readVarint())}function _d(k){return new mo(k).readFields(Dp,[])}var fd=Ju;function Wp(k){for(var C=0,H=0,ne=0,xe=k;ne=0;Vr--){var ua=pt[Vr];if(!(Zr.w>ua.w||Zr.h>ua.h)){if(Zr.x=ua.x,Zr.y=ua.y,Gt=Math.max(Gt,Zr.y+Zr.h),Dt=Math.max(Dt,Zr.x+Zr.w),Zr.w===ua.w&&Zr.h===ua.h){var Oa=pt.pop();Vr=0&&xe>=C&&bd[this.text.charCodeAt(xe)];xe--)ne--;this.text=this.text.substring(C,ne),this.sectionIndex=this.sectionIndex.slice(C,ne)},vh.prototype.substring=function(C,H){var ne=new vh;return ne.text=this.text.substring(C,H),ne.sectionIndex=this.sectionIndex.slice(C,H),ne.sections=this.sections,ne},vh.prototype.toString=function(){return this.text},vh.prototype.getMaxScale=function(){var C=this;return this.sectionIndex.reduce(function(H,ne){return Math.max(H,C.sections[ne].scale)},0)},vh.prototype.addTextSection=function(C,H){this.text+=C.text,this.sections.push(Ov.forText(C.scale,C.fontStack||H));for(var ne=this.sections.length-1,xe=0;xe=xd?null:++this.imageSectionID:(this.imageSectionID=zg,this.imageSectionID)};function lA(k,C){for(var H=[],ne=k.text,xe=0,Re=0,qe=C;Re=0,tr=0,Pr=0;Pr0&&Zf>So&&(So=Zf)}else{var Yl=H[go.fontStack],Ol=Yl&&Yl[Mo];if(Ol&&Ol.rect)ws=Ol.rect,$s=Ol.metrics;else{var $u=C[go.fontStack],hc=$u&&$u[Mo];if(!hc)continue;$s=hc.metrics}Po=(ln-go.scale)*en}Zl?(k.verticalizable=!0,Nn.push({glyph:Mo,imageName:Xl,x:Zr,y:Vr+Po,vertical:Zl,scale:go.scale,fontStack:go.fontStack,sectionIndex:ks,metrics:$s,rect:ws}),Zr+=zu*go.scale+Gt):(Nn.push({glyph:Mo,imageName:Xl,x:Zr,y:Vr+Po,vertical:Zl,scale:go.scale,fontStack:go.fontStack,sectionIndex:ks,metrics:$s,rect:ws}),Zr+=$s.advance*go.scale+Gt)}if(Nn.length!==0){var tp=Zr-Gt;ua=Math.max(tp,ua),hA(Nn,0,Nn.length-1,Mi,So)}Zr=0;var rp=Re*ln+So;Vn.lineOffset=Math.max(So,Tn),Vr+=rp,Oa=Math.max(rp,Oa),++ii}var yh=Vr-mm,gp=$1(qe),yp=gp.horizontalAlign,ih=gp.verticalAlign;Oh(k.positionedLines,Mi,yp,ih,ua,Oa,Re,yh,xe.length),k.top+=-ih*yh,k.bottom=k.top+yh,k.left+=-yp*ua,k.right=k.left+ua}function hA(k,C,H,ne,xe){if(!(!ne&&!xe))for(var Re=k[H],qe=Re.metrics.advance*Re.scale,pt=(k[H].x+qe)*ne,Dt=C;Dt<=H;Dt++)k[Dt].x-=pt,k[Dt].y+=xe}function Oh(k,C,H,ne,xe,Re,qe,pt,Dt){var Gt=(C-H)*xe,tr=0;Re!==qe?tr=-pt*ne-mm:tr=(-ne*Dt+.5)*qe;for(var Pr=0,Zr=k;Pr-H/2;){if(qe--,qe<0)return!1;pt-=k[qe].dist(Re),Re=k[qe]}pt+=k[qe].dist(k[qe+1]),qe++;for(var Dt=[],Gt=0;ptne;)Gt-=Dt.shift().angleDelta;if(Gt>xe)return!1;qe++,pt+=Pr.dist(Zr)}return!0}function xk(k){for(var C=0,H=0;HGt){var ua=(Gt-Dt)/Vr,Oa=El(Pr.x,Zr.x,ua),Mi=El(Pr.y,Zr.y,ua),ii=new ep(Oa,Mi,Zr.angleTo(Pr),tr);return ii._round(),!qe||_k(k,ii,pt,qe,C)?ii:void 0}Dt+=Vr}}function _W(k,C,H,ne,xe,Re,qe,pt,Dt){var Gt=bk(ne,Re,qe),tr=wk(ne,xe),Pr=tr*qe,Zr=k[0].x===0||k[0].x===Dt||k[0].y===0||k[0].y===Dt;C-Pr=0&&Ji=0&&ln=0&&Zr+Gt<=tr){var Tn=new ep(Ji,ln,$i,ua);Tn._round(),(!ne||_k(k,Tn,Re,ne,xe))&&Vr.push(Tn)}}Pr+=ii}return!pt&&!Vr.length&&!qe&&(Vr=Tk(k,Pr/2,H,ne,xe,Re,qe,!0,Dt)),Vr}function Ak(k,C,H,ne,xe){for(var Re=[],qe=0;qe=ne&&Pr.x>=ne)&&(tr.x>=ne?tr=new n(ne,tr.y+(Pr.y-tr.y)*((ne-tr.x)/(Pr.x-tr.x)))._round():Pr.x>=ne&&(Pr=new n(ne,tr.y+(Pr.y-tr.y)*((ne-tr.x)/(Pr.x-tr.x)))._round()),!(tr.y>=xe&&Pr.y>=xe)&&(tr.y>=xe?tr=new n(tr.x+(Pr.x-tr.x)*((xe-tr.y)/(Pr.y-tr.y)),xe)._round():Pr.y>=xe&&(Pr=new n(tr.x+(Pr.x-tr.x)*((xe-tr.y)/(Pr.y-tr.y)),xe)._round()),(!Dt||!tr.equals(Dt[Dt.length-1]))&&(Dt=[tr],Re.push(Dt)),Dt.push(Pr)))))}return Re}var Bg=zc;function Sk(k,C,H,ne){var xe=[],Re=k.image,qe=Re.pixelRatio,pt=Re.paddedRect.w-2*Bg,Dt=Re.paddedRect.h-2*Bg,Gt=k.right-k.left,tr=k.bottom-k.top,Pr=Re.stretchX||[[0,pt]],Zr=Re.stretchY||[[0,Dt]],Vr=function(Yl,Ol){return Yl+Ol[1]-Ol[0]},ua=Pr.reduce(Vr,0),Oa=Zr.reduce(Vr,0),Mi=pt-ua,ii=Dt-Oa,$i=0,Oi=ua,Ji=0,ln=Oa,Tn=0,Vn=Mi,Nn=0,So=ii;if(Re.content&&ne){var oo=Re.content;$i=ub(Pr,0,oo[0]),Ji=ub(Zr,0,oo[1]),Oi=ub(Pr,oo[0],oo[2]),ln=ub(Zr,oo[1],oo[3]),Tn=oo[0]-$i,Nn=oo[1]-Ji,Vn=oo[2]-oo[0]-Oi,So=oo[3]-oo[1]-ln}var go=function(Yl,Ol,$u,hc){var hf=cb(Yl.stretch-$i,Oi,Gt,k.left),_f=fb(Yl.fixed-Tn,Vn,Yl.stretch,ua),gh=cb(Ol.stretch-Ji,ln,tr,k.top),Zf=fb(Ol.fixed-Nn,So,Ol.stretch,Oa),tp=cb($u.stretch-$i,Oi,Gt,k.left),rp=fb($u.fixed-Tn,Vn,$u.stretch,ua),yh=cb(hc.stretch-Ji,ln,tr,k.top),gp=fb(hc.fixed-Nn,So,hc.stretch,Oa),yp=new n(hf,gh),ih=new n(tp,gh),_p=new n(tp,yh),nd=new n(hf,yh),Uv=new n(_f/qe,Zf/qe),_m=new n(rp/qe,gp/qe),xm=C*Math.PI/180;if(xm){var bm=Math.sin(xm),Wg=Math.cos(xm),wd=[Wg,-bm,bm,Wg];yp._matMult(wd),ih._matMult(wd),nd._matMult(wd),_p._matMult(wd)}var gb=Yl.stretch+Yl.fixed,xA=$u.stretch+$u.fixed,yb=Ol.stretch+Ol.fixed,bA=hc.stretch+hc.fixed,hd={x:Re.paddedRect.x+Bg+gb,y:Re.paddedRect.y+Bg+yb,w:xA-gb,h:bA-yb},Xg=Vn/qe/Gt,_b=So/qe/tr;return{tl:yp,tr:ih,bl:nd,br:_p,tex:hd,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Uv,pixelOffsetBR:_m,minFontScaleX:Xg,minFontScaleY:_b,isSDF:H}};if(!ne||!Re.stretchX&&!Re.stretchY)xe.push(go({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:pt+1},{fixed:0,stretch:Dt+1}));else for(var ks=Mk(Pr,Mi,ua),Mo=Mk(Zr,ii,Oa),Po=0;Po0&&(ua=Math.max(10,ua),this.circleDiameter=ua)}else{var Oa=qe.top*pt-Dt,Mi=qe.bottom*pt+Dt,ii=qe.left*pt-Dt,$i=qe.right*pt+Dt,Oi=qe.collisionPadding;if(Oi&&(ii-=Oi[0]*pt,Oa-=Oi[1]*pt,$i+=Oi[2]*pt,Mi+=Oi[3]*pt),tr){var Ji=new n(ii,Oa),ln=new n($i,Oa),Tn=new n(ii,Mi),Vn=new n($i,Mi),Nn=tr*Math.PI/180;Ji._rotate(Nn),ln._rotate(Nn),Tn._rotate(Nn),Vn._rotate(Nn),ii=Math.min(Ji.x,ln.x,Tn.x,Vn.x),$i=Math.max(Ji.x,ln.x,Tn.x,Vn.x),Oa=Math.min(Ji.y,ln.y,Tn.y,Vn.y),Mi=Math.max(Ji.y,ln.y,Tn.y,Vn.y)}C.emplaceBack(H.x,H.y,ii,Oa,$i,Mi,ne,xe,Re)}this.boxEndIndex=C.length},Ng=function(C,H){if(C===void 0&&(C=[]),H===void 0&&(H=bW),this.data=C,this.length=this.data.length,this.compare=H,this.length>0)for(var ne=(this.length>>1)-1;ne>=0;ne--)this._down(ne)};Ng.prototype.push=function(C){this.data.push(C),this.length++,this._up(this.length-1)},Ng.prototype.pop=function(){if(this.length!==0){var C=this.data[0],H=this.data.pop();return this.length--,this.length>0&&(this.data[0]=H,this._down(0)),C}},Ng.prototype.peek=function(){return this.data[0]},Ng.prototype._up=function(C){for(var H=this,ne=H.data,xe=H.compare,Re=ne[C];C>0;){var qe=C-1>>1,pt=ne[qe];if(xe(Re,pt)>=0)break;ne[C]=pt,C=qe}ne[C]=Re},Ng.prototype._down=function(C){for(var H=this,ne=H.data,xe=H.compare,Re=this.length>>1,qe=ne[C];C=0)break;ne[C]=Dt,C=pt}ne[C]=qe};function bW(k,C){return kC?1:0}function wW(k,C,H){C===void 0&&(C=1),H===void 0&&(H=!1);for(var ne=1/0,xe=1/0,Re=-1/0,qe=-1/0,pt=k[0],Dt=0;DtRe)&&(Re=Gt.x),(!Dt||Gt.y>qe)&&(qe=Gt.y)}var tr=Re-ne,Pr=qe-xe,Zr=Math.min(tr,Pr),Vr=Zr/2,ua=new Ng([],TW);if(Zr===0)return new n(ne,xe);for(var Oa=ne;Oaii.d||!ii.d)&&(ii=Oi,H&&console.log(\"found best %d after %d probes\",Math.round(1e4*Oi.d)/1e4,$i)),!(Oi.max-ii.d<=C)&&(Vr=Oi.h/2,ua.push(new Ug(Oi.p.x-Vr,Oi.p.y-Vr,Vr,k)),ua.push(new Ug(Oi.p.x+Vr,Oi.p.y-Vr,Vr,k)),ua.push(new Ug(Oi.p.x-Vr,Oi.p.y+Vr,Vr,k)),ua.push(new Ug(Oi.p.x+Vr,Oi.p.y+Vr,Vr,k)),$i+=4)}return H&&(console.log(\"num probes: \"+$i),console.log(\"best distance: \"+ii.d)),ii.p}function TW(k,C){return C.max-k.max}function Ug(k,C,H,ne){this.p=new n(k,C),this.h=H,this.d=AW(this.p,ne),this.max=this.d+this.h*Math.SQRT2}function AW(k,C){for(var H=!1,ne=1/0,xe=0;xek.y!=tr.y>k.y&&k.x<(tr.x-Gt.x)*(k.y-Gt.y)/(tr.y-Gt.y)+Gt.x&&(H=!H),ne=Math.min(ne,qd(k,Gt,tr))}return(H?1:-1)*Math.sqrt(ne)}function SW(k){for(var C=0,H=0,ne=0,xe=k[0],Re=0,qe=xe.length,pt=qe-1;Re=ui||wd.y<0||wd.y>=ui||kW(k,wd,Wg,H,ne,xe,Mo,k.layers[0],k.collisionBoxArray,C.index,C.sourceLayerIndex,k.index,ii,ln,Nn,Dt,Oi,Tn,So,Vr,C,Re,Gt,tr,qe)};if(oo===\"line\")for(var $s=0,ws=Ak(C.geometry,0,0,ui,ui);$s1){var gh=yW(_f,Vn,H.vertical||ua,ne,Oa,$i);gh&&Po(_f,gh)}}else if(C.type===\"Polygon\")for(var Zf=0,tp=Cg(C.geometry,0);Zfgm&&B(k.layerIds[0]+': Value for \"text-size\" is >= '+Q1+'. Reduce your \"text-size\".')):Mi.kind===\"composite\"&&(ii=[Bh*Vr.compositeTextSizes[0].evaluate(qe,{},ua),Bh*Vr.compositeTextSizes[1].evaluate(qe,{},ua)],(ii[0]>gm||ii[1]>gm)&&B(k.layerIds[0]+': Value for \"text-size\" is >= '+Q1+'. Reduce your \"text-size\".')),k.addSymbols(k.text,Oa,ii,pt,Re,qe,Gt,C,Dt.lineStartIndex,Dt.lineLength,Zr,ua);for(var $i=0,Oi=tr;$igm&&B(k.layerIds[0]+': Value for \"icon-size\" is >= '+Q1+'. Reduce your \"icon-size\".')):yp.kind===\"composite\"&&(ih=[Bh*ln.compositeIconSizes[0].evaluate(Ji,{},Vn),Bh*ln.compositeIconSizes[1].evaluate(Ji,{},Vn)],(ih[0]>gm||ih[1]>gm)&&B(k.layerIds[0]+': Value for \"icon-size\" is >= '+Q1+'. Reduce your \"icon-size\".')),k.addSymbols(k.icon,yh,ih,Oi,$i,Ji,!1,C,oo.lineStartIndex,oo.lineLength,-1,Vn),Zl=k.icon.placedSymbolArray.length-1,gp&&(ws=gp.length*4,k.addSymbols(k.icon,gp,ih,Oi,$i,Ji,vp.vertical,C,oo.lineStartIndex,oo.lineLength,-1,Vn),Yl=k.icon.placedSymbolArray.length-1)}for(var _p in ne.horizontal){var nd=ne.horizontal[_p];if(!go){$u=me(nd.text);var Uv=pt.layout.get(\"text-rotate\").evaluate(Ji,{},Vn);go=new hb(Dt,C,Gt,tr,Pr,nd,Zr,Vr,ua,Uv)}var _m=nd.positionedLines.length===1;if(Xl+=kk(k,C,nd,Re,pt,ua,Ji,Oa,oo,ne.vertical?vp.horizontal:vp.horizontalOnly,_m?Object.keys(ne.horizontal):[_p],Ol,Zl,ln,Vn),_m)break}ne.vertical&&(zu+=kk(k,C,ne.vertical,Re,pt,ua,Ji,Oa,oo,vp.vertical,[\"vertical\"],Ol,Yl,ln,Vn));var xm=go?go.boxStartIndex:k.collisionBoxArray.length,bm=go?go.boxEndIndex:k.collisionBoxArray.length,Wg=Mo?Mo.boxStartIndex:k.collisionBoxArray.length,wd=Mo?Mo.boxEndIndex:k.collisionBoxArray.length,gb=ks?ks.boxStartIndex:k.collisionBoxArray.length,xA=ks?ks.boxEndIndex:k.collisionBoxArray.length,yb=Po?Po.boxStartIndex:k.collisionBoxArray.length,bA=Po?Po.boxEndIndex:k.collisionBoxArray.length,hd=-1,Xg=function(r_,Hk){return r_&&r_.circleDiameter?Math.max(r_.circleDiameter,Hk):Hk};hd=Xg(go,hd),hd=Xg(Mo,hd),hd=Xg(ks,hd),hd=Xg(Po,hd);var _b=hd>-1?1:0;_b&&(hd*=Nn/en),k.glyphOffsetArray.length>=Du.MAX_GLYPHS&&B(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Ji.sortKey!==void 0&&k.addToSortKeyRanges(k.symbolInstances.length,Ji.sortKey),k.symbolInstances.emplaceBack(C.x,C.y,Ol.right>=0?Ol.right:-1,Ol.center>=0?Ol.center:-1,Ol.left>=0?Ol.left:-1,Ol.vertical||-1,Zl,Yl,$u,xm,bm,Wg,wd,gb,xA,yb,bA,Gt,Xl,zu,$s,ws,_b,0,Zr,hc,hf,hd)}function CW(k,C,H,ne){var xe=k.compareText;if(!(C in xe))xe[C]=[];else for(var Re=xe[C],qe=Re.length-1;qe>=0;qe--)if(ne.dist(Re[qe])0)&&(qe.value.kind!==\"constant\"||qe.value.value.length>0),tr=Dt.value.kind!==\"constant\"||!!Dt.value.value||Object.keys(Dt.parameters).length>0,Pr=Re.get(\"symbol-sort-key\");if(this.features=[],!(!Gt&&!tr)){for(var Zr=H.iconDependencies,Vr=H.glyphDependencies,ua=H.availableImages,Oa=new gn(this.zoom),Mi=0,ii=C;Mi=0;for(var zu=0,Zl=So.sections;zu=0;Dt--)qe[Dt]={x:H[Dt].x,y:H[Dt].y,tileUnitDistanceFromAnchor:Re},Dt>0&&(Re+=H[Dt-1].dist(H[Dt]));for(var Gt=0;Gt0},Du.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Du.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Du.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Du.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Du.prototype.addIndicesForPlacedSymbol=function(C,H){for(var ne=C.placedSymbolArray.get(H),xe=ne.vertexStartIndex+ne.numGlyphs*4,Re=ne.vertexStartIndex;Re1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(C),this.sortedAngle=C,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var ne=0,xe=this.symbolInstanceIndexes;ne=0&&Gt.indexOf(pt)===Dt&&H.addIndicesForPlacedSymbol(H.text,pt)}),qe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,qe.verticalPlacedTextSymbolIndex),qe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,qe.placedIconSymbolIndex),qe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,qe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},de(\"SymbolBucket\",Du,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Du.MAX_GLYPHS=65535,Du.addDynamicAttributes=vA;function RW(k,C){return C.replace(/{([^{}]+)}/g,function(H,ne){return ne in k?String(k[ne]):\"\"})}var DW=new ma({\"symbol-placement\":new it(Gi.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new it(Gi.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new it(Gi.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Zt(Gi.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new it(Gi.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new it(Gi.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new it(Gi.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new it(Gi.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new it(Gi.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Zt(Gi.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new it(Gi.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new it(Gi.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Zt(Gi.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Zt(Gi.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new it(Gi.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new it(Gi.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Zt(Gi.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Zt(Gi.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new it(Gi.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new it(Gi.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new it(Gi.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Zt(Gi.layout_symbol[\"text-field\"]),\"text-font\":new Zt(Gi.layout_symbol[\"text-font\"]),\"text-size\":new Zt(Gi.layout_symbol[\"text-size\"]),\"text-max-width\":new Zt(Gi.layout_symbol[\"text-max-width\"]),\"text-line-height\":new it(Gi.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Zt(Gi.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Zt(Gi.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Zt(Gi.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new it(Gi.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Zt(Gi.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new it(Gi.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new it(Gi.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Zt(Gi.layout_symbol[\"text-rotate\"]),\"text-padding\":new it(Gi.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new it(Gi.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Zt(Gi.layout_symbol[\"text-transform\"]),\"text-offset\":new Zt(Gi.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new it(Gi.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new it(Gi.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new it(Gi.layout_symbol[\"text-optional\"])}),zW=new ma({\"icon-opacity\":new Zt(Gi.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Zt(Gi.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Zt(Gi.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Zt(Gi.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Zt(Gi.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new it(Gi.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new it(Gi.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Zt(Gi.paint_symbol[\"text-opacity\"]),\"text-color\":new Zt(Gi.paint_symbol[\"text-color\"],{runtimeType:Is,getOverride:function(k){return k.textColor},hasOverride:function(k){return!!k.textColor}}),\"text-halo-color\":new Zt(Gi.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Zt(Gi.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Zt(Gi.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new it(Gi.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new it(Gi.paint_symbol[\"text-translate-anchor\"])}),mA={paint:zW,layout:DW},Vg=function(C){this.type=C.property.overrides?C.property.overrides.runtimeType:il,this.defaultValue=C};Vg.prototype.evaluate=function(C){if(C.formattedSection){var H=this.defaultValue.property.overrides;if(H&&H.hasOverride(C.formattedSection))return H.getOverride(C.formattedSection)}return C.feature&&C.featureState?this.defaultValue.evaluate(C.feature,C.featureState):this.defaultValue.property.specification.default},Vg.prototype.eachChild=function(C){if(!this.defaultValue.isConstant()){var H=this.defaultValue.value;C(H._styleExpression.expression)}},Vg.prototype.outputDefined=function(){return!1},Vg.prototype.serialize=function(){return null},de(\"FormatSectionOverride\",Vg,{omit:[\"defaultValue\"]});var FW=function(k){function C(H){k.call(this,H,mA)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.recalculate=function(ne,xe){if(k.prototype.recalculate.call(this,ne,xe),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var Re=this.layout.get(\"text-writing-mode\");if(Re){for(var qe=[],pt=0,Dt=Re;pt\",targetMapId:xe,sourceMapId:qe.mapId})}}},Gg.prototype.receive=function(C){var H=C.data,ne=H.id;if(ne&&!(H.targetMapId&&this.mapId!==H.targetMapId))if(H.type===\"\"){delete this.tasks[ne];var xe=this.cancelCallbacks[ne];delete this.cancelCallbacks[ne],xe&&xe()}else le()||H.mustQueue?(this.tasks[ne]=H,this.taskQueue.push(ne),this.invoker.trigger()):this.processTask(ne,H)},Gg.prototype.process=function(){if(this.taskQueue.length){var C=this.taskQueue.shift(),H=this.tasks[C];delete this.tasks[C],this.taskQueue.length&&this.invoker.trigger(),H&&this.processTask(C,H)}},Gg.prototype.processTask=function(C,H){var ne=this;if(H.type===\"\"){var xe=this.callbacks[C];delete this.callbacks[C],xe&&(H.error?xe(Mt(H.error)):xe(null,Mt(H.data)))}else{var Re=!1,qe=Y(this.globalScope)?void 0:[],pt=H.hasCallback?function(Zr,Vr){Re=!0,delete ne.cancelCallbacks[C],ne.target.postMessage({id:C,type:\"\",sourceMapId:ne.mapId,error:Zr?bt(Zr):null,data:bt(Vr,qe)},qe)}:function(Zr){Re=!0},Dt=null,Gt=Mt(H.data);if(this.parent[H.type])Dt=this.parent[H.type](H.sourceMapId,Gt,pt);else if(this.parent.getWorkerSource){var tr=H.type.split(\".\"),Pr=this.parent.getWorkerSource(H.sourceMapId,tr[0],Gt.source);Dt=Pr[tr[1]](Gt,pt)}else pt(new Error(\"Could not find function \"+H.type));!Re&&Dt&&Dt.cancel&&(this.cancelCallbacks[C]=Dt.cancel)}},Gg.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function XW(k,C,H){C=Math.pow(2,H)-C-1;var ne=Dk(k*256,C*256,H),xe=Dk((k+1)*256,(C+1)*256,H);return ne[0]+\",\"+ne[1]+\",\"+xe[0]+\",\"+xe[1]}function Dk(k,C,H){var ne=2*Math.PI*6378137/256/Math.pow(2,H),xe=k*ne-2*Math.PI*6378137/2,Re=C*ne-2*Math.PI*6378137/2;return[xe,Re]}var Wf=function(C,H){C&&(H?this.setSouthWest(C).setNorthEast(H):C.length===4?this.setSouthWest([C[0],C[1]]).setNorthEast([C[2],C[3]]):this.setSouthWest(C[0]).setNorthEast(C[1]))};Wf.prototype.setNorthEast=function(C){return this._ne=C instanceof Fc?new Fc(C.lng,C.lat):Fc.convert(C),this},Wf.prototype.setSouthWest=function(C){return this._sw=C instanceof Fc?new Fc(C.lng,C.lat):Fc.convert(C),this},Wf.prototype.extend=function(C){var H=this._sw,ne=this._ne,xe,Re;if(C instanceof Fc)xe=C,Re=C;else if(C instanceof Wf){if(xe=C._sw,Re=C._ne,!xe||!Re)return this}else{if(Array.isArray(C))if(C.length===4||C.every(Array.isArray)){var qe=C;return this.extend(Wf.convert(qe))}else{var pt=C;return this.extend(Fc.convert(pt))}return this}return!H&&!ne?(this._sw=new Fc(xe.lng,xe.lat),this._ne=new Fc(Re.lng,Re.lat)):(H.lng=Math.min(xe.lng,H.lng),H.lat=Math.min(xe.lat,H.lat),ne.lng=Math.max(Re.lng,ne.lng),ne.lat=Math.max(Re.lat,ne.lat)),this},Wf.prototype.getCenter=function(){return new Fc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Wf.prototype.getSouthWest=function(){return this._sw},Wf.prototype.getNorthEast=function(){return this._ne},Wf.prototype.getNorthWest=function(){return new Fc(this.getWest(),this.getNorth())},Wf.prototype.getSouthEast=function(){return new Fc(this.getEast(),this.getSouth())},Wf.prototype.getWest=function(){return this._sw.lng},Wf.prototype.getSouth=function(){return this._sw.lat},Wf.prototype.getEast=function(){return this._ne.lng},Wf.prototype.getNorth=function(){return this._ne.lat},Wf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Wf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Wf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Wf.prototype.contains=function(C){var H=Fc.convert(C),ne=H.lng,xe=H.lat,Re=this._sw.lat<=xe&&xe<=this._ne.lat,qe=this._sw.lng<=ne&&ne<=this._ne.lng;return this._sw.lng>this._ne.lng&&(qe=this._sw.lng>=ne&&ne>=this._ne.lng),Re&&qe},Wf.convert=function(C){return!C||C instanceof Wf?C:new Wf(C)};var zk=63710088e-1,Fc=function(C,H){if(isNaN(C)||isNaN(H))throw new Error(\"Invalid LngLat object: (\"+C+\", \"+H+\")\");if(this.lng=+C,this.lat=+H,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Fc.prototype.wrap=function(){return new Fc(_(this.lng,-180,180),this.lat)},Fc.prototype.toArray=function(){return[this.lng,this.lat]},Fc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Fc.prototype.distanceTo=function(C){var H=Math.PI/180,ne=this.lat*H,xe=C.lat*H,Re=Math.sin(ne)*Math.sin(xe)+Math.cos(ne)*Math.cos(xe)*Math.cos((C.lng-this.lng)*H),qe=zk*Math.acos(Math.min(Re,1));return qe},Fc.prototype.toBounds=function(C){C===void 0&&(C=0);var H=40075017,ne=360*C/H,xe=ne/Math.cos(Math.PI/180*this.lat);return new Wf(new Fc(this.lng-xe,this.lat-ne),new Fc(this.lng+xe,this.lat+ne))},Fc.convert=function(C){if(C instanceof Fc)return C;if(Array.isArray(C)&&(C.length===2||C.length===3))return new Fc(Number(C[0]),Number(C[1]));if(!Array.isArray(C)&&typeof C==\"object\"&&C!==null)return new Fc(Number(\"lng\"in C?C.lng:C.lon),Number(C.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")};var Fk=2*Math.PI*zk;function Ok(k){return Fk*Math.cos(k*Math.PI/180)}function Bk(k){return(180+k)/360}function Nk(k){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+k*Math.PI/360)))/360}function Uk(k,C){return k/Ok(C)}function ZW(k){return k*360-180}function yA(k){var C=180-k*360;return 360/Math.PI*Math.atan(Math.exp(C*Math.PI/180))-90}function YW(k,C){return k*Ok(yA(C))}function KW(k){return 1/Math.cos(k*Math.PI/180)}var U0=function(C,H,ne){ne===void 0&&(ne=0),this.x=+C,this.y=+H,this.z=+ne};U0.fromLngLat=function(C,H){H===void 0&&(H=0);var ne=Fc.convert(C);return new U0(Bk(ne.lng),Nk(ne.lat),Uk(H,ne.lat))},U0.prototype.toLngLat=function(){return new Fc(ZW(this.x),yA(this.y))},U0.prototype.toAltitude=function(){return YW(this.z,this.y)},U0.prototype.meterInMercatorCoordinateUnits=function(){return 1/Fk*KW(yA(this.y))};var j0=function(C,H,ne){this.z=C,this.x=H,this.y=ne,this.key=t_(0,C,C,H,ne)};j0.prototype.equals=function(C){return this.z===C.z&&this.x===C.x&&this.y===C.y},j0.prototype.url=function(C,H){var ne=XW(this.x,this.y,this.z),xe=JW(this.z,this.x,this.y);return C[(this.x+this.y)%C.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(H===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",xe).replace(\"{bbox-epsg-3857}\",ne)},j0.prototype.getTilePoint=function(C){var H=Math.pow(2,this.z);return new n((C.x*H-this.x)*ui,(C.y*H-this.y)*ui)},j0.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var jk=function(C,H){this.wrap=C,this.canonical=H,this.key=t_(C,H.z,H.z,H.x,H.y)},Xf=function(C,H,ne,xe,Re){this.overscaledZ=C,this.wrap=H,this.canonical=new j0(ne,+xe,+Re),this.key=t_(H,C,ne,xe,Re)};Xf.prototype.equals=function(C){return this.overscaledZ===C.overscaledZ&&this.wrap===C.wrap&&this.canonical.equals(C.canonical)},Xf.prototype.scaledTo=function(C){var H=this.canonical.z-C;return C>this.canonical.z?new Xf(C,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Xf(C,this.wrap,C,this.canonical.x>>H,this.canonical.y>>H)},Xf.prototype.calculateScaledKey=function(C,H){var ne=this.canonical.z-C;return C>this.canonical.z?t_(this.wrap*+H,C,this.canonical.z,this.canonical.x,this.canonical.y):t_(this.wrap*+H,C,C,this.canonical.x>>ne,this.canonical.y>>ne)},Xf.prototype.isChildOf=function(C){if(C.wrap!==this.wrap)return!1;var H=this.canonical.z-C.canonical.z;return C.overscaledZ===0||C.overscaledZ>H&&C.canonical.y===this.canonical.y>>H},Xf.prototype.children=function(C){if(this.overscaledZ>=C)return[new Xf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var H=this.canonical.z+1,ne=this.canonical.x*2,xe=this.canonical.y*2;return[new Xf(H,this.wrap,H,ne,xe),new Xf(H,this.wrap,H,ne+1,xe),new Xf(H,this.wrap,H,ne,xe+1),new Xf(H,this.wrap,H,ne+1,xe+1)]},Xf.prototype.isLessThan=function(C){return this.wrapC.wrap?!1:this.overscaledZC.overscaledZ?!1:this.canonical.xC.canonical.x?!1:this.canonical.y0;Re--)xe=1<=this.dim+1||H<-1||H>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(H+1)*this.stride+(C+1)},Bv.prototype._unpackMapbox=function(C,H,ne){return(C*256*256+H*256+ne)/10-1e4},Bv.prototype._unpackTerrarium=function(C,H,ne){return C*256+H+ne/256-32768},Bv.prototype.getPixels=function(){return new eh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Bv.prototype.backfillBorder=function(C,H,ne){if(this.dim!==C.dim)throw new Error(\"dem dimension mismatch\");var xe=H*this.dim,Re=H*this.dim+this.dim,qe=ne*this.dim,pt=ne*this.dim+this.dim;switch(H){case-1:xe=Re-1;break;case 1:Re=xe+1;break}switch(ne){case-1:qe=pt-1;break;case 1:pt=qe+1;break}for(var Dt=-H*this.dim,Gt=-ne*this.dim,tr=qe;tr=0&&Pr[3]>=0&&Dt.insert(pt,Pr[0],Pr[1],Pr[2],Pr[3])}},Nv.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Xd.VectorTile(new mo(this.rawTileData)).layers,this.sourceLayerCoder=new vb(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Nv.prototype.query=function(C,H,ne,xe){var Re=this;this.loadVTLayers();for(var qe=C.params||{},pt=ui/C.tileSize/C.scale,Dt=Je(qe.filter),Gt=C.queryGeometry,tr=C.queryPadding*pt,Pr=Vk(Gt),Zr=this.grid.query(Pr.minX-tr,Pr.minY-tr,Pr.maxX+tr,Pr.maxY+tr),Vr=Vk(C.cameraQueryGeometry),ua=this.grid3D.query(Vr.minX-tr,Vr.minY-tr,Vr.maxX+tr,Vr.maxY+tr,function(Tn,Vn,Nn,So){return td(C.cameraQueryGeometry,Tn-tr,Vn-tr,Nn+tr,So+tr)}),Oa=0,Mi=ua;Oaxe)Re=!1;else if(!H)Re=!0;else if(this.expirationTime=Ir.maxzoom)&&Ir.visibility!==\"none\"){h(xr,this.zoom,Jt);var Ur=$a[Ir.id]=Ir.createBucket({index:Ba.bucketLayerIDs.length,layers:xr,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:tn,sourceID:this.source});Ur.populate(on,Za,this.tileID.canonical),Ba.bucketLayerIDs.push(xr.map(function(la){return la.id}))}}}}var Hr,xt,Xt,vr,Or=e.mapObject(Za.glyphDependencies,function(la){return Object.keys(la).map(Number)});Object.keys(Or).length?Fr.send(\"getGlyphs\",{uid:this.uid,stacks:Or},function(la,Ta){Hr||(Hr=la,xt=Ta,ya.call(ra))}):xt={};var ba=Object.keys(Za.iconDependencies);ba.length?Fr.send(\"getImages\",{icons:ba,source:this.source,tileID:this.tileID,type:\"icons\"},function(la,Ta){Hr||(Hr=la,Xt=Ta,ya.call(ra))}):Xt={};var Pa=Object.keys(Za.patternDependencies);Pa.length?Fr.send(\"getImages\",{icons:Pa,source:this.source,tileID:this.tileID,type:\"patterns\"},function(la,Ta){Hr||(Hr=la,vr=Ta,ya.call(ra))}):vr={},ya.call(this);function ya(){if(Hr)return ta(Hr);if(xt&&Xt&&vr){var la=new i(xt),Ta=new e.ImageAtlas(Xt,vr);for(var Ai in $a){var ki=$a[Ai];ki instanceof e.SymbolBucket?(h(ki.layers,this.zoom,Jt),e.performSymbolLayout(ki,xt,la.positions,Xt,Ta.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):ki.hasPattern&&(ki instanceof e.LineBucket||ki instanceof e.FillBucket||ki instanceof e.FillExtrusionBucket)&&(h(ki.layers,this.zoom,Jt),ki.addFeatures(Za,this.tileID.canonical,Ta.patternPositions))}this.status=\"done\",ta(null,{buckets:e.values($a).filter(function(Ki){return!Ki.isEmpty()}),featureIndex:Ba,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:la.image,imageAtlas:Ta,glyphMap:this.returnDependencies?xt:null,iconMap:this.returnDependencies?Xt:null,glyphPositions:this.returnDependencies?la.positions:null})}}};function h(Kt,Ft,Yt){for(var Jt=new e.EvaluationParameters(Ft),Fr=0,ta=Kt;Fr=0!=!!Ft&&Kt.reverse()}var M=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,g=function(Ft){this._feature=Ft,this.extent=e.EXTENT,this.type=Ft.type,this.properties=Ft.tags,\"id\"in Ft&&!isNaN(Ft.id)&&(this.id=parseInt(Ft.id,10))};g.prototype.loadGeometry=function(){if(this._feature.type===1){for(var Ft=[],Yt=0,Jt=this._feature.geometry;Yt\"u\"&&(Jt.push(ca),Ba=Jt.length-1,ta[ca]=Ba),Ft.writeVarint(Ba);var $a=Yt.properties[ca],Za=typeof $a;Za!==\"string\"&&Za!==\"boolean\"&&Za!==\"number\"&&($a=JSON.stringify($a));var ri=Za+\":\"+$a,pi=ra[ri];typeof pi>\"u\"&&(Fr.push($a),pi=Fr.length-1,ra[ri]=pi),Ft.writeVarint(pi)}}function $(Kt,Ft){return(Ft<<3)+(Kt&7)}function se(Kt){return Kt<<1^Kt>>31}function le(Kt,Ft){for(var Yt=Kt.loadGeometry(),Jt=Kt.type,Fr=0,ta=0,ra=Yt.length,ca=0;ca>1;Y(Kt,Ft,ra,Jt,Fr,ta%2),V(Kt,Ft,Yt,Jt,ra-1,ta+1),V(Kt,Ft,Yt,ra+1,Fr,ta+1)}}function Y(Kt,Ft,Yt,Jt,Fr,ta){for(;Fr>Jt;){if(Fr-Jt>600){var ra=Fr-Jt+1,ca=Yt-Jt+1,Ba=Math.log(ra),$a=.5*Math.exp(2*Ba/3),Za=.5*Math.sqrt(Ba*$a*(ra-$a)/ra)*(ca-ra/2<0?-1:1),ri=Math.max(Jt,Math.floor(Yt-ca*$a/ra+Za)),pi=Math.min(Fr,Math.floor(Yt+(ra-ca)*$a/ra+Za));Y(Kt,Ft,Yt,ri,pi,ta)}var Ra=Ft[2*Yt+ta],tn=Jt,on=Fr;for(ee(Kt,Ft,Jt,Yt),Ft[2*Fr+ta]>Ra&&ee(Kt,Ft,Jt,Fr);tnRa;)on--}Ft[2*Jt+ta]===Ra?ee(Kt,Ft,Jt,on):(on++,ee(Kt,Ft,on,Fr)),on<=Yt&&(Jt=on+1),Yt<=on&&(Fr=on-1)}}function ee(Kt,Ft,Yt,Jt){q(Kt,Yt,Jt),q(Ft,2*Yt,2*Jt),q(Ft,2*Yt+1,2*Jt+1)}function q(Kt,Ft,Yt){var Jt=Kt[Ft];Kt[Ft]=Kt[Yt],Kt[Yt]=Jt}function oe(Kt,Ft,Yt,Jt,Fr,ta,ra){for(var ca=[0,Kt.length-1,0],Ba=[],$a,Za;ca.length;){var ri=ca.pop(),pi=ca.pop(),Ra=ca.pop();if(pi-Ra<=ra){for(var tn=Ra;tn<=pi;tn++)$a=Ft[2*tn],Za=Ft[2*tn+1],$a>=Yt&&$a<=Fr&&Za>=Jt&&Za<=ta&&Ba.push(Kt[tn]);continue}var on=Math.floor((Ra+pi)/2);$a=Ft[2*on],Za=Ft[2*on+1],$a>=Yt&&$a<=Fr&&Za>=Jt&&Za<=ta&&Ba.push(Kt[on]);var hn=(ri+1)%2;(ri===0?Yt<=$a:Jt<=Za)&&(ca.push(Ra),ca.push(on-1),ca.push(hn)),(ri===0?Fr>=$a:ta>=Za)&&(ca.push(on+1),ca.push(pi),ca.push(hn))}return Ba}function ae(Kt,Ft,Yt,Jt,Fr,ta){for(var ra=[0,Kt.length-1,0],ca=[],Ba=Fr*Fr;ra.length;){var $a=ra.pop(),Za=ra.pop(),ri=ra.pop();if(Za-ri<=ta){for(var pi=ri;pi<=Za;pi++)j(Ft[2*pi],Ft[2*pi+1],Yt,Jt)<=Ba&&ca.push(Kt[pi]);continue}var Ra=Math.floor((ri+Za)/2),tn=Ft[2*Ra],on=Ft[2*Ra+1];j(tn,on,Yt,Jt)<=Ba&&ca.push(Kt[Ra]);var hn=($a+1)%2;($a===0?Yt-Fr<=tn:Jt-Fr<=on)&&(ra.push(ri),ra.push(Ra-1),ra.push(hn)),($a===0?Yt+Fr>=tn:Jt+Fr>=on)&&(ra.push(Ra+1),ra.push(Za),ra.push(hn))}return ca}function j(Kt,Ft,Yt,Jt){var Fr=Kt-Yt,ta=Ft-Jt;return Fr*Fr+ta*ta}var Q=function(Kt){return Kt[0]},re=function(Kt){return Kt[1]},ce=function(Ft,Yt,Jt,Fr,ta){Yt===void 0&&(Yt=Q),Jt===void 0&&(Jt=re),Fr===void 0&&(Fr=64),ta===void 0&&(ta=Float64Array),this.nodeSize=Fr,this.points=Ft;for(var ra=Ft.length<65536?Uint16Array:Uint32Array,ca=this.ids=new ra(Ft.length),Ba=this.coords=new ta(Ft.length*2),$a=0;$a=Fr;Za--){var ri=+Date.now();Ba=this._cluster(Ba,Za),this.trees[Za]=new ce(Ba,he,Oe,ra,Float32Array),Jt&&console.log(\"z%d: %d clusters in %dms\",Za,Ba.length,+Date.now()-ri)}return Jt&&console.timeEnd(\"total time\"),this},Ae.prototype.getClusters=function(Ft,Yt){var Jt=((Ft[0]+180)%360+360)%360-180,Fr=Math.max(-90,Math.min(90,Ft[1])),ta=Ft[2]===180?180:((Ft[2]+180)%360+360)%360-180,ra=Math.max(-90,Math.min(90,Ft[3]));if(Ft[2]-Ft[0]>=360)Jt=-180,ta=180;else if(Jt>ta){var ca=this.getClusters([Jt,Fr,180,ra],Yt),Ba=this.getClusters([-180,Fr,ta,ra],Yt);return ca.concat(Ba)}for(var $a=this.trees[this._limitZoom(Yt)],Za=$a.range(nt(Jt),rt(ra),nt(ta),rt(Fr)),ri=[],pi=0,Ra=Za;piYt&&(on+=Br.numPoints||1)}if(on>=Ba){for(var Cr=ri.x*tn,xr=ri.y*tn,Ir=ca&&tn>1?this._map(ri,!0):null,Ur=(Za<<5)+(Yt+1)+this.points.length,Hr=0,xt=Ra;Hr1)for(var ba=0,Pa=Ra;ba>5},Ae.prototype._getOriginZoom=function(Ft){return(Ft-this.points.length)%32},Ae.prototype._map=function(Ft,Yt){if(Ft.numPoints)return Yt?ye({},Ft.properties):Ft.properties;var Jt=this.points[Ft.index].properties,Fr=this.options.map(Jt);return Yt&&Fr===Jt?ye({},Fr):Fr};function De(Kt,Ft,Yt,Jt,Fr){return{x:Kt,y:Ft,zoom:1/0,id:Yt,parentId:-1,numPoints:Jt,properties:Fr}}function ze(Kt,Ft){var Yt=Kt.geometry.coordinates,Jt=Yt[0],Fr=Yt[1];return{x:nt(Jt),y:rt(Fr),zoom:1/0,index:Ft,parentId:-1}}function Ze(Kt){return{type:\"Feature\",id:Kt.id,properties:at(Kt),geometry:{type:\"Point\",coordinates:[st(Kt.x),Me(Kt.y)]}}}function at(Kt){var Ft=Kt.numPoints,Yt=Ft>=1e4?Math.round(Ft/1e3)+\"k\":Ft>=1e3?Math.round(Ft/100)/10+\"k\":Ft;return ye(ye({},Kt.properties),{cluster:!0,cluster_id:Kt.id,point_count:Ft,point_count_abbreviated:Yt})}function nt(Kt){return Kt/360+.5}function rt(Kt){var Ft=Math.sin(Kt*Math.PI/180),Yt=.5-.25*Math.log((1+Ft)/(1-Ft))/Math.PI;return Yt<0?0:Yt>1?1:Yt}function st(Kt){return(Kt-.5)*360}function Me(Kt){var Ft=(180-Kt*360)*Math.PI/180;return 360*Math.atan(Math.exp(Ft))/Math.PI-90}function ye(Kt,Ft){for(var Yt in Ft)Kt[Yt]=Ft[Yt];return Kt}function he(Kt){return Kt.x}function Oe(Kt){return Kt.y}function tt(Kt,Ft,Yt,Jt){for(var Fr=Jt,ta=Yt-Ft>>1,ra=Yt-Ft,ca,Ba=Kt[Ft],$a=Kt[Ft+1],Za=Kt[Yt],ri=Kt[Yt+1],pi=Ft+3;piFr)ca=pi,Fr=Ra;else if(Ra===Fr){var tn=Math.abs(pi-ta);tnJt&&(ca-Ft>3&&tt(Kt,Ft,ca,Jt),Kt[ca+2]=Fr,Yt-ca>3&&tt(Kt,ca,Yt,Jt))}function ot(Kt,Ft,Yt,Jt,Fr,ta){var ra=Fr-Yt,ca=ta-Jt;if(ra!==0||ca!==0){var Ba=((Kt-Yt)*ra+(Ft-Jt)*ca)/(ra*ra+ca*ca);Ba>1?(Yt=Fr,Jt=ta):Ba>0&&(Yt+=ra*Ba,Jt+=ca*Ba)}return ra=Kt-Yt,ca=Ft-Jt,ra*ra+ca*ca}function Qe(Kt,Ft,Yt,Jt){var Fr={id:typeof Kt>\"u\"?null:Kt,type:Ft,geometry:Yt,tags:Jt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Pt(Fr),Fr}function Pt(Kt){var Ft=Kt.geometry,Yt=Kt.type;if(Yt===\"Point\"||Yt===\"MultiPoint\"||Yt===\"LineString\")It(Kt,Ft);else if(Yt===\"Polygon\"||Yt===\"MultiLineString\")for(var Jt=0;Jt0&&(Jt?ra+=(Fr*$a-Ba*ta)/2:ra+=Math.sqrt(Math.pow(Ba-Fr,2)+Math.pow($a-ta,2))),Fr=Ba,ta=$a}var Za=Ft.length-3;Ft[2]=1,tt(Ft,0,Za,Yt),Ft[Za+2]=1,Ft.size=Math.abs(ra),Ft.start=0,Ft.end=Ft.size}function qr(Kt,Ft,Yt,Jt){for(var Fr=0;Fr1?1:Yt}function wt(Kt,Ft,Yt,Jt,Fr,ta,ra,ca){if(Yt/=Ft,Jt/=Ft,ta>=Yt&&ra=Jt)return null;for(var Ba=[],$a=0;$a=Yt&&tn=Jt)continue;var on=[];if(pi===\"Point\"||pi===\"MultiPoint\")Ne(ri,on,Yt,Jt,Fr);else if(pi===\"LineString\")Ke(ri,on,Yt,Jt,Fr,!1,ca.lineMetrics);else if(pi===\"MultiLineString\")Ie(ri,on,Yt,Jt,Fr,!1);else if(pi===\"Polygon\")Ie(ri,on,Yt,Jt,Fr,!0);else if(pi===\"MultiPolygon\")for(var hn=0;hn=Yt&&ra<=Jt&&(Ft.push(Kt[ta]),Ft.push(Kt[ta+1]),Ft.push(Kt[ta+2]))}}function Ke(Kt,Ft,Yt,Jt,Fr,ta,ra){for(var ca=Te(Kt),Ba=Fr===0?Ce:Ee,$a=Kt.start,Za,ri,pi=0;piYt&&(ri=Ba(ca,Ra,tn,hn,Tt,Yt),ra&&(ca.start=$a+Za*ri)):ut>Jt?Br=Yt&&(ri=Ba(ca,Ra,tn,hn,Tt,Yt),Cr=!0),Br>Jt&&ut<=Jt&&(ri=Ba(ca,Ra,tn,hn,Tt,Jt),Cr=!0),!ta&&Cr&&(ra&&(ca.end=$a+Za*ri),Ft.push(ca),ca=Te(Kt)),ra&&($a+=Za)}var xr=Kt.length-3;Ra=Kt[xr],tn=Kt[xr+1],on=Kt[xr+2],ut=Fr===0?Ra:tn,ut>=Yt&&ut<=Jt&&Ve(ca,Ra,tn,on),xr=ca.length-3,ta&&xr>=3&&(ca[xr]!==ca[0]||ca[xr+1]!==ca[1])&&Ve(ca,ca[0],ca[1],ca[2]),ca.length&&Ft.push(ca)}function Te(Kt){var Ft=[];return Ft.size=Kt.size,Ft.start=Kt.start,Ft.end=Kt.end,Ft}function Ie(Kt,Ft,Yt,Jt,Fr,ta){for(var ra=0;rara.maxX&&(ra.maxX=Za),ri>ra.maxY&&(ra.maxY=ri)}return ra}function rr(Kt,Ft,Yt,Jt){var Fr=Ft.geometry,ta=Ft.type,ra=[];if(ta===\"Point\"||ta===\"MultiPoint\")for(var ca=0;ca0&&Ft.size<(Fr?ra:Jt)){Yt.numPoints+=Ft.length/3;return}for(var ca=[],Ba=0;Bara)&&(Yt.numSimplified++,ca.push(Ft[Ba]),ca.push(Ft[Ba+1])),Yt.numPoints++;Fr&&Lr(ca,ta),Kt.push(ca)}function Lr(Kt,Ft){for(var Yt=0,Jt=0,Fr=Kt.length,ta=Fr-2;Jt0===Ft)for(Jt=0,Fr=Kt.length;Jt24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ft.promoteId&&Ft.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Jt=qt(Kt,Ft);this.tiles={},this.tileCoords=[],Yt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",Ft.indexMaxZoom,Ft.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Jt=Pe(Jt,Ft),Jt.length&&this.splitTile(Jt,0,0,0),Yt&&(Jt.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)))}Da.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Da.prototype.splitTile=function(Kt,Ft,Yt,Jt,Fr,ta,ra){for(var ca=[Kt,Ft,Yt,Jt],Ba=this.options,$a=Ba.debug;ca.length;){Jt=ca.pop(),Yt=ca.pop(),Ft=ca.pop(),Kt=ca.pop();var Za=1<1&&console.time(\"creation\"),pi=this.tiles[ri]=ir(Kt,Ft,Yt,Jt,Ba),this.tileCoords.push({z:Ft,x:Yt,y:Jt}),$a)){$a>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ft,Yt,Jt,pi.numFeatures,pi.numPoints,pi.numSimplified),console.timeEnd(\"creation\"));var Ra=\"z\"+Ft;this.stats[Ra]=(this.stats[Ra]||0)+1,this.total++}if(pi.source=Kt,Fr){if(Ft===Ba.maxZoom||Ft===Fr)continue;var tn=1<1&&console.time(\"clipping\");var on=.5*Ba.buffer/Ba.extent,hn=.5-on,Tt=.5+on,ut=1+on,Br,Cr,xr,Ir,Ur,Hr;Br=Cr=xr=Ir=null,Ur=wt(Kt,Za,Yt-on,Yt+Tt,0,pi.minX,pi.maxX,Ba),Hr=wt(Kt,Za,Yt+hn,Yt+ut,0,pi.minX,pi.maxX,Ba),Kt=null,Ur&&(Br=wt(Ur,Za,Jt-on,Jt+Tt,1,pi.minY,pi.maxY,Ba),Cr=wt(Ur,Za,Jt+hn,Jt+ut,1,pi.minY,pi.maxY,Ba),Ur=null),Hr&&(xr=wt(Hr,Za,Jt-on,Jt+Tt,1,pi.minY,pi.maxY,Ba),Ir=wt(Hr,Za,Jt+hn,Jt+ut,1,pi.minY,pi.maxY,Ba),Hr=null),$a>1&&console.timeEnd(\"clipping\"),ca.push(Br||[],Ft+1,Yt*2,Jt*2),ca.push(Cr||[],Ft+1,Yt*2,Jt*2+1),ca.push(xr||[],Ft+1,Yt*2+1,Jt*2),ca.push(Ir||[],Ft+1,Yt*2+1,Jt*2+1)}}},Da.prototype.getTile=function(Kt,Ft,Yt){var Jt=this.options,Fr=Jt.extent,ta=Jt.debug;if(Kt<0||Kt>24)return null;var ra=1<1&&console.log(\"drilling down to z%d-%d-%d\",Kt,Ft,Yt);for(var Ba=Kt,$a=Ft,Za=Yt,ri;!ri&&Ba>0;)Ba--,$a=Math.floor($a/2),Za=Math.floor(Za/2),ri=this.tiles[Ia(Ba,$a,Za)];return!ri||!ri.source?null:(ta>1&&console.log(\"found parent tile z%d-%d-%d\",Ba,$a,Za),ta>1&&console.time(\"drilling down\"),this.splitTile(ri.source,Ba,$a,Za,Kt,Ft,Yt),ta>1&&console.timeEnd(\"drilling down\"),this.tiles[ca]?_t(this.tiles[ca],Fr):null)};function Ia(Kt,Ft,Yt){return((1<=0?0:ve.button},r.remove=function(ve){ve.parentNode&&ve.parentNode.removeChild(ve)};function p(ve,K,_e){var te,me,Ge,Le=e.browser.devicePixelRatio>1?\"@2x\":\"\",$e=e.getJSON(K.transformRequest(K.normalizeSpriteURL(ve,Le,\".json\"),e.ResourceType.SpriteJSON),function(wr,Nr){$e=null,Ge||(Ge=wr,te=Nr,jt())}),gt=e.getImage(K.transformRequest(K.normalizeSpriteURL(ve,Le,\".png\"),e.ResourceType.SpriteImage),function(wr,Nr){gt=null,Ge||(Ge=wr,me=Nr,jt())});function jt(){if(Ge)_e(Ge);else if(te&&me){var wr=e.browser.getImageData(me),Nr={};for(var pr in te){var yt=te[pr],kt=yt.width,Bt=yt.height,nr=yt.x,hr=yt.y,lr=yt.sdf,dr=yt.pixelRatio,ur=yt.stretchX,Ht=yt.stretchY,sr=yt.content,Vt=new e.RGBAImage({width:kt,height:Bt});e.RGBAImage.copy(wr,Vt,{x:nr,y:hr},{x:0,y:0},{width:kt,height:Bt}),Nr[pr]={data:Vt,pixelRatio:dr,sdf:lr,stretchX:ur,stretchY:Ht,content:sr}}_e(null,Nr)}}return{cancel:function(){$e&&($e.cancel(),$e=null),gt&&(gt.cancel(),gt=null)}}}function T(ve){var K=ve.userImage;if(K&&K.render){var _e=K.render();if(_e)return ve.data.replace(new Uint8Array(K.data.buffer)),!0}return!1}var l=1,_=function(ve){function K(){ve.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.isLoaded=function(){return this.loaded},K.prototype.setLoaded=function(te){if(this.loaded!==te&&(this.loaded=te,te)){for(var me=0,Ge=this.requestors;me=0?1.2:1))}b.prototype.draw=function(ve){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(ve,this.buffer,this.middle);for(var K=this.ctx.getImageData(0,0,this.size,this.size),_e=new Uint8ClampedArray(this.size*this.size),te=0;te65535){wr(new Error(\"glyphs > 65535 not supported\"));return}if(yt.ranges[Bt]){wr(null,{stack:Nr,id:pr,glyph:kt});return}var nr=yt.requests[Bt];nr||(nr=yt.requests[Bt]=[],y.loadGlyphRange(Nr,Bt,te.url,te.requestManager,function(hr,lr){if(lr){for(var dr in lr)te._doesCharSupportLocalGlyph(+dr)||(yt.glyphs[+dr]=lr[+dr]);yt.ranges[Bt]=!0}for(var ur=0,Ht=nr;ur1&&(jt=K[++gt]);var Nr=Math.abs(wr-jt.left),pr=Math.abs(wr-jt.right),yt=Math.min(Nr,pr),kt=void 0,Bt=Ge/te*(me+1);if(jt.isDash){var nr=me-Math.abs(Bt);kt=Math.sqrt(yt*yt+nr*nr)}else kt=me-Math.sqrt(yt*yt+Bt*Bt);this.data[$e+wr]=Math.max(0,Math.min(255,kt+128))}},F.prototype.addRegularDash=function(K){for(var _e=K.length-1;_e>=0;--_e){var te=K[_e],me=K[_e+1];te.zeroLength?K.splice(_e,1):me&&me.isDash===te.isDash&&(me.left=te.left,K.splice(_e,1))}var Ge=K[0],Le=K[K.length-1];Ge.isDash===Le.isDash&&(Ge.left=Le.left-this.width,Le.right=Ge.right+this.width);for(var $e=this.width*this.nextRow,gt=0,jt=K[gt],wr=0;wr1&&(jt=K[++gt]);var Nr=Math.abs(wr-jt.left),pr=Math.abs(wr-jt.right),yt=Math.min(Nr,pr),kt=jt.isDash?yt:-yt;this.data[$e+wr]=Math.max(0,Math.min(255,kt+128))}},F.prototype.addDash=function(K,_e){var te=_e?7:0,me=2*te+1;if(this.nextRow+me>this.height)return e.warnOnce(\"LineAtlas out of space\"),null;for(var Ge=0,Le=0;Le=te.minX&&K.x=te.minY&&K.y0&&(wr[new e.OverscaledTileID(te.overscaledZ,$e,me.z,Le,me.y-1).key]={backfilled:!1},wr[new e.OverscaledTileID(te.overscaledZ,te.wrap,me.z,me.x,me.y-1).key]={backfilled:!1},wr[new e.OverscaledTileID(te.overscaledZ,jt,me.z,gt,me.y-1).key]={backfilled:!1}),me.y+10&&(Ge.resourceTiming=te._resourceTiming,te._resourceTiming=[]),te.fire(new e.Event(\"data\",Ge))})},K.prototype.onAdd=function(te){this.map=te,this.load()},K.prototype.setData=function(te){var me=this;return this._data=te,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(Ge){if(Ge){me.fire(new e.ErrorEvent(Ge));return}var Le={dataType:\"source\",sourceDataType:\"content\"};me._collectResourceTiming&&me._resourceTiming&&me._resourceTiming.length>0&&(Le.resourceTiming=me._resourceTiming,me._resourceTiming=[]),me.fire(new e.Event(\"data\",Le))}),this},K.prototype.getClusterExpansionZoom=function(te,me){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:te,source:this.id},me),this},K.prototype.getClusterChildren=function(te,me){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:te,source:this.id},me),this},K.prototype.getClusterLeaves=function(te,me,Ge,Le){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:te,limit:me,offset:Ge},Le),this},K.prototype._updateWorkerData=function(te){var me=this;this._loaded=!1;var Ge=e.extend({},this.workerOptions),Le=this._data;typeof Le==\"string\"?(Ge.request=this.map._requestManager.transformRequest(e.browser.resolveURL(Le),e.ResourceType.Source),Ge.request.collectResourceTiming=this._collectResourceTiming):Ge.data=JSON.stringify(Le),this.actor.send(this.type+\".loadData\",Ge,function($e,gt){me._removed||gt&>.abandoned||(me._loaded=!0,gt&>.resourceTiming&>.resourceTiming[me.id]&&(me._resourceTiming=gt.resourceTiming[me.id].slice(0)),me.actor.send(me.type+\".coalesce\",{source:Ge.source},null),te($e))})},K.prototype.loaded=function(){return this._loaded},K.prototype.loadTile=function(te,me){var Ge=this,Le=te.actor?\"reloadTile\":\"loadTile\";te.actor=this.actor;var $e={type:this.type,uid:te.uid,tileID:te.tileID,zoom:te.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};te.request=this.actor.send(Le,$e,function(gt,jt){return delete te.request,te.unloadVectorData(),te.aborted?me(null):gt?me(gt):(te.loadVectorData(jt,Ge.map.painter,Le===\"reloadTile\"),me(null))})},K.prototype.abortTile=function(te){te.request&&(te.request.cancel(),delete te.request),te.aborted=!0},K.prototype.unloadTile=function(te){te.unloadVectorData(),this.actor.send(\"removeTile\",{uid:te.uid,type:this.type,source:this.id})},K.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},K.prototype.serialize=function(){return e.extend({},this._options,{type:this.type,data:this._data})},K.prototype.hasTransition=function(){return!1},K}(e.Evented),se=e.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),le=function(ve){function K(_e,te,me,Ge){ve.call(this),this.id=_e,this.dispatcher=me,this.coordinates=te.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(Ge),this.options=te}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.load=function(te,me){var Ge=this;this._loaded=!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),function(Le,$e){Ge._loaded=!0,Le?Ge.fire(new e.ErrorEvent(Le)):$e&&(Ge.image=$e,te&&(Ge.coordinates=te),me&&me(),Ge._finishLoading())})},K.prototype.loaded=function(){return this._loaded},K.prototype.updateImage=function(te){var me=this;return!this.image||!te.url?this:(this.options.url=te.url,this.load(te.coordinates,function(){me.texture=null}),this)},K.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},K.prototype.onAdd=function(te){this.map=te,this.load()},K.prototype.setCoordinates=function(te){var me=this;this.coordinates=te;var Ge=te.map(e.MercatorCoordinate.fromLngLat);this.tileID=fe(Ge),this.minzoom=this.maxzoom=this.tileID.z;var Le=Ge.map(function($e){return me.tileID.getTilePoint($e)._round()});return this._boundsArray=new e.StructArrayLayout4i8,this._boundsArray.emplaceBack(Le[0].x,Le[0].y,0,0),this._boundsArray.emplaceBack(Le[1].x,Le[1].y,e.EXTENT,0),this._boundsArray.emplaceBack(Le[3].x,Le[3].y,0,e.EXTENT),this._boundsArray.emplaceBack(Le[2].x,Le[2].y,e.EXTENT,e.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},K.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var te=this.map.painter.context,me=te.gl;this.boundsBuffer||(this.boundsBuffer=te.createVertexBuffer(this._boundsArray,se.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new e.Texture(te,this.image,me.RGBA),this.texture.bind(me.LINEAR,me.CLAMP_TO_EDGE));for(var Ge in this.tiles){var Le=this.tiles[Ge];Le.state!==\"loaded\"&&(Le.state=\"loaded\",Le.texture=this.texture)}}},K.prototype.loadTile=function(te,me){this.tileID&&this.tileID.equals(te.tileID.canonical)?(this.tiles[String(te.tileID.wrap)]=te,te.buckets={},me(null)):(te.state=\"errored\",me(null))},K.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},K.prototype.hasTransition=function(){return!1},K}(e.Evented);function fe(ve){for(var K=1/0,_e=1/0,te=-1/0,me=-1/0,Ge=0,Le=ve;Geme.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+me.start(0)+\" and \"+me.end(0)+\"-second mark.\"))):this.video.currentTime=te}},K.prototype.getVideo=function(){return this.video},K.prototype.onAdd=function(te){this.map||(this.map=te,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},K.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var te=this.map.painter.context,me=te.gl;this.boundsBuffer||(this.boundsBuffer=te.createVertexBuffer(this._boundsArray,se.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(me.LINEAR,me.CLAMP_TO_EDGE),me.texSubImage2D(me.TEXTURE_2D,0,0,0,me.RGBA,me.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(te,this.video,me.RGBA),this.texture.bind(me.LINEAR,me.CLAMP_TO_EDGE));for(var Ge in this.tiles){var Le=this.tiles[Ge];Le.state!==\"loaded\"&&(Le.state=\"loaded\",Le.texture=this.texture)}}},K.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},K.prototype.hasTransition=function(){return this.video&&!this.video.paused},K}(le),Y=function(ve){function K(_e,te,me,Ge){ve.call(this,_e,te,me,Ge),te.coordinates?(!Array.isArray(te.coordinates)||te.coordinates.length!==4||te.coordinates.some(function(Le){return!Array.isArray(Le)||Le.length!==2||Le.some(function($e){return typeof $e!=\"number\"})}))&&this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+_e,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+_e,null,'missing required property \"coordinates\"'))),te.animate&&typeof te.animate!=\"boolean\"&&this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+_e,null,'optional \"animate\" property must be a boolean value'))),te.canvas?typeof te.canvas!=\"string\"&&!(te.canvas instanceof e.window.HTMLCanvasElement)&&this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+_e,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 e.ErrorEvent(new e.ValidationError(\"sources.\"+_e,null,'missing required property \"canvas\"'))),this.options=te,this.animate=te.animate!==void 0?te.animate:!0}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new e.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},K.prototype.getCanvas=function(){return this.canvas},K.prototype.onAdd=function(te){this.map=te,this.load(),this.canvas&&this.animate&&this.play()},K.prototype.onRemove=function(){this.pause()},K.prototype.prepare=function(){var te=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,te=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,te=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var me=this.map.painter.context,Ge=me.gl;this.boundsBuffer||(this.boundsBuffer=me.createVertexBuffer(this._boundsArray,se.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(te||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(me,this.canvas,Ge.RGBA,{premultiply:!0});for(var Le in this.tiles){var $e=this.tiles[Le];$e.state!==\"loaded\"&&($e.state=\"loaded\",$e.texture=this.texture)}}},K.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},K.prototype.hasTransition=function(){return this._playing},K.prototype._hasInvalidDimensions=function(){for(var te=0,me=[this.canvas.width,this.canvas.height];tethis.max){var $e=this._getAndRemoveByKey(this.order[0]);$e&&this.onRemove($e)}return this},ze.prototype.has=function(K){return K.wrapped().key in this.data},ze.prototype.getAndRemove=function(K){return this.has(K)?this._getAndRemoveByKey(K.wrapped().key):null},ze.prototype._getAndRemoveByKey=function(K){var _e=this.data[K].shift();return _e.timeout&&clearTimeout(_e.timeout),this.data[K].length===0&&delete this.data[K],this.order.splice(this.order.indexOf(K),1),_e.value},ze.prototype.getByKey=function(K){var _e=this.data[K];return _e?_e[0].value:null},ze.prototype.get=function(K){if(!this.has(K))return null;var _e=this.data[K.wrapped().key][0];return _e.value},ze.prototype.remove=function(K,_e){if(!this.has(K))return this;var te=K.wrapped().key,me=_e===void 0?0:this.data[te].indexOf(_e),Ge=this.data[te][me];return this.data[te].splice(me,1),Ge.timeout&&clearTimeout(Ge.timeout),this.data[te].length===0&&delete this.data[te],this.onRemove(Ge.value),this.order.splice(this.order.indexOf(te),1),this},ze.prototype.setMaxSize=function(K){for(this.max=K;this.order.length>this.max;){var _e=this._getAndRemoveByKey(this.order[0]);_e&&this.onRemove(_e)}return this},ze.prototype.filter=function(K){var _e=[];for(var te in this.data)for(var me=0,Ge=this.data[te];me1||(Math.abs(Nr)>1&&(Math.abs(Nr+yt)===1?Nr+=yt:Math.abs(Nr-yt)===1&&(Nr-=yt)),!(!wr.dem||!jt.dem)&&(jt.dem.backfillBorder(wr.dem,Nr,pr),jt.neighboringTiles&&jt.neighboringTiles[kt]&&(jt.neighboringTiles[kt].backfilled=!0)))}},K.prototype.getTile=function(te){return this.getTileByID(te.key)},K.prototype.getTileByID=function(te){return this._tiles[te]},K.prototype._retainLoadedChildren=function(te,me,Ge,Le){for(var $e in this._tiles){var gt=this._tiles[$e];if(!(Le[$e]||!gt.hasData()||gt.tileID.overscaledZ<=me||gt.tileID.overscaledZ>Ge)){for(var jt=gt.tileID;gt&>.tileID.overscaledZ>me+1;){var wr=gt.tileID.scaledTo(gt.tileID.overscaledZ-1);gt=this._tiles[wr.key],gt&>.hasData()&&(jt=wr)}for(var Nr=jt;Nr.overscaledZ>me;)if(Nr=Nr.scaledTo(Nr.overscaledZ-1),te[Nr.key]){Le[jt.key]=jt;break}}}},K.prototype.findLoadedParent=function(te,me){if(te.key in this._loadedParentTiles){var Ge=this._loadedParentTiles[te.key];return Ge&&Ge.tileID.overscaledZ>=me?Ge:null}for(var Le=te.overscaledZ-1;Le>=me;Le--){var $e=te.scaledTo(Le),gt=this._getLoadedTile($e);if(gt)return gt}},K.prototype._getLoadedTile=function(te){var me=this._tiles[te.key];if(me&&me.hasData())return me;var Ge=this._cache.getByKey(te.wrapped().key);return Ge},K.prototype.updateCacheSize=function(te){var me=Math.ceil(te.width/this._source.tileSize)+1,Ge=Math.ceil(te.height/this._source.tileSize)+1,Le=me*Ge,$e=5,gt=Math.floor(Le*$e),jt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,gt):gt;this._cache.setMaxSize(jt)},K.prototype.handleWrapJump=function(te){var me=this._prevLng===void 0?te:this._prevLng,Ge=te-me,Le=Ge/360,$e=Math.round(Le);if(this._prevLng=te,$e){var gt={};for(var jt in this._tiles){var wr=this._tiles[jt];wr.tileID=wr.tileID.unwrapTo(wr.tileID.wrap+$e),gt[wr.tileID.key]=wr}this._tiles=gt;for(var Nr in this._timers)clearTimeout(this._timers[Nr]),delete this._timers[Nr];for(var pr in this._tiles){var yt=this._tiles[pr];this._setTileReloadTimer(pr,yt)}}},K.prototype.update=function(te){var me=this;if(this.transform=te,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(te),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var Ge;this.used?this._source.tileID?Ge=te.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(ga){return new e.OverscaledTileID(ga.canonical.z,ga.wrap,ga.canonical.z,ga.canonical.x,ga.canonical.y)}):(Ge=te.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(Ge=Ge.filter(function(ga){return me._source.hasTile(ga)}))):Ge=[];var Le=te.coveringZoomLevel(this._source),$e=Math.max(Le-K.maxOverzooming,this._source.minzoom),gt=Math.max(Le+K.maxUnderzooming,this._source.minzoom),jt=this._updateRetainedTiles(Ge,Le);if(Ba(this._source.type)){for(var wr={},Nr={},pr=Object.keys(jt),yt=0,kt=pr;ytthis._source.maxzoom){var lr=nr.children(this._source.maxzoom)[0],dr=this.getTile(lr);if(dr&&dr.hasData()){Ge[lr.key]=lr;continue}}else{var ur=nr.children(this._source.maxzoom);if(Ge[ur[0].key]&&Ge[ur[1].key]&&Ge[ur[2].key]&&Ge[ur[3].key])continue}for(var Ht=hr.wasRequested(),sr=nr.overscaledZ-1;sr>=$e;--sr){var Vt=nr.scaledTo(sr);if(Le[Vt.key]||(Le[Vt.key]=!0,hr=this.getTile(Vt),!hr&&Ht&&(hr=this._addTile(Vt)),hr&&(Ge[Vt.key]=Vt,Ht=hr.wasRequested(),hr.hasData())))break}}}return Ge},K.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var te in this._tiles){for(var me=[],Ge=void 0,Le=this._tiles[te].tileID;Le.overscaledZ>0;){if(Le.key in this._loadedParentTiles){Ge=this._loadedParentTiles[Le.key];break}me.push(Le.key);var $e=Le.scaledTo(Le.overscaledZ-1);if(Ge=this._getLoadedTile($e),Ge)break;Le=$e}for(var gt=0,jt=me;gt0)&&(me.hasData()&&me.state!==\"reloading\"?this._cache.add(me.tileID,me,me.getExpiryTimeout()):(me.aborted=!0,this._abortTile(me),this._unloadTile(me))))},K.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var te in this._tiles)this._removeTile(te);this._cache.reset()},K.prototype.tilesIn=function(te,me,Ge){var Le=this,$e=[],gt=this.transform;if(!gt)return $e;for(var jt=Ge?gt.getCameraQueryGeometry(te):te,wr=te.map(function(sr){return gt.pointCoordinate(sr)}),Nr=jt.map(function(sr){return gt.pointCoordinate(sr)}),pr=this.getIds(),yt=1/0,kt=1/0,Bt=-1/0,nr=-1/0,hr=0,lr=Nr;hr=0&&vi[1].y+ga>=0){var Ga=wr.map(function(Zi){return Dr.getTilePoint(Zi)}),ai=Nr.map(function(Zi){return Dr.getTilePoint(Zi)});$e.push({tile:Vt,tileID:Dr,queryGeometry:Ga,cameraQueryGeometry:ai,scale:Jr})}}},Ht=0;Ht=e.browser.now())return!0}return!1},K.prototype.setFeatureState=function(te,me,Ge){te=te||\"_geojsonTileLayer\",this._state.updateState(te,me,Ge)},K.prototype.removeFeatureState=function(te,me,Ge){te=te||\"_geojsonTileLayer\",this._state.removeFeatureState(te,me,Ge)},K.prototype.getFeatureState=function(te,me){return te=te||\"_geojsonTileLayer\",this._state.getState(te,me)},K.prototype.setDependencies=function(te,me,Ge){var Le=this._tiles[te];Le&&Le.setDependencies(me,Ge)},K.prototype.reloadTilesForDependencies=function(te,me){for(var Ge in this._tiles){var Le=this._tiles[Ge];Le.hasDependency(te,me)&&this._reloadTile(Ge,\"reloading\")}this._cache.filter(function($e){return!$e.hasDependency(te,me)})},K}(e.Evented);ra.maxOverzooming=10,ra.maxUnderzooming=3;function ca(ve,K){var _e=Math.abs(ve.wrap*2)-+(ve.wrap<0),te=Math.abs(K.wrap*2)-+(K.wrap<0);return ve.overscaledZ-K.overscaledZ||te-_e||K.canonical.y-ve.canonical.y||K.canonical.x-ve.canonical.x}function Ba(ve){return ve===\"raster\"||ve===\"image\"||ve===\"video\"}function $a(){return new e.window.Worker(Co.workerUrl)}var Za=\"mapboxgl_preloaded_worker_pool\",ri=function(){this.active={}};ri.prototype.acquire=function(K){if(!this.workers)for(this.workers=[];this.workers.length0?(me-Le)/$e:0;return this.points[Ge].mult(1-gt).add(this.points[_e].mult(gt))};var la=function(K,_e,te){var me=this.boxCells=[],Ge=this.circleCells=[];this.xCellCount=Math.ceil(K/te),this.yCellCount=Math.ceil(_e/te);for(var Le=0;Lethis.width||me<0||_e>this.height)return Ge?!1:[];var $e=[];if(K<=0&&_e<=0&&this.width<=te&&this.height<=me){if(Ge)return!0;for(var gt=0;gt0:$e}},la.prototype._queryCircle=function(K,_e,te,me,Ge){var Le=K-te,$e=K+te,gt=_e-te,jt=_e+te;if($e<0||Le>this.width||jt<0||gt>this.height)return me?!1:[];var wr=[],Nr={hitTest:me,circle:{x:K,y:_e,radius:te},seenUids:{box:{},circle:{}}};return this._forEachCell(Le,gt,$e,jt,this._queryCellCircle,wr,Nr,Ge),me?wr.length>0:wr},la.prototype.query=function(K,_e,te,me,Ge){return this._query(K,_e,te,me,!1,Ge)},la.prototype.hitTest=function(K,_e,te,me,Ge){return this._query(K,_e,te,me,!0,Ge)},la.prototype.hitTestCircle=function(K,_e,te,me){return this._queryCircle(K,_e,te,!0,me)},la.prototype._queryCell=function(K,_e,te,me,Ge,Le,$e,gt){var jt=$e.seenUids,wr=this.boxCells[Ge];if(wr!==null)for(var Nr=this.bboxes,pr=0,yt=wr;pr=Nr[Bt+0]&&me>=Nr[Bt+1]&&(!gt||gt(this.boxKeys[kt]))){if($e.hitTest)return Le.push(!0),!0;Le.push({key:this.boxKeys[kt],x1:Nr[Bt],y1:Nr[Bt+1],x2:Nr[Bt+2],y2:Nr[Bt+3]})}}}var nr=this.circleCells[Ge];if(nr!==null)for(var hr=this.circles,lr=0,dr=nr;lr$e*$e+gt*gt},la.prototype._circleAndRectCollide=function(K,_e,te,me,Ge,Le,$e){var gt=(Le-me)/2,jt=Math.abs(K-(me+gt));if(jt>gt+te)return!1;var wr=($e-Ge)/2,Nr=Math.abs(_e-(Ge+wr));if(Nr>wr+te)return!1;if(jt<=gt||Nr<=wr)return!0;var pr=jt-gt,yt=Nr-wr;return pr*pr+yt*yt<=te*te};function Ta(ve,K,_e,te,me){var Ge=e.create();return K?(e.scale(Ge,Ge,[1/me,1/me,1]),_e||e.rotateZ(Ge,Ge,te.angle)):e.multiply(Ge,te.labelPlaneMatrix,ve),Ge}function Ai(ve,K,_e,te,me){if(K){var Ge=e.clone(ve);return e.scale(Ge,Ge,[me,me,1]),_e||e.rotateZ(Ge,Ge,-te.angle),Ge}else return te.glCoordMatrix}function ki(ve,K){var _e=[ve.x,ve.y,0,1];Oo(_e,_e,K);var te=_e[3];return{point:new e.Point(_e[0]/te,_e[1]/te),signedDistanceFromCamera:te}}function Ki(ve,K){return .5+.5*(ve/K)}function _n(ve,K){var _e=ve[0]/ve[3],te=ve[1]/ve[3],me=_e>=-K[0]&&_e<=K[0]&&te>=-K[1]&&te<=K[1];return me}function Rn(ve,K,_e,te,me,Ge,Le,$e){var gt=te?ve.textSizeData:ve.iconSizeData,jt=e.evaluateSizeForZoom(gt,_e.transform.zoom),wr=[256/_e.width*2+1,256/_e.height*2+1],Nr=te?ve.text.dynamicLayoutVertexArray:ve.icon.dynamicLayoutVertexArray;Nr.clear();for(var pr=ve.lineVertexArray,yt=te?ve.text.placedSymbolArray:ve.icon.placedSymbolArray,kt=_e.transform.width/_e.transform.height,Bt=!1,nr=0;nrGe)return{useVertical:!0}}return(ve===e.WritingMode.vertical?K.y<_e.y:K.x>_e.x)?{needsFlipping:!0}:null}function no(ve,K,_e,te,me,Ge,Le,$e,gt,jt,wr,Nr,pr,yt){var kt=K/24,Bt=ve.lineOffsetX*kt,nr=ve.lineOffsetY*kt,hr;if(ve.numGlyphs>1){var lr=ve.glyphStartIndex+ve.numGlyphs,dr=ve.lineStartIndex,ur=ve.lineStartIndex+ve.lineLength,Ht=En(kt,$e,Bt,nr,_e,wr,Nr,ve,gt,Ge,pr);if(!Ht)return{notEnoughRoom:!0};var sr=ki(Ht.first.point,Le).point,Vt=ki(Ht.last.point,Le).point;if(te&&!_e){var Dr=On(ve.writingMode,sr,Vt,yt);if(Dr)return Dr}hr=[Ht.first];for(var Jr=ve.glyphStartIndex+1;Jr0?ai.point:cn(Nr,Ga,ga,1,me),Fi=On(ve.writingMode,ga,Zi,yt);if(Fi)return Fi}var ui=lo(kt*$e.getoffsetX(ve.glyphStartIndex),Bt,nr,_e,wr,Nr,ve.segment,ve.lineStartIndex,ve.lineStartIndex+ve.lineLength,gt,Ge,pr);if(!ui)return{notEnoughRoom:!0};hr=[ui]}for(var _i=0,Si=hr;_i0?1:-1,kt=0;te&&(yt*=-1,kt=Math.PI),yt<0&&(kt+=Math.PI);for(var Bt=yt>0?$e+Le:$e+Le+1,nr=me,hr=me,lr=0,dr=0,ur=Math.abs(pr),Ht=[];lr+dr<=ur;){if(Bt+=yt,Bt<$e||Bt>=gt)return null;if(hr=nr,Ht.push(nr),nr=Nr[Bt],nr===void 0){var sr=new e.Point(jt.getx(Bt),jt.gety(Bt)),Vt=ki(sr,wr);if(Vt.signedDistanceFromCamera>0)nr=Nr[Bt]=Vt.point;else{var Dr=Bt-yt,Jr=lr===0?Ge:new e.Point(jt.getx(Dr),jt.gety(Dr));nr=cn(Jr,sr,hr,ur-lr+1,wr)}}lr+=dr,dr=hr.dist(nr)}var ga=(ur-lr)/dr,vi=nr.sub(hr),Ga=vi.mult(ga)._add(hr);Ga._add(vi._unit()._perp()._mult(_e*yt));var ai=kt+Math.atan2(nr.y-hr.y,nr.x-hr.x);return Ht.push(Ga),{point:Ga,angle:ai,path:Ht}}var Wo=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function hs(ve,K){for(var _e=0;_e=1;Ui--)Si.push(ui.path[Ui]);for(var fn=1;fn<_i.path.length;fn++)Si.push(_i.path[fn]);var _o=Ga*2.5;if(gt){var Bo=Si.map(function(Lp){return ki(Lp,gt)});Bo.some(function(Lp){return Lp.signedDistanceFromCamera<=0})?Si=[]:Si=Bo.map(function(Lp){return Lp.point})}var Ps=[];if(Si.length>0){for(var Do=Si[0].clone(),Ms=Si[0].clone(),Ys=1;Ys=ai.x&&Ms.x<=Zi.x&&Do.y>=ai.y&&Ms.y<=Zi.y?Ps=[Si]:Ms.xZi.x||Ms.yZi.y?Ps=[]:Ps=e.clipLine([Si],ai.x,ai.y,Zi.x,Zi.y)}for(var mu=0,Ep=Ps;mu=this.screenRightBoundary||methis.screenBottomBoundary},No.prototype.isInsideGrid=function(K,_e,te,me){return te>=0&&K=0&&_e0){var ur;return this.prevPlacement&&this.prevPlacement.variableOffsets[pr.crossTileID]&&this.prevPlacement.placements[pr.crossTileID]&&this.prevPlacement.placements[pr.crossTileID].text&&(ur=this.prevPlacement.variableOffsets[pr.crossTileID].anchor),this.variableOffsets[pr.crossTileID]={textOffset:nr,width:te,height:me,anchor:K,textBoxScale:Ge,prevAnchor:ur},this.markUsedJustification(yt,K,pr,kt),yt.allowVerticalPlacement&&(this.markUsedOrientation(yt,kt,pr),this.placedOrientations[pr.crossTileID]=kt),{shift:hr,placedGlyphBoxes:lr}}},Xo.prototype.placeLayerBucketPart=function(K,_e,te){var me=this,Ge=K.parameters,Le=Ge.bucket,$e=Ge.layout,gt=Ge.posMatrix,jt=Ge.textLabelPlaneMatrix,wr=Ge.labelToScreenMatrix,Nr=Ge.textPixelRatio,pr=Ge.holdingForFade,yt=Ge.collisionBoxArray,kt=Ge.partiallyEvaluatedTextSize,Bt=Ge.collisionGroup,nr=$e.get(\"text-optional\"),hr=$e.get(\"icon-optional\"),lr=$e.get(\"text-allow-overlap\"),dr=$e.get(\"icon-allow-overlap\"),ur=$e.get(\"text-rotation-alignment\")===\"map\",Ht=$e.get(\"text-pitch-alignment\")===\"map\",sr=$e.get(\"icon-text-fit\")!==\"none\",Vt=$e.get(\"symbol-z-order\")===\"viewport-y\",Dr=lr&&(dr||!Le.hasIconData()||hr),Jr=dr&&(lr||!Le.hasTextData()||nr);!Le.collisionArrays&&yt&&Le.deserializeCollisionBoxes(yt);var ga=function(ui,_i){if(!_e[ui.crossTileID]){if(pr){me.placements[ui.crossTileID]=new uo(!1,!1,!1);return}var Si=!1,Ui=!1,fn=!0,_o=null,Bo={box:null,offscreen:null},Ps={box:null,offscreen:null},Do=null,Ms=null,Ys=null,mu=0,Ep=0,kp=0;_i.textFeatureIndex?mu=_i.textFeatureIndex:ui.useRuntimeCollisionCircles&&(mu=ui.featureIndex),_i.verticalTextFeatureIndex&&(Ep=_i.verticalTextFeatureIndex);var Ph=_i.textBox;if(Ph){var qp=function(cc){var fu=e.WritingMode.horizontal;if(Le.allowVerticalPlacement&&!cc&&me.prevPlacement){var Dh=me.prevPlacement.placedOrientations[ui.crossTileID];Dh&&(me.placedOrientations[ui.crossTileID]=Dh,fu=Dh,me.markUsedOrientation(Le,fu,ui))}return fu},qd=function(cc,fu){if(Le.allowVerticalPlacement&&ui.numVerticalGlyphVertices>0&&_i.verticalTextBox)for(var Dh=0,Iv=Le.writingModes;Dh0&&(Kh=Kh.filter(function(cc){return cc!==Rh.anchor}),Kh.unshift(Rh.anchor))}var Cp=function(cc,fu,Dh){for(var Iv=cc.x2-cc.x1,sm=cc.y2-cc.y1,Mu=ui.textBoxScale,w0=sr&&!dr?fu:null,sv={box:[],offscreen:!1},xg=lr?Kh.length*2:Kh.length,Pp=0;Pp=Kh.length,T0=me.attemptAnchorPlacement(lv,cc,Iv,sm,Mu,ur,Ht,Nr,gt,Bt,bg,ui,Le,Dh,w0);if(T0&&(sv=T0.placedGlyphBoxes,sv&&sv.box&&sv.box.length)){Si=!0,_o=T0.shift;break}}return sv},Vp=function(){return Cp(Ph,_i.iconBox,e.WritingMode.horizontal)},Lp=function(){var cc=_i.verticalTextBox,fu=Bo&&Bo.box&&Bo.box.length;return Le.allowVerticalPlacement&&!fu&&ui.numVerticalGlyphVertices>0&&cc?Cp(cc,_i.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null}};qd(Vp,Lp),Bo&&(Si=Bo.box,fn=Bo.offscreen);var Cv=qp(Bo&&Bo.box);if(!Si&&me.prevPlacement){var Vd=me.prevPlacement.variableOffsets[ui.crossTileID];Vd&&(me.variableOffsets[ui.crossTileID]=Vd,me.markUsedJustification(Le,Vd.anchor,ui,Cv))}}else{var ed=function(cc,fu){var Dh=me.collisionIndex.placeCollisionBox(cc,lr,Nr,gt,Bt.predicate);return Dh&&Dh.box&&Dh.box.length&&(me.markUsedOrientation(Le,fu,ui),me.placedOrientations[ui.crossTileID]=fu),Dh},Ih=function(){return ed(Ph,e.WritingMode.horizontal)},td=function(){var cc=_i.verticalTextBox;return Le.allowVerticalPlacement&&ui.numVerticalGlyphVertices>0&&cc?ed(cc,e.WritingMode.vertical):{box:null,offscreen:null}};qd(Ih,td),qp(Bo&&Bo.box&&Bo.box.length)}}if(Do=Bo,Si=Do&&Do.box&&Do.box.length>0,fn=Do&&Do.offscreen,ui.useRuntimeCollisionCircles){var Gf=Le.text.placedSymbolArray.get(ui.centerJustifiedTextSymbolIndex),Gd=e.evaluateSizeForFeature(Le.textSizeData,kt,Gf),Lv=$e.get(\"text-padding\"),ph=ui.collisionCircleDiameter;Ms=me.collisionIndex.placeCollisionCircles(lr,Gf,Le.lineVertexArray,Le.glyphOffsetArray,Gd,gt,jt,wr,te,Ht,Bt.predicate,ph,Lv),Si=lr||Ms.circles.length>0&&!Ms.collisionDetected,fn=fn&&Ms.offscreen}if(_i.iconFeatureIndex&&(kp=_i.iconFeatureIndex),_i.iconBox){var iv=function(cc){var fu=sr&&_o?Ks(cc,_o.x,_o.y,ur,Ht,me.transform.angle):cc;return me.collisionIndex.placeCollisionBox(fu,dr,Nr,gt,Bt.predicate)};Ps&&Ps.box&&Ps.box.length&&_i.verticalIconBox?(Ys=iv(_i.verticalIconBox),Ui=Ys.box.length>0):(Ys=iv(_i.iconBox),Ui=Ys.box.length>0),fn=fn&&Ys.offscreen}var nm=nr||ui.numHorizontalGlyphVertices===0&&ui.numVerticalGlyphVertices===0,om=hr||ui.numIconVertices===0;if(!nm&&!om?Ui=Si=Ui&&Si:om?nm||(Ui=Ui&&Si):Si=Ui&&Si,Si&&Do&&Do.box&&(Ps&&Ps.box&&Ep?me.collisionIndex.insertCollisionBox(Do.box,$e.get(\"text-ignore-placement\"),Le.bucketInstanceId,Ep,Bt.ID):me.collisionIndex.insertCollisionBox(Do.box,$e.get(\"text-ignore-placement\"),Le.bucketInstanceId,mu,Bt.ID)),Ui&&Ys&&me.collisionIndex.insertCollisionBox(Ys.box,$e.get(\"icon-ignore-placement\"),Le.bucketInstanceId,kp,Bt.ID),Ms&&(Si&&me.collisionIndex.insertCollisionCircles(Ms.circles,$e.get(\"text-ignore-placement\"),Le.bucketInstanceId,mu,Bt.ID),te)){var Pv=Le.bucketInstanceId,nv=me.collisionCircleArrays[Pv];nv===void 0&&(nv=me.collisionCircleArrays[Pv]=new jn);for(var ov=0;ov=0;--Ga){var ai=vi[Ga];ga(Le.symbolInstances.get(ai),Le.collisionArrays[ai])}else for(var Zi=K.symbolInstanceStart;Zi=0&&(Le>=0&&wr!==Le?K.text.placedSymbolArray.get(wr).crossTileID=0:K.text.placedSymbolArray.get(wr).crossTileID=te.crossTileID)}},Xo.prototype.markUsedOrientation=function(K,_e,te){for(var me=_e===e.WritingMode.horizontal||_e===e.WritingMode.horizontalOnly?_e:0,Ge=_e===e.WritingMode.vertical?_e:0,Le=[te.leftJustifiedTextSymbolIndex,te.centerJustifiedTextSymbolIndex,te.rightJustifiedTextSymbolIndex],$e=0,gt=Le;$e0||Ht>0,ga=dr.numIconVertices>0,vi=me.placedOrientations[dr.crossTileID],Ga=vi===e.WritingMode.vertical,ai=vi===e.WritingMode.horizontal||vi===e.WritingMode.horizontalOnly;if(Jr){var Zi=il(Dr.text),Fi=Ga?xn:Zi;kt(K.text,ur,Fi);var ui=ai?xn:Zi;kt(K.text,Ht,ui);var _i=Dr.text.isHidden();[dr.rightJustifiedTextSymbolIndex,dr.centerJustifiedTextSymbolIndex,dr.leftJustifiedTextSymbolIndex].forEach(function(kp){kp>=0&&(K.text.placedSymbolArray.get(kp).hidden=_i||Ga?1:0)}),dr.verticalPlacedTextSymbolIndex>=0&&(K.text.placedSymbolArray.get(dr.verticalPlacedTextSymbolIndex).hidden=_i||ai?1:0);var Si=me.variableOffsets[dr.crossTileID];Si&&me.markUsedJustification(K,Si.anchor,dr,vi);var Ui=me.placedOrientations[dr.crossTileID];Ui&&(me.markUsedJustification(K,\"left\",dr,Ui),me.markUsedOrientation(K,Ui,dr))}if(ga){var fn=il(Dr.icon),_o=!(pr&&dr.verticalPlacedIconSymbolIndex&&Ga);if(dr.placedIconSymbolIndex>=0){var Bo=_o?fn:xn;kt(K.icon,dr.numIconVertices,Bo),K.icon.placedSymbolArray.get(dr.placedIconSymbolIndex).hidden=Dr.icon.isHidden()}if(dr.verticalPlacedIconSymbolIndex>=0){var Ps=_o?xn:fn;kt(K.icon,dr.numVerticalIconVertices,Ps),K.icon.placedSymbolArray.get(dr.verticalPlacedIconSymbolIndex).hidden=Dr.icon.isHidden()}}if(K.hasIconCollisionBoxData()||K.hasTextCollisionBoxData()){var Do=K.collisionArrays[lr];if(Do){var Ms=new e.Point(0,0);if(Do.textBox||Do.verticalTextBox){var Ys=!0;if(jt){var mu=me.variableOffsets[sr];mu?(Ms=Cs(mu.anchor,mu.width,mu.height,mu.textOffset,mu.textBoxScale),wr&&Ms._rotate(Nr?me.transform.angle:-me.transform.angle)):Ys=!1}Do.textBox&&Gi(K.textCollisionBox.collisionVertexArray,Dr.text.placed,!Ys||Ga,Ms.x,Ms.y),Do.verticalTextBox&&Gi(K.textCollisionBox.collisionVertexArray,Dr.text.placed,!Ys||ai,Ms.x,Ms.y)}var Ep=!!(!ai&&Do.verticalIconBox);Do.iconBox&&Gi(K.iconCollisionBox.collisionVertexArray,Dr.icon.placed,Ep,pr?Ms.x:0,pr?Ms.y:0),Do.verticalIconBox&&Gi(K.iconCollisionBox.collisionVertexArray,Dr.icon.placed,!Ep,pr?Ms.x:0,pr?Ms.y:0)}}},nr=0;nrK},Xo.prototype.setStale=function(){this.stale=!0};function Gi(ve,K,_e,te,me){ve.emplaceBack(K?1:0,_e?1:0,te||0,me||0),ve.emplaceBack(K?1:0,_e?1:0,te||0,me||0),ve.emplaceBack(K?1:0,_e?1:0,te||0,me||0),ve.emplaceBack(K?1:0,_e?1:0,te||0,me||0)}var Ln=Math.pow(2,25),Us=Math.pow(2,24),_s=Math.pow(2,17),Gn=Math.pow(2,16),zs=Math.pow(2,9),vs=Math.pow(2,8),Ws=Math.pow(2,1);function il(ve){if(ve.opacity===0&&!ve.placed)return 0;if(ve.opacity===1&&ve.placed)return 4294967295;var K=ve.placed?1:0,_e=Math.floor(ve.opacity*127);return _e*Ln+K*Us+_e*_s+K*Gn+_e*zs+K*vs+_e*Ws+K}var xn=0,ko=function(K){this._sortAcrossTiles=K.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&K.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(K,_e,te,me,Ge){for(var Le=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var $e=K[this._currentPlacementIndex],gt=_e[$e],jt=this.placement.collisionIndex.transform.zoom;if(gt.type===\"symbol\"&&(!gt.minzoom||gt.minzoom<=jt)&&(!gt.maxzoom||gt.maxzoom>jt)){this._inProgressLayer||(this._inProgressLayer=new ko(gt));var wr=this._inProgressLayer.continuePlacement(te[gt.source],this.placement,this._showCollisionBoxes,gt,Le);if(wr)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},bo.prototype.commit=function(K){return this.placement.commit(K),this.placement};var Is=512/e.EXTENT/2,pu=function(K,_e,te){this.tileID=K,this.indexedSymbolInstances={},this.bucketInstanceId=te;for(var me=0;me<_e.length;me++){var Ge=_e.get(me),Le=Ge.key;this.indexedSymbolInstances[Le]||(this.indexedSymbolInstances[Le]=[]),this.indexedSymbolInstances[Le].push({crossTileID:Ge.crossTileID,coord:this.getScaledCoordinates(Ge,K)})}};pu.prototype.getScaledCoordinates=function(K,_e){var te=_e.canonical.z-this.tileID.canonical.z,me=Is/Math.pow(2,te);return{x:Math.floor((_e.canonical.x*e.EXTENT+K.anchorX)*me),y:Math.floor((_e.canonical.y*e.EXTENT+K.anchorY)*me)}},pu.prototype.findMatches=function(K,_e,te){for(var me=this.tileID.canonical.z<_e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-_e.canonical.z),Ge=0;GeK.overscaledZ)for(var jt in gt){var wr=gt[jt];wr.tileID.isChildOf(K)&&wr.findMatches(_e.symbolInstances,K,Le)}else{var Nr=K.scaledTo(Number($e)),pr=gt[Nr.key];pr&&pr.findMatches(_e.symbolInstances,K,Le)}}for(var yt=0;yt<_e.symbolInstances.length;yt++){var kt=_e.symbolInstances.get(yt);kt.crossTileID||(kt.crossTileID=te.generate(),Le[kt.crossTileID]=!0)}return this.indexes[K.overscaledZ]===void 0&&(this.indexes[K.overscaledZ]={}),this.indexes[K.overscaledZ][K.key]=new pu(K,_e.symbolInstances,_e.bucketInstanceId),!0},Vs.prototype.removeBucketCrossTileIDs=function(K,_e){for(var te in _e.indexedSymbolInstances)for(var me=0,Ge=_e.indexedSymbolInstances[te];me0)throw new Error(\"Unimplemented: \"+Le.map(function($e){return $e.command}).join(\", \")+\".\");return Ge.forEach(function($e){$e.command!==\"setTransition\"&&me[$e.command].apply(me,$e.args)}),this.stylesheet=te,!0},K.prototype.addImage=function(te,me){if(this.getImage(te))return this.fire(new e.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(te,me),this._afterImageUpdated(te)},K.prototype.updateImage=function(te,me){this.imageManager.updateImage(te,me)},K.prototype.getImage=function(te){return this.imageManager.getImage(te)},K.prototype.removeImage=function(te){if(!this.getImage(te))return this.fire(new e.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(te),this._afterImageUpdated(te)},K.prototype._afterImageUpdated=function(te){this._availableImages=this.imageManager.listImages(),this._changedImages[te]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new e.Event(\"data\",{dataType:\"style\"}))},K.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},K.prototype.addSource=function(te,me,Ge){var Le=this;if(Ge===void 0&&(Ge={}),this._checkLoaded(),this.sourceCaches[te]!==void 0)throw new Error(\"There is already a source with this ID\");if(!me.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(me).join(\", \")+\".\");var $e=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],gt=$e.indexOf(me.type)>=0;if(!(gt&&this._validate(e.validateStyle.source,\"sources.\"+te,me,null,Ge))){this.map&&this.map._collectResourceTiming&&(me.collectResourceTiming=!0);var jt=this.sourceCaches[te]=new ra(te,me,this.dispatcher);jt.style=this,jt.setEventedParent(this,function(){return{isSourceLoaded:Le.loaded(),source:jt.serialize(),sourceId:te}}),jt.onAdd(this.map),this._changed=!0}},K.prototype.removeSource=function(te){if(this._checkLoaded(),this.sourceCaches[te]===void 0)throw new Error(\"There is no source with this ID\");for(var me in this._layers)if(this._layers[me].source===te)return this.fire(new e.ErrorEvent(new Error('Source \"'+te+'\" cannot be removed while layer \"'+me+'\" is using it.')));var Ge=this.sourceCaches[te];delete this.sourceCaches[te],delete this._updatedSources[te],Ge.fire(new e.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:te})),Ge.setEventedParent(null),Ge.clearTiles(),Ge.onRemove&&Ge.onRemove(this.map),this._changed=!0},K.prototype.setGeoJSONSourceData=function(te,me){this._checkLoaded();var Ge=this.sourceCaches[te].getSource();Ge.setData(me),this._changed=!0},K.prototype.getSource=function(te){return this.sourceCaches[te]&&this.sourceCaches[te].getSource()},K.prototype.addLayer=function(te,me,Ge){Ge===void 0&&(Ge={}),this._checkLoaded();var Le=te.id;if(this.getLayer(Le)){this.fire(new e.ErrorEvent(new Error('Layer with id \"'+Le+'\" already exists on this map')));return}var $e;if(te.type===\"custom\"){if(Ts(this,e.validateCustomStyleLayer(te)))return;$e=e.createStyleLayer(te)}else{if(typeof te.source==\"object\"&&(this.addSource(Le,te.source),te=e.clone$1(te),te=e.extend(te,{source:Le})),this._validate(e.validateStyle.layer,\"layers.\"+Le,te,{arrayIndex:-1},Ge))return;$e=e.createStyleLayer(te),this._validateLayer($e),$e.setEventedParent(this,{layer:{id:Le}}),this._serializedLayers[$e.id]=$e.serialize()}var gt=me?this._order.indexOf(me):this._order.length;if(me&>===-1){this.fire(new e.ErrorEvent(new Error('Layer with id \"'+me+'\" does not exist on this map.')));return}if(this._order.splice(gt,0,Le),this._layerOrderChanged=!0,this._layers[Le]=$e,this._removedLayers[Le]&&$e.source&&$e.type!==\"custom\"){var jt=this._removedLayers[Le];delete this._removedLayers[Le],jt.type!==$e.type?this._updatedSources[$e.source]=\"clear\":(this._updatedSources[$e.source]=\"reload\",this.sourceCaches[$e.source].pause())}this._updateLayer($e),$e.onAdd&&$e.onAdd(this.map)},K.prototype.moveLayer=function(te,me){this._checkLoaded(),this._changed=!0;var Ge=this._layers[te];if(!Ge){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be moved.\")));return}if(te!==me){var Le=this._order.indexOf(te);this._order.splice(Le,1);var $e=me?this._order.indexOf(me):this._order.length;if(me&&$e===-1){this.fire(new e.ErrorEvent(new Error('Layer with id \"'+me+'\" does not exist on this map.')));return}this._order.splice($e,0,te),this._layerOrderChanged=!0}},K.prototype.removeLayer=function(te){this._checkLoaded();var me=this._layers[te];if(!me){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be removed.\")));return}me.setEventedParent(null);var Ge=this._order.indexOf(te);this._order.splice(Ge,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[te]=me,delete this._layers[te],delete this._serializedLayers[te],delete this._updatedLayers[te],delete this._updatedPaintProps[te],me.onRemove&&me.onRemove(this.map)},K.prototype.getLayer=function(te){return this._layers[te]},K.prototype.hasLayer=function(te){return te in this._layers},K.prototype.setLayerZoomRange=function(te,me,Ge){this._checkLoaded();var Le=this.getLayer(te);if(!Le){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot have zoom extent.\")));return}Le.minzoom===me&&Le.maxzoom===Ge||(me!=null&&(Le.minzoom=me),Ge!=null&&(Le.maxzoom=Ge),this._updateLayer(Le))},K.prototype.setFilter=function(te,me,Ge){Ge===void 0&&(Ge={}),this._checkLoaded();var Le=this.getLayer(te);if(!Le){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!e.deepEqual(Le.filter,me)){if(me==null){Le.filter=void 0,this._updateLayer(Le);return}this._validate(e.validateStyle.filter,\"layers.\"+Le.id+\".filter\",me,null,Ge)||(Le.filter=e.clone$1(me),this._updateLayer(Le))}},K.prototype.getFilter=function(te){return e.clone$1(this.getLayer(te).filter)},K.prototype.setLayoutProperty=function(te,me,Ge,Le){Le===void 0&&(Le={}),this._checkLoaded();var $e=this.getLayer(te);if(!$e){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be styled.\")));return}e.deepEqual($e.getLayoutProperty(me),Ge)||($e.setLayoutProperty(me,Ge,Le),this._updateLayer($e))},K.prototype.getLayoutProperty=function(te,me){var Ge=this.getLayer(te);if(!Ge){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style.\")));return}return Ge.getLayoutProperty(me)},K.prototype.setPaintProperty=function(te,me,Ge,Le){Le===void 0&&(Le={}),this._checkLoaded();var $e=this.getLayer(te);if(!$e){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be styled.\")));return}if(!e.deepEqual($e.getPaintProperty(me),Ge)){var gt=$e.setPaintProperty(me,Ge,Le);gt&&this._updateLayer($e),this._changed=!0,this._updatedPaintProps[te]=!0}},K.prototype.getPaintProperty=function(te,me){return this.getLayer(te).getPaintProperty(me)},K.prototype.setFeatureState=function(te,me){this._checkLoaded();var Ge=te.source,Le=te.sourceLayer,$e=this.sourceCaches[Ge];if($e===void 0){this.fire(new e.ErrorEvent(new Error(\"The source '\"+Ge+\"' does not exist in the map's style.\")));return}var gt=$e.getSource().type;if(gt===\"geojson\"&&Le){this.fire(new e.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if(gt===\"vector\"&&!Le){this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}te.id===void 0&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),$e.setFeatureState(Le,te.id,me)},K.prototype.removeFeatureState=function(te,me){this._checkLoaded();var Ge=te.source,Le=this.sourceCaches[Ge];if(Le===void 0){this.fire(new e.ErrorEvent(new Error(\"The source '\"+Ge+\"' does not exist in the map's style.\")));return}var $e=Le.getSource().type,gt=$e===\"vector\"?te.sourceLayer:void 0;if($e===\"vector\"&&!gt){this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if(me&&typeof te.id!=\"string\"&&typeof te.id!=\"number\"){this.fire(new e.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}Le.removeFeatureState(gt,te.id,me)},K.prototype.getFeatureState=function(te){this._checkLoaded();var me=te.source,Ge=te.sourceLayer,Le=this.sourceCaches[me];if(Le===void 0){this.fire(new e.ErrorEvent(new Error(\"The source '\"+me+\"' does not exist in the map's style.\")));return}var $e=Le.getSource().type;if($e===\"vector\"&&!Ge){this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return te.id===void 0&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Le.getFeatureState(Ge,te.id)},K.prototype.getTransition=function(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},K.prototype.serialize=function(){return e.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:e.mapObject(this.sourceCaches,function(te){return te.serialize()}),layers:this._serializeLayers(this._order)},function(te){return te!==void 0})},K.prototype._updateLayer=function(te){this._updatedLayers[te.id]=!0,te.source&&!this._updatedSources[te.source]&&this.sourceCaches[te.source].getSource().type!==\"raster\"&&(this._updatedSources[te.source]=\"reload\",this.sourceCaches[te.source].pause()),this._changed=!0},K.prototype._flattenAndSortRenderedFeatures=function(te){for(var me=this,Ge=function(ai){return me._layers[ai].type===\"fill-extrusion\"},Le={},$e=[],gt=this._order.length-1;gt>=0;gt--){var jt=this._order[gt];if(Ge(jt)){Le[jt]=gt;for(var wr=0,Nr=te;wr=0;lr--){var dr=this._order[lr];if(Ge(dr))for(var ur=$e.length-1;ur>=0;ur--){var Ht=$e[ur].feature;if(Le[Ht.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",nc=\"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;}\",Ul=\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",qu=\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\",fl=\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",xh=\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\",ns=`#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}`,bh=`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);}`,Es=`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}`,to=`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;}`,Wc=`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}`,Vu=`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,jl=`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}`,Mf=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`,Ac=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,nf=`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;}`,$l=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,Jf=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;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;}`,Of=`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,of=\"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;}\",jc=`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}`,Bf=\"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;}\",Nf=`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}`,Gu=`\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);}`,Ef=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,oc=`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;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);}`,Xc=`uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,Ql=`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;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);v_width=floorwidth;}`,qc=`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}`,Sc=`\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);}`,Zs=`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}`,kf=\"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;}\",fh=`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}`,Uf=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,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*max(a_minFontScale,fontScale)+a_pxoffset/16.0),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));}`,Zc=`#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}`,$f=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,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+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;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=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`,Cu=`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,jf=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,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=size/24.0;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 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.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`,yl=hl(Tc,du),Lu=hl(Sf,Uc),Mc=hl(Fs,dc),ol=hl(Hc,lu),vc=hl(Pl,ic),yu=hl(Ou,nl),Tu=hl(ml,xs),El=hl(Xs,nc),qf=hl(Ul,qu),Qf=hl(fl,xh),Bu=hl(ns,bh),Ec=hl(Es,to),mc=hl(Wc,Vu),Lh=hl(jl,Mf),sf=hl(Ac,nf),vf=hl($l,Jf),Nu=hl(Of,of),lf=hl(jc,Bf),au=hl(Nf,Gu),Yc=hl(Ef,oc),hh=hl(Xc,Ql),mf=hl(qc,Sc),sl=hl(Zs,kf),_u=hl(fh,Uf),Pu=hl(Zc,$f),Cf=hl(Cu,jf);function hl(ve,K){var _e=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,te=K.match(/attribute ([\\w]+) ([\\w]+)/g),me=ve.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),Ge=K.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),Le=Ge?Ge.concat(me):me,$e={};return ve=ve.replace(_e,function(gt,jt,wr,Nr,pr){return $e[pr]=!0,jt===\"define\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\nvarying `+wr+\" \"+Nr+\" \"+pr+`;\n#else\nuniform `+wr+\" \"+Nr+\" u_\"+pr+`;\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_`+pr+`\n `+wr+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`}),K=K.replace(_e,function(gt,jt,wr,Nr,pr){var yt=Nr===\"float\"?\"vec2\":\"vec4\",kt=pr.match(/color/)?\"color\":yt;return $e[pr]?jt===\"define\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\nuniform lowp float u_`+pr+`_t;\nattribute `+wr+\" \"+yt+\" a_\"+pr+`;\nvarying `+wr+\" \"+Nr+\" \"+pr+`;\n#else\nuniform `+wr+\" \"+Nr+\" u_\"+pr+`;\n#endif\n`:kt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+pr+\" = a_\"+pr+`;\n#else\n `+wr+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+pr+\" = unpack_mix_\"+kt+\"(a_\"+pr+\", u_\"+pr+`_t);\n#else\n `+wr+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`:jt===\"define\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\nuniform lowp float u_`+pr+`_t;\nattribute `+wr+\" \"+yt+\" a_\"+pr+`;\n#else\nuniform `+wr+\" \"+Nr+\" u_\"+pr+`;\n#endif\n`:kt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+wr+\" \"+Nr+\" \"+pr+\" = a_\"+pr+`;\n#else\n `+wr+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+wr+\" \"+Nr+\" \"+pr+\" = unpack_mix_\"+kt+\"(a_\"+pr+\", u_\"+pr+`_t);\n#else\n `+wr+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`}),{fragmentSource:ve,vertexSource:K,staticAttributes:te,staticUniforms:Le}}var uf=Object.freeze({__proto__:null,prelude:yl,background:Lu,backgroundPattern:Mc,circle:ol,clippingMask:vc,heatmap:yu,heatmapTexture:Tu,collisionBox:El,collisionCircle:qf,debug:Qf,fill:Bu,fillOutline:Ec,fillOutlinePattern:mc,fillPattern:Lh,fillExtrusion:sf,fillExtrusionPattern:vf,hillshadePrepare:Nu,hillshade:lf,line:au,lineGradient:Yc,linePattern:hh,lineSDF:mf,raster:sl,symbolIcon:_u,symbolSDF:Pu,symbolTextAndIcon:Cf}),kc=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};kc.prototype.bind=function(K,_e,te,me,Ge,Le,$e,gt){this.context=K;for(var jt=this.boundPaintVertexBuffers.length!==me.length,wr=0;!jt&&wr>16,$e>>16],u_pixel_coord_lower:[Le&65535,$e&65535]}}function Kc(ve,K,_e,te){var me=_e.imageManager.getPattern(ve.from.toString()),Ge=_e.imageManager.getPattern(ve.to.toString()),Le=_e.imageManager.getPixelSize(),$e=Le.width,gt=Le.height,jt=Math.pow(2,te.tileID.overscaledZ),wr=te.tileSize*Math.pow(2,_e.transform.tileZoom)/jt,Nr=wr*(te.tileID.canonical.x+te.tileID.wrap*jt),pr=wr*te.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:me.tl,u_pattern_br_a:me.br,u_pattern_tl_b:Ge.tl,u_pattern_br_b:Ge.br,u_texsize:[$e,gt],u_mix:K.t,u_pattern_size_a:me.displaySize,u_pattern_size_b:Ge.displaySize,u_scale_a:K.fromScale,u_scale_b:K.toScale,u_tile_units_to_pixels:1/as(te,1,_e.transform.tileZoom),u_pixel_coord_upper:[Nr>>16,pr>>16],u_pixel_coord_lower:[Nr&65535,pr&65535]}}var Lf=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_lightpos:new e.Uniform3f(ve,K.u_lightpos),u_lightintensity:new e.Uniform1f(ve,K.u_lightintensity),u_lightcolor:new e.Uniform3f(ve,K.u_lightcolor),u_vertical_gradient:new e.Uniform1f(ve,K.u_vertical_gradient),u_opacity:new e.Uniform1f(ve,K.u_opacity)}},iu=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_lightpos:new e.Uniform3f(ve,K.u_lightpos),u_lightintensity:new e.Uniform1f(ve,K.u_lightintensity),u_lightcolor:new e.Uniform3f(ve,K.u_lightcolor),u_vertical_gradient:new e.Uniform1f(ve,K.u_vertical_gradient),u_height_factor:new e.Uniform1f(ve,K.u_height_factor),u_image:new e.Uniform1i(ve,K.u_image),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_pixel_coord_upper:new e.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ve,K.u_pixel_coord_lower),u_scale:new e.Uniform3f(ve,K.u_scale),u_fade:new e.Uniform1f(ve,K.u_fade),u_opacity:new e.Uniform1f(ve,K.u_opacity)}},Vf=function(ve,K,_e,te){var me=K.style.light,Ge=me.properties.get(\"position\"),Le=[Ge.x,Ge.y,Ge.z],$e=e.create$1();me.properties.get(\"anchor\")===\"viewport\"&&e.fromRotation($e,-K.transform.angle),e.transformMat3(Le,Le,$e);var gt=me.properties.get(\"color\");return{u_matrix:ve,u_lightpos:Le,u_lightintensity:me.properties.get(\"intensity\"),u_lightcolor:[gt.r,gt.g,gt.b],u_vertical_gradient:+_e,u_opacity:te}},Xu=function(ve,K,_e,te,me,Ge,Le){return e.extend(Vf(ve,K,_e,te),Wu(Ge,K,Le),{u_height_factor:-Math.pow(2,me.overscaledZ)/Le.tileSize/8})},Cc=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix)}},gc=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_image:new e.Uniform1i(ve,K.u_image),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_pixel_coord_upper:new e.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ve,K.u_pixel_coord_lower),u_scale:new e.Uniform3f(ve,K.u_scale),u_fade:new e.Uniform1f(ve,K.u_fade)}},ql=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_world:new e.Uniform2f(ve,K.u_world)}},xu=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_world:new e.Uniform2f(ve,K.u_world),u_image:new e.Uniform1i(ve,K.u_image),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_pixel_coord_upper:new e.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ve,K.u_pixel_coord_lower),u_scale:new e.Uniform3f(ve,K.u_scale),u_fade:new e.Uniform1f(ve,K.u_fade)}},Lc=function(ve){return{u_matrix:ve}},Jc=function(ve,K,_e,te){return e.extend(Lc(ve),Wu(_e,K,te))},sc=function(ve,K){return{u_matrix:ve,u_world:K}},Pc=function(ve,K,_e,te,me){return e.extend(Jc(ve,K,_e,te),{u_world:me})},Qt=function(ve,K){return{u_camera_to_center_distance:new e.Uniform1f(ve,K.u_camera_to_center_distance),u_scale_with_map:new e.Uniform1i(ve,K.u_scale_with_map),u_pitch_with_map:new e.Uniform1i(ve,K.u_pitch_with_map),u_extrude_scale:new e.Uniform2f(ve,K.u_extrude_scale),u_device_pixel_ratio:new e.Uniform1f(ve,K.u_device_pixel_ratio),u_matrix:new e.UniformMatrix4f(ve,K.u_matrix)}},br=function(ve,K,_e,te){var me=ve.transform,Ge,Le;if(te.paint.get(\"circle-pitch-alignment\")===\"map\"){var $e=as(_e,1,me.zoom);Ge=!0,Le=[$e,$e]}else Ge=!1,Le=me.pixelsToGLUnits;return{u_camera_to_center_distance:me.cameraToCenterDistance,u_scale_with_map:+(te.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:ve.translatePosMatrix(K.posMatrix,_e,te.paint.get(\"circle-translate\"),te.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+Ge,u_device_pixel_ratio:e.browser.devicePixelRatio,u_extrude_scale:Le}},aa=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_camera_to_center_distance:new e.Uniform1f(ve,K.u_camera_to_center_distance),u_pixels_to_tile_units:new e.Uniform1f(ve,K.u_pixels_to_tile_units),u_extrude_scale:new e.Uniform2f(ve,K.u_extrude_scale),u_overscale_factor:new e.Uniform1f(ve,K.u_overscale_factor)}},$r=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_inv_matrix:new e.UniformMatrix4f(ve,K.u_inv_matrix),u_camera_to_center_distance:new e.Uniform1f(ve,K.u_camera_to_center_distance),u_viewport_size:new e.Uniform2f(ve,K.u_viewport_size)}},ka=function(ve,K,_e){var te=as(_e,1,K.zoom),me=Math.pow(2,K.zoom-_e.tileID.overscaledZ),Ge=_e.tileID.overscaleFactor();return{u_matrix:ve,u_camera_to_center_distance:K.cameraToCenterDistance,u_pixels_to_tile_units:te,u_extrude_scale:[K.pixelsToGLUnits[0]/(te*me),K.pixelsToGLUnits[1]/(te*me)],u_overscale_factor:Ge}},li=function(ve,K,_e){return{u_matrix:ve,u_inv_matrix:K,u_camera_to_center_distance:_e.cameraToCenterDistance,u_viewport_size:[_e.width,_e.height]}},Ci=function(ve,K){return{u_color:new e.UniformColor(ve,K.u_color),u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_overlay:new e.Uniform1i(ve,K.u_overlay),u_overlay_scale:new e.Uniform1f(ve,K.u_overlay_scale)}},Hi=function(ve,K,_e){return _e===void 0&&(_e=1),{u_matrix:ve,u_color:K,u_overlay:0,u_overlay_scale:_e}},Qi=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix)}},dn=function(ve){return{u_matrix:ve}},Pi=function(ve,K){return{u_extrude_scale:new e.Uniform1f(ve,K.u_extrude_scale),u_intensity:new e.Uniform1f(ve,K.u_intensity),u_matrix:new e.UniformMatrix4f(ve,K.u_matrix)}},Di=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_world:new e.Uniform2f(ve,K.u_world),u_image:new e.Uniform1i(ve,K.u_image),u_color_ramp:new e.Uniform1i(ve,K.u_color_ramp),u_opacity:new e.Uniform1f(ve,K.u_opacity)}},Ni=function(ve,K,_e,te){return{u_matrix:ve,u_extrude_scale:as(K,1,_e),u_intensity:te}},mi=function(ve,K,_e,te){var me=e.create();e.ortho(me,0,ve.width,ve.height,0,0,1);var Ge=ve.context.gl;return{u_matrix:me,u_world:[Ge.drawingBufferWidth,Ge.drawingBufferHeight],u_image:_e,u_color_ramp:te,u_opacity:K.paint.get(\"heatmap-opacity\")}},Mn=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_image:new e.Uniform1i(ve,K.u_image),u_latrange:new e.Uniform2f(ve,K.u_latrange),u_light:new e.Uniform2f(ve,K.u_light),u_shadow:new e.UniformColor(ve,K.u_shadow),u_highlight:new e.UniformColor(ve,K.u_highlight),u_accent:new e.UniformColor(ve,K.u_accent)}},Qn=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_image:new e.Uniform1i(ve,K.u_image),u_dimension:new e.Uniform2f(ve,K.u_dimension),u_zoom:new e.Uniform1f(ve,K.u_zoom),u_unpack:new e.Uniform4f(ve,K.u_unpack)}},ao=function(ve,K,_e){var te=_e.paint.get(\"hillshade-shadow-color\"),me=_e.paint.get(\"hillshade-highlight-color\"),Ge=_e.paint.get(\"hillshade-accent-color\"),Le=_e.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);_e.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(Le-=ve.transform.angle);var $e=!ve.options.moving;return{u_matrix:ve.transform.calculatePosMatrix(K.tileID.toUnwrapped(),$e),u_image:0,u_latrange:fo(ve,K.tileID),u_light:[_e.paint.get(\"hillshade-exaggeration\"),Le],u_shadow:te,u_highlight:me,u_accent:Ge}},eo=function(ve,K){var _e=K.stride,te=e.create();return e.ortho(te,0,e.EXTENT,-e.EXTENT,0,0,1),e.translate(te,te,[0,-e.EXTENT,0]),{u_matrix:te,u_image:1,u_dimension:[_e,_e],u_zoom:ve.overscaledZ,u_unpack:K.getUnpackVector()}};function fo(ve,K){var _e=Math.pow(2,K.canonical.z),te=K.canonical.y;return[new e.MercatorCoordinate(0,te/_e).toLngLat().lat,new e.MercatorCoordinate(0,(te+1)/_e).toLngLat().lat]}var An=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_ratio:new e.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ve,K.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(ve,K.u_units_to_pixels)}},un=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_ratio:new e.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ve,K.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(ve,K.u_units_to_pixels),u_image:new e.Uniform1i(ve,K.u_image),u_image_height:new e.Uniform1f(ve,K.u_image_height)}},yo=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_ratio:new e.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ve,K.u_device_pixel_ratio),u_image:new e.Uniform1i(ve,K.u_image),u_units_to_pixels:new e.Uniform2f(ve,K.u_units_to_pixels),u_scale:new e.Uniform3f(ve,K.u_scale),u_fade:new e.Uniform1f(ve,K.u_fade)}},Ko=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_ratio:new e.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ve,K.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(ve,K.u_units_to_pixels),u_patternscale_a:new e.Uniform2f(ve,K.u_patternscale_a),u_patternscale_b:new e.Uniform2f(ve,K.u_patternscale_b),u_sdfgamma:new e.Uniform1f(ve,K.u_sdfgamma),u_image:new e.Uniform1i(ve,K.u_image),u_tex_y_a:new e.Uniform1f(ve,K.u_tex_y_a),u_tex_y_b:new e.Uniform1f(ve,K.u_tex_y_b),u_mix:new e.Uniform1f(ve,K.u_mix)}},Ss=function(ve,K,_e){var te=ve.transform;return{u_matrix:Fl(ve,K,_e),u_ratio:1/as(K,1,te.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_units_to_pixels:[1/te.pixelsToGLUnits[0],1/te.pixelsToGLUnits[1]]}},rl=function(ve,K,_e,te){return e.extend(Ss(ve,K,_e),{u_image:0,u_image_height:te})},Os=function(ve,K,_e,te){var me=ve.transform,Ge=bs(K,me);return{u_matrix:Fl(ve,K,_e),u_texsize:K.imageAtlasTexture.size,u_ratio:1/as(K,1,me.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_image:0,u_scale:[Ge,te.fromScale,te.toScale],u_fade:te.t,u_units_to_pixels:[1/me.pixelsToGLUnits[0],1/me.pixelsToGLUnits[1]]}},el=function(ve,K,_e,te,me){var Ge=ve.transform,Le=ve.lineAtlas,$e=bs(K,Ge),gt=_e.layout.get(\"line-cap\")===\"round\",jt=Le.getDash(te.from,gt),wr=Le.getDash(te.to,gt),Nr=jt.width*me.fromScale,pr=wr.width*me.toScale;return e.extend(Ss(ve,K,_e),{u_patternscale_a:[$e/Nr,-jt.height/2],u_patternscale_b:[$e/pr,-wr.height/2],u_sdfgamma:Le.width/(Math.min(Nr,pr)*256*e.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:jt.y,u_tex_y_b:wr.y,u_mix:me.t})};function bs(ve,K){return 1/as(ve,1,K.tileZoom)}function Fl(ve,K,_e){return ve.translatePosMatrix(K.tileID.posMatrix,K,_e.paint.get(\"line-translate\"),_e.paint.get(\"line-translate-anchor\"))}var _l=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_tl_parent:new e.Uniform2f(ve,K.u_tl_parent),u_scale_parent:new e.Uniform1f(ve,K.u_scale_parent),u_buffer_scale:new e.Uniform1f(ve,K.u_buffer_scale),u_fade_t:new e.Uniform1f(ve,K.u_fade_t),u_opacity:new e.Uniform1f(ve,K.u_opacity),u_image0:new e.Uniform1i(ve,K.u_image0),u_image1:new e.Uniform1i(ve,K.u_image1),u_brightness_low:new e.Uniform1f(ve,K.u_brightness_low),u_brightness_high:new e.Uniform1f(ve,K.u_brightness_high),u_saturation_factor:new e.Uniform1f(ve,K.u_saturation_factor),u_contrast_factor:new e.Uniform1f(ve,K.u_contrast_factor),u_spin_weights:new e.Uniform3f(ve,K.u_spin_weights)}},ll=function(ve,K,_e,te,me){return{u_matrix:ve,u_tl_parent:K,u_scale_parent:_e,u_buffer_scale:1,u_fade_t:te.mix,u_opacity:te.opacity*me.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:me.paint.get(\"raster-brightness-min\"),u_brightness_high:me.paint.get(\"raster-brightness-max\"),u_saturation_factor:Js(me.paint.get(\"raster-saturation\")),u_contrast_factor:Lo(me.paint.get(\"raster-contrast\")),u_spin_weights:Un(me.paint.get(\"raster-hue-rotate\"))}};function Un(ve){ve*=Math.PI/180;var K=Math.sin(ve),_e=Math.cos(ve);return[(2*_e+1)/3,(-Math.sqrt(3)*K-_e+1)/3,(Math.sqrt(3)*K-_e+1)/3]}function Lo(ve){return ve>0?1/(1-ve):1+ve}function Js(ve){return ve>0?1-1/(1.001-ve):-ve}var Rs=function(ve,K){return{u_is_size_zoom_constant:new e.Uniform1i(ve,K.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(ve,K.u_is_size_feature_constant),u_size_t:new e.Uniform1f(ve,K.u_size_t),u_size:new e.Uniform1f(ve,K.u_size),u_camera_to_center_distance:new e.Uniform1f(ve,K.u_camera_to_center_distance),u_pitch:new e.Uniform1f(ve,K.u_pitch),u_rotate_symbol:new e.Uniform1i(ve,K.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(ve,K.u_aspect_ratio),u_fade_change:new e.Uniform1f(ve,K.u_fade_change),u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(ve,K.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(ve,K.u_coord_matrix),u_is_text:new e.Uniform1i(ve,K.u_is_text),u_pitch_with_map:new e.Uniform1i(ve,K.u_pitch_with_map),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_texture:new e.Uniform1i(ve,K.u_texture)}},uu=function(ve,K){return{u_is_size_zoom_constant:new e.Uniform1i(ve,K.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(ve,K.u_is_size_feature_constant),u_size_t:new e.Uniform1f(ve,K.u_size_t),u_size:new e.Uniform1f(ve,K.u_size),u_camera_to_center_distance:new e.Uniform1f(ve,K.u_camera_to_center_distance),u_pitch:new e.Uniform1f(ve,K.u_pitch),u_rotate_symbol:new e.Uniform1i(ve,K.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(ve,K.u_aspect_ratio),u_fade_change:new e.Uniform1f(ve,K.u_fade_change),u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(ve,K.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(ve,K.u_coord_matrix),u_is_text:new e.Uniform1i(ve,K.u_is_text),u_pitch_with_map:new e.Uniform1i(ve,K.u_pitch_with_map),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_texture:new e.Uniform1i(ve,K.u_texture),u_gamma_scale:new e.Uniform1f(ve,K.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(ve,K.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(ve,K.u_is_halo)}},Iu=function(ve,K){return{u_is_size_zoom_constant:new e.Uniform1i(ve,K.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(ve,K.u_is_size_feature_constant),u_size_t:new e.Uniform1f(ve,K.u_size_t),u_size:new e.Uniform1f(ve,K.u_size),u_camera_to_center_distance:new e.Uniform1f(ve,K.u_camera_to_center_distance),u_pitch:new e.Uniform1f(ve,K.u_pitch),u_rotate_symbol:new e.Uniform1i(ve,K.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(ve,K.u_aspect_ratio),u_fade_change:new e.Uniform1f(ve,K.u_fade_change),u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(ve,K.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(ve,K.u_coord_matrix),u_is_text:new e.Uniform1i(ve,K.u_is_text),u_pitch_with_map:new e.Uniform1i(ve,K.u_pitch_with_map),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_texsize_icon:new e.Uniform2f(ve,K.u_texsize_icon),u_texture:new e.Uniform1i(ve,K.u_texture),u_texture_icon:new e.Uniform1i(ve,K.u_texture_icon),u_gamma_scale:new e.Uniform1f(ve,K.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(ve,K.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(ve,K.u_is_halo)}},Zu=function(ve,K,_e,te,me,Ge,Le,$e,gt,jt){var wr=me.transform;return{u_is_size_zoom_constant:+(ve===\"constant\"||ve===\"source\"),u_is_size_feature_constant:+(ve===\"constant\"||ve===\"camera\"),u_size_t:K?K.uSizeT:0,u_size:K?K.uSize:0,u_camera_to_center_distance:wr.cameraToCenterDistance,u_pitch:wr.pitch/360*2*Math.PI,u_rotate_symbol:+_e,u_aspect_ratio:wr.width/wr.height,u_fade_change:me.options.fadeDuration?me.symbolFadeChange:1,u_matrix:Ge,u_label_plane_matrix:Le,u_coord_matrix:$e,u_is_text:+gt,u_pitch_with_map:+te,u_texsize:jt,u_texture:0}},Ic=function(ve,K,_e,te,me,Ge,Le,$e,gt,jt,wr){var Nr=me.transform;return e.extend(Zu(ve,K,_e,te,me,Ge,Le,$e,gt,jt),{u_gamma_scale:te?Math.cos(Nr._pitch)*Nr.cameraToCenterDistance:1,u_device_pixel_ratio:e.browser.devicePixelRatio,u_is_halo:+wr})},bu=function(ve,K,_e,te,me,Ge,Le,$e,gt,jt){return e.extend(Ic(ve,K,_e,te,me,Ge,Le,$e,!0,gt,!0),{u_texsize_icon:jt,u_texture_icon:1})},Rc=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_opacity:new e.Uniform1f(ve,K.u_opacity),u_color:new e.UniformColor(ve,K.u_color)}},Au=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_opacity:new e.Uniform1f(ve,K.u_opacity),u_image:new e.Uniform1i(ve,K.u_image),u_pattern_tl_a:new e.Uniform2f(ve,K.u_pattern_tl_a),u_pattern_br_a:new e.Uniform2f(ve,K.u_pattern_br_a),u_pattern_tl_b:new e.Uniform2f(ve,K.u_pattern_tl_b),u_pattern_br_b:new e.Uniform2f(ve,K.u_pattern_br_b),u_texsize:new e.Uniform2f(ve,K.u_texsize),u_mix:new e.Uniform1f(ve,K.u_mix),u_pattern_size_a:new e.Uniform2f(ve,K.u_pattern_size_a),u_pattern_size_b:new e.Uniform2f(ve,K.u_pattern_size_b),u_scale_a:new e.Uniform1f(ve,K.u_scale_a),u_scale_b:new e.Uniform1f(ve,K.u_scale_b),u_pixel_coord_upper:new e.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ve,K.u_pixel_coord_lower),u_tile_units_to_pixels:new e.Uniform1f(ve,K.u_tile_units_to_pixels)}},yc=function(ve,K,_e){return{u_matrix:ve,u_opacity:K,u_color:_e}},ho=function(ve,K,_e,te,me,Ge){return e.extend(Kc(te,Ge,_e,me),{u_matrix:ve,u_opacity:K})},Ro={fillExtrusion:Lf,fillExtrusionPattern:iu,fill:Cc,fillPattern:gc,fillOutline:ql,fillOutlinePattern:xu,circle:Qt,collisionBox:aa,collisionCircle:$r,debug:Ci,clippingMask:Qi,heatmap:Pi,heatmapTexture:Di,hillshade:Mn,hillshadePrepare:Qn,line:An,lineGradient:un,linePattern:yo,lineSDF:Ko,raster:_l,symbolIcon:Rs,symbolSDF:uu,symbolTextAndIcon:Iu,background:Rc,backgroundPattern:Au},Dc;function lc(ve,K,_e,te,me,Ge,Le){for(var $e=ve.context,gt=$e.gl,jt=ve.useProgram(\"collisionBox\"),wr=[],Nr=0,pr=0,yt=0;yt0){var ur=e.create(),Ht=hr;e.mul(ur,nr.placementInvProjMatrix,ve.transform.glCoordMatrix),e.mul(ur,ur,nr.placementViewportMatrix),wr.push({circleArray:dr,circleOffset:pr,transform:Ht,invTransform:ur}),Nr+=dr.length/4,pr=Nr}lr&&jt.draw($e,gt.LINES,Ia.disabled,Ca.disabled,ve.colorModeForRenderPass(),Fr.disabled,ka(hr,ve.transform,Bt),_e.id,lr.layoutVertexBuffer,lr.indexBuffer,lr.segments,null,ve.transform.zoom,null,null,lr.collisionVertexBuffer)}}if(!(!Le||!wr.length)){var sr=ve.useProgram(\"collisionCircle\"),Vt=new e.StructArrayLayout2f1f2i16;Vt.resize(Nr*4),Vt._trim();for(var Dr=0,Jr=0,ga=wr;Jr=0&&(kt[nr.associatedIconIndex]={shiftedAnchor:ai,angle:Zi})}}if(wr){yt.clear();for(var ui=ve.icon.placedSymbolArray,_i=0;_i0){var Le=e.browser.now(),$e=(Le-ve.timeAdded)/Ge,gt=K?(Le-K.timeAdded)/Ge:-1,jt=_e.getSource(),wr=me.coveringZoomLevel({tileSize:jt.tileSize,roundZoom:jt.roundZoom}),Nr=!K||Math.abs(K.tileID.overscaledZ-wr)>Math.abs(ve.tileID.overscaledZ-wr),pr=Nr&&ve.refreshedUponExpiration?1:e.clamp(Nr?$e:1-gt,0,1);return ve.refreshedUponExpiration&&$e>=1&&(ve.refreshedUponExpiration=!1),K?{opacity:1,mix:1-pr}:{opacity:pr,mix:0}}else return{opacity:1,mix:0}}function Er(ve,K,_e){var te=_e.paint.get(\"background-color\"),me=_e.paint.get(\"background-opacity\");if(me!==0){var Ge=ve.context,Le=Ge.gl,$e=ve.transform,gt=$e.tileSize,jt=_e.paint.get(\"background-pattern\");if(!ve.isPatternMissing(jt)){var wr=!jt&&te.a===1&&me===1&&ve.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(ve.renderPass===wr){var Nr=Ca.disabled,pr=ve.depthModeForSublayer(0,wr===\"opaque\"?Ia.ReadWrite:Ia.ReadOnly),yt=ve.colorModeForRenderPass(),kt=ve.useProgram(jt?\"backgroundPattern\":\"background\"),Bt=$e.coveringTiles({tileSize:gt});jt&&(Ge.activeTexture.set(Le.TEXTURE0),ve.imageManager.bind(ve.context));for(var nr=_e.getCrossfadeParameters(),hr=0,lr=Bt;hr \"+_e.overscaledZ);var hr=nr+\" \"+yt+\"kb\";wo(ve,hr),Le.draw(te,me.TRIANGLES,$e,gt,Ft.alphaBlended,Fr.disabled,Hi(Ge,e.Color.transparent,Bt),wr,ve.debugBuffer,ve.quadTriangleIndexBuffer,ve.debugSegments)}function wo(ve,K){ve.initDebugOverlayCanvas();var _e=ve.debugOverlayCanvas,te=ve.context.gl,me=ve.debugOverlayCanvas.getContext(\"2d\");me.clearRect(0,0,_e.width,_e.height),me.shadowColor=\"white\",me.shadowBlur=2,me.lineWidth=1.5,me.strokeStyle=\"white\",me.textBaseline=\"top\",me.font=\"bold 36px Open Sans, sans-serif\",me.fillText(K,5,5),me.strokeText(K,5,5),ve.debugOverlayTexture.update(_e),ve.debugOverlayTexture.bind(te.LINEAR,te.CLAMP_TO_EDGE)}function is(ve,K,_e){var te=ve.context,me=_e.implementation;if(ve.renderPass===\"offscreen\"){var Ge=me.prerender;Ge&&(ve.setCustomLayerDefaults(),te.setColorMode(ve.colorModeForRenderPass()),Ge.call(me,te.gl,ve.transform.customLayerMatrix()),te.setDirty(),ve.setBaseState())}else if(ve.renderPass===\"translucent\"){ve.setCustomLayerDefaults(),te.setColorMode(ve.colorModeForRenderPass()),te.setStencilMode(Ca.disabled);var Le=me.renderingMode===\"3d\"?new Ia(ve.context.gl.LEQUAL,Ia.ReadWrite,ve.depthRangeFor3D):ve.depthModeForSublayer(0,Ia.ReadOnly);te.setDepthMode(Le),me.render(te.gl,ve.transform.customLayerMatrix()),te.setDirty(),ve.setBaseState(),te.bindFramebuffer.set(null)}}var Ao={symbol:I,circle:Nt,heatmap:$t,line:na,fill:He,\"fill-extrusion\":lt,hillshade:Lt,raster:cr,background:Er,debug:Kn,custom:is},Zo=function(K,_e){this.context=new ta(K),this.transform=_e,this._tileTextures={},this.setup(),this.numSublayers=ra.maxUnderzooming+ra.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new vl,this.gpuTimers={}};Zo.prototype.resize=function(K,_e){if(this.width=K*e.browser.devicePixelRatio,this.height=_e*e.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var te=0,me=this.style._order;te256&&this.clearStencil(),te.setColorMode(Ft.disabled),te.setDepthMode(Ia.disabled);var Ge=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var Le=0,$e=_e;Le<$e.length;Le+=1){var gt=$e[Le],jt=this._tileClippingMaskIDs[gt.key]=this.nextStencilID++;Ge.draw(te,me.TRIANGLES,Ia.disabled,new Ca({func:me.ALWAYS,mask:0},jt,255,me.KEEP,me.KEEP,me.REPLACE),Ft.disabled,Fr.disabled,dn(gt.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},Zo.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var K=this.nextStencilID++,_e=this.context.gl;return new Ca({func:_e.NOTEQUAL,mask:255},K,255,_e.KEEP,_e.KEEP,_e.REPLACE)},Zo.prototype.stencilModeForClipping=function(K){var _e=this.context.gl;return new Ca({func:_e.EQUAL,mask:255},this._tileClippingMaskIDs[K.key],0,_e.KEEP,_e.KEEP,_e.REPLACE)},Zo.prototype.stencilConfigForOverlap=function(K){var _e,te=this.context.gl,me=K.sort(function(jt,wr){return wr.overscaledZ-jt.overscaledZ}),Ge=me[me.length-1].overscaledZ,Le=me[0].overscaledZ-Ge+1;if(Le>1){this.currentStencilSource=void 0,this.nextStencilID+Le>256&&this.clearStencil();for(var $e={},gt=0;gt=0;this.currentLayer--){var ur=this.style._layers[me[this.currentLayer]],Ht=Ge[ur.source],sr=gt[ur.source];this._renderTileClippingMasks(ur,sr),this.renderLayer(this,Ht,ur,sr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer0?_e.pop():null},Zo.prototype.isPatternMissing=function(K){if(!K)return!1;if(!K.from||!K.to)return!0;var _e=this.imageManager.getPattern(K.from.toString()),te=this.imageManager.getPattern(K.to.toString());return!_e||!te},Zo.prototype.useProgram=function(K,_e){this.cache=this.cache||{};var te=\"\"+K+(_e?_e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[te]||(this.cache[te]=new gf(this.context,K,uf[K],_e,Ro[K],this._showOverdrawInspector)),this.cache[te]},Zo.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()},Zo.prototype.setBaseState=function(){var K=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(K.FUNC_ADD)},Zo.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=e.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var K=this.context.gl;this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,K.RGBA)}},Zo.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var ps=function(K,_e){this.points=K,this.planes=_e};ps.fromInvProjectionMatrix=function(K,_e,te){var me=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],Ge=Math.pow(2,te),Le=me.map(function(jt){return e.transformMat4([],jt,K)}).map(function(jt){return e.scale$1([],jt,1/jt[3]/_e*Ge)}),$e=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],gt=$e.map(function(jt){var wr=e.sub([],Le[jt[0]],Le[jt[1]]),Nr=e.sub([],Le[jt[2]],Le[jt[1]]),pr=e.normalize([],e.cross([],wr,Nr)),yt=-e.dot(pr,Le[jt[1]]);return pr.concat(yt)});return new ps(Le,gt)};var ul=function(K,_e){this.min=K,this.max=_e,this.center=e.scale$2([],e.add([],this.min,this.max),.5)};ul.prototype.quadrant=function(K){for(var _e=[K%2===0,K<2],te=e.clone$2(this.min),me=e.clone$2(this.max),Ge=0;Ge<_e.length;Ge++)te[Ge]=_e[Ge]?this.min[Ge]:this.center[Ge],me[Ge]=_e[Ge]?this.center[Ge]:this.max[Ge];return me[2]=this.max[2],new ul(te,me)},ul.prototype.distanceX=function(K){var _e=Math.max(Math.min(this.max[0],K[0]),this.min[0]);return _e-K[0]},ul.prototype.distanceY=function(K){var _e=Math.max(Math.min(this.max[1],K[1]),this.min[1]);return _e-K[1]},ul.prototype.intersects=function(K){for(var _e=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],te=!0,me=0;me=0;if(Le===0)return 0;Le!==_e.length&&(te=!1)}if(te)return 2;for(var gt=0;gt<3;gt++){for(var jt=Number.MAX_VALUE,wr=-Number.MAX_VALUE,Nr=0;Nrthis.max[gt]-this.min[gt])return 0}return 1};var tl=function(K,_e,te,me){if(K===void 0&&(K=0),_e===void 0&&(_e=0),te===void 0&&(te=0),me===void 0&&(me=0),isNaN(K)||K<0||isNaN(_e)||_e<0||isNaN(te)||te<0||isNaN(me)||me<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=K,this.bottom=_e,this.left=te,this.right=me};tl.prototype.interpolate=function(K,_e,te){return _e.top!=null&&K.top!=null&&(this.top=e.number(K.top,_e.top,te)),_e.bottom!=null&&K.bottom!=null&&(this.bottom=e.number(K.bottom,_e.bottom,te)),_e.left!=null&&K.left!=null&&(this.left=e.number(K.left,_e.left,te)),_e.right!=null&&K.right!=null&&(this.right=e.number(K.right,_e.right,te)),this},tl.prototype.getCenter=function(K,_e){var te=e.clamp((this.left+K-this.right)/2,0,K),me=e.clamp((this.top+_e-this.bottom)/2,0,_e);return new e.Point(te,me)},tl.prototype.equals=function(K){return this.top===K.top&&this.bottom===K.bottom&&this.left===K.left&&this.right===K.right},tl.prototype.clone=function(){return new tl(this.top,this.bottom,this.left,this.right)},tl.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Jo=function(K,_e,te,me,Ge){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=Ge===void 0?!0:Ge,this._minZoom=K||0,this._maxZoom=_e||22,this._minPitch=te??0,this._maxPitch=me??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new tl,this._posMatrixCache={},this._alignedPosMatrixCache={}},$o={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Jo.prototype.clone=function(){var K=new Jo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return K.tileSize=this.tileSize,K.latRange=this.latRange,K.width=this.width,K.height=this.height,K._center=this._center,K.zoom=this.zoom,K.angle=this.angle,K._fov=this._fov,K._pitch=this._pitch,K._unmodified=this._unmodified,K._edgeInsets=this._edgeInsets.clone(),K._calcMatrices(),K},$o.minZoom.get=function(){return this._minZoom},$o.minZoom.set=function(ve){this._minZoom!==ve&&(this._minZoom=ve,this.zoom=Math.max(this.zoom,ve))},$o.maxZoom.get=function(){return this._maxZoom},$o.maxZoom.set=function(ve){this._maxZoom!==ve&&(this._maxZoom=ve,this.zoom=Math.min(this.zoom,ve))},$o.minPitch.get=function(){return this._minPitch},$o.minPitch.set=function(ve){this._minPitch!==ve&&(this._minPitch=ve,this.pitch=Math.max(this.pitch,ve))},$o.maxPitch.get=function(){return this._maxPitch},$o.maxPitch.set=function(ve){this._maxPitch!==ve&&(this._maxPitch=ve,this.pitch=Math.min(this.pitch,ve))},$o.renderWorldCopies.get=function(){return this._renderWorldCopies},$o.renderWorldCopies.set=function(ve){ve===void 0?ve=!0:ve===null&&(ve=!1),this._renderWorldCopies=ve},$o.worldSize.get=function(){return this.tileSize*this.scale},$o.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},$o.size.get=function(){return new e.Point(this.width,this.height)},$o.bearing.get=function(){return-this.angle/Math.PI*180},$o.bearing.set=function(ve){var K=-e.wrap(ve,-180,180)*Math.PI/180;this.angle!==K&&(this._unmodified=!1,this.angle=K,this._calcMatrices(),this.rotationMatrix=e.create$2(),e.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},$o.pitch.get=function(){return this._pitch/Math.PI*180},$o.pitch.set=function(ve){var K=e.clamp(ve,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==K&&(this._unmodified=!1,this._pitch=K,this._calcMatrices())},$o.fov.get=function(){return this._fov/Math.PI*180},$o.fov.set=function(ve){ve=Math.max(.01,Math.min(60,ve)),this._fov!==ve&&(this._unmodified=!1,this._fov=ve/180*Math.PI,this._calcMatrices())},$o.zoom.get=function(){return this._zoom},$o.zoom.set=function(ve){var K=Math.min(Math.max(ve,this.minZoom),this.maxZoom);this._zoom!==K&&(this._unmodified=!1,this._zoom=K,this.scale=this.zoomScale(K),this.tileZoom=Math.floor(K),this.zoomFraction=K-this.tileZoom,this._constrain(),this._calcMatrices())},$o.center.get=function(){return this._center},$o.center.set=function(ve){ve.lat===this._center.lat&&ve.lng===this._center.lng||(this._unmodified=!1,this._center=ve,this._constrain(),this._calcMatrices())},$o.padding.get=function(){return this._edgeInsets.toJSON()},$o.padding.set=function(ve){this._edgeInsets.equals(ve)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,ve,1),this._calcMatrices())},$o.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Jo.prototype.isPaddingEqual=function(K){return this._edgeInsets.equals(K)},Jo.prototype.interpolatePadding=function(K,_e,te){this._unmodified=!1,this._edgeInsets.interpolate(K,_e,te),this._constrain(),this._calcMatrices()},Jo.prototype.coveringZoomLevel=function(K){var _e=(K.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/K.tileSize));return Math.max(0,_e)},Jo.prototype.getVisibleUnwrappedCoordinates=function(K){var _e=[new e.UnwrappedTileID(0,K)];if(this._renderWorldCopies)for(var te=this.pointCoordinate(new e.Point(0,0)),me=this.pointCoordinate(new e.Point(this.width,0)),Ge=this.pointCoordinate(new e.Point(this.width,this.height)),Le=this.pointCoordinate(new e.Point(0,this.height)),$e=Math.floor(Math.min(te.x,me.x,Ge.x,Le.x)),gt=Math.floor(Math.max(te.x,me.x,Ge.x,Le.x)),jt=1,wr=$e-jt;wr<=gt+jt;wr++)wr!==0&&_e.push(new e.UnwrappedTileID(wr,K));return _e},Jo.prototype.coveringTiles=function(K){var _e=this.coveringZoomLevel(K),te=_e;if(K.minzoom!==void 0&&_eK.maxzoom&&(_e=K.maxzoom);var me=e.MercatorCoordinate.fromLngLat(this.center),Ge=Math.pow(2,_e),Le=[Ge*me.x,Ge*me.y,0],$e=ps.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,_e),gt=K.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(gt=_e);var jt=3,wr=function(Ga){return{aabb:new ul([Ga*Ge,0,0],[(Ga+1)*Ge,Ge,0]),zoom:0,x:0,y:0,wrap:Ga,fullyVisible:!1}},Nr=[],pr=[],yt=_e,kt=K.reparseOverscaled?te:_e;if(this._renderWorldCopies)for(var Bt=1;Bt<=3;Bt++)Nr.push(wr(-Bt)),Nr.push(wr(Bt));for(Nr.push(wr(0));Nr.length>0;){var nr=Nr.pop(),hr=nr.x,lr=nr.y,dr=nr.fullyVisible;if(!dr){var ur=nr.aabb.intersects($e);if(ur===0)continue;dr=ur===2}var Ht=nr.aabb.distanceX(Le),sr=nr.aabb.distanceY(Le),Vt=Math.max(Math.abs(Ht),Math.abs(sr)),Dr=jt+(1<Dr&&nr.zoom>=gt){pr.push({tileID:new e.OverscaledTileID(nr.zoom===yt?kt:nr.zoom,nr.wrap,nr.zoom,hr,lr),distanceSq:e.sqrLen([Le[0]-.5-hr,Le[1]-.5-lr])});continue}for(var Jr=0;Jr<4;Jr++){var ga=(hr<<1)+Jr%2,vi=(lr<<1)+(Jr>>1);Nr.push({aabb:nr.aabb.quadrant(Jr),zoom:nr.zoom+1,x:ga,y:vi,wrap:nr.wrap,fullyVisible:dr})}}return pr.sort(function(Ga,ai){return Ga.distanceSq-ai.distanceSq}).map(function(Ga){return Ga.tileID})},Jo.prototype.resize=function(K,_e){this.width=K,this.height=_e,this.pixelsToGLUnits=[2/K,-2/_e],this._constrain(),this._calcMatrices()},$o.unmodified.get=function(){return this._unmodified},Jo.prototype.zoomScale=function(K){return Math.pow(2,K)},Jo.prototype.scaleZoom=function(K){return Math.log(K)/Math.LN2},Jo.prototype.project=function(K){var _e=e.clamp(K.lat,-this.maxValidLatitude,this.maxValidLatitude);return new e.Point(e.mercatorXfromLng(K.lng)*this.worldSize,e.mercatorYfromLat(_e)*this.worldSize)},Jo.prototype.unproject=function(K){return new e.MercatorCoordinate(K.x/this.worldSize,K.y/this.worldSize).toLngLat()},$o.point.get=function(){return this.project(this.center)},Jo.prototype.setLocationAtPoint=function(K,_e){var te=this.pointCoordinate(_e),me=this.pointCoordinate(this.centerPoint),Ge=this.locationCoordinate(K),Le=new e.MercatorCoordinate(Ge.x-(te.x-me.x),Ge.y-(te.y-me.y));this.center=this.coordinateLocation(Le),this._renderWorldCopies&&(this.center=this.center.wrap())},Jo.prototype.locationPoint=function(K){return this.coordinatePoint(this.locationCoordinate(K))},Jo.prototype.pointLocation=function(K){return this.coordinateLocation(this.pointCoordinate(K))},Jo.prototype.locationCoordinate=function(K){return e.MercatorCoordinate.fromLngLat(K)},Jo.prototype.coordinateLocation=function(K){return K.toLngLat()},Jo.prototype.pointCoordinate=function(K){var _e=0,te=[K.x,K.y,0,1],me=[K.x,K.y,1,1];e.transformMat4(te,te,this.pixelMatrixInverse),e.transformMat4(me,me,this.pixelMatrixInverse);var Ge=te[3],Le=me[3],$e=te[0]/Ge,gt=me[0]/Le,jt=te[1]/Ge,wr=me[1]/Le,Nr=te[2]/Ge,pr=me[2]/Le,yt=Nr===pr?0:(_e-Nr)/(pr-Nr);return new e.MercatorCoordinate(e.number($e,gt,yt)/this.worldSize,e.number(jt,wr,yt)/this.worldSize)},Jo.prototype.coordinatePoint=function(K){var _e=[K.x*this.worldSize,K.y*this.worldSize,0,1];return e.transformMat4(_e,_e,this.pixelMatrix),new e.Point(_e[0]/_e[3],_e[1]/_e[3])},Jo.prototype.getBounds=function(){return new e.LngLatBounds().extend(this.pointLocation(new e.Point(0,0))).extend(this.pointLocation(new e.Point(this.width,0))).extend(this.pointLocation(new e.Point(this.width,this.height))).extend(this.pointLocation(new e.Point(0,this.height)))},Jo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new e.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},Jo.prototype.setMaxBounds=function(K){K?(this.lngRange=[K.getWest(),K.getEast()],this.latRange=[K.getSouth(),K.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Jo.prototype.calculatePosMatrix=function(K,_e){_e===void 0&&(_e=!1);var te=K.key,me=_e?this._alignedPosMatrixCache:this._posMatrixCache;if(me[te])return me[te];var Ge=K.canonical,Le=this.worldSize/this.zoomScale(Ge.z),$e=Ge.x+Math.pow(2,Ge.z)*K.wrap,gt=e.identity(new Float64Array(16));return e.translate(gt,gt,[$e*Le,Ge.y*Le,0]),e.scale(gt,gt,[Le/e.EXTENT,Le/e.EXTENT,1]),e.multiply(gt,_e?this.alignedProjMatrix:this.projMatrix,gt),me[te]=new Float32Array(gt),me[te]},Jo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Jo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var K=-90,_e=90,te=-180,me=180,Ge,Le,$e,gt,jt=this.size,wr=this._unmodified;if(this.latRange){var Nr=this.latRange;K=e.mercatorYfromLat(Nr[1])*this.worldSize,_e=e.mercatorYfromLat(Nr[0])*this.worldSize,Ge=_e-K_e&&(gt=_e-nr)}if(this.lngRange){var hr=yt.x,lr=jt.x/2;hr-lrme&&($e=me-lr)}($e!==void 0||gt!==void 0)&&(this.center=this.unproject(new e.Point($e!==void 0?$e:yt.x,gt!==void 0?gt:yt.y))),this._unmodified=wr,this._constraining=!1}},Jo.prototype._calcMatrices=function(){if(this.height){var K=this._fov/2,_e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(K)*this.height;var te=Math.PI/2+this._pitch,me=this._fov*(.5+_e.y/this.height),Ge=Math.sin(me)*this.cameraToCenterDistance/Math.sin(e.clamp(Math.PI-te-me,.01,Math.PI-.01)),Le=this.point,$e=Le.x,gt=Le.y,jt=Math.cos(Math.PI/2-this._pitch)*Ge+this.cameraToCenterDistance,wr=jt*1.01,Nr=this.height/50,pr=new Float64Array(16);e.perspective(pr,this._fov,this.width/this.height,Nr,wr),pr[8]=-_e.x*2/this.width,pr[9]=_e.y*2/this.height,e.scale(pr,pr,[1,-1,1]),e.translate(pr,pr,[0,0,-this.cameraToCenterDistance]),e.rotateX(pr,pr,this._pitch),e.rotateZ(pr,pr,this.angle),e.translate(pr,pr,[-$e,-gt,0]),this.mercatorMatrix=e.scale([],pr,[this.worldSize,this.worldSize,this.worldSize]),e.scale(pr,pr,[1,1,e.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=pr,this.invProjMatrix=e.invert([],this.projMatrix);var yt=this.width%2/2,kt=this.height%2/2,Bt=Math.cos(this.angle),nr=Math.sin(this.angle),hr=$e-Math.round($e)+Bt*yt+nr*kt,lr=gt-Math.round(gt)+Bt*kt+nr*yt,dr=new Float64Array(pr);if(e.translate(dr,dr,[hr>.5?hr-1:hr,lr>.5?lr-1:lr,0]),this.alignedProjMatrix=dr,pr=e.create(),e.scale(pr,pr,[this.width/2,-this.height/2,1]),e.translate(pr,pr,[1,-1,0]),this.labelPlaneMatrix=pr,pr=e.create(),e.scale(pr,pr,[1,-1,1]),e.translate(pr,pr,[-1,-1,0]),e.scale(pr,pr,[2/this.width,2/this.height,1]),this.glCoordMatrix=pr,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),pr=e.invert(new Float64Array(16),this.pixelMatrix),!pr)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=pr,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Jo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var K=this.pointCoordinate(new e.Point(0,0)),_e=[K.x*this.worldSize,K.y*this.worldSize,0,1],te=e.transformMat4(_e,_e,this.pixelMatrix);return te[3]/this.cameraToCenterDistance},Jo.prototype.getCameraPoint=function(){var K=this._pitch,_e=Math.tan(K)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,_e))},Jo.prototype.getCameraQueryGeometry=function(K){var _e=this.getCameraPoint();if(K.length===1)return[K[0],_e];for(var te=_e.x,me=_e.y,Ge=_e.x,Le=_e.y,$e=0,gt=K;$e=3&&!K.some(function(te){return isNaN(te)})){var _e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(K[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+K[2],+K[1]],zoom:+K[0],bearing:_e,pitch:+(K[4]||0)}),!0}return!1},eu.prototype._updateHashUnthrottled=function(){var K=e.window.location.href.replace(/(#.+)?$/,this.getHashString());try{e.window.history.replaceState(e.window.history.state,null,K)}catch{}};var Ru={linearity:.3,easing:e.bezier(0,0,.3,1)},vu=e.extend({deceleration:2500,maxSpeed:1400},Ru),Tl=e.extend({deceleration:20,maxSpeed:1400},Ru),cu=e.extend({deceleration:1e3,maxSpeed:360},Ru),uc=e.extend({deceleration:1e3,maxSpeed:90},Ru),Vl=function(K){this._map=K,this.clear()};Vl.prototype.clear=function(){this._inertiaBuffer=[]},Vl.prototype.record=function(K){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.browser.now(),settings:K})},Vl.prototype._drainInertiaBuffer=function(){for(var K=this._inertiaBuffer,_e=e.browser.now(),te=160;K.length>0&&_e-K[0].time>te;)K.shift()},Vl.prototype._onMoveEnd=function(K){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var _e={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0},te=0,me=this._inertiaBuffer;te=this._clickTolerance||this._map.fire(new Fe(K.type,this._map,K))},bt.prototype.dblclick=function(K){return this._firePreventable(new Fe(K.type,this._map,K))},bt.prototype.mouseover=function(K){this._map.fire(new Fe(K.type,this._map,K))},bt.prototype.mouseout=function(K){this._map.fire(new Fe(K.type,this._map,K))},bt.prototype.touchstart=function(K){return this._firePreventable(new et(K.type,this._map,K))},bt.prototype.touchmove=function(K){this._map.fire(new et(K.type,this._map,K))},bt.prototype.touchend=function(K){this._map.fire(new et(K.type,this._map,K))},bt.prototype.touchcancel=function(K){this._map.fire(new et(K.type,this._map,K))},bt.prototype._firePreventable=function(K){if(this._map.fire(K),K.defaultPrevented)return{}},bt.prototype.isEnabled=function(){return!0},bt.prototype.isActive=function(){return!1},bt.prototype.enable=function(){},bt.prototype.disable=function(){};var Mt=function(K){this._map=K};Mt.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Mt.prototype.mousemove=function(K){this._map.fire(new Fe(K.type,this._map,K))},Mt.prototype.mousedown=function(){this._delayContextMenu=!0},Mt.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Fe(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Mt.prototype.contextmenu=function(K){this._delayContextMenu?this._contextMenuEvent=K:this._map.fire(new Fe(K.type,this._map,K)),this._map.listens(\"contextmenu\")&&K.preventDefault()},Mt.prototype.isEnabled=function(){return!0},Mt.prototype.isActive=function(){return!1},Mt.prototype.enable=function(){},Mt.prototype.disable=function(){};var ar=function(K,_e){this._map=K,this._el=K.getCanvasContainer(),this._container=K.getContainer(),this._clickTolerance=_e.clickTolerance||1};ar.prototype.isEnabled=function(){return!!this._enabled},ar.prototype.isActive=function(){return!!this._active},ar.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},ar.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},ar.prototype.mousedown=function(K,_e){this.isEnabled()&&K.shiftKey&&K.button===0&&(r.disableDrag(),this._startPos=this._lastPos=_e,this._active=!0)},ar.prototype.mousemoveWindow=function(K,_e){if(this._active){var te=_e;if(!(this._lastPos.equals(te)||!this._box&&te.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=K.timeStamp),te.length===this.numTouches&&(this.centroid=_r(_e),this.touches=Ot(te,_e)))},da.prototype.touchmove=function(K,_e,te){if(!(this.aborted||!this.centroid)){var me=Ot(te,_e);for(var Ge in this.touches){var Le=this.touches[Ge],$e=me[Ge];(!$e||$e.dist(Le)>xa)&&(this.aborted=!0)}}},da.prototype.touchend=function(K,_e,te){if((!this.centroid||K.timeStamp-this.startTime>Xr)&&(this.aborted=!0),te.length===0){var me=!this.aborted&&this.centroid;if(this.reset(),me)return me}};var Ja=function(K){this.singleTap=new da(K),this.numTaps=K.numTaps,this.reset()};Ja.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Ja.prototype.touchstart=function(K,_e,te){this.singleTap.touchstart(K,_e,te)},Ja.prototype.touchmove=function(K,_e,te){this.singleTap.touchmove(K,_e,te)},Ja.prototype.touchend=function(K,_e,te){var me=this.singleTap.touchend(K,_e,te);if(me){var Ge=K.timeStamp-this.lastTime0&&(this._active=!0);var me=Ot(te,_e),Ge=new e.Point(0,0),Le=new e.Point(0,0),$e=0;for(var gt in me){var jt=me[gt],wr=this._touches[gt];wr&&(Ge._add(jt),Le._add(jt.sub(wr)),$e++,me[gt]=jt)}if(this._touches=me,!($eMath.abs(ve.x)}var gn=100,vo=function(ve){function K(){ve.apply(this,arguments)}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.reset=function(){ve.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},K.prototype._start=function(te){this._lastPoints=te,xl(te[0].sub(te[1]))&&(this._valid=!1)},K.prototype._move=function(te,me,Ge){var Le=te[0].sub(this._lastPoints[0]),$e=te[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(Le,$e,Ge.timeStamp),!!this._valid){this._lastPoints=te,this._active=!0;var gt=(Le.y+$e.y)/2,jt=-.5;return{pitchDelta:gt*jt}}},K.prototype.gestureBeginsVertically=function(te,me,Ge){if(this._valid!==void 0)return this._valid;var Le=2,$e=te.mag()>=Le,gt=me.mag()>=Le;if(!(!$e&&!gt)){if(!$e||!gt)return this._firstMove===void 0&&(this._firstMove=Ge),Ge-this._firstMove0==me.y>0;return xl(te)&&xl(me)&&jt}},K}(Pn),cs={panStep:100,bearingStep:15,pitchStep:10},ms=function(){var K=cs;this._panStep=K.panStep,this._bearingStep=K.bearingStep,this._pitchStep=K.pitchStep,this._rotationDisabled=!1};ms.prototype.reset=function(){this._active=!1},ms.prototype.keydown=function(K){var _e=this;if(!(K.altKey||K.ctrlKey||K.metaKey)){var te=0,me=0,Ge=0,Le=0,$e=0;switch(K.keyCode){case 61:case 107:case 171:case 187:te=1;break;case 189:case 109:case 173:te=-1;break;case 37:K.shiftKey?me=-1:(K.preventDefault(),Le=-1);break;case 39:K.shiftKey?me=1:(K.preventDefault(),Le=1);break;case 38:K.shiftKey?Ge=1:(K.preventDefault(),$e=-1);break;case 40:K.shiftKey?Ge=-1:(K.preventDefault(),$e=1);break;default:return}return this._rotationDisabled&&(me=0,Ge=0),{cameraAnimation:function(gt){var jt=gt.getZoom();gt.easeTo({duration:300,easeId:\"keyboardHandler\",easing:Al,zoom:te?Math.round(jt)+te*(K.shiftKey?2:1):jt,bearing:gt.getBearing()+me*_e._bearingStep,pitch:gt.getPitch()+Ge*_e._pitchStep,offset:[-Le*_e._panStep,-$e*_e._panStep],center:gt.getCenter()},{originalEvent:K})}}}},ms.prototype.enable=function(){this._enabled=!0},ms.prototype.disable=function(){this._enabled=!1,this.reset()},ms.prototype.isEnabled=function(){return this._enabled},ms.prototype.isActive=function(){return this._active},ms.prototype.disableRotation=function(){this._rotationDisabled=!0},ms.prototype.enableRotation=function(){this._rotationDisabled=!1};function Al(ve){return ve*(2-ve)}var Hl=4.000244140625,Su=1/100,Rl=1/450,_c=2,it=function(K,_e){this._map=K,this._el=K.getCanvasContainer(),this._handler=_e,this._delta=0,this._defaultZoomRate=Su,this._wheelZoomRate=Rl,e.bindAll([\"_onTimeout\"],this)};it.prototype.setZoomRate=function(K){this._defaultZoomRate=K},it.prototype.setWheelZoomRate=function(K){this._wheelZoomRate=K},it.prototype.isEnabled=function(){return!!this._enabled},it.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},it.prototype.isZooming=function(){return!!this._zooming},it.prototype.enable=function(K){this.isEnabled()||(this._enabled=!0,this._aroundCenter=K&&K.around===\"center\")},it.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},it.prototype.wheel=function(K){if(this.isEnabled()){var _e=K.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?K.deltaY*40:K.deltaY,te=e.browser.now(),me=te-(this._lastWheelEventTime||0);this._lastWheelEventTime=te,_e!==0&&_e%Hl===0?this._type=\"wheel\":_e!==0&&Math.abs(_e)<4?this._type=\"trackpad\":me>400?(this._type=null,this._lastValue=_e,this._timeout=setTimeout(this._onTimeout,40,K)):this._type||(this._type=Math.abs(me*_e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,_e+=this._lastValue)),K.shiftKey&&_e&&(_e=_e/4),this._type&&(this._lastWheelEvent=K,this._delta-=_e,this._active||this._start(K)),K.preventDefault()}},it.prototype._onTimeout=function(K){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(K)},it.prototype._start=function(K){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var _e=r.mousePos(this._el,K);this._around=e.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(_e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},it.prototype.renderFrame=function(){var K=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var _e=this._map.transform;if(this._delta!==0){var te=this._type===\"wheel\"&&Math.abs(this._delta)>Hl?this._wheelZoomRate:this._defaultZoomRate,me=_c/(1+Math.exp(-Math.abs(this._delta*te)));this._delta<0&&me!==0&&(me=1/me);var Ge=typeof this._targetZoom==\"number\"?_e.zoomScale(this._targetZoom):_e.scale;this._targetZoom=Math.min(_e.maxZoom,Math.max(_e.minZoom,_e.scaleZoom(Ge*me))),this._type===\"wheel\"&&(this._startZoom=_e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var Le=typeof this._targetZoom==\"number\"?this._targetZoom:_e.zoom,$e=this._startZoom,gt=this._easing,jt=!1,wr;if(this._type===\"wheel\"&&$e&>){var Nr=Math.min((e.browser.now()-this._lastWheelEventTime)/200,1),pr=gt(Nr);wr=e.number($e,Le,pr),Nr<1?this._frameId||(this._frameId=!0):jt=!0}else wr=Le,jt=!0;return this._active=!0,jt&&(this._active=!1,this._finishTimeout=setTimeout(function(){K._zooming=!1,K._handler._triggerRenderFrame(),delete K._targetZoom,delete K._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!jt,zoomDelta:wr-_e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},it.prototype._smoothOutEasing=function(K){var _e=e.ease;if(this._prevEase){var te=this._prevEase,me=(e.browser.now()-te.start)/te.duration,Ge=te.easing(me+.01)-te.easing(me),Le=.27/Math.sqrt(Ge*Ge+1e-4)*.01,$e=Math.sqrt(.27*.27-Le*Le);_e=e.bezier(Le,$e,.25,1)}return this._prevEase={start:e.browser.now(),duration:K,easing:_e},_e},it.prototype.reset=function(){this._active=!1};var Zt=function(K,_e){this._clickZoom=K,this._tapZoom=_e};Zt.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Zt.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Zt.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Zt.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var fr=function(){this.reset()};fr.prototype.reset=function(){this._active=!1},fr.prototype.dblclick=function(K,_e){return K.preventDefault(),{cameraAnimation:function(te){te.easeTo({duration:300,zoom:te.getZoom()+(K.shiftKey?-1:1),around:te.unproject(_e)},{originalEvent:K})}}},fr.prototype.enable=function(){this._enabled=!0},fr.prototype.disable=function(){this._enabled=!1,this.reset()},fr.prototype.isEnabled=function(){return this._enabled},fr.prototype.isActive=function(){return this._active};var oa=function(){this._tap=new Ja({numTouches:1,numTaps:1}),this.reset()};oa.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},oa.prototype.touchstart=function(K,_e,te){this._swipePoint||(this._tapTime&&K.timeStamp-this._tapTime>Gr&&this.reset(),this._tapTime?te.length>0&&(this._swipePoint=_e[0],this._swipeTouch=te[0].identifier):this._tap.touchstart(K,_e,te))},oa.prototype.touchmove=function(K,_e,te){if(!this._tapTime)this._tap.touchmove(K,_e,te);else if(this._swipePoint){if(te[0].identifier!==this._swipeTouch)return;var me=_e[0],Ge=me.y-this._swipePoint.y;return this._swipePoint=me,K.preventDefault(),this._active=!0,{zoomDelta:Ge/128}}},oa.prototype.touchend=function(K,_e,te){if(this._tapTime)this._swipePoint&&te.length===0&&this.reset();else{var me=this._tap.touchend(K,_e,te);me&&(this._tapTime=K.timeStamp)}},oa.prototype.touchcancel=function(){this.reset()},oa.prototype.enable=function(){this._enabled=!0},oa.prototype.disable=function(){this._enabled=!1,this.reset()},oa.prototype.isEnabled=function(){return this._enabled},oa.prototype.isActive=function(){return this._active};var wa=function(K,_e,te){this._el=K,this._mousePan=_e,this._touchPan=te};wa.prototype.enable=function(K){this._inertiaOptions=K||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},wa.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},wa.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},wa.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var ma=function(K,_e,te){this._pitchWithRotate=K.pitchWithRotate,this._mouseRotate=_e,this._mousePitch=te};ma.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},ma.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},ma.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},ma.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var _a=function(K,_e,te,me){this._el=K,this._touchZoom=_e,this._touchRotate=te,this._tapDragZoom=me,this._rotationDisabled=!1,this._enabled=!0};_a.prototype.enable=function(K){this._touchZoom.enable(K),this._rotationDisabled||this._touchRotate.enable(K),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},_a.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},_a.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},_a.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},_a.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},_a.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ya=function(ve){return ve.zoom||ve.drag||ve.pitch||ve.rotate},bi=function(ve){function K(){ve.apply(this,arguments)}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K}(e.Event);function yi(ve){return ve.panDelta&&ve.panDelta.mag()||ve.zoomDelta||ve.bearingDelta||ve.pitchDelta}var si=function(K,_e){this._map=K,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Vl(K),this._bearingSnap=_e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(_e),e.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var te=this._el;this._listeners=[[te,\"touchstart\",{passive:!0}],[te,\"touchmove\",{passive:!1}],[te,\"touchend\",void 0],[te,\"touchcancel\",void 0],[te,\"mousedown\",void 0],[te,\"mousemove\",void 0],[te,\"mouseup\",void 0],[e.window.document,\"mousemove\",{capture:!0}],[e.window.document,\"mouseup\",void 0],[te,\"mouseover\",void 0],[te,\"mouseout\",void 0],[te,\"dblclick\",void 0],[te,\"click\",void 0],[te,\"keydown\",{capture:!1}],[te,\"keyup\",void 0],[te,\"wheel\",{passive:!1}],[te,\"contextmenu\",void 0],[e.window,\"blur\",void 0]];for(var me=0,Ge=this._listeners;me$e?Math.min(2,Ht):Math.max(.5,Ht),Ga=Math.pow(vi,1-Jr),ai=Le.unproject(dr.add(ur.mult(Jr*Ga)).mult(ga));Le.setLocationAtPoint(Le.renderWorldCopies?ai.wrap():ai,nr)}Ge._fireMoveEvents(me)},function(Jr){Ge._afterEase(me,Jr)},te),this},K.prototype._prepareEase=function(te,me,Ge){Ge===void 0&&(Ge={}),this._moving=!0,!me&&!Ge.moving&&this.fire(new e.Event(\"movestart\",te)),this._zooming&&!Ge.zooming&&this.fire(new e.Event(\"zoomstart\",te)),this._rotating&&!Ge.rotating&&this.fire(new e.Event(\"rotatestart\",te)),this._pitching&&!Ge.pitching&&this.fire(new e.Event(\"pitchstart\",te))},K.prototype._fireMoveEvents=function(te){this.fire(new e.Event(\"move\",te)),this._zooming&&this.fire(new e.Event(\"zoom\",te)),this._rotating&&this.fire(new e.Event(\"rotate\",te)),this._pitching&&this.fire(new e.Event(\"pitch\",te))},K.prototype._afterEase=function(te,me){if(!(this._easeId&&me&&this._easeId===me)){delete this._easeId;var Ge=this._zooming,Le=this._rotating,$e=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Ge&&this.fire(new e.Event(\"zoomend\",te)),Le&&this.fire(new e.Event(\"rotateend\",te)),$e&&this.fire(new e.Event(\"pitchend\",te)),this.fire(new e.Event(\"moveend\",te))}},K.prototype.flyTo=function(te,me){var Ge=this;if(!te.essential&&e.browser.prefersReducedMotion){var Le=e.pick(te,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Le,me)}this.stop(),te=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},te);var $e=this.transform,gt=this.getZoom(),jt=this.getBearing(),wr=this.getPitch(),Nr=this.getPadding(),pr=\"zoom\"in te?e.clamp(+te.zoom,$e.minZoom,$e.maxZoom):gt,yt=\"bearing\"in te?this._normalizeBearing(te.bearing,jt):jt,kt=\"pitch\"in te?+te.pitch:wr,Bt=\"padding\"in te?te.padding:$e.padding,nr=$e.zoomScale(pr-gt),hr=e.Point.convert(te.offset),lr=$e.centerPoint.add(hr),dr=$e.pointLocation(lr),ur=e.LngLat.convert(te.center||dr);this._normalizeCenter(ur);var Ht=$e.project(dr),sr=$e.project(ur).sub(Ht),Vt=te.curve,Dr=Math.max($e.width,$e.height),Jr=Dr/nr,ga=sr.mag();if(\"minZoom\"in te){var vi=e.clamp(Math.min(te.minZoom,gt,pr),$e.minZoom,$e.maxZoom),Ga=Dr/$e.zoomScale(vi-gt);Vt=Math.sqrt(Ga/ga*2)}var ai=Vt*Vt;function Zi(Do){var Ms=(Jr*Jr-Dr*Dr+(Do?-1:1)*ai*ai*ga*ga)/(2*(Do?Jr:Dr)*ai*ga);return Math.log(Math.sqrt(Ms*Ms+1)-Ms)}function Fi(Do){return(Math.exp(Do)-Math.exp(-Do))/2}function ui(Do){return(Math.exp(Do)+Math.exp(-Do))/2}function _i(Do){return Fi(Do)/ui(Do)}var Si=Zi(0),Ui=function(Do){return ui(Si)/ui(Si+Vt*Do)},fn=function(Do){return Dr*((ui(Si)*_i(Si+Vt*Do)-Fi(Si))/ai)/ga},_o=(Zi(1)-Si)/Vt;if(Math.abs(ga)<1e-6||!isFinite(_o)){if(Math.abs(Dr-Jr)<1e-6)return this.easeTo(te,me);var Bo=Jrte.maxDuration&&(te.duration=0),this._zooming=!0,this._rotating=jt!==yt,this._pitching=kt!==wr,this._padding=!$e.isPaddingEqual(Bt),this._prepareEase(me,!1),this._ease(function(Do){var Ms=Do*_o,Ys=1/Ui(Ms);$e.zoom=Do===1?pr:gt+$e.scaleZoom(Ys),Ge._rotating&&($e.bearing=e.number(jt,yt,Do)),Ge._pitching&&($e.pitch=e.number(wr,kt,Do)),Ge._padding&&($e.interpolatePadding(Nr,Bt,Do),lr=$e.centerPoint.add(hr));var mu=Do===1?ur:$e.unproject(Ht.add(sr.mult(fn(Ms))).mult(Ys));$e.setLocationAtPoint($e.renderWorldCopies?mu.wrap():mu,lr),Ge._fireMoveEvents(me)},function(){return Ge._afterEase(me)},te),this},K.prototype.isEasing=function(){return!!this._easeFrameId},K.prototype.stop=function(){return this._stop()},K.prototype._stop=function(te,me){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var Ge=this._onEaseEnd;delete this._onEaseEnd,Ge.call(this,me)}if(!te){var Le=this.handlers;Le&&Le.stop(!1)}return this},K.prototype._ease=function(te,me,Ge){Ge.animate===!1||Ge.duration===0?(te(1),me()):(this._easeStart=e.browser.now(),this._easeOptions=Ge,this._onEaseFrame=te,this._onEaseEnd=me,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},K.prototype._renderFrameCallback=function(){var te=Math.min((e.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(te)),te<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},K.prototype._normalizeBearing=function(te,me){te=e.wrap(te,-180,180);var Ge=Math.abs(te-me);return Math.abs(te-360-me)180?-360:Ge<-180?360:0}},K}(e.Evented),zi=function(K){K===void 0&&(K={}),this.options=K,e.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};zi.prototype.getDefaultPosition=function(){return\"bottom-right\"},zi.prototype.onAdd=function(K){var _e=this.options&&this.options.compact;return this._map=K,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=r.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),_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),_e===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},zi.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,this._attribHTML=void 0},zi.prototype._setElementTitle=function(K,_e){var te=this._map._getUIString(\"AttributionControl.\"+_e);K.title=te,K.setAttribute(\"aria-label\",te)},zi.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"))},zi.prototype._updateEditLink=function(){var K=this._editLink;K||(K=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var _e=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(K){var te=_e.reduce(function(me,Ge,Le){return Ge.value&&(me+=Ge.key+\"=\"+Ge.value+(Le<_e.length-1?\"&\":\"\")),me},\"?\");K.href=e.config.FEEDBACK_URL+\"/\"+te+(this._map._hash?this._map._hash.getHashString(!0):\"\"),K.rel=\"noopener nofollow\",this._setElementTitle(K,\"MapFeedback\")}},zi.prototype._updateData=function(K){K&&(K.sourceDataType===\"metadata\"||K.sourceDataType===\"visibility\"||K.dataType===\"style\")&&(this._updateAttributions(),this._updateEditLink())},zi.prototype._updateAttributions=function(){if(this._map.style){var K=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?K=K.concat(this.options.customAttribution.map(function(gt){return typeof gt!=\"string\"?\"\":gt})):typeof this.options.customAttribution==\"string\"&&K.push(this.options.customAttribution)),this._map.style.stylesheet){var _e=this._map.style.stylesheet;this.styleOwner=_e.owner,this.styleId=_e.id}var te=this._map.style.sourceCaches;for(var me in te){var Ge=te[me];if(Ge.used){var Le=Ge.getSource();Le.attribution&&K.indexOf(Le.attribution)<0&&K.push(Le.attribution)}}K.sort(function(gt,jt){return gt.length-jt.length}),K=K.filter(function(gt,jt){for(var wr=jt+1;wr=0)return!1;return!0});var $e=K.join(\" | \");$e!==this._attribHTML&&(this._attribHTML=$e,K.length?(this._innerContainer.innerHTML=$e,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},zi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Ei=function(){e.bindAll([\"_updateLogo\"],this),e.bindAll([\"_updateCompact\"],this)};Ei.prototype.onAdd=function(K){this._map=K,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\",this._map._getUIString(\"LogoControl.Title\")),_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},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Ei.prototype.getDefaultPosition=function(){return\"bottom-left\"},Ei.prototype._updateLogo=function(K){(!K||K.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Ei.prototype._logoRequired=function(){if(this._map.style){var K=this._map.style.sourceCaches;for(var _e in K){var te=K[_e].getSource();if(te.mapbox_logo)return!0}return!1}},Ei.prototype._updateCompact=function(){var K=this._container.children;if(K.length){var _e=K[0];this._map.getCanvasContainer().offsetWidth<250?_e.classList.add(\"mapboxgl-compact\"):_e.classList.remove(\"mapboxgl-compact\")}};var Na=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Na.prototype.add=function(K){var _e=++this._id,te=this._queue;return te.push({callback:K,id:_e,cancelled:!1}),_e},Na.prototype.remove=function(K){for(var _e=this._currentlyRunning,te=_e?this._queue.concat(_e):this._queue,me=0,Ge=te;mete.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(te.minPitch!=null&&te.maxPitch!=null&&te.minPitch>te.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(te.minPitch!=null&&te.minPitchpn)throw new Error(\"maxPitch must be less than or equal to \"+pn);var Ge=new Jo(te.minZoom,te.maxZoom,te.minPitch,te.maxPitch,te.renderWorldCopies);if(ve.call(this,Ge,te),this._interactive=te.interactive,this._maxTileCacheSize=te.maxTileCacheSize,this._failIfMajorPerformanceCaveat=te.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=te.preserveDrawingBuffer,this._antialias=te.antialias,this._trackResize=te.trackResize,this._bearingSnap=te.bearingSnap,this._refreshExpiredTiles=te.refreshExpiredTiles,this._fadeDuration=te.fadeDuration,this._crossSourceCollisions=te.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=te.collectResourceTiming,this._renderTaskQueue=new Na,this._controls=[],this._mapId=e.uniqueId(),this._locale=e.extend({},ea,te.locale),this._clickTolerance=te.clickTolerance,this._requestManager=new e.RequestManager(te.transformRequest,te.accessToken),typeof te.container==\"string\"){if(this._container=e.window.document.getElementById(te.container),!this._container)throw new Error(\"Container '\"+te.container+\"' not found.\")}else if(te.container instanceof Qa)this._container=te.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(te.maxBounds&&this.setMaxBounds(te.maxBounds),e.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return me._update(!1)}),this.on(\"moveend\",function(){return me._update(!1)}),this.on(\"zoom\",function(){return me._update(!0)}),typeof e.window<\"u\"&&(e.window.addEventListener(\"online\",this._onWindowOnline,!1),e.window.addEventListener(\"resize\",this._onWindowResize,!1),e.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new si(this,te);var Le=typeof te.hash==\"string\"&&te.hash||void 0;this._hash=te.hash&&new eu(Le).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:te.center,zoom:te.zoom,bearing:te.bearing,pitch:te.pitch}),te.bounds&&(this.resize(),this.fitBounds(te.bounds,e.extend({},te.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=te.localIdeographFontFamily,te.style&&this.setStyle(te.style,{localIdeographFontFamily:te.localIdeographFontFamily}),te.attributionControl&&this.addControl(new zi({customAttribution:te.customAttribution})),this.addControl(new Ei,te.logoPosition),this.on(\"style.load\",function(){me.transform.unmodified&&me.jumpTo(me.style.stylesheet)}),this.on(\"data\",function($e){me._update($e.dataType===\"style\"),me.fire(new e.Event($e.dataType+\"data\",$e))}),this.on(\"dataloading\",function($e){me.fire(new e.Event($e.dataType+\"dataloading\",$e))})}ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K;var _e={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return K.prototype._getMapId=function(){return this._mapId},K.prototype.addControl=function(me,Ge){if(Ge===void 0&&(me.getDefaultPosition?Ge=me.getDefaultPosition():Ge=\"top-right\"),!me||!me.onAdd)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var Le=me.onAdd(this);this._controls.push(me);var $e=this._controlPositions[Ge];return Ge.indexOf(\"bottom\")!==-1?$e.insertBefore(Le,$e.firstChild):$e.appendChild(Le),this},K.prototype.removeControl=function(me){if(!me||!me.onRemove)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var Ge=this._controls.indexOf(me);return Ge>-1&&this._controls.splice(Ge,1),me.onRemove(this),this},K.prototype.hasControl=function(me){return this._controls.indexOf(me)>-1},K.prototype.resize=function(me){var Ge=this._containerDimensions(),Le=Ge[0],$e=Ge[1];this._resizeCanvas(Le,$e),this.transform.resize(Le,$e),this.painter.resize(Le,$e);var gt=!this._moving;return gt&&(this.stop(),this.fire(new e.Event(\"movestart\",me)).fire(new e.Event(\"move\",me))),this.fire(new e.Event(\"resize\",me)),gt&&this.fire(new e.Event(\"moveend\",me)),this},K.prototype.getBounds=function(){return this.transform.getBounds()},K.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},K.prototype.setMaxBounds=function(me){return this.transform.setMaxBounds(e.LngLatBounds.convert(me)),this._update()},K.prototype.setMinZoom=function(me){if(me=me??Va,me>=Va&&me<=this.transform.maxZoom)return this.transform.minZoom=me,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=me,this._update(),this.getZoom()>me&&this.setZoom(me),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},K.prototype.getMaxZoom=function(){return this.transform.maxZoom},K.prototype.setMinPitch=function(me){if(me=me??Li,me=Li&&me<=this.transform.maxPitch)return this.transform.minPitch=me,this._update(),this.getPitch()pn)throw new Error(\"maxPitch must be less than or equal to \"+pn);if(me>=this.transform.minPitch)return this.transform.maxPitch=me,this._update(),this.getPitch()>me&&this.setPitch(me),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},K.prototype.getMaxPitch=function(){return this.transform.maxPitch},K.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},K.prototype.setRenderWorldCopies=function(me){return this.transform.renderWorldCopies=me,this._update()},K.prototype.project=function(me){return this.transform.locationPoint(e.LngLat.convert(me))},K.prototype.unproject=function(me){return this.transform.pointLocation(e.Point.convert(me))},K.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},K.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},K.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},K.prototype._createDelegatedListener=function(me,Ge,Le){var $e=this,gt;if(me===\"mouseenter\"||me===\"mouseover\"){var jt=!1,wr=function(nr){var hr=$e.getLayer(Ge)?$e.queryRenderedFeatures(nr.point,{layers:[Ge]}):[];hr.length?jt||(jt=!0,Le.call($e,new Fe(me,$e,nr.originalEvent,{features:hr}))):jt=!1},Nr=function(){jt=!1};return{layer:Ge,listener:Le,delegates:{mousemove:wr,mouseout:Nr}}}else if(me===\"mouseleave\"||me===\"mouseout\"){var pr=!1,yt=function(nr){var hr=$e.getLayer(Ge)?$e.queryRenderedFeatures(nr.point,{layers:[Ge]}):[];hr.length?pr=!0:pr&&(pr=!1,Le.call($e,new Fe(me,$e,nr.originalEvent)))},kt=function(nr){pr&&(pr=!1,Le.call($e,new Fe(me,$e,nr.originalEvent)))};return{layer:Ge,listener:Le,delegates:{mousemove:yt,mouseout:kt}}}else{var Bt=function(nr){var hr=$e.getLayer(Ge)?$e.queryRenderedFeatures(nr.point,{layers:[Ge]}):[];hr.length&&(nr.features=hr,Le.call($e,nr),delete nr.features)};return{layer:Ge,listener:Le,delegates:(gt={},gt[me]=Bt,gt)}}},K.prototype.on=function(me,Ge,Le){if(Le===void 0)return ve.prototype.on.call(this,me,Ge);var $e=this._createDelegatedListener(me,Ge,Le);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[me]=this._delegatedListeners[me]||[],this._delegatedListeners[me].push($e);for(var gt in $e.delegates)this.on(gt,$e.delegates[gt]);return this},K.prototype.once=function(me,Ge,Le){if(Le===void 0)return ve.prototype.once.call(this,me,Ge);var $e=this._createDelegatedListener(me,Ge,Le);for(var gt in $e.delegates)this.once(gt,$e.delegates[gt]);return this},K.prototype.off=function(me,Ge,Le){var $e=this;if(Le===void 0)return ve.prototype.off.call(this,me,Ge);var gt=function(jt){for(var wr=jt[me],Nr=0;Nr180;){var Le=_e.locationPoint(ve);if(Le.x>=0&&Le.y>=0&&Le.x<=_e.width&&Le.y<=_e.height)break;ve.lng>_e.center.lng?ve.lng-=360:ve.lng+=360}return ve}var mn={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 In(ve,K,_e){var te=ve.classList;for(var me in mn)te.remove(\"mapboxgl-\"+_e+\"-anchor-\"+me);te.add(\"mapboxgl-\"+_e+\"-anchor-\"+K)}var Ii=function(ve){function K(_e,te){if(ve.call(this),(_e instanceof e.window.HTMLElement||te)&&(_e=e.extend({element:_e},te)),e.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=_e&&_e.anchor||\"center\",this._color=_e&&_e.color||\"#3FB1CE\",this._scale=_e&&_e.scale||1,this._draggable=_e&&_e.draggable||!1,this._clickTolerance=_e&&_e.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=_e&&_e.rotation||0,this._rotationAlignment=_e&&_e.rotationAlignment||\"auto\",this._pitchAlignment=_e&&_e.pitchAlignment&&_e.pitchAlignment!==\"auto\"?_e.pitchAlignment:this._rotationAlignment,!_e||!_e.element){this._defaultMarker=!0,this._element=r.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var me=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Ge=41,Le=27;me.setAttributeNS(null,\"display\",\"block\"),me.setAttributeNS(null,\"height\",Ge+\"px\"),me.setAttributeNS(null,\"width\",Le+\"px\"),me.setAttributeNS(null,\"viewBox\",\"0 0 \"+Le+\" \"+Ge);var $e=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");$e.setAttributeNS(null,\"stroke\",\"none\"),$e.setAttributeNS(null,\"stroke-width\",\"1\"),$e.setAttributeNS(null,\"fill\",\"none\"),$e.setAttributeNS(null,\"fill-rule\",\"evenodd\");var gt=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");gt.setAttributeNS(null,\"fill-rule\",\"nonzero\");var jt=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");jt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),jt.setAttributeNS(null,\"fill\",\"#000000\");for(var wr=[{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\"}],Nr=0,pr=wr;Nr=me}this._isDragging&&(this._pos=te.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new e.Event(\"dragstart\"))),this.fire(new e.Event(\"drag\")))},K.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new e.Event(\"dragend\")),this._state=\"inactive\"},K.prototype._addDragHandler=function(te){this._element.contains(te.originalEvent.target)&&(te.preventDefault(),this._positionDelta=te.point.sub(this._pos).add(this._offset),this._pointerdownPos=te.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},K.prototype.setDraggable=function(te){return this._draggable=!!te,this._map&&(te?(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},K.prototype.isDraggable=function(){return this._draggable},K.prototype.setRotation=function(te){return this._rotation=te||0,this._update(),this},K.prototype.getRotation=function(){return this._rotation},K.prototype.setRotationAlignment=function(te){return this._rotationAlignment=te||\"auto\",this._update(),this},K.prototype.getRotationAlignment=function(){return this._rotationAlignment},K.prototype.setPitchAlignment=function(te){return this._pitchAlignment=te&&te!==\"auto\"?te:this._rotationAlignment,this._update(),this},K.prototype.getPitchAlignment=function(){return this._pitchAlignment},K}(e.Evented),an={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},kn;function Dn(ve){kn!==void 0?ve(kn):e.window.navigator.permissions!==void 0?e.window.navigator.permissions.query({name:\"geolocation\"}).then(function(K){kn=K.state!==\"denied\",ve(kn)}):(kn=!!e.window.navigator.geolocation,ve(kn))}var Zn=0,Ds=!1,bl=function(ve){function K(_e){ve.call(this),this.options=e.extend({},an,_e),e.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.onAdd=function(te){return this._map=te,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Dn(this._setupUI),this._container},K.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(e.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Zn=0,Ds=!1},K.prototype._isOutOfMapMaxBounds=function(te){var me=this._map.getMaxBounds(),Ge=te.coords;return me&&(Ge.longitudeme.getEast()||Ge.latitudeme.getNorth())},K.prototype._setErrorState=function(){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\");break}},K.prototype._onSuccess=function(te){if(this._map){if(this._isOutOfMapMaxBounds(te)){this._setErrorState(),this.fire(new e.Event(\"outofmaxbounds\",te)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=te,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\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(te),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(te),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"geolocate\",te)),this._finish()}},K.prototype._updateCamera=function(te){var me=new e.LngLat(te.coords.longitude,te.coords.latitude),Ge=te.coords.accuracy,Le=this._map.getBearing(),$e=e.extend({bearing:Le},this.options.fitBoundsOptions);this._map.fitBounds(me.toBounds(Ge),$e,{geolocateSource:!0})},K.prototype._updateMarker=function(te){if(te){var me=new e.LngLat(te.coords.longitude,te.coords.latitude);this._accuracyCircleMarker.setLngLat(me).addTo(this._map),this._userLocationDotMarker.setLngLat(me).addTo(this._map),this._accuracy=te.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},K.prototype._updateCircleRadius=function(){var te=this._map._container.clientHeight/2,me=this._map.unproject([0,te]),Ge=this._map.unproject([1,te]),Le=me.distanceTo(Ge),$e=Math.ceil(2*this._accuracy/Le);this._circleElement.style.width=$e+\"px\",this._circleElement.style.height=$e+\"px\"},K.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},K.prototype._onError=function(te){if(this._map){if(this.options.trackUserLocation)if(te.code===1){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._geolocateButton.disabled=!0;var me=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=me,this._geolocateButton.setAttribute(\"aria-label\",me),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(te.code===3&&Ds)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"error\",te)),this._finish()}},K.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},K.prototype._setupUI=function(te){var me=this;if(this._container.addEventListener(\"contextmenu\",function($e){return $e.preventDefault()}),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",te===!1){e.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var Ge=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=Ge,this._geolocateButton.setAttribute(\"aria-label\",Ge)}else{var Le=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=Le,this._geolocateButton.setAttribute(\"aria-label\",Le)}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 Ii(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Ii({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",function($e){var gt=$e.originalEvent&&$e.originalEvent.type===\"resize\";!$e.geolocateSource&&me._watchState===\"ACTIVE_LOCK\"&&!gt&&(me._watchState=\"BACKGROUND\",me._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),me._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),me.fire(new e.Event(\"trackuserlocationend\")))})},K.prototype.trigger=function(){if(!this._setup)return e.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 e.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Zn--,Ds=!1,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 e.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 e.Event(\"trackuserlocationstart\"));break}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\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Zn++;var te;Zn>1?(te={maximumAge:6e5,timeout:0},Ds=!0):(te=this.options.positionOptions,Ds=!1),this._geolocationWatchID=e.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,te)}}else e.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},K.prototype._clearWatch=function(){e.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)},K}(e.Evented),po={maxWidth:100,unit:\"metric\"},Wl=function(K){this.options=e.extend({},po,K),e.bindAll([\"_onMove\",\"setUnit\"],this)};Wl.prototype.getDefaultPosition=function(){return\"bottom-left\"},Wl.prototype._onMove=function(){fs(this._map,this._container,this.options)},Wl.prototype.onAdd=function(K){return this._map=K,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",K.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Wl.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Wl.prototype.setUnit=function(K){this.options.unit=K,fs(this._map,this._container,this.options)};function fs(ve,K,_e){var te=_e&&_e.maxWidth||100,me=ve._container.clientHeight/2,Ge=ve.unproject([0,me]),Le=ve.unproject([te,me]),$e=Ge.distanceTo(Le);if(_e&&_e.unit===\"imperial\"){var gt=3.2808*$e;if(gt>5280){var jt=gt/5280;Sl(K,te,jt,ve._getUIString(\"ScaleControl.Miles\"))}else Sl(K,te,gt,ve._getUIString(\"ScaleControl.Feet\"))}else if(_e&&_e.unit===\"nautical\"){var wr=$e/1852;Sl(K,te,wr,ve._getUIString(\"ScaleControl.NauticalMiles\"))}else $e>=1e3?Sl(K,te,$e/1e3,ve._getUIString(\"ScaleControl.Kilometers\")):Sl(K,te,$e,ve._getUIString(\"ScaleControl.Meters\"))}function Sl(ve,K,_e,te){var me=tu(_e),Ge=me/_e;ve.style.width=K*Ge+\"px\",ve.innerHTML=me+\" \"+te}function kl(ve){var K=Math.pow(10,Math.ceil(-Math.log(ve)/Math.LN10));return Math.round(ve*K)/K}function tu(ve){var K=Math.pow(10,(\"\"+Math.floor(ve)).length-1),_e=ve/K;return _e=_e>=10?10:_e>=5?5:_e>=3?3:_e>=2?2:_e>=1?1:kl(_e),K*_e}var qs=function(K){this._fullscreen=!1,K&&K.container&&(K.container instanceof e.window.HTMLElement?this._container=K.container:e.warnOnce(\"Full screen control 'container' must be a DOM element.\")),e.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in e.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in e.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in e.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in e.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};qs.prototype.onAdd=function(K){return this._map=K,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",e.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},qs.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},qs.prototype._checkFullscreenSupport=function(){return!!(e.window.document.fullscreenEnabled||e.window.document.mozFullScreenEnabled||e.window.document.msFullscreenEnabled||e.window.document.webkitFullscreenEnabled)},qs.prototype._setupUI=function(){var K=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",K).setAttribute(\"aria-hidden\",!0),K.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},qs.prototype._updateTitle=function(){var K=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",K),this._fullscreenButton.title=K},qs.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},qs.prototype._isFullscreen=function(){return this._fullscreen},qs.prototype._changeIcon=function(){var K=e.window.document.fullscreenElement||e.window.document.mozFullScreenElement||e.window.document.webkitFullscreenElement||e.window.document.msFullscreenElement;K===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},qs.prototype._onClickFullscreen=function(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.mozCancelFullScreen?e.window.document.mozCancelFullScreen():e.window.document.msExitFullscreen?e.window.document.msExitFullscreen():e.window.document.webkitCancelFullScreen&&e.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 pl={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},wl=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),Yn=function(ve){function K(_e){ve.call(this),this.options=e.extend(Object.create(pl),_e),e.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.addTo=function(te){return this._map&&this.remove(),this._map=te,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.Event(\"open\")),this},K.prototype.isOpen=function(){return!!this._map},K.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(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new e.Event(\"close\")),this},K.prototype.getLngLat=function(){return this._lngLat},K.prototype.setLngLat=function(te){return this._lngLat=e.LngLat.convert(te),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},K.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},K.prototype.getElement=function(){return this._container},K.prototype.setText=function(te){return this.setDOMContent(e.window.document.createTextNode(te))},K.prototype.setHTML=function(te){var me=e.window.document.createDocumentFragment(),Ge=e.window.document.createElement(\"body\"),Le;for(Ge.innerHTML=te;Le=Ge.firstChild,!!Le;)me.appendChild(Le);return this.setDOMContent(me)},K.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},K.prototype.setMaxWidth=function(te){return this.options.maxWidth=te,this._update(),this},K.prototype.setDOMContent=function(te){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(te),this._createCloseButton(),this._update(),this._focusFirstElement(),this},K.prototype.addClassName=function(te){this._container&&this._container.classList.add(te)},K.prototype.removeClassName=function(te){this._container&&this._container.classList.remove(te)},K.prototype.setOffset=function(te){return this.options.offset=te,this._update(),this},K.prototype.toggleClassName=function(te){if(this._container)return this._container.classList.toggle(te)},K.prototype._createCloseButton=function(){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=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},K.prototype._onMouseUp=function(te){this._update(te.point)},K.prototype._onMouseMove=function(te){this._update(te.point)},K.prototype._onDrag=function(te){this._update(te.point)},K.prototype._update=function(te){var me=this,Ge=this._lngLat||this._trackPointer;if(!(!this._map||!Ge||!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(yt){return me._container.classList.add(yt)}),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),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=Xi(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!te))){var Le=this._pos=this._trackPointer&&te?te:this._map.project(this._lngLat),$e=this.options.anchor,gt=Cl(this.options.offset);if(!$e){var jt=this._container.offsetWidth,wr=this._container.offsetHeight,Nr;Le.y+gt.bottom.ythis._map.transform.height-wr?Nr=[\"bottom\"]:Nr=[],Le.xthis._map.transform.width-jt/2&&Nr.push(\"right\"),Nr.length===0?$e=\"bottom\":$e=Nr.join(\"-\")}var pr=Le.add(gt[$e]).round();r.setTransform(this._container,mn[$e]+\" translate(\"+pr.x+\"px,\"+pr.y+\"px)\"),In(this._container,$e,\"popup\")}},K.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var te=this._container.querySelector(wl);te&&te.focus()}},K.prototype._onClose=function(){this.remove()},K}(e.Evented);function Cl(ve){if(ve)if(typeof ve==\"number\"){var K=Math.round(Math.sqrt(.5*Math.pow(ve,2)));return{center:new e.Point(0,0),top:new e.Point(0,ve),\"top-left\":new e.Point(K,K),\"top-right\":new e.Point(-K,K),bottom:new e.Point(0,-ve),\"bottom-left\":new e.Point(K,-K),\"bottom-right\":new e.Point(-K,-K),left:new e.Point(ve,0),right:new e.Point(-ve,0)}}else if(ve instanceof e.Point||Array.isArray(ve)){var _e=e.Point.convert(ve);return{center:_e,top:_e,\"top-left\":_e,\"top-right\":_e,bottom:_e,\"bottom-left\":_e,\"bottom-right\":_e,left:_e,right:_e}}else return{center:e.Point.convert(ve.center||[0,0]),top:e.Point.convert(ve.top||[0,0]),\"top-left\":e.Point.convert(ve[\"top-left\"]||[0,0]),\"top-right\":e.Point.convert(ve[\"top-right\"]||[0,0]),bottom:e.Point.convert(ve.bottom||[0,0]),\"bottom-left\":e.Point.convert(ve[\"bottom-left\"]||[0,0]),\"bottom-right\":e.Point.convert(ve[\"bottom-right\"]||[0,0]),left:e.Point.convert(ve.left||[0,0]),right:e.Point.convert(ve.right||[0,0])};else return Cl(new e.Point(0,0))}var Co={version:e.version,supported:t,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:Ua,NavigationControl:Ti,GeolocateControl:bl,AttributionControl:zi,ScaleControl:Wl,FullscreenControl:qs,Popup:Yn,Marker:Ii,Style:Nl,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,Evented:e.Evented,config:e.config,prewarm:on,clearPrewarmedResources:hn,get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(ve){e.config.ACCESS_TOKEN=ve},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(ve){e.config.API_URL=ve},get workerCount(){return ri.workerCount},set workerCount(ve){ri.workerCount=ve},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(ve){e.config.MAX_PARALLEL_IMAGE_REQUESTS=ve},clearStorage:function(K){e.clearTileCache(K)},workerUrl:\"\"};return Co}),S})}}),gV=Xe({\"src/plots/mapbox/layers.js\"(Z,G){\"use strict\";var v=sa(),x=ou().sanitizeHTML,S=E6(),E=im();function e(n,i){this.subplot=n,this.uid=n.uid+\"-\"+i,this.index=i,this.idSource=\"source-\"+this.uid,this.idLayer=E.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var t=e.prototype;t.update=function(i){this.visible?this.needsNewImage(i)?this.updateImage(i):this.needsNewSource(i)?(this.removeLayer(),this.updateSource(i),this.updateLayer(i)):this.needsNewLayer(i)?this.updateLayer(i):this.updateStyle(i):(this.updateSource(i),this.updateLayer(i)),this.visible=r(i)},t.needsNewImage=function(n){var i=this.subplot.map;return i.getSource(this.idSource)&&this.sourceType===\"image\"&&n.sourcetype===\"image\"&&(this.source!==n.source||JSON.stringify(this.coordinates)!==JSON.stringify(n.coordinates))},t.needsNewSource=function(n){return this.sourceType!==n.sourcetype||JSON.stringify(this.source)!==JSON.stringify(n.source)||this.layerType!==n.type},t.needsNewLayer=function(n){return this.layerType!==n.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},t.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},t.updateImage=function(n){var i=this.subplot.map;i.getSource(this.idSource).updateImage({url:n.source,coordinates:n.coordinates});var s=this.findFollowingMapboxLayerId(this.lookupBelow());s!==null&&this.subplot.map.moveLayer(this.idLayer,s)},t.updateSource=function(n){var i=this.subplot.map;if(i.getSource(this.idSource)&&i.removeSource(this.idSource),this.sourceType=n.sourcetype,this.source=n.source,!!r(n)){var s=a(n);i.addSource(this.idSource,s)}},t.findFollowingMapboxLayerId=function(n){if(n===\"traces\")for(var i=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function o(n){var i={},s={};switch(n.type){case\"circle\":v.extendFlat(s,{\"circle-radius\":n.circle.radius,\"circle-color\":n.color,\"circle-opacity\":n.opacity});break;case\"line\":v.extendFlat(s,{\"line-width\":n.line.width,\"line-color\":n.color,\"line-opacity\":n.opacity,\"line-dasharray\":n.line.dash});break;case\"fill\":v.extendFlat(s,{\"fill-color\":n.color,\"fill-outline-color\":n.fill.outlinecolor,\"fill-opacity\":n.opacity});break;case\"symbol\":var h=n.symbol,c=S(h.textposition,h.iconsize);v.extendFlat(i,{\"icon-image\":h.icon+\"-15\",\"icon-size\":h.iconsize/10,\"text-field\":h.text,\"text-size\":h.textfont.size,\"text-anchor\":c.anchor,\"text-offset\":c.offset,\"symbol-placement\":h.placement}),v.extendFlat(s,{\"icon-color\":n.color,\"text-color\":h.textfont.color,\"text-opacity\":n.opacity});break;case\"raster\":v.extendFlat(s,{\"raster-fade-duration\":0,\"raster-opacity\":n.opacity});break}return{layout:i,paint:s}}function a(n){var i=n.sourcetype,s=n.source,h={type:i},c;return i===\"geojson\"?c=\"data\":i===\"vector\"?c=typeof s==\"string\"?\"url\":\"tiles\":i===\"raster\"?(c=\"tiles\",h.tileSize=256):i===\"image\"&&(c=\"url\",h.coordinates=n.coordinates),h[c]=s,n.sourceattribution&&(h.attribution=x(n.sourceattribution)),h}G.exports=function(i,s,h){var c=new e(i,s);return c.update(h),c}}}),yV=Xe({\"src/plots/mapbox/mapbox.js\"(Z,G){\"use strict\";var v=k6(),x=sa(),S=g0(),E=so(),e=Go(),t=Ap(),r=rf(),o=Jd(),a=o.drawMode,n=o.selectMode,i=Af().prepSelect,s=Af().clearOutline,h=Af().clearSelectionsCache,c=Af().selectOnClick,m=im(),p=gV();function T(g,b){this.id=b,this.gd=g;var d=g._fullLayout,u=g._context;this.container=d._glcontainer.node(),this.isStatic=u.staticPlot,this.uid=d._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(d),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var l=T.prototype;l.plot=function(g,b,d){var u=this,y=b[u.id];u.map&&y.accesstoken!==u.accessToken&&(u.map.remove(),u.map=null,u.styleObj=null,u.traceHash={},u.layerList=[]);var f;u.map?f=new Promise(function(R,L){u.updateMap(g,b,R,L)}):f=new Promise(function(R,L){u.createMap(g,b,R,L)}),d.push(f)},l.createMap=function(g,b,d,u){var y=this,f=b[y.id],R=y.styleObj=w(f.style,b);y.accessToken=f.accesstoken;var L=f.bounds,z=L?[[L.west,L.south],[L.east,L.north]]:null,F=y.map=new v.Map({container:y.div,style:R.style,center:M(f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch,maxBounds:z,interactive:!y.isStatic,preserveDrawingBuffer:y.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new v.AttributionControl({compact:!0}));F._canvas.style.left=\"0px\",F._canvas.style.top=\"0px\",y.rejectOnError(u),y.isStatic||y.initFx(g,b);var N=[];N.push(new Promise(function(O){F.once(\"load\",O)})),N=N.concat(S.fetchTraceGeoData(g)),Promise.all(N).then(function(){y.fillBelowLookup(g,b),y.updateData(g),y.updateLayout(b),y.resolveOnRender(d)}).catch(u)},l.updateMap=function(g,b,d,u){var y=this,f=y.map,R=b[this.id];y.rejectOnError(u);var L=[],z=w(R.style,b);JSON.stringify(y.styleObj)!==JSON.stringify(z)&&(y.styleObj=z,f.setStyle(z.style),y.traceHash={},L.push(new Promise(function(F){f.once(\"styledata\",F)}))),L=L.concat(S.fetchTraceGeoData(g)),Promise.all(L).then(function(){y.fillBelowLookup(g,b),y.updateData(g),y.updateLayout(b),y.resolveOnRender(d)}).catch(u)},l.fillBelowLookup=function(g,b){var d=b[this.id],u=d.layers,y,f,R=this.belowLookup={},L=!1;for(y=0;y1)for(y=0;y-1&&c(z.originalEvent,u,[d.xaxis],[d.yaxis],d.id,L),F.indexOf(\"event\")>-1&&r.click(u,z.originalEvent)}}},l.updateFx=function(g){var b=this,d=b.map,u=b.gd;if(b.isStatic)return;function y(z){var F=b.map.unproject(z);return[F.lng,F.lat]}var f=g.dragmode,R;R=function(z,F){if(F.isRect){var N=z.range={};N[b.id]=[y([F.xmin,F.ymin]),y([F.xmax,F.ymax])]}else{var O=z.lassoPoints={};O[b.id]=F.map(y)}};var L=b.dragOptions;b.dragOptions=x.extendDeep(L||{},{dragmode:g.dragmode,element:b.div,gd:u,plotinfo:{id:b.id,domain:g[b.id].domain,xaxis:b.xaxis,yaxis:b.yaxis,fillRangeItems:R},xaxes:[b.xaxis],yaxes:[b.yaxis],subplot:b.id}),d.off(\"click\",b.onClickInPanHandler),n(f)||a(f)?(d.dragPan.disable(),d.on(\"zoomstart\",b.clearOutline),b.dragOptions.prepFn=function(z,F,N){i(z,F,N,b.dragOptions,f)},t.init(b.dragOptions)):(d.dragPan.enable(),d.off(\"zoomstart\",b.clearOutline),b.div.onmousedown=null,b.div.ontouchstart=null,b.div.removeEventListener(\"touchstart\",b.div._ontouchstart),b.onClickInPanHandler=b.onClickInPanFn(b.dragOptions),d.on(\"click\",b.onClickInPanHandler))},l.updateFramework=function(g){var b=g[this.id].domain,d=g._size,u=this.div.style;u.width=d.w*(b.x[1]-b.x[0])+\"px\",u.height=d.h*(b.y[1]-b.y[0])+\"px\",u.left=d.l+b.x[0]*d.w+\"px\",u.top=d.t+(1-b.y[1])*d.h+\"px\",this.xaxis._offset=d.l+b.x[0]*d.w,this.xaxis._length=d.w*(b.x[1]-b.x[0]),this.yaxis._offset=d.t+(1-b.y[1])*d.h,this.yaxis._length=d.h*(b.y[1]-b.y[0])},l.updateLayers=function(g){var b=g[this.id],d=b.layers,u=this.layerList,y;if(d.length!==u.length){for(y=0;yN/2){var O=R.split(\"|\").join(\"
\");z.text(O).attr(\"data-unformatted\",O).call(o.convertToTspans,p),F=r.bBox(z.node())}z.attr(\"transform\",x(-3,-F.height+8)),L.insert(\"rect\",\".static-attribution\").attr({x:-F.width-6,y:-F.height-3,width:F.width+6,height:F.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var P=1;F.width+6>N&&(P=N/(F.width+6));var U=[_.l+_.w*M.x[1],_.t+_.h*(1-M.y[0])];L.attr(\"transform\",x(U[0],U[1])+S(P))}};function c(p,T){var l=p._fullLayout,_=p._context;if(_.mapboxAccessToken===\"\")return\"\";for(var w=[],A=[],M=!1,g=!1,b=0;b1&&v.warn(i.multipleTokensErrorMsg),w[0]):(A.length&&v.log([\"Listed mapbox access token(s)\",A.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function m(p){return typeof p==\"string\"&&(i.styleValuesMapbox.indexOf(p)!==-1||p.indexOf(\"mapbox://\")===0||p.indexOf(\"stamen\")===0)}Z.updateFx=function(p){for(var T=p._fullLayout,l=T._subplots[n],_=0;_=0;o--)t.removeLayer(r[o][1])},e.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},G.exports=function(r,o){var a=o[0].trace,n=new E(r,a.uid),i=n.sourceId,s=v(o),h=n.below=r.belowLookup[\"trace-\"+a.uid];return r.map.addSource(i,{type:\"geojson\",data:s.geojson}),n._addLayers(s,h),o[0].trace._glTrace=n,n}}}),AV=Xe({\"src/traces/choroplethmapbox/index.js\"(Z,G){\"use strict\";var v=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");G.exports={attributes:C6(),supplyDefaults:wV(),colorbar:n0(),calc:lT(),plot:TV(),hoverPoints:cT(),eventData:fT(),selectPoints:hT(),styleOnSelect:function(x,S){if(S){var E=S[0].trace;E._glTrace.updateOnSelect(S)}},getBelow:function(x,S){for(var E=S.getMapLayers(),e=E.length-2;e>=0;e--){var t=E[e].id;if(typeof t==\"string\"&&t.indexOf(\"water\")===0){for(var r=e+1;r0?+p[c]:0),h.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:w},properties:A})}}var g=E.extractOpts(a),b=g.reversescale?E.flipScale(g.colorscale):g.colorscale,d=b[0][1],u=S.opacity(d)<1?d:S.addOpacity(d,0),y=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,u];for(c=1;c=0;r--)e.removeLayer(t[r][1])},E.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},G.exports=function(t,r){var o=r[0].trace,a=new S(t,o.uid),n=a.sourceId,i=v(r),s=a.below=t.belowLookup[\"trace-\"+o.uid];return t.map.addSource(n,{type:\"geojson\",data:i.geojson}),a._addLayers(i,s),a}}}),LV=Xe({\"src/traces/densitymapbox/hover.js\"(Z,G){\"use strict\";var v=Go(),x=ST().hoverPoints,S=ST().getExtraText;G.exports=function(e,t,r){var o=x(e,t,r);if(o){var a=o[0],n=a.cd,i=n[0].trace,s=n[a.index];if(delete a.color,\"z\"in s){var h=a.subplot.mockAxis;a.z=s.z,a.zLabel=v.tickText(h,h.c2l(s.z),\"hover\").text}return a.extraText=S(i,s,n[0].t.labels),[a]}}}}),PV=Xe({\"src/traces/densitymapbox/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x.z=S.z,x}}}),IV=Xe({\"src/traces/densitymapbox/index.js\"(Z,G){\"use strict\";var v=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");G.exports={attributes:P6(),supplyDefaults:MV(),colorbar:n0(),formatLabels:M6(),calc:EV(),plot:CV(),hoverPoints:LV(),eventData:PV(),getBelow:function(x,S){for(var E=S.getMapLayers(),e=0;eESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}},{id:\"waterway_tunnel\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:14,filter:[\"all\",[\"in\",\"class\",\"river\",\"stream\",\"canal\"],[\"==\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]},\"line-dasharray\":[2,4]}},{id:\"waterway-other\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"!in\",\"class\",\"canal\",\"river\",\"stream\"],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,2]]}}},{id:\"waterway-stream-canal\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"in\",\"class\",\"canal\",\"stream\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]}}},{id:\"waterway-river\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"==\",\"class\",\"river\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.2,stops:[[10,.8],[20,4]]},\"line-opacity\":.5}},{id:\"water-offset\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",maxzoom:8,filter:[\"==\",\"$type\",\"Polygon\"],layout:{visibility:\"visible\"},paint:{\"fill-opacity\":0,\"fill-color\":\"#a0c8f0\",\"fill-translate\":{base:1,stops:[[6,[2,0]],[8,[0,0]]]}}},{id:\"water\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-color\":\"hsl(210, 67%, 85%)\",\"fill-opacity\":0}},{id:\"water-pattern\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-translate\":[0,2.5],\"fill-pattern\":\"wave\",\"fill-opacity\":1}},{id:\"landcover-ice-shelf\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"landcover\",filter:[\"==\",\"subclass\",\"ice_shelf\"],layout:{visibility:\"visible\"},paint:{\"fill-color\":\"#fff\",\"fill-opacity\":{base:1,stops:[[0,.9],[10,.3]]}}},{id:\"tunnel-service-track-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[15,1],[16,4],[20,11]]}}},{id:\"tunnel-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,1]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"tunnel-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"tunnel-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.7}},{id:\"tunnel-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"tunnel-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"tunnel-service-track\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-width\":{base:1.2,stops:[[15.5,0],[16,2],[20,7.5]]}}},{id:\"tunnel-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor_road\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"tunnel-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,10]]}}},{id:\"tunnel-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#ffdaa6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]},\"line-dasharray\":[2,2]}},{id:\"ferry\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"in\",\"class\",\"ferry\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(108, 159, 182, 1)\",\"line-width\":1.1,\"line-dasharray\":[2,2]}},{id:\"aeroway-taxiway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"taxiway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,2],[17,12]]},\"line-opacity\":1}},{id:\"aeroway-runway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"runway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,5],[17,55]]},\"line-opacity\":1}},{id:\"aeroway-taxiway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"taxiway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,1],[17,10]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"aeroway-runway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"runway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,4],[17,50]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"highway-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,0]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"highway-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"highway-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[7,0],[8,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.6],[9,1.5],[20,22]]}}},{id:\"highway-trunk-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[5,0],[6,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.6],[7,1.5],[20,22]]}}},{id:\"highway-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:4,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[4,0],[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.5]]}}},{id:\"highway-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"highway-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"highway-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[8,.5],[20,13]]},\"line-opacity\":.5}},{id:\"highway-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[8.5,0],[9,.5],[20,18]]},\"line-opacity\":0}},{id:\"highway-trunk\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"highway-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"railway-transit\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-transit-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway-service\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-service-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"bridge-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,28]]}}},{id:\"bridge-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(28, 76%, 67%)\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,26]]}}},{id:\"bridge-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"bridge-path-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#f8f4f0\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,18]]}}},{id:\"bridge-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]},\"line-dasharray\":[1.5,.75]}},{id:\"bridge-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,20]]}}},{id:\"bridge-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]}}},{id:\"bridge-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"bridge-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"bridge-railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"cablecar\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,1],[19,2.5]]}}},{id:\"cablecar-dash\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,3],[19,5.5]]},\"line-dasharray\":[2,3]}},{id:\"boundary-land-level-4\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\">=\",\"admin_level\",4],[\"<=\",\"admin_level\",8],[\"!=\",\"maritime\",1]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#9e9cab\",\"line-dasharray\":[3,1,1,1],\"line-width\":{base:1.4,stops:[[4,.4],[5,1],[12,3]]},\"line-opacity\":.6}},{id:\"boundary-land-level-2\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"==\",\"admin_level\",2],[\"!=\",\"maritime\",1],[\"!=\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 66%)\",\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,2]]}}},{id:\"boundary-land-disputed\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"!=\",\"maritime\",1],[\"==\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 70%)\",\"line-dasharray\":[1,3],\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,8]]}}},{id:\"boundary-water\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"in\",\"admin_level\",2,4],[\"==\",\"maritime\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"rgba(154, 189, 214, 1)\",\"line-width\":{base:1,stops:[[0,.6],[4,1],[5,1],[12,1]]},\"line-opacity\":{stops:[[6,0],[10,0]]}}},{id:\"waterway-name\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"has\",\"name\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin} {name:nonlatin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"text-letter-spacing\":.2,\"symbol-spacing\":350},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-lakeline\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"==\",\"$type\",\"LineString\"],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-ocean\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"!in\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":{stops:[[0,10],[6,14]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2,visibility:\"visible\"},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"poi-level-3\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:16,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\">=\",\"rank\",25]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-2\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",24],[\">=\",\"rank\",15]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-1\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",14],[\"has\",\"name\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"rgba(191, 228, 172, 1)\",\"text-halo-width\":1,\"text-halo-color\":\"rgba(30, 29, 29, 1)\"}},{id:\"poi-railway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"has\",\"name\"],[\"==\",\"class\",\"railway\"],[\"==\",\"subclass\",\"station\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"road_oneway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"road_oneway_opposite\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",-1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":-90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"highway-name-path\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15.5,filter:[\"==\",\"class\",\"path\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-color\":\"#f8f4f0\",\"text-color\":\"hsl(30, 23%, 62%)\",\"text-halo-width\":.5}},{id:\"highway-name-minor\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-name-major\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:12.2,filter:[\"in\",\"class\",\"primary\",\"secondary\",\"tertiary\",\"trunk\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-shield\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:8,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"!in\",\"network\",\"us-interstate\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"road_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-opacity\":1,\"text-color\":\"rgba(20, 19, 19, 1)\",\"text-halo-color\":\"rgba(230, 221, 221, 0)\",\"text-halo-width\":2,\"icon-color\":\"rgba(183, 18, 18, 1)\",\"icon-opacity\":.3,\"icon-halo-color\":\"rgba(183, 55, 55, 0)\"}},{id:\"highway-shield-us-interstate\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:7,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-interstate\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[7,\"point\"],[7,\"line\"],[8,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"highway-shield-us-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:9,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"place-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:12,filter:[\"!in\",\"class\",\"city\",\"town\",\"village\",\"country\",\"continent\"],layout:{\"text-letter-spacing\":.1,\"text-size\":{base:1.2,stops:[[12,10],[15,14]]},\"text-font\":[\"Noto Sans Bold\"],\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-transform\":\"uppercase\",\"text-max-width\":9,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255,255,255,1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(57, 28, 28, 1)\"}},{id:\"place-village\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:10,filter:[\"==\",\"class\",\"village\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,12],[15,16]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(10, 9, 9, 0.8)\"}},{id:\"place-town\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"==\",\"class\",\"town\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,14],[15,24]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(22, 22, 22, 0.8)\"}},{id:\"place-city\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"!=\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-city-capital\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,\"icon-image\":\"star_11\",\"text-offset\":[.4,0],\"icon-size\":.8,\"text-anchor\":\"left\",visibility:\"visible\"},paint:{\"text-color\":\"#333\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"!has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-3\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-2\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",2],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[2,11],[5,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-1\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",1],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[1,11],[4,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-continent\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",maxzoom:1,filter:[\"==\",\"class\",\"continent\"],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":14,\"text-max-width\":6.25,\"text-transform\":\"uppercase\",visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}}],id:\"qebnlkra6\"}}}),zV=Xe({\"src/plots/map/styles/arcgis-sat.js\"(Z,G){G.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:\"raster\",tiles:[\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"],tileSize:256,maxzoom:18,attribution:\"ESRI © ESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}}]}}}),b0=Xe({\"src/plots/map/constants.js\"(Z,G){\"use strict\";var v=Jm(),x=DV(),S=zV(),E='\\xA9 OpenStreetMap contributors',e=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",t=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",r=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",o=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",a=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",n=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",i={basic:r,streets:r,outdoors:r,light:e,dark:t,satellite:S,\"satellite-streets\":x,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:E,tiles:[\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":e,\"carto-darkmatter\":t,\"carto-voyager\":r,\"carto-positron-nolabels\":o,\"carto-darkmatter-nolabels\":a,\"carto-voyager-nolabels\":n},s=v(i);G.exports={styleValueDflt:\"basic\",stylesMap:i,styleValuesMap:s,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",s.join(\", \"),\"or use a tile service.\"].join(`\n`),mapOnErrorMsg:\"Map error.\"}}}),kx=Xe({\"src/plots/map/layout_attributes.js\"(Z,G){\"use strict\";var v=sa(),x=$n().defaultLine,S=wc().attributes,E=tc(),e=af().textposition,t=pc().overrideAll,r=zl().templatedArray,o=b0(),a=E({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});a.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var n=G.exports=t({_arrayAttrRegexps:[v.counterRegex(\"map\",\".layers\",!0)],domain:S({name:\"map\"}),style:{valType:\"any\",values:o.styleValuesMap,dflt:o.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},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:r(\"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:x},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:x}},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:a,textposition:v.extendFlat({},e,{arrayOk:!1})}})},\"plot\",\"from-root\");n.uirevision={valType:\"any\",editType:\"none\"}}}),ET=Xe({\"src/traces/scattermap/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:v,texttemplateAttrs:x,templatefallbackAttrs:S}=Jl(),E=$d(),e=vg(),t=af(),r=kx(),o=ru(),a=ku(),n=Qo().extendFlat,i=pc().overrideAll,s=kx(),h=e.line,c=e.marker;G.exports=i({lon:e.lon,lat:e.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:n({},s.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:n({},c.opacity,{dflt:1})},mode:n({},t.mode,{dflt:\"markers\"}),text:n({},t.text,{}),texttemplate:x({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),texttemplatefallback:S({editType:\"plot\"}),hovertext:n({},t.hovertext,{}),line:{color:h.color,width:h.width},connectgaps:t.connectgaps,marker:n({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode},a(\"marker\")),fill:e.fill,fillcolor:E(),textfont:r.layers.symbol.textfont,textposition:r.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:t.selected.marker},unselected:{marker:t.unselected.marker},hoverinfo:n({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:v(),hovertemplatefallback:S()},\"calc\",\"nested\")}}),I6=Xe({\"src/traces/scattermap/constants.js\"(Z,G){\"use strict\";var v=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];G.exports={isSupportedFont:function(x){return v.indexOf(x)!==-1}}}}),FV=Xe({\"src/traces/scattermap/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Fu(),S=md(),E=Dd(),e=zd(),t=ev(),r=ET(),o=I6().isSupportedFont;G.exports=function(i,s,h,c){function m(y,f){return v.coerce(i,s,r,y,f)}function p(y,f){return v.coerce2(i,s,r,y,f)}var T=a(i,s,m);if(!T){s.visible=!1;return}if(m(\"text\"),m(\"texttemplate\"),m(\"texttemplatefallback\"),m(\"hovertext\"),m(\"hovertemplate\"),m(\"hovertemplatefallback\"),m(\"mode\"),m(\"below\"),x.hasMarkers(s)){S(i,s,h,c,m,{noLine:!0,noAngle:!0}),m(\"marker.allowoverlap\"),m(\"marker.angle\");var l=s.marker;l.symbol!==\"circle\"&&(v.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),v.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}x.hasLines(s)&&(E(i,s,h,c,m,{noDash:!0}),m(\"connectgaps\"));var _=p(\"cluster.maxzoom\"),w=p(\"cluster.step\"),A=p(\"cluster.color\",s.marker&&s.marker.color||h),M=p(\"cluster.size\"),g=p(\"cluster.opacity\"),b=_!==!1||w!==!1||A!==!1||M!==!1||g!==!1,d=m(\"cluster.enabled\",b);if(d||x.hasText(s)){var u=c.font.family;e(i,s,c,m,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:o(u)?u:\"Open Sans Regular\",weight:c.font.weight,style:c.font.style,size:c.font.size,color:c.font.color}})}m(\"fill\"),s.fill!==\"none\"&&t(i,s,h,m),v.coerceSelectionMarkerOpacity(s,m)};function a(n,i,s){var h=s(\"lon\")||[],c=s(\"lat\")||[],m=Math.min(h.length,c.length);return i._length=m,m}}}),R6=Xe({\"src/traces/scattermap/format_labels.js\"(Z,G){\"use strict\";var v=Go();G.exports=function(S,E,e){var t={},r=e[E.subplot]._subplot,o=r.mockAxis,a=S.lonlat;return t.lonLabel=v.tickText(o,o.c2l(a[0]),!0).text,t.latLabel=v.tickText(o,o.c2l(a[1]),!0).text,t}}}),D6=Xe({\"src/plots/map/convert_text_opts.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E){var e=S.split(\" \"),t=e[0],r=e[1],o=v.isArrayOrTypedArray(E)?v.mean(E):E,a=.5+o/100,n=1.5+o/100,i=[\"\",\"\"],s=[0,0];switch(t){case\"top\":i[0]=\"top\",s[1]=-n;break;case\"bottom\":i[0]=\"bottom\",s[1]=n;break}switch(r){case\"left\":i[1]=\"right\",s[0]=-a;break;case\"right\":i[1]=\"left\",s[0]=a;break}var h;return i[0]&&i[1]?h=i.join(\"-\"):i[0]?h=i[0]:i[1]?h=i[1]:h=\"center\",{anchor:h,offset:s}}}}),OV=Xe({\"src/traces/scattermap/convert.js\"(Z,G){\"use strict\";var v=rs(),x=sa(),S=Hs().BADNUM,E=m0(),e=rc(),t=es(),r=r1(),o=Fu(),a=I6().isSupportedFont,n=D6(),i=$p().appendArrayPointValue,s=ou().NEWLINES,h=ou().BR_TAG_ALL;G.exports=function(g,b){var d=b[0].trace,u=d.visible===!0&&d._length!==0,y=d.fill!==\"none\",f=o.hasLines(d),R=o.hasMarkers(d),L=o.hasText(d),z=R&&d.marker.symbol===\"circle\",F=R&&d.marker.symbol!==\"circle\",N=d.cluster&&d.cluster.enabled,O=c(\"fill\"),P=c(\"line\"),U=c(\"circle\"),B=c(\"symbol\"),X={fill:O,line:P,circle:U,symbol:B};if(!u)return X;var $;if((y||f)&&($=E.calcTraceToLineCoords(b)),y&&(O.geojson=E.makePolygon($),O.layout.visibility=\"visible\",x.extendFlat(O.paint,{\"fill-color\":d.fillcolor})),f&&(P.geojson=E.makeLine($),P.layout.visibility=\"visible\",x.extendFlat(P.paint,{\"line-width\":d.line.width,\"line-color\":d.line.color,\"line-opacity\":d.opacity})),z){var se=m(b);U.geojson=se.geojson,U.layout.visibility=\"visible\",N&&(U.filter=[\"!\",[\"has\",\"point_count\"]],X.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":w(d.cluster.color,d.cluster.step),\"circle-radius\":w(d.cluster.size,d.cluster.step),\"circle-opacity\":w(d.cluster.opacity,d.cluster.step)}},X.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":A(d),\"text-size\":12}}),x.extendFlat(U.paint,{\"circle-color\":se.mcc,\"circle-radius\":se.mrc,\"circle-opacity\":se.mo})}if(z&&N&&(U.filter=[\"!\",[\"has\",\"point_count\"]]),(F||L)&&(B.geojson=p(b,g),x.extendFlat(B.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),F&&(x.extendFlat(B.layout,{\"icon-size\":d.marker.size/10}),\"angle\"in d.marker&&d.marker.angle!==\"auto\"&&x.extendFlat(B.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),B.layout[\"icon-allow-overlap\"]=d.marker.allowoverlap,x.extendFlat(B.paint,{\"icon-opacity\":d.opacity*d.marker.opacity,\"icon-color\":d.marker.color})),L)){var le=(d.marker||{}).size,fe=n(d.textposition,le);x.extendFlat(B.layout,{\"text-size\":d.textfont.size,\"text-anchor\":fe.anchor,\"text-offset\":fe.offset,\"text-font\":A(d)}),x.extendFlat(B.paint,{\"text-color\":d.textfont.color,\"text-opacity\":d.opacity})}return X};function c(M){return{type:M,geojson:E.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function m(M){var g=M[0].trace,b=g.marker,d=g.selectedpoints,u=x.isArrayOrTypedArray(b.color),y=x.isArrayOrTypedArray(b.size),f=x.isArrayOrTypedArray(b.opacity),R;function L(le){return g.opacity*le}function z(le){return le/2}var F;u&&(e.hasColorscale(g,\"marker\")?F=e.makeColorScaleFuncFromTrace(b):F=x.identity);var N;y&&(N=r(g));var O;f&&(O=function(le){var fe=v(le)?+x.constrain(le,0,1):0;return L(fe)});var P=[];for(R=0;R850?R+=\" Black\":u>750?R+=\" Extra Bold\":u>650?R+=\" Bold\":u>550?R+=\" Semi Bold\":u>450?R+=\" Medium\":u>350?R+=\" Regular\":u>250?R+=\" Light\":u>150?R+=\" Extra Light\":R+=\" Thin\"):y.slice(0,2).join(\" \")===\"Open Sans\"?(R=\"Open Sans\",u>750?R+=\" Extrabold\":u>650?R+=\" Bold\":u>550?R+=\" Semibold\":u>350?R+=\" Regular\":R+=\" Light\"):y.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(R=\"Klokantech Noto Sans\",y[3]===\"CJK\"&&(R+=\" CJK\"),R+=u>500?\" Bold\":\" Regular\")),f&&(R+=\" Italic\"),R===\"Open Sans Regular Italic\"?R=\"Open Sans Italic\":R===\"Open Sans Regular Bold\"?R=\"Open Sans Bold\":R===\"Open Sans Regular Bold Italic\"?R=\"Open Sans Bold Italic\":R===\"Klokantech Noto Sans Regular Italic\"&&(R=\"Klokantech Noto Sans Italic\"),a(R)||(R=b);var L=R.split(\", \");return L}}}),BV=Xe({\"src/traces/scattermap/plot.js\"(Z,G){\"use strict\";var v=sa(),x=OV(),S=b0().traceLayerPrefix,E={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function e(r,o,a,n){this.type=\"scattermap\",this.subplot=r,this.uid=o,this.clusterEnabled=a,this.isHidden=n,this.sourceIds={fill:\"source-\"+o+\"-fill\",line:\"source-\"+o+\"-line\",circle:\"source-\"+o+\"-circle\",symbol:\"source-\"+o+\"-symbol\",cluster:\"source-\"+o+\"-circle\",clusterCount:\"source-\"+o+\"-circle\"},this.layerIds={fill:S+o+\"-fill\",line:S+o+\"-line\",circle:S+o+\"-circle\",symbol:S+o+\"-symbol\",cluster:S+o+\"-cluster\",clusterCount:S+o+\"-cluster-count\"},this.below=null}var t=e.prototype;t.addSource=function(r,o,a){var n={type:\"geojson\",data:o.geojson};a&&a.enabled&&v.extendFlat(n,{cluster:!0,clusterMaxZoom:a.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[r]);i?i.setData(o.geojson):this.subplot.map.addSource(this.sourceIds[r],n)},t.setSourceData=function(r,o){this.subplot.map.getSource(this.sourceIds[r]).setData(o.geojson)},t.addLayer=function(r,o,a){var n={type:o.type,id:this.layerIds[r],source:this.sourceIds[r],layout:o.layout,paint:o.paint};o.filter&&(n.filter=o.filter);for(var i=this.layerIds[r],s,h=this.subplot.getMapLayers(),c=0;c=0;f--){var R=y[f];i.removeLayer(p.layerIds[R])}u||i.removeSource(p.sourceIds.circle)}function _(u){for(var y=E.nonCluster,f=0;f=0;f--){var R=y[f];i.removeLayer(p.layerIds[R]),u||i.removeSource(p.sourceIds[R])}}function A(u){m?l(u):w(u)}function M(u){c?T(u):_(u)}function g(){for(var u=c?E.cluster:E.nonCluster,y=0;y=0;n--){var i=a[n];o.removeLayer(this.layerIds[i]),o.removeSource(this.sourceIds[i])}},G.exports=function(o,a){var n=a[0].trace,i=n.cluster&&n.cluster.enabled,s=n.visible!==!0,h=new e(o,n.uid,i,s),c=x(o.gd,a),m=h.below=o.belowLookup[\"trace-\"+n.uid],p,T,l;if(i)for(h.addSource(\"circle\",c.circle,n.cluster),p=0;p=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),M=A*360,g=n-M;function b(N){var O=N.lonlat;if(O[0]===e||_&&T.indexOf(N.i+1)===-1)return 1/0;var P=x.modHalf(O[0],360),U=O[1],B=p.project([P,U]),X=B.x-c.c2p([g,U]),$=B.y-m.c2p([P,i]),se=Math.max(3,N.mrc||0);return Math.max(Math.sqrt(X*X+$*$)-se,1-3/se)}if(v.getClosest(s,b,a),a.index!==!1){var d=s[a.index],u=d.lonlat,y=[x.modHalf(u[0],360)+M,u[1]],f=c.c2p(y),R=m.c2p(y),L=d.mrc||1;a.x0=f-L,a.x1=f+L,a.y0=R-L,a.y1=R+L;var z={};z[h.subplot]={_subplot:p};var F=h._module.formatLabels(d,h,z);return a.lonLabel=F.lonLabel,a.latLabel=F.latLabel,a.color=S(h,d),a.extraText=o(h,d,s[0].t.labels),a.hovertemplate=h.hovertemplate,[a]}}function o(a,n,i){if(a.hovertemplate)return;var s=n.hi||a.hoverinfo,h=s.split(\"+\"),c=h.indexOf(\"all\")!==-1,m=h.indexOf(\"lon\")!==-1,p=h.indexOf(\"lat\")!==-1,T=n.lonlat,l=[];function _(w){return w+\"\\xB0\"}return c||m&&p?l.push(\"(\"+_(T[1])+\", \"+_(T[0])+\")\"):m?l.push(i.lon+_(T[0])):p&&l.push(i.lat+_(T[1])),(c||h.indexOf(\"text\")!==-1)&&E(n,a,l),l.join(\"
\")}G.exports={hoverPoints:r,getExtraText:o}}}),NV=Xe({\"src/traces/scattermap/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x}}}),UV=Xe({\"src/traces/scattermap/select.js\"(Z,G){\"use strict\";var v=sa(),x=Fu(),S=Hs().BADNUM;G.exports=function(e,t){var r=e.cd,o=e.xaxis,a=e.yaxis,n=[],i=r[0].trace,s;if(!x.hasMarkers(i))return[];if(t===!1)for(s=0;s1)return 1;for(var J=W,pe=0;pe<8;pe++){var ke=this.sampleCurveX(J)-W;if(Math.abs(ke)ke?We=J:ht=J,J=.5*(ht-We)+We;return J},solve:function(W,D){return this.sampleCurveY(this.solveCurveX(W,D))}};var h=r(i);let c,m;function p(){return c==null&&(c=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),c}function T(){if(m==null&&(m=!1,p())){let D=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(D){for(let pe=0;pe<5*5;pe++){let ke=4*pe;D.fillStyle=`rgb(${ke},${ke+1},${ke+2})`,D.fillRect(pe%5,Math.floor(pe/5),1,1)}let J=D.getImageData(0,0,5,5).data;for(let pe=0;pe<5*5*4;pe++)if(pe%4!=3&&J[pe]!==pe){m=!0;break}}}return m||!1}function l(W,D,J,pe){let ke=new h(W,D,J,pe);return je=>ke.solve(je)}let _=l(.25,.1,.25,1);function w(W,D,J){return Math.min(J,Math.max(D,W))}function A(W,D,J){let pe=J-D,ke=((W-D)%pe+pe)%pe+D;return ke===D?J:ke}function M(W,...D){for(let J of D)for(let pe in J)W[pe]=J[pe];return W}let g=1;function b(W,D,J){let pe={};for(let ke in W)pe[ke]=D.call(this,W[ke],ke,W);return pe}function d(W,D,J){let pe={};for(let ke in W)D.call(this,W[ke],ke,W)&&(pe[ke]=W[ke]);return pe}function u(W){return Array.isArray(W)?W.map(u):typeof W==\"object\"&&W?b(W,u):W}let y={};function f(W){y[W]||(typeof console<\"u\"&&console.warn(W),y[W]=!0)}function R(W,D,J){return(J.y-W.y)*(D.x-W.x)>(D.y-W.y)*(J.x-W.x)}function L(W){return typeof WorkerGlobalScope<\"u\"&&W!==void 0&&W instanceof WorkerGlobalScope}let z=null;function F(W){return typeof ImageBitmap<\"u\"&&W instanceof ImageBitmap}let N=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function O(W,D,J,pe,ke){return t(this,void 0,void 0,function*(){if(typeof VideoFrame>\"u\")throw new Error(\"VideoFrame not supported\");let je=new VideoFrame(W,{timestamp:0});try{let We=je?.format;if(!We||!We.startsWith(\"BGR\")&&!We.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${We}`);let ht=We.startsWith(\"BGR\"),Et=new Uint8ClampedArray(pe*ke*4);if(yield je.copyTo(Et,function(Ut,or,Mr,zr,Wr){let ia=4*Math.max(-or,0),ha=(Math.max(0,Mr)-Mr)*zr*4+ia,ja=4*zr,Ka=Math.max(0,or),Wi=Math.max(0,Mr);return{rect:{x:Ka,y:Wi,width:Math.min(Ut.width,or+zr)-Ka,height:Math.min(Ut.height,Mr+Wr)-Wi},layout:[{offset:ha,stride:ja}]}}(W,D,J,pe,ke)),ht)for(let Ut=0;UtL(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Y=function(W,D){if(/:\\/\\//.test(W.url)&&!/^https?:|^file:/.test(W.url)){let pe=se(W.url);if(pe)return pe(W,D);if(L(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:W,targetMapId:le},D)}if(!(/^file:/.test(J=W.url)||/^file:/.test(V())&&!/^\\w+:/.test(J))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(pe,ke){return t(this,void 0,void 0,function*(){let je=new Request(pe.url,{method:pe.method||\"GET\",body:pe.body,credentials:pe.credentials,headers:pe.headers,cache:pe.cache,referrer:V(),signal:ke.signal});pe.type!==\"json\"||je.headers.has(\"Accept\")||je.headers.set(\"Accept\",\"application/json\");let We=yield fetch(je);if(!We.ok){let Ut=yield We.blob();throw new fe(We.status,We.statusText,pe.url,Ut)}let ht;ht=pe.type===\"arrayBuffer\"||pe.type===\"image\"?We.arrayBuffer():pe.type===\"json\"?We.json():We.text();let Et=yield ht;if(ke.signal.aborted)throw X();return{data:Et,cacheControl:We.headers.get(\"Cache-Control\"),expires:We.headers.get(\"Expires\")}})}(W,D);if(L(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:W,mustQueue:!0,targetMapId:le},D)}var J;return function(pe,ke){return new Promise((je,We)=>{var ht;let Et=new XMLHttpRequest;Et.open(pe.method||\"GET\",pe.url,!0),pe.type!==\"arrayBuffer\"&&pe.type!==\"image\"||(Et.responseType=\"arraybuffer\");for(let Ut in pe.headers)Et.setRequestHeader(Ut,pe.headers[Ut]);pe.type===\"json\"&&(Et.responseType=\"text\",!((ht=pe.headers)===null||ht===void 0)&&ht.Accept||Et.setRequestHeader(\"Accept\",\"application/json\")),Et.withCredentials=pe.credentials===\"include\",Et.onerror=()=>{We(new Error(Et.statusText))},Et.onload=()=>{if(!ke.signal.aborted)if((Et.status>=200&&Et.status<300||Et.status===0)&&Et.response!==null){let Ut=Et.response;if(pe.type===\"json\")try{Ut=JSON.parse(Et.response)}catch(or){return void We(or)}je({data:Ut,cacheControl:Et.getResponseHeader(\"Cache-Control\"),expires:Et.getResponseHeader(\"Expires\")})}else{let Ut=new Blob([Et.response],{type:Et.getResponseHeader(\"Content-Type\")});We(new fe(Et.status,Et.statusText,pe.url,Ut))}},ke.signal.addEventListener(\"abort\",()=>{Et.abort(),We(X())}),Et.send(pe.body)})}(W,D)};function ee(W){if(!W||W.indexOf(\"://\")<=0||W.indexOf(\"data:image/\")===0||W.indexOf(\"blob:\")===0)return!0;let D=new URL(W),J=window.location;return D.protocol===J.protocol&&D.host===J.host}function q(W,D,J){J[W]&&J[W].indexOf(D)!==-1||(J[W]=J[W]||[],J[W].push(D))}function oe(W,D,J){if(J&&J[W]){let pe=J[W].indexOf(D);pe!==-1&&J[W].splice(pe,1)}}class ae{constructor(D,J={}){M(this,J),this.type=D}}class j extends ae{constructor(D,J={}){super(\"error\",M({error:D},J))}}class Q{on(D,J){return this._listeners=this._listeners||{},q(D,J,this._listeners),this}off(D,J){return oe(D,J,this._listeners),oe(D,J,this._oneTimeListeners),this}once(D,J){return J?(this._oneTimeListeners=this._oneTimeListeners||{},q(D,J,this._oneTimeListeners),this):new Promise(pe=>this.once(D,pe))}fire(D,J){typeof D==\"string\"&&(D=new ae(D,J||{}));let pe=D.type;if(this.listens(pe)){D.target=this;let ke=this._listeners&&this._listeners[pe]?this._listeners[pe].slice():[];for(let ht of ke)ht.call(this,D);let je=this._oneTimeListeners&&this._oneTimeListeners[pe]?this._oneTimeListeners[pe].slice():[];for(let ht of je)oe(pe,ht,this._oneTimeListeners),ht.call(this,D);let We=this._eventedParent;We&&(M(D,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),We.fire(D))}else D instanceof j&&console.error(D.error);return this}listens(D){return this._listeners&&this._listeners[D]&&this._listeners[D].length>0||this._oneTimeListeners&&this._oneTimeListeners[D]&&this._oneTimeListeners[D].length>0||this._eventedParent&&this._eventedParent.listens(D)}setEventedParent(D,J){return this._eventedParent=D,this._eventedParentData=J,this}}var re={$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\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let ce=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function be(W,D){let J={};for(let pe in W)pe!==\"ref\"&&(J[pe]=W[pe]);return ce.forEach(pe=>{pe in D&&(J[pe]=D[pe])}),J}function Ae(W,D){if(Array.isArray(W)){if(!Array.isArray(D)||W.length!==D.length)return!1;for(let J=0;J`:W.itemType.kind===\"value\"?\"array\":`array<${D}>`}return W.kind}let Te=[ot,Qe,Pt,It,qt,qr,Wt,Ne(kr),Sr,Rr,wt];function Ie(W,D){if(D.kind===\"error\")return null;if(W.kind===\"array\"){if(D.kind===\"array\"&&(D.N===0&&D.itemType.kind===\"value\"||!Ie(W.itemType,D.itemType))&&(typeof W.N!=\"number\"||W.N===D.N))return null}else{if(W.kind===D.kind)return null;if(W.kind===\"value\"){for(let J of Te)if(!Ie(J,D))return null}}return`Expected ${Ke(W)} but found ${Ke(D)} instead.`}function Ve(W,D){return D.some(J=>J.kind===W.kind)}function Ce(W,D){return D.some(J=>J===\"null\"?W===null:J===\"array\"?Array.isArray(W):J===\"object\"?W&&!Array.isArray(W)&&typeof W==\"object\":J===typeof W)}function Ee(W,D){return W.kind===\"array\"&&D.kind===\"array\"?W.itemType.kind===D.itemType.kind&&typeof W.N==\"number\":W.kind===D.kind}let Pe=.96422,ft=.82521,ct=4/29,_t=6/29,Ct=3*_t*_t,ir=_t*_t*_t,rr=Math.PI/180,er=180/Math.PI;function Lr(W){return(W%=360)<0&&(W+=360),W}function fa([W,D,J,pe]){let ke,je,We=Ia((.2225045*(W=Da(W))+.7168786*(D=Da(D))+.0606169*(J=Da(J)))/1);W===D&&D===J?ke=je=We:(ke=Ia((.4360747*W+.3850649*D+.1430804*J)/Pe),je=Ia((.0139322*W+.0971045*D+.7141733*J)/ft));let ht=116*We-16;return[ht<0?0:ht,500*(ke-We),200*(We-je),pe]}function Da(W){return W<=.04045?W/12.92:Math.pow((W+.055)/1.055,2.4)}function Ia(W){return W>ir?Math.pow(W,1/3):W/Ct+ct}function qa([W,D,J,pe]){let ke=(W+16)/116,je=isNaN(D)?ke:ke+D/500,We=isNaN(J)?ke:ke-J/200;return ke=1*Ca(ke),je=Pe*Ca(je),We=ft*Ca(We),[Wa(3.1338561*je-1.6168667*ke-.4906146*We),Wa(-.9787684*je+1.9161415*ke+.033454*We),Wa(.0719453*je-.2289914*ke+1.4052427*We),pe]}function Wa(W){return(W=W<=.00304?12.92*W:1.055*Math.pow(W,1/2.4)-.055)<0?0:W>1?1:W}function Ca(W){return W>_t?W*W*W:Ct*(W-ct)}function hi(W){return parseInt(W.padEnd(2,W),16)/255}function wi(W,D){return Kt(D?W/100:W,0,1)}function Kt(W,D,J){return Math.min(Math.max(D,W),J)}function Ft(W){return!W.some(Number.isNaN)}let Yt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Jt{constructor(D,J,pe,ke=1,je=!0){this.r=D,this.g=J,this.b=pe,this.a=ke,je||(this.r*=ke,this.g*=ke,this.b*=ke,ke||this.overwriteGetter(\"rgb\",[D,J,pe,ke]))}static parse(D){if(D instanceof Jt)return D;if(typeof D!=\"string\")return;let J=function(pe){if((pe=pe.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let ke=Yt[pe];if(ke){let[We,ht,Et]=ke;return[We/255,ht/255,Et/255,1]}if(pe.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(pe)){let We=pe.length<6?1:2,ht=1;return[hi(pe.slice(ht,ht+=We)),hi(pe.slice(ht,ht+=We)),hi(pe.slice(ht,ht+=We)),hi(pe.slice(ht,ht+We)||\"ff\")]}if(pe.startsWith(\"rgb\")){let We=pe.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(We){let[ht,Et,Ut,or,Mr,zr,Wr,ia,ha,ja,Ka,Wi]=We,gi=[or||\" \",Wr||\" \",ja].join(\"\");if(gi===\" \"||gi===\" /\"||gi===\",,\"||gi===\",,,\"){let qi=[Ut,zr,ha].join(\"\"),en=qi===\"%%%\"?100:qi===\"\"?255:0;if(en){let qn=[Kt(+Et/en,0,1),Kt(+Mr/en,0,1),Kt(+ia/en,0,1),Ka?wi(+Ka,Wi):1];if(Ft(qn))return qn}}return}}let je=pe.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(je){let[We,ht,Et,Ut,or,Mr,zr,Wr,ia]=je,ha=[Et||\" \",or||\" \",zr].join(\"\");if(ha===\" \"||ha===\" /\"||ha===\",,\"||ha===\",,,\"){let ja=[+ht,Kt(+Ut,0,100),Kt(+Mr,0,100),Wr?wi(+Wr,ia):1];if(Ft(ja))return function([Ka,Wi,gi,qi]){function en(qn){let Eo=(qn+Ka/30)%12,ys=Wi*Math.min(gi,1-gi);return gi-ys*Math.max(-1,Math.min(Eo-3,9-Eo,1))}return Ka=Lr(Ka),Wi/=100,gi/=100,[en(0),en(8),en(4),qi]}(ja)}}}(D);return J?new Jt(...J,!1):void 0}get rgb(){let{r:D,g:J,b:pe,a:ke}=this,je=ke||1/0;return this.overwriteGetter(\"rgb\",[D/je,J/je,pe/je,ke])}get hcl(){return this.overwriteGetter(\"hcl\",function(D){let[J,pe,ke,je]=fa(D),We=Math.sqrt(pe*pe+ke*ke);return[Math.round(1e4*We)?Lr(Math.atan2(ke,pe)*er):NaN,We,J,je]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",fa(this.rgb))}overwriteGetter(D,J){return Object.defineProperty(this,D,{value:J}),J}toString(){let[D,J,pe,ke]=this.rgb;return`rgba(${[D,J,pe].map(je=>Math.round(255*je)).join(\",\")},${ke})`}}Jt.black=new Jt(0,0,0,1),Jt.white=new Jt(1,1,1,1),Jt.transparent=new Jt(0,0,0,0),Jt.red=new Jt(1,0,0,1);class Fr{constructor(D,J,pe){this.sensitivity=D?J?\"variant\":\"case\":J?\"accent\":\"base\",this.locale=pe,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(D,J){return this.collator.compare(D,J)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class ta{constructor(D,J,pe,ke,je){this.text=D,this.image=J,this.scale=pe,this.fontStack=ke,this.textColor=je}}class ra{constructor(D){this.sections=D}static fromString(D){return new ra([new ta(D,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(D=>D.text.length!==0||D.image&&D.image.name.length!==0)}static factory(D){return D instanceof ra?D:ra.fromString(D)}toString(){return this.sections.length===0?\"\":this.sections.map(D=>D.text).join(\"\")}}class ca{constructor(D){this.values=D.slice()}static parse(D){if(D instanceof ca)return D;if(typeof D==\"number\")return new ca([D,D,D,D]);if(Array.isArray(D)&&!(D.length<1||D.length>4)){for(let J of D)if(typeof J!=\"number\")return;switch(D.length){case 1:D=[D[0],D[0],D[0],D[0]];break;case 2:D=[D[0],D[1],D[0],D[1]];break;case 3:D=[D[0],D[1],D[2],D[1]]}return new ca(D)}}toString(){return JSON.stringify(this.values)}}let Ba=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class $a{constructor(D){this.values=D.slice()}static parse(D){if(D instanceof $a)return D;if(Array.isArray(D)&&!(D.length<1)&&D.length%2==0){for(let J=0;J=0&&W<=255&&typeof D==\"number\"&&D>=0&&D<=255&&typeof J==\"number\"&&J>=0&&J<=255?pe===void 0||typeof pe==\"number\"&&pe>=0&&pe<=1?null:`Invalid rgba value [${[W,D,J,pe].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof pe==\"number\"?[W,D,J,pe]:[W,D,J]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function pi(W){if(W===null||typeof W==\"string\"||typeof W==\"boolean\"||typeof W==\"number\"||W instanceof Jt||W instanceof Fr||W instanceof ra||W instanceof ca||W instanceof $a||W instanceof Za)return!0;if(Array.isArray(W)){for(let D of W)if(!pi(D))return!1;return!0}if(typeof W==\"object\"){for(let D in W)if(!pi(W[D]))return!1;return!0}return!1}function Ra(W){if(W===null)return ot;if(typeof W==\"string\")return Pt;if(typeof W==\"boolean\")return It;if(typeof W==\"number\")return Qe;if(W instanceof Jt)return qt;if(W instanceof Fr)return mr;if(W instanceof ra)return qr;if(W instanceof ca)return Sr;if(W instanceof $a)return wt;if(W instanceof Za)return Rr;if(Array.isArray(W)){let D=W.length,J;for(let pe of W){let ke=Ra(pe);if(J){if(J===ke)continue;J=kr;break}J=ke}return Ne(J||kr,D)}return Wt}function tn(W){let D=typeof W;return W===null?\"\":D===\"string\"||D===\"number\"||D===\"boolean\"?String(W):W instanceof Jt||W instanceof ra||W instanceof ca||W instanceof $a||W instanceof Za?W.toString():JSON.stringify(W)}class on{constructor(D,J){this.type=D,this.value=J}static parse(D,J){if(D.length!==2)return J.error(`'literal' expression requires exactly one argument, but found ${D.length-1} instead.`);if(!pi(D[1]))return J.error(\"invalid value\");let pe=D[1],ke=Ra(pe),je=J.expectedType;return ke.kind!==\"array\"||ke.N!==0||!je||je.kind!==\"array\"||typeof je.N==\"number\"&&je.N!==0||(ke=je),new on(ke,pe)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class hn{constructor(D){this.name=\"ExpressionEvaluationError\",this.message=D}toJSON(){return this.message}}let Tt={string:Pt,number:Qe,boolean:It,object:Wt};class ut{constructor(D,J){this.type=D,this.args=J}static parse(D,J){if(D.length<2)return J.error(\"Expected at least one argument.\");let pe,ke=1,je=D[0];if(je===\"array\"){let ht,Et;if(D.length>2){let Ut=D[1];if(typeof Ut!=\"string\"||!(Ut in Tt)||Ut===\"object\")return J.error('The item type argument of \"array\" must be one of string, number, boolean',1);ht=Tt[Ut],ke++}else ht=kr;if(D.length>3){if(D[2]!==null&&(typeof D[2]!=\"number\"||D[2]<0||D[2]!==Math.floor(D[2])))return J.error('The length argument to \"array\" must be a positive integer literal',2);Et=D[2],ke++}pe=Ne(ht,Et)}else{if(!Tt[je])throw new Error(`Types doesn't contain name = ${je}`);pe=Tt[je]}let We=[];for(;keD.outputDefined())}}let Br={\"to-boolean\":It,\"to-color\":qt,\"to-number\":Qe,\"to-string\":Pt};class Cr{constructor(D,J){this.type=D,this.args=J}static parse(D,J){if(D.length<2)return J.error(\"Expected at least one argument.\");let pe=D[0];if(!Br[pe])throw new Error(`Can't parse ${pe} as it is not part of the known types`);if((pe===\"to-boolean\"||pe===\"to-string\")&&D.length!==2)return J.error(\"Expected one argument.\");let ke=Br[pe],je=[];for(let We=1;We4?`Invalid rbga value ${JSON.stringify(J)}: expected an array containing either three or four numeric values.`:ri(J[0],J[1],J[2],J[3]),!pe))return new Jt(J[0]/255,J[1]/255,J[2]/255,J[3])}throw new hn(pe||`Could not parse color from value '${typeof J==\"string\"?J:JSON.stringify(J)}'`)}case\"padding\":{let J;for(let pe of this.args){J=pe.evaluate(D);let ke=ca.parse(J);if(ke)return ke}throw new hn(`Could not parse padding from value '${typeof J==\"string\"?J:JSON.stringify(J)}'`)}case\"variableAnchorOffsetCollection\":{let J;for(let pe of this.args){J=pe.evaluate(D);let ke=$a.parse(J);if(ke)return ke}throw new hn(`Could not parse variableAnchorOffsetCollection from value '${typeof J==\"string\"?J:JSON.stringify(J)}'`)}case\"number\":{let J=null;for(let pe of this.args){if(J=pe.evaluate(D),J===null)return 0;let ke=Number(J);if(!isNaN(ke))return ke}throw new hn(`Could not convert ${JSON.stringify(J)} to number.`)}case\"formatted\":return ra.fromString(tn(this.args[0].evaluate(D)));case\"resolvedImage\":return Za.fromString(tn(this.args[0].evaluate(D)));default:return tn(this.args[0].evaluate(D))}}eachChild(D){this.args.forEach(D)}outputDefined(){return this.args.every(D=>D.outputDefined())}}let xr=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ir{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?xr[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(D){let J=this._parseColorCache[D];return J||(J=this._parseColorCache[D]=Jt.parse(D)),J}}class Ur{constructor(D,J,pe=[],ke,je=new tt,We=[]){this.registry=D,this.path=pe,this.key=pe.map(ht=>`[${ht}]`).join(\"\"),this.scope=je,this.errors=We,this.expectedType=ke,this._isConstant=J}parse(D,J,pe,ke,je={}){return J?this.concat(J,pe,ke)._parse(D,je):this._parse(D,je)}_parse(D,J){function pe(ke,je,We){return We===\"assert\"?new ut(je,[ke]):We===\"coerce\"?new Cr(je,[ke]):ke}if(D!==null&&typeof D!=\"string\"&&typeof D!=\"boolean\"&&typeof D!=\"number\"||(D=[\"literal\",D]),Array.isArray(D)){if(D.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let ke=D[0];if(typeof ke!=\"string\")return this.error(`Expression name must be a string, but found ${typeof ke} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let je=this.registry[ke];if(je){let We=je.parse(D,this);if(!We)return null;if(this.expectedType){let ht=this.expectedType,Et=We.type;if(ht.kind!==\"string\"&&ht.kind!==\"number\"&&ht.kind!==\"boolean\"&&ht.kind!==\"object\"&&ht.kind!==\"array\"||Et.kind!==\"value\")if(ht.kind!==\"color\"&&ht.kind!==\"formatted\"&&ht.kind!==\"resolvedImage\"||Et.kind!==\"value\"&&Et.kind!==\"string\")if(ht.kind!==\"padding\"||Et.kind!==\"value\"&&Et.kind!==\"number\"&&Et.kind!==\"array\")if(ht.kind!==\"variableAnchorOffsetCollection\"||Et.kind!==\"value\"&&Et.kind!==\"array\"){if(this.checkSubtype(ht,Et))return null}else We=pe(We,ht,J.typeAnnotation||\"coerce\");else We=pe(We,ht,J.typeAnnotation||\"coerce\");else We=pe(We,ht,J.typeAnnotation||\"coerce\");else We=pe(We,ht,J.typeAnnotation||\"assert\")}if(!(We instanceof on)&&We.type.kind!==\"resolvedImage\"&&this._isConstant(We)){let ht=new Ir;try{We=new on(We.type,We.evaluate(ht))}catch(Et){return this.error(Et.message),null}}return We}return this.error(`Unknown expression \"${ke}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(D===void 0?\"'undefined' value invalid. Use null instead.\":typeof D==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof D} instead.`)}concat(D,J,pe){let ke=typeof D==\"number\"?this.path.concat(D):this.path,je=pe?this.scope.concat(pe):this.scope;return new Ur(this.registry,this._isConstant,ke,J||null,je,this.errors)}error(D,...J){let pe=`${this.key}${J.map(ke=>`[${ke}]`).join(\"\")}`;this.errors.push(new Oe(pe,D))}checkSubtype(D,J){let pe=Ie(D,J);return pe&&this.error(pe),pe}}class Hr{constructor(D,J){this.type=J.type,this.bindings=[].concat(D),this.result=J}evaluate(D){return this.result.evaluate(D)}eachChild(D){for(let J of this.bindings)D(J[1]);D(this.result)}static parse(D,J){if(D.length<4)return J.error(`Expected at least 3 arguments, but found ${D.length-1} instead.`);let pe=[];for(let je=1;je=pe.length)throw new hn(`Array index out of bounds: ${J} > ${pe.length-1}.`);if(J!==Math.floor(J))throw new hn(`Array index must be an integer, but found ${J} instead.`);return pe[J]}eachChild(D){D(this.index),D(this.input)}outputDefined(){return!1}}class vr{constructor(D,J){this.type=It,this.needle=D,this.haystack=J}static parse(D,J){if(D.length!==3)return J.error(`Expected 2 arguments, but found ${D.length-1} instead.`);let pe=J.parse(D[1],1,kr),ke=J.parse(D[2],2,kr);return pe&&ke?Ve(pe.type,[It,Pt,Qe,ot,kr])?new vr(pe,ke):J.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(pe.type)} instead`):null}evaluate(D){let J=this.needle.evaluate(D),pe=this.haystack.evaluate(D);if(!pe)return!1;if(!Ce(J,[\"boolean\",\"string\",\"number\",\"null\"]))throw new hn(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(Ra(J))} instead.`);if(!Ce(pe,[\"string\",\"array\"]))throw new hn(`Expected second argument to be of type array or string, but found ${Ke(Ra(pe))} instead.`);return pe.indexOf(J)>=0}eachChild(D){D(this.needle),D(this.haystack)}outputDefined(){return!0}}class Or{constructor(D,J,pe){this.type=Qe,this.needle=D,this.haystack=J,this.fromIndex=pe}static parse(D,J){if(D.length<=2||D.length>=5)return J.error(`Expected 3 or 4 arguments, but found ${D.length-1} instead.`);let pe=J.parse(D[1],1,kr),ke=J.parse(D[2],2,kr);if(!pe||!ke)return null;if(!Ve(pe.type,[It,Pt,Qe,ot,kr]))return J.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(pe.type)} instead`);if(D.length===4){let je=J.parse(D[3],3,Qe);return je?new Or(pe,ke,je):null}return new Or(pe,ke)}evaluate(D){let J=this.needle.evaluate(D),pe=this.haystack.evaluate(D);if(!Ce(J,[\"boolean\",\"string\",\"number\",\"null\"]))throw new hn(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(Ra(J))} instead.`);let ke;if(this.fromIndex&&(ke=this.fromIndex.evaluate(D)),Ce(pe,[\"string\"])){let je=pe.indexOf(J,ke);return je===-1?-1:[...pe.slice(0,je)].length}if(Ce(pe,[\"array\"]))return pe.indexOf(J,ke);throw new hn(`Expected second argument to be of type array or string, but found ${Ke(Ra(pe))} instead.`)}eachChild(D){D(this.needle),D(this.haystack),this.fromIndex&&D(this.fromIndex)}outputDefined(){return!1}}class ba{constructor(D,J,pe,ke,je,We){this.inputType=D,this.type=J,this.input=pe,this.cases=ke,this.outputs=je,this.otherwise=We}static parse(D,J){if(D.length<5)return J.error(`Expected at least 4 arguments, but found only ${D.length-1}.`);if(D.length%2!=1)return J.error(\"Expected an even number of arguments.\");let pe,ke;J.expectedType&&J.expectedType.kind!==\"value\"&&(ke=J.expectedType);let je={},We=[];for(let Ut=2;UtNumber.MAX_SAFE_INTEGER)return zr.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ia==\"number\"&&Math.floor(ia)!==ia)return zr.error(\"Numeric branch labels must be integer values.\");if(pe){if(zr.checkSubtype(pe,Ra(ia)))return null}else pe=Ra(ia);if(je[String(ia)]!==void 0)return zr.error(\"Branch labels must be unique.\");je[String(ia)]=We.length}let Wr=J.parse(Mr,Ut,ke);if(!Wr)return null;ke=ke||Wr.type,We.push(Wr)}let ht=J.parse(D[1],1,kr);if(!ht)return null;let Et=J.parse(D[D.length-1],D.length-1,ke);return Et?ht.type.kind!==\"value\"&&J.concat(1).checkSubtype(pe,ht.type)?null:new ba(pe,ke,ht,je,We,Et):null}evaluate(D){let J=this.input.evaluate(D);return(Ra(J)===this.inputType&&this.outputs[this.cases[J]]||this.otherwise).evaluate(D)}eachChild(D){D(this.input),this.outputs.forEach(D),D(this.otherwise)}outputDefined(){return this.outputs.every(D=>D.outputDefined())&&this.otherwise.outputDefined()}}class Pa{constructor(D,J,pe){this.type=D,this.branches=J,this.otherwise=pe}static parse(D,J){if(D.length<4)return J.error(`Expected at least 3 arguments, but found only ${D.length-1}.`);if(D.length%2!=0)return J.error(\"Expected an odd number of arguments.\");let pe;J.expectedType&&J.expectedType.kind!==\"value\"&&(pe=J.expectedType);let ke=[];for(let We=1;WeJ.outputDefined())&&this.otherwise.outputDefined()}}class ya{constructor(D,J,pe,ke){this.type=D,this.input=J,this.beginIndex=pe,this.endIndex=ke}static parse(D,J){if(D.length<=2||D.length>=5)return J.error(`Expected 3 or 4 arguments, but found ${D.length-1} instead.`);let pe=J.parse(D[1],1,kr),ke=J.parse(D[2],2,Qe);if(!pe||!ke)return null;if(!Ve(pe.type,[Ne(kr),Pt,kr]))return J.error(`Expected first argument to be of type array or string, but found ${Ke(pe.type)} instead`);if(D.length===4){let je=J.parse(D[3],3,Qe);return je?new ya(pe.type,pe,ke,je):null}return new ya(pe.type,pe,ke)}evaluate(D){let J=this.input.evaluate(D),pe=this.beginIndex.evaluate(D),ke;if(this.endIndex&&(ke=this.endIndex.evaluate(D)),Ce(J,[\"string\"]))return[...J].slice(pe,ke).join(\"\");if(Ce(J,[\"array\"]))return J.slice(pe,ke);throw new hn(`Expected first argument to be of type array or string, but found ${Ke(Ra(J))} instead.`)}eachChild(D){D(this.input),D(this.beginIndex),this.endIndex&&D(this.endIndex)}outputDefined(){return!1}}function la(W,D){let J=W.length-1,pe,ke,je=0,We=J,ht=0;for(;je<=We;)if(ht=Math.floor((je+We)/2),pe=W[ht],ke=W[ht+1],pe<=D){if(ht===J||DD))throw new hn(\"Input is not a number.\");We=ht-1}return 0}class Ta{constructor(D,J,pe){this.type=D,this.input=J,this.labels=[],this.outputs=[];for(let[ke,je]of pe)this.labels.push(ke),this.outputs.push(je)}static parse(D,J){if(D.length-1<4)return J.error(`Expected at least 4 arguments, but found only ${D.length-1}.`);if((D.length-1)%2!=0)return J.error(\"Expected an even number of arguments.\");let pe=J.parse(D[1],1,Qe);if(!pe)return null;let ke=[],je=null;J.expectedType&&J.expectedType.kind!==\"value\"&&(je=J.expectedType);for(let We=1;We=ht)return J.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',Ut);let Mr=J.parse(Et,or,je);if(!Mr)return null;je=je||Mr.type,ke.push([ht,Mr])}return new Ta(je,pe,ke)}evaluate(D){let J=this.labels,pe=this.outputs;if(J.length===1)return pe[0].evaluate(D);let ke=this.input.evaluate(D);if(ke<=J[0])return pe[0].evaluate(D);let je=J.length;return ke>=J[je-1]?pe[je-1].evaluate(D):pe[la(J,ke)].evaluate(D)}eachChild(D){D(this.input);for(let J of this.outputs)D(J)}outputDefined(){return this.outputs.every(D=>D.outputDefined())}}function Ai(W){return W&&W.__esModule&&Object.prototype.hasOwnProperty.call(W,\"default\")?W.default:W}var ki=Ki;function Ki(W,D,J,pe){this.cx=3*W,this.bx=3*(J-W)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*D,this.by=3*(pe-D)-this.cy,this.ay=1-this.cy-this.by,this.p1x=W,this.p1y=D,this.p2x=J,this.p2y=pe}Ki.prototype={sampleCurveX:function(W){return((this.ax*W+this.bx)*W+this.cx)*W},sampleCurveY:function(W){return((this.ay*W+this.by)*W+this.cy)*W},sampleCurveDerivativeX:function(W){return(3*this.ax*W+2*this.bx)*W+this.cx},solveCurveX:function(W,D){if(D===void 0&&(D=1e-6),W<0)return 0;if(W>1)return 1;for(var J=W,pe=0;pe<8;pe++){var ke=this.sampleCurveX(J)-W;if(Math.abs(ke)ke?We=J:ht=J,J=.5*(ht-We)+We;return J},solve:function(W,D){return this.sampleCurveY(this.solveCurveX(W,D))}};var _n=Ai(ki);function Rn(W,D,J){return W+J*(D-W)}function En(W,D,J){return W.map((pe,ke)=>Rn(pe,D[ke],J))}let On={number:Rn,color:function(W,D,J,pe=\"rgb\"){switch(pe){case\"rgb\":{let[ke,je,We,ht]=En(W.rgb,D.rgb,J);return new Jt(ke,je,We,ht,!1)}case\"hcl\":{let[ke,je,We,ht]=W.hcl,[Et,Ut,or,Mr]=D.hcl,zr,Wr;if(isNaN(ke)||isNaN(Et))isNaN(ke)?isNaN(Et)?zr=NaN:(zr=Et,We!==1&&We!==0||(Wr=Ut)):(zr=ke,or!==1&&or!==0||(Wr=je));else{let Wi=Et-ke;Et>ke&&Wi>180?Wi-=360:Et180&&(Wi+=360),zr=ke+J*Wi}let[ia,ha,ja,Ka]=function([Wi,gi,qi,en]){return Wi=isNaN(Wi)?0:Wi*rr,qa([qi,Math.cos(Wi)*gi,Math.sin(Wi)*gi,en])}([zr,Wr??Rn(je,Ut,J),Rn(We,or,J),Rn(ht,Mr,J)]);return new Jt(ia,ha,ja,Ka,!1)}case\"lab\":{let[ke,je,We,ht]=qa(En(W.lab,D.lab,J));return new Jt(ke,je,We,ht,!1)}}},array:En,padding:function(W,D,J){return new ca(En(W.values,D.values,J))},variableAnchorOffsetCollection:function(W,D,J){let pe=W.values,ke=D.values;if(pe.length!==ke.length)throw new hn(`Cannot interpolate values of different length. from: ${W.toString()}, to: ${D.toString()}`);let je=[];for(let We=0;Wetypeof or!=\"number\"||or<0||or>1))return J.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);ke={name:\"cubic-bezier\",controlPoints:Ut}}}if(D.length-1<4)return J.error(`Expected at least 4 arguments, but found only ${D.length-1}.`);if((D.length-1)%2!=0)return J.error(\"Expected an even number of arguments.\");if(je=J.parse(je,2,Qe),!je)return null;let ht=[],Et=null;pe===\"interpolate-hcl\"||pe===\"interpolate-lab\"?Et=qt:J.expectedType&&J.expectedType.kind!==\"value\"&&(Et=J.expectedType);for(let Ut=0;Ut=or)return J.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',zr);let ia=J.parse(Mr,Wr,Et);if(!ia)return null;Et=Et||ia.type,ht.push([or,ia])}return Ee(Et,Qe)||Ee(Et,qt)||Ee(Et,Sr)||Ee(Et,wt)||Ee(Et,Ne(Qe))?new no(Et,pe,ke,je,ht):J.error(`Type ${Ke(Et)} is not interpolatable.`)}evaluate(D){let J=this.labels,pe=this.outputs;if(J.length===1)return pe[0].evaluate(D);let ke=this.input.evaluate(D);if(ke<=J[0])return pe[0].evaluate(D);let je=J.length;if(ke>=J[je-1])return pe[je-1].evaluate(D);let We=la(J,ke),ht=no.interpolationFactor(this.interpolation,ke,J[We],J[We+1]),Et=pe[We].evaluate(D),Ut=pe[We+1].evaluate(D);switch(this.operator){case\"interpolate\":return On[this.type.kind](Et,Ut,ht);case\"interpolate-hcl\":return On.color(Et,Ut,ht,\"hcl\");case\"interpolate-lab\":return On.color(Et,Ut,ht,\"lab\")}}eachChild(D){D(this.input);for(let J of this.outputs)D(J)}outputDefined(){return this.outputs.every(D=>D.outputDefined())}}function cn(W,D,J,pe){let ke=pe-J,je=W-J;return ke===0?0:D===1?je/ke:(Math.pow(D,je)-1)/(Math.pow(D,ke)-1)}class lo{constructor(D,J){this.type=D,this.args=J}static parse(D,J){if(D.length<2)return J.error(\"Expectected at least one argument.\");let pe=null,ke=J.expectedType;ke&&ke.kind!==\"value\"&&(pe=ke);let je=[];for(let ht of D.slice(1)){let Et=J.parse(ht,1+je.length,pe,void 0,{typeAnnotation:\"omit\"});if(!Et)return null;pe=pe||Et.type,je.push(Et)}if(!pe)throw new Error(\"No output type\");let We=ke&&je.some(ht=>Ie(ke,ht.type));return new lo(We?kr:pe,je)}evaluate(D){let J,pe=null,ke=0;for(let je of this.args)if(ke++,pe=je.evaluate(D),pe&&pe instanceof Za&&!pe.available&&(J||(J=pe.name),pe=null,ke===this.args.length&&(pe=J)),pe!==null)break;return pe}eachChild(D){this.args.forEach(D)}outputDefined(){return this.args.every(D=>D.outputDefined())}}function Wo(W,D){return W===\"==\"||W===\"!=\"?D.kind===\"boolean\"||D.kind===\"string\"||D.kind===\"number\"||D.kind===\"null\"||D.kind===\"value\":D.kind===\"string\"||D.kind===\"number\"||D.kind===\"value\"}function hs(W,D,J,pe){return pe.compare(D,J)===0}function Oo(W,D,J){let pe=W!==\"==\"&&W!==\"!=\";return class t7{constructor(je,We,ht){this.type=It,this.lhs=je,this.rhs=We,this.collator=ht,this.hasUntypedArgument=je.type.kind===\"value\"||We.type.kind===\"value\"}static parse(je,We){if(je.length!==3&&je.length!==4)return We.error(\"Expected two or three arguments.\");let ht=je[0],Et=We.parse(je[1],1,kr);if(!Et)return null;if(!Wo(ht,Et.type))return We.concat(1).error(`\"${ht}\" comparisons are not supported for type '${Ke(Et.type)}'.`);let Ut=We.parse(je[2],2,kr);if(!Ut)return null;if(!Wo(ht,Ut.type))return We.concat(2).error(`\"${ht}\" comparisons are not supported for type '${Ke(Ut.type)}'.`);if(Et.type.kind!==Ut.type.kind&&Et.type.kind!==\"value\"&&Ut.type.kind!==\"value\")return We.error(`Cannot compare types '${Ke(Et.type)}' and '${Ke(Ut.type)}'.`);pe&&(Et.type.kind===\"value\"&&Ut.type.kind!==\"value\"?Et=new ut(Ut.type,[Et]):Et.type.kind!==\"value\"&&Ut.type.kind===\"value\"&&(Ut=new ut(Et.type,[Ut])));let or=null;if(je.length===4){if(Et.type.kind!==\"string\"&&Ut.type.kind!==\"string\"&&Et.type.kind!==\"value\"&&Ut.type.kind!==\"value\")return We.error(\"Cannot use collator to compare non-string types.\");if(or=We.parse(je[3],3,mr),!or)return null}return new t7(Et,Ut,or)}evaluate(je){let We=this.lhs.evaluate(je),ht=this.rhs.evaluate(je);if(pe&&this.hasUntypedArgument){let Et=Ra(We),Ut=Ra(ht);if(Et.kind!==Ut.kind||Et.kind!==\"string\"&&Et.kind!==\"number\")throw new hn(`Expected arguments for \"${W}\" to be (string, string) or (number, number), but found (${Et.kind}, ${Ut.kind}) instead.`)}if(this.collator&&!pe&&this.hasUntypedArgument){let Et=Ra(We),Ut=Ra(ht);if(Et.kind!==\"string\"||Ut.kind!==\"string\")return D(je,We,ht)}return this.collator?J(je,We,ht,this.collator.evaluate(je)):D(je,We,ht)}eachChild(je){je(this.lhs),je(this.rhs),this.collator&&je(this.collator)}outputDefined(){return!0}}}let Wn=Oo(\"==\",function(W,D,J){return D===J},hs),No=Oo(\"!=\",function(W,D,J){return D!==J},function(W,D,J,pe){return!hs(0,D,J,pe)}),as=Oo(\"<\",function(W,D,J){return D\",function(W,D,J){return D>J},function(W,D,J,pe){return pe.compare(D,J)>0}),ss=Oo(\"<=\",function(W,D,J){return D<=J},function(W,D,J,pe){return pe.compare(D,J)<=0}),uo=Oo(\">=\",function(W,D,J){return D>=J},function(W,D,J,pe){return pe.compare(D,J)>=0});class jn{constructor(D,J,pe){this.type=mr,this.locale=pe,this.caseSensitive=D,this.diacriticSensitive=J}static parse(D,J){if(D.length!==2)return J.error(\"Expected one argument.\");let pe=D[1];if(typeof pe!=\"object\"||Array.isArray(pe))return J.error(\"Collator options argument must be an object.\");let ke=J.parse(pe[\"case-sensitive\"]!==void 0&&pe[\"case-sensitive\"],1,It);if(!ke)return null;let je=J.parse(pe[\"diacritic-sensitive\"]!==void 0&&pe[\"diacritic-sensitive\"],1,It);if(!je)return null;let We=null;return pe.locale&&(We=J.parse(pe.locale,1,Pt),!We)?null:new jn(ke,je,We)}evaluate(D){return new Fr(this.caseSensitive.evaluate(D),this.diacriticSensitive.evaluate(D),this.locale?this.locale.evaluate(D):null)}eachChild(D){D(this.caseSensitive),D(this.diacriticSensitive),this.locale&&D(this.locale)}outputDefined(){return!1}}class Xn{constructor(D,J,pe,ke,je){this.type=Pt,this.number=D,this.locale=J,this.currency=pe,this.minFractionDigits=ke,this.maxFractionDigits=je}static parse(D,J){if(D.length!==3)return J.error(\"Expected two arguments.\");let pe=J.parse(D[1],1,Qe);if(!pe)return null;let ke=D[2];if(typeof ke!=\"object\"||Array.isArray(ke))return J.error(\"NumberFormat options argument must be an object.\");let je=null;if(ke.locale&&(je=J.parse(ke.locale,1,Pt),!je))return null;let We=null;if(ke.currency&&(We=J.parse(ke.currency,1,Pt),!We))return null;let ht=null;if(ke[\"min-fraction-digits\"]&&(ht=J.parse(ke[\"min-fraction-digits\"],1,Qe),!ht))return null;let Et=null;return ke[\"max-fraction-digits\"]&&(Et=J.parse(ke[\"max-fraction-digits\"],1,Qe),!Et)?null:new Xn(pe,je,We,ht,Et)}evaluate(D){return new Intl.NumberFormat(this.locale?this.locale.evaluate(D):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(D):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(D):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(D):void 0}).format(this.number.evaluate(D))}eachChild(D){D(this.number),this.locale&&D(this.locale),this.currency&&D(this.currency),this.minFractionDigits&&D(this.minFractionDigits),this.maxFractionDigits&&D(this.maxFractionDigits)}outputDefined(){return!1}}class ls{constructor(D){this.type=qr,this.sections=D}static parse(D,J){if(D.length<2)return J.error(\"Expected at least one argument.\");let pe=D[1];if(!Array.isArray(pe)&&typeof pe==\"object\")return J.error(\"First argument must be an image or text section.\");let ke=[],je=!1;for(let We=1;We<=D.length-1;++We){let ht=D[We];if(je&&typeof ht==\"object\"&&!Array.isArray(ht)){je=!1;let Et=null;if(ht[\"font-scale\"]&&(Et=J.parse(ht[\"font-scale\"],1,Qe),!Et))return null;let Ut=null;if(ht[\"text-font\"]&&(Ut=J.parse(ht[\"text-font\"],1,Ne(Pt)),!Ut))return null;let or=null;if(ht[\"text-color\"]&&(or=J.parse(ht[\"text-color\"],1,qt),!or))return null;let Mr=ke[ke.length-1];Mr.scale=Et,Mr.font=Ut,Mr.textColor=or}else{let Et=J.parse(D[We],1,kr);if(!Et)return null;let Ut=Et.type.kind;if(Ut!==\"string\"&&Ut!==\"value\"&&Ut!==\"null\"&&Ut!==\"resolvedImage\")return J.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");je=!0,ke.push({content:Et,scale:null,font:null,textColor:null})}}return new ls(ke)}evaluate(D){return new ra(this.sections.map(J=>{let pe=J.content.evaluate(D);return Ra(pe)===Rr?new ta(\"\",pe,null,null,null):new ta(tn(pe),null,J.scale?J.scale.evaluate(D):null,J.font?J.font.evaluate(D).join(\",\"):null,J.textColor?J.textColor.evaluate(D):null)}))}eachChild(D){for(let J of this.sections)D(J.content),J.scale&&D(J.scale),J.font&&D(J.font),J.textColor&&D(J.textColor)}outputDefined(){return!1}}class Cs{constructor(D){this.type=Rr,this.input=D}static parse(D,J){if(D.length!==2)return J.error(\"Expected two arguments.\");let pe=J.parse(D[1],1,Pt);return pe?new Cs(pe):J.error(\"No image name provided.\")}evaluate(D){let J=this.input.evaluate(D),pe=Za.fromString(J);return pe&&D.availableImages&&(pe.available=D.availableImages.indexOf(J)>-1),pe}eachChild(D){D(this.input)}outputDefined(){return!1}}class Ks{constructor(D){this.type=Qe,this.input=D}static parse(D,J){if(D.length!==2)return J.error(`Expected 1 argument, but found ${D.length-1} instead.`);let pe=J.parse(D[1],1);return pe?pe.type.kind!==\"array\"&&pe.type.kind!==\"string\"&&pe.type.kind!==\"value\"?J.error(`Expected argument of type string or array, but found ${Ke(pe.type)} instead.`):new Ks(pe):null}evaluate(D){let J=this.input.evaluate(D);if(typeof J==\"string\")return[...J].length;if(Array.isArray(J))return J.length;throw new hn(`Expected value to be of type string or array, but found ${Ke(Ra(J))} instead.`)}eachChild(D){D(this.input)}outputDefined(){return!1}}let Xo=8192;function Gi(W,D){let J=(180+W[0])/360,pe=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+W[1]*Math.PI/360)))/360,ke=Math.pow(2,D.z);return[Math.round(J*ke*Xo),Math.round(pe*ke*Xo)]}function Ln(W,D){let J=Math.pow(2,D.z);return[(ke=(W[0]/Xo+D.x)/J,360*ke-180),(pe=(W[1]/Xo+D.y)/J,360/Math.PI*Math.atan(Math.exp((180-360*pe)*Math.PI/180))-90)];var pe,ke}function Us(W,D){W[0]=Math.min(W[0],D[0]),W[1]=Math.min(W[1],D[1]),W[2]=Math.max(W[2],D[0]),W[3]=Math.max(W[3],D[1])}function _s(W,D){return!(W[0]<=D[0]||W[2]>=D[2]||W[1]<=D[1]||W[3]>=D[3])}function Gn(W,D,J){let pe=W[0]-D[0],ke=W[1]-D[1],je=W[0]-J[0],We=W[1]-J[1];return pe*We-je*ke==0&&pe*je<=0&&ke*We<=0}function zs(W,D,J,pe){return(ke=[pe[0]-J[0],pe[1]-J[1]])[0]*(je=[D[0]-W[0],D[1]-W[1]])[1]-ke[1]*je[0]!=0&&!(!bo(W,D,J,pe)||!bo(J,pe,W,D));var ke,je}function vs(W,D,J){for(let pe of J)for(let ke=0;ke(ke=W)[1]!=(We=ht[Et+1])[1]>ke[1]&&ke[0]<(We[0]-je[0])*(ke[1]-je[1])/(We[1]-je[1])+je[0]&&(pe=!pe)}var ke,je,We;return pe}function il(W,D){for(let J of D)if(Ws(W,J))return!0;return!1}function xn(W,D){for(let J of W)if(!Ws(J,D))return!1;for(let J=0;J0&&ht<0||We<0&&ht>0}function Is(W,D,J){let pe=[];for(let ke=0;keJ[2]){let ke=.5*pe,je=W[0]-J[0]>ke?-pe:J[0]-W[0]>ke?pe:0;je===0&&(je=W[0]-J[2]>ke?-pe:J[2]-W[0]>ke?pe:0),W[0]+=je}Us(D,W)}function Vs(W,D,J,pe){let ke=Math.pow(2,pe.z)*Xo,je=[pe.x*Xo,pe.y*Xo],We=[];for(let ht of W)for(let Et of ht){let Ut=[Et.x+je[0],Et.y+je[1]];co(Ut,D,J,ke),We.push(Ut)}return We}function vl(W,D,J,pe){let ke=Math.pow(2,pe.z)*Xo,je=[pe.x*Xo,pe.y*Xo],We=[];for(let Et of W){let Ut=[];for(let or of Et){let Mr=[or.x+je[0],or.y+je[1]];Us(D,Mr),Ut.push(Mr)}We.push(Ut)}if(D[2]-D[0]<=ke/2){(ht=D)[0]=ht[1]=1/0,ht[2]=ht[3]=-1/0;for(let Et of We)for(let Ut of Et)co(Ut,D,J,ke)}var ht;return We}class Ts{constructor(D,J){this.type=It,this.geojson=D,this.geometries=J}static parse(D,J){if(D.length!==2)return J.error(`'within' expression requires exactly one argument, but found ${D.length-1} instead.`);if(pi(D[1])){let pe=D[1];if(pe.type===\"FeatureCollection\"){let ke=[];for(let je of pe.features){let{type:We,coordinates:ht}=je.geometry;We===\"Polygon\"&&ke.push(ht),We===\"MultiPolygon\"&&ke.push(...ht)}if(ke.length)return new Ts(pe,{type:\"MultiPolygon\",coordinates:ke})}else if(pe.type===\"Feature\"){let ke=pe.geometry.type;if(ke===\"Polygon\"||ke===\"MultiPolygon\")return new Ts(pe,pe.geometry)}else if(pe.type===\"Polygon\"||pe.type===\"MultiPolygon\")return new Ts(pe,pe)}return J.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(D){if(D.geometry()!=null&&D.canonicalID()!=null){if(D.geometryType()===\"Point\")return function(J,pe){let ke=[1/0,1/0,-1/0,-1/0],je=[1/0,1/0,-1/0,-1/0],We=J.canonicalID();if(pe.type===\"Polygon\"){let ht=Is(pe.coordinates,je,We),Et=Vs(J.geometry(),ke,je,We);if(!_s(ke,je))return!1;for(let Ut of Et)if(!Ws(Ut,ht))return!1}if(pe.type===\"MultiPolygon\"){let ht=pu(pe.coordinates,je,We),Et=Vs(J.geometry(),ke,je,We);if(!_s(ke,je))return!1;for(let Ut of Et)if(!il(Ut,ht))return!1}return!0}(D,this.geometries);if(D.geometryType()===\"LineString\")return function(J,pe){let ke=[1/0,1/0,-1/0,-1/0],je=[1/0,1/0,-1/0,-1/0],We=J.canonicalID();if(pe.type===\"Polygon\"){let ht=Is(pe.coordinates,je,We),Et=vl(J.geometry(),ke,je,We);if(!_s(ke,je))return!1;for(let Ut of Et)if(!xn(Ut,ht))return!1}if(pe.type===\"MultiPolygon\"){let ht=pu(pe.coordinates,je,We),Et=vl(J.geometry(),ke,je,We);if(!_s(ke,je))return!1;for(let Ut of Et)if(!ko(Ut,ht))return!1}return!0}(D,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let js=class{constructor(W=[],D=(J,pe)=>Jpe?1:0){if(this.data=W,this.length=this.data.length,this.compare=D,this.length>0)for(let J=(this.length>>1)-1;J>=0;J--)this._down(J)}push(W){this.data.push(W),this._up(this.length++)}pop(){if(this.length===0)return;let W=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),W}peek(){return this.data[0]}_up(W){let{data:D,compare:J}=this,pe=D[W];for(;W>0;){let ke=W-1>>1,je=D[ke];if(J(pe,je)>=0)break;D[W]=je,W=ke}D[W]=pe}_down(W){let{data:D,compare:J}=this,pe=this.length>>1,ke=D[W];for(;W=0)break;D[W]=D[je],W=je}D[W]=ke}};function us(W,D,J,pe,ke){As(W,D,J,pe||W.length-1,ke||su)}function As(W,D,J,pe,ke){for(;pe>J;){if(pe-J>600){var je=pe-J+1,We=D-J+1,ht=Math.log(je),Et=.5*Math.exp(2*ht/3),Ut=.5*Math.sqrt(ht*Et*(je-Et)/je)*(We-je/2<0?-1:1);As(W,D,Math.max(J,Math.floor(D-We*Et/je+Ut)),Math.min(pe,Math.floor(D+(je-We)*Et/je+Ut)),ke)}var or=W[D],Mr=J,zr=pe;for(Nl(W,J,D),ke(W[pe],or)>0&&Nl(W,J,pe);Mr0;)zr--}ke(W[J],or)===0?Nl(W,J,zr):Nl(W,++zr,pe),zr<=D&&(J=zr+1),D<=zr&&(pe=zr-1)}}function Nl(W,D,J){var pe=W[D];W[D]=W[J],W[J]=pe}function su(W,D){return WD?1:0}function Tc(W,D){if(W.length<=1)return[W];let J=[],pe,ke;for(let je of W){let We=Sf(je);We!==0&&(je.area=Math.abs(We),ke===void 0&&(ke=We<0),ke===We<0?(pe&&J.push(pe),pe=[je]):pe.push(je))}if(pe&&J.push(pe),D>1)for(let je=0;je1?(Ut=D[Et+1][0],or=D[Et+1][1]):Wr>0&&(Ut+=Mr/this.kx*Wr,or+=zr/this.ky*Wr)),Mr=this.wrap(J[0]-Ut)*this.kx,zr=(J[1]-or)*this.ky;let ia=Mr*Mr+zr*zr;ia180;)D-=360;return D}}function lu(W,D){return D[0]-W[0]}function Pl(W){return W[1]-W[0]+1}function ic(W,D){return W[1]>=W[0]&&W[1]W[1])return[null,null];let J=Pl(W);if(D){if(J===2)return[W,null];let ke=Math.floor(J/2);return[[W[0],W[0]+ke],[W[0]+ke,W[1]]]}if(J===1)return[W,null];let pe=Math.floor(J/2)-1;return[[W[0],W[0]+pe],[W[0]+pe+1,W[1]]]}function nl(W,D){if(!ic(D,W.length))return[1/0,1/0,-1/0,-1/0];let J=[1/0,1/0,-1/0,-1/0];for(let pe=D[0];pe<=D[1];++pe)Us(J,W[pe]);return J}function ml(W){let D=[1/0,1/0,-1/0,-1/0];for(let J of W)for(let pe of J)Us(D,pe);return D}function xs(W){return W[0]!==-1/0&&W[1]!==-1/0&&W[2]!==1/0&&W[3]!==1/0}function Xs(W,D,J){if(!xs(W)||!xs(D))return NaN;let pe=0,ke=0;return W[2]D[2]&&(pe=W[0]-D[2]),W[1]>D[3]&&(ke=W[1]-D[3]),W[3]=pe)return pe;if(_s(ke,je)){if(bh(W,D))return 0}else if(bh(D,W))return 0;let We=1/0;for(let ht of W)for(let Et=0,Ut=ht.length,or=Ut-1;Et0;){let Et=We.pop();if(Et[0]>=je)continue;let Ut=Et[1],or=D?50:100;if(Pl(Ut)<=or){if(!ic(Ut,W.length))return NaN;if(D){let Mr=ns(W,Ut,J,pe);if(isNaN(Mr)||Mr===0)return Mr;je=Math.min(je,Mr)}else for(let Mr=Ut[0];Mr<=Ut[1];++Mr){let zr=xh(W[Mr],J,pe);if(je=Math.min(je,zr),je===0)return 0}}else{let Mr=Ou(Ut,D);to(We,je,pe,W,ht,Mr[0]),to(We,je,pe,W,ht,Mr[1])}}return je}function jl(W,D,J,pe,ke,je=1/0){let We=Math.min(je,ke.distance(W[0],J[0]));if(We===0)return We;let ht=new js([[0,[0,W.length-1],[0,J.length-1]]],lu);for(;ht.length>0;){let Et=ht.pop();if(Et[0]>=We)continue;let Ut=Et[1],or=Et[2],Mr=D?50:100,zr=pe?50:100;if(Pl(Ut)<=Mr&&Pl(or)<=zr){if(!ic(Ut,W.length)&&ic(or,J.length))return NaN;let Wr;if(D&&pe)Wr=qu(W,Ut,J,or,ke),We=Math.min(We,Wr);else if(D&&!pe){let ia=W.slice(Ut[0],Ut[1]+1);for(let ha=or[0];ha<=or[1];++ha)if(Wr=nc(J[ha],ia,ke),We=Math.min(We,Wr),We===0)return We}else if(!D&&pe){let ia=J.slice(or[0],or[1]+1);for(let ha=Ut[0];ha<=Ut[1];++ha)if(Wr=nc(W[ha],ia,ke),We=Math.min(We,Wr),We===0)return We}else Wr=fl(W,Ut,J,or,ke),We=Math.min(We,Wr)}else{let Wr=Ou(Ut,D),ia=Ou(or,pe);Wc(ht,We,ke,W,J,Wr[0],ia[0]),Wc(ht,We,ke,W,J,Wr[0],ia[1]),Wc(ht,We,ke,W,J,Wr[1],ia[0]),Wc(ht,We,ke,W,J,Wr[1],ia[1])}}return We}function Mf(W){return W.type===\"MultiPolygon\"?W.coordinates.map(D=>({type:\"Polygon\",coordinates:D})):W.type===\"MultiLineString\"?W.coordinates.map(D=>({type:\"LineString\",coordinates:D})):W.type===\"MultiPoint\"?W.coordinates.map(D=>({type:\"Point\",coordinates:D})):[W]}class Ac{constructor(D,J){this.type=Qe,this.geojson=D,this.geometries=J}static parse(D,J){if(D.length!==2)return J.error(`'distance' expression requires exactly one argument, but found ${D.length-1} instead.`);if(pi(D[1])){let pe=D[1];if(pe.type===\"FeatureCollection\")return new Ac(pe,pe.features.map(ke=>Mf(ke.geometry)).flat());if(pe.type===\"Feature\")return new Ac(pe,Mf(pe.geometry));if(\"type\"in pe&&\"coordinates\"in pe)return new Ac(pe,Mf(pe))}return J.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(D){if(D.geometry()!=null&&D.canonicalID()!=null){if(D.geometryType()===\"Point\")return function(J,pe){let ke=J.geometry(),je=ke.flat().map(Et=>Ln([Et.x,Et.y],J.canonical));if(ke.length===0)return NaN;let We=new Hc(je[0][1]),ht=1/0;for(let Et of pe){switch(Et.type){case\"Point\":ht=Math.min(ht,jl(je,!1,[Et.coordinates],!1,We,ht));break;case\"LineString\":ht=Math.min(ht,jl(je,!1,Et.coordinates,!0,We,ht));break;case\"Polygon\":ht=Math.min(ht,Vu(je,!1,Et.coordinates,We,ht))}if(ht===0)return ht}return ht}(D,this.geometries);if(D.geometryType()===\"LineString\")return function(J,pe){let ke=J.geometry(),je=ke.flat().map(Et=>Ln([Et.x,Et.y],J.canonical));if(ke.length===0)return NaN;let We=new Hc(je[0][1]),ht=1/0;for(let Et of pe){switch(Et.type){case\"Point\":ht=Math.min(ht,jl(je,!0,[Et.coordinates],!1,We,ht));break;case\"LineString\":ht=Math.min(ht,jl(je,!0,Et.coordinates,!0,We,ht));break;case\"Polygon\":ht=Math.min(ht,Vu(je,!0,Et.coordinates,We,ht))}if(ht===0)return ht}return ht}(D,this.geometries);if(D.geometryType()===\"Polygon\")return function(J,pe){let ke=J.geometry();if(ke.length===0||ke[0].length===0)return NaN;let je=Tc(ke,0).map(Et=>Et.map(Ut=>Ut.map(or=>Ln([or.x,or.y],J.canonical)))),We=new Hc(je[0][0][0][1]),ht=1/0;for(let Et of pe)for(let Ut of je){switch(Et.type){case\"Point\":ht=Math.min(ht,Vu([Et.coordinates],!1,Ut,We,ht));break;case\"LineString\":ht=Math.min(ht,Vu(Et.coordinates,!0,Ut,We,ht));break;case\"Polygon\":ht=Math.min(ht,Es(Ut,Et.coordinates,We,ht))}if(ht===0)return ht}return ht}(D,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let nf={\"==\":Wn,\"!=\":No,\">\":Ns,\"<\":as,\">=\":uo,\"<=\":ss,array:ut,at:Xt,boolean:ut,case:Pa,coalesce:lo,collator:jn,format:ls,image:Cs,in:vr,\"index-of\":Or,interpolate:no,\"interpolate-hcl\":no,\"interpolate-lab\":no,length:Ks,let:Hr,literal:on,match:ba,number:ut,\"number-format\":Xn,object:ut,slice:ya,step:Ta,string:ut,\"to-boolean\":Cr,\"to-color\":Cr,\"to-number\":Cr,\"to-string\":Cr,var:xt,within:Ts,distance:Ac};class $l{constructor(D,J,pe,ke){this.name=D,this.type=J,this._evaluate=pe,this.args=ke}evaluate(D){return this._evaluate(D,this.args)}eachChild(D){this.args.forEach(D)}outputDefined(){return!1}static parse(D,J){let pe=D[0],ke=$l.definitions[pe];if(!ke)return J.error(`Unknown expression \"${pe}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let je=Array.isArray(ke)?ke[0]:ke.type,We=Array.isArray(ke)?[[ke[1],ke[2]]]:ke.overloads,ht=We.filter(([Ut])=>!Array.isArray(Ut)||Ut.length===D.length-1),Et=null;for(let[Ut,or]of ht){Et=new Ur(J.registry,Bf,J.path,null,J.scope);let Mr=[],zr=!1;for(let Wr=1;Wr{return zr=Mr,Array.isArray(zr)?`(${zr.map(Ke).join(\", \")})`:`(${Ke(zr.type)}...)`;var zr}).join(\" | \"),or=[];for(let Mr=1;Mr{J=D?J&&Bf(pe):J&&pe instanceof on}),!!J&&Nf(W)&&Ef(W,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Nf(W){if(W instanceof $l&&(W.name===\"get\"&&W.args.length===1||W.name===\"feature-state\"||W.name===\"has\"&&W.args.length===1||W.name===\"properties\"||W.name===\"geometry-type\"||W.name===\"id\"||/^filter-/.test(W.name))||W instanceof Ts||W instanceof Ac)return!1;let D=!0;return W.eachChild(J=>{D&&!Nf(J)&&(D=!1)}),D}function Gu(W){if(W instanceof $l&&W.name===\"feature-state\")return!1;let D=!0;return W.eachChild(J=>{D&&!Gu(J)&&(D=!1)}),D}function Ef(W,D){if(W instanceof $l&&D.indexOf(W.name)>=0)return!1;let J=!0;return W.eachChild(pe=>{J&&!Ef(pe,D)&&(J=!1)}),J}function oc(W){return{result:\"success\",value:W}}function Xc(W){return{result:\"error\",value:W}}function Ql(W){return W[\"property-type\"]===\"data-driven\"||W[\"property-type\"]===\"cross-faded-data-driven\"}function qc(W){return!!W.expression&&W.expression.parameters.indexOf(\"zoom\")>-1}function Sc(W){return!!W.expression&&W.expression.interpolated}function Zs(W){return W instanceof Number?\"number\":W instanceof String?\"string\":W instanceof Boolean?\"boolean\":Array.isArray(W)?\"array\":W===null?\"null\":typeof W}function kf(W){return typeof W==\"object\"&&W!==null&&!Array.isArray(W)}function fh(W){return W}function Uf(W,D){let J=D.type===\"color\",pe=W.stops&&typeof W.stops[0][0]==\"object\",ke=pe||!(pe||W.property!==void 0),je=W.type||(Sc(D)?\"exponential\":\"interval\");if(J||D.type===\"padding\"){let or=J?Jt.parse:ca.parse;(W=he({},W)).stops&&(W.stops=W.stops.map(Mr=>[Mr[0],or(Mr[1])])),W.default=or(W.default?W.default:D.default)}if(W.colorSpace&&(We=W.colorSpace)!==\"rgb\"&&We!==\"hcl\"&&We!==\"lab\")throw new Error(`Unknown color space: \"${W.colorSpace}\"`);var We;let ht,Et,Ut;if(je===\"exponential\")ht=jf;else if(je===\"interval\")ht=Cu;else if(je===\"categorical\"){ht=$f,Et=Object.create(null);for(let or of W.stops)Et[or[0]]=or[1];Ut=typeof W.stops[0][0]}else{if(je!==\"identity\")throw new Error(`Unknown function type \"${je}\"`);ht=yl}if(pe){let or={},Mr=[];for(let ia=0;iaia[0]),evaluate:({zoom:ia},ha)=>jf({stops:zr,base:W.base},D,ia).evaluate(ia,ha)}}if(ke){let or=je===\"exponential\"?{name:\"exponential\",base:W.base!==void 0?W.base:1}:null;return{kind:\"camera\",interpolationType:or,interpolationFactor:no.interpolationFactor.bind(void 0,or),zoomStops:W.stops.map(Mr=>Mr[0]),evaluate:({zoom:Mr})=>ht(W,D,Mr,Et,Ut)}}return{kind:\"source\",evaluate(or,Mr){let zr=Mr&&Mr.properties?Mr.properties[W.property]:void 0;return zr===void 0?Zc(W.default,D.default):ht(W,D,zr,Et,Ut)}}}function Zc(W,D,J){return W!==void 0?W:D!==void 0?D:J!==void 0?J:void 0}function $f(W,D,J,pe,ke){return Zc(typeof J===ke?pe[J]:void 0,W.default,D.default)}function Cu(W,D,J){if(Zs(J)!==\"number\")return Zc(W.default,D.default);let pe=W.stops.length;if(pe===1||J<=W.stops[0][0])return W.stops[0][1];if(J>=W.stops[pe-1][0])return W.stops[pe-1][1];let ke=la(W.stops.map(je=>je[0]),J);return W.stops[ke][1]}function jf(W,D,J){let pe=W.base!==void 0?W.base:1;if(Zs(J)!==\"number\")return Zc(W.default,D.default);let ke=W.stops.length;if(ke===1||J<=W.stops[0][0])return W.stops[0][1];if(J>=W.stops[ke-1][0])return W.stops[ke-1][1];let je=la(W.stops.map(or=>or[0]),J),We=function(or,Mr,zr,Wr){let ia=Wr-zr,ha=or-zr;return ia===0?0:Mr===1?ha/ia:(Math.pow(Mr,ha)-1)/(Math.pow(Mr,ia)-1)}(J,pe,W.stops[je][0],W.stops[je+1][0]),ht=W.stops[je][1],Et=W.stops[je+1][1],Ut=On[D.type]||fh;return typeof ht.evaluate==\"function\"?{evaluate(...or){let Mr=ht.evaluate.apply(void 0,or),zr=Et.evaluate.apply(void 0,or);if(Mr!==void 0&&zr!==void 0)return Ut(Mr,zr,We,W.colorSpace)}}:Ut(ht,Et,We,W.colorSpace)}function yl(W,D,J){switch(D.type){case\"color\":J=Jt.parse(J);break;case\"formatted\":J=ra.fromString(J.toString());break;case\"resolvedImage\":J=Za.fromString(J.toString());break;case\"padding\":J=ca.parse(J);break;default:Zs(J)===D.type||D.type===\"enum\"&&D.values[J]||(J=void 0)}return Zc(J,W.default,D.default)}$l.register(nf,{error:[{kind:\"error\"},[Pt],(W,[D])=>{throw new hn(D.evaluate(W))}],typeof:[Pt,[kr],(W,[D])=>Ke(Ra(D.evaluate(W)))],\"to-rgba\":[Ne(Qe,4),[qt],(W,[D])=>{let[J,pe,ke,je]=D.evaluate(W).rgb;return[255*J,255*pe,255*ke,je]}],rgb:[qt,[Qe,Qe,Qe],Jf],rgba:[qt,[Qe,Qe,Qe,Qe],Jf],has:{type:It,overloads:[[[Pt],(W,[D])=>Of(D.evaluate(W),W.properties())],[[Pt,Wt],(W,[D,J])=>Of(D.evaluate(W),J.evaluate(W))]]},get:{type:kr,overloads:[[[Pt],(W,[D])=>of(D.evaluate(W),W.properties())],[[Pt,Wt],(W,[D,J])=>of(D.evaluate(W),J.evaluate(W))]]},\"feature-state\":[kr,[Pt],(W,[D])=>of(D.evaluate(W),W.featureState||{})],properties:[Wt,[],W=>W.properties()],\"geometry-type\":[Pt,[],W=>W.geometryType()],id:[kr,[],W=>W.id()],zoom:[Qe,[],W=>W.globals.zoom],\"heatmap-density\":[Qe,[],W=>W.globals.heatmapDensity||0],\"line-progress\":[Qe,[],W=>W.globals.lineProgress||0],accumulated:[kr,[],W=>W.globals.accumulated===void 0?null:W.globals.accumulated],\"+\":[Qe,jc(Qe),(W,D)=>{let J=0;for(let pe of D)J+=pe.evaluate(W);return J}],\"*\":[Qe,jc(Qe),(W,D)=>{let J=1;for(let pe of D)J*=pe.evaluate(W);return J}],\"-\":{type:Qe,overloads:[[[Qe,Qe],(W,[D,J])=>D.evaluate(W)-J.evaluate(W)],[[Qe],(W,[D])=>-D.evaluate(W)]]},\"/\":[Qe,[Qe,Qe],(W,[D,J])=>D.evaluate(W)/J.evaluate(W)],\"%\":[Qe,[Qe,Qe],(W,[D,J])=>D.evaluate(W)%J.evaluate(W)],ln2:[Qe,[],()=>Math.LN2],pi:[Qe,[],()=>Math.PI],e:[Qe,[],()=>Math.E],\"^\":[Qe,[Qe,Qe],(W,[D,J])=>Math.pow(D.evaluate(W),J.evaluate(W))],sqrt:[Qe,[Qe],(W,[D])=>Math.sqrt(D.evaluate(W))],log10:[Qe,[Qe],(W,[D])=>Math.log(D.evaluate(W))/Math.LN10],ln:[Qe,[Qe],(W,[D])=>Math.log(D.evaluate(W))],log2:[Qe,[Qe],(W,[D])=>Math.log(D.evaluate(W))/Math.LN2],sin:[Qe,[Qe],(W,[D])=>Math.sin(D.evaluate(W))],cos:[Qe,[Qe],(W,[D])=>Math.cos(D.evaluate(W))],tan:[Qe,[Qe],(W,[D])=>Math.tan(D.evaluate(W))],asin:[Qe,[Qe],(W,[D])=>Math.asin(D.evaluate(W))],acos:[Qe,[Qe],(W,[D])=>Math.acos(D.evaluate(W))],atan:[Qe,[Qe],(W,[D])=>Math.atan(D.evaluate(W))],min:[Qe,jc(Qe),(W,D)=>Math.min(...D.map(J=>J.evaluate(W)))],max:[Qe,jc(Qe),(W,D)=>Math.max(...D.map(J=>J.evaluate(W)))],abs:[Qe,[Qe],(W,[D])=>Math.abs(D.evaluate(W))],round:[Qe,[Qe],(W,[D])=>{let J=D.evaluate(W);return J<0?-Math.round(-J):Math.round(J)}],floor:[Qe,[Qe],(W,[D])=>Math.floor(D.evaluate(W))],ceil:[Qe,[Qe],(W,[D])=>Math.ceil(D.evaluate(W))],\"filter-==\":[It,[Pt,kr],(W,[D,J])=>W.properties()[D.value]===J.value],\"filter-id-==\":[It,[kr],(W,[D])=>W.id()===D.value],\"filter-type-==\":[It,[Pt],(W,[D])=>W.geometryType()===D.value],\"filter-<\":[It,[Pt,kr],(W,[D,J])=>{let pe=W.properties()[D.value],ke=J.value;return typeof pe==typeof ke&&pe{let J=W.id(),pe=D.value;return typeof J==typeof pe&&J\":[It,[Pt,kr],(W,[D,J])=>{let pe=W.properties()[D.value],ke=J.value;return typeof pe==typeof ke&&pe>ke}],\"filter-id->\":[It,[kr],(W,[D])=>{let J=W.id(),pe=D.value;return typeof J==typeof pe&&J>pe}],\"filter-<=\":[It,[Pt,kr],(W,[D,J])=>{let pe=W.properties()[D.value],ke=J.value;return typeof pe==typeof ke&&pe<=ke}],\"filter-id-<=\":[It,[kr],(W,[D])=>{let J=W.id(),pe=D.value;return typeof J==typeof pe&&J<=pe}],\"filter->=\":[It,[Pt,kr],(W,[D,J])=>{let pe=W.properties()[D.value],ke=J.value;return typeof pe==typeof ke&&pe>=ke}],\"filter-id->=\":[It,[kr],(W,[D])=>{let J=W.id(),pe=D.value;return typeof J==typeof pe&&J>=pe}],\"filter-has\":[It,[kr],(W,[D])=>D.value in W.properties()],\"filter-has-id\":[It,[],W=>W.id()!==null&&W.id()!==void 0],\"filter-type-in\":[It,[Ne(Pt)],(W,[D])=>D.value.indexOf(W.geometryType())>=0],\"filter-id-in\":[It,[Ne(kr)],(W,[D])=>D.value.indexOf(W.id())>=0],\"filter-in-small\":[It,[Pt,Ne(kr)],(W,[D,J])=>J.value.indexOf(W.properties()[D.value])>=0],\"filter-in-large\":[It,[Pt,Ne(kr)],(W,[D,J])=>function(pe,ke,je,We){for(;je<=We;){let ht=je+We>>1;if(ke[ht]===pe)return!0;ke[ht]>pe?We=ht-1:je=ht+1}return!1}(W.properties()[D.value],J.value,0,J.value.length-1)],all:{type:It,overloads:[[[It,It],(W,[D,J])=>D.evaluate(W)&&J.evaluate(W)],[jc(It),(W,D)=>{for(let J of D)if(!J.evaluate(W))return!1;return!0}]]},any:{type:It,overloads:[[[It,It],(W,[D,J])=>D.evaluate(W)||J.evaluate(W)],[jc(It),(W,D)=>{for(let J of D)if(J.evaluate(W))return!0;return!1}]]},\"!\":[It,[It],(W,[D])=>!D.evaluate(W)],\"is-supported-script\":[It,[Pt],(W,[D])=>{let J=W.globals&&W.globals.isSupportedScript;return!J||J(D.evaluate(W))}],upcase:[Pt,[Pt],(W,[D])=>D.evaluate(W).toUpperCase()],downcase:[Pt,[Pt],(W,[D])=>D.evaluate(W).toLowerCase()],concat:[Pt,jc(kr),(W,D)=>D.map(J=>tn(J.evaluate(W))).join(\"\")],\"resolved-locale\":[Pt,[mr],(W,[D])=>D.evaluate(W).resolvedLocale()]});class Lu{constructor(D,J){var pe;this.expression=D,this._warningHistory={},this._evaluator=new Ir,this._defaultValue=J?(pe=J).type===\"color\"&&kf(pe.default)?new Jt(0,0,0,0):pe.type===\"color\"?Jt.parse(pe.default)||null:pe.type===\"padding\"?ca.parse(pe.default)||null:pe.type===\"variableAnchorOffsetCollection\"?$a.parse(pe.default)||null:pe.default===void 0?null:pe.default:null,this._enumValues=J&&J.type===\"enum\"?J.values:null}evaluateWithoutErrorHandling(D,J,pe,ke,je,We){return this._evaluator.globals=D,this._evaluator.feature=J,this._evaluator.featureState=pe,this._evaluator.canonical=ke,this._evaluator.availableImages=je||null,this._evaluator.formattedSection=We,this.expression.evaluate(this._evaluator)}evaluate(D,J,pe,ke,je,We){this._evaluator.globals=D,this._evaluator.feature=J||null,this._evaluator.featureState=pe||null,this._evaluator.canonical=ke,this._evaluator.availableImages=je||null,this._evaluator.formattedSection=We||null;try{let ht=this.expression.evaluate(this._evaluator);if(ht==null||typeof ht==\"number\"&&ht!=ht)return this._defaultValue;if(this._enumValues&&!(ht in this._enumValues))throw new hn(`Expected value to be one of ${Object.keys(this._enumValues).map(Et=>JSON.stringify(Et)).join(\", \")}, but found ${JSON.stringify(ht)} instead.`);return ht}catch(ht){return this._warningHistory[ht.message]||(this._warningHistory[ht.message]=!0,typeof console<\"u\"&&console.warn(ht.message)),this._defaultValue}}}function Mc(W){return Array.isArray(W)&&W.length>0&&typeof W[0]==\"string\"&&W[0]in nf}function ol(W,D){let J=new Ur(nf,Bf,[],D?function(ke){let je={color:qt,string:Pt,number:Qe,enum:Pt,boolean:It,formatted:qr,padding:Sr,resolvedImage:Rr,variableAnchorOffsetCollection:wt};return ke.type===\"array\"?Ne(je[ke.value]||kr,ke.length):je[ke.type]}(D):void 0),pe=J.parse(W,void 0,void 0,void 0,D&&D.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return pe?oc(new Lu(pe,D)):Xc(J.errors)}class vc{constructor(D,J){this.kind=D,this._styleExpression=J,this.isStateDependent=D!==\"constant\"&&!Gu(J.expression)}evaluateWithoutErrorHandling(D,J,pe,ke,je,We){return this._styleExpression.evaluateWithoutErrorHandling(D,J,pe,ke,je,We)}evaluate(D,J,pe,ke,je,We){return this._styleExpression.evaluate(D,J,pe,ke,je,We)}}class yu{constructor(D,J,pe,ke){this.kind=D,this.zoomStops=pe,this._styleExpression=J,this.isStateDependent=D!==\"camera\"&&!Gu(J.expression),this.interpolationType=ke}evaluateWithoutErrorHandling(D,J,pe,ke,je,We){return this._styleExpression.evaluateWithoutErrorHandling(D,J,pe,ke,je,We)}evaluate(D,J,pe,ke,je,We){return this._styleExpression.evaluate(D,J,pe,ke,je,We)}interpolationFactor(D,J,pe){return this.interpolationType?no.interpolationFactor(this.interpolationType,D,J,pe):0}}function Tu(W,D){let J=ol(W,D);if(J.result===\"error\")return J;let pe=J.value.expression,ke=Nf(pe);if(!ke&&!Ql(D))return Xc([new Oe(\"\",\"data expressions not supported\")]);let je=Ef(pe,[\"zoom\"]);if(!je&&!qc(D))return Xc([new Oe(\"\",\"zoom expressions not supported\")]);let We=qf(pe);return We||je?We instanceof Oe?Xc([We]):We instanceof no&&!Sc(D)?Xc([new Oe(\"\",'\"interpolate\" expressions cannot be used with this property')]):oc(We?new yu(ke?\"camera\":\"composite\",J.value,We.labels,We instanceof no?We.interpolation:void 0):new vc(ke?\"constant\":\"source\",J.value)):Xc([new Oe(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class El{constructor(D,J){this._parameters=D,this._specification=J,he(this,Uf(this._parameters,this._specification))}static deserialize(D){return new El(D._parameters,D._specification)}static serialize(D){return{_parameters:D._parameters,_specification:D._specification}}}function qf(W){let D=null;if(W instanceof Hr)D=qf(W.result);else if(W instanceof lo){for(let J of W.args)if(D=qf(J),D)break}else(W instanceof Ta||W instanceof no)&&W.input instanceof $l&&W.input.name===\"zoom\"&&(D=W);return D instanceof Oe||W.eachChild(J=>{let pe=qf(J);pe instanceof Oe?D=pe:!D&&pe?D=new Oe(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):D&&pe&&D!==pe&&(D=new Oe(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),D}function Qf(W){if(W===!0||W===!1)return!0;if(!Array.isArray(W)||W.length===0)return!1;switch(W[0]){case\"has\":return W.length>=2&&W[1]!==\"$id\"&&W[1]!==\"$type\";case\"in\":return W.length>=3&&(typeof W[1]!=\"string\"||Array.isArray(W[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return W.length!==3||Array.isArray(W[1])||Array.isArray(W[2]);case\"any\":case\"all\":for(let D of W.slice(1))if(!Qf(D)&&typeof D!=\"boolean\")return!1;return!0;default:return!0}}let Bu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Ec(W){if(W==null)return{filter:()=>!0,needGeometry:!1};Qf(W)||(W=sf(W));let D=ol(W,Bu);if(D.result===\"error\")throw new Error(D.value.map(J=>`${J.key}: ${J.message}`).join(\", \"));return{filter:(J,pe,ke)=>D.value.evaluate(J,pe,{},ke),needGeometry:Lh(W)}}function mc(W,D){return WD?1:0}function Lh(W){if(!Array.isArray(W))return!1;if(W[0]===\"within\"||W[0]===\"distance\")return!0;for(let D=1;D\"||D===\"<=\"||D===\">=\"?vf(W[1],W[2],D):D===\"any\"?(J=W.slice(1),[\"any\"].concat(J.map(sf))):D===\"all\"?[\"all\"].concat(W.slice(1).map(sf)):D===\"none\"?[\"all\"].concat(W.slice(1).map(sf).map(au)):D===\"in\"?Nu(W[1],W.slice(2)):D===\"!in\"?au(Nu(W[1],W.slice(2))):D===\"has\"?lf(W[1]):D!==\"!has\"||au(lf(W[1]));var J}function vf(W,D,J){switch(W){case\"$type\":return[`filter-type-${J}`,D];case\"$id\":return[`filter-id-${J}`,D];default:return[`filter-${J}`,W,D]}}function Nu(W,D){if(D.length===0)return!1;switch(W){case\"$type\":return[\"filter-type-in\",[\"literal\",D]];case\"$id\":return[\"filter-id-in\",[\"literal\",D]];default:return D.length>200&&!D.some(J=>typeof J!=typeof D[0])?[\"filter-in-large\",W,[\"literal\",D.sort(mc)]]:[\"filter-in-small\",W,[\"literal\",D]]}}function lf(W){switch(W){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",W]}}function au(W){return[\"!\",W]}function Yc(W){let D=typeof W;if(D===\"number\"||D===\"boolean\"||D===\"string\"||W==null)return JSON.stringify(W);if(Array.isArray(W)){let ke=\"[\";for(let je of W)ke+=`${Yc(je)},`;return`${ke}]`}let J=Object.keys(W).sort(),pe=\"{\";for(let ke=0;kepe.maximum?[new ye(D,J,`${J} is greater than the maximum value ${pe.maximum}`)]:[]}function uf(W){let D=W.valueSpec,J=sl(W.value.type),pe,ke,je,We={},ht=J!==\"categorical\"&&W.value.property===void 0,Et=!ht,Ut=Zs(W.value.stops)===\"array\"&&Zs(W.value.stops[0])===\"array\"&&Zs(W.value.stops[0][0])===\"object\",or=Pu({key:W.key,value:W.value,valueSpec:W.styleSpec.function,validateSpec:W.validateSpec,style:W.style,styleSpec:W.styleSpec,objectElementValidators:{stops:function(Wr){if(J===\"identity\")return[new ye(Wr.key,Wr.value,'identity function may not have a \"stops\" property')];let ia=[],ha=Wr.value;return ia=ia.concat(Cf({key:Wr.key,value:ha,valueSpec:Wr.valueSpec,validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec,arrayElementValidator:Mr})),Zs(ha)===\"array\"&&ha.length===0&&ia.push(new ye(Wr.key,ha,\"array must have at least one stop\")),ia},default:function(Wr){return Wr.validateSpec({key:Wr.key,value:Wr.value,valueSpec:D,validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec})}}});return J===\"identity\"&&ht&&or.push(new ye(W.key,W.value,'missing required property \"property\"')),J===\"identity\"||W.value.stops||or.push(new ye(W.key,W.value,'missing required property \"stops\"')),J===\"exponential\"&&W.valueSpec.expression&&!Sc(W.valueSpec)&&or.push(new ye(W.key,W.value,\"exponential functions not supported\")),W.styleSpec.$version>=8&&(Et&&!Ql(W.valueSpec)?or.push(new ye(W.key,W.value,\"property functions not supported\")):ht&&!qc(W.valueSpec)&&or.push(new ye(W.key,W.value,\"zoom functions not supported\"))),J!==\"categorical\"&&!Ut||W.value.property!==void 0||or.push(new ye(W.key,W.value,'\"property\" property is required')),or;function Mr(Wr){let ia=[],ha=Wr.value,ja=Wr.key;if(Zs(ha)!==\"array\")return[new ye(ja,ha,`array expected, ${Zs(ha)} found`)];if(ha.length!==2)return[new ye(ja,ha,`array length 2 expected, length ${ha.length} found`)];if(Ut){if(Zs(ha[0])!==\"object\")return[new ye(ja,ha,`object expected, ${Zs(ha[0])} found`)];if(ha[0].zoom===void 0)return[new ye(ja,ha,\"object stop key must have zoom\")];if(ha[0].value===void 0)return[new ye(ja,ha,\"object stop key must have value\")];if(je&&je>sl(ha[0].zoom))return[new ye(ja,ha[0].zoom,\"stop zoom values must appear in ascending order\")];sl(ha[0].zoom)!==je&&(je=sl(ha[0].zoom),ke=void 0,We={}),ia=ia.concat(Pu({key:`${ja}[0]`,value:ha[0],valueSpec:{zoom:{}},validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec,objectElementValidators:{zoom:hl,value:zr}}))}else ia=ia.concat(zr({key:`${ja}[0]`,value:ha[0],valueSpec:{},validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec},ha));return Mc(_u(ha[1]))?ia.concat([new ye(`${ja}[1]`,ha[1],\"expressions are not allowed in function stops.\")]):ia.concat(Wr.validateSpec({key:`${ja}[1]`,value:ha[1],valueSpec:D,validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec}))}function zr(Wr,ia){let ha=Zs(Wr.value),ja=sl(Wr.value),Ka=Wr.value!==null?Wr.value:ia;if(pe){if(ha!==pe)return[new ye(Wr.key,Ka,`${ha} stop domain type must match previous stop domain type ${pe}`)]}else pe=ha;if(ha!==\"number\"&&ha!==\"string\"&&ha!==\"boolean\")return[new ye(Wr.key,Ka,\"stop domain value must be a number, string, or boolean\")];if(ha!==\"number\"&&J!==\"categorical\"){let Wi=`number expected, ${ha} found`;return Ql(D)&&J===void 0&&(Wi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ye(Wr.key,Ka,Wi)]}return J!==\"categorical\"||ha!==\"number\"||isFinite(ja)&&Math.floor(ja)===ja?J!==\"categorical\"&&ha===\"number\"&&ke!==void 0&&janew ye(`${W.key}${pe.key}`,W.value,pe.message));let J=D.value.expression||D.value._styleExpression.expression;if(W.expressionContext===\"property\"&&W.propertyKey===\"text-font\"&&!J.outputDefined())return[new ye(W.key,W.value,`Invalid data expression for \"${W.propertyKey}\". Output values must be contained as literals within the expression.`)];if(W.expressionContext===\"property\"&&W.propertyType===\"layout\"&&!Gu(J))return[new ye(W.key,W.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(W.expressionContext===\"filter\"&&!Gu(J))return[new ye(W.key,W.value,'\"feature-state\" data expressions are not supported with filters.')];if(W.expressionContext&&W.expressionContext.indexOf(\"cluster\")===0){if(!Ef(J,[\"zoom\",\"feature-state\"]))return[new ye(W.key,W.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(W.expressionContext===\"cluster-initial\"&&!Nf(J))return[new ye(W.key,W.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Hu(W){let D=W.key,J=W.value,pe=W.valueSpec,ke=[];return Array.isArray(pe.values)?pe.values.indexOf(sl(J))===-1&&ke.push(new ye(D,J,`expected one of [${pe.values.join(\", \")}], ${JSON.stringify(J)} found`)):Object.keys(pe.values).indexOf(sl(J))===-1&&ke.push(new ye(D,J,`expected one of [${Object.keys(pe.values).join(\", \")}], ${JSON.stringify(J)} found`)),ke}function gf(W){return Qf(_u(W.value))?kc(he({},W,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Wu(W)}function Wu(W){let D=W.value,J=W.key;if(Zs(D)!==\"array\")return[new ye(J,D,`array expected, ${Zs(D)} found`)];let pe=W.styleSpec,ke,je=[];if(D.length<1)return[new ye(J,D,\"filter array must have at least 1 element\")];switch(je=je.concat(Hu({key:`${J}[0]`,value:D[0],valueSpec:pe.filter_operator,style:W.style,styleSpec:W.styleSpec})),sl(D[0])){case\"<\":case\"<=\":case\">\":case\">=\":D.length>=2&&sl(D[1])===\"$type\"&&je.push(new ye(J,D,`\"$type\" cannot be use with operator \"${D[0]}\"`));case\"==\":case\"!=\":D.length!==3&&je.push(new ye(J,D,`filter array for operator \"${D[0]}\" must have 3 elements`));case\"in\":case\"!in\":D.length>=2&&(ke=Zs(D[1]),ke!==\"string\"&&je.push(new ye(`${J}[1]`,D[1],`string expected, ${ke} found`)));for(let We=2;We{Ut in J&&D.push(new ye(pe,J[Ut],`\"${Ut}\" is prohibited for ref layers`))}),ke.layers.forEach(Ut=>{sl(Ut.id)===ht&&(Et=Ut)}),Et?Et.ref?D.push(new ye(pe,J.ref,\"ref cannot reference another ref layer\")):We=sl(Et.type):D.push(new ye(pe,J.ref,`ref layer \"${ht}\" not found`))}else if(We!==\"background\")if(J.source){let Et=ke.sources&&ke.sources[J.source],Ut=Et&&sl(Et.type);Et?Ut===\"vector\"&&We===\"raster\"?D.push(new ye(pe,J.source,`layer \"${J.id}\" requires a raster source`)):Ut!==\"raster-dem\"&&We===\"hillshade\"?D.push(new ye(pe,J.source,`layer \"${J.id}\" requires a raster-dem source`)):Ut===\"raster\"&&We!==\"raster\"?D.push(new ye(pe,J.source,`layer \"${J.id}\" requires a vector source`)):Ut!==\"vector\"||J[\"source-layer\"]?Ut===\"raster-dem\"&&We!==\"hillshade\"?D.push(new ye(pe,J.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):We!==\"line\"||!J.paint||!J.paint[\"line-gradient\"]||Ut===\"geojson\"&&Et.lineMetrics||D.push(new ye(pe,J,`layer \"${J.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):D.push(new ye(pe,J,`layer \"${J.id}\" must specify a \"source-layer\"`)):D.push(new ye(pe,J.source,`source \"${J.source}\" not found`))}else D.push(new ye(pe,J,'missing required property \"source\"'));return D=D.concat(Pu({key:pe,value:J,valueSpec:je.layer,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>W.validateSpec({key:`${pe}.type`,value:J.type,valueSpec:je.layer.type,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,object:J,objectKey:\"type\"}),filter:gf,layout:Et=>Pu({layer:J,key:Et.key,value:Et.value,style:Et.style,styleSpec:Et.styleSpec,validateSpec:Et.validateSpec,objectElementValidators:{\"*\":Ut=>iu(he({layerType:We},Ut))}}),paint:Et=>Pu({layer:J,key:Et.key,value:Et.value,style:Et.style,styleSpec:Et.styleSpec,validateSpec:Et.validateSpec,objectElementValidators:{\"*\":Ut=>Lf(he({layerType:We},Ut))}})}})),D}function Xu(W){let D=W.value,J=W.key,pe=Zs(D);return pe!==\"string\"?[new ye(J,D,`string expected, ${pe} found`)]:[]}let Cc={promoteId:function({key:W,value:D}){if(Zs(D)===\"string\")return Xu({key:W,value:D});{let J=[];for(let pe in D)J.push(...Xu({key:`${W}.${pe}`,value:D[pe]}));return J}}};function gc(W){let D=W.value,J=W.key,pe=W.styleSpec,ke=W.style,je=W.validateSpec;if(!D.type)return[new ye(J,D,'\"type\" is required')];let We=sl(D.type),ht;switch(We){case\"vector\":case\"raster\":return ht=Pu({key:J,value:D,valueSpec:pe[`source_${We.replace(\"-\",\"_\")}`],style:W.style,styleSpec:pe,objectElementValidators:Cc,validateSpec:je}),ht;case\"raster-dem\":return ht=function(Et){var Ut;let or=(Ut=Et.sourceName)!==null&&Ut!==void 0?Ut:\"\",Mr=Et.value,zr=Et.styleSpec,Wr=zr.source_raster_dem,ia=Et.style,ha=[],ja=Zs(Mr);if(Mr===void 0)return ha;if(ja!==\"object\")return ha.push(new ye(\"source_raster_dem\",Mr,`object expected, ${ja} found`)),ha;let Ka=sl(Mr.encoding)===\"custom\",Wi=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],gi=Et.value.encoding?`\"${Et.value.encoding}\"`:\"Default\";for(let qi in Mr)!Ka&&Wi.includes(qi)?ha.push(new ye(qi,Mr[qi],`In \"${or}\": \"${qi}\" is only valid when \"encoding\" is set to \"custom\". ${gi} encoding found`)):Wr[qi]?ha=ha.concat(Et.validateSpec({key:qi,value:Mr[qi],valueSpec:Wr[qi],validateSpec:Et.validateSpec,style:ia,styleSpec:zr})):ha.push(new ye(qi,Mr[qi],`unknown property \"${qi}\"`));return ha}({sourceName:J,value:D,style:W.style,styleSpec:pe,validateSpec:je}),ht;case\"geojson\":if(ht=Pu({key:J,value:D,valueSpec:pe.source_geojson,style:ke,styleSpec:pe,validateSpec:je,objectElementValidators:Cc}),D.cluster)for(let Et in D.clusterProperties){let[Ut,or]=D.clusterProperties[Et],Mr=typeof Ut==\"string\"?[Ut,[\"accumulated\"],[\"get\",Et]]:Ut;ht.push(...kc({key:`${J}.${Et}.map`,value:or,validateSpec:je,expressionContext:\"cluster-map\"})),ht.push(...kc({key:`${J}.${Et}.reduce`,value:Mr,validateSpec:je,expressionContext:\"cluster-reduce\"}))}return ht;case\"video\":return Pu({key:J,value:D,valueSpec:pe.source_video,style:ke,validateSpec:je,styleSpec:pe});case\"image\":return Pu({key:J,value:D,valueSpec:pe.source_image,style:ke,validateSpec:je,styleSpec:pe});case\"canvas\":return[new ye(J,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Hu({key:`${J}.type`,value:D.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:ke,validateSpec:je,styleSpec:pe})}}function ql(W){let D=W.value,J=W.styleSpec,pe=J.light,ke=W.style,je=[],We=Zs(D);if(D===void 0)return je;if(We!==\"object\")return je=je.concat([new ye(\"light\",D,`object expected, ${We} found`)]),je;for(let ht in D){let Et=ht.match(/^(.*)-transition$/);je=je.concat(Et&&pe[Et[1]]&&pe[Et[1]].transition?W.validateSpec({key:ht,value:D[ht],valueSpec:J.transition,validateSpec:W.validateSpec,style:ke,styleSpec:J}):pe[ht]?W.validateSpec({key:ht,value:D[ht],valueSpec:pe[ht],validateSpec:W.validateSpec,style:ke,styleSpec:J}):[new ye(ht,D[ht],`unknown property \"${ht}\"`)])}return je}function xu(W){let D=W.value,J=W.styleSpec,pe=J.sky,ke=W.style,je=Zs(D);if(D===void 0)return[];if(je!==\"object\")return[new ye(\"sky\",D,`object expected, ${je} found`)];let We=[];for(let ht in D)We=We.concat(pe[ht]?W.validateSpec({key:ht,value:D[ht],valueSpec:pe[ht],style:ke,styleSpec:J}):[new ye(ht,D[ht],`unknown property \"${ht}\"`)]);return We}function Lc(W){let D=W.value,J=W.styleSpec,pe=J.terrain,ke=W.style,je=[],We=Zs(D);if(D===void 0)return je;if(We!==\"object\")return je=je.concat([new ye(\"terrain\",D,`object expected, ${We} found`)]),je;for(let ht in D)je=je.concat(pe[ht]?W.validateSpec({key:ht,value:D[ht],valueSpec:pe[ht],validateSpec:W.validateSpec,style:ke,styleSpec:J}):[new ye(ht,D[ht],`unknown property \"${ht}\"`)]);return je}function Jc(W){let D=[],J=W.value,pe=W.key;if(Array.isArray(J)){let ke=[],je=[];for(let We in J)J[We].id&&ke.includes(J[We].id)&&D.push(new ye(pe,J,`all the sprites' ids must be unique, but ${J[We].id} is duplicated`)),ke.push(J[We].id),J[We].url&&je.includes(J[We].url)&&D.push(new ye(pe,J,`all the sprites' URLs must be unique, but ${J[We].url} is duplicated`)),je.push(J[We].url),D=D.concat(Pu({key:`${pe}[${We}]`,value:J[We],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:W.validateSpec}));return D}return Xu({key:pe,value:J})}let sc={\"*\":()=>[],array:Cf,boolean:function(W){let D=W.value,J=W.key,pe=Zs(D);return pe!==\"boolean\"?[new ye(J,D,`boolean expected, ${pe} found`)]:[]},number:hl,color:function(W){let D=W.key,J=W.value,pe=Zs(J);return pe!==\"string\"?[new ye(D,J,`color expected, ${pe} found`)]:Jt.parse(String(J))?[]:[new ye(D,J,`color expected, \"${J}\" found`)]},constants:mf,enum:Hu,filter:gf,function:uf,layer:Vf,object:Pu,source:gc,light:ql,sky:xu,terrain:Lc,projection:function(W){let D=W.value,J=W.styleSpec,pe=J.projection,ke=W.style,je=Zs(D);if(D===void 0)return[];if(je!==\"object\")return[new ye(\"projection\",D,`object expected, ${je} found`)];let We=[];for(let ht in D)We=We.concat(pe[ht]?W.validateSpec({key:ht,value:D[ht],valueSpec:pe[ht],style:ke,styleSpec:J}):[new ye(ht,D[ht],`unknown property \"${ht}\"`)]);return We},string:Xu,formatted:function(W){return Xu(W).length===0?[]:kc(W)},resolvedImage:function(W){return Xu(W).length===0?[]:kc(W)},padding:function(W){let D=W.key,J=W.value;if(Zs(J)===\"array\"){if(J.length<1||J.length>4)return[new ye(D,J,`padding requires 1 to 4 values; ${J.length} values found`)];let pe={type:\"number\"},ke=[];for(let je=0;je[]}})),W.constants&&(J=J.concat(mf({key:\"constants\",value:W.constants,style:W,styleSpec:D,validateSpec:Pc}))),$r(J)}function aa(W){return function(D){return W(ds(To({},D),{validateSpec:Pc}))}}function $r(W){return[].concat(W).sort((D,J)=>D.line-J.line)}function ka(W){return function(...D){return $r(W.apply(this,D))}}br.source=ka(aa(gc)),br.sprite=ka(aa(Jc)),br.glyphs=ka(aa(Qt)),br.light=ka(aa(ql)),br.sky=ka(aa(xu)),br.terrain=ka(aa(Lc)),br.layer=ka(aa(Vf)),br.filter=ka(aa(gf)),br.paintProperty=ka(aa(Lf)),br.layoutProperty=ka(aa(iu));let li=br,Ci=li.light,Hi=li.sky,Qi=li.paintProperty,dn=li.layoutProperty;function Pi(W,D){let J=!1;if(D&&D.length)for(let pe of D)W.fire(new j(new Error(pe.message))),J=!0;return J}class Di{constructor(D,J,pe){let ke=this.cells=[];if(D instanceof ArrayBuffer){this.arrayBuffer=D;let We=new Int32Array(this.arrayBuffer);D=We[0],this.d=(J=We[1])+2*(pe=We[2]);for(let Et=0;Et=Mr[ia+0]&&ke>=Mr[ia+1])?(ht[Wr]=!0,We.push(or[Wr])):ht[Wr]=!1}}}}_forEachCell(D,J,pe,ke,je,We,ht,Et){let Ut=this._convertToCellCoord(D),or=this._convertToCellCoord(J),Mr=this._convertToCellCoord(pe),zr=this._convertToCellCoord(ke);for(let Wr=Ut;Wr<=Mr;Wr++)for(let ia=or;ia<=zr;ia++){let ha=this.d*ia+Wr;if((!Et||Et(this._convertFromCellCoord(Wr),this._convertFromCellCoord(ia),this._convertFromCellCoord(Wr+1),this._convertFromCellCoord(ia+1)))&&je.call(this,D,J,pe,ke,ha,We,ht,Et))return}}_convertFromCellCoord(D){return(D-this.padding)/this.scale}_convertToCellCoord(D){return Math.max(0,Math.min(this.d-1,Math.floor(D*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let D=this.cells,J=3+this.cells.length+1+1,pe=0;for(let We=0;We=0)continue;let We=W[je];ke[je]=Ni[J].shallow.indexOf(je)>=0?We:eo(We,D)}W instanceof Error&&(ke.message=W.message)}if(ke.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return J!==\"Object\"&&(ke.$name=J),ke}function fo(W){if(ao(W))return W;if(Array.isArray(W))return W.map(fo);if(typeof W!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof W);let D=Qn(W)||\"Object\";if(!Ni[D])throw new Error(`can't deserialize unregistered class ${D}`);let{klass:J}=Ni[D];if(!J)throw new Error(`can't deserialize unregistered class ${D}`);if(J.deserialize)return J.deserialize(W);let pe=Object.create(J.prototype);for(let ke of Object.keys(W)){if(ke===\"$name\")continue;let je=W[ke];pe[ke]=Ni[D].shallow.indexOf(ke)>=0?je:fo(je)}return pe}class An{constructor(){this.first=!0}update(D,J){let pe=Math.floor(D);return this.first?(this.first=!1,this.lastIntegerZoom=pe,this.lastIntegerZoomTime=0,this.lastZoom=D,this.lastFloorZoom=pe,!0):(this.lastFloorZoom>pe?(this.lastIntegerZoom=pe+1,this.lastIntegerZoomTime=J):this.lastFloorZoomW>=128&&W<=255,\"Hangul Jamo\":W=>W>=4352&&W<=4607,Khmer:W=>W>=6016&&W<=6143,\"General Punctuation\":W=>W>=8192&&W<=8303,\"Letterlike Symbols\":W=>W>=8448&&W<=8527,\"Number Forms\":W=>W>=8528&&W<=8591,\"Miscellaneous Technical\":W=>W>=8960&&W<=9215,\"Control Pictures\":W=>W>=9216&&W<=9279,\"Optical Character Recognition\":W=>W>=9280&&W<=9311,\"Enclosed Alphanumerics\":W=>W>=9312&&W<=9471,\"Geometric Shapes\":W=>W>=9632&&W<=9727,\"Miscellaneous Symbols\":W=>W>=9728&&W<=9983,\"Miscellaneous Symbols and Arrows\":W=>W>=11008&&W<=11263,\"Ideographic Description Characters\":W=>W>=12272&&W<=12287,\"CJK Symbols and Punctuation\":W=>W>=12288&&W<=12351,Katakana:W=>W>=12448&&W<=12543,Kanbun:W=>W>=12688&&W<=12703,\"CJK Strokes\":W=>W>=12736&&W<=12783,\"Enclosed CJK Letters and Months\":W=>W>=12800&&W<=13055,\"CJK Compatibility\":W=>W>=13056&&W<=13311,\"Yijing Hexagram Symbols\":W=>W>=19904&&W<=19967,\"Private Use Area\":W=>W>=57344&&W<=63743,\"Vertical Forms\":W=>W>=65040&&W<=65055,\"CJK Compatibility Forms\":W=>W>=65072&&W<=65103,\"Small Form Variants\":W=>W>=65104&&W<=65135,\"Halfwidth and Fullwidth Forms\":W=>W>=65280&&W<=65519};function yo(W){for(let D of W)if(bs(D.charCodeAt(0)))return!0;return!1}function Ko(W){for(let D of W)if(!Os(D.charCodeAt(0)))return!1;return!0}function Ss(W){let D=W.map(J=>{try{return new RegExp(`\\\\p{sc=${J}}`,\"u\").source}catch{return null}}).filter(J=>J);return new RegExp(D.join(\"|\"),\"u\")}let rl=Ss([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Os(W){return!rl.test(String.fromCodePoint(W))}let el=Ss([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function bs(W){return!(W!==746&&W!==747&&(W<4352||!(un[\"CJK Compatibility Forms\"](W)&&!(W>=65097&&W<=65103)||un[\"CJK Compatibility\"](W)||un[\"CJK Strokes\"](W)||!(!un[\"CJK Symbols and Punctuation\"](W)||W>=12296&&W<=12305||W>=12308&&W<=12319||W===12336)||un[\"Enclosed CJK Letters and Months\"](W)||un[\"Ideographic Description Characters\"](W)||un.Kanbun(W)||un.Katakana(W)&&W!==12540||!(!un[\"Halfwidth and Fullwidth Forms\"](W)||W===65288||W===65289||W===65293||W>=65306&&W<=65310||W===65339||W===65341||W===65343||W>=65371&&W<=65503||W===65507||W>=65512&&W<=65519)||!(!un[\"Small Form Variants\"](W)||W>=65112&&W<=65118||W>=65123&&W<=65126)||un[\"Vertical Forms\"](W)||un[\"Yijing Hexagram Symbols\"](W)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(W))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(W))||el.test(String.fromCodePoint(W)))))}function Fl(W){return!(bs(W)||function(D){return!!(un[\"Latin-1 Supplement\"](D)&&(D===167||D===169||D===174||D===177||D===188||D===189||D===190||D===215||D===247)||un[\"General Punctuation\"](D)&&(D===8214||D===8224||D===8225||D===8240||D===8241||D===8251||D===8252||D===8258||D===8263||D===8264||D===8265||D===8273)||un[\"Letterlike Symbols\"](D)||un[\"Number Forms\"](D)||un[\"Miscellaneous Technical\"](D)&&(D>=8960&&D<=8967||D>=8972&&D<=8991||D>=8996&&D<=9e3||D===9003||D>=9085&&D<=9114||D>=9150&&D<=9165||D===9167||D>=9169&&D<=9179||D>=9186&&D<=9215)||un[\"Control Pictures\"](D)&&D!==9251||un[\"Optical Character Recognition\"](D)||un[\"Enclosed Alphanumerics\"](D)||un[\"Geometric Shapes\"](D)||un[\"Miscellaneous Symbols\"](D)&&!(D>=9754&&D<=9759)||un[\"Miscellaneous Symbols and Arrows\"](D)&&(D>=11026&&D<=11055||D>=11088&&D<=11097||D>=11192&&D<=11243)||un[\"CJK Symbols and Punctuation\"](D)||un.Katakana(D)||un[\"Private Use Area\"](D)||un[\"CJK Compatibility Forms\"](D)||un[\"Small Form Variants\"](D)||un[\"Halfwidth and Fullwidth Forms\"](D)||D===8734||D===8756||D===8757||D>=9984&&D<=10087||D>=10102&&D<=10131||D===65532||D===65533)}(W))}let _l=Ss([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function ll(W){return _l.test(String.fromCodePoint(W))}function Un(W,D){return!(!D&&ll(W)||W>=2304&&W<=3583||W>=3840&&W<=4255||un.Khmer(W))}function Lo(W){for(let D of W)if(ll(D.charCodeAt(0)))return!0;return!1}let Js=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(W){this.pluginStatus=W.pluginStatus,this.pluginURL=W.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(W){this.applyArabicShaping=W.applyArabicShaping,this.processBidirectionalText=W.processBidirectionalText,this.processStyledBidirectionalText=W.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Rs{constructor(D,J){this.zoom=D,J?(this.now=J.now,this.fadeDuration=J.fadeDuration,this.zoomHistory=J.zoomHistory,this.transition=J.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new An,this.transition={})}isSupportedScript(D){return function(J,pe){for(let ke of J)if(!Un(ke.charCodeAt(0),pe))return!1;return!0}(D,Js.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let D=this.zoom,J=D-Math.floor(D),pe=this.crossFadingFactor();return D>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:J+(1-J)*pe}:{fromScale:.5,toScale:1,t:1-(1-pe)*J}}}class uu{constructor(D,J){this.property=D,this.value=J,this.expression=function(pe,ke){if(kf(pe))return new El(pe,ke);if(Mc(pe)){let je=Tu(pe,ke);if(je.result===\"error\")throw new Error(je.value.map(We=>`${We.key}: ${We.message}`).join(\", \"));return je.value}{let je=pe;return ke.type===\"color\"&&typeof pe==\"string\"?je=Jt.parse(pe):ke.type!==\"padding\"||typeof pe!=\"number\"&&!Array.isArray(pe)?ke.type===\"variableAnchorOffsetCollection\"&&Array.isArray(pe)&&(je=$a.parse(pe)):je=ca.parse(pe),{kind:\"constant\",evaluate:()=>je}}}(J===void 0?D.specification.default:J,D.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(D,J,pe){return this.property.possiblyEvaluate(this,D,J,pe)}}class Iu{constructor(D){this.property=D,this.value=new uu(D,void 0)}transitioned(D,J){return new Ic(this.property,this.value,J,M({},D.transition,this.transition),D.now)}untransitioned(){return new Ic(this.property,this.value,null,{},0)}}class Zu{constructor(D){this._properties=D,this._values=Object.create(D.defaultTransitionablePropertyValues)}getValue(D){return u(this._values[D].value.value)}setValue(D,J){Object.prototype.hasOwnProperty.call(this._values,D)||(this._values[D]=new Iu(this._values[D].property)),this._values[D].value=new uu(this._values[D].property,J===null?void 0:u(J))}getTransition(D){return u(this._values[D].transition)}setTransition(D,J){Object.prototype.hasOwnProperty.call(this._values,D)||(this._values[D]=new Iu(this._values[D].property)),this._values[D].transition=u(J)||void 0}serialize(){let D={};for(let J of Object.keys(this._values)){let pe=this.getValue(J);pe!==void 0&&(D[J]=pe);let ke=this.getTransition(J);ke!==void 0&&(D[`${J}-transition`]=ke)}return D}transitioned(D,J){let pe=new bu(this._properties);for(let ke of Object.keys(this._values))pe._values[ke]=this._values[ke].transitioned(D,J._values[ke]);return pe}untransitioned(){let D=new bu(this._properties);for(let J of Object.keys(this._values))D._values[J]=this._values[J].untransitioned();return D}}class Ic{constructor(D,J,pe,ke,je){this.property=D,this.value=J,this.begin=je+ke.delay||0,this.end=this.begin+ke.duration||0,D.specification.transition&&(ke.delay||ke.duration)&&(this.prior=pe)}possiblyEvaluate(D,J,pe){let ke=D.now||0,je=this.value.possiblyEvaluate(D,J,pe),We=this.prior;if(We){if(ke>this.end)return this.prior=null,je;if(this.value.isDataDriven())return this.prior=null,je;if(ke=1)return 1;let Ut=Et*Et,or=Ut*Et;return 4*(Et<.5?or:3*(Et-Ut)+or-.75)}(ht))}}return je}}class bu{constructor(D){this._properties=D,this._values=Object.create(D.defaultTransitioningPropertyValues)}possiblyEvaluate(D,J,pe){let ke=new yc(this._properties);for(let je of Object.keys(this._values))ke._values[je]=this._values[je].possiblyEvaluate(D,J,pe);return ke}hasTransition(){for(let D of Object.keys(this._values))if(this._values[D].prior)return!0;return!1}}class Rc{constructor(D){this._properties=D,this._values=Object.create(D.defaultPropertyValues)}hasValue(D){return this._values[D].value!==void 0}getValue(D){return u(this._values[D].value)}setValue(D,J){this._values[D]=new uu(this._values[D].property,J===null?void 0:u(J))}serialize(){let D={};for(let J of Object.keys(this._values)){let pe=this.getValue(J);pe!==void 0&&(D[J]=pe)}return D}possiblyEvaluate(D,J,pe){let ke=new yc(this._properties);for(let je of Object.keys(this._values))ke._values[je]=this._values[je].possiblyEvaluate(D,J,pe);return ke}}class Au{constructor(D,J,pe){this.property=D,this.value=J,this.parameters=pe}isConstant(){return this.value.kind===\"constant\"}constantOr(D){return this.value.kind===\"constant\"?this.value.value:D}evaluate(D,J,pe,ke){return this.property.evaluate(this.value,this.parameters,D,J,pe,ke)}}class yc{constructor(D){this._properties=D,this._values=Object.create(D.defaultPossiblyEvaluatedValues)}get(D){return this._values[D]}}class ho{constructor(D){this.specification=D}possiblyEvaluate(D,J){if(D.isDataDriven())throw new Error(\"Value should not be data driven\");return D.expression.evaluate(J)}interpolate(D,J,pe){let ke=On[this.specification.type];return ke?ke(D,J,pe):D}}class Ro{constructor(D,J){this.specification=D,this.overrides=J}possiblyEvaluate(D,J,pe,ke){return new Au(this,D.expression.kind===\"constant\"||D.expression.kind===\"camera\"?{kind:\"constant\",value:D.expression.evaluate(J,null,{},pe,ke)}:D.expression,J)}interpolate(D,J,pe){if(D.value.kind!==\"constant\"||J.value.kind!==\"constant\")return D;if(D.value.value===void 0||J.value.value===void 0)return new Au(this,{kind:\"constant\",value:void 0},D.parameters);let ke=On[this.specification.type];if(ke){let je=ke(D.value.value,J.value.value,pe);return new Au(this,{kind:\"constant\",value:je},D.parameters)}return D}evaluate(D,J,pe,ke,je,We){return D.kind===\"constant\"?D.value:D.evaluate(J,pe,ke,je,We)}}class Dc extends Ro{possiblyEvaluate(D,J,pe,ke){if(D.value===void 0)return new Au(this,{kind:\"constant\",value:void 0},J);if(D.expression.kind===\"constant\"){let je=D.expression.evaluate(J,null,{},pe,ke),We=D.property.specification.type===\"resolvedImage\"&&typeof je!=\"string\"?je.name:je,ht=this._calculate(We,We,We,J);return new Au(this,{kind:\"constant\",value:ht},J)}if(D.expression.kind===\"camera\"){let je=this._calculate(D.expression.evaluate({zoom:J.zoom-1}),D.expression.evaluate({zoom:J.zoom}),D.expression.evaluate({zoom:J.zoom+1}),J);return new Au(this,{kind:\"constant\",value:je},J)}return new Au(this,D.expression,J)}evaluate(D,J,pe,ke,je,We){if(D.kind===\"source\"){let ht=D.evaluate(J,pe,ke,je,We);return this._calculate(ht,ht,ht,J)}return D.kind===\"composite\"?this._calculate(D.evaluate({zoom:Math.floor(J.zoom)-1},pe,ke),D.evaluate({zoom:Math.floor(J.zoom)},pe,ke),D.evaluate({zoom:Math.floor(J.zoom)+1},pe,ke),J):D.value}_calculate(D,J,pe,ke){return ke.zoom>ke.zoomHistory.lastIntegerZoom?{from:D,to:J}:{from:pe,to:J}}interpolate(D){return D}}class lc{constructor(D){this.specification=D}possiblyEvaluate(D,J,pe,ke){if(D.value!==void 0){if(D.expression.kind===\"constant\"){let je=D.expression.evaluate(J,null,{},pe,ke);return this._calculate(je,je,je,J)}return this._calculate(D.expression.evaluate(new Rs(Math.floor(J.zoom-1),J)),D.expression.evaluate(new Rs(Math.floor(J.zoom),J)),D.expression.evaluate(new Rs(Math.floor(J.zoom+1),J)),J)}}_calculate(D,J,pe,ke){return ke.zoom>ke.zoomHistory.lastIntegerZoom?{from:D,to:J}:{from:pe,to:J}}interpolate(D){return D}}class Yu{constructor(D){this.specification=D}possiblyEvaluate(D,J,pe,ke){return!!D.expression.evaluate(J,null,{},pe,ke)}interpolate(){return!1}}class Ue{constructor(D){this.properties=D,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let J in D){let pe=D[J];pe.specification.overridable&&this.overridableProperties.push(J);let ke=this.defaultPropertyValues[J]=new uu(pe,void 0),je=this.defaultTransitionablePropertyValues[J]=new Iu(pe);this.defaultTransitioningPropertyValues[J]=je.untransitioned(),this.defaultPossiblyEvaluatedValues[J]=ke.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",Ro),mi(\"DataConstantProperty\",ho),mi(\"CrossFadedDataDrivenProperty\",Dc),mi(\"CrossFadedProperty\",lc),mi(\"ColorRampProperty\",Yu);let I=\"-transition\";class ie extends Q{constructor(D,J){if(super(),this.id=D.id,this.type=D.type,this._featureFilter={filter:()=>!0,needGeometry:!1},D.type!==\"custom\"&&(this.metadata=D.metadata,this.minzoom=D.minzoom,this.maxzoom=D.maxzoom,D.type!==\"background\"&&(this.source=D.source,this.sourceLayer=D[\"source-layer\"],this.filter=D.filter),J.layout&&(this._unevaluatedLayout=new Rc(J.layout)),J.paint)){this._transitionablePaint=new Zu(J.paint);for(let pe in D.paint)this.setPaintProperty(pe,D.paint[pe],{validate:!1});for(let pe in D.layout)this.setLayoutProperty(pe,D.layout[pe],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new yc(J.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(D){return D===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(D)}setLayoutProperty(D,J,pe={}){J!=null&&this._validate(dn,`layers.${this.id}.layout.${D}`,D,J,pe)||(D!==\"visibility\"?this._unevaluatedLayout.setValue(D,J):this.visibility=J)}getPaintProperty(D){return D.endsWith(I)?this._transitionablePaint.getTransition(D.slice(0,-11)):this._transitionablePaint.getValue(D)}setPaintProperty(D,J,pe={}){if(J!=null&&this._validate(Qi,`layers.${this.id}.paint.${D}`,D,J,pe))return!1;if(D.endsWith(I))return this._transitionablePaint.setTransition(D.slice(0,-11),J||void 0),!1;{let ke=this._transitionablePaint._values[D],je=ke.property.specification[\"property-type\"]===\"cross-faded-data-driven\",We=ke.value.isDataDriven(),ht=ke.value;this._transitionablePaint.setValue(D,J),this._handleSpecialPaintPropertyUpdate(D);let Et=this._transitionablePaint._values[D].value;return Et.isDataDriven()||We||je||this._handleOverridablePaintPropertyUpdate(D,ht,Et)}}_handleSpecialPaintPropertyUpdate(D){}_handleOverridablePaintPropertyUpdate(D,J,pe){return!1}isHidden(D){return!!(this.minzoom&&D=this.maxzoom)||this.visibility===\"none\"}updateTransitions(D){this._transitioningPaint=this._transitionablePaint.transitioned(D,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(D,J){D.getCrossfadeParameters&&(this._crossfadeParameters=D.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(D,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(D,void 0,J)}serialize(){let D={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&&(D.layout=D.layout||{},D.layout.visibility=this.visibility),d(D,(J,pe)=>!(J===void 0||pe===\"layout\"&&!Object.keys(J).length||pe===\"paint\"&&!Object.keys(J).length))}_validate(D,J,pe,ke,je={}){return(!je||je.validate!==!1)&&Pi(this,D.call(li,{key:J,layerType:this.type,objectKey:pe,value:ke,styleSpec:re,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let D in this.paint._values){let J=this.paint.get(D);if(J instanceof Au&&Ql(J.property.specification)&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1}}let we={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Se{constructor(D,J){this._structArray=D,this._pos1=J*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Be{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(D,J){return D._trim(),J&&(D.isTransferred=!0,J.push(D.arrayBuffer)),{length:D.length,arrayBuffer:D.arrayBuffer}}static deserialize(D){let J=Object.create(this.prototype);return J.arrayBuffer=D.arrayBuffer,J.length=D.length,J.capacity=D.arrayBuffer.byteLength/J.bytesPerElement,J._refreshViews(),J}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(D){this.reserve(D),this.length=D}reserve(D){if(D>this.capacity){this.capacity=Math.max(D,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let J=this.uint8;this._refreshViews(),J&&this.uint8.set(J)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function dt(W,D=1){let J=0,pe=0;return{members:W.map(ke=>{let je=we[ke.type].BYTES_PER_ELEMENT,We=J=St(J,Math.max(D,je)),ht=ke.components||1;return pe=Math.max(pe,je),J+=je*ht,{name:ke.name,type:ke.type,components:ht,offset:We}}),size:St(J,Math.max(pe,D)),alignment:D}}function St(W,D){return Math.ceil(W/D)*D}class Nt extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J){let pe=this.length;return this.resize(pe+1),this.emplace(pe,D,J)}emplace(D,J,pe){let ke=2*D;return this.int16[ke+0]=J,this.int16[ke+1]=pe,D}}Nt.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",Nt);class $t extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J,pe){let ke=this.length;return this.resize(ke+1),this.emplace(ke,D,J,pe)}emplace(D,J,pe,ke){let je=3*D;return this.int16[je+0]=J,this.int16[je+1]=pe,this.int16[je+2]=ke,D}}$t.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",$t);class Tr extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke){let je=this.length;return this.resize(je+1),this.emplace(je,D,J,pe,ke)}emplace(D,J,pe,ke,je){let We=4*D;return this.int16[We+0]=J,this.int16[We+1]=pe,this.int16[We+2]=ke,this.int16[We+3]=je,D}}Tr.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Tr);class Ar extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We){let ht=this.length;return this.resize(ht+1),this.emplace(ht,D,J,pe,ke,je,We)}emplace(D,J,pe,ke,je,We,ht){let Et=6*D;return this.int16[Et+0]=J,this.int16[Et+1]=pe,this.int16[Et+2]=ke,this.int16[Et+3]=je,this.int16[Et+4]=We,this.int16[Et+5]=ht,D}}Ar.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Ar);class Kr extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We){let ht=this.length;return this.resize(ht+1),this.emplace(ht,D,J,pe,ke,je,We)}emplace(D,J,pe,ke,je,We,ht){let Et=4*D,Ut=8*D;return this.int16[Et+0]=J,this.int16[Et+1]=pe,this.uint8[Ut+4]=ke,this.uint8[Ut+5]=je,this.uint8[Ut+6]=We,this.uint8[Ut+7]=ht,D}}Kr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",Kr);class na extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,J){let pe=this.length;return this.resize(pe+1),this.emplace(pe,D,J)}emplace(D,J,pe){let ke=2*D;return this.float32[ke+0]=J,this.float32[ke+1]=pe,D}}na.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",na);class He extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We,ht,Et,Ut,or){let Mr=this.length;return this.resize(Mr+1),this.emplace(Mr,D,J,pe,ke,je,We,ht,Et,Ut,or)}emplace(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr){let zr=10*D;return this.uint16[zr+0]=J,this.uint16[zr+1]=pe,this.uint16[zr+2]=ke,this.uint16[zr+3]=je,this.uint16[zr+4]=We,this.uint16[zr+5]=ht,this.uint16[zr+6]=Et,this.uint16[zr+7]=Ut,this.uint16[zr+8]=or,this.uint16[zr+9]=Mr,D}}He.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",He);class Je extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr){let Wr=this.length;return this.resize(Wr+1),this.emplace(Wr,D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr)}emplace(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr){let ia=12*D;return this.int16[ia+0]=J,this.int16[ia+1]=pe,this.int16[ia+2]=ke,this.int16[ia+3]=je,this.uint16[ia+4]=We,this.uint16[ia+5]=ht,this.uint16[ia+6]=Et,this.uint16[ia+7]=Ut,this.int16[ia+8]=or,this.int16[ia+9]=Mr,this.int16[ia+10]=zr,this.int16[ia+11]=Wr,D}}Je.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",Je);class lt extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,J,pe){let ke=this.length;return this.resize(ke+1),this.emplace(ke,D,J,pe)}emplace(D,J,pe,ke){let je=3*D;return this.float32[je+0]=J,this.float32[je+1]=pe,this.float32[je+2]=ke,D}}lt.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",lt);class vt extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(D){let J=this.length;return this.resize(J+1),this.emplace(J,D)}emplace(D,J){return this.uint32[1*D+0]=J,D}}vt.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",vt);class Lt extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We,ht,Et,Ut){let or=this.length;return this.resize(or+1),this.emplace(or,D,J,pe,ke,je,We,ht,Et,Ut)}emplace(D,J,pe,ke,je,We,ht,Et,Ut,or){let Mr=10*D,zr=5*D;return this.int16[Mr+0]=J,this.int16[Mr+1]=pe,this.int16[Mr+2]=ke,this.int16[Mr+3]=je,this.int16[Mr+4]=We,this.int16[Mr+5]=ht,this.uint32[zr+3]=Et,this.uint16[Mr+8]=Ut,this.uint16[Mr+9]=or,D}}Lt.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Lt);class At extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We){let ht=this.length;return this.resize(ht+1),this.emplace(ht,D,J,pe,ke,je,We)}emplace(D,J,pe,ke,je,We,ht){let Et=6*D;return this.int16[Et+0]=J,this.int16[Et+1]=pe,this.int16[Et+2]=ke,this.int16[Et+3]=je,this.int16[Et+4]=We,this.int16[Et+5]=ht,D}}At.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",At);class zt extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je){let We=this.length;return this.resize(We+1),this.emplace(We,D,J,pe,ke,je)}emplace(D,J,pe,ke,je,We){let ht=4*D,Et=8*D;return this.float32[ht+0]=J,this.float32[ht+1]=pe,this.float32[ht+2]=ke,this.int16[Et+6]=je,this.int16[Et+7]=We,D}}zt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",zt);class cr extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We){let ht=this.length;return this.resize(ht+1),this.emplace(ht,D,J,pe,ke,je,We)}emplace(D,J,pe,ke,je,We,ht){let Et=16*D,Ut=4*D,or=8*D;return this.uint8[Et+0]=J,this.uint8[Et+1]=pe,this.float32[Ut+1]=ke,this.float32[Ut+2]=je,this.int16[or+6]=We,this.int16[or+7]=ht,D}}cr.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",cr);class yr extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,J,pe){let ke=this.length;return this.resize(ke+1),this.emplace(ke,D,J,pe)}emplace(D,J,pe,ke){let je=3*D;return this.uint16[je+0]=J,this.uint16[je+1]=pe,this.uint16[je+2]=ke,D}}yr.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",yr);class Er extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia,ha,ja,Ka){let Wi=this.length;return this.resize(Wi+1),this.emplace(Wi,D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia,ha,ja,Ka)}emplace(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia,ha,ja,Ka,Wi){let gi=24*D,qi=12*D,en=48*D;return this.int16[gi+0]=J,this.int16[gi+1]=pe,this.uint16[gi+2]=ke,this.uint16[gi+3]=je,this.uint32[qi+2]=We,this.uint32[qi+3]=ht,this.uint32[qi+4]=Et,this.uint16[gi+10]=Ut,this.uint16[gi+11]=or,this.uint16[gi+12]=Mr,this.float32[qi+7]=zr,this.float32[qi+8]=Wr,this.uint8[en+36]=ia,this.uint8[en+37]=ha,this.uint8[en+38]=ja,this.uint32[qi+10]=Ka,this.int16[gi+22]=Wi,D}}Er.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Er);class jr extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia,ha,ja,Ka,Wi,gi,qi,en,qn,Eo,ys,mo,zn,ts,Uo){let zo=this.length;return this.resize(zo+1),this.emplace(zo,D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia,ha,ja,Ka,Wi,gi,qi,en,qn,Eo,ys,mo,zn,ts,Uo)}emplace(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia,ha,ja,Ka,Wi,gi,qi,en,qn,Eo,ys,mo,zn,ts,Uo,zo){let wn=32*D,os=16*D;return this.int16[wn+0]=J,this.int16[wn+1]=pe,this.int16[wn+2]=ke,this.int16[wn+3]=je,this.int16[wn+4]=We,this.int16[wn+5]=ht,this.int16[wn+6]=Et,this.int16[wn+7]=Ut,this.uint16[wn+8]=or,this.uint16[wn+9]=Mr,this.uint16[wn+10]=zr,this.uint16[wn+11]=Wr,this.uint16[wn+12]=ia,this.uint16[wn+13]=ha,this.uint16[wn+14]=ja,this.uint16[wn+15]=Ka,this.uint16[wn+16]=Wi,this.uint16[wn+17]=gi,this.uint16[wn+18]=qi,this.uint16[wn+19]=en,this.uint16[wn+20]=qn,this.uint16[wn+21]=Eo,this.uint16[wn+22]=ys,this.uint32[os+12]=mo,this.float32[os+13]=zn,this.float32[os+14]=ts,this.uint16[wn+30]=Uo,this.uint16[wn+31]=zo,D}}jr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",jr);class Qr extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D){let J=this.length;return this.resize(J+1),this.emplace(J,D)}emplace(D,J){return this.float32[1*D+0]=J,D}}Qr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",Qr);class pa extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,J,pe){let ke=this.length;return this.resize(ke+1),this.emplace(ke,D,J,pe)}emplace(D,J,pe,ke){let je=3*D;return this.uint16[6*D+0]=J,this.float32[je+1]=pe,this.float32[je+2]=ke,D}}pa.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",pa);class Aa extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,J,pe){let ke=this.length;return this.resize(ke+1),this.emplace(ke,D,J,pe)}emplace(D,J,pe,ke){let je=4*D;return this.uint32[2*D+0]=J,this.uint16[je+2]=pe,this.uint16[je+3]=ke,D}}Aa.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",Aa);class za extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,J){let pe=this.length;return this.resize(pe+1),this.emplace(pe,D,J)}emplace(D,J,pe){let ke=2*D;return this.uint16[ke+0]=J,this.uint16[ke+1]=pe,D}}za.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",za);class ci extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D){let J=this.length;return this.resize(J+1),this.emplace(J,D)}emplace(D,J){return this.uint16[1*D+0]=J,D}}ci.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",ci);class Vi extends Be{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,J,pe,ke){let je=this.length;return this.resize(je+1),this.emplace(je,D,J,pe,ke)}emplace(D,J,pe,ke,je){let We=4*D;return this.float32[We+0]=J,this.float32[We+1]=pe,this.float32[We+2]=ke,this.float32[We+3]=je,D}}Vi.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Vi);class ji extends Se{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new n(this.anchorPointX,this.anchorPointY)}}ji.prototype.size=20;class nn extends Lt{get(D){return new ji(this,D)}}mi(\"CollisionBoxArray\",nn);class Sn extends Se{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(D){this._structArray.uint8[this._pos1+37]=D}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(D){this._structArray.uint8[this._pos1+38]=D}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(D){this._structArray.uint32[this._pos4+10]=D}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Sn.prototype.size=48;class Kn extends Er{get(D){return new Sn(this,D)}}mi(\"PlacedSymbolArray\",Kn);class Bn extends Se{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(D){this._structArray.uint32[this._pos4+12]=D}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Bn.prototype.size=64;class wo extends jr{get(D){return new Bn(this,D)}}mi(\"SymbolInstanceArray\",wo);class is extends Qr{getoffsetX(D){return this.float32[1*D+0]}}mi(\"GlyphOffsetArray\",is);class Ao extends $t{getx(D){return this.int16[3*D+0]}gety(D){return this.int16[3*D+1]}gettileUnitDistanceFromAnchor(D){return this.int16[3*D+2]}}mi(\"SymbolLineVertexArray\",Ao);class Zo extends Se{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Zo.prototype.size=12;class ps extends pa{get(D){return new Zo(this,D)}}mi(\"TextAnchorOffsetArray\",ps);class ul extends Se{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}ul.prototype.size=8;class tl extends Aa{get(D){return new ul(this,D)}}mi(\"FeatureIndexArray\",tl);class Jo extends Nt{}class $o extends Nt{}class Il extends Nt{}class eu extends Ar{}class Ru extends Kr{}class vu extends na{}class Tl extends He{}class cu extends Je{}class uc extends lt{}class Vl extends vt{}class Gl extends At{}class de extends cr{}class Fe extends yr{}class et extends za{}let mt=dt([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:bt}=mt;class Mt{constructor(D=[]){this.segments=D}prepareSegment(D,J,pe,ke){let je=this.segments[this.segments.length-1];return D>Mt.MAX_VERTEX_ARRAY_LENGTH&&f(`Max vertices per segment is ${Mt.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${D}`),(!je||je.vertexLength+D>Mt.MAX_VERTEX_ARRAY_LENGTH||je.sortKey!==ke)&&(je={vertexOffset:J.length,primitiveOffset:pe.length,vertexLength:0,primitiveLength:0},ke!==void 0&&(je.sortKey=ke),this.segments.push(je)),je}get(){return this.segments}destroy(){for(let D of this.segments)for(let J in D.vaos)D.vaos[J].destroy()}static simpleSegment(D,J,pe,ke){return new Mt([{vertexOffset:D,primitiveOffset:J,vertexLength:pe,primitiveLength:ke,vaos:{},sortKey:0}])}}function ar(W,D){return 256*(W=w(Math.floor(W),0,255))+w(Math.floor(D),0,255)}Mt.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",Mt);let Ot=dt([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var _r={exports:{}},Gr={exports:{}};Gr.exports=function(W,D){var J,pe,ke,je,We,ht,Et,Ut;for(pe=W.length-(J=3&W.length),ke=D,We=3432918353,ht=461845907,Ut=0;Ut>>16)*We&65535)<<16)&4294967295)<<15|Et>>>17))*ht+(((Et>>>16)*ht&65535)<<16)&4294967295)<<13|ke>>>19))+((5*(ke>>>16)&65535)<<16)&4294967295))+((58964+(je>>>16)&65535)<<16);switch(Et=0,J){case 3:Et^=(255&W.charCodeAt(Ut+2))<<16;case 2:Et^=(255&W.charCodeAt(Ut+1))<<8;case 1:ke^=Et=(65535&(Et=(Et=(65535&(Et^=255&W.charCodeAt(Ut)))*We+(((Et>>>16)*We&65535)<<16)&4294967295)<<15|Et>>>17))*ht+(((Et>>>16)*ht&65535)<<16)&4294967295}return ke^=W.length,ke=2246822507*(65535&(ke^=ke>>>16))+((2246822507*(ke>>>16)&65535)<<16)&4294967295,ke=3266489909*(65535&(ke^=ke>>>13))+((3266489909*(ke>>>16)&65535)<<16)&4294967295,(ke^=ke>>>16)>>>0};var Xr=Gr.exports,xa={exports:{}};xa.exports=function(W,D){for(var J,pe=W.length,ke=D^pe,je=0;pe>=4;)J=1540483477*(65535&(J=255&W.charCodeAt(je)|(255&W.charCodeAt(++je))<<8|(255&W.charCodeAt(++je))<<16|(255&W.charCodeAt(++je))<<24))+((1540483477*(J>>>16)&65535)<<16),ke=1540483477*(65535&ke)+((1540483477*(ke>>>16)&65535)<<16)^(J=1540483477*(65535&(J^=J>>>24))+((1540483477*(J>>>16)&65535)<<16)),pe-=4,++je;switch(pe){case 3:ke^=(255&W.charCodeAt(je+2))<<16;case 2:ke^=(255&W.charCodeAt(je+1))<<8;case 1:ke=1540483477*(65535&(ke^=255&W.charCodeAt(je)))+((1540483477*(ke>>>16)&65535)<<16)}return ke=1540483477*(65535&(ke^=ke>>>13))+((1540483477*(ke>>>16)&65535)<<16),(ke^=ke>>>15)>>>0};var da=Xr,Ja=xa.exports;_r.exports=da,_r.exports.murmur3=da,_r.exports.murmur2=Ja;var ti=r(_r.exports);class Sa{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(D,J,pe,ke){this.ids.push(Fa(D)),this.positions.push(J,pe,ke)}getPositions(D){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let J=Fa(D),pe=0,ke=this.ids.length-1;for(;pe>1;this.ids[We]>=J?ke=We:pe=We+1}let je=[];for(;this.ids[pe]===J;)je.push({index:this.positions[3*pe],start:this.positions[3*pe+1],end:this.positions[3*pe+2]}),pe++;return je}static serialize(D,J){let pe=new Float64Array(D.ids),ke=new Uint32Array(D.positions);return Xa(pe,ke,0,pe.length-1),J&&J.push(pe.buffer,ke.buffer),{ids:pe,positions:ke}}static deserialize(D){let J=new Sa;return J.ids=D.ids,J.positions=D.positions,J.indexed=!0,J}}function Fa(W){let D=+W;return!isNaN(D)&&D<=Number.MAX_SAFE_INTEGER?D:ti(String(W))}function Xa(W,D,J,pe){for(;J>1],je=J-1,We=pe+1;for(;;){do je++;while(W[je]ke);if(je>=We)break;fi(W,je,We),fi(D,3*je,3*We),fi(D,3*je+1,3*We+1),fi(D,3*je+2,3*We+2)}We-J`u_${ke}`),this.type=pe}setUniform(D,J,pe){D.set(pe.constantOr(this.value))}getBinding(D,J,pe){return this.type===\"color\"?new rn(D,J):new La(D,J)}}class ro{constructor(D,J){this.uniformNames=J.map(pe=>`u_${pe}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(D,J){this.pixelRatioFrom=J.pixelRatio,this.pixelRatioTo=D.pixelRatio,this.patternFrom=J.tlbr,this.patternTo=D.tlbr}setUniform(D,J,pe,ke){let je=ke===\"u_pattern_to\"?this.patternTo:ke===\"u_pattern_from\"?this.patternFrom:ke===\"u_pixel_ratio_to\"?this.pixelRatioTo:ke===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;je&&D.set(je)}getBinding(D,J,pe){return pe.substr(0,9)===\"u_pattern\"?new sn(D,J):new La(D,J)}}class Yo{constructor(D,J,pe,ke){this.expression=D,this.type=pe,this.maxValue=0,this.paintVertexAttributes=J.map(je=>({name:`a_${je}`,type:\"Float32\",components:pe===\"color\"?2:1,offset:0})),this.paintVertexArray=new ke}populatePaintArray(D,J,pe,ke,je){let We=this.paintVertexArray.length,ht=this.expression.evaluate(new Rs(0),J,{},ke,[],je);this.paintVertexArray.resize(D),this._setPaintValue(We,D,ht)}updatePaintArray(D,J,pe,ke){let je=this.expression.evaluate({zoom:0},pe,ke);this._setPaintValue(D,J,je)}_setPaintValue(D,J,pe){if(this.type===\"color\"){let ke=Pn(pe);for(let je=D;je`u_${ht}_t`),this.type=pe,this.useIntegerZoom=ke,this.zoom=je,this.maxValue=0,this.paintVertexAttributes=J.map(ht=>({name:`a_${ht}`,type:\"Float32\",components:pe===\"color\"?4:2,offset:0})),this.paintVertexArray=new We}populatePaintArray(D,J,pe,ke,je){let We=this.expression.evaluate(new Rs(this.zoom),J,{},ke,[],je),ht=this.expression.evaluate(new Rs(this.zoom+1),J,{},ke,[],je),Et=this.paintVertexArray.length;this.paintVertexArray.resize(D),this._setPaintValue(Et,D,We,ht)}updatePaintArray(D,J,pe,ke){let je=this.expression.evaluate({zoom:this.zoom},pe,ke),We=this.expression.evaluate({zoom:this.zoom+1},pe,ke);this._setPaintValue(D,J,je,We)}_setPaintValue(D,J,pe,ke){if(this.type===\"color\"){let je=Pn(pe),We=Pn(ke);for(let ht=D;ht`#define HAS_UNIFORM_${ke}`))}return D}getBinderAttributes(){let D=[];for(let J in this.binders){let pe=this.binders[J];if(pe instanceof Yo||pe instanceof io)for(let ke=0;ke!0){this.programConfigurations={};for(let ke of D)this.programConfigurations[ke.id]=new cl(ke,J,pe);this.needsUpload=!1,this._featureMap=new Sa,this._bufferOffset=0}populatePaintArrays(D,J,pe,ke,je,We){for(let ht in this.programConfigurations)this.programConfigurations[ht].populatePaintArrays(D,J,ke,je,We);J.id!==void 0&&this._featureMap.add(J.id,pe,this._bufferOffset,D),this._bufferOffset=D,this.needsUpload=!0}updatePaintArrays(D,J,pe,ke){for(let je of pe)this.needsUpload=this.programConfigurations[je.id].updatePaintArrays(D,this._featureMap,J,je,ke)||this.needsUpload}get(D){return this.programConfigurations[D]}upload(D){if(this.needsUpload){for(let J in this.programConfigurations)this.programConfigurations[J].upload(D);this.needsUpload=!1}}destroy(){for(let D in this.programConfigurations)this.programConfigurations[D].destroy()}}function xl(W,D){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[W]||[W.replace(`${D}-`,\"\").replace(/-/g,\"_\")]}function gn(W,D,J){let pe={color:{source:na,composite:Vi},number:{source:Qr,composite:na}},ke=function(je){return{\"line-pattern\":{source:Tl,composite:Tl},\"fill-pattern\":{source:Tl,composite:Tl},\"fill-extrusion-pattern\":{source:Tl,composite:Tl}}[je]}(W);return ke&&ke[J]||pe[D][J]}mi(\"ConstantBinder\",Jn),mi(\"CrossFadedConstantBinder\",ro),mi(\"SourceExpressionBinder\",Yo),mi(\"CrossFadedCompositeBinder\",Ho),mi(\"CompositeExpressionBinder\",io),mi(\"ProgramConfiguration\",cl,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",al);let vo=8192,cs=Math.pow(2,14)-1,ms=-cs-1;function Al(W){let D=vo/W.extent,J=W.loadGeometry();for(let pe=0;peWe.x+1||EtWe.y+1)&&f(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return J}function Hl(W,D){return{type:W.type,id:W.id,properties:W.properties,geometry:D?Al(W):[]}}function Su(W,D,J,pe,ke){W.emplaceBack(2*D+(pe+1)/2,2*J+(ke+1)/2)}class Rl{constructor(D){this.zoom=D.zoom,this.overscaling=D.overscaling,this.layers=D.layers,this.layerIds=this.layers.map(J=>J.id),this.index=D.index,this.hasPattern=!1,this.layoutVertexArray=new $o,this.indexArray=new Fe,this.segments=new Mt,this.programConfigurations=new al(D.layers,D.zoom),this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(D,J,pe){let ke=this.layers[0],je=[],We=null,ht=!1;ke.type===\"circle\"&&(We=ke.layout.get(\"circle-sort-key\"),ht=!We.isConstant());for(let{feature:Et,id:Ut,index:or,sourceLayerIndex:Mr}of D){let zr=this.layers[0]._featureFilter.needGeometry,Wr=Hl(Et,zr);if(!this.layers[0]._featureFilter.filter(new Rs(this.zoom),Wr,pe))continue;let ia=ht?We.evaluate(Wr,{},pe):void 0,ha={id:Ut,properties:Et.properties,type:Et.type,sourceLayerIndex:Mr,index:or,geometry:zr?Wr.geometry:Al(Et),patterns:{},sortKey:ia};je.push(ha)}ht&&je.sort((Et,Ut)=>Et.sortKey-Ut.sortKey);for(let Et of je){let{geometry:Ut,index:or,sourceLayerIndex:Mr}=Et,zr=D[or].feature;this.addFeature(Et,Ut,or,pe),J.featureIndex.insert(zr,Ut,or,Mr,this.index)}}update(D,J,pe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,J,this.stateDependentLayers,pe)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(D){this.uploaded||(this.layoutVertexBuffer=D.createVertexBuffer(this.layoutVertexArray,bt),this.indexBuffer=D.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(D),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(D,J,pe,ke){for(let je of J)for(let We of je){let ht=We.x,Et=We.y;if(ht<0||ht>=vo||Et<0||Et>=vo)continue;let Ut=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,D.sortKey),or=Ut.vertexLength;Su(this.layoutVertexArray,ht,Et,-1,-1),Su(this.layoutVertexArray,ht,Et,1,-1),Su(this.layoutVertexArray,ht,Et,1,1),Su(this.layoutVertexArray,ht,Et,-1,1),this.indexArray.emplaceBack(or,or+1,or+2),this.indexArray.emplaceBack(or,or+3,or+2),Ut.vertexLength+=4,Ut.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,D,pe,{},ke)}}function _c(W,D){for(let J=0;J1){if(oa(W,D))return!0;for(let pe=0;pe1?J:J.sub(D)._mult(ke)._add(D))}function Ya(W,D){let J,pe,ke,je=!1;for(let We=0;WeD.y!=ke.y>D.y&&D.x<(ke.x-pe.x)*(D.y-pe.y)/(ke.y-pe.y)+pe.x&&(je=!je)}return je}function bi(W,D){let J=!1;for(let pe=0,ke=W.length-1;peD.y!=We.y>D.y&&D.x<(We.x-je.x)*(D.y-je.y)/(We.y-je.y)+je.x&&(J=!J)}return J}function yi(W,D,J){let pe=J[0],ke=J[2];if(W.xke.x&&D.x>ke.x||W.yke.y&&D.y>ke.y)return!1;let je=R(W,D,J[0]);return je!==R(W,D,J[1])||je!==R(W,D,J[2])||je!==R(W,D,J[3])}function si(W,D,J){let pe=D.paint.get(W).value;return pe.kind===\"constant\"?pe.value:J.programConfigurations.get(D.id).getMaxValue(W)}function yn(W){return Math.sqrt(W[0]*W[0]+W[1]*W[1])}function zi(W,D,J,pe,ke){if(!D[0]&&!D[1])return W;let je=n.convert(D)._mult(ke);J===\"viewport\"&&je._rotate(-pe);let We=[];for(let ht=0;htUa(ja,ha))}(Ut,Et),Wr=Mr?or*ht:or;for(let ia of ke)for(let ha of ia){let ja=Mr?ha:Ua(ha,Et),Ka=Wr,Wi=pn([],[ha.x,ha.y,0,1],Et);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Ka*=Wi[3]/We.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Ka*=We.cameraToCenterDistance/Wi[3]),it(zr,ja,Ka))return!0}return!1}}function Ua(W,D){let J=pn([],[W.x,W.y,0,1],D);return new n(J[0]/J[3],J[1]/J[3])}class Yi extends Rl{}let Ri;mi(\"HeatmapBucket\",Yi,{omit:[\"layers\"]});var Ti={get paint(){return Ri=Ri||new Ue({\"heatmap-radius\":new Ro(re.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Ro(re.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new ho(re.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Yu(re.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new ho(re.paint_heatmap[\"heatmap-opacity\"])})}};function xi(W,{width:D,height:J},pe,ke){if(ke){if(ke instanceof Uint8ClampedArray)ke=new Uint8Array(ke.buffer);else if(ke.length!==D*J*pe)throw new RangeError(`mismatched image size. expected: ${ke.length} but got: ${D*J*pe}`)}else ke=new Uint8Array(D*J*pe);return W.width=D,W.height=J,W.data=ke,W}function Xi(W,{width:D,height:J},pe){if(D===W.width&&J===W.height)return;let ke=xi({},{width:D,height:J},pe);mn(W,ke,{x:0,y:0},{x:0,y:0},{width:Math.min(W.width,D),height:Math.min(W.height,J)},pe),W.width=D,W.height=J,W.data=ke.data}function mn(W,D,J,pe,ke,je){if(ke.width===0||ke.height===0)return D;if(ke.width>W.width||ke.height>W.height||J.x>W.width-ke.width||J.y>W.height-ke.height)throw new RangeError(\"out of range source coordinates for image copy\");if(ke.width>D.width||ke.height>D.height||pe.x>D.width-ke.width||pe.y>D.height-ke.height)throw new RangeError(\"out of range destination coordinates for image copy\");let We=W.data,ht=D.data;if(We===ht)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Et=0;Et{D[W.evaluationKey]=Et;let Ut=W.expression.evaluate(D);ke.data[We+ht+0]=Math.floor(255*Ut.r/Ut.a),ke.data[We+ht+1]=Math.floor(255*Ut.g/Ut.a),ke.data[We+ht+2]=Math.floor(255*Ut.b/Ut.a),ke.data[We+ht+3]=Math.floor(255*Ut.a)};if(W.clips)for(let We=0,ht=0;We80*J){ht=1/0,Et=1/0;let or=-1/0,Mr=-1/0;for(let zr=J;zror&&(or=Wr),ia>Mr&&(Mr=ia)}Ut=Math.max(or-ht,Mr-Et),Ut=Ut!==0?32767/Ut:0}return tu(je,We,J,ht,Et,Ut,0),We}function Sl(W,D,J,pe,ke){let je;if(ke===function(We,ht,Et,Ut){let or=0;for(let Mr=ht,zr=Et-Ut;Mr0)for(let We=D;We=D;We-=pe)je=pr(We/pe|0,W[We],W[We+1],je);return je&&Le(je,je.next)&&(yt(je),je=je.next),je}function kl(W,D){if(!W)return W;D||(D=W);let J,pe=W;do if(J=!1,pe.steiner||!Le(pe,pe.next)&&Ge(pe.prev,pe,pe.next)!==0)pe=pe.next;else{if(yt(pe),pe=D=pe.prev,pe===pe.next)break;J=!0}while(J||pe!==D);return D}function tu(W,D,J,pe,ke,je,We){if(!W)return;!We&&je&&function(Et,Ut,or,Mr){let zr=Et;do zr.z===0&&(zr.z=K(zr.x,zr.y,Ut,or,Mr)),zr.prevZ=zr.prev,zr.nextZ=zr.next,zr=zr.next;while(zr!==Et);zr.prevZ.nextZ=null,zr.prevZ=null,function(Wr){let ia,ha=1;do{let ja,Ka=Wr;Wr=null;let Wi=null;for(ia=0;Ka;){ia++;let gi=Ka,qi=0;for(let qn=0;qn0||en>0&&gi;)qi!==0&&(en===0||!gi||Ka.z<=gi.z)?(ja=Ka,Ka=Ka.nextZ,qi--):(ja=gi,gi=gi.nextZ,en--),Wi?Wi.nextZ=ja:Wr=ja,ja.prevZ=Wi,Wi=ja;Ka=gi}Wi.nextZ=null,ha*=2}while(ia>1)}(zr)}(W,pe,ke,je);let ht=W;for(;W.prev!==W.next;){let Et=W.prev,Ut=W.next;if(je?pl(W,pe,ke,je):qs(W))D.push(Et.i,W.i,Ut.i),yt(W),W=Ut.next,ht=Ut.next;else if((W=Ut)===ht){We?We===1?tu(W=wl(kl(W),D),D,J,pe,ke,je,2):We===2&&Yn(W,D,J,pe,ke,je):tu(kl(W),D,J,pe,ke,je,1);break}}}function qs(W){let D=W.prev,J=W,pe=W.next;if(Ge(D,J,pe)>=0)return!1;let ke=D.x,je=J.x,We=pe.x,ht=D.y,Et=J.y,Ut=pe.y,or=keje?ke>We?ke:We:je>We?je:We,Wr=ht>Et?ht>Ut?ht:Ut:Et>Ut?Et:Ut,ia=pe.next;for(;ia!==D;){if(ia.x>=or&&ia.x<=zr&&ia.y>=Mr&&ia.y<=Wr&&te(ke,ht,je,Et,We,Ut,ia.x,ia.y)&&Ge(ia.prev,ia,ia.next)>=0)return!1;ia=ia.next}return!0}function pl(W,D,J,pe){let ke=W.prev,je=W,We=W.next;if(Ge(ke,je,We)>=0)return!1;let ht=ke.x,Et=je.x,Ut=We.x,or=ke.y,Mr=je.y,zr=We.y,Wr=htEt?ht>Ut?ht:Ut:Et>Ut?Et:Ut,ja=or>Mr?or>zr?or:zr:Mr>zr?Mr:zr,Ka=K(Wr,ia,D,J,pe),Wi=K(ha,ja,D,J,pe),gi=W.prevZ,qi=W.nextZ;for(;gi&&gi.z>=Ka&&qi&&qi.z<=Wi;){if(gi.x>=Wr&&gi.x<=ha&&gi.y>=ia&&gi.y<=ja&&gi!==ke&&gi!==We&&te(ht,or,Et,Mr,Ut,zr,gi.x,gi.y)&&Ge(gi.prev,gi,gi.next)>=0||(gi=gi.prevZ,qi.x>=Wr&&qi.x<=ha&&qi.y>=ia&&qi.y<=ja&&qi!==ke&&qi!==We&&te(ht,or,Et,Mr,Ut,zr,qi.x,qi.y)&&Ge(qi.prev,qi,qi.next)>=0))return!1;qi=qi.nextZ}for(;gi&&gi.z>=Ka;){if(gi.x>=Wr&&gi.x<=ha&&gi.y>=ia&&gi.y<=ja&&gi!==ke&&gi!==We&&te(ht,or,Et,Mr,Ut,zr,gi.x,gi.y)&&Ge(gi.prev,gi,gi.next)>=0)return!1;gi=gi.prevZ}for(;qi&&qi.z<=Wi;){if(qi.x>=Wr&&qi.x<=ha&&qi.y>=ia&&qi.y<=ja&&qi!==ke&&qi!==We&&te(ht,or,Et,Mr,Ut,zr,qi.x,qi.y)&&Ge(qi.prev,qi,qi.next)>=0)return!1;qi=qi.nextZ}return!0}function wl(W,D){let J=W;do{let pe=J.prev,ke=J.next.next;!Le(pe,ke)&&$e(pe,J,J.next,ke)&&wr(pe,ke)&&wr(ke,pe)&&(D.push(pe.i,J.i,ke.i),yt(J),yt(J.next),J=W=ke),J=J.next}while(J!==W);return kl(J)}function Yn(W,D,J,pe,ke,je){let We=W;do{let ht=We.next.next;for(;ht!==We.prev;){if(We.i!==ht.i&&me(We,ht)){let Et=Nr(We,ht);return We=kl(We,We.next),Et=kl(Et,Et.next),tu(We,D,J,pe,ke,je,0),void tu(Et,D,J,pe,ke,je,0)}ht=ht.next}We=We.next}while(We!==W)}function Cl(W,D){return W.x-D.x}function Co(W,D){let J=function(ke,je){let We=je,ht=ke.x,Et=ke.y,Ut,or=-1/0;do{if(Et<=We.y&&Et>=We.next.y&&We.next.y!==We.y){let ha=We.x+(Et-We.y)*(We.next.x-We.x)/(We.next.y-We.y);if(ha<=ht&&ha>or&&(or=ha,Ut=We.x=We.x&&We.x>=zr&&ht!==We.x&&te(EtUt.x||We.x===Ut.x&&ve(Ut,We)))&&(Ut=We,ia=ha)}We=We.next}while(We!==Mr);return Ut}(W,D);if(!J)return D;let pe=Nr(J,W);return kl(pe,pe.next),kl(J,J.next)}function ve(W,D){return Ge(W.prev,W,D.prev)<0&&Ge(D.next,W,W.next)<0}function K(W,D,J,pe,ke){return(W=1431655765&((W=858993459&((W=252645135&((W=16711935&((W=(W-J)*ke|0)|W<<8))|W<<4))|W<<2))|W<<1))|(D=1431655765&((D=858993459&((D=252645135&((D=16711935&((D=(D-pe)*ke|0)|D<<8))|D<<4))|D<<2))|D<<1))<<1}function _e(W){let D=W,J=W;do(D.x=(W-We)*(je-ht)&&(W-We)*(pe-ht)>=(J-We)*(D-ht)&&(J-We)*(je-ht)>=(ke-We)*(pe-ht)}function me(W,D){return W.next.i!==D.i&&W.prev.i!==D.i&&!function(J,pe){let ke=J;do{if(ke.i!==J.i&&ke.next.i!==J.i&&ke.i!==pe.i&&ke.next.i!==pe.i&&$e(ke,ke.next,J,pe))return!0;ke=ke.next}while(ke!==J);return!1}(W,D)&&(wr(W,D)&&wr(D,W)&&function(J,pe){let ke=J,je=!1,We=(J.x+pe.x)/2,ht=(J.y+pe.y)/2;do ke.y>ht!=ke.next.y>ht&&ke.next.y!==ke.y&&We<(ke.next.x-ke.x)*(ht-ke.y)/(ke.next.y-ke.y)+ke.x&&(je=!je),ke=ke.next;while(ke!==J);return je}(W,D)&&(Ge(W.prev,W,D.prev)||Ge(W,D.prev,D))||Le(W,D)&&Ge(W.prev,W,W.next)>0&&Ge(D.prev,D,D.next)>0)}function Ge(W,D,J){return(D.y-W.y)*(J.x-D.x)-(D.x-W.x)*(J.y-D.y)}function Le(W,D){return W.x===D.x&&W.y===D.y}function $e(W,D,J,pe){let ke=jt(Ge(W,D,J)),je=jt(Ge(W,D,pe)),We=jt(Ge(J,pe,W)),ht=jt(Ge(J,pe,D));return ke!==je&&We!==ht||!(ke!==0||!gt(W,J,D))||!(je!==0||!gt(W,pe,D))||!(We!==0||!gt(J,W,pe))||!(ht!==0||!gt(J,D,pe))}function gt(W,D,J){return D.x<=Math.max(W.x,J.x)&&D.x>=Math.min(W.x,J.x)&&D.y<=Math.max(W.y,J.y)&&D.y>=Math.min(W.y,J.y)}function jt(W){return W>0?1:W<0?-1:0}function wr(W,D){return Ge(W.prev,W,W.next)<0?Ge(W,D,W.next)>=0&&Ge(W,W.prev,D)>=0:Ge(W,D,W.prev)<0||Ge(W,W.next,D)<0}function Nr(W,D){let J=kt(W.i,W.x,W.y),pe=kt(D.i,D.x,D.y),ke=W.next,je=D.prev;return W.next=D,D.prev=W,J.next=ke,ke.prev=J,pe.next=J,J.prev=pe,je.next=pe,pe.prev=je,pe}function pr(W,D,J,pe){let ke=kt(W,D,J);return pe?(ke.next=pe.next,ke.prev=pe,pe.next.prev=ke,pe.next=ke):(ke.prev=ke,ke.next=ke),ke}function yt(W){W.next.prev=W.prev,W.prev.next=W.next,W.prevZ&&(W.prevZ.nextZ=W.nextZ),W.nextZ&&(W.nextZ.prevZ=W.prevZ)}function kt(W,D,J){return{i:W,x:D,y:J,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Bt(W,D,J){let pe=J.patternDependencies,ke=!1;for(let je of D){let We=je.paint.get(`${W}-pattern`);We.isConstant()||(ke=!0);let ht=We.constantOr(null);ht&&(ke=!0,pe[ht.to]=!0,pe[ht.from]=!0)}return ke}function nr(W,D,J,pe,ke){let je=ke.patternDependencies;for(let We of D){let ht=We.paint.get(`${W}-pattern`).value;if(ht.kind!==\"constant\"){let Et=ht.evaluate({zoom:pe-1},J,{},ke.availableImages),Ut=ht.evaluate({zoom:pe},J,{},ke.availableImages),or=ht.evaluate({zoom:pe+1},J,{},ke.availableImages);Et=Et&&Et.name?Et.name:Et,Ut=Ut&&Ut.name?Ut.name:Ut,or=or&&or.name?or.name:or,je[Et]=!0,je[Ut]=!0,je[or]=!0,J.patterns[We.id]={min:Et,mid:Ut,max:or}}}return J}class hr{constructor(D){this.zoom=D.zoom,this.overscaling=D.overscaling,this.layers=D.layers,this.layerIds=this.layers.map(J=>J.id),this.index=D.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Il,this.indexArray=new Fe,this.indexArray2=new et,this.programConfigurations=new al(D.layers,D.zoom),this.segments=new Mt,this.segments2=new Mt,this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(D,J,pe){this.hasPattern=Bt(\"fill\",this.layers,J);let ke=this.layers[0].layout.get(\"fill-sort-key\"),je=!ke.isConstant(),We=[];for(let{feature:ht,id:Et,index:Ut,sourceLayerIndex:or}of D){let Mr=this.layers[0]._featureFilter.needGeometry,zr=Hl(ht,Mr);if(!this.layers[0]._featureFilter.filter(new Rs(this.zoom),zr,pe))continue;let Wr=je?ke.evaluate(zr,{},pe,J.availableImages):void 0,ia={id:Et,properties:ht.properties,type:ht.type,sourceLayerIndex:or,index:Ut,geometry:Mr?zr.geometry:Al(ht),patterns:{},sortKey:Wr};We.push(ia)}je&&We.sort((ht,Et)=>ht.sortKey-Et.sortKey);for(let ht of We){let{geometry:Et,index:Ut,sourceLayerIndex:or}=ht;if(this.hasPattern){let Mr=nr(\"fill\",this.layers,ht,this.zoom,J);this.patternFeatures.push(Mr)}else this.addFeature(ht,Et,Ut,pe,{});J.featureIndex.insert(D[Ut].feature,Et,Ut,or,this.index)}}update(D,J,pe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,J,this.stateDependentLayers,pe)}addFeatures(D,J,pe){for(let ke of this.patternFeatures)this.addFeature(ke,ke.geometry,ke.index,J,pe)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(D){this.uploaded||(this.layoutVertexBuffer=D.createVertexBuffer(this.layoutVertexArray,Wl),this.indexBuffer=D.createIndexBuffer(this.indexArray),this.indexBuffer2=D.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(D),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(D,J,pe,ke,je){for(let We of Tc(J,500)){let ht=0;for(let Wr of We)ht+=Wr.length;let Et=this.segments.prepareSegment(ht,this.layoutVertexArray,this.indexArray),Ut=Et.vertexLength,or=[],Mr=[];for(let Wr of We){if(Wr.length===0)continue;Wr!==We[0]&&Mr.push(or.length/2);let ia=this.segments2.prepareSegment(Wr.length,this.layoutVertexArray,this.indexArray2),ha=ia.vertexLength;this.layoutVertexArray.emplaceBack(Wr[0].x,Wr[0].y),this.indexArray2.emplaceBack(ha+Wr.length-1,ha),or.push(Wr[0].x),or.push(Wr[0].y);for(let ja=1;ja>3}if(ke--,pe===1||pe===2)je+=W.readSVarint(),We+=W.readSVarint(),pe===1&&(D&&ht.push(D),D=[]),D.push(new ga(je,We));else{if(pe!==7)throw new Error(\"unknown command \"+pe);D&&D.push(D[0].clone())}}return D&&ht.push(D),ht},Ga.prototype.bbox=function(){var W=this._pbf;W.pos=this._geometry;for(var D=W.readVarint()+W.pos,J=1,pe=0,ke=0,je=0,We=1/0,ht=-1/0,Et=1/0,Ut=-1/0;W.pos>3}if(pe--,J===1||J===2)(ke+=W.readSVarint())ht&&(ht=ke),(je+=W.readSVarint())Ut&&(Ut=je);else if(J!==7)throw new Error(\"unknown command \"+J)}return[We,Et,ht,Ut]},Ga.prototype.toGeoJSON=function(W,D,J){var pe,ke,je=this.extent*Math.pow(2,J),We=this.extent*W,ht=this.extent*D,Et=this.loadGeometry(),Ut=Ga.types[this.type];function or(Wr){for(var ia=0;ia>3;ke=We===1?pe.readString():We===2?pe.readFloat():We===3?pe.readDouble():We===4?pe.readVarint64():We===5?pe.readVarint():We===6?pe.readSVarint():We===7?pe.readBoolean():null}return ke}(J))}_i.prototype.feature=function(W){if(W<0||W>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[W];var D=this._pbf.readVarint()+this._pbf.pos;return new Fi(this._pbf,D,this.extent,this._keys,this._values)};var Ui=ui;function fn(W,D,J){if(W===3){var pe=new Ui(J,J.readVarint()+J.pos);pe.length&&(D[pe.name]=pe)}}Jr.VectorTile=function(W,D){this.layers=W.readFields(fn,{},D)},Jr.VectorTileFeature=vi,Jr.VectorTileLayer=ui;let _o=Jr.VectorTileFeature.types,Bo=Math.pow(2,13);function Ps(W,D,J,pe,ke,je,We,ht){W.emplaceBack(D,J,2*Math.floor(pe*Bo)+We,ke*Bo*2,je*Bo*2,Math.round(ht))}class Do{constructor(D){this.zoom=D.zoom,this.overscaling=D.overscaling,this.layers=D.layers,this.layerIds=this.layers.map(J=>J.id),this.index=D.index,this.hasPattern=!1,this.layoutVertexArray=new eu,this.centroidVertexArray=new Jo,this.indexArray=new Fe,this.programConfigurations=new al(D.layers,D.zoom),this.segments=new Mt,this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(D,J,pe){this.features=[],this.hasPattern=Bt(\"fill-extrusion\",this.layers,J);for(let{feature:ke,id:je,index:We,sourceLayerIndex:ht}of D){let Et=this.layers[0]._featureFilter.needGeometry,Ut=Hl(ke,Et);if(!this.layers[0]._featureFilter.filter(new Rs(this.zoom),Ut,pe))continue;let or={id:je,sourceLayerIndex:ht,index:We,geometry:Et?Ut.geometry:Al(ke),properties:ke.properties,type:ke.type,patterns:{}};this.hasPattern?this.features.push(nr(\"fill-extrusion\",this.layers,or,this.zoom,J)):this.addFeature(or,or.geometry,We,pe,{}),J.featureIndex.insert(ke,or.geometry,We,ht,this.index,!0)}}addFeatures(D,J,pe){for(let ke of this.features){let{geometry:je}=ke;this.addFeature(ke,je,ke.index,J,pe)}}update(D,J,pe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,J,this.stateDependentLayers,pe)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(D){this.uploaded||(this.layoutVertexBuffer=D.createVertexBuffer(this.layoutVertexArray,Dr),this.centroidVertexBuffer=D.createVertexBuffer(this.centroidVertexArray,Vt.members,!0),this.indexBuffer=D.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(D),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(D,J,pe,ke,je){for(let We of Tc(J,500)){let ht={x:0,y:0,vertexCount:0},Et=0;for(let ia of We)Et+=ia.length;let Ut=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ia of We){if(ia.length===0||Ys(ia))continue;let ha=0;for(let ja=0;ja=1){let Wi=ia[ja-1];if(!Ms(Ka,Wi)){Ut.vertexLength+4>Mt.MAX_VERTEX_ARRAY_LENGTH&&(Ut=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let gi=Ka.sub(Wi)._perp()._unit(),qi=Wi.dist(Ka);ha+qi>32768&&(ha=0),Ps(this.layoutVertexArray,Ka.x,Ka.y,gi.x,gi.y,0,0,ha),Ps(this.layoutVertexArray,Ka.x,Ka.y,gi.x,gi.y,0,1,ha),ht.x+=2*Ka.x,ht.y+=2*Ka.y,ht.vertexCount+=2,ha+=qi,Ps(this.layoutVertexArray,Wi.x,Wi.y,gi.x,gi.y,0,0,ha),Ps(this.layoutVertexArray,Wi.x,Wi.y,gi.x,gi.y,0,1,ha),ht.x+=2*Wi.x,ht.y+=2*Wi.y,ht.vertexCount+=2;let en=Ut.vertexLength;this.indexArray.emplaceBack(en,en+2,en+1),this.indexArray.emplaceBack(en+1,en+2,en+3),Ut.vertexLength+=4,Ut.primitiveLength+=2}}}}if(Ut.vertexLength+Et>Mt.MAX_VERTEX_ARRAY_LENGTH&&(Ut=this.segments.prepareSegment(Et,this.layoutVertexArray,this.indexArray)),_o[D.type]!==\"Polygon\")continue;let or=[],Mr=[],zr=Ut.vertexLength;for(let ia of We)if(ia.length!==0){ia!==We[0]&&Mr.push(or.length/2);for(let ha=0;havo)||W.y===D.y&&(W.y<0||W.y>vo)}function Ys(W){return W.every(D=>D.x<0)||W.every(D=>D.x>vo)||W.every(D=>D.y<0)||W.every(D=>D.y>vo)}let mu;mi(\"FillExtrusionBucket\",Do,{omit:[\"layers\",\"features\"]});var Ep={get paint(){return mu=mu||new Ue({\"fill-extrusion-opacity\":new ho(re[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Ro(re[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new ho(re[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new ho(re[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Dc(re[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Ro(re[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Ro(re[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new ho(re[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class kp extends ie{constructor(D){super(D,Ep)}createBucket(D){return new Do(D)}queryRadius(){return yn(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(D,J,pe,ke,je,We,ht,Et){let Ut=zi(D,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),We.angle,ht),or=this.paint.get(\"fill-extrusion-height\").evaluate(J,pe),Mr=this.paint.get(\"fill-extrusion-base\").evaluate(J,pe),zr=function(ia,ha,ja,Ka){let Wi=[];for(let gi of ia){let qi=[gi.x,gi.y,0,1];pn(qi,qi,ha),Wi.push(new n(qi[0]/qi[3],qi[1]/qi[3]))}return Wi}(Ut,Et),Wr=function(ia,ha,ja,Ka){let Wi=[],gi=[],qi=Ka[8]*ha,en=Ka[9]*ha,qn=Ka[10]*ha,Eo=Ka[11]*ha,ys=Ka[8]*ja,mo=Ka[9]*ja,zn=Ka[10]*ja,ts=Ka[11]*ja;for(let Uo of ia){let zo=[],wn=[];for(let os of Uo){let Fo=os.x,Ls=os.y,Ku=Ka[0]*Fo+Ka[4]*Ls+Ka[12],Uu=Ka[1]*Fo+Ka[5]*Ls+Ka[13],th=Ka[2]*Fo+Ka[6]*Ls+Ka[14],Hp=Ka[3]*Fo+Ka[7]*Ls+Ka[15],Th=th+qn,rh=Hp+Eo,Jh=Ku+ys,$h=Uu+mo,Qh=th+zn,ff=Hp+ts,ah=new n((Ku+qi)/rh,(Uu+en)/rh);ah.z=Th/rh,zo.push(ah);let Fh=new n(Jh/ff,$h/ff);Fh.z=Qh/ff,wn.push(Fh)}Wi.push(zo),gi.push(wn)}return[Wi,gi]}(ke,Mr,or,Et);return function(ia,ha,ja){let Ka=1/0;Zt(ja,ha)&&(Ka=qp(ja,ha[0]));for(let Wi=0;WiJ.id),this.index=D.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(J=>{this.gradients[J.id]={}}),this.layoutVertexArray=new Ru,this.layoutVertexArray2=new vu,this.indexArray=new Fe,this.programConfigurations=new al(D.layers,D.zoom),this.segments=new Mt,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(D,J,pe){this.hasPattern=Bt(\"line\",this.layers,J);let ke=this.layers[0].layout.get(\"line-sort-key\"),je=!ke.isConstant(),We=[];for(let{feature:ht,id:Et,index:Ut,sourceLayerIndex:or}of D){let Mr=this.layers[0]._featureFilter.needGeometry,zr=Hl(ht,Mr);if(!this.layers[0]._featureFilter.filter(new Rs(this.zoom),zr,pe))continue;let Wr=je?ke.evaluate(zr,{},pe):void 0,ia={id:Et,properties:ht.properties,type:ht.type,sourceLayerIndex:or,index:Ut,geometry:Mr?zr.geometry:Al(ht),patterns:{},sortKey:Wr};We.push(ia)}je&&We.sort((ht,Et)=>ht.sortKey-Et.sortKey);for(let ht of We){let{geometry:Et,index:Ut,sourceLayerIndex:or}=ht;if(this.hasPattern){let Mr=nr(\"line\",this.layers,ht,this.zoom,J);this.patternFeatures.push(Mr)}else this.addFeature(ht,Et,Ut,pe,{});J.featureIndex.insert(D[Ut].feature,Et,Ut,or,this.index)}}update(D,J,pe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,J,this.stateDependentLayers,pe)}addFeatures(D,J,pe){for(let ke of this.patternFeatures)this.addFeature(ke,ke.geometry,ke.index,J,pe)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(D){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=D.createVertexBuffer(this.layoutVertexArray2,td)),this.layoutVertexBuffer=D.createVertexBuffer(this.layoutVertexArray,ed),this.indexBuffer=D.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(D),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(D){if(D.properties&&Object.prototype.hasOwnProperty.call(D.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(D.properties,\"mapbox_clip_end\"))return{start:+D.properties.mapbox_clip_start,end:+D.properties.mapbox_clip_end}}addFeature(D,J,pe,ke,je){let We=this.layers[0].layout,ht=We.get(\"line-join\").evaluate(D,{}),Et=We.get(\"line-cap\"),Ut=We.get(\"line-miter-limit\"),or=We.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(D);for(let Mr of J)this.addLine(Mr,D,ht,Et,Ut,or);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,D,pe,je,ke)}addLine(D,J,pe,ke,je,We){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Ka=0;Ka=2&&D[Et-1].equals(D[Et-2]);)Et--;let Ut=0;for(;Ut0;if(Eo&&Ka>Ut){let ts=zr.dist(Wr);if(ts>2*or){let Uo=zr.sub(zr.sub(Wr)._mult(or/ts)._round());this.updateDistance(Wr,Uo),this.addCurrentVertex(Uo,ha,0,0,Mr),Wr=Uo}}let mo=Wr&&ia,zn=mo?pe:ht?\"butt\":ke;if(mo&&zn===\"round\"&&(enje&&(zn=\"bevel\"),zn===\"bevel\"&&(en>2&&(zn=\"flipbevel\"),en100)Wi=ja.mult(-1);else{let ts=en*ha.add(ja).mag()/ha.sub(ja).mag();Wi._perp()._mult(ts*(ys?-1:1))}this.addCurrentVertex(zr,Wi,0,0,Mr),this.addCurrentVertex(zr,Wi.mult(-1),0,0,Mr)}else if(zn===\"bevel\"||zn===\"fakeround\"){let ts=-Math.sqrt(en*en-1),Uo=ys?ts:0,zo=ys?0:ts;if(Wr&&this.addCurrentVertex(zr,ha,Uo,zo,Mr),zn===\"fakeround\"){let wn=Math.round(180*qn/Math.PI/20);for(let os=1;os2*or){let Uo=zr.add(ia.sub(zr)._mult(or/ts)._round());this.updateDistance(zr,Uo),this.addCurrentVertex(Uo,ja,0,0,Mr),zr=Uo}}}}addCurrentVertex(D,J,pe,ke,je,We=!1){let ht=J.y*ke-J.x,Et=-J.y-J.x*ke;this.addHalfVertex(D,J.x+J.y*pe,J.y-J.x*pe,We,!1,pe,je),this.addHalfVertex(D,ht,Et,We,!0,-ke,je),this.distance>Cp/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(D,J,pe,ke,je,We))}addHalfVertex({x:D,y:J},pe,ke,je,We,ht,Et){let Ut=.5*(this.lineClips?this.scaledDistance*(Cp-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((D<<1)+(je?1:0),(J<<1)+(We?1:0),Math.round(63*pe)+128,Math.round(63*ke)+128,1+(ht===0?0:ht<0?-1:1)|(63&Ut)<<2,Ut>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let or=Et.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,or),Et.primitiveLength++),We?this.e2=or:this.e1=or}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(D,J){this.distance+=D.dist(J),this.updateScaledDistance()}}let Lp,Cv;mi(\"LineBucket\",Vp,{omit:[\"layers\",\"patternFeatures\"]});var Vd={get paint(){return Cv=Cv||new Ue({\"line-opacity\":new Ro(re.paint_line[\"line-opacity\"]),\"line-color\":new Ro(re.paint_line[\"line-color\"]),\"line-translate\":new ho(re.paint_line[\"line-translate\"]),\"line-translate-anchor\":new ho(re.paint_line[\"line-translate-anchor\"]),\"line-width\":new Ro(re.paint_line[\"line-width\"]),\"line-gap-width\":new Ro(re.paint_line[\"line-gap-width\"]),\"line-offset\":new Ro(re.paint_line[\"line-offset\"]),\"line-blur\":new Ro(re.paint_line[\"line-blur\"]),\"line-dasharray\":new lc(re.paint_line[\"line-dasharray\"]),\"line-pattern\":new Dc(re.paint_line[\"line-pattern\"]),\"line-gradient\":new Yu(re.paint_line[\"line-gradient\"])})},get layout(){return Lp=Lp||new Ue({\"line-cap\":new ho(re.layout_line[\"line-cap\"]),\"line-join\":new Ro(re.layout_line[\"line-join\"]),\"line-miter-limit\":new ho(re.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new ho(re.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Ro(re.layout_line[\"line-sort-key\"])})}};class Gf extends Ro{possiblyEvaluate(D,J){return J=new Rs(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),super.possiblyEvaluate(D,J)}evaluate(D,J,pe,ke){return J=M({},J,{zoom:Math.floor(J.zoom)}),super.evaluate(D,J,pe,ke)}}let Gd;class Lv extends ie{constructor(D){super(D,Vd),this.gradientVersion=0,Gd||(Gd=new Gf(Vd.paint.properties[\"line-width\"].specification),Gd.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(D){if(D===\"line-gradient\"){let J=this.gradientExpression();this.stepInterpolant=!!function(pe){return pe._styleExpression!==void 0}(J)&&J._styleExpression.expression instanceof Ta,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(D,J){super.recalculate(D,J),this.paint._values[\"line-floorwidth\"]=Gd.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,D)}createBucket(D){return new Vp(D)}queryRadius(D){let J=D,pe=ph(si(\"line-width\",this,J),si(\"line-gap-width\",this,J)),ke=si(\"line-offset\",this,J);return pe/2+Math.abs(ke)+yn(this.paint.get(\"line-translate\"))}queryIntersectsFeature(D,J,pe,ke,je,We,ht){let Et=zi(D,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),We.angle,ht),Ut=ht/2*ph(this.paint.get(\"line-width\").evaluate(J,pe),this.paint.get(\"line-gap-width\").evaluate(J,pe)),or=this.paint.get(\"line-offset\").evaluate(J,pe);return or&&(ke=function(Mr,zr){let Wr=[];for(let ia=0;ia=3){for(let ja=0;ja0?D+2*W:W}let iv=dt([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),nm=dt([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);dt([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let om=dt([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);dt([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let Pv=dt([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),nv=dt([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function ov(W,D,J){return W.sections.forEach(pe=>{pe.text=function(ke,je,We){let ht=je.layout.get(\"text-transform\").evaluate(We,{});return ht===\"uppercase\"?ke=ke.toLocaleUpperCase():ht===\"lowercase\"&&(ke=ke.toLocaleLowerCase()),Js.applyArabicShaping&&(ke=Js.applyArabicShaping(ke)),ke}(pe.text,D,J)}),W}dt([{name:\"triangle\",components:3,type:\"Uint16\"}]),dt([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),dt([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),dt([{type:\"Float32\",name:\"offsetX\"}]),dt([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),dt([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let cc={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var fu=24,Dh=Mu,Iv=function(W,D,J,pe,ke){var je,We,ht=8*ke-pe-1,Et=(1<>1,or=-7,Mr=J?ke-1:0,zr=J?-1:1,Wr=W[D+Mr];for(Mr+=zr,je=Wr&(1<<-or)-1,Wr>>=-or,or+=ht;or>0;je=256*je+W[D+Mr],Mr+=zr,or-=8);for(We=je&(1<<-or)-1,je>>=-or,or+=pe;or>0;We=256*We+W[D+Mr],Mr+=zr,or-=8);if(je===0)je=1-Ut;else{if(je===Et)return We?NaN:1/0*(Wr?-1:1);We+=Math.pow(2,pe),je-=Ut}return(Wr?-1:1)*We*Math.pow(2,je-pe)},sm=function(W,D,J,pe,ke,je){var We,ht,Et,Ut=8*je-ke-1,or=(1<>1,zr=ke===23?Math.pow(2,-24)-Math.pow(2,-77):0,Wr=pe?0:je-1,ia=pe?1:-1,ha=D<0||D===0&&1/D<0?1:0;for(D=Math.abs(D),isNaN(D)||D===1/0?(ht=isNaN(D)?1:0,We=or):(We=Math.floor(Math.log(D)/Math.LN2),D*(Et=Math.pow(2,-We))<1&&(We--,Et*=2),(D+=We+Mr>=1?zr/Et:zr*Math.pow(2,1-Mr))*Et>=2&&(We++,Et/=2),We+Mr>=or?(ht=0,We=or):We+Mr>=1?(ht=(D*Et-1)*Math.pow(2,ke),We+=Mr):(ht=D*Math.pow(2,Mr-1)*Math.pow(2,ke),We=0));ke>=8;W[J+Wr]=255&ht,Wr+=ia,ht/=256,ke-=8);for(We=We<0;W[J+Wr]=255&We,Wr+=ia,We/=256,Ut-=8);W[J+Wr-ia]|=128*ha};function Mu(W){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(W)?W:new Uint8Array(W||0),this.pos=0,this.type=0,this.length=this.buf.length}Mu.Varint=0,Mu.Fixed64=1,Mu.Bytes=2,Mu.Fixed32=5;var w0=4294967296,sv=1/w0,xg=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf-8\");function Pp(W){return W.type===Mu.Bytes?W.readVarint()+W.pos:W.pos+1}function lv(W,D,J){return J?4294967296*D+(W>>>0):4294967296*(D>>>0)+(W>>>0)}function bg(W,D,J){var pe=D<=16383?1:D<=2097151?2:D<=268435455?3:Math.floor(Math.log(D)/(7*Math.LN2));J.realloc(pe);for(var ke=J.pos-1;ke>=W;ke--)J.buf[ke+pe]=J.buf[ke]}function T0(W,D){for(var J=0;J>>8,W[J+2]=D>>>16,W[J+3]=D>>>24}function Lx(W,D){return(W[D]|W[D+1]<<8|W[D+2]<<16)+(W[D+3]<<24)}Mu.prototype={destroy:function(){this.buf=null},readFields:function(W,D,J){for(J=J||this.length;this.pos>3,je=this.pos;this.type=7&pe,W(ke,D,this),this.pos===je&&this.skip(pe)}return D},readMessage:function(W,D){return this.readFields(W,D,this.readVarint()+this.pos)},readFixed32:function(){var W=Rv(this.buf,this.pos);return this.pos+=4,W},readSFixed32:function(){var W=Lx(this.buf,this.pos);return this.pos+=4,W},readFixed64:function(){var W=Rv(this.buf,this.pos)+Rv(this.buf,this.pos+4)*w0;return this.pos+=8,W},readSFixed64:function(){var W=Rv(this.buf,this.pos)+Lx(this.buf,this.pos+4)*w0;return this.pos+=8,W},readFloat:function(){var W=Iv(this.buf,this.pos,!0,23,4);return this.pos+=4,W},readDouble:function(){var W=Iv(this.buf,this.pos,!0,52,8);return this.pos+=8,W},readVarint:function(W){var D,J,pe=this.buf;return D=127&(J=pe[this.pos++]),J<128?D:(D|=(127&(J=pe[this.pos++]))<<7,J<128?D:(D|=(127&(J=pe[this.pos++]))<<14,J<128?D:(D|=(127&(J=pe[this.pos++]))<<21,J<128?D:function(ke,je,We){var ht,Et,Ut=We.buf;if(ht=(112&(Et=Ut[We.pos++]))>>4,Et<128||(ht|=(127&(Et=Ut[We.pos++]))<<3,Et<128)||(ht|=(127&(Et=Ut[We.pos++]))<<10,Et<128)||(ht|=(127&(Et=Ut[We.pos++]))<<17,Et<128)||(ht|=(127&(Et=Ut[We.pos++]))<<24,Et<128)||(ht|=(1&(Et=Ut[We.pos++]))<<31,Et<128))return lv(ke,ht,je);throw new Error(\"Expected varint not more than 10 bytes\")}(D|=(15&(J=pe[this.pos]))<<28,W,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var W=this.readVarint();return W%2==1?(W+1)/-2:W/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var W=this.readVarint()+this.pos,D=this.pos;return this.pos=W,W-D>=12&&xg?function(J,pe,ke){return xg.decode(J.subarray(pe,ke))}(this.buf,D,W):function(J,pe,ke){for(var je=\"\",We=pe;We239?4:or>223?3:or>191?2:1;if(We+zr>ke)break;zr===1?or<128&&(Mr=or):zr===2?(192&(ht=J[We+1]))==128&&(Mr=(31&or)<<6|63&ht)<=127&&(Mr=null):zr===3?(Et=J[We+2],(192&(ht=J[We+1]))==128&&(192&Et)==128&&((Mr=(15&or)<<12|(63&ht)<<6|63&Et)<=2047||Mr>=55296&&Mr<=57343)&&(Mr=null)):zr===4&&(Et=J[We+2],Ut=J[We+3],(192&(ht=J[We+1]))==128&&(192&Et)==128&&(192&Ut)==128&&((Mr=(15&or)<<18|(63&ht)<<12|(63&Et)<<6|63&Ut)<=65535||Mr>=1114112)&&(Mr=null)),Mr===null?(Mr=65533,zr=1):Mr>65535&&(Mr-=65536,je+=String.fromCharCode(Mr>>>10&1023|55296),Mr=56320|1023&Mr),je+=String.fromCharCode(Mr),We+=zr}return je}(this.buf,D,W)},readBytes:function(){var W=this.readVarint()+this.pos,D=this.buf.subarray(this.pos,W);return this.pos=W,D},readPackedVarint:function(W,D){if(this.type!==Mu.Bytes)return W.push(this.readVarint(D));var J=Pp(this);for(W=W||[];this.pos127;);else if(D===Mu.Bytes)this.pos=this.readVarint()+this.pos;else if(D===Mu.Fixed32)this.pos+=4;else{if(D!==Mu.Fixed64)throw new Error(\"Unimplemented type: \"+D);this.pos+=8}},writeTag:function(W,D){this.writeVarint(W<<3|D)},realloc:function(W){for(var D=this.length||16;D268435455||W<0?function(D,J){var pe,ke;if(D>=0?(pe=D%4294967296|0,ke=D/4294967296|0):(ke=~(-D/4294967296),4294967295^(pe=~(-D%4294967296))?pe=pe+1|0:(pe=0,ke=ke+1|0)),D>=18446744073709552e3||D<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");J.realloc(10),function(je,We,ht){ht.buf[ht.pos++]=127&je|128,je>>>=7,ht.buf[ht.pos++]=127&je|128,je>>>=7,ht.buf[ht.pos++]=127&je|128,je>>>=7,ht.buf[ht.pos++]=127&je|128,ht.buf[ht.pos]=127&(je>>>=7)}(pe,0,J),function(je,We){var ht=(7&je)<<4;We.buf[We.pos++]|=ht|((je>>>=3)?128:0),je&&(We.buf[We.pos++]=127&je|((je>>>=7)?128:0),je&&(We.buf[We.pos++]=127&je|((je>>>=7)?128:0),je&&(We.buf[We.pos++]=127&je|((je>>>=7)?128:0),je&&(We.buf[We.pos++]=127&je|((je>>>=7)?128:0),je&&(We.buf[We.pos++]=127&je)))))}(ke,J)}(W,this):(this.realloc(4),this.buf[this.pos++]=127&W|(W>127?128:0),W<=127||(this.buf[this.pos++]=127&(W>>>=7)|(W>127?128:0),W<=127||(this.buf[this.pos++]=127&(W>>>=7)|(W>127?128:0),W<=127||(this.buf[this.pos++]=W>>>7&127))))},writeSVarint:function(W){this.writeVarint(W<0?2*-W-1:2*W)},writeBoolean:function(W){this.writeVarint(!!W)},writeString:function(W){W=String(W),this.realloc(4*W.length),this.pos++;var D=this.pos;this.pos=function(pe,ke,je){for(var We,ht,Et=0;Et55295&&We<57344){if(!ht){We>56319||Et+1===ke.length?(pe[je++]=239,pe[je++]=191,pe[je++]=189):ht=We;continue}if(We<56320){pe[je++]=239,pe[je++]=191,pe[je++]=189,ht=We;continue}We=ht-55296<<10|We-56320|65536,ht=null}else ht&&(pe[je++]=239,pe[je++]=191,pe[je++]=189,ht=null);We<128?pe[je++]=We:(We<2048?pe[je++]=We>>6|192:(We<65536?pe[je++]=We>>12|224:(pe[je++]=We>>18|240,pe[je++]=We>>12&63|128),pe[je++]=We>>6&63|128),pe[je++]=63&We|128)}return je}(this.buf,W,this.pos);var J=this.pos-D;J>=128&&bg(D,J,this),this.pos=D-1,this.writeVarint(J),this.pos+=J},writeFloat:function(W){this.realloc(4),sm(this.buf,W,this.pos,!0,23,4),this.pos+=4},writeDouble:function(W){this.realloc(8),sm(this.buf,W,this.pos,!0,52,8),this.pos+=8},writeBytes:function(W){var D=W.length;this.writeVarint(D),this.realloc(D);for(var J=0;J=128&&bg(J,pe,this),this.pos=J-1,this.writeVarint(pe),this.pos+=pe},writeMessage:function(W,D,J){this.writeTag(W,Mu.Bytes),this.writeRawMessage(D,J)},writePackedVarint:function(W,D){D.length&&this.writeMessage(W,T0,D)},writePackedSVarint:function(W,D){D.length&&this.writeMessage(W,UT,D)},writePackedBoolean:function(W,D){D.length&&this.writeMessage(W,VT,D)},writePackedFloat:function(W,D){D.length&&this.writeMessage(W,jT,D)},writePackedDouble:function(W,D){D.length&&this.writeMessage(W,qT,D)},writePackedFixed32:function(W,D){D.length&&this.writeMessage(W,vk,D)},writePackedSFixed32:function(W,D){D.length&&this.writeMessage(W,GT,D)},writePackedFixed64:function(W,D){D.length&&this.writeMessage(W,HT,D)},writePackedSFixed64:function(W,D){D.length&&this.writeMessage(W,WT,D)},writeBytesField:function(W,D){this.writeTag(W,Mu.Bytes),this.writeBytes(D)},writeFixed32Field:function(W,D){this.writeTag(W,Mu.Fixed32),this.writeFixed32(D)},writeSFixed32Field:function(W,D){this.writeTag(W,Mu.Fixed32),this.writeSFixed32(D)},writeFixed64Field:function(W,D){this.writeTag(W,Mu.Fixed64),this.writeFixed64(D)},writeSFixed64Field:function(W,D){this.writeTag(W,Mu.Fixed64),this.writeSFixed64(D)},writeVarintField:function(W,D){this.writeTag(W,Mu.Varint),this.writeVarint(D)},writeSVarintField:function(W,D){this.writeTag(W,Mu.Varint),this.writeSVarint(D)},writeStringField:function(W,D){this.writeTag(W,Mu.Bytes),this.writeString(D)},writeFloatField:function(W,D){this.writeTag(W,Mu.Fixed32),this.writeFloat(D)},writeDoubleField:function(W,D){this.writeTag(W,Mu.Fixed64),this.writeDouble(D)},writeBooleanField:function(W,D){this.writeVarintField(W,!!D)}};var P1=r(Dh);let I1=3;function mk(W,D,J){W===1&&J.readMessage(XT,D)}function XT(W,D,J){if(W===3){let{id:pe,bitmap:ke,width:je,height:We,left:ht,top:Et,advance:Ut}=J.readMessage(Px,{});D.push({id:pe,bitmap:new In({width:je+2*I1,height:We+2*I1},ke),metrics:{width:je,height:We,left:ht,top:Et,advance:Ut}})}}function Px(W,D,J){W===1?D.id=J.readVarint():W===2?D.bitmap=J.readBytes():W===3?D.width=J.readVarint():W===4?D.height=J.readVarint():W===5?D.left=J.readSVarint():W===6?D.top=J.readSVarint():W===7&&(D.advance=J.readVarint())}let Ix=I1;function R1(W){let D=0,J=0;for(let We of W)D+=We.w*We.h,J=Math.max(J,We.w);W.sort((We,ht)=>ht.h-We.h);let pe=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(D/.95)),J),h:1/0}],ke=0,je=0;for(let We of W)for(let ht=pe.length-1;ht>=0;ht--){let Et=pe[ht];if(!(We.w>Et.w||We.h>Et.h)){if(We.x=Et.x,We.y=Et.y,je=Math.max(je,We.y+We.h),ke=Math.max(ke,We.x+We.w),We.w===Et.w&&We.h===Et.h){let Ut=pe.pop();ht=0&&pe>=D&&Ag[this.text.charCodeAt(pe)];pe--)J--;this.text=this.text.substring(D,J),this.sectionIndex=this.sectionIndex.slice(D,J)}substring(D,J){let pe=new lm;return pe.text=this.text.substring(D,J),pe.sectionIndex=this.sectionIndex.slice(D,J),pe.sections=this.sections,pe}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((D,J)=>Math.max(D,this.sections[J].scale),0)}addTextSection(D,J){this.text+=D.text,this.sections.push(S0.forText(D.scale,D.fontStack||J));let pe=this.sections.length-1;for(let ke=0;ke=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function M0(W,D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia){let ha=lm.fromFeature(W,ke),ja;Mr===e.ah.vertical&&ha.verticalizePunctuation();let{processBidirectionalText:Ka,processStyledBidirectionalText:Wi}=Js;if(Ka&&ha.sections.length===1){ja=[];let en=Ka(ha.toString(),um(ha,Ut,je,D,pe,Wr));for(let qn of en){let Eo=new lm;Eo.text=qn,Eo.sections=ha.sections;for(let ys=0;ys0&&Xp>yf&&(yf=Xp)}else{let zc=Eo[hu.fontStack],Pf=zc&&zc[Ju];if(Pf&&Pf.rect)vm=Pf.rect,$c=Pf.metrics;else{let Xp=qn[hu.fontStack],Zd=Xp&&Xp[Ju];if(!Zd)continue;$c=Zd.metrics}Dp=(ah-hu.scale)*fu}Wp?(en.verticalizable=!0,dh.push({glyph:Ju,imageName:_d,x:Ls,y:Ku+Dp,vertical:Wp,scale:hu.scale,fontStack:hu.fontStack,sectionIndex:fc,metrics:$c,rect:vm}),Ls+=fd*hu.scale+wn):(dh.push({glyph:Ju,imageName:_d,x:Ls,y:Ku+Dp,vertical:Wp,scale:hu.scale,fontStack:hu.fontStack,sectionIndex:fc,metrics:$c,rect:vm}),Ls+=$c.advance*hu.scale+wn)}dh.length!==0&&(Uu=Math.max(Ls-wn,Uu),uv(dh,0,dh.length-1,Hp,yf)),Ls=0;let Rp=zn*ah+yf;Ah.lineOffset=Math.max(yf,Fh),Ku+=Rp,th=Math.max(Rp,th),++Th}var rh;let Jh=Ku-eh,{horizontalAlign:$h,verticalAlign:Qh}=Mg(ts);(function(ff,ah,Fh,Ah,dh,yf,Rp,dp,hu){let fc=(ah-Fh)*dh,Ju=0;Ju=yf!==Rp?-dp*Ah-eh:(-Ah*hu+.5)*Rp;for(let Dp of ff)for(let $c of Dp.positionedGlyphs)$c.x+=fc,$c.y+=Ju})(en.positionedLines,Hp,$h,Qh,Uu,th,zn,Jh,mo.length),en.top+=-Qh*Jh,en.bottom=en.top+Jh,en.left+=-$h*Uu,en.right=en.left+Uu}(qi,D,J,pe,ja,We,ht,Et,Mr,Ut,zr,ia),!function(en){for(let qn of en)if(qn.positionedGlyphs.length!==0)return!1;return!0}(gi)&&qi}let Ag={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ZT={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},YT={40:!0};function Rx(W,D,J,pe,ke,je){if(D.imageName){let We=pe[D.imageName];return We?We.displaySize[0]*D.scale*fu/je+ke:0}{let We=J[D.fontStack],ht=We&&We[W];return ht?ht.metrics.advance*D.scale+ke:0}}function Dx(W,D,J,pe){let ke=Math.pow(W-D,2);return pe?W=0,Ut=0;for(let Mr=0;MrUt){let or=Math.ceil(je/Ut);ke*=or/We,We=or}return{x1:pe,y1:ke,x2:pe+je,y2:ke+We}}function Ox(W,D,J,pe,ke,je){let We=W.image,ht;if(We.content){let ja=We.content,Ka=We.pixelRatio||1;ht=[ja[0]/Ka,ja[1]/Ka,We.displaySize[0]-ja[2]/Ka,We.displaySize[1]-ja[3]/Ka]}let Et=D.left*je,Ut=D.right*je,or,Mr,zr,Wr;J===\"width\"||J===\"both\"?(Wr=ke[0]+Et-pe[3],Mr=ke[0]+Ut+pe[1]):(Wr=ke[0]+(Et+Ut-We.displaySize[0])/2,Mr=Wr+We.displaySize[0]);let ia=D.top*je,ha=D.bottom*je;return J===\"height\"||J===\"both\"?(or=ke[1]+ia-pe[0],zr=ke[1]+ha+pe[2]):(or=ke[1]+(ia+ha-We.displaySize[1])/2,zr=or+We.displaySize[1]),{image:We,top:or,right:Mr,bottom:zr,left:Wr,collisionPadding:ht}}let k0=255,yd=128,cv=k0*yd;function Bx(W,D){let{expression:J}=D;if(J.kind===\"constant\")return{kind:\"constant\",layoutSize:J.evaluate(new Rs(W+1))};if(J.kind===\"source\")return{kind:\"source\"};{let{zoomStops:pe,interpolationType:ke}=J,je=0;for(;jeWe.id),this.index=D.index,this.pixelRatio=D.pixelRatio,this.sourceLayerIndex=D.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=di([]),this.placementViewportMatrix=di([]);let J=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Bx(this.zoom,J[\"text-size\"]),this.iconSizeData=Bx(this.zoom,J[\"icon-size\"]);let pe=this.layers[0].layout,ke=pe.get(\"symbol-sort-key\"),je=pe.get(\"symbol-z-order\");this.canOverlap=D1(pe,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||D1(pe,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||pe.get(\"text-ignore-placement\")||pe.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=je!==\"viewport-y\"&&!ke.isConstant(),this.sortFeaturesByY=(je===\"viewport-y\"||je===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,pe.get(\"symbol-placement\")===\"point\"&&(this.writingModes=pe.get(\"text-writing-mode\").map(We=>e.ah[We])),this.stateDependentLayerIds=this.layers.filter(We=>We.isStateDependent()).map(We=>We.id),this.sourceID=D.sourceID}createArrays(){this.text=new O1(new al(this.layers,this.zoom,D=>/^text/.test(D))),this.icon=new O1(new al(this.layers,this.zoom,D=>/^icon/.test(D))),this.glyphOffsetArray=new is,this.lineVertexArray=new Ao,this.symbolInstances=new wo,this.textAnchorOffsets=new ps}calculateGlyphDependencies(D,J,pe,ke,je){for(let We=0;We0)&&(We.value.kind!==\"constant\"||We.value.value.length>0),or=Et.value.kind!==\"constant\"||!!Et.value.value||Object.keys(Et.parameters).length>0,Mr=je.get(\"symbol-sort-key\");if(this.features=[],!Ut&&!or)return;let zr=J.iconDependencies,Wr=J.glyphDependencies,ia=J.availableImages,ha=new Rs(this.zoom);for(let{feature:ja,id:Ka,index:Wi,sourceLayerIndex:gi}of D){let qi=ke._featureFilter.needGeometry,en=Hl(ja,qi);if(!ke._featureFilter.filter(ha,en,pe))continue;let qn,Eo;if(qi||(en.geometry=Al(ja)),Ut){let mo=ke.getValueAndResolveTokens(\"text-field\",en,pe,ia),zn=ra.factory(mo),ts=this.hasRTLText=this.hasRTLText||F1(zn);(!ts||Js.getRTLTextPluginStatus()===\"unavailable\"||ts&&Js.isParsed())&&(qn=ov(zn,ke,en))}if(or){let mo=ke.getValueAndResolveTokens(\"icon-image\",en,pe,ia);Eo=mo instanceof Za?mo:Za.fromString(mo)}if(!qn&&!Eo)continue;let ys=this.sortFeaturesByKey?Mr.evaluate(en,{},pe):void 0;if(this.features.push({id:Ka,text:qn,icon:Eo,index:Wi,sourceLayerIndex:gi,geometry:en.geometry,properties:ja.properties,type:JT[ja.type],sortKey:ys}),Eo&&(zr[Eo.name]=!0),qn){let mo=We.evaluate(en,{},pe).join(\",\"),zn=je.get(\"text-rotation-alignment\")!==\"viewport\"&&je.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.ah.vertical)>=0;for(let ts of qn.sections)if(ts.image)zr[ts.image.name]=!0;else{let Uo=yo(qn.toString()),zo=ts.fontStack||mo,wn=Wr[zo]=Wr[zo]||{};this.calculateGlyphDependencies(ts.text,wn,zn,this.allowVerticalPlacement,Uo)}}}je.get(\"symbol-placement\")===\"line\"&&(this.features=function(ja){let Ka={},Wi={},gi=[],qi=0;function en(mo){gi.push(ja[mo]),qi++}function qn(mo,zn,ts){let Uo=Wi[mo];return delete Wi[mo],Wi[zn]=Uo,gi[Uo].geometry[0].pop(),gi[Uo].geometry[0]=gi[Uo].geometry[0].concat(ts[0]),Uo}function Eo(mo,zn,ts){let Uo=Ka[zn];return delete Ka[zn],Ka[mo]=Uo,gi[Uo].geometry[0].shift(),gi[Uo].geometry[0]=ts[0].concat(gi[Uo].geometry[0]),Uo}function ys(mo,zn,ts){let Uo=ts?zn[0][zn[0].length-1]:zn[0][0];return`${mo}:${Uo.x}:${Uo.y}`}for(let mo=0;momo.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((ja,Ka)=>ja.sortKey-Ka.sortKey)}update(D,J,pe){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(D,J,this.layers,pe),this.icon.programConfigurations.updatePaintArrays(D,J,this.layers,pe))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(D){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(D),this.iconCollisionBox.upload(D)),this.text.upload(D,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(D,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(D,J){let pe=this.lineVertexArray.length;if(D.segment!==void 0){let ke=D.dist(J[D.segment+1]),je=D.dist(J[D.segment]),We={};for(let ht=D.segment+1;ht=0;ht--)We[ht]={x:J[ht].x,y:J[ht].y,tileUnitDistanceFromAnchor:je},ht>0&&(je+=J[ht-1].dist(J[ht]));for(let ht=0;ht0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(D,J){let pe=D.placedSymbolArray.get(J),ke=pe.vertexStartIndex+4*pe.numGlyphs;for(let je=pe.vertexStartIndex;jeke[ht]-ke[Et]||je[Et]-je[ht]),We}addToSortKeyRanges(D,J){let pe=this.sortKeyRanges[this.sortKeyRanges.length-1];pe&&pe.sortKey===J?pe.symbolInstanceEnd=D+1:this.sortKeyRanges.push({sortKey:J,symbolInstanceStart:D,symbolInstanceEnd:D+1})}sortFeatures(D){if(this.sortFeaturesByY&&this.sortedAngle!==D&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(D),this.sortedAngle=D,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let J of this.symbolInstanceIndexes){let pe=this.symbolInstances.get(J);this.featureSortOrder.push(pe.featureIndex),[pe.rightJustifiedTextSymbolIndex,pe.centerJustifiedTextSymbolIndex,pe.leftJustifiedTextSymbolIndex].forEach((ke,je,We)=>{ke>=0&&We.indexOf(ke)===je&&this.addIndicesForPlacedSymbol(this.text,ke)}),pe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,pe.verticalPlacedTextSymbolIndex),pe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,pe.placedIconSymbolIndex),pe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,pe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let cf,C0;mi(\"SymbolBucket\",cm,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),cm.MAX_GLYPHS=65535,cm.addDynamicAttributes=z1;var kg={get paint(){return C0=C0||new Ue({\"icon-opacity\":new Ro(re.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Ro(re.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Ro(re.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Ro(re.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Ro(re.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new ho(re.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new ho(re.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Ro(re.paint_symbol[\"text-opacity\"]),\"text-color\":new Ro(re.paint_symbol[\"text-color\"],{runtimeType:qt,getOverride:W=>W.textColor,hasOverride:W=>!!W.textColor}),\"text-halo-color\":new Ro(re.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Ro(re.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Ro(re.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new ho(re.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new ho(re.paint_symbol[\"text-translate-anchor\"])})},get layout(){return cf=cf||new Ue({\"symbol-placement\":new ho(re.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new ho(re.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new ho(re.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Ro(re.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new ho(re.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new ho(re.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new ho(re.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new ho(re.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new ho(re.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new ho(re.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Ro(re.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new ho(re.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new ho(re.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Ro(re.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Ro(re.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Ro(re.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new ho(re.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Ro(re.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Ro(re.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new ho(re.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new ho(re.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new ho(re.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Ro(re.layout_symbol[\"text-field\"]),\"text-font\":new Ro(re.layout_symbol[\"text-font\"]),\"text-size\":new Ro(re.layout_symbol[\"text-size\"]),\"text-max-width\":new Ro(re.layout_symbol[\"text-max-width\"]),\"text-line-height\":new ho(re.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Ro(re.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Ro(re.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Ro(re.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new ho(re.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new Ro(re.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new Ro(re.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new ho(re.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new ho(re.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Ro(re.layout_symbol[\"text-rotate\"]),\"text-padding\":new ho(re.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new ho(re.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Ro(re.layout_symbol[\"text-transform\"]),\"text-offset\":new Ro(re.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new ho(re.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new ho(re.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new ho(re.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new ho(re.layout_symbol[\"text-optional\"])})}};class L0{constructor(D){if(D.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=D.property.overrides?D.property.overrides.runtimeType:ot,this.defaultValue=D}evaluate(D){if(D.formattedSection){let J=this.defaultValue.property.overrides;if(J&&J.hasOverride(D.formattedSection))return J.getOverride(D.formattedSection)}return D.feature&&D.featureState?this.defaultValue.evaluate(D.feature,D.featureState):this.defaultValue.property.specification.default}eachChild(D){this.defaultValue.isConstant()||D(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",L0,{omit:[\"defaultValue\"]});class Dv extends ie{constructor(D){super(D,kg)}recalculate(D,J){if(super.recalculate(D,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let pe=this.layout.get(\"text-writing-mode\");if(pe){let ke=[];for(let je of pe)ke.indexOf(je)<0&&ke.push(je);this.layout._values[\"text-writing-mode\"]=ke}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(D,J,pe,ke){let je=this.layout.get(D).evaluate(J,{},pe,ke),We=this._unevaluatedLayout._values[D];return We.isDataDriven()||Mc(We.value)||!je?je:function(ht,Et){return Et.replace(/{([^{}]+)}/g,(Ut,or)=>ht&&or in ht?String(ht[or]):\"\")}(J.properties,je)}createBucket(D){return new cm(D)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let D of kg.paint.overridableProperties){if(!Dv.hasPaintOverride(this.layout,D))continue;let J=this.paint.get(D),pe=new L0(J),ke=new Lu(pe,J.property.specification),je=null;je=J.value.kind===\"constant\"||J.value.kind===\"source\"?new vc(\"source\",ke):new yu(\"composite\",ke,J.value.zoomStops),this.paint._values[D]=new Au(J.property,je,J.parameters)}}_handleOverridablePaintPropertyUpdate(D,J,pe){return!(!this.layout||J.isDataDriven()||pe.isDataDriven())&&Dv.hasPaintOverride(this.layout,D)}static hasPaintOverride(D,J){let pe=D.get(\"text-field\"),ke=kg.paint.properties[J],je=!1,We=ht=>{for(let Et of ht)if(ke.overrides&&ke.overrides.hasOverride(Et))return void(je=!0)};if(pe.value.kind===\"constant\"&&pe.value.value instanceof ra)We(pe.value.value.sections);else if(pe.value.kind===\"source\"){let ht=Ut=>{je||(Ut instanceof on&&Ra(Ut.value)===qr?We(Ut.value.sections):Ut instanceof ls?We(Ut.sections):Ut.eachChild(ht))},Et=pe.value;Et._styleExpression&&ht(Et._styleExpression.expression)}return je}}let Nx;var P0={get paint(){return Nx=Nx||new Ue({\"background-color\":new ho(re.paint_background[\"background-color\"]),\"background-pattern\":new lc(re.paint_background[\"background-pattern\"]),\"background-opacity\":new ho(re.paint_background[\"background-opacity\"])})}};class QT extends ie{constructor(D){super(D,P0)}}let B1;var Ux={get paint(){return B1=B1||new Ue({\"raster-opacity\":new ho(re.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new ho(re.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new ho(re.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new ho(re.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new ho(re.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new ho(re.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new ho(re.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new ho(re.paint_raster[\"raster-fade-duration\"])})}};class I0 extends ie{constructor(D){super(D,Ux)}}class N1 extends ie{constructor(D){super(D,{}),this.onAdd=J=>{this.implementation.onAdd&&this.implementation.onAdd(J,J.painter.context.gl)},this.onRemove=J=>{this.implementation.onRemove&&this.implementation.onRemove(J,J.painter.context.gl)},this.implementation=D}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class U1{constructor(D){this._methodToThrottle=D,this._triggered=!1,typeof MessageChannel<\"u\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let j1=63710088e-1;class Hd{constructor(D,J){if(isNaN(D)||isNaN(J))throw new Error(`Invalid LngLat object: (${D}, ${J})`);if(this.lng=+D,this.lat=+J,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new Hd(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(D){let J=Math.PI/180,pe=this.lat*J,ke=D.lat*J,je=Math.sin(pe)*Math.sin(ke)+Math.cos(pe)*Math.cos(ke)*Math.cos((D.lng-this.lng)*J);return j1*Math.acos(Math.min(je,1))}static convert(D){if(D instanceof Hd)return D;if(Array.isArray(D)&&(D.length===2||D.length===3))return new Hd(Number(D[0]),Number(D[1]));if(!Array.isArray(D)&&typeof D==\"object\"&&D!==null)return new Hd(Number(\"lng\"in D?D.lng:D.lon),Number(D.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let fm=2*Math.PI*j1;function jx(W){return fm*Math.cos(W*Math.PI/180)}function Cg(W){return(180+W)/360}function qx(W){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+W*Math.PI/360)))/360}function Lg(W,D){return W/jx(D)}function R0(W){return 360/Math.PI*Math.atan(Math.exp((180-360*W)*Math.PI/180))-90}class D0{constructor(D,J,pe=0){this.x=+D,this.y=+J,this.z=+pe}static fromLngLat(D,J=0){let pe=Hd.convert(D);return new D0(Cg(pe.lng),qx(pe.lat),Lg(J,pe.lat))}toLngLat(){return new Hd(360*this.x-180,R0(this.y))}toAltitude(){return this.z*jx(R0(this.y))}meterInMercatorCoordinateUnits(){return 1/fm*(D=R0(this.y),1/Math.cos(D*Math.PI/180));var D}}function rd(W,D,J){var pe=2*Math.PI*6378137/256/Math.pow(2,J);return[W*pe-2*Math.PI*6378137/2,D*pe-2*Math.PI*6378137/2]}class q1{constructor(D,J,pe){if(!function(ke,je,We){return!(ke<0||ke>25||We<0||We>=Math.pow(2,ke)||je<0||je>=Math.pow(2,ke))}(D,J,pe))throw new Error(`x=${J}, y=${pe}, z=${D} outside of bounds. 0<=x<${Math.pow(2,D)}, 0<=y<${Math.pow(2,D)} 0<=z<=25 `);this.z=D,this.x=J,this.y=pe,this.key=z0(0,D,D,J,pe)}equals(D){return this.z===D.z&&this.x===D.x&&this.y===D.y}url(D,J,pe){let ke=(We=this.y,ht=this.z,Et=rd(256*(je=this.x),256*(We=Math.pow(2,ht)-We-1),ht),Ut=rd(256*(je+1),256*(We+1),ht),Et[0]+\",\"+Et[1]+\",\"+Ut[0]+\",\"+Ut[1]);var je,We,ht,Et,Ut;let or=function(Mr,zr,Wr){let ia,ha=\"\";for(let ja=Mr;ja>0;ja--)ia=1<1?\"@2x\":\"\").replace(/{quadkey}/g,or).replace(/{bbox-epsg-3857}/g,ke)}isChildOf(D){let J=this.z-D.z;return J>0&&D.x===this.x>>J&&D.y===this.y>>J}getTilePoint(D){let J=Math.pow(2,this.z);return new n((D.x*J-this.x)*vo,(D.y*J-this.y)*vo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Vx{constructor(D,J){this.wrap=D,this.canonical=J,this.key=z0(D,J.z,J.z,J.x,J.y)}}class Gp{constructor(D,J,pe,ke,je){if(D= z; overscaledZ = ${D}; z = ${pe}`);this.overscaledZ=D,this.wrap=J,this.canonical=new q1(pe,+ke,+je),this.key=z0(J,D,pe,ke,je)}clone(){return new Gp(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(D){return this.overscaledZ===D.overscaledZ&&this.wrap===D.wrap&&this.canonical.equals(D.canonical)}scaledTo(D){if(D>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${D}; overscaledZ = ${this.overscaledZ}`);let J=this.canonical.z-D;return D>this.canonical.z?new Gp(D,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Gp(D,this.wrap,D,this.canonical.x>>J,this.canonical.y>>J)}calculateScaledKey(D,J){if(D>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${D}; overscaledZ = ${this.overscaledZ}`);let pe=this.canonical.z-D;return D>this.canonical.z?z0(this.wrap*+J,D,this.canonical.z,this.canonical.x,this.canonical.y):z0(this.wrap*+J,D,D,this.canonical.x>>pe,this.canonical.y>>pe)}isChildOf(D){if(D.wrap!==this.wrap)return!1;let J=this.canonical.z-D.canonical.z;return D.overscaledZ===0||D.overscaledZ>J&&D.canonical.y===this.canonical.y>>J}children(D){if(this.overscaledZ>=D)return[new Gp(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let J=this.canonical.z+1,pe=2*this.canonical.x,ke=2*this.canonical.y;return[new Gp(J,this.wrap,J,pe,ke),new Gp(J,this.wrap,J,pe+1,ke),new Gp(J,this.wrap,J,pe,ke+1),new Gp(J,this.wrap,J,pe+1,ke+1)]}isLessThan(D){return this.wrapD.wrap)&&(this.overscaledZD.overscaledZ)&&(this.canonical.xD.canonical.x)&&this.canonical.ythis.max&&(this.max=Mr),Mr=this.dim+1||J<-1||J>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(J+1)*this.stride+(D+1)}unpack(D,J,pe){return D*this.redFactor+J*this.greenFactor+pe*this.blueFactor-this.baseShift}getPixels(){return new Ii({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(D,J,pe){if(this.dim!==D.dim)throw new Error(\"dem dimension mismatch\");let ke=J*this.dim,je=J*this.dim+this.dim,We=pe*this.dim,ht=pe*this.dim+this.dim;switch(J){case-1:ke=je-1;break;case 1:je=ke+1}switch(pe){case-1:We=ht-1;break;case 1:ht=We+1}let Et=-J*this.dim,Ut=-pe*this.dim;for(let or=We;or=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${D} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[D]}}class V1{constructor(D,J,pe,ke,je){this.type=\"Feature\",this._vectorTileFeature=D,D._z=J,D._x=pe,D._y=ke,this.properties=D.properties,this.id=je}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(D){this._geometry=D}toJSON(){let D={geometry:this.geometry};for(let J in this)J!==\"_geometry\"&&J!==\"_vectorTileFeature\"&&(D[J]=this[J]);return D}}class zv{constructor(D,J){this.tileID=D,this.x=D.canonical.x,this.y=D.canonical.y,this.z=D.canonical.z,this.grid=new Di(vo,16,0),this.grid3D=new Di(vo,16,0),this.featureIndexArray=new tl,this.promoteId=J}insert(D,J,pe,ke,je,We){let ht=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(pe,ke,je);let Et=We?this.grid3D:this.grid;for(let Ut=0;Ut=0&&Mr[3]>=0&&Et.insert(ht,Mr[0],Mr[1],Mr[2],Mr[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Jr.VectorTile(new P1(this.rawTileData)).layers,this.sourceLayerCoder=new Hx(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(D,J,pe,ke){this.loadVTLayers();let je=D.params||{},We=vo/D.tileSize/D.scale,ht=Ec(je.filter),Et=D.queryGeometry,Ut=D.queryPadding*We,or=Xx(Et),Mr=this.grid.query(or.minX-Ut,or.minY-Ut,or.maxX+Ut,or.maxY+Ut),zr=Xx(D.cameraQueryGeometry),Wr=this.grid3D.query(zr.minX-Ut,zr.minY-Ut,zr.maxX+Ut,zr.maxY+Ut,(ja,Ka,Wi,gi)=>function(qi,en,qn,Eo,ys){for(let zn of qi)if(en<=zn.x&&qn<=zn.y&&Eo>=zn.x&&ys>=zn.y)return!0;let mo=[new n(en,qn),new n(en,ys),new n(Eo,ys),new n(Eo,qn)];if(qi.length>2){for(let zn of mo)if(bi(qi,zn))return!0}for(let zn=0;zn(gi||(gi=Al(qi)),en.queryIntersectsFeature(Et,qi,qn,gi,this.z,D.transform,We,D.pixelPosMatrix)))}return ia}loadMatchingFeature(D,J,pe,ke,je,We,ht,Et,Ut,or,Mr){let zr=this.bucketLayerIDs[J];if(We&&!function(ja,Ka){for(let Wi=0;Wi=0)return!0;return!1}(We,zr))return;let Wr=this.sourceLayerCoder.decode(pe),ia=this.vtLayers[Wr].feature(ke);if(je.needGeometry){let ja=Hl(ia,!0);if(!je.filter(new Rs(this.tileID.overscaledZ),ja,this.tileID.canonical))return}else if(!je.filter(new Rs(this.tileID.overscaledZ),ia))return;let ha=this.getId(ia,Wr);for(let ja=0;ja{let ht=D instanceof yc?D.get(We):null;return ht&&ht.evaluate?ht.evaluate(J,pe,ke):ht})}function Xx(W){let D=1/0,J=1/0,pe=-1/0,ke=-1/0;for(let je of W)D=Math.min(D,je.x),J=Math.min(J,je.y),pe=Math.max(pe,je.x),ke=Math.max(ke,je.y);return{minX:D,minY:J,maxX:pe,maxY:ke}}function eA(W,D){return D-W}function Zx(W,D,J,pe,ke){let je=[];for(let We=0;We=pe&&Mr.x>=pe||(or.x>=pe?or=new n(pe,or.y+(pe-or.x)/(Mr.x-or.x)*(Mr.y-or.y))._round():Mr.x>=pe&&(Mr=new n(pe,or.y+(pe-or.x)/(Mr.x-or.x)*(Mr.y-or.y))._round()),or.y>=ke&&Mr.y>=ke||(or.y>=ke?or=new n(or.x+(ke-or.y)/(Mr.y-or.y)*(Mr.x-or.x),ke)._round():Mr.y>=ke&&(Mr=new n(or.x+(ke-or.y)/(Mr.y-or.y)*(Mr.x-or.x),ke)._round()),Et&&or.equals(Et[Et.length-1])||(Et=[or],je.push(Et)),Et.push(Mr)))))}}return je}mi(\"FeatureIndex\",zv,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class Wd extends n{constructor(D,J,pe,ke){super(D,J),this.angle=pe,ke!==void 0&&(this.segment=ke)}clone(){return new Wd(this.x,this.y,this.angle,this.segment)}}function G1(W,D,J,pe,ke){if(D.segment===void 0||J===0)return!0;let je=D,We=D.segment+1,ht=0;for(;ht>-J/2;){if(We--,We<0)return!1;ht-=W[We].dist(je),je=W[We]}ht+=W[We].dist(W[We+1]),We++;let Et=[],Ut=0;for(;htpe;)Ut-=Et.shift().angleDelta;if(Ut>ke)return!1;We++,ht+=or.dist(Mr)}return!0}function Yx(W){let D=0;for(let J=0;JUt){let ia=(Ut-Et)/Wr,ha=On.number(Mr.x,zr.x,ia),ja=On.number(Mr.y,zr.y,ia),Ka=new Wd(ha,ja,zr.angleTo(Mr),or);return Ka._round(),!We||G1(W,Ka,ht,We,D)?Ka:void 0}Et+=Wr}}function rA(W,D,J,pe,ke,je,We,ht,Et){let Ut=Kx(pe,je,We),or=Jx(pe,ke),Mr=or*We,zr=W[0].x===0||W[0].x===Et||W[0].y===0||W[0].y===Et;return D-Mr=0&&qi=0&&en=0&&zr+Ut<=or){let qn=new Wd(qi,en,Wi,ia);qn._round(),pe&&!G1(W,qn,je,pe,ke)||Wr.push(qn)}}Mr+=Ka}return ht||Wr.length||We||(Wr=$x(W,Mr/2,J,pe,ke,je,We,!0,Et)),Wr}mi(\"Anchor\",Wd);let hm=zh;function Qx(W,D,J,pe){let ke=[],je=W.image,We=je.pixelRatio,ht=je.paddedRect.w-2*hm,Et=je.paddedRect.h-2*hm,Ut={x1:W.left,y1:W.top,x2:W.right,y2:W.bottom},or=je.stretchX||[[0,ht]],Mr=je.stretchY||[[0,Et]],zr=(wn,os)=>wn+os[1]-os[0],Wr=or.reduce(zr,0),ia=Mr.reduce(zr,0),ha=ht-Wr,ja=Et-ia,Ka=0,Wi=Wr,gi=0,qi=ia,en=0,qn=ha,Eo=0,ys=ja;if(je.content&&pe){let wn=je.content,os=wn[2]-wn[0],Fo=wn[3]-wn[1];(je.textFitWidth||je.textFitHeight)&&(Ut=Fx(W)),Ka=Xd(or,0,wn[0]),gi=Xd(Mr,0,wn[1]),Wi=Xd(or,wn[0],wn[2]),qi=Xd(Mr,wn[1],wn[3]),en=wn[0]-Ka,Eo=wn[1]-gi,qn=os-Wi,ys=Fo-qi}let mo=Ut.x1,zn=Ut.y1,ts=Ut.x2-mo,Uo=Ut.y2-zn,zo=(wn,os,Fo,Ls)=>{let Ku=Pg(wn.stretch-Ka,Wi,ts,mo),Uu=pm(wn.fixed-en,qn,wn.stretch,Wr),th=Pg(os.stretch-gi,qi,Uo,zn),Hp=pm(os.fixed-Eo,ys,os.stretch,ia),Th=Pg(Fo.stretch-Ka,Wi,ts,mo),rh=pm(Fo.fixed-en,qn,Fo.stretch,Wr),Jh=Pg(Ls.stretch-gi,qi,Uo,zn),$h=pm(Ls.fixed-Eo,ys,Ls.stretch,ia),Qh=new n(Ku,th),ff=new n(Th,th),ah=new n(Th,Jh),Fh=new n(Ku,Jh),Ah=new n(Uu/We,Hp/We),dh=new n(rh/We,$h/We),yf=D*Math.PI/180;if(yf){let hu=Math.sin(yf),fc=Math.cos(yf),Ju=[fc,-hu,hu,fc];Qh._matMult(Ju),ff._matMult(Ju),Fh._matMult(Ju),ah._matMult(Ju)}let Rp=wn.stretch+wn.fixed,dp=os.stretch+os.fixed;return{tl:Qh,tr:ff,bl:Fh,br:ah,tex:{x:je.paddedRect.x+hm+Rp,y:je.paddedRect.y+hm+dp,w:Fo.stretch+Fo.fixed-Rp,h:Ls.stretch+Ls.fixed-dp},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Ah,pixelOffsetBR:dh,minFontScaleX:qn/We/ts,minFontScaleY:ys/We/Uo,isSDF:J}};if(pe&&(je.stretchX||je.stretchY)){let wn=eb(or,ha,Wr),os=eb(Mr,ja,ia);for(let Fo=0;Fo0&&(ha=Math.max(10,ha),this.circleDiameter=ha)}else{let zr=!((Mr=We.image)===null||Mr===void 0)&&Mr.content&&(We.image.textFitWidth||We.image.textFitHeight)?Fx(We):{x1:We.left,y1:We.top,x2:We.right,y2:We.bottom};zr.y1=zr.y1*ht-Et[0],zr.y2=zr.y2*ht+Et[2],zr.x1=zr.x1*ht-Et[3],zr.x2=zr.x2*ht+Et[1];let Wr=We.collisionPadding;if(Wr&&(zr.x1-=Wr[0]*ht,zr.y1-=Wr[1]*ht,zr.x2+=Wr[2]*ht,zr.y2+=Wr[3]*ht),or){let ia=new n(zr.x1,zr.y1),ha=new n(zr.x2,zr.y1),ja=new n(zr.x1,zr.y2),Ka=new n(zr.x2,zr.y2),Wi=or*Math.PI/180;ia._rotate(Wi),ha._rotate(Wi),ja._rotate(Wi),Ka._rotate(Wi),zr.x1=Math.min(ia.x,ha.x,ja.x,Ka.x),zr.x2=Math.max(ia.x,ha.x,ja.x,Ka.x),zr.y1=Math.min(ia.y,ha.y,ja.y,Ka.y),zr.y2=Math.max(ia.y,ha.y,ja.y,Ka.y)}D.emplaceBack(J.x,J.y,zr.x1,zr.y1,zr.x2,zr.y2,pe,ke,je)}this.boxEndIndex=D.length}}class cd{constructor(D=[],J=(pe,ke)=>peke?1:0){if(this.data=D,this.length=this.data.length,this.compare=J,this.length>0)for(let pe=(this.length>>1)-1;pe>=0;pe--)this._down(pe)}push(D){this.data.push(D),this._up(this.length++)}pop(){if(this.length===0)return;let D=this.data[0],J=this.data.pop();return--this.length>0&&(this.data[0]=J,this._down(0)),D}peek(){return this.data[0]}_up(D){let{data:J,compare:pe}=this,ke=J[D];for(;D>0;){let je=D-1>>1,We=J[je];if(pe(ke,We)>=0)break;J[D]=We,D=je}J[D]=ke}_down(D){let{data:J,compare:pe}=this,ke=this.length>>1,je=J[D];for(;D=0)break;J[D]=J[We],D=We}J[D]=je}}function aA(W,D=1,J=!1){let pe=1/0,ke=1/0,je=-1/0,We=-1/0,ht=W[0];for(let Wr=0;Wrje)&&(je=ia.x),(!Wr||ia.y>We)&&(We=ia.y)}let Et=Math.min(je-pe,We-ke),Ut=Et/2,or=new cd([],iA);if(Et===0)return new n(pe,ke);for(let Wr=pe;WrMr.d||!Mr.d)&&(Mr=Wr,J&&console.log(\"found best %d after %d probes\",Math.round(1e4*Wr.d)/1e4,zr)),Wr.max-Mr.d<=D||(Ut=Wr.h/2,or.push(new dm(Wr.p.x-Ut,Wr.p.y-Ut,Ut,W)),or.push(new dm(Wr.p.x+Ut,Wr.p.y-Ut,Ut,W)),or.push(new dm(Wr.p.x-Ut,Wr.p.y+Ut,Ut,W)),or.push(new dm(Wr.p.x+Ut,Wr.p.y+Ut,Ut,W)),zr+=4)}return J&&(console.log(`num probes: ${zr}`),console.log(`best distance: ${Mr.d}`)),Mr.p}function iA(W,D){return D.max-W.max}function dm(W,D,J,pe){this.p=new n(W,D),this.h=J,this.d=function(ke,je){let We=!1,ht=1/0;for(let Et=0;Etke.y!=ia.y>ke.y&&ke.x<(ia.x-Wr.x)*(ke.y-Wr.y)/(ia.y-Wr.y)+Wr.x&&(We=!We),ht=Math.min(ht,_a(ke,Wr,ia))}}return(We?1:-1)*Math.sqrt(ht)}(this.p,pe),this.max=this.d+this.h*Math.SQRT2}var wh;e.aq=void 0,(wh=e.aq||(e.aq={}))[wh.center=1]=\"center\",wh[wh.left=2]=\"left\",wh[wh.right=3]=\"right\",wh[wh.top=4]=\"top\",wh[wh.bottom=5]=\"bottom\",wh[wh[\"top-left\"]=6]=\"top-left\",wh[wh[\"top-right\"]=7]=\"top-right\",wh[wh[\"bottom-left\"]=8]=\"bottom-left\",wh[wh[\"bottom-right\"]=9]=\"bottom-right\";let pv=7,Fv=Number.POSITIVE_INFINITY;function H1(W,D){return D[1]!==Fv?function(J,pe,ke){let je=0,We=0;switch(pe=Math.abs(pe),ke=Math.abs(ke),J){case\"top-right\":case\"top-left\":case\"top\":We=ke-pv;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":We=-ke+pv}switch(J){case\"top-right\":case\"bottom-right\":case\"right\":je=-pe;break;case\"top-left\":case\"bottom-left\":case\"left\":je=pe}return[je,We]}(W,D[0],D[1]):function(J,pe){let ke=0,je=0;pe<0&&(pe=0);let We=pe/Math.SQRT2;switch(J){case\"top-right\":case\"top-left\":je=We-pv;break;case\"bottom-right\":case\"bottom-left\":je=-We+pv;break;case\"bottom\":je=-pe+pv;break;case\"top\":je=pe-pv}switch(J){case\"top-right\":case\"bottom-right\":ke=-We;break;case\"top-left\":case\"bottom-left\":ke=We;break;case\"left\":ke=pe;break;case\"right\":ke=-pe}return[ke,je]}(W,D[0])}function tb(W,D,J){var pe;let ke=W.layout,je=(pe=ke.get(\"text-variable-anchor-offset\"))===null||pe===void 0?void 0:pe.evaluate(D,{},J);if(je){let ht=je.values,Et=[];for(let Ut=0;Utzr*fu);or.startsWith(\"top\")?Mr[1]-=pv:or.startsWith(\"bottom\")&&(Mr[1]+=pv),Et[Ut+1]=Mr}return new $a(Et)}let We=ke.get(\"text-variable-anchor\");if(We){let ht;ht=W._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[ke.get(\"text-radial-offset\").evaluate(D,{},J)*fu,Fv]:ke.get(\"text-offset\").evaluate(D,{},J).map(Ut=>Ut*fu);let Et=[];for(let Ut of We)Et.push(Ut,H1(Ut,ht));return new $a(Et)}return null}function W1(W){switch(W){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function nA(W,D,J,pe,ke,je,We,ht,Et,Ut,or){let Mr=je.textMaxSize.evaluate(D,{});Mr===void 0&&(Mr=We);let zr=W.layers[0].layout,Wr=zr.get(\"icon-offset\").evaluate(D,{},or),ia=ab(J.horizontal),ha=We/24,ja=W.tilePixelRatio*ha,Ka=W.tilePixelRatio*Mr/24,Wi=W.tilePixelRatio*ht,gi=W.tilePixelRatio*zr.get(\"symbol-spacing\"),qi=zr.get(\"text-padding\")*W.tilePixelRatio,en=function(wn,os,Fo,Ls=1){let Ku=wn.get(\"icon-padding\").evaluate(os,{},Fo),Uu=Ku&&Ku.values;return[Uu[0]*Ls,Uu[1]*Ls,Uu[2]*Ls,Uu[3]*Ls]}(zr,D,or,W.tilePixelRatio),qn=zr.get(\"text-max-angle\")/180*Math.PI,Eo=zr.get(\"text-rotation-alignment\")!==\"viewport\"&&zr.get(\"symbol-placement\")!==\"point\",ys=zr.get(\"icon-rotation-alignment\")===\"map\"&&zr.get(\"symbol-placement\")!==\"point\",mo=zr.get(\"symbol-placement\"),zn=gi/2,ts=zr.get(\"icon-text-fit\"),Uo;pe&&ts!==\"none\"&&(W.allowVerticalPlacement&&J.vertical&&(Uo=Ox(pe,J.vertical,ts,zr.get(\"icon-text-fit-padding\"),Wr,ha)),ia&&(pe=Ox(pe,ia,ts,zr.get(\"icon-text-fit-padding\"),Wr,ha)));let zo=(wn,os)=>{os.x<0||os.x>=vo||os.y<0||os.y>=vo||function(Fo,Ls,Ku,Uu,th,Hp,Th,rh,Jh,$h,Qh,ff,ah,Fh,Ah,dh,yf,Rp,dp,hu,fc,Ju,Dp,$c,vm){let _d=Fo.addToLineVertexArray(Ls,Ku),fd,Wp,zc,Pf,Xp=0,Zd=0,vp=0,mm=0,J1=-1,zg=-1,xd={},Ov=ti(\"\");if(Fo.allowVerticalPlacement&&Uu.vertical){let Oh=rh.layout.get(\"text-rotate\").evaluate(fc,{},$c)+90;zc=new hv(Jh,Ls,$h,Qh,ff,Uu.vertical,ah,Fh,Ah,Oh),Th&&(Pf=new hv(Jh,Ls,$h,Qh,ff,Th,yf,Rp,Ah,Oh))}if(th){let Oh=rh.layout.get(\"icon-rotate\").evaluate(fc,{}),Zp=rh.layout.get(\"icon-text-fit\")!==\"none\",dv=Qx(th,Oh,Dp,Zp),ep=Th?Qx(Th,Oh,Dp,Zp):void 0;Wp=new hv(Jh,Ls,$h,Qh,ff,th,yf,Rp,!1,Oh),Xp=4*dv.length;let Bh=Fo.iconSizeData,id=null;Bh.kind===\"source\"?(id=[yd*rh.layout.get(\"icon-size\").evaluate(fc,{})],id[0]>cv&&f(`${Fo.layerIds[0]}: Value for \"icon-size\" is >= ${k0}. Reduce your \"icon-size\".`)):Bh.kind===\"composite\"&&(id=[yd*Ju.compositeIconSizes[0].evaluate(fc,{},$c),yd*Ju.compositeIconSizes[1].evaluate(fc,{},$c)],(id[0]>cv||id[1]>cv)&&f(`${Fo.layerIds[0]}: Value for \"icon-size\" is >= ${k0}. Reduce your \"icon-size\".`)),Fo.addSymbols(Fo.icon,dv,id,hu,dp,fc,e.ah.none,Ls,_d.lineStartIndex,_d.lineLength,-1,$c),J1=Fo.icon.placedSymbolArray.length-1,ep&&(Zd=4*ep.length,Fo.addSymbols(Fo.icon,ep,id,hu,dp,fc,e.ah.vertical,Ls,_d.lineStartIndex,_d.lineLength,-1,$c),zg=Fo.icon.placedSymbolArray.length-1)}let vh=Object.keys(Uu.horizontal);for(let Oh of vh){let Zp=Uu.horizontal[Oh];if(!fd){Ov=ti(Zp.text);let ep=rh.layout.get(\"text-rotate\").evaluate(fc,{},$c);fd=new hv(Jh,Ls,$h,Qh,ff,Zp,ah,Fh,Ah,ep)}let dv=Zp.positionedLines.length===1;if(vp+=rb(Fo,Ls,Zp,Hp,rh,Ah,fc,dh,_d,Uu.vertical?e.ah.horizontal:e.ah.horizontalOnly,dv?vh:[Oh],xd,J1,Ju,$c),dv)break}Uu.vertical&&(mm+=rb(Fo,Ls,Uu.vertical,Hp,rh,Ah,fc,dh,_d,e.ah.vertical,[\"vertical\"],xd,zg,Ju,$c));let lA=fd?fd.boxStartIndex:Fo.collisionBoxArray.length,Fg=fd?fd.boxEndIndex:Fo.collisionBoxArray.length,bd=zc?zc.boxStartIndex:Fo.collisionBoxArray.length,mp=zc?zc.boxEndIndex:Fo.collisionBoxArray.length,sb=Wp?Wp.boxStartIndex:Fo.collisionBoxArray.length,uA=Wp?Wp.boxEndIndex:Fo.collisionBoxArray.length,lb=Pf?Pf.boxStartIndex:Fo.collisionBoxArray.length,cA=Pf?Pf.boxEndIndex:Fo.collisionBoxArray.length,ad=-1,B0=(Oh,Zp)=>Oh&&Oh.circleDiameter?Math.max(Oh.circleDiameter,Zp):Zp;ad=B0(fd,ad),ad=B0(zc,ad),ad=B0(Wp,ad),ad=B0(Pf,ad);let Og=ad>-1?1:0;Og&&(ad*=vm/fu),Fo.glyphOffsetArray.length>=cm.MAX_GLYPHS&&f(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),fc.sortKey!==void 0&&Fo.addToSortKeyRanges(Fo.symbolInstances.length,fc.sortKey);let $1=tb(rh,fc,$c),[fA,hA]=function(Oh,Zp){let dv=Oh.length,ep=Zp?.values;if(ep?.length>0)for(let Bh=0;Bh=0?xd.right:-1,xd.center>=0?xd.center:-1,xd.left>=0?xd.left:-1,xd.vertical||-1,J1,zg,Ov,lA,Fg,bd,mp,sb,uA,lb,cA,$h,vp,mm,Xp,Zd,Og,0,ah,ad,fA,hA)}(W,os,wn,J,pe,ke,Uo,W.layers[0],W.collisionBoxArray,D.index,D.sourceLayerIndex,W.index,ja,[qi,qi,qi,qi],Eo,Et,Wi,en,ys,Wr,D,je,Ut,or,We)};if(mo===\"line\")for(let wn of Zx(D.geometry,0,0,vo,vo)){let os=rA(wn,gi,qn,J.vertical||ia,pe,24,Ka,W.overscaling,vo);for(let Fo of os)ia&&oA(W,ia.text,zn,Fo)||zo(wn,Fo)}else if(mo===\"line-center\"){for(let wn of D.geometry)if(wn.length>1){let os=tA(wn,qn,J.vertical||ia,pe,24,Ka);os&&zo(wn,os)}}else if(D.type===\"Polygon\")for(let wn of Tc(D.geometry,0)){let os=aA(wn,16);zo(wn[0],new Wd(os.x,os.y,0))}else if(D.type===\"LineString\")for(let wn of D.geometry)zo(wn,new Wd(wn[0].x,wn[0].y,0));else if(D.type===\"Point\")for(let wn of D.geometry)for(let os of wn)zo([os],new Wd(os.x,os.y,0))}function rb(W,D,J,pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia){let ha=function(Wi,gi,qi,en,qn,Eo,ys,mo){let zn=en.layout.get(\"text-rotate\").evaluate(Eo,{})*Math.PI/180,ts=[];for(let Uo of gi.positionedLines)for(let zo of Uo.positionedGlyphs){if(!zo.rect)continue;let wn=zo.rect||{},os=Ix+1,Fo=!0,Ls=1,Ku=0,Uu=(qn||mo)&&zo.vertical,th=zo.metrics.advance*zo.scale/2;if(mo&&gi.verticalizable&&(Ku=Uo.lineOffset/2-(zo.imageName?-(fu-zo.metrics.width*zo.scale)/2:(zo.scale-1)*fu)),zo.imageName){let hu=ys[zo.imageName];Fo=hu.sdf,Ls=hu.pixelRatio,os=zh/Ls}let Hp=qn?[zo.x+th,zo.y]:[0,0],Th=qn?[0,0]:[zo.x+th+qi[0],zo.y+qi[1]-Ku],rh=[0,0];Uu&&(rh=Th,Th=[0,0]);let Jh=zo.metrics.isDoubleResolution?2:1,$h=(zo.metrics.left-os)*zo.scale-th+Th[0],Qh=(-zo.metrics.top-os)*zo.scale+Th[1],ff=$h+wn.w/Jh*zo.scale/Ls,ah=Qh+wn.h/Jh*zo.scale/Ls,Fh=new n($h,Qh),Ah=new n(ff,Qh),dh=new n($h,ah),yf=new n(ff,ah);if(Uu){let hu=new n(-th,th-eh),fc=-Math.PI/2,Ju=fu/2-th,Dp=new n(5-eh-Ju,-(zo.imageName?Ju:0)),$c=new n(...rh);Fh._rotateAround(fc,hu)._add(Dp)._add($c),Ah._rotateAround(fc,hu)._add(Dp)._add($c),dh._rotateAround(fc,hu)._add(Dp)._add($c),yf._rotateAround(fc,hu)._add(Dp)._add($c)}if(zn){let hu=Math.sin(zn),fc=Math.cos(zn),Ju=[fc,-hu,hu,fc];Fh._matMult(Ju),Ah._matMult(Ju),dh._matMult(Ju),yf._matMult(Ju)}let Rp=new n(0,0),dp=new n(0,0);ts.push({tl:Fh,tr:Ah,bl:dh,br:yf,tex:wn,writingMode:gi.writingMode,glyphOffset:Hp,sectionIndex:zo.sectionIndex,isSDF:Fo,pixelOffsetTL:Rp,pixelOffsetBR:dp,minFontScaleX:0,minFontScaleY:0})}return ts}(0,J,ht,ke,je,We,pe,W.allowVerticalPlacement),ja=W.textSizeData,Ka=null;ja.kind===\"source\"?(Ka=[yd*ke.layout.get(\"text-size\").evaluate(We,{})],Ka[0]>cv&&f(`${W.layerIds[0]}: Value for \"text-size\" is >= ${k0}. Reduce your \"text-size\".`)):ja.kind===\"composite\"&&(Ka=[yd*Wr.compositeTextSizes[0].evaluate(We,{},ia),yd*Wr.compositeTextSizes[1].evaluate(We,{},ia)],(Ka[0]>cv||Ka[1]>cv)&&f(`${W.layerIds[0]}: Value for \"text-size\" is >= ${k0}. Reduce your \"text-size\".`)),W.addSymbols(W.text,ha,Ka,ht,je,We,Ut,D,Et.lineStartIndex,Et.lineLength,zr,ia);for(let Wi of or)Mr[Wi]=W.text.placedSymbolArray.length-1;return 4*ha.length}function ab(W){for(let D in W)return W[D];return null}function oA(W,D,J,pe){let ke=W.compareText;if(D in ke){let je=ke[D];for(let We=je.length-1;We>=0;We--)if(pe.dist(je[We])>4;if(ke!==1)throw new Error(`Got v${ke} data when expected v1.`);let je=ib[15&pe];if(!je)throw new Error(\"Unrecognized array type.\");let[We]=new Uint16Array(D,2,1),[ht]=new Uint32Array(D,4,1);return new X1(ht,We,je,D)}constructor(D,J=64,pe=Float64Array,ke){if(isNaN(D)||D<0)throw new Error(`Unpexpected numItems value: ${D}.`);this.numItems=+D,this.nodeSize=Math.min(Math.max(+J,2),65535),this.ArrayType=pe,this.IndexArrayType=D<65536?Uint16Array:Uint32Array;let je=ib.indexOf(this.ArrayType),We=2*D*this.ArrayType.BYTES_PER_ELEMENT,ht=D*this.IndexArrayType.BYTES_PER_ELEMENT,Et=(8-ht%8)%8;if(je<0)throw new Error(`Unexpected typed array class: ${pe}.`);ke&&ke instanceof ArrayBuffer?(this.data=ke,this.ids=new this.IndexArrayType(this.data,8,D),this.coords=new this.ArrayType(this.data,8+ht+Et,2*D),this._pos=2*D,this._finished=!0):(this.data=new ArrayBuffer(8+We+ht+Et),this.ids=new this.IndexArrayType(this.data,8,D),this.coords=new this.ArrayType(this.data,8+ht+Et,2*D),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+je]),new Uint16Array(this.data,2,1)[0]=J,new Uint32Array(this.data,4,1)[0]=D)}add(D,J){let pe=this._pos>>1;return this.ids[pe]=pe,this.coords[this._pos++]=D,this.coords[this._pos++]=J,pe}finish(){let D=this._pos>>1;if(D!==this.numItems)throw new Error(`Added ${D} items when expected ${this.numItems}.`);return Ig(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(D,J,pe,ke){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:je,coords:We,nodeSize:ht}=this,Et=[0,je.length-1,0],Ut=[];for(;Et.length;){let or=Et.pop()||0,Mr=Et.pop()||0,zr=Et.pop()||0;if(Mr-zr<=ht){for(let ja=zr;ja<=Mr;ja++){let Ka=We[2*ja],Wi=We[2*ja+1];Ka>=D&&Ka<=pe&&Wi>=J&&Wi<=ke&&Ut.push(je[ja])}continue}let Wr=zr+Mr>>1,ia=We[2*Wr],ha=We[2*Wr+1];ia>=D&&ia<=pe&&ha>=J&&ha<=ke&&Ut.push(je[Wr]),(or===0?D<=ia:J<=ha)&&(Et.push(zr),Et.push(Wr-1),Et.push(1-or)),(or===0?pe>=ia:ke>=ha)&&(Et.push(Wr+1),Et.push(Mr),Et.push(1-or))}return Ut}within(D,J,pe){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:ke,coords:je,nodeSize:We}=this,ht=[0,ke.length-1,0],Et=[],Ut=pe*pe;for(;ht.length;){let or=ht.pop()||0,Mr=ht.pop()||0,zr=ht.pop()||0;if(Mr-zr<=We){for(let ja=zr;ja<=Mr;ja++)ob(je[2*ja],je[2*ja+1],D,J)<=Ut&&Et.push(ke[ja]);continue}let Wr=zr+Mr>>1,ia=je[2*Wr],ha=je[2*Wr+1];ob(ia,ha,D,J)<=Ut&&Et.push(ke[Wr]),(or===0?D-pe<=ia:J-pe<=ha)&&(ht.push(zr),ht.push(Wr-1),ht.push(1-or)),(or===0?D+pe>=ia:J+pe>=ha)&&(ht.push(Wr+1),ht.push(Mr),ht.push(1-or))}return Et}}function Ig(W,D,J,pe,ke,je){if(ke-pe<=J)return;let We=pe+ke>>1;nb(W,D,We,pe,ke,je),Ig(W,D,J,pe,We-1,1-je),Ig(W,D,J,We+1,ke,1-je)}function nb(W,D,J,pe,ke,je){for(;ke>pe;){if(ke-pe>600){let Ut=ke-pe+1,or=J-pe+1,Mr=Math.log(Ut),zr=.5*Math.exp(2*Mr/3),Wr=.5*Math.sqrt(Mr*zr*(Ut-zr)/Ut)*(or-Ut/2<0?-1:1);nb(W,D,J,Math.max(pe,Math.floor(J-or*zr/Ut+Wr)),Math.min(ke,Math.floor(J+(Ut-or)*zr/Ut+Wr)),je)}let We=D[2*J+je],ht=pe,Et=ke;for(F0(W,D,pe,J),D[2*ke+je]>We&&F0(W,D,pe,ke);htWe;)Et--}D[2*pe+je]===We?F0(W,D,pe,Et):(Et++,F0(W,D,Et,ke)),Et<=J&&(pe=Et+1),J<=Et&&(ke=Et-1)}}function F0(W,D,J,pe){Z1(W,J,pe),Z1(D,2*J,2*pe),Z1(D,2*J+1,2*pe+1)}function Z1(W,D,J){let pe=W[D];W[D]=W[J],W[J]=pe}function ob(W,D,J,pe){let ke=W-J,je=D-pe;return ke*ke+je*je}var Rg;e.bg=void 0,(Rg=e.bg||(e.bg={})).create=\"create\",Rg.load=\"load\",Rg.fullLoad=\"fullLoad\";let O0=null,Hf=[],Y1=1e3/60,K1=\"loadTime\",Dg=\"fullLoadTime\",sA={mark(W){performance.mark(W)},frame(W){let D=W;O0!=null&&Hf.push(D-O0),O0=D},clearMetrics(){O0=null,Hf=[],performance.clearMeasures(K1),performance.clearMeasures(Dg);for(let W in e.bg)performance.clearMarks(e.bg[W])},getPerformanceMetrics(){performance.measure(K1,e.bg.create,e.bg.load),performance.measure(Dg,e.bg.create,e.bg.fullLoad);let W=performance.getEntriesByName(K1)[0].duration,D=performance.getEntriesByName(Dg)[0].duration,J=Hf.length,pe=1/(Hf.reduce((je,We)=>je+We,0)/J/1e3),ke=Hf.filter(je=>je>Y1).reduce((je,We)=>je+(We-Y1)/Y1,0);return{loadTime:W,fullLoadTime:D,fps:pe,percentDroppedFrames:ke/(J+ke)*100,totalFrames:J}}};e.$=class extends Tr{},e.A=Qa,e.B=Hi,e.C=function(W){if(z==null){let D=W.navigator?W.navigator.userAgent:null;z=!!W.safari||!(!D||!(/\\b(iPad|iPhone|iPod)\\b/.test(D)||D.match(\"Safari\")&&!D.match(\"Chrome\")))}return z},e.D=ho,e.E=Q,e.F=class{constructor(W,D){this.target=W,this.mapId=D,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new U1(()=>this.process()),this.subscription=function(J,pe,ke,je){return J.addEventListener(pe,ke,!1),{unsubscribe:()=>{J.removeEventListener(pe,ke,!1)}}}(this.target,\"message\",J=>this.receive(J)),this.globalScope=L(self)?W:window}registerMessageHandler(W,D){this.messageHandlers[W]=D}sendAsync(W,D){return new Promise((J,pe)=>{let ke=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[ke]={resolve:J,reject:pe},D&&D.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[ke];let ht={id:ke,type:\"\",origin:location.origin,targetMapId:W.targetMapId,sourceMapId:this.mapId};this.target.postMessage(ht)},{once:!0});let je=[],We=Object.assign(Object.assign({},W),{id:ke,sourceMapId:this.mapId,origin:location.origin,data:eo(W.data,je)});this.target.postMessage(We,{transfer:je})})}receive(W){let D=W.data,J=D.id;if(!(D.origin!==\"file://\"&&location.origin!==\"file://\"&&D.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&D.origin!==location.origin||D.targetMapId&&this.mapId!==D.targetMapId)){if(D.type===\"\"){delete this.tasks[J];let pe=this.abortControllers[J];return delete this.abortControllers[J],void(pe&&pe.abort())}if(L(self)||D.mustQueue)return this.tasks[J]=D,this.taskQueue.push(J),void this.invoker.trigger();this.processTask(J,D)}}process(){if(this.taskQueue.length===0)return;let W=this.taskQueue.shift(),D=this.tasks[W];delete this.tasks[W],this.taskQueue.length>0&&this.invoker.trigger(),D&&this.processTask(W,D)}processTask(W,D){return t(this,void 0,void 0,function*(){if(D.type===\"\"){let ke=this.resolveRejects[W];return delete this.resolveRejects[W],ke?void(D.error?ke.reject(fo(D.error)):ke.resolve(fo(D.data))):void 0}if(!this.messageHandlers[D.type])return void this.completeTask(W,new Error(`Could not find a registered handler for ${D.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let J=fo(D.data),pe=new AbortController;this.abortControllers[W]=pe;try{let ke=yield this.messageHandlers[D.type](D.sourceMapId,J,pe);this.completeTask(W,null,ke)}catch(ke){this.completeTask(W,ke)}})}completeTask(W,D,J){let pe=[];delete this.abortControllers[W];let ke={id:W,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:D?eo(D):null,data:eo(J,pe)};this.target.postMessage(ke,{transfer:pe})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.G=le,e.H=function(){var W=new Qa(16);return Qa!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[11]=0,W[12]=0,W[13]=0,W[14]=0),W[0]=1,W[5]=1,W[10]=1,W[15]=1,W},e.I=wg,e.J=function(W,D,J){var pe,ke,je,We,ht,Et,Ut,or,Mr,zr,Wr,ia,ha=J[0],ja=J[1],Ka=J[2];return D===W?(W[12]=D[0]*ha+D[4]*ja+D[8]*Ka+D[12],W[13]=D[1]*ha+D[5]*ja+D[9]*Ka+D[13],W[14]=D[2]*ha+D[6]*ja+D[10]*Ka+D[14],W[15]=D[3]*ha+D[7]*ja+D[11]*Ka+D[15]):(ke=D[1],je=D[2],We=D[3],ht=D[4],Et=D[5],Ut=D[6],or=D[7],Mr=D[8],zr=D[9],Wr=D[10],ia=D[11],W[0]=pe=D[0],W[1]=ke,W[2]=je,W[3]=We,W[4]=ht,W[5]=Et,W[6]=Ut,W[7]=or,W[8]=Mr,W[9]=zr,W[10]=Wr,W[11]=ia,W[12]=pe*ha+ht*ja+Mr*Ka+D[12],W[13]=ke*ha+Et*ja+zr*Ka+D[13],W[14]=je*ha+Ut*ja+Wr*Ka+D[14],W[15]=We*ha+or*ja+ia*Ka+D[15]),W},e.K=function(W,D,J){var pe=J[0],ke=J[1],je=J[2];return W[0]=D[0]*pe,W[1]=D[1]*pe,W[2]=D[2]*pe,W[3]=D[3]*pe,W[4]=D[4]*ke,W[5]=D[5]*ke,W[6]=D[6]*ke,W[7]=D[7]*ke,W[8]=D[8]*je,W[9]=D[9]*je,W[10]=D[10]*je,W[11]=D[11]*je,W[12]=D[12],W[13]=D[13],W[14]=D[14],W[15]=D[15],W},e.L=Va,e.M=function(W,D){let J={};for(let pe=0;pe{let D=window.document.createElement(\"video\");return D.muted=!0,new Promise(J=>{D.onloadstart=()=>{J(D)};for(let pe of W){let ke=window.document.createElement(\"source\");ee(pe)||(D.crossOrigin=\"Anonymous\"),ke.src=pe,D.appendChild(ke)}})},e.a4=function(){return g++},e.a5=nn,e.a6=cm,e.a7=Ec,e.a8=Hl,e.a9=V1,e.aA=function(W){if(W.type===\"custom\")return new N1(W);switch(W.type){case\"background\":return new QT(W);case\"circle\":return new Ha(W);case\"fill\":return new Ht(W);case\"fill-extrusion\":return new kp(W);case\"heatmap\":return new Dn(W);case\"hillshade\":return new bl(W);case\"line\":return new Lv(W);case\"raster\":return new I0(W);case\"symbol\":return new Dv(W)}},e.aB=u,e.aC=function(W,D){if(!W)return[{command:\"setStyle\",args:[D]}];let J=[];try{if(!Ae(W.version,D.version))return[{command:\"setStyle\",args:[D]}];Ae(W.center,D.center)||J.push({command:\"setCenter\",args:[D.center]}),Ae(W.zoom,D.zoom)||J.push({command:\"setZoom\",args:[D.zoom]}),Ae(W.bearing,D.bearing)||J.push({command:\"setBearing\",args:[D.bearing]}),Ae(W.pitch,D.pitch)||J.push({command:\"setPitch\",args:[D.pitch]}),Ae(W.sprite,D.sprite)||J.push({command:\"setSprite\",args:[D.sprite]}),Ae(W.glyphs,D.glyphs)||J.push({command:\"setGlyphs\",args:[D.glyphs]}),Ae(W.transition,D.transition)||J.push({command:\"setTransition\",args:[D.transition]}),Ae(W.light,D.light)||J.push({command:\"setLight\",args:[D.light]}),Ae(W.terrain,D.terrain)||J.push({command:\"setTerrain\",args:[D.terrain]}),Ae(W.sky,D.sky)||J.push({command:\"setSky\",args:[D.sky]}),Ae(W.projection,D.projection)||J.push({command:\"setProjection\",args:[D.projection]});let pe={},ke=[];(function(We,ht,Et,Ut){let or;for(or in ht=ht||{},We=We||{})Object.prototype.hasOwnProperty.call(We,or)&&(Object.prototype.hasOwnProperty.call(ht,or)||Ze(or,Et,Ut));for(or in ht)Object.prototype.hasOwnProperty.call(ht,or)&&(Object.prototype.hasOwnProperty.call(We,or)?Ae(We[or],ht[or])||(We[or].type===\"geojson\"&&ht[or].type===\"geojson\"&&nt(We,ht,or)?De(Et,{command:\"setGeoJSONSourceData\",args:[or,ht[or].data]}):at(or,ht,Et,Ut)):ze(or,ht,Et))})(W.sources,D.sources,ke,pe);let je=[];W.layers&&W.layers.forEach(We=>{\"source\"in We&&pe[We.source]?J.push({command:\"removeLayer\",args:[We.id]}):je.push(We)}),J=J.concat(ke),function(We,ht,Et){ht=ht||[];let Ut=(We=We||[]).map(st),or=ht.map(st),Mr=We.reduce(Me,{}),zr=ht.reduce(Me,{}),Wr=Ut.slice(),ia=Object.create(null),ha,ja,Ka,Wi,gi;for(let qi=0,en=0;qi@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(J,pe,ke,je)=>{let We=ke||je;return D[pe]=!We||We.toLowerCase(),\"\"}),D[\"max-age\"]){let J=parseInt(D[\"max-age\"],10);isNaN(J)?delete D[\"max-age\"]:D[\"max-age\"]=J}return D},e.ab=function(W,D){let J=[];for(let pe in W)pe in D||J.push(pe);return J},e.ac=w,e.ad=function(W,D,J){var pe=Math.sin(J),ke=Math.cos(J),je=D[0],We=D[1],ht=D[2],Et=D[3],Ut=D[4],or=D[5],Mr=D[6],zr=D[7];return D!==W&&(W[8]=D[8],W[9]=D[9],W[10]=D[10],W[11]=D[11],W[12]=D[12],W[13]=D[13],W[14]=D[14],W[15]=D[15]),W[0]=je*ke+Ut*pe,W[1]=We*ke+or*pe,W[2]=ht*ke+Mr*pe,W[3]=Et*ke+zr*pe,W[4]=Ut*ke-je*pe,W[5]=or*ke-We*pe,W[6]=Mr*ke-ht*pe,W[7]=zr*ke-Et*pe,W},e.ae=function(W){var D=new Qa(16);return D[0]=W[0],D[1]=W[1],D[2]=W[2],D[3]=W[3],D[4]=W[4],D[5]=W[5],D[6]=W[6],D[7]=W[7],D[8]=W[8],D[9]=W[9],D[10]=W[10],D[11]=W[11],D[12]=W[12],D[13]=W[13],D[14]=W[14],D[15]=W[15],D},e.af=pn,e.ag=function(W,D){let J=0,pe=0;if(W.kind===\"constant\")pe=W.layoutSize;else if(W.kind!==\"source\"){let{interpolationType:ke,minZoom:je,maxZoom:We}=W,ht=ke?w(no.interpolationFactor(ke,D,je,We),0,1):0;W.kind===\"camera\"?pe=On.number(W.minSize,W.maxSize,ht):J=ht}return{uSizeT:J,uSize:pe}},e.ai=function(W,{uSize:D,uSizeT:J},{lowerSize:pe,upperSize:ke}){return W.kind===\"source\"?pe/yd:W.kind===\"composite\"?On.number(pe/yd,ke/yd,J):D},e.aj=z1,e.ak=function(W,D,J,pe){let ke=D.y-W.y,je=D.x-W.x,We=pe.y-J.y,ht=pe.x-J.x,Et=We*je-ht*ke;if(Et===0)return null;let Ut=(ht*(W.y-J.y)-We*(W.x-J.x))/Et;return new n(W.x+Ut*je,W.y+Ut*ke)},e.al=Zx,e.am=_c,e.an=di,e.ao=function(W){let D=1/0,J=1/0,pe=-1/0,ke=-1/0;for(let je of W)D=Math.min(D,je.x),J=Math.min(J,je.y),pe=Math.max(pe,je.x),ke=Math.max(ke,je.y);return[D,J,pe,ke]},e.ap=fu,e.ar=D1,e.as=function(W,D){var J=D[0],pe=D[1],ke=D[2],je=D[3],We=D[4],ht=D[5],Et=D[6],Ut=D[7],or=D[8],Mr=D[9],zr=D[10],Wr=D[11],ia=D[12],ha=D[13],ja=D[14],Ka=D[15],Wi=J*ht-pe*We,gi=J*Et-ke*We,qi=J*Ut-je*We,en=pe*Et-ke*ht,qn=pe*Ut-je*ht,Eo=ke*Ut-je*Et,ys=or*ha-Mr*ia,mo=or*ja-zr*ia,zn=or*Ka-Wr*ia,ts=Mr*ja-zr*ha,Uo=Mr*Ka-Wr*ha,zo=zr*Ka-Wr*ja,wn=Wi*zo-gi*Uo+qi*ts+en*zn-qn*mo+Eo*ys;return wn?(W[0]=(ht*zo-Et*Uo+Ut*ts)*(wn=1/wn),W[1]=(ke*Uo-pe*zo-je*ts)*wn,W[2]=(ha*Eo-ja*qn+Ka*en)*wn,W[3]=(zr*qn-Mr*Eo-Wr*en)*wn,W[4]=(Et*zn-We*zo-Ut*mo)*wn,W[5]=(J*zo-ke*zn+je*mo)*wn,W[6]=(ja*qi-ia*Eo-Ka*gi)*wn,W[7]=(or*Eo-zr*qi+Wr*gi)*wn,W[8]=(We*Uo-ht*zn+Ut*ys)*wn,W[9]=(pe*zn-J*Uo-je*ys)*wn,W[10]=(ia*qn-ha*qi+Ka*Wi)*wn,W[11]=(Mr*qi-or*qn-Wr*Wi)*wn,W[12]=(ht*mo-We*ts-Et*ys)*wn,W[13]=(J*ts-pe*mo+ke*ys)*wn,W[14]=(ha*gi-ia*en-ja*Wi)*wn,W[15]=(or*en-Mr*gi+zr*Wi)*wn,W):null},e.at=W1,e.au=Mg,e.av=X1,e.aw=function(){let W={},D=re.$version;for(let J in re.$root){let pe=re.$root[J];if(pe.required){let ke=null;ke=J===\"version\"?D:pe.type===\"array\"?[]:{},ke!=null&&(W[J]=ke)}}return W},e.ax=An,e.ay=V,e.az=function(W){W=W.slice();let D=Object.create(null);for(let J=0;J25||pe<0||pe>=1||J<0||J>=1)},e.bc=function(W,D){return W[0]=D[0],W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=D[1],W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[10]=D[2],W[11]=0,W[12]=0,W[13]=0,W[14]=0,W[15]=1,W},e.bd=class extends $t{},e.be=j1,e.bf=sA,e.bh=fe,e.bi=function(W,D){$.REGISTERED_PROTOCOLS[W]=D},e.bj=function(W){delete $.REGISTERED_PROTOCOLS[W]},e.bk=function(W,D){let J={};for(let ke=0;kezo*fu)}let mo=We?\"center\":J.get(\"text-justify\").evaluate(Ut,{},W.canonical),zn=J.get(\"symbol-placement\")===\"point\"?J.get(\"text-max-width\").evaluate(Ut,{},W.canonical)*fu:1/0,ts=()=>{W.bucket.allowVerticalPlacement&&yo(qi)&&(ia.vertical=M0(ha,W.glyphMap,W.glyphPositions,W.imagePositions,or,zn,je,Eo,\"left\",qn,Ka,e.ah.vertical,!0,zr,Mr))};if(!We&&ys){let Uo=new Set;if(mo===\"auto\")for(let wn=0;wnt(void 0,void 0,void 0,function*(){if(W.byteLength===0)return createImageBitmap(new ImageData(1,1));let D=new Blob([new Uint8Array(W)],{type:\"image/png\"});try{return createImageBitmap(D)}catch(J){throw new Error(`Could not load image because of ${J.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),e.e=M,e.f=W=>new Promise((D,J)=>{let pe=new Image;pe.onload=()=>{D(pe),URL.revokeObjectURL(pe.src),pe.onload=null,window.requestAnimationFrame(()=>{pe.src=N})},pe.onerror=()=>J(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let ke=new Blob([new Uint8Array(W)],{type:\"image/png\"});pe.src=W.byteLength?URL.createObjectURL(ke):N}),e.g=se,e.h=(W,D)=>Y(M(W,{type:\"json\"}),D),e.i=L,e.j=j,e.k=ae,e.l=(W,D)=>Y(M(W,{type:\"arrayBuffer\"}),D),e.m=Y,e.n=function(W){return new P1(W).readFields(mk,[])},e.o=In,e.p=R1,e.q=Ue,e.r=Ci,e.s=ee,e.t=Pi,e.u=li,e.v=re,e.w=f,e.x=function([W,D,J]){return D+=90,D*=Math.PI/180,J*=Math.PI/180,{x:W*Math.cos(D)*Math.sin(J),y:W*Math.sin(D)*Math.sin(J),z:W*Math.cos(J)}},e.y=On,e.z=Rs}),S(\"worker\",[\"./shared\"],function(e){\"use strict\";class t{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ke){for(let Ie of Ne){this._layerConfigs[Ie.id]=Ie;let Ve=this._layers[Ie.id]=e.aA(Ie);Ve._featureFilter=e.a7(Ve.filter),this.keyCache[Ie.id]&&delete this.keyCache[Ie.id]}for(let Ie of Ke)delete this.keyCache[Ie],delete this._layerConfigs[Ie],delete this._layers[Ie];this.familiesBySource={};let Te=e.bk(Object.values(this._layerConfigs),this.keyCache);for(let Ie of Te){let Ve=Ie.map(_t=>this._layers[_t.id]),Ce=Ve[0];if(Ce.visibility===\"none\")continue;let Ee=Ce.source||\"\",Pe=this.familiesBySource[Ee];Pe||(Pe=this.familiesBySource[Ee]={});let ft=Ce.sourceLayer||\"_geojsonTileLayer\",ct=Pe[ft];ct||(ct=Pe[ft]=[]),ct.push(Ve)}}}class r{constructor(Ne){let Ke={},Te=[];for(let Ee in Ne){let Pe=Ne[Ee],ft=Ke[Ee]={};for(let ct in Pe){let _t=Pe[+ct];if(!_t||_t.bitmap.width===0||_t.bitmap.height===0)continue;let Ct={x:0,y:0,w:_t.bitmap.width+2,h:_t.bitmap.height+2};Te.push(Ct),ft[ct]={rect:Ct,metrics:_t.metrics}}}let{w:Ie,h:Ve}=e.p(Te),Ce=new e.o({width:Ie||1,height:Ve||1});for(let Ee in Ne){let Pe=Ne[Ee];for(let ft in Pe){let ct=Pe[+ft];if(!ct||ct.bitmap.width===0||ct.bitmap.height===0)continue;let _t=Ke[Ee][ft].rect;e.o.copy(ct.bitmap,Ce,{x:0,y:0},{x:_t.x+1,y:_t.y+1},ct.bitmap)}}this.image=Ce,this.positions=Ke}}e.bl(\"GlyphAtlas\",r);class o{constructor(Ne){this.tileID=new e.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ke,Te,Ie){return e._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ne,this.collisionBoxArray=new e.a5;let Ve=new e.bm(Object.keys(Ne.layers).sort()),Ce=new e.bn(this.tileID,this.promoteId);Ce.bucketLayerIDs=[];let Ee={},Pe={featureIndex:Ce,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Te},ft=Ke.familiesBySource[this.source];for(let Wa in ft){let Ca=Ne.layers[Wa];if(!Ca)continue;Ca.version===1&&e.w(`Vector tile source \"${this.source}\" layer \"${Wa}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let hi=Ve.encode(Wa),wi=[];for(let Kt=0;Kt=Ft.maxzoom||Ft.visibility!==\"none\"&&(a(Kt,this.zoom,Te),(Ee[Ft.id]=Ft.createBucket({index:Ce.bucketLayerIDs.length,layers:Kt,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:hi,sourceID:this.source})).populate(wi,Pe,this.tileID.canonical),Ce.bucketLayerIDs.push(Kt.map(Yt=>Yt.id)))}}let ct=e.aF(Pe.glyphDependencies,Wa=>Object.keys(Wa).map(Number));this.inFlightDependencies.forEach(Wa=>Wa?.abort()),this.inFlightDependencies=[];let _t=Promise.resolve({});if(Object.keys(ct).length){let Wa=new AbortController;this.inFlightDependencies.push(Wa),_t=Ie.sendAsync({type:\"GG\",data:{stacks:ct,source:this.source,tileID:this.tileID,type:\"glyphs\"}},Wa)}let Ct=Object.keys(Pe.iconDependencies),ir=Promise.resolve({});if(Ct.length){let Wa=new AbortController;this.inFlightDependencies.push(Wa),ir=Ie.sendAsync({type:\"GI\",data:{icons:Ct,source:this.source,tileID:this.tileID,type:\"icons\"}},Wa)}let rr=Object.keys(Pe.patternDependencies),er=Promise.resolve({});if(rr.length){let Wa=new AbortController;this.inFlightDependencies.push(Wa),er=Ie.sendAsync({type:\"GI\",data:{icons:rr,source:this.source,tileID:this.tileID,type:\"patterns\"}},Wa)}let[Lr,fa,Da]=yield Promise.all([_t,ir,er]),Ia=new r(Lr),qa=new e.bo(fa,Da);for(let Wa in Ee){let Ca=Ee[Wa];Ca instanceof e.a6?(a(Ca.layers,this.zoom,Te),e.bp({bucket:Ca,glyphMap:Lr,glyphPositions:Ia.positions,imageMap:fa,imagePositions:qa.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Ca.hasPattern&&(Ca instanceof e.bq||Ca instanceof e.br||Ca instanceof e.bs)&&(a(Ca.layers,this.zoom,Te),Ca.addFeatures(Pe,this.tileID.canonical,qa.patternPositions))}return this.status=\"done\",{buckets:Object.values(Ee).filter(Wa=>!Wa.isEmpty()),featureIndex:Ce,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Ia.image,imageAtlas:qa,glyphMap:this.returnDependencies?Lr:null,iconMap:this.returnDependencies?fa:null,glyphPositions:this.returnDependencies?Ia.positions:null}})}}function a(wt,Ne,Ke){let Te=new e.z(Ne);for(let Ie of wt)Ie.recalculate(Te,Ke)}class n{constructor(Ne,Ke,Te){this.actor=Ne,this.layerIndex=Ke,this.availableImages=Te,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ke){return e._(this,void 0,void 0,function*(){let Te=yield e.l(Ne.request,Ke);try{return{vectorTile:new e.bt.VectorTile(new e.bu(Te.data)),rawData:Te.data,cacheControl:Te.cacheControl,expires:Te.expires}}catch(Ie){let Ve=new Uint8Array(Te.data),Ce=`Unable to parse the tile at ${Ne.request.url}, `;throw Ce+=Ve[0]===31&&Ve[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Ie.message}`,new Error(Ce)}})}loadTile(Ne){return e._(this,void 0,void 0,function*(){let Ke=Ne.uid,Te=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new e.bv(Ne.request),Ie=new o(Ne);this.loading[Ke]=Ie;let Ve=new AbortController;Ie.abort=Ve;try{let Ce=yield this.loadVectorTile(Ne,Ve);if(delete this.loading[Ke],!Ce)return null;let Ee=Ce.rawData,Pe={};Ce.expires&&(Pe.expires=Ce.expires),Ce.cacheControl&&(Pe.cacheControl=Ce.cacheControl);let ft={};if(Te){let _t=Te.finish();_t&&(ft.resourceTiming=JSON.parse(JSON.stringify(_t)))}Ie.vectorTile=Ce.vectorTile;let ct=Ie.parse(Ce.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ke]=Ie,this.fetching[Ke]={rawTileData:Ee,cacheControl:Pe,resourceTiming:ft};try{let _t=yield ct;return e.e({rawTileData:Ee.slice(0)},_t,Pe,ft)}finally{delete this.fetching[Ke]}}catch(Ce){throw delete this.loading[Ke],Ie.status=\"done\",this.loaded[Ke]=Ie,Ce}})}reloadTile(Ne){return e._(this,void 0,void 0,function*(){let Ke=Ne.uid;if(!this.loaded||!this.loaded[Ke])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Te=this.loaded[Ke];if(Te.showCollisionBoxes=Ne.showCollisionBoxes,Te.status===\"parsing\"){let Ie=yield Te.parse(Te.vectorTile,this.layerIndex,this.availableImages,this.actor),Ve;if(this.fetching[Ke]){let{rawTileData:Ce,cacheControl:Ee,resourceTiming:Pe}=this.fetching[Ke];delete this.fetching[Ke],Ve=e.e({rawTileData:Ce.slice(0)},Ie,Ee,Pe)}else Ve=Ie;return Ve}if(Te.status===\"done\"&&Te.vectorTile)return Te.parse(Te.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return e._(this,void 0,void 0,function*(){let Ke=this.loading,Te=Ne.uid;Ke&&Ke[Te]&&Ke[Te].abort&&(Ke[Te].abort.abort(),delete Ke[Te])})}removeTile(Ne){return e._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class i{constructor(){this.loaded={}}loadTile(Ne){return e._(this,void 0,void 0,function*(){let{uid:Ke,encoding:Te,rawImageData:Ie,redFactor:Ve,greenFactor:Ce,blueFactor:Ee,baseShift:Pe}=Ne,ft=Ie.width+2,ct=Ie.height+2,_t=e.b(Ie)?new e.R({width:ft,height:ct},yield e.bw(Ie,-1,-1,ft,ct)):Ie,Ct=new e.bx(Ke,_t,Te,Ve,Ce,Ee,Pe);return this.loaded=this.loaded||{},this.loaded[Ke]=Ct,Ct})}removeTile(Ne){let Ke=this.loaded,Te=Ne.uid;Ke&&Ke[Te]&&delete Ke[Te]}}function s(wt,Ne){if(wt.length!==0){h(wt[0],Ne);for(var Ke=1;Ke=Math.abs(Ee)?Ke-Pe+Ee:Ee-Pe+Ke,Ke=Pe}Ke+Te>=0!=!!Ne&&wt.reverse()}var c=e.by(function wt(Ne,Ke){var Te,Ie=Ne&&Ne.type;if(Ie===\"FeatureCollection\")for(Te=0;Te>31}function L(wt,Ne){for(var Ke=wt.loadGeometry(),Te=wt.type,Ie=0,Ve=0,Ce=Ke.length,Ee=0;Eewt},O=Math.fround||(P=new Float32Array(1),wt=>(P[0]=+wt,P[0]));var P;let U=3,B=5,X=6;class ${constructor(Ne){this.options=Object.assign(Object.create(N),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ke,minZoom:Te,maxZoom:Ie}=this.options;Ke&&console.time(\"total time\");let Ve=`prepare ${Ne.length} points`;Ke&&console.time(Ve),this.points=Ne;let Ce=[];for(let Pe=0;Pe=Te;Pe--){let ft=+Date.now();Ee=this.trees[Pe]=this._createTree(this._cluster(Ee,Pe)),Ke&&console.log(\"z%d: %d clusters in %dms\",Pe,Ee.numItems,+Date.now()-ft)}return Ke&&console.timeEnd(\"total time\"),this}getClusters(Ne,Ke){let Te=((Ne[0]+180)%360+360)%360-180,Ie=Math.max(-90,Math.min(90,Ne[1])),Ve=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Ce=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Te=-180,Ve=180;else if(Te>Ve){let _t=this.getClusters([Te,Ie,180,Ce],Ke),Ct=this.getClusters([-180,Ie,Ve,Ce],Ke);return _t.concat(Ct)}let Ee=this.trees[this._limitZoom(Ke)],Pe=Ee.range(fe(Te),V(Ce),fe(Ve),V(Ie)),ft=Ee.data,ct=[];for(let _t of Pe){let Ct=this.stride*_t;ct.push(ft[Ct+B]>1?se(ft,Ct,this.clusterProps):this.points[ft[Ct+U]])}return ct}getChildren(Ne){let Ke=this._getOriginId(Ne),Te=this._getOriginZoom(Ne),Ie=\"No cluster with the specified id.\",Ve=this.trees[Te];if(!Ve)throw new Error(Ie);let Ce=Ve.data;if(Ke*this.stride>=Ce.length)throw new Error(Ie);let Ee=this.options.radius/(this.options.extent*Math.pow(2,Te-1)),Pe=Ve.within(Ce[Ke*this.stride],Ce[Ke*this.stride+1],Ee),ft=[];for(let ct of Pe){let _t=ct*this.stride;Ce[_t+4]===Ne&&ft.push(Ce[_t+B]>1?se(Ce,_t,this.clusterProps):this.points[Ce[_t+U]])}if(ft.length===0)throw new Error(Ie);return ft}getLeaves(Ne,Ke,Te){let Ie=[];return this._appendLeaves(Ie,Ne,Ke=Ke||10,Te=Te||0,0),Ie}getTile(Ne,Ke,Te){let Ie=this.trees[this._limitZoom(Ne)],Ve=Math.pow(2,Ne),{extent:Ce,radius:Ee}=this.options,Pe=Ee/Ce,ft=(Te-Pe)/Ve,ct=(Te+1+Pe)/Ve,_t={features:[]};return this._addTileFeatures(Ie.range((Ke-Pe)/Ve,ft,(Ke+1+Pe)/Ve,ct),Ie.data,Ke,Te,Ve,_t),Ke===0&&this._addTileFeatures(Ie.range(1-Pe/Ve,ft,1,ct),Ie.data,Ve,Te,Ve,_t),Ke===Ve-1&&this._addTileFeatures(Ie.range(0,ft,Pe/Ve,ct),Ie.data,-1,Te,Ve,_t),_t.features.length?_t:null}getClusterExpansionZoom(Ne){let Ke=this._getOriginZoom(Ne)-1;for(;Ke<=this.options.maxZoom;){let Te=this.getChildren(Ne);if(Ke++,Te.length!==1)break;Ne=Te[0].properties.cluster_id}return Ke}_appendLeaves(Ne,Ke,Te,Ie,Ve){let Ce=this.getChildren(Ke);for(let Ee of Ce){let Pe=Ee.properties;if(Pe&&Pe.cluster?Ve+Pe.point_count<=Ie?Ve+=Pe.point_count:Ve=this._appendLeaves(Ne,Pe.cluster_id,Te,Ie,Ve):Ve1,ct,_t,Ct;if(ft)ct=le(Ke,Pe,this.clusterProps),_t=Ke[Pe],Ct=Ke[Pe+1];else{let er=this.points[Ke[Pe+U]];ct=er.properties;let[Lr,fa]=er.geometry.coordinates;_t=fe(Lr),Ct=V(fa)}let ir={type:1,geometry:[[Math.round(this.options.extent*(_t*Ve-Te)),Math.round(this.options.extent*(Ct*Ve-Ie))]],tags:ct},rr;rr=ft||this.options.generateId?Ke[Pe+U]:this.points[Ke[Pe+U]].id,rr!==void 0&&(ir.id=rr),Ce.features.push(ir)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ke){let{radius:Te,extent:Ie,reduce:Ve,minPoints:Ce}=this.options,Ee=Te/(Ie*Math.pow(2,Ke)),Pe=Ne.data,ft=[],ct=this.stride;for(let _t=0;_tKe&&(Lr+=Pe[Da+B])}if(Lr>er&&Lr>=Ce){let fa,Da=Ct*er,Ia=ir*er,qa=-1,Wa=((_t/ct|0)<<5)+(Ke+1)+this.points.length;for(let Ca of rr){let hi=Ca*ct;if(Pe[hi+2]<=Ke)continue;Pe[hi+2]=Ke;let wi=Pe[hi+B];Da+=Pe[hi]*wi,Ia+=Pe[hi+1]*wi,Pe[hi+4]=Wa,Ve&&(fa||(fa=this._map(Pe,_t,!0),qa=this.clusterProps.length,this.clusterProps.push(fa)),Ve(fa,this._map(Pe,hi)))}Pe[_t+4]=Wa,ft.push(Da/Lr,Ia/Lr,1/0,Wa,-1,Lr),Ve&&ft.push(qa)}else{for(let fa=0;fa1)for(let fa of rr){let Da=fa*ct;if(!(Pe[Da+2]<=Ke)){Pe[Da+2]=Ke;for(let Ia=0;Ia>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ke,Te){if(Ne[Ke+B]>1){let Ce=this.clusterProps[Ne[Ke+X]];return Te?Object.assign({},Ce):Ce}let Ie=this.points[Ne[Ke+U]].properties,Ve=this.options.map(Ie);return Te&&Ve===Ie?Object.assign({},Ve):Ve}}function se(wt,Ne,Ke){return{type:\"Feature\",id:wt[Ne+U],properties:le(wt,Ne,Ke),geometry:{type:\"Point\",coordinates:[(Te=wt[Ne],360*(Te-.5)),Y(wt[Ne+1])]}};var Te}function le(wt,Ne,Ke){let Te=wt[Ne+B],Ie=Te>=1e4?`${Math.round(Te/1e3)}k`:Te>=1e3?Math.round(Te/100)/10+\"k\":Te,Ve=wt[Ne+X],Ce=Ve===-1?{}:Object.assign({},Ke[Ve]);return Object.assign(Ce,{cluster:!0,cluster_id:wt[Ne+U],point_count:Te,point_count_abbreviated:Ie})}function fe(wt){return wt/360+.5}function V(wt){let Ne=Math.sin(wt*Math.PI/180),Ke=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ke<0?0:Ke>1?1:Ke}function Y(wt){let Ne=(180-360*wt)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function ee(wt,Ne,Ke,Te){let Ie=Te,Ve=Ne+(Ke-Ne>>1),Ce,Ee=Ke-Ne,Pe=wt[Ne],ft=wt[Ne+1],ct=wt[Ke],_t=wt[Ke+1];for(let Ct=Ne+3;CtIe)Ce=Ct,Ie=ir;else if(ir===Ie){let rr=Math.abs(Ct-Ve);rrTe&&(Ce-Ne>3&&ee(wt,Ne,Ce,Te),wt[Ce+2]=Ie,Ke-Ce>3&&ee(wt,Ce,Ke,Te))}function q(wt,Ne,Ke,Te,Ie,Ve){let Ce=Ie-Ke,Ee=Ve-Te;if(Ce!==0||Ee!==0){let Pe=((wt-Ke)*Ce+(Ne-Te)*Ee)/(Ce*Ce+Ee*Ee);Pe>1?(Ke=Ie,Te=Ve):Pe>0&&(Ke+=Ce*Pe,Te+=Ee*Pe)}return Ce=wt-Ke,Ee=Ne-Te,Ce*Ce+Ee*Ee}function oe(wt,Ne,Ke,Te){let Ie={id:wt??null,type:Ne,geometry:Ke,tags:Te,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne===\"Point\"||Ne===\"MultiPoint\"||Ne===\"LineString\")ae(Ie,Ke);else if(Ne===\"Polygon\")ae(Ie,Ke[0]);else if(Ne===\"MultiLineString\")for(let Ve of Ke)ae(Ie,Ve);else if(Ne===\"MultiPolygon\")for(let Ve of Ke)ae(Ie,Ve[0]);return Ie}function ae(wt,Ne){for(let Ke=0;Ke0&&(Ce+=Te?(Ie*ct-ft*Ve)/2:Math.sqrt(Math.pow(ft-Ie,2)+Math.pow(ct-Ve,2))),Ie=ft,Ve=ct}let Ee=Ne.length-3;Ne[2]=1,ee(Ne,0,Ee,Ke),Ne[Ee+2]=1,Ne.size=Math.abs(Ce),Ne.start=0,Ne.end=Ne.size}function ce(wt,Ne,Ke,Te){for(let Ie=0;Ie1?1:Ke}function De(wt,Ne,Ke,Te,Ie,Ve,Ce,Ee){if(Te/=Ne,Ve>=(Ke/=Ne)&&Ce=Te)return null;let Pe=[];for(let ft of wt){let ct=ft.geometry,_t=ft.type,Ct=Ie===0?ft.minX:ft.minY,ir=Ie===0?ft.maxX:ft.maxY;if(Ct>=Ke&&ir=Te)continue;let rr=[];if(_t===\"Point\"||_t===\"MultiPoint\")ze(ct,rr,Ke,Te,Ie);else if(_t===\"LineString\")Ze(ct,rr,Ke,Te,Ie,!1,Ee.lineMetrics);else if(_t===\"MultiLineString\")nt(ct,rr,Ke,Te,Ie,!1);else if(_t===\"Polygon\")nt(ct,rr,Ke,Te,Ie,!0);else if(_t===\"MultiPolygon\")for(let er of ct){let Lr=[];nt(er,Lr,Ke,Te,Ie,!0),Lr.length&&rr.push(Lr)}if(rr.length){if(Ee.lineMetrics&&_t===\"LineString\"){for(let er of rr)Pe.push(oe(ft.id,_t,er,ft.tags));continue}_t!==\"LineString\"&&_t!==\"MultiLineString\"||(rr.length===1?(_t=\"LineString\",rr=rr[0]):_t=\"MultiLineString\"),_t!==\"Point\"&&_t!==\"MultiPoint\"||(_t=rr.length===3?\"Point\":\"MultiPoint\"),Pe.push(oe(ft.id,_t,rr,ft.tags))}}return Pe.length?Pe:null}function ze(wt,Ne,Ke,Te,Ie){for(let Ve=0;Ve=Ke&&Ce<=Te&&rt(Ne,wt[Ve],wt[Ve+1],wt[Ve+2])}}function Ze(wt,Ne,Ke,Te,Ie,Ve,Ce){let Ee=at(wt),Pe=Ie===0?st:Me,ft,ct,_t=wt.start;for(let Lr=0;LrKe&&(ct=Pe(Ee,fa,Da,qa,Wa,Ke),Ce&&(Ee.start=_t+ft*ct)):Ca>Te?hi=Ke&&(ct=Pe(Ee,fa,Da,qa,Wa,Ke),wi=!0),hi>Te&&Ca<=Te&&(ct=Pe(Ee,fa,Da,qa,Wa,Te),wi=!0),!Ve&&wi&&(Ce&&(Ee.end=_t+ft*ct),Ne.push(Ee),Ee=at(wt)),Ce&&(_t+=ft)}let Ct=wt.length-3,ir=wt[Ct],rr=wt[Ct+1],er=Ie===0?ir:rr;er>=Ke&&er<=Te&&rt(Ee,ir,rr,wt[Ct+2]),Ct=Ee.length-3,Ve&&Ct>=3&&(Ee[Ct]!==Ee[0]||Ee[Ct+1]!==Ee[1])&&rt(Ee,Ee[0],Ee[1],Ee[2]),Ee.length&&Ne.push(Ee)}function at(wt){let Ne=[];return Ne.size=wt.size,Ne.start=wt.start,Ne.end=wt.end,Ne}function nt(wt,Ne,Ke,Te,Ie,Ve){for(let Ce of wt)Ze(Ce,Ne,Ke,Te,Ie,Ve,!1)}function rt(wt,Ne,Ke,Te){wt.push(Ne,Ke,Te)}function st(wt,Ne,Ke,Te,Ie,Ve){let Ce=(Ve-Ne)/(Te-Ne);return rt(wt,Ve,Ke+(Ie-Ke)*Ce,1),Ce}function Me(wt,Ne,Ke,Te,Ie,Ve){let Ce=(Ve-Ke)/(Ie-Ke);return rt(wt,Ne+(Te-Ne)*Ce,Ve,1),Ce}function ye(wt,Ne){let Ke=[];for(let Te=0;Te0&&Ne.size<(Ie?Ce:Te))return void(Ke.numPoints+=Ne.length/3);let Ee=[];for(let Pe=0;PeCe)&&(Ke.numSimplified++,Ee.push(Ne[Pe],Ne[Pe+1])),Ke.numPoints++;Ie&&function(Pe,ft){let ct=0;for(let _t=0,Ct=Pe.length,ir=Ct-2;_t0===ft)for(let _t=0,Ct=Pe.length;_t24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ke.promoteId&&Ke.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Ie=function(Ve,Ce){let Ee=[];if(Ve.type===\"FeatureCollection\")for(let Pe=0;Pe1&&console.time(\"creation\"),ir=this.tiles[Ct]=ot(Ne,Ke,Te,Ie,ft),this.tileCoords.push({z:Ke,x:Te,y:Ie}),ct)){ct>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ke,Te,Ie,ir.numFeatures,ir.numPoints,ir.numSimplified),console.timeEnd(\"creation\"));let wi=`z${Ke}`;this.stats[wi]=(this.stats[wi]||0)+1,this.total++}if(ir.source=Ne,Ve==null){if(Ke===ft.indexMaxZoom||ir.numPoints<=ft.indexMaxPoints)continue}else{if(Ke===ft.maxZoom||Ke===Ve)continue;if(Ve!=null){let wi=Ve-Ke;if(Te!==Ce>>wi||Ie!==Ee>>wi)continue}}if(ir.source=null,Ne.length===0)continue;ct>1&&console.time(\"clipping\");let rr=.5*ft.buffer/ft.extent,er=.5-rr,Lr=.5+rr,fa=1+rr,Da=null,Ia=null,qa=null,Wa=null,Ca=De(Ne,_t,Te-rr,Te+Lr,0,ir.minX,ir.maxX,ft),hi=De(Ne,_t,Te+er,Te+fa,0,ir.minX,ir.maxX,ft);Ne=null,Ca&&(Da=De(Ca,_t,Ie-rr,Ie+Lr,1,ir.minY,ir.maxY,ft),Ia=De(Ca,_t,Ie+er,Ie+fa,1,ir.minY,ir.maxY,ft),Ca=null),hi&&(qa=De(hi,_t,Ie-rr,Ie+Lr,1,ir.minY,ir.maxY,ft),Wa=De(hi,_t,Ie+er,Ie+fa,1,ir.minY,ir.maxY,ft),hi=null),ct>1&&console.timeEnd(\"clipping\"),Pe.push(Da||[],Ke+1,2*Te,2*Ie),Pe.push(Ia||[],Ke+1,2*Te,2*Ie+1),Pe.push(qa||[],Ke+1,2*Te+1,2*Ie),Pe.push(Wa||[],Ke+1,2*Te+1,2*Ie+1)}}getTile(Ne,Ke,Te){Ne=+Ne,Ke=+Ke,Te=+Te;let Ie=this.options,{extent:Ve,debug:Ce}=Ie;if(Ne<0||Ne>24)return null;let Ee=1<1&&console.log(\"drilling down to z%d-%d-%d\",Ne,Ke,Te);let ft,ct=Ne,_t=Ke,Ct=Te;for(;!ft&&ct>0;)ct--,_t>>=1,Ct>>=1,ft=this.tiles[Wt(ct,_t,Ct)];return ft&&ft.source?(Ce>1&&(console.log(\"found parent tile z%d-%d-%d\",ct,_t,Ct),console.time(\"drilling down\")),this.splitTile(ft.source,ct,_t,Ct,Ne,Ke,Te),Ce>1&&console.timeEnd(\"drilling down\"),this.tiles[Pe]?Oe(this.tiles[Pe],Ve):null):null}}function Wt(wt,Ne,Ke){return 32*((1<{_t.properties=ir;let rr={};for(let er of Ct)rr[er]=Pe[er].evaluate(ct,_t);return rr},Ce.reduce=(ir,rr)=>{_t.properties=rr;for(let er of Ct)ct.accumulated=ir[er],ir[er]=ft[er].evaluate(ct,_t)},Ce}(Ne)).load((yield this._pendingData).features):(Ie=yield this._pendingData,new qt(Ie,Ne.geojsonVtOptions)),this.loaded={};let Ve={};if(Te){let Ce=Te.finish();Ce&&(Ve.resourceTiming={},Ve.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Ce)))}return Ve}catch(Ve){if(delete this._pendingRequest,e.bB(Ve))return{abandoned:!0};throw Ve}var Ie})}getData(){return e._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ke=this.loaded;return Ke&&Ke[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ke){return e._(this,void 0,void 0,function*(){let Te=yield this.loadGeoJSON(Ne,Ke);if(delete this._pendingRequest,typeof Te!=\"object\")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(c(Te,!0),Ne.filter){let Ie=e.bC(Ne.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Ie.result===\"error\")throw new Error(Ie.value.map(Ce=>`${Ce.key}: ${Ce.message}`).join(\", \"));Te={type:\"FeatureCollection\",features:Te.features.filter(Ce=>Ie.value.evaluate({zoom:0},Ce))}}return Te})}loadGeoJSON(Ne,Ke){return e._(this,void 0,void 0,function*(){let{promoteId:Te}=Ne;if(Ne.request){let Ie=yield e.h(Ne.request,Ke);return this._dataUpdateable=mr(Ie.data,Te)?qr(Ie.data,Te):void 0,Ie.data}if(typeof Ne.data==\"string\")try{let Ie=JSON.parse(Ne.data);return this._dataUpdateable=mr(Ie,Te)?qr(Ie,Te):void 0,Ie}catch{throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Ie,Ve,Ce){var Ee,Pe,ft,ct;if(Ve.removeAll&&Ie.clear(),Ve.remove)for(let _t of Ve.remove)Ie.delete(_t);if(Ve.add)for(let _t of Ve.add){let Ct=kr(_t,Ce);Ct!=null&&Ie.set(Ct,_t)}if(Ve.update)for(let _t of Ve.update){let Ct=Ie.get(_t.id);if(Ct==null)continue;let ir=!_t.removeAllProperties&&(((Ee=_t.removeProperties)===null||Ee===void 0?void 0:Ee.length)>0||((Pe=_t.addOrUpdateProperties)===null||Pe===void 0?void 0:Pe.length)>0);if((_t.newGeometry||_t.removeAllProperties||ir)&&(Ct=Object.assign({},Ct),Ie.set(_t.id,Ct),ir&&(Ct.properties=Object.assign({},Ct.properties))),_t.newGeometry&&(Ct.geometry=_t.newGeometry),_t.removeAllProperties)Ct.properties={};else if(((ft=_t.removeProperties)===null||ft===void 0?void 0:ft.length)>0)for(let rr of _t.removeProperties)Object.prototype.hasOwnProperty.call(Ct.properties,rr)&&delete Ct.properties[rr];if(((ct=_t.addOrUpdateProperties)===null||ct===void 0?void 0:ct.length)>0)for(let{key:rr,value:er}of _t.addOrUpdateProperties)Ct.properties[rr]=er}}(this._dataUpdateable,Ne.dataDiff,Te),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return e._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Rr{constructor(Ne){this.self=Ne,this.actor=new e.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ke,Te)=>{if(this.externalWorkerSourceTypes[Ke])throw new Error(`Worker source with name \"${Ke}\" already registered.`);this.externalWorkerSourceTypes[Ke]=Te},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=Ke=>{if(e.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");e.bD.setMethods(Ke)},this.actor.registerMessageHandler(\"LDT\",(Ke,Te)=>this._getDEMWorkerSource(Ke,Te.source).loadTile(Te)),this.actor.registerMessageHandler(\"RDT\",(Ke,Te)=>e._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ke,Te.source).removeTile(Te)})),this.actor.registerMessageHandler(\"GCEZ\",(Ke,Te)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ke,Te.type,Te.source).getClusterExpansionZoom(Te)})),this.actor.registerMessageHandler(\"GCC\",(Ke,Te)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ke,Te.type,Te.source).getClusterChildren(Te)})),this.actor.registerMessageHandler(\"GCL\",(Ke,Te)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ke,Te.type,Te.source).getClusterLeaves(Te)})),this.actor.registerMessageHandler(\"LD\",(Ke,Te)=>this._getWorkerSource(Ke,Te.type,Te.source).loadData(Te)),this.actor.registerMessageHandler(\"GD\",(Ke,Te)=>this._getWorkerSource(Ke,Te.type,Te.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ke,Te)=>this._getWorkerSource(Ke,Te.type,Te.source).loadTile(Te)),this.actor.registerMessageHandler(\"RT\",(Ke,Te)=>this._getWorkerSource(Ke,Te.type,Te.source).reloadTile(Te)),this.actor.registerMessageHandler(\"AT\",(Ke,Te)=>this._getWorkerSource(Ke,Te.type,Te.source).abortTile(Te)),this.actor.registerMessageHandler(\"RMT\",(Ke,Te)=>this._getWorkerSource(Ke,Te.type,Te.source).removeTile(Te)),this.actor.registerMessageHandler(\"RS\",(Ke,Te)=>e._(this,void 0,void 0,function*(){if(!this.workerSources[Ke]||!this.workerSources[Ke][Te.type]||!this.workerSources[Ke][Te.type][Te.source])return;let Ie=this.workerSources[Ke][Te.type][Te.source];delete this.workerSources[Ke][Te.type][Te.source],Ie.removeSource!==void 0&&Ie.removeSource(Te)})),this.actor.registerMessageHandler(\"RM\",Ke=>e._(this,void 0,void 0,function*(){delete this.layerIndexes[Ke],delete this.availableImages[Ke],delete this.workerSources[Ke],delete this.demWorkerSources[Ke]})),this.actor.registerMessageHandler(\"SR\",(Ke,Te)=>e._(this,void 0,void 0,function*(){this.referrer=Te})),this.actor.registerMessageHandler(\"SRPS\",(Ke,Te)=>this._syncRTLPluginState(Ke,Te)),this.actor.registerMessageHandler(\"IS\",(Ke,Te)=>e._(this,void 0,void 0,function*(){this.self.importScripts(Te)})),this.actor.registerMessageHandler(\"SI\",(Ke,Te)=>this._setImages(Ke,Te)),this.actor.registerMessageHandler(\"UL\",(Ke,Te)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(Ke).update(Te.layers,Te.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ke,Te)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(Ke).replace(Te)}))}_setImages(Ne,Ke){return e._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ke;for(let Te in this.workerSources[Ne]){let Ie=this.workerSources[Ne][Te];for(let Ve in Ie)Ie[Ve].availableImages=Ke}})}_syncRTLPluginState(Ne,Ke){return e._(this,void 0,void 0,function*(){if(e.bD.isParsed())return e.bD.getState();if(Ke.pluginStatus!==\"loading\")return e.bD.setState(Ke),Ke;let Te=Ke.pluginURL;if(this.self.importScripts(Te),e.bD.isParsed()){let Ie={pluginStatus:\"loaded\",pluginURL:Te};return e.bD.setState(Ie),Ie}throw e.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Te}`)})}_getAvailableImages(Ne){let Ke=this.availableImages[Ne];return Ke||(Ke=[]),Ke}_getLayerIndex(Ne){let Ke=this.layerIndexes[Ne];return Ke||(Ke=this.layerIndexes[Ne]=new t),Ke}_getWorkerSource(Ne,Ke,Te){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ke]||(this.workerSources[Ne][Ke]={}),!this.workerSources[Ne][Ke][Te]){let Ie={sendAsync:(Ve,Ce)=>(Ve.targetMapId=Ne,this.actor.sendAsync(Ve,Ce))};switch(Ke){case\"vector\":this.workerSources[Ne][Ke][Te]=new n(Ie,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case\"geojson\":this.workerSources[Ne][Ke][Te]=new Sr(Ie,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ke][Te]=new this.externalWorkerSourceTypes[Ke](Ie,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ke][Te]}_getDEMWorkerSource(Ne,Ke){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ke]||(this.demWorkerSources[Ne][Ke]=new i),this.demWorkerSources[Ne][Ke]}}return e.i(self)&&(self.worker=new Rr(self)),Rr}),S(\"index\",[\"exports\",\"./shared\"],function(e,t){\"use strict\";var r=\"4.7.1\";let o,a,n={now:typeof performance<\"u\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:Ue=>new Promise((I,ie)=>{let we=requestAnimationFrame(I);Ue.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(we),ie(t.c())})}),getImageData(Ue,I=0){return this.getImageCanvasContext(Ue).getImageData(-I,-I,Ue.width+2*I,Ue.height+2*I)},getImageCanvasContext(Ue){let I=window.document.createElement(\"canvas\"),ie=I.getContext(\"2d\",{willReadFrequently:!0});if(!ie)throw new Error(\"failed to create canvas 2d context\");return I.width=Ue.width,I.height=Ue.height,ie.drawImage(Ue,0,0,Ue.width,Ue.height),ie},resolveURL:Ue=>(o||(o=document.createElement(\"a\")),o.href=Ue,o.href),hardwareConcurrency:typeof navigator<\"u\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(a==null&&(a=matchMedia(\"(prefers-reduced-motion: reduce)\")),a.matches)}};class i{static testProp(I){if(!i.docStyle)return I[0];for(let ie=0;ie{window.removeEventListener(\"click\",i.suppressClickInternal,!0)},0)}static getScale(I){let ie=I.getBoundingClientRect();return{x:ie.width/I.offsetWidth||1,y:ie.height/I.offsetHeight||1,boundingClientRect:ie}}static getPoint(I,ie,we){let Se=ie.boundingClientRect;return new t.P((we.clientX-Se.left)/ie.x-I.clientLeft,(we.clientY-Se.top)/ie.y-I.clientTop)}static mousePos(I,ie){let we=i.getScale(I);return i.getPoint(I,we,ie)}static touchPos(I,ie){let we=[],Se=i.getScale(I);for(let Be=0;Be{h&&T(h),h=null,p=!0},c.onerror=()=>{m=!0,h=null},c.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(Ue){let I,ie,we,Se;Ue.resetRequestQueue=()=>{I=[],ie=0,we=0,Se={}},Ue.addThrottleControl=Nt=>{let $t=we++;return Se[$t]=Nt,$t},Ue.removeThrottleControl=Nt=>{delete Se[Nt],dt()},Ue.getImage=(Nt,$t,Tr=!0)=>new Promise((Ar,Kr)=>{s.supported&&(Nt.headers||(Nt.headers={}),Nt.headers.accept=\"image/webp,*/*\"),t.e(Nt,{type:\"image\"}),I.push({abortController:$t,requestParameters:Nt,supportImageRefresh:Tr,state:\"queued\",onError:na=>{Kr(na)},onSuccess:na=>{Ar(na)}}),dt()});let Be=Nt=>t._(this,void 0,void 0,function*(){Nt.state=\"running\";let{requestParameters:$t,supportImageRefresh:Tr,onError:Ar,onSuccess:Kr,abortController:na}=Nt,He=Tr===!1&&!t.i(self)&&!t.g($t.url)&&(!$t.headers||Object.keys($t.headers).reduce((vt,Lt)=>vt&&Lt===\"accept\",!0));ie++;let Je=He?St($t,na):t.m($t,na);try{let vt=yield Je;delete Nt.abortController,Nt.state=\"completed\",vt.data instanceof HTMLImageElement||t.b(vt.data)?Kr(vt):vt.data&&Kr({data:yield(lt=vt.data,typeof createImageBitmap==\"function\"?t.d(lt):t.f(lt)),cacheControl:vt.cacheControl,expires:vt.expires})}catch(vt){delete Nt.abortController,Ar(vt)}finally{ie--,dt()}var lt}),dt=()=>{let Nt=(()=>{for(let $t of Object.keys(Se))if(Se[$t]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let $t=ie;$t0;$t++){let Tr=I.shift();Tr.abortController.signal.aborted?$t--:Be(Tr)}},St=(Nt,$t)=>new Promise((Tr,Ar)=>{let Kr=new Image,na=Nt.url,He=Nt.credentials;He&&He===\"include\"?Kr.crossOrigin=\"use-credentials\":(He&&He===\"same-origin\"||!t.s(na))&&(Kr.crossOrigin=\"anonymous\"),$t.signal.addEventListener(\"abort\",()=>{Kr.src=\"\",Ar(t.c())}),Kr.fetchPriority=\"high\",Kr.onload=()=>{Kr.onerror=Kr.onload=null,Tr({data:Kr})},Kr.onerror=()=>{Kr.onerror=Kr.onload=null,$t.signal.aborted||Ar(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.\"))},Kr.src=na})}(l||(l={})),l.resetRequestQueue();class _{constructor(I){this._transformRequestFn=I}transformRequest(I,ie){return this._transformRequestFn&&this._transformRequestFn(I,ie)||{url:I}}setTransformRequest(I){this._transformRequestFn=I}}function w(Ue){var I=new t.A(3);return I[0]=Ue[0],I[1]=Ue[1],I[2]=Ue[2],I}var A,M=function(Ue,I,ie){return Ue[0]=I[0]-ie[0],Ue[1]=I[1]-ie[1],Ue[2]=I[2]-ie[2],Ue};A=new t.A(3),t.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var g=function(Ue){var I=Ue[0],ie=Ue[1];return I*I+ie*ie};function b(Ue){let I=[];if(typeof Ue==\"string\")I.push({id:\"default\",url:Ue});else if(Ue&&Ue.length>0){let ie=[];for(let{id:we,url:Se}of Ue){let Be=`${we}${Se}`;ie.indexOf(Be)===-1&&(ie.push(Be),I.push({id:we,url:Se}))}}return I}function d(Ue,I,ie){let we=Ue.split(\"?\");return we[0]+=`${I}${ie}`,we.join(\"?\")}(function(){var Ue=new t.A(2);t.A!=Float32Array&&(Ue[0]=0,Ue[1]=0)})();class u{constructor(I,ie,we,Se){this.context=I,this.format=we,this.texture=I.gl.createTexture(),this.update(ie,Se)}update(I,ie,we){let{width:Se,height:Be}=I,dt=!(this.size&&this.size[0]===Se&&this.size[1]===Be||we),{context:St}=this,{gl:Nt}=St;if(this.useMipmap=!!(ie&&ie.useMipmap),Nt.bindTexture(Nt.TEXTURE_2D,this.texture),St.pixelStoreUnpackFlipY.set(!1),St.pixelStoreUnpack.set(1),St.pixelStoreUnpackPremultiplyAlpha.set(this.format===Nt.RGBA&&(!ie||ie.premultiply!==!1)),dt)this.size=[Se,Be],I instanceof HTMLImageElement||I instanceof HTMLCanvasElement||I instanceof HTMLVideoElement||I instanceof ImageData||t.b(I)?Nt.texImage2D(Nt.TEXTURE_2D,0,this.format,this.format,Nt.UNSIGNED_BYTE,I):Nt.texImage2D(Nt.TEXTURE_2D,0,this.format,Se,Be,0,this.format,Nt.UNSIGNED_BYTE,I.data);else{let{x:$t,y:Tr}=we||{x:0,y:0};I instanceof HTMLImageElement||I instanceof HTMLCanvasElement||I instanceof HTMLVideoElement||I instanceof ImageData||t.b(I)?Nt.texSubImage2D(Nt.TEXTURE_2D,0,$t,Tr,Nt.RGBA,Nt.UNSIGNED_BYTE,I):Nt.texSubImage2D(Nt.TEXTURE_2D,0,$t,Tr,Se,Be,Nt.RGBA,Nt.UNSIGNED_BYTE,I.data)}this.useMipmap&&this.isSizePowerOfTwo()&&Nt.generateMipmap(Nt.TEXTURE_2D)}bind(I,ie,we){let{context:Se}=this,{gl:Be}=Se;Be.bindTexture(Be.TEXTURE_2D,this.texture),we!==Be.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(we=Be.LINEAR),I!==this.filter&&(Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_MAG_FILTER,I),Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_MIN_FILTER,we||I),this.filter=I),ie!==this.wrap&&(Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_WRAP_S,ie),Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_WRAP_T,ie),this.wrap=ie)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:I}=this.context;I.deleteTexture(this.texture),this.texture=null}}function y(Ue){let{userImage:I}=Ue;return!!(I&&I.render&&I.render())&&(Ue.data.replace(new Uint8Array(I.data.buffer)),!0)}class f extends t.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(I){if(this.loaded!==I&&(this.loaded=I,I)){for(let{ids:ie,promiseResolve:we}of this.requestors)we(this._getImagesForIds(ie));this.requestors=[]}}getImage(I){let ie=this.images[I];if(ie&&!ie.data&&ie.spriteData){let we=ie.spriteData;ie.data=new t.R({width:we.width,height:we.height},we.context.getImageData(we.x,we.y,we.width,we.height).data),ie.spriteData=null}return ie}addImage(I,ie){if(this.images[I])throw new Error(`Image id ${I} already exist, use updateImage instead`);this._validate(I,ie)&&(this.images[I]=ie)}_validate(I,ie){let we=!0,Se=ie.data||ie.spriteData;return this._validateStretch(ie.stretchX,Se&&Se.width)||(this.fire(new t.j(new Error(`Image \"${I}\" has invalid \"stretchX\" value`))),we=!1),this._validateStretch(ie.stretchY,Se&&Se.height)||(this.fire(new t.j(new Error(`Image \"${I}\" has invalid \"stretchY\" value`))),we=!1),this._validateContent(ie.content,ie)||(this.fire(new t.j(new Error(`Image \"${I}\" has invalid \"content\" value`))),we=!1),we}_validateStretch(I,ie){if(!I)return!0;let we=0;for(let Se of I){if(Se[0]{let Se=!0;if(!this.isLoaded())for(let Be of I)this.images[Be]||(Se=!1);this.isLoaded()||Se?ie(this._getImagesForIds(I)):this.requestors.push({ids:I,promiseResolve:ie})})}_getImagesForIds(I){let ie={};for(let we of I){let Se=this.getImage(we);Se||(this.fire(new t.k(\"styleimagemissing\",{id:we})),Se=this.getImage(we)),Se?ie[we]={data:Se.data.clone(),pixelRatio:Se.pixelRatio,sdf:Se.sdf,version:Se.version,stretchX:Se.stretchX,stretchY:Se.stretchY,content:Se.content,textFitWidth:Se.textFitWidth,textFitHeight:Se.textFitHeight,hasRenderCallback:!!(Se.userImage&&Se.userImage.render)}:t.w(`Image \"${we}\" 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.`)}return ie}getPixelSize(){let{width:I,height:ie}=this.atlasImage;return{width:I,height:ie}}getPattern(I){let ie=this.patterns[I],we=this.getImage(I);if(!we)return null;if(ie&&ie.position.version===we.version)return ie.position;if(ie)ie.position.version=we.version;else{let Se={w:we.data.width+2,h:we.data.height+2,x:0,y:0},Be=new t.I(Se,we);this.patterns[I]={bin:Se,position:Be}}return this._updatePatternAtlas(),this.patterns[I].position}bind(I){let ie=I.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new u(I,this.atlasImage,ie.RGBA),this.atlasTexture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE)}_updatePatternAtlas(){let I=[];for(let Be in this.patterns)I.push(this.patterns[Be].bin);let{w:ie,h:we}=t.p(I),Se=this.atlasImage;Se.resize({width:ie||1,height:we||1});for(let Be in this.patterns){let{bin:dt}=this.patterns[Be],St=dt.x+1,Nt=dt.y+1,$t=this.getImage(Be).data,Tr=$t.width,Ar=$t.height;t.R.copy($t,Se,{x:0,y:0},{x:St,y:Nt},{width:Tr,height:Ar}),t.R.copy($t,Se,{x:0,y:Ar-1},{x:St,y:Nt-1},{width:Tr,height:1}),t.R.copy($t,Se,{x:0,y:0},{x:St,y:Nt+Ar},{width:Tr,height:1}),t.R.copy($t,Se,{x:Tr-1,y:0},{x:St-1,y:Nt},{width:1,height:Ar}),t.R.copy($t,Se,{x:0,y:0},{x:St+Tr,y:Nt},{width:1,height:Ar})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(I){for(let ie of I){if(this.callbackDispatchedThisFrame[ie])continue;this.callbackDispatchedThisFrame[ie]=!0;let we=this.getImage(ie);we||t.w(`Image with ID: \"${ie}\" was not found`),y(we)&&this.updateImage(ie,we)}}}let R=1e20;function L(Ue,I,ie,we,Se,Be,dt,St,Nt){for(let $t=I;$t-1);Nt++,Be[Nt]=St,dt[Nt]=$t,dt[Nt+1]=R}for(let St=0,Nt=0;St65535)throw new Error(\"glyphs > 65535 not supported\");if(we.ranges[Be])return{stack:I,id:ie,glyph:Se};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!we.requests[Be]){let St=F.loadGlyphRange(I,Be,this.url,this.requestManager);we.requests[Be]=St}let dt=yield we.requests[Be];for(let St in dt)this._doesCharSupportLocalGlyph(+St)||(we.glyphs[+St]=dt[+St]);return we.ranges[Be]=!0,{stack:I,id:ie,glyph:dt[ie]||null}})}_doesCharSupportLocalGlyph(I){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(I))}_tinySDF(I,ie,we){let Se=this.localIdeographFontFamily;if(!Se||!this._doesCharSupportLocalGlyph(we))return;let Be=I.tinySDF;if(!Be){let St=\"400\";/bold/i.test(ie)?St=\"900\":/medium/i.test(ie)?St=\"500\":/light/i.test(ie)&&(St=\"200\"),Be=I.tinySDF=new F.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:Se,fontWeight:St})}let dt=Be.draw(String.fromCharCode(we));return{id:we,bitmap:new t.o({width:dt.width||60,height:dt.height||60},dt.data),metrics:{width:dt.glyphWidth/2||24,height:dt.glyphHeight/2||24,left:dt.glyphLeft/2+.5||0,top:dt.glyphTop/2-27.5||-8,advance:dt.glyphAdvance/2||24,isDoubleResolution:!0}}}}F.loadGlyphRange=function(Ue,I,ie,we){return t._(this,void 0,void 0,function*(){let Se=256*I,Be=Se+255,dt=we.transformRequest(ie.replace(\"{fontstack}\",Ue).replace(\"{range}\",`${Se}-${Be}`),\"Glyphs\"),St=yield t.l(dt,new AbortController);if(!St||!St.data)throw new Error(`Could not load glyph range. range: ${I}, ${Se}-${Be}`);let Nt={};for(let $t of t.n(St.data))Nt[$t.id]=$t;return Nt})},F.TinySDF=class{constructor({fontSize:Ue=24,buffer:I=3,radius:ie=8,cutoff:we=.25,fontFamily:Se=\"sans-serif\",fontWeight:Be=\"normal\",fontStyle:dt=\"normal\"}={}){this.buffer=I,this.cutoff=we,this.radius=ie;let St=this.size=Ue+4*I,Nt=this._createCanvas(St),$t=this.ctx=Nt.getContext(\"2d\",{willReadFrequently:!0});$t.font=`${dt} ${Be} ${Ue}px ${Se}`,$t.textBaseline=\"alphabetic\",$t.textAlign=\"left\",$t.fillStyle=\"black\",this.gridOuter=new Float64Array(St*St),this.gridInner=new Float64Array(St*St),this.f=new Float64Array(St),this.z=new Float64Array(St+1),this.v=new Uint16Array(St)}_createCanvas(Ue){let I=document.createElement(\"canvas\");return I.width=I.height=Ue,I}draw(Ue){let{width:I,actualBoundingBoxAscent:ie,actualBoundingBoxDescent:we,actualBoundingBoxLeft:Se,actualBoundingBoxRight:Be}=this.ctx.measureText(Ue),dt=Math.ceil(ie),St=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(Be-Se))),Nt=Math.min(this.size-this.buffer,dt+Math.ceil(we)),$t=St+2*this.buffer,Tr=Nt+2*this.buffer,Ar=Math.max($t*Tr,0),Kr=new Uint8ClampedArray(Ar),na={data:Kr,width:$t,height:Tr,glyphWidth:St,glyphHeight:Nt,glyphTop:dt,glyphLeft:0,glyphAdvance:I};if(St===0||Nt===0)return na;let{ctx:He,buffer:Je,gridInner:lt,gridOuter:vt}=this;He.clearRect(Je,Je,St,Nt),He.fillText(Ue,Je,Je+dt);let Lt=He.getImageData(Je,Je,St,Nt);vt.fill(R,0,Ar),lt.fill(0,0,Ar);for(let At=0;At0?Er*Er:0,lt[yr]=Er<0?Er*Er:0}}L(vt,0,0,$t,Tr,$t,this.f,this.v,this.z),L(lt,Je,Je,St,Nt,$t,this.f,this.v,this.z);for(let At=0;At1&&(Nt=I[++St]);let Tr=Math.abs($t-Nt.left),Ar=Math.abs($t-Nt.right),Kr=Math.min(Tr,Ar),na,He=Be/we*(Se+1);if(Nt.isDash){let Je=Se-Math.abs(He);na=Math.sqrt(Kr*Kr+Je*Je)}else na=Se-Math.sqrt(Kr*Kr+He*He);this.data[dt+$t]=Math.max(0,Math.min(255,na+128))}}}addRegularDash(I){for(let St=I.length-1;St>=0;--St){let Nt=I[St],$t=I[St+1];Nt.zeroLength?I.splice(St,1):$t&&$t.isDash===Nt.isDash&&($t.left=Nt.left,I.splice(St,1))}let ie=I[0],we=I[I.length-1];ie.isDash===we.isDash&&(ie.left=we.left-this.width,we.right=ie.right+this.width);let Se=this.width*this.nextRow,Be=0,dt=I[Be];for(let St=0;St1&&(dt=I[++Be]);let Nt=Math.abs(St-dt.left),$t=Math.abs(St-dt.right),Tr=Math.min(Nt,$t);this.data[Se+St]=Math.max(0,Math.min(255,(dt.isDash?Tr:-Tr)+128))}}addDash(I,ie){let we=ie?7:0,Se=2*we+1;if(this.nextRow+Se>this.height)return t.w(\"LineAtlas out of space\"),null;let Be=0;for(let St=0;St{ie.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[$]}numActive(){return Object.keys(this.active).length}}let le=Math.floor(n.hardwareConcurrency/2),fe,V;function Y(){return fe||(fe=new se),fe}se.workerCount=t.C(globalThis)?Math.max(Math.min(le,3),1):1;class ee{constructor(I,ie){this.workerPool=I,this.actors=[],this.currentActor=0,this.id=ie;let we=this.workerPool.acquire(ie);for(let Se=0;Se{ie.remove()}),this.actors=[],I&&this.workerPool.release(this.id)}registerMessageHandler(I,ie){for(let we of this.actors)we.registerMessageHandler(I,ie)}}function q(){return V||(V=new ee(Y(),t.G),V.registerMessageHandler(\"GR\",(Ue,I,ie)=>t.m(I,ie))),V}function oe(Ue,I){let ie=t.H();return t.J(ie,ie,[1,1,0]),t.K(ie,ie,[.5*Ue.width,.5*Ue.height,1]),t.L(ie,ie,Ue.calculatePosMatrix(I.toUnwrapped()))}function ae(Ue,I,ie,we,Se,Be){let dt=function(Ar,Kr,na){if(Ar)for(let He of Ar){let Je=Kr[He];if(Je&&Je.source===na&&Je.type===\"fill-extrusion\")return!0}else for(let He in Kr){let Je=Kr[He];if(Je.source===na&&Je.type===\"fill-extrusion\")return!0}return!1}(Se&&Se.layers,I,Ue.id),St=Be.maxPitchScaleFactor(),Nt=Ue.tilesIn(we,St,dt);Nt.sort(j);let $t=[];for(let Ar of Nt)$t.push({wrappedTileID:Ar.tileID.wrapped().key,queryResults:Ar.tile.queryRenderedFeatures(I,ie,Ue._state,Ar.queryGeometry,Ar.cameraQueryGeometry,Ar.scale,Se,Be,St,oe(Ue.transform,Ar.tileID))});let Tr=function(Ar){let Kr={},na={};for(let He of Ar){let Je=He.queryResults,lt=He.wrappedTileID,vt=na[lt]=na[lt]||{};for(let Lt in Je){let At=Je[Lt],zt=vt[Lt]=vt[Lt]||{},cr=Kr[Lt]=Kr[Lt]||[];for(let yr of At)zt[yr.featureIndex]||(zt[yr.featureIndex]=!0,cr.push(yr))}}return Kr}($t);for(let Ar in Tr)Tr[Ar].forEach(Kr=>{let na=Kr.feature,He=Ue.getFeatureState(na.layer[\"source-layer\"],na.id);na.source=na.layer.source,na.layer[\"source-layer\"]&&(na.sourceLayer=na.layer[\"source-layer\"]),na.state=He});return Tr}function j(Ue,I){let ie=Ue.tileID,we=I.tileID;return ie.overscaledZ-we.overscaledZ||ie.canonical.y-we.canonical.y||ie.wrap-we.wrap||ie.canonical.x-we.canonical.x}function Q(Ue,I,ie){return t._(this,void 0,void 0,function*(){let we=Ue;if(Ue.url?we=(yield t.h(I.transformRequest(Ue.url,\"Source\"),ie)).data:yield n.frameAsync(ie),!we)return null;let Se=t.M(t.e(we,Ue),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in we&&we.vector_layers&&(Se.vectorLayerIds=we.vector_layers.map(Be=>Be.id)),Se})}class re{constructor(I,ie){I&&(ie?this.setSouthWest(I).setNorthEast(ie):Array.isArray(I)&&(I.length===4?this.setSouthWest([I[0],I[1]]).setNorthEast([I[2],I[3]]):this.setSouthWest(I[0]).setNorthEast(I[1])))}setNorthEast(I){return this._ne=I instanceof t.N?new t.N(I.lng,I.lat):t.N.convert(I),this}setSouthWest(I){return this._sw=I instanceof t.N?new t.N(I.lng,I.lat):t.N.convert(I),this}extend(I){let ie=this._sw,we=this._ne,Se,Be;if(I instanceof t.N)Se=I,Be=I;else{if(!(I instanceof re))return Array.isArray(I)?I.length===4||I.every(Array.isArray)?this.extend(re.convert(I)):this.extend(t.N.convert(I)):I&&(\"lng\"in I||\"lon\"in I)&&\"lat\"in I?this.extend(t.N.convert(I)):this;if(Se=I._sw,Be=I._ne,!Se||!Be)return this}return ie||we?(ie.lng=Math.min(Se.lng,ie.lng),ie.lat=Math.min(Se.lat,ie.lat),we.lng=Math.max(Be.lng,we.lng),we.lat=Math.max(Be.lat,we.lat)):(this._sw=new t.N(Se.lng,Se.lat),this._ne=new t.N(Be.lng,Be.lat)),this}getCenter(){return new t.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new t.N(this.getWest(),this.getNorth())}getSouthEast(){return new t.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(I){let{lng:ie,lat:we}=t.N.convert(I),Se=this._sw.lng<=ie&&ie<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Se=this._sw.lng>=ie&&ie>=this._ne.lng),this._sw.lat<=we&&we<=this._ne.lat&&Se}static convert(I){return I instanceof re?I:I&&new re(I)}static fromLngLat(I,ie=0){let we=360*ie/40075017,Se=we/Math.cos(Math.PI/180*I.lat);return new re(new t.N(I.lng-Se,I.lat-we),new t.N(I.lng+Se,I.lat+we))}adjustAntiMeridian(){let I=new t.N(this._sw.lng,this._sw.lat),ie=new t.N(this._ne.lng,this._ne.lat);return new re(I,I.lng>ie.lng?new t.N(ie.lng+360,ie.lat):ie)}}class ce{constructor(I,ie,we){this.bounds=re.convert(this.validateBounds(I)),this.minzoom=ie||0,this.maxzoom=we||24}validateBounds(I){return Array.isArray(I)&&I.length===4?[Math.max(-180,I[0]),Math.max(-90,I[1]),Math.min(180,I[2]),Math.min(90,I[3])]:[-180,-90,180,90]}contains(I){let ie=Math.pow(2,I.z),we=Math.floor(t.O(this.bounds.getWest())*ie),Se=Math.floor(t.Q(this.bounds.getNorth())*ie),Be=Math.ceil(t.O(this.bounds.getEast())*ie),dt=Math.ceil(t.Q(this.bounds.getSouth())*ie);return I.x>=we&&I.x=Se&&I.y{this._options.tiles=I}),this}setUrl(I){return this.setSourceProperty(()=>{this.url=I,this._options.url=I}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return t.e({},this._options)}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),we={request:this.map._requestManager.transformRequest(ie,\"Tile\"),uid:I.uid,tileID:I.tileID,zoom:I.tileID.overscaledZ,tileSize:this.tileSize*I.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};we.request.collectResourceTiming=this._collectResourceTiming;let Se=\"RT\";if(I.actor&&I.state!==\"expired\"){if(I.state===\"loading\")return new Promise((Be,dt)=>{I.reloadPromise={resolve:Be,reject:dt}})}else I.actor=this.dispatcher.getActor(),Se=\"LT\";I.abortController=new AbortController;try{let Be=yield I.actor.sendAsync({type:Se,data:we},I.abortController);if(delete I.abortController,I.aborted)return;this._afterTileLoadWorkerResponse(I,Be)}catch(Be){if(delete I.abortController,I.aborted)return;if(Be&&Be.status!==404)throw Be;this._afterTileLoadWorkerResponse(I,null)}})}_afterTileLoadWorkerResponse(I,ie){if(ie&&ie.resourceTiming&&(I.resourceTiming=ie.resourceTiming),ie&&this.map._refreshExpiredTiles&&I.setExpiryData(ie),I.loadVectorData(ie,this.map.painter),I.reloadPromise){let we=I.reloadPromise;I.reloadPromise=null,this.loadTile(I).then(we.resolve).catch(we.reject)}}abortTile(I){return t._(this,void 0,void 0,function*(){I.abortController&&(I.abortController.abort(),delete I.abortController),I.actor&&(yield I.actor.sendAsync({type:\"AT\",data:{uid:I.uid,type:this.type,source:this.id}}))})}unloadTile(I){return t._(this,void 0,void 0,function*(){I.unloadVectorData(),I.actor&&(yield I.actor.sendAsync({type:\"RMT\",data:{uid:I.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class Ae extends t.E{constructor(I,ie,we,Se){super(),this.id=I,this.dispatcher=we,this.setEventedParent(Se),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.e({type:\"raster\"},ie),t.e(this,t.M(ie,[\"url\",\"scheme\",\"tileSize\"]))}load(){return t._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new t.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let I=yield Q(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,I&&(t.e(this,I),I.bounds&&(this.tileBounds=new ce(I.bounds,this.minzoom,this.maxzoom)),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(I){this._tileJSONRequest=null,this.fire(new t.j(I))}})}loaded(){return this._loaded}onAdd(I){this.map=I,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(I){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),I(),this.load()}setTiles(I){return this.setSourceProperty(()=>{this._options.tiles=I}),this}setUrl(I){return this.setSourceProperty(()=>{this.url=I,this._options.url=I}),this}serialize(){return t.e({},this._options)}hasTile(I){return!this.tileBounds||this.tileBounds.contains(I.canonical)}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);I.abortController=new AbortController;try{let we=yield l.getImage(this.map._requestManager.transformRequest(ie,\"Tile\"),I.abortController,this.map._refreshExpiredTiles);if(delete I.abortController,I.aborted)return void(I.state=\"unloaded\");if(we&&we.data){this.map._refreshExpiredTiles&&we.cacheControl&&we.expires&&I.setExpiryData({cacheControl:we.cacheControl,expires:we.expires});let Se=this.map.painter.context,Be=Se.gl,dt=we.data;I.texture=this.map.painter.getTileTexture(dt.width),I.texture?I.texture.update(dt,{useMipmap:!0}):(I.texture=new u(Se,dt,Be.RGBA,{useMipmap:!0}),I.texture.bind(Be.LINEAR,Be.CLAMP_TO_EDGE,Be.LINEAR_MIPMAP_NEAREST)),I.state=\"loaded\"}}catch(we){if(delete I.abortController,I.aborted)I.state=\"unloaded\";else if(we)throw I.state=\"errored\",we}})}abortTile(I){return t._(this,void 0,void 0,function*(){I.abortController&&(I.abortController.abort(),delete I.abortController)})}unloadTile(I){return t._(this,void 0,void 0,function*(){I.texture&&this.map.painter.saveTileTexture(I.texture)})}hasTransition(){return!1}}class De extends Ae{constructor(I,ie,we,Se){super(I,ie,we,Se),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.e({type:\"raster-dem\"},ie),this.encoding=ie.encoding||\"mapbox\",this.redFactor=ie.redFactor,this.greenFactor=ie.greenFactor,this.blueFactor=ie.blueFactor,this.baseShift=ie.baseShift}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),we=this.map._requestManager.transformRequest(ie,\"Tile\");I.neighboringTiles=this._getNeighboringTiles(I.tileID),I.abortController=new AbortController;try{let Se=yield l.getImage(we,I.abortController,this.map._refreshExpiredTiles);if(delete I.abortController,I.aborted)return void(I.state=\"unloaded\");if(Se&&Se.data){let Be=Se.data;this.map._refreshExpiredTiles&&Se.cacheControl&&Se.expires&&I.setExpiryData({cacheControl:Se.cacheControl,expires:Se.expires});let dt=t.b(Be)&&t.U()?Be:yield this.readImageNow(Be),St={type:this.type,uid:I.uid,source:this.id,rawImageData:dt,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!I.actor||I.state===\"expired\"){I.actor=this.dispatcher.getActor();let Nt=yield I.actor.sendAsync({type:\"LDT\",data:St});I.dem=Nt,I.needsHillshadePrepare=!0,I.needsTerrainPrepare=!0,I.state=\"loaded\"}}}catch(Se){if(delete I.abortController,I.aborted)I.state=\"unloaded\";else if(Se)throw I.state=\"errored\",Se}})}readImageNow(I){return t._(this,void 0,void 0,function*(){if(typeof VideoFrame<\"u\"&&t.V()){let ie=I.width+2,we=I.height+2;try{return new t.R({width:ie,height:we},yield t.W(I,-1,-1,ie,we))}catch{}}return n.getImageData(I,1)})}_getNeighboringTiles(I){let ie=I.canonical,we=Math.pow(2,ie.z),Se=(ie.x-1+we)%we,Be=ie.x===0?I.wrap-1:I.wrap,dt=(ie.x+1+we)%we,St=ie.x+1===we?I.wrap+1:I.wrap,Nt={};return Nt[new t.S(I.overscaledZ,Be,ie.z,Se,ie.y).key]={backfilled:!1},Nt[new t.S(I.overscaledZ,St,ie.z,dt,ie.y).key]={backfilled:!1},ie.y>0&&(Nt[new t.S(I.overscaledZ,Be,ie.z,Se,ie.y-1).key]={backfilled:!1},Nt[new t.S(I.overscaledZ,I.wrap,ie.z,ie.x,ie.y-1).key]={backfilled:!1},Nt[new t.S(I.overscaledZ,St,ie.z,dt,ie.y-1).key]={backfilled:!1}),ie.y+10&&t.e(Be,{resourceTiming:Se}),this.fire(new t.k(\"data\",Object.assign(Object.assign({},Be),{sourceDataType:\"metadata\"}))),this.fire(new t.k(\"data\",Object.assign(Object.assign({},Be),{sourceDataType:\"content\"})))}catch(we){if(this._pendingLoads--,this._removed)return void this.fire(new t.k(\"dataabort\",{dataType:\"source\"}));this.fire(new t.j(we))}})}loaded(){return this._pendingLoads===0}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.actor?\"RT\":\"LT\";I.actor=this.actor;let we={type:this.type,uid:I.uid,tileID:I.tileID,zoom:I.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};I.abortController=new AbortController;let Se=yield this.actor.sendAsync({type:ie,data:we},I.abortController);delete I.abortController,I.unloadVectorData(),I.aborted||I.loadVectorData(Se,this.map.painter,ie===\"RT\")})}abortTile(I){return t._(this,void 0,void 0,function*(){I.abortController&&(I.abortController.abort(),delete I.abortController),I.aborted=!0})}unloadTile(I){return t._(this,void 0,void 0,function*(){I.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:I.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}})}serialize(){return t.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var Ze=t.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class at extends t.E{constructor(I,ie,we,Se){super(),this.id=I,this.dispatcher=we,this.coordinates=ie.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(Se),this.options=ie}load(I){return t._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new t.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let ie=yield l.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,ie&&ie.data&&(this.image=ie.data,I&&(this.coordinates=I),this._finishLoading())}catch(ie){this._request=null,this._loaded=!0,this.fire(new t.j(ie))}})}loaded(){return this._loaded}updateImage(I){return I.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=I.url,this.load(I.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(I){this.map=I,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(I){this.coordinates=I;let ie=I.map(t.Z.fromLngLat);this.tileID=function(Se){let Be=1/0,dt=1/0,St=-1/0,Nt=-1/0;for(let Kr of Se)Be=Math.min(Be,Kr.x),dt=Math.min(dt,Kr.y),St=Math.max(St,Kr.x),Nt=Math.max(Nt,Kr.y);let $t=Math.max(St-Be,Nt-dt),Tr=Math.max(0,Math.floor(-Math.log($t)/Math.LN2)),Ar=Math.pow(2,Tr);return new t.a1(Tr,Math.floor((Be+St)/2*Ar),Math.floor((dt+Nt)/2*Ar))}(ie),this.minzoom=this.maxzoom=this.tileID.z;let we=ie.map(Se=>this.tileID.getTilePoint(Se)._round());return this._boundsArray=new t.$,this._boundsArray.emplaceBack(we[0].x,we[0].y,0,0),this._boundsArray.emplaceBack(we[1].x,we[1].y,t.X,0),this._boundsArray.emplaceBack(we[3].x,we[3].y,0,t.X),this._boundsArray.emplaceBack(we[2].x,we[2].y,t.X,t.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let I=this.map.painter.context,ie=I.gl;this.boundsBuffer||(this.boundsBuffer=I.createVertexBuffer(this._boundsArray,Ze.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new u(I,this.image,ie.RGBA),this.texture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE));let we=!1;for(let Se in this.tiles){let Be=this.tiles[Se];Be.state!==\"loaded\"&&(Be.state=\"loaded\",Be.texture=this.texture,we=!0)}we&&this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(I){return t._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(I.tileID.canonical)?(this.tiles[String(I.tileID.wrap)]=I,I.buckets={}):I.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class nt extends at{constructor(I,ie,we,Se){super(I,ie,we,Se),this.roundZoom=!0,this.type=\"video\",this.options=ie}load(){return t._(this,void 0,void 0,function*(){this._loaded=!1;let I=this.options;this.urls=[];for(let ie of I.urls)this.urls.push(this.map._requestManager.transformRequest(ie,\"Source\").url);try{let ie=yield t.a3(this.urls);if(this._loaded=!0,!ie)return;this.video=ie,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(ie){this.fire(new t.j(ie))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(I){if(this.video){let ie=this.video.seekable;Iie.end(0)?this.fire(new t.j(new t.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${ie.start(0)} and ${ie.end(0)}-second mark.`))):this.video.currentTime=I}}getVideo(){return this.video}onAdd(I){this.map||(this.map=I,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let I=this.map.painter.context,ie=I.gl;this.boundsBuffer||(this.boundsBuffer=I.createVertexBuffer(this._boundsArray,Ze.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE),ie.texSubImage2D(ie.TEXTURE_2D,0,0,0,ie.RGBA,ie.UNSIGNED_BYTE,this.video)):(this.texture=new u(I,this.video,ie.RGBA),this.texture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE));let we=!1;for(let Se in this.tiles){let Be=this.tiles[Se];Be.state!==\"loaded\"&&(Be.state=\"loaded\",Be.texture=this.texture,we=!0)}we&&this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class rt extends at{constructor(I,ie,we,Se){super(I,ie,we,Se),ie.coordinates?Array.isArray(ie.coordinates)&&ie.coordinates.length===4&&!ie.coordinates.some(Be=>!Array.isArray(Be)||Be.length!==2||Be.some(dt=>typeof dt!=\"number\"))||this.fire(new t.j(new t.a2(`sources.${I}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.j(new t.a2(`sources.${I}`,null,'missing required property \"coordinates\"'))),ie.animate&&typeof ie.animate!=\"boolean\"&&this.fire(new t.j(new t.a2(`sources.${I}`,null,'optional \"animate\" property must be a boolean value'))),ie.canvas?typeof ie.canvas==\"string\"||ie.canvas instanceof HTMLCanvasElement||this.fire(new t.j(new t.a2(`sources.${I}`,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.j(new t.a2(`sources.${I}`,null,'missing required property \"canvas\"'))),this.options=ie,this.animate=ie.animate===void 0||ie.animate}load(){return t._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(I){this.map=I,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let I=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,I=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,I=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let ie=this.map.painter.context,we=ie.gl;this.boundsBuffer||(this.boundsBuffer=ie.createVertexBuffer(this._boundsArray,Ze.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?(I||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new u(ie,this.canvas,we.RGBA,{premultiply:!0});let Se=!1;for(let Be in this.tiles){let dt=this.tiles[Be];dt.state!==\"loaded\"&&(dt.state=\"loaded\",dt.texture=this.texture,Se=!0)}Se&&this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let I of[this.canvas.width,this.canvas.height])if(isNaN(I)||I<=0)return!0;return!1}}let st={},Me=Ue=>{switch(Ue){case\"geojson\":return ze;case\"image\":return at;case\"raster\":return Ae;case\"raster-dem\":return De;case\"vector\":return be;case\"video\":return nt;case\"canvas\":return rt}return st[Ue]},ye=\"RTLPluginLoaded\";class he extends t.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=q()}_syncState(I){return this.status=I,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:I,pluginURL:this.url}).catch(ie=>{throw this.status=\"error\",ie})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(I){return t._(this,arguments,void 0,function*(ie,we=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=n.resolveURL(ie),!this.url)throw new Error(`requested url ${ie} is invalid`);if(this.status===\"unavailable\"){if(!we)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return t._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new t.k(ye))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let Oe=null;function tt(){return Oe||(Oe=new he),Oe}class ot{constructor(I,ie){this.timeAdded=0,this.fadeEndTime=0,this.tileID=I,this.uid=t.a4(),this.uses=0,this.tileSize=ie,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(I){let ie=I+this.timeAdded;ieBe.getLayer($t)).filter(Boolean);if(Nt.length!==0){St.layers=Nt,St.stateDependentLayerIds&&(St.stateDependentLayers=St.stateDependentLayerIds.map($t=>Nt.filter(Tr=>Tr.id===$t)[0]));for(let $t of Nt)dt[$t.id]=St}}return dt}(I.buckets,ie.style),this.hasSymbolBuckets=!1;for(let Se in this.buckets){let Be=this.buckets[Se];if(Be instanceof t.a6){if(this.hasSymbolBuckets=!0,!we)break;Be.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let Se in this.buckets){let Be=this.buckets[Se];if(Be instanceof t.a6&&Be.hasRTLText){this.hasRTLText=!0,tt().lazyLoad();break}}this.queryPadding=0;for(let Se in this.buckets){let Be=this.buckets[Se];this.queryPadding=Math.max(this.queryPadding,ie.style.getLayer(Se).queryRadius(Be))}I.imageAtlas&&(this.imageAtlas=I.imageAtlas),I.glyphAtlasImage&&(this.glyphAtlasImage=I.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let I in this.buckets)this.buckets[I].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(I){return this.buckets[I.id]}upload(I){for(let we in this.buckets){let Se=this.buckets[we];Se.uploadPending()&&Se.upload(I)}let ie=I.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new u(I,this.imageAtlas.image,ie.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new u(I,this.glyphAtlasImage,ie.ALPHA),this.glyphAtlasImage=null)}prepare(I){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(I,this.imageAtlasTexture)}queryRenderedFeatures(I,ie,we,Se,Be,dt,St,Nt,$t,Tr){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:Se,cameraQueryGeometry:Be,scale:dt,tileSize:this.tileSize,pixelPosMatrix:Tr,transform:Nt,params:St,queryPadding:this.queryPadding*$t},I,ie,we):{}}querySourceFeatures(I,ie){let we=this.latestFeatureIndex;if(!we||!we.rawTileData)return;let Se=we.loadVTLayers(),Be=ie&&ie.sourceLayer?ie.sourceLayer:\"\",dt=Se._geojsonTileLayer||Se[Be];if(!dt)return;let St=t.a7(ie&&ie.filter),{z:Nt,x:$t,y:Tr}=this.tileID.canonical,Ar={z:Nt,x:$t,y:Tr};for(let Kr=0;Krwe)Se=!1;else if(ie)if(this.expirationTime{this.remove(I,Be)},we)),this.data[Se].push(Be),this.order.push(Se),this.order.length>this.max){let dt=this._getAndRemoveByKey(this.order[0]);dt&&this.onRemove(dt)}return this}has(I){return I.wrapped().key in this.data}getAndRemove(I){return this.has(I)?this._getAndRemoveByKey(I.wrapped().key):null}_getAndRemoveByKey(I){let ie=this.data[I].shift();return ie.timeout&&clearTimeout(ie.timeout),this.data[I].length===0&&delete this.data[I],this.order.splice(this.order.indexOf(I),1),ie.value}getByKey(I){let ie=this.data[I];return ie?ie[0].value:null}get(I){return this.has(I)?this.data[I.wrapped().key][0].value:null}remove(I,ie){if(!this.has(I))return this;let we=I.wrapped().key,Se=ie===void 0?0:this.data[we].indexOf(ie),Be=this.data[we][Se];return this.data[we].splice(Se,1),Be.timeout&&clearTimeout(Be.timeout),this.data[we].length===0&&delete this.data[we],this.onRemove(Be.value),this.order.splice(this.order.indexOf(we),1),this}setMaxSize(I){for(this.max=I;this.order.length>this.max;){let ie=this._getAndRemoveByKey(this.order[0]);ie&&this.onRemove(ie)}return this}filter(I){let ie=[];for(let we in this.data)for(let Se of this.data[we])I(Se.value)||ie.push(Se);for(let we of ie)this.remove(we.value.tileID,we)}}class Pt{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(I,ie,we){let Se=String(ie);if(this.stateChanges[I]=this.stateChanges[I]||{},this.stateChanges[I][Se]=this.stateChanges[I][Se]||{},t.e(this.stateChanges[I][Se],we),this.deletedStates[I]===null){this.deletedStates[I]={};for(let Be in this.state[I])Be!==Se&&(this.deletedStates[I][Be]=null)}else if(this.deletedStates[I]&&this.deletedStates[I][Se]===null){this.deletedStates[I][Se]={};for(let Be in this.state[I][Se])we[Be]||(this.deletedStates[I][Se][Be]=null)}else for(let Be in we)this.deletedStates[I]&&this.deletedStates[I][Se]&&this.deletedStates[I][Se][Be]===null&&delete this.deletedStates[I][Se][Be]}removeFeatureState(I,ie,we){if(this.deletedStates[I]===null)return;let Se=String(ie);if(this.deletedStates[I]=this.deletedStates[I]||{},we&&ie!==void 0)this.deletedStates[I][Se]!==null&&(this.deletedStates[I][Se]=this.deletedStates[I][Se]||{},this.deletedStates[I][Se][we]=null);else if(ie!==void 0)if(this.stateChanges[I]&&this.stateChanges[I][Se])for(we in this.deletedStates[I][Se]={},this.stateChanges[I][Se])this.deletedStates[I][Se][we]=null;else this.deletedStates[I][Se]=null;else this.deletedStates[I]=null}getState(I,ie){let we=String(ie),Se=t.e({},(this.state[I]||{})[we],(this.stateChanges[I]||{})[we]);if(this.deletedStates[I]===null)return{};if(this.deletedStates[I]){let Be=this.deletedStates[I][ie];if(Be===null)return{};for(let dt in Be)delete Se[dt]}return Se}initializeTileState(I,ie){I.setFeatureState(this.state,ie)}coalesceChanges(I,ie){let we={};for(let Se in this.stateChanges){this.state[Se]=this.state[Se]||{};let Be={};for(let dt in this.stateChanges[Se])this.state[Se][dt]||(this.state[Se][dt]={}),t.e(this.state[Se][dt],this.stateChanges[Se][dt]),Be[dt]=this.state[Se][dt];we[Se]=Be}for(let Se in this.deletedStates){this.state[Se]=this.state[Se]||{};let Be={};if(this.deletedStates[Se]===null)for(let dt in this.state[Se])Be[dt]={},this.state[Se][dt]={};else for(let dt in this.deletedStates[Se]){if(this.deletedStates[Se][dt]===null)this.state[Se][dt]={};else for(let St of Object.keys(this.deletedStates[Se][dt]))delete this.state[Se][dt][St];Be[dt]=this.state[Se][dt]}we[Se]=we[Se]||{},t.e(we[Se],Be)}if(this.stateChanges={},this.deletedStates={},Object.keys(we).length!==0)for(let Se in I)I[Se].setFeatureState(we,ie)}}class It extends t.E{constructor(I,ie,we){super(),this.id=I,this.dispatcher=we,this.on(\"data\",Se=>this._dataHandler(Se)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((Se,Be,dt,St)=>{let Nt=new(Me(Be.type))(Se,Be,dt,St);if(Nt.id!==Se)throw new Error(`Expected Source id to be ${Se} instead of ${Nt.id}`);return Nt})(I,ie,we,this),this._tiles={},this._cache=new Qe(0,Se=>this._unloadTile(Se)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Pt,this._didEmitContent=!1,this._updated=!1}onAdd(I){this.map=I,this._maxTileCacheSize=I?I._maxTileCacheSize:null,this._maxTileCacheZoomLevels=I?I._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(I)}onRemove(I){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(I)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let I in this._tiles){let ie=this._tiles[I];if(ie.state!==\"loaded\"&&ie.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let I=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,I&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(I,ie,we){return t._(this,void 0,void 0,function*(){try{yield this._source.loadTile(I),this._tileLoaded(I,ie,we)}catch(Se){I.state=\"errored\",Se.status!==404?this._source.fire(new t.j(Se,{tile:I})):this.update(this.transform,this.terrain)}})}_unloadTile(I){this._source.unloadTile&&this._source.unloadTile(I)}_abortTile(I){this._source.abortTile&&this._source.abortTile(I),this._source.fire(new t.k(\"dataabort\",{tile:I,coord:I.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(I){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let ie in this._tiles){let we=this._tiles[ie];we.upload(I),we.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(I=>I.tileID).sort(qt).map(I=>I.key)}getRenderableIds(I){let ie=[];for(let we in this._tiles)this._isIdRenderable(we,I)&&ie.push(this._tiles[we]);return I?ie.sort((we,Se)=>{let Be=we.tileID,dt=Se.tileID,St=new t.P(Be.canonical.x,Be.canonical.y)._rotate(this.transform.angle),Nt=new t.P(dt.canonical.x,dt.canonical.y)._rotate(this.transform.angle);return Be.overscaledZ-dt.overscaledZ||Nt.y-St.y||Nt.x-St.x}).map(we=>we.tileID.key):ie.map(we=>we.tileID).sort(qt).map(we=>we.key)}hasRenderableParent(I){let ie=this.findLoadedParent(I,0);return!!ie&&this._isIdRenderable(ie.tileID.key)}_isIdRenderable(I,ie){return this._tiles[I]&&this._tiles[I].hasData()&&!this._coveredTiles[I]&&(ie||!this._tiles[I].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let I in this._tiles)this._tiles[I].state!==\"errored\"&&this._reloadTile(I,\"reloading\")}}_reloadTile(I,ie){return t._(this,void 0,void 0,function*(){let we=this._tiles[I];we&&(we.state!==\"loading\"&&(we.state=ie),yield this._loadTile(we,I,ie))})}_tileLoaded(I,ie,we){I.timeAdded=n.now(),we===\"expired\"&&(I.refreshedUponExpiration=!0),this._setTileReloadTimer(ie,I),this.getSource().type===\"raster-dem\"&&I.dem&&this._backfillDEM(I),this._state.initializeTileState(I,this.map?this.map.painter:null),I.aborted||this._source.fire(new t.k(\"data\",{dataType:\"source\",tile:I,coord:I.tileID}))}_backfillDEM(I){let ie=this.getRenderableIds();for(let Se=0;Se1||(Math.abs(dt)>1&&(Math.abs(dt+Nt)===1?dt+=Nt:Math.abs(dt-Nt)===1&&(dt-=Nt)),Be.dem&&Se.dem&&(Se.dem.backfillBorder(Be.dem,dt,St),Se.neighboringTiles&&Se.neighboringTiles[$t]&&(Se.neighboringTiles[$t].backfilled=!0)))}}getTile(I){return this.getTileByID(I.key)}getTileByID(I){return this._tiles[I]}_retainLoadedChildren(I,ie,we,Se){for(let Be in this._tiles){let dt=this._tiles[Be];if(Se[Be]||!dt.hasData()||dt.tileID.overscaledZ<=ie||dt.tileID.overscaledZ>we)continue;let St=dt.tileID;for(;dt&&dt.tileID.overscaledZ>ie+1;){let $t=dt.tileID.scaledTo(dt.tileID.overscaledZ-1);dt=this._tiles[$t.key],dt&&dt.hasData()&&(St=$t)}let Nt=St;for(;Nt.overscaledZ>ie;)if(Nt=Nt.scaledTo(Nt.overscaledZ-1),I[Nt.key]){Se[St.key]=St;break}}}findLoadedParent(I,ie){if(I.key in this._loadedParentTiles){let we=this._loadedParentTiles[I.key];return we&&we.tileID.overscaledZ>=ie?we:null}for(let we=I.overscaledZ-1;we>=ie;we--){let Se=I.scaledTo(we),Be=this._getLoadedTile(Se);if(Be)return Be}}findLoadedSibling(I){return this._getLoadedTile(I)}_getLoadedTile(I){let ie=this._tiles[I.key];return ie&&ie.hasData()?ie:this._cache.getByKey(I.wrapped().key)}updateCacheSize(I){let ie=Math.ceil(I.width/this._source.tileSize)+1,we=Math.ceil(I.height/this._source.tileSize)+1,Se=Math.floor(ie*we*(this._maxTileCacheZoomLevels===null?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),Be=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,Se):Se;this._cache.setMaxSize(Be)}handleWrapJump(I){let ie=Math.round((I-(this._prevLng===void 0?I:this._prevLng))/360);if(this._prevLng=I,ie){let we={};for(let Se in this._tiles){let Be=this._tiles[Se];Be.tileID=Be.tileID.unwrapTo(Be.tileID.wrap+ie),we[Be.tileID.key]=Be}this._tiles=we;for(let Se in this._timers)clearTimeout(this._timers[Se]),delete this._timers[Se];for(let Se in this._tiles)this._setTileReloadTimer(Se,this._tiles[Se])}}_updateCoveredAndRetainedTiles(I,ie,we,Se,Be,dt){let St={},Nt={},$t=Object.keys(I),Tr=n.now();for(let Ar of $t){let Kr=I[Ar],na=this._tiles[Ar];if(!na||na.fadeEndTime!==0&&na.fadeEndTime<=Tr)continue;let He=this.findLoadedParent(Kr,ie),Je=this.findLoadedSibling(Kr),lt=He||Je||null;lt&&(this._addTile(lt.tileID),St[lt.tileID.key]=lt.tileID),Nt[Ar]=Kr}this._retainLoadedChildren(Nt,Se,we,I);for(let Ar in St)I[Ar]||(this._coveredTiles[Ar]=!0,I[Ar]=St[Ar]);if(dt){let Ar={},Kr={};for(let na of Be)this._tiles[na.key].hasData()?Ar[na.key]=na:Kr[na.key]=na;for(let na in Kr){let He=Kr[na].children(this._source.maxzoom);this._tiles[He[0].key]&&this._tiles[He[1].key]&&this._tiles[He[2].key]&&this._tiles[He[3].key]&&(Ar[He[0].key]=I[He[0].key]=He[0],Ar[He[1].key]=I[He[1].key]=He[1],Ar[He[2].key]=I[He[2].key]=He[2],Ar[He[3].key]=I[He[3].key]=He[3],delete Kr[na])}for(let na in Kr){let He=Kr[na],Je=this.findLoadedParent(He,this._source.minzoom),lt=this.findLoadedSibling(He),vt=Je||lt||null;if(vt){Ar[vt.tileID.key]=I[vt.tileID.key]=vt.tileID;for(let Lt in Ar)Ar[Lt].isChildOf(vt.tileID)&&delete Ar[Lt]}}for(let na in this._tiles)Ar[na]||(this._coveredTiles[na]=!0)}}update(I,ie){if(!this._sourceLoaded||this._paused)return;let we;this.transform=I,this.terrain=ie,this.updateCacheSize(I),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?we=I.getVisibleUnwrappedCoordinates(this._source.tileID).map(Tr=>new t.S(Tr.canonical.z,Tr.wrap,Tr.canonical.z,Tr.canonical.x,Tr.canonical.y)):(we=I.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:ie}),this._source.hasTile&&(we=we.filter(Tr=>this._source.hasTile(Tr)))):we=[];let Se=I.coveringZoomLevel(this._source),Be=Math.max(Se-It.maxOverzooming,this._source.minzoom),dt=Math.max(Se+It.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Tr={};for(let Ar of we)if(Ar.canonical.z>this._source.minzoom){let Kr=Ar.scaledTo(Ar.canonical.z-1);Tr[Kr.key]=Kr;let na=Ar.scaledTo(Math.max(this._source.minzoom,Math.min(Ar.canonical.z,5)));Tr[na.key]=na}we=we.concat(Object.values(Tr))}let St=we.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,St&&this.fire(new t.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let Nt=this._updateRetainedTiles(we,Se);Wt(this._source.type)&&this._updateCoveredAndRetainedTiles(Nt,Be,dt,Se,we,ie);for(let Tr in Nt)this._tiles[Tr].clearFadeHold();let $t=t.ab(this._tiles,Nt);for(let Tr of $t){let Ar=this._tiles[Tr];Ar.hasSymbolBuckets&&!Ar.holdingForFade()?Ar.setHoldDuration(this.map._fadeDuration):Ar.hasSymbolBuckets&&!Ar.symbolFadeFinished()||this._removeTile(Tr)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let I in this._tiles)this._tiles[I].holdingForFade()&&this._removeTile(I)}_updateRetainedTiles(I,ie){var we;let Se={},Be={},dt=Math.max(ie-It.maxOverzooming,this._source.minzoom),St=Math.max(ie+It.maxUnderzooming,this._source.minzoom),Nt={};for(let $t of I){let Tr=this._addTile($t);Se[$t.key]=$t,Tr.hasData()||iethis._source.maxzoom){let Kr=$t.children(this._source.maxzoom)[0],na=this.getTile(Kr);if(na&&na.hasData()){Se[Kr.key]=Kr;continue}}else{let Kr=$t.children(this._source.maxzoom);if(Se[Kr[0].key]&&Se[Kr[1].key]&&Se[Kr[2].key]&&Se[Kr[3].key])continue}let Ar=Tr.wasRequested();for(let Kr=$t.overscaledZ-1;Kr>=dt;--Kr){let na=$t.scaledTo(Kr);if(Be[na.key])break;if(Be[na.key]=!0,Tr=this.getTile(na),!Tr&&Ar&&(Tr=this._addTile(na)),Tr){let He=Tr.hasData();if((He||!(!((we=this.map)===null||we===void 0)&&we.cancelPendingTileRequestsWhileZooming)||Ar)&&(Se[na.key]=na),Ar=Tr.wasRequested(),He)break}}}return Se}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let I in this._tiles){let ie=[],we,Se=this._tiles[I].tileID;for(;Se.overscaledZ>0;){if(Se.key in this._loadedParentTiles){we=this._loadedParentTiles[Se.key];break}ie.push(Se.key);let Be=Se.scaledTo(Se.overscaledZ-1);if(we=this._getLoadedTile(Be),we)break;Se=Be}for(let Be of ie)this._loadedParentTiles[Be]=we}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let I in this._tiles){let ie=this._tiles[I].tileID,we=this._getLoadedTile(ie);this._loadedSiblingTiles[ie.key]=we}}_addTile(I){let ie=this._tiles[I.key];if(ie)return ie;ie=this._cache.getAndRemove(I),ie&&(this._setTileReloadTimer(I.key,ie),ie.tileID=I,this._state.initializeTileState(ie,this.map?this.map.painter:null),this._cacheTimers[I.key]&&(clearTimeout(this._cacheTimers[I.key]),delete this._cacheTimers[I.key],this._setTileReloadTimer(I.key,ie)));let we=ie;return ie||(ie=new ot(I,this._source.tileSize*I.overscaleFactor()),this._loadTile(ie,I.key,ie.state)),ie.uses++,this._tiles[I.key]=ie,we||this._source.fire(new t.k(\"dataloading\",{tile:ie,coord:ie.tileID,dataType:\"source\"})),ie}_setTileReloadTimer(I,ie){I in this._timers&&(clearTimeout(this._timers[I]),delete this._timers[I]);let we=ie.getExpiryTimeout();we&&(this._timers[I]=setTimeout(()=>{this._reloadTile(I,\"expired\"),delete this._timers[I]},we))}_removeTile(I){let ie=this._tiles[I];ie&&(ie.uses--,delete this._tiles[I],this._timers[I]&&(clearTimeout(this._timers[I]),delete this._timers[I]),ie.uses>0||(ie.hasData()&&ie.state!==\"reloading\"?this._cache.add(ie.tileID,ie,ie.getExpiryTimeout()):(ie.aborted=!0,this._abortTile(ie),this._unloadTile(ie))))}_dataHandler(I){let ie=I.sourceDataType;I.dataType===\"source\"&&ie===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&I.dataType===\"source\"&&ie===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let I in this._tiles)this._removeTile(I);this._cache.reset()}tilesIn(I,ie,we){let Se=[],Be=this.transform;if(!Be)return Se;let dt=we?Be.getCameraQueryGeometry(I):I,St=I.map(He=>Be.pointCoordinate(He,this.terrain)),Nt=dt.map(He=>Be.pointCoordinate(He,this.terrain)),$t=this.getIds(),Tr=1/0,Ar=1/0,Kr=-1/0,na=-1/0;for(let He of Nt)Tr=Math.min(Tr,He.x),Ar=Math.min(Ar,He.y),Kr=Math.max(Kr,He.x),na=Math.max(na,He.y);for(let He=0;He<$t.length;He++){let Je=this._tiles[$t[He]];if(Je.holdingForFade())continue;let lt=Je.tileID,vt=Math.pow(2,Be.zoom-Je.tileID.overscaledZ),Lt=ie*Je.queryPadding*t.X/Je.tileSize/vt,At=[lt.getTilePoint(new t.Z(Tr,Ar)),lt.getTilePoint(new t.Z(Kr,na))];if(At[0].x-Lt=0&&At[1].y+Lt>=0){let zt=St.map(yr=>lt.getTilePoint(yr)),cr=Nt.map(yr=>lt.getTilePoint(yr));Se.push({tile:Je,tileID:lt,queryGeometry:zt,cameraQueryGeometry:cr,scale:vt})}}return Se}getVisibleCoordinates(I){let ie=this.getRenderableIds(I).map(we=>this._tiles[we].tileID);for(let we of ie)we.posMatrix=this.transform.calculatePosMatrix(we.toUnwrapped());return ie}hasTransition(){if(this._source.hasTransition())return!0;if(Wt(this._source.type)){let I=n.now();for(let ie in this._tiles)if(this._tiles[ie].fadeEndTime>=I)return!0}return!1}setFeatureState(I,ie,we){this._state.updateState(I=I||\"_geojsonTileLayer\",ie,we)}removeFeatureState(I,ie,we){this._state.removeFeatureState(I=I||\"_geojsonTileLayer\",ie,we)}getFeatureState(I,ie){return this._state.getState(I=I||\"_geojsonTileLayer\",ie)}setDependencies(I,ie,we){let Se=this._tiles[I];Se&&Se.setDependencies(ie,we)}reloadTilesForDependencies(I,ie){for(let we in this._tiles)this._tiles[we].hasDependency(I,ie)&&this._reloadTile(we,\"reloading\");this._cache.filter(we=>!we.hasDependency(I,ie))}}function qt(Ue,I){let ie=Math.abs(2*Ue.wrap)-+(Ue.wrap<0),we=Math.abs(2*I.wrap)-+(I.wrap<0);return Ue.overscaledZ-I.overscaledZ||we-ie||I.canonical.y-Ue.canonical.y||I.canonical.x-Ue.canonical.x}function Wt(Ue){return Ue===\"raster\"||Ue===\"image\"||Ue===\"video\"}It.maxOverzooming=10,It.maxUnderzooming=3;class kr{constructor(I,ie){this.reset(I,ie)}reset(I,ie){this.points=I||[],this._distances=[0];for(let we=1;we0?(Se-dt)/St:0;return this.points[Be].mult(1-Nt).add(this.points[ie].mult(Nt))}}function mr(Ue,I){let ie=!0;return Ue===\"always\"||Ue!==\"never\"&&I!==\"never\"||(ie=!1),ie}class qr{constructor(I,ie,we){let Se=this.boxCells=[],Be=this.circleCells=[];this.xCellCount=Math.ceil(I/we),this.yCellCount=Math.ceil(ie/we);for(let dt=0;dtthis.width||Se<0||ie>this.height)return[];let Nt=[];if(I<=0&&ie<=0&&this.width<=we&&this.height<=Se){if(Be)return[{key:null,x1:I,y1:ie,x2:we,y2:Se}];for(let $t=0;$t0}hitTestCircle(I,ie,we,Se,Be){let dt=I-we,St=I+we,Nt=ie-we,$t=ie+we;if(St<0||dt>this.width||$t<0||Nt>this.height)return!1;let Tr=[];return this._forEachCell(dt,Nt,St,$t,this._queryCellCircle,Tr,{hitTest:!0,overlapMode:Se,circle:{x:I,y:ie,radius:we},seenUids:{box:{},circle:{}}},Be),Tr.length>0}_queryCell(I,ie,we,Se,Be,dt,St,Nt){let{seenUids:$t,hitTest:Tr,overlapMode:Ar}=St,Kr=this.boxCells[Be];if(Kr!==null){let He=this.bboxes;for(let Je of Kr)if(!$t.box[Je]){$t.box[Je]=!0;let lt=4*Je,vt=this.boxKeys[Je];if(I<=He[lt+2]&&ie<=He[lt+3]&&we>=He[lt+0]&&Se>=He[lt+1]&&(!Nt||Nt(vt))&&(!Tr||!mr(Ar,vt.overlapMode))&&(dt.push({key:vt,x1:He[lt],y1:He[lt+1],x2:He[lt+2],y2:He[lt+3]}),Tr))return!0}}let na=this.circleCells[Be];if(na!==null){let He=this.circles;for(let Je of na)if(!$t.circle[Je]){$t.circle[Je]=!0;let lt=3*Je,vt=this.circleKeys[Je];if(this._circleAndRectCollide(He[lt],He[lt+1],He[lt+2],I,ie,we,Se)&&(!Nt||Nt(vt))&&(!Tr||!mr(Ar,vt.overlapMode))){let Lt=He[lt],At=He[lt+1],zt=He[lt+2];if(dt.push({key:vt,x1:Lt-zt,y1:At-zt,x2:Lt+zt,y2:At+zt}),Tr)return!0}}}return!1}_queryCellCircle(I,ie,we,Se,Be,dt,St,Nt){let{circle:$t,seenUids:Tr,overlapMode:Ar}=St,Kr=this.boxCells[Be];if(Kr!==null){let He=this.bboxes;for(let Je of Kr)if(!Tr.box[Je]){Tr.box[Je]=!0;let lt=4*Je,vt=this.boxKeys[Je];if(this._circleAndRectCollide($t.x,$t.y,$t.radius,He[lt+0],He[lt+1],He[lt+2],He[lt+3])&&(!Nt||Nt(vt))&&!mr(Ar,vt.overlapMode))return dt.push(!0),!0}}let na=this.circleCells[Be];if(na!==null){let He=this.circles;for(let Je of na)if(!Tr.circle[Je]){Tr.circle[Je]=!0;let lt=3*Je,vt=this.circleKeys[Je];if(this._circlesCollide(He[lt],He[lt+1],He[lt+2],$t.x,$t.y,$t.radius)&&(!Nt||Nt(vt))&&!mr(Ar,vt.overlapMode))return dt.push(!0),!0}}}_forEachCell(I,ie,we,Se,Be,dt,St,Nt){let $t=this._convertToXCellCoord(I),Tr=this._convertToYCellCoord(ie),Ar=this._convertToXCellCoord(we),Kr=this._convertToYCellCoord(Se);for(let na=$t;na<=Ar;na++)for(let He=Tr;He<=Kr;He++)if(Be.call(this,I,ie,we,Se,this.xCellCount*He+na,dt,St,Nt))return}_convertToXCellCoord(I){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(I*this.xScale)))}_convertToYCellCoord(I){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(I*this.yScale)))}_circlesCollide(I,ie,we,Se,Be,dt){let St=Se-I,Nt=Be-ie,$t=we+dt;return $t*$t>St*St+Nt*Nt}_circleAndRectCollide(I,ie,we,Se,Be,dt,St){let Nt=(dt-Se)/2,$t=Math.abs(I-(Se+Nt));if($t>Nt+we)return!1;let Tr=(St-Be)/2,Ar=Math.abs(ie-(Be+Tr));if(Ar>Tr+we)return!1;if($t<=Nt||Ar<=Tr)return!0;let Kr=$t-Nt,na=Ar-Tr;return Kr*Kr+na*na<=we*we}}function Sr(Ue,I,ie,we,Se){let Be=t.H();return I?(t.K(Be,Be,[1/Se,1/Se,1]),ie||t.ad(Be,Be,we.angle)):t.L(Be,we.labelPlaneMatrix,Ue),Be}function Rr(Ue,I,ie,we,Se){if(I){let Be=t.ae(Ue);return t.K(Be,Be,[Se,Se,1]),ie||t.ad(Be,Be,-we.angle),Be}return we.glCoordMatrix}function wt(Ue,I,ie,we){let Se;we?(Se=[Ue,I,we(Ue,I),1],t.af(Se,Se,ie)):(Se=[Ue,I,0,1],er(Se,Se,ie));let Be=Se[3];return{point:new t.P(Se[0]/Be,Se[1]/Be),signedDistanceFromCamera:Be,isOccluded:!1}}function Ne(Ue,I){return .5+Ue/I*.5}function Ke(Ue,I){return Ue.x>=-I[0]&&Ue.x<=I[0]&&Ue.y>=-I[1]&&Ue.y<=I[1]}function Te(Ue,I,ie,we,Se,Be,dt,St,Nt,$t,Tr,Ar,Kr,na,He){let Je=we?Ue.textSizeData:Ue.iconSizeData,lt=t.ag(Je,ie.transform.zoom),vt=[256/ie.width*2+1,256/ie.height*2+1],Lt=we?Ue.text.dynamicLayoutVertexArray:Ue.icon.dynamicLayoutVertexArray;Lt.clear();let At=Ue.lineVertexArray,zt=we?Ue.text.placedSymbolArray:Ue.icon.placedSymbolArray,cr=ie.transform.width/ie.transform.height,yr=!1;for(let Er=0;ErMath.abs(ie.x-I.x)*we?{useVertical:!0}:(Ue===t.ah.vertical?I.yie.x)?{needsFlipping:!0}:null}function Ce(Ue,I,ie,we,Se,Be,dt,St,Nt,$t,Tr){let Ar=ie/24,Kr=I.lineOffsetX*Ar,na=I.lineOffsetY*Ar,He;if(I.numGlyphs>1){let Je=I.glyphStartIndex+I.numGlyphs,lt=I.lineStartIndex,vt=I.lineStartIndex+I.lineLength,Lt=Ie(Ar,St,Kr,na,we,I,Tr,Ue);if(!Lt)return{notEnoughRoom:!0};let At=wt(Lt.first.point.x,Lt.first.point.y,dt,Ue.getElevation).point,zt=wt(Lt.last.point.x,Lt.last.point.y,dt,Ue.getElevation).point;if(Se&&!we){let cr=Ve(I.writingMode,At,zt,$t);if(cr)return cr}He=[Lt.first];for(let cr=I.glyphStartIndex+1;cr0?At.point:function(yr,Er,jr,Qr,pa,Aa){return Ee(yr,Er,jr,1,pa,Aa)}(Ue.tileAnchorPoint,Lt,lt,0,Be,Ue),cr=Ve(I.writingMode,lt,zt,$t);if(cr)return cr}let Je=Ct(Ar*St.getoffsetX(I.glyphStartIndex),Kr,na,we,I.segment,I.lineStartIndex,I.lineStartIndex+I.lineLength,Ue,Tr);if(!Je||Ue.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};He=[Je]}for(let Je of He)t.aj(Nt,Je.point,Je.angle);return{}}function Ee(Ue,I,ie,we,Se,Be){let dt=Ue.add(Ue.sub(I)._unit()),St=Se!==void 0?wt(dt.x,dt.y,Se,Be.getElevation).point:ft(dt.x,dt.y,Be).point,Nt=ie.sub(St);return ie.add(Nt._mult(we/Nt.mag()))}function Pe(Ue,I,ie){let we=I.projectionCache;if(we.projections[Ue])return we.projections[Ue];let Se=new t.P(I.lineVertexArray.getx(Ue),I.lineVertexArray.gety(Ue)),Be=ft(Se.x,Se.y,I);if(Be.signedDistanceFromCamera>0)return we.projections[Ue]=Be.point,we.anyProjectionOccluded=we.anyProjectionOccluded||Be.isOccluded,Be.point;let dt=Ue-ie.direction;return function(St,Nt,$t,Tr,Ar){return Ee(St,Nt,$t,Tr,void 0,Ar)}(ie.distanceFromAnchor===0?I.tileAnchorPoint:new t.P(I.lineVertexArray.getx(dt),I.lineVertexArray.gety(dt)),Se,ie.previousVertex,ie.absOffsetX-ie.distanceFromAnchor+1,I)}function ft(Ue,I,ie){let we=Ue+ie.translation[0],Se=I+ie.translation[1],Be;return!ie.pitchWithMap&&ie.projection.useSpecialProjectionForSymbols?(Be=ie.projection.projectTileCoordinates(we,Se,ie.unwrappedTileID,ie.getElevation),Be.point.x=(.5*Be.point.x+.5)*ie.width,Be.point.y=(.5*-Be.point.y+.5)*ie.height):(Be=wt(we,Se,ie.labelPlaneMatrix,ie.getElevation),Be.isOccluded=!1),Be}function ct(Ue,I,ie){return Ue._unit()._perp()._mult(I*ie)}function _t(Ue,I,ie,we,Se,Be,dt,St,Nt){if(St.projectionCache.offsets[Ue])return St.projectionCache.offsets[Ue];let $t=ie.add(I);if(Ue+Nt.direction=Se)return St.projectionCache.offsets[Ue]=$t,$t;let Tr=Pe(Ue+Nt.direction,St,Nt),Ar=ct(Tr.sub(ie),dt,Nt.direction),Kr=ie.add(Ar),na=Tr.add(Ar);return St.projectionCache.offsets[Ue]=t.ak(Be,$t,Kr,na)||$t,St.projectionCache.offsets[Ue]}function Ct(Ue,I,ie,we,Se,Be,dt,St,Nt){let $t=we?Ue-I:Ue+I,Tr=$t>0?1:-1,Ar=0;we&&(Tr*=-1,Ar=Math.PI),Tr<0&&(Ar+=Math.PI);let Kr,na=Tr>0?Be+Se:Be+Se+1;St.projectionCache.cachedAnchorPoint?Kr=St.projectionCache.cachedAnchorPoint:(Kr=ft(St.tileAnchorPoint.x,St.tileAnchorPoint.y,St).point,St.projectionCache.cachedAnchorPoint=Kr);let He,Je,lt=Kr,vt=Kr,Lt=0,At=0,zt=Math.abs($t),cr=[],yr;for(;Lt+At<=zt;){if(na+=Tr,na=dt)return null;Lt+=At,vt=lt,Je=He;let Qr={absOffsetX:zt,direction:Tr,distanceFromAnchor:Lt,previousVertex:vt};if(lt=Pe(na,St,Qr),ie===0)cr.push(vt),yr=lt.sub(vt);else{let pa,Aa=lt.sub(vt);pa=Aa.mag()===0?ct(Pe(na+Tr,St,Qr).sub(lt),ie,Tr):ct(Aa,ie,Tr),Je||(Je=vt.add(pa)),He=_t(na,pa,lt,Be,dt,Je,ie,St,Qr),cr.push(Je),yr=He.sub(Je)}At=yr.mag()}let Er=yr._mult((zt-Lt)/At)._add(Je||vt),jr=Ar+Math.atan2(lt.y-vt.y,lt.x-vt.x);return cr.push(Er),{point:Er,angle:Nt?jr:0,path:cr}}let ir=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function rr(Ue,I){for(let ie=0;ie=1;Bn--)nn.push(Vi.path[Bn]);for(let Bn=1;Bnwo.signedDistanceFromCamera<=0)?[]:Bn.map(wo=>wo.point)}let Kn=[];if(nn.length>0){let Bn=nn[0].clone(),wo=nn[0].clone();for(let is=1;is=Aa.x&&wo.x<=za.x&&Bn.y>=Aa.y&&wo.y<=za.y?[nn]:wo.xza.x||wo.yza.y?[]:t.al([nn],Aa.x,Aa.y,za.x,za.y)}for(let Bn of Kn){ci.reset(Bn,.25*pa);let wo=0;wo=ci.length<=.5*pa?1:Math.ceil(ci.paddedLength/Sn)+1;for(let is=0;iswt(Se.x,Se.y,we,ie.getElevation))}queryRenderedSymbols(I){if(I.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let ie=[],we=1/0,Se=1/0,Be=-1/0,dt=-1/0;for(let Tr of I){let Ar=new t.P(Tr.x+Lr,Tr.y+Lr);we=Math.min(we,Ar.x),Se=Math.min(Se,Ar.y),Be=Math.max(Be,Ar.x),dt=Math.max(dt,Ar.y),ie.push(Ar)}let St=this.grid.query(we,Se,Be,dt).concat(this.ignoredGrid.query(we,Se,Be,dt)),Nt={},$t={};for(let Tr of St){let Ar=Tr.key;if(Nt[Ar.bucketInstanceId]===void 0&&(Nt[Ar.bucketInstanceId]={}),Nt[Ar.bucketInstanceId][Ar.featureIndex])continue;let Kr=[new t.P(Tr.x1,Tr.y1),new t.P(Tr.x2,Tr.y1),new t.P(Tr.x2,Tr.y2),new t.P(Tr.x1,Tr.y2)];t.am(ie,Kr)&&(Nt[Ar.bucketInstanceId][Ar.featureIndex]=!0,$t[Ar.bucketInstanceId]===void 0&&($t[Ar.bucketInstanceId]=[]),$t[Ar.bucketInstanceId].push(Ar.featureIndex))}return $t}insertCollisionBox(I,ie,we,Se,Be,dt){(we?this.ignoredGrid:this.grid).insert({bucketInstanceId:Se,featureIndex:Be,collisionGroupID:dt,overlapMode:ie},I[0],I[1],I[2],I[3])}insertCollisionCircles(I,ie,we,Se,Be,dt){let St=we?this.ignoredGrid:this.grid,Nt={bucketInstanceId:Se,featureIndex:Be,collisionGroupID:dt,overlapMode:ie};for(let $t=0;$t=this.screenRightBoundary||Sethis.screenBottomBoundary}isInsideGrid(I,ie,we,Se){return we>=0&&I=0&&iethis.projectAndGetPerspectiveRatio(we,pa.x,pa.y,Se,$t));jr=Qr.some(pa=>!pa.isOccluded),Er=Qr.map(pa=>pa.point)}else jr=!0;return{box:t.ao(Er),allPointsOccluded:!jr}}}function Da(Ue,I,ie){return I*(t.X/(Ue.tileSize*Math.pow(2,ie-Ue.tileID.overscaledZ)))}class Ia{constructor(I,ie,we,Se){this.opacity=I?Math.max(0,Math.min(1,I.opacity+(I.placed?ie:-ie))):Se&&we?1:0,this.placed=we}isHidden(){return this.opacity===0&&!this.placed}}class qa{constructor(I,ie,we,Se,Be){this.text=new Ia(I?I.text:null,ie,we,Be),this.icon=new Ia(I?I.icon:null,ie,Se,Be)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Wa{constructor(I,ie,we){this.text=I,this.icon=ie,this.skipFade=we}}class Ca{constructor(){this.invProjMatrix=t.H(),this.viewportMatrix=t.H(),this.circles=[]}}class hi{constructor(I,ie,we,Se,Be){this.bucketInstanceId=I,this.featureIndex=ie,this.sourceLayerIndex=we,this.bucketIndex=Se,this.tileID=Be}}class wi{constructor(I){this.crossSourceCollisions=I,this.maxGroupID=0,this.collisionGroups={}}get(I){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[I]){let ie=++this.maxGroupID;this.collisionGroups[I]={ID:ie,predicate:we=>we.collisionGroupID===ie}}return this.collisionGroups[I]}}function Kt(Ue,I,ie,we,Se){let{horizontalAlign:Be,verticalAlign:dt}=t.au(Ue);return new t.P(-(Be-.5)*I+we[0]*Se,-(dt-.5)*ie+we[1]*Se)}class Ft{constructor(I,ie,we,Se,Be,dt){this.transform=I.clone(),this.terrain=we,this.collisionIndex=new fa(this.transform,ie),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=Se,this.retainedQueryData={},this.collisionGroups=new wi(Be),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=dt,dt&&(dt.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(I){let ie=this.terrain;return ie?(we,Se)=>ie.getElevation(I,we,Se):null}getBucketParts(I,ie,we,Se){let Be=we.getBucket(ie),dt=we.latestFeatureIndex;if(!Be||!dt||ie.id!==Be.layerIds[0])return;let St=we.collisionBoxArray,Nt=Be.layers[0].layout,$t=Be.layers[0].paint,Tr=Math.pow(2,this.transform.zoom-we.tileID.overscaledZ),Ar=we.tileSize/t.X,Kr=we.tileID.toUnwrapped(),na=this.transform.calculatePosMatrix(Kr),He=Nt.get(\"text-pitch-alignment\")===\"map\",Je=Nt.get(\"text-rotation-alignment\")===\"map\",lt=Da(we,1,this.transform.zoom),vt=this.collisionIndex.mapProjection.translatePosition(this.transform,we,$t.get(\"text-translate\"),$t.get(\"text-translate-anchor\")),Lt=this.collisionIndex.mapProjection.translatePosition(this.transform,we,$t.get(\"icon-translate\"),$t.get(\"icon-translate-anchor\")),At=Sr(na,He,Je,this.transform,lt),zt=null;if(He){let yr=Rr(na,He,Je,this.transform,lt);zt=t.L([],this.transform.labelPlaneMatrix,yr)}this.retainedQueryData[Be.bucketInstanceId]=new hi(Be.bucketInstanceId,dt,Be.sourceLayerIndex,Be.index,we.tileID);let cr={bucket:Be,layout:Nt,translationText:vt,translationIcon:Lt,posMatrix:na,unwrappedTileID:Kr,textLabelPlaneMatrix:At,labelToScreenMatrix:zt,scale:Tr,textPixelRatio:Ar,holdingForFade:we.holdingForFade(),collisionBoxArray:St,partiallyEvaluatedTextSize:t.ag(Be.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(Be.sourceID)};if(Se)for(let yr of Be.sortKeyRanges){let{sortKey:Er,symbolInstanceStart:jr,symbolInstanceEnd:Qr}=yr;I.push({sortKey:Er,symbolInstanceStart:jr,symbolInstanceEnd:Qr,parameters:cr})}else I.push({symbolInstanceStart:0,symbolInstanceEnd:Be.symbolInstances.length,parameters:cr})}attemptAnchorPlacement(I,ie,we,Se,Be,dt,St,Nt,$t,Tr,Ar,Kr,na,He,Je,lt,vt,Lt,At){let zt=t.aq[I.textAnchor],cr=[I.textOffset0,I.textOffset1],yr=Kt(zt,we,Se,cr,Be),Er=this.collisionIndex.placeCollisionBox(ie,Kr,Nt,$t,Tr,St,dt,lt,Ar.predicate,At,yr);if((!Lt||this.collisionIndex.placeCollisionBox(Lt,Kr,Nt,$t,Tr,St,dt,vt,Ar.predicate,At,yr).placeable)&&Er.placeable){let jr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[na.crossTileID]&&this.prevPlacement.placements[na.crossTileID]&&this.prevPlacement.placements[na.crossTileID].text&&(jr=this.prevPlacement.variableOffsets[na.crossTileID].anchor),na.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[na.crossTileID]={textOffset:cr,width:we,height:Se,anchor:zt,textBoxScale:Be,prevAnchor:jr},this.markUsedJustification(He,zt,na,Je),He.allowVerticalPlacement&&(this.markUsedOrientation(He,Je,na),this.placedOrientations[na.crossTileID]=Je),{shift:yr,placedGlyphBoxes:Er}}}placeLayerBucketPart(I,ie,we){let{bucket:Se,layout:Be,translationText:dt,translationIcon:St,posMatrix:Nt,unwrappedTileID:$t,textLabelPlaneMatrix:Tr,labelToScreenMatrix:Ar,textPixelRatio:Kr,holdingForFade:na,collisionBoxArray:He,partiallyEvaluatedTextSize:Je,collisionGroup:lt}=I.parameters,vt=Be.get(\"text-optional\"),Lt=Be.get(\"icon-optional\"),At=t.ar(Be,\"text-overlap\",\"text-allow-overlap\"),zt=At===\"always\",cr=t.ar(Be,\"icon-overlap\",\"icon-allow-overlap\"),yr=cr===\"always\",Er=Be.get(\"text-rotation-alignment\")===\"map\",jr=Be.get(\"text-pitch-alignment\")===\"map\",Qr=Be.get(\"icon-text-fit\")!==\"none\",pa=Be.get(\"symbol-z-order\")===\"viewport-y\",Aa=zt&&(yr||!Se.hasIconData()||Lt),za=yr&&(zt||!Se.hasTextData()||vt);!Se.collisionArrays&&He&&Se.deserializeCollisionBoxes(He);let ci=this._getTerrainElevationFunc(this.retainedQueryData[Se.bucketInstanceId].tileID),Vi=(ji,nn,Sn)=>{var Kn,Bn;if(ie[ji.crossTileID])return;if(na)return void(this.placements[ji.crossTileID]=new Wa(!1,!1,!1));let wo=!1,is=!1,Ao=!0,Zo=null,ps={box:null,placeable:!1,offscreen:null},ul={box:null,placeable:!1,offscreen:null},tl=null,Jo=null,$o=null,Il=0,eu=0,Ru=0;nn.textFeatureIndex?Il=nn.textFeatureIndex:ji.useRuntimeCollisionCircles&&(Il=ji.featureIndex),nn.verticalTextFeatureIndex&&(eu=nn.verticalTextFeatureIndex);let vu=nn.textBox;if(vu){let Vl=et=>{let mt=t.ah.horizontal;if(Se.allowVerticalPlacement&&!et&&this.prevPlacement){let bt=this.prevPlacement.placedOrientations[ji.crossTileID];bt&&(this.placedOrientations[ji.crossTileID]=bt,mt=bt,this.markUsedOrientation(Se,mt,ji))}return mt},Gl=(et,mt)=>{if(Se.allowVerticalPlacement&&ji.numVerticalGlyphVertices>0&&nn.verticalTextBox){for(let bt of Se.writingModes)if(bt===t.ah.vertical?(ps=mt(),ul=ps):ps=et(),ps&&ps.placeable)break}else ps=et()},de=ji.textAnchorOffsetStartIndex,Fe=ji.textAnchorOffsetEndIndex;if(Fe===de){let et=(mt,bt)=>{let Mt=this.collisionIndex.placeCollisionBox(mt,At,Kr,Nt,$t,jr,Er,dt,lt.predicate,ci);return Mt&&Mt.placeable&&(this.markUsedOrientation(Se,bt,ji),this.placedOrientations[ji.crossTileID]=bt),Mt};Gl(()=>et(vu,t.ah.horizontal),()=>{let mt=nn.verticalTextBox;return Se.allowVerticalPlacement&&ji.numVerticalGlyphVertices>0&&mt?et(mt,t.ah.vertical):{box:null,offscreen:null}}),Vl(ps&&ps.placeable)}else{let et=t.aq[(Bn=(Kn=this.prevPlacement)===null||Kn===void 0?void 0:Kn.variableOffsets[ji.crossTileID])===null||Bn===void 0?void 0:Bn.anchor],mt=(Mt,ar,Ot)=>{let _r=Mt.x2-Mt.x1,Gr=Mt.y2-Mt.y1,Xr=ji.textBoxScale,xa=Qr&&cr===\"never\"?ar:null,da=null,Ja=At===\"never\"?1:2,ti=\"never\";et&&Ja++;for(let Sa=0;Samt(vu,nn.iconBox,t.ah.horizontal),()=>{let Mt=nn.verticalTextBox;return Se.allowVerticalPlacement&&(!ps||!ps.placeable)&&ji.numVerticalGlyphVertices>0&&Mt?mt(Mt,nn.verticalIconBox,t.ah.vertical):{box:null,occluded:!0,offscreen:null}}),ps&&(wo=ps.placeable,Ao=ps.offscreen);let bt=Vl(ps&&ps.placeable);if(!wo&&this.prevPlacement){let Mt=this.prevPlacement.variableOffsets[ji.crossTileID];Mt&&(this.variableOffsets[ji.crossTileID]=Mt,this.markUsedJustification(Se,Mt.anchor,ji,bt))}}}if(tl=ps,wo=tl&&tl.placeable,Ao=tl&&tl.offscreen,ji.useRuntimeCollisionCircles){let Vl=Se.text.placedSymbolArray.get(ji.centerJustifiedTextSymbolIndex),Gl=t.ai(Se.textSizeData,Je,Vl),de=Be.get(\"text-padding\");Jo=this.collisionIndex.placeCollisionCircles(At,Vl,Se.lineVertexArray,Se.glyphOffsetArray,Gl,Nt,$t,Tr,Ar,we,jr,lt.predicate,ji.collisionCircleDiameter,de,dt,ci),Jo.circles.length&&Jo.collisionDetected&&!we&&t.w(\"Collisions detected, but collision boxes are not shown\"),wo=zt||Jo.circles.length>0&&!Jo.collisionDetected,Ao=Ao&&Jo.offscreen}if(nn.iconFeatureIndex&&(Ru=nn.iconFeatureIndex),nn.iconBox){let Vl=Gl=>this.collisionIndex.placeCollisionBox(Gl,cr,Kr,Nt,$t,jr,Er,St,lt.predicate,ci,Qr&&Zo?Zo:void 0);ul&&ul.placeable&&nn.verticalIconBox?($o=Vl(nn.verticalIconBox),is=$o.placeable):($o=Vl(nn.iconBox),is=$o.placeable),Ao=Ao&&$o.offscreen}let Tl=vt||ji.numHorizontalGlyphVertices===0&&ji.numVerticalGlyphVertices===0,cu=Lt||ji.numIconVertices===0;Tl||cu?cu?Tl||(is=is&&wo):wo=is&&wo:is=wo=is&&wo;let uc=is&&$o.placeable;if(wo&&tl.placeable&&this.collisionIndex.insertCollisionBox(tl.box,At,Be.get(\"text-ignore-placement\"),Se.bucketInstanceId,ul&&ul.placeable&&eu?eu:Il,lt.ID),uc&&this.collisionIndex.insertCollisionBox($o.box,cr,Be.get(\"icon-ignore-placement\"),Se.bucketInstanceId,Ru,lt.ID),Jo&&wo&&this.collisionIndex.insertCollisionCircles(Jo.circles,At,Be.get(\"text-ignore-placement\"),Se.bucketInstanceId,Il,lt.ID),we&&this.storeCollisionData(Se.bucketInstanceId,Sn,nn,tl,$o,Jo),ji.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(Se.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[ji.crossTileID]=new Wa(wo||Aa,is||za,Ao||Se.justReloaded),ie[ji.crossTileID]=!0};if(pa){if(I.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let ji=Se.getSortedSymbolIndexes(this.transform.angle);for(let nn=ji.length-1;nn>=0;--nn){let Sn=ji[nn];Vi(Se.symbolInstances.get(Sn),Se.collisionArrays[Sn],Sn)}}else for(let ji=I.symbolInstanceStart;ji=0&&(I.text.placedSymbolArray.get(St).crossTileID=Be>=0&&St!==Be?0:we.crossTileID)}markUsedOrientation(I,ie,we){let Se=ie===t.ah.horizontal||ie===t.ah.horizontalOnly?ie:0,Be=ie===t.ah.vertical?ie:0,dt=[we.leftJustifiedTextSymbolIndex,we.centerJustifiedTextSymbolIndex,we.rightJustifiedTextSymbolIndex];for(let St of dt)I.text.placedSymbolArray.get(St).placedOrientation=Se;we.verticalPlacedTextSymbolIndex&&(I.text.placedSymbolArray.get(we.verticalPlacedTextSymbolIndex).placedOrientation=Be)}commit(I){this.commitTime=I,this.zoomAtLastRecencyCheck=this.transform.zoom;let ie=this.prevPlacement,we=!1;this.prevZoomAdjustment=ie?ie.zoomAdjustment(this.transform.zoom):0;let Se=ie?ie.symbolFadeChange(I):1,Be=ie?ie.opacities:{},dt=ie?ie.variableOffsets:{},St=ie?ie.placedOrientations:{};for(let Nt in this.placements){let $t=this.placements[Nt],Tr=Be[Nt];Tr?(this.opacities[Nt]=new qa(Tr,Se,$t.text,$t.icon),we=we||$t.text!==Tr.text.placed||$t.icon!==Tr.icon.placed):(this.opacities[Nt]=new qa(null,Se,$t.text,$t.icon,$t.skipFade),we=we||$t.text||$t.icon)}for(let Nt in Be){let $t=Be[Nt];if(!this.opacities[Nt]){let Tr=new qa($t,Se,!1,!1);Tr.isHidden()||(this.opacities[Nt]=Tr,we=we||$t.text.placed||$t.icon.placed)}}for(let Nt in dt)this.variableOffsets[Nt]||!this.opacities[Nt]||this.opacities[Nt].isHidden()||(this.variableOffsets[Nt]=dt[Nt]);for(let Nt in St)this.placedOrientations[Nt]||!this.opacities[Nt]||this.opacities[Nt].isHidden()||(this.placedOrientations[Nt]=St[Nt]);if(ie&&ie.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");we?this.lastPlacementChangeTime=I:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=ie?ie.lastPlacementChangeTime:I)}updateLayerOpacities(I,ie){let we={};for(let Se of ie){let Be=Se.getBucket(I);Be&&Se.latestFeatureIndex&&I.id===Be.layerIds[0]&&this.updateBucketOpacities(Be,Se.tileID,we,Se.collisionBoxArray)}}updateBucketOpacities(I,ie,we,Se){I.hasTextData()&&(I.text.opacityVertexArray.clear(),I.text.hasVisibleVertices=!1),I.hasIconData()&&(I.icon.opacityVertexArray.clear(),I.icon.hasVisibleVertices=!1),I.hasIconCollisionBoxData()&&I.iconCollisionBox.collisionVertexArray.clear(),I.hasTextCollisionBoxData()&&I.textCollisionBox.collisionVertexArray.clear();let Be=I.layers[0],dt=Be.layout,St=new qa(null,0,!1,!1,!0),Nt=dt.get(\"text-allow-overlap\"),$t=dt.get(\"icon-allow-overlap\"),Tr=Be._unevaluatedLayout.hasValue(\"text-variable-anchor\")||Be._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Ar=dt.get(\"text-rotation-alignment\")===\"map\",Kr=dt.get(\"text-pitch-alignment\")===\"map\",na=dt.get(\"icon-text-fit\")!==\"none\",He=new qa(null,0,Nt&&($t||!I.hasIconData()||dt.get(\"icon-optional\")),$t&&(Nt||!I.hasTextData()||dt.get(\"text-optional\")),!0);!I.collisionArrays&&Se&&(I.hasIconCollisionBoxData()||I.hasTextCollisionBoxData())&&I.deserializeCollisionBoxes(Se);let Je=(vt,Lt,At)=>{for(let zt=0;zt0,jr=this.placedOrientations[Lt.crossTileID],Qr=jr===t.ah.vertical,pa=jr===t.ah.horizontal||jr===t.ah.horizontalOnly;if(At>0||zt>0){let za=Za(yr.text);Je(I.text,At,Qr?ri:za),Je(I.text,zt,pa?ri:za);let ci=yr.text.isHidden();[Lt.rightJustifiedTextSymbolIndex,Lt.centerJustifiedTextSymbolIndex,Lt.leftJustifiedTextSymbolIndex].forEach(nn=>{nn>=0&&(I.text.placedSymbolArray.get(nn).hidden=ci||Qr?1:0)}),Lt.verticalPlacedTextSymbolIndex>=0&&(I.text.placedSymbolArray.get(Lt.verticalPlacedTextSymbolIndex).hidden=ci||pa?1:0);let Vi=this.variableOffsets[Lt.crossTileID];Vi&&this.markUsedJustification(I,Vi.anchor,Lt,jr);let ji=this.placedOrientations[Lt.crossTileID];ji&&(this.markUsedJustification(I,\"left\",Lt,ji),this.markUsedOrientation(I,ji,Lt))}if(Er){let za=Za(yr.icon),ci=!(na&&Lt.verticalPlacedIconSymbolIndex&&Qr);Lt.placedIconSymbolIndex>=0&&(Je(I.icon,Lt.numIconVertices,ci?za:ri),I.icon.placedSymbolArray.get(Lt.placedIconSymbolIndex).hidden=yr.icon.isHidden()),Lt.verticalPlacedIconSymbolIndex>=0&&(Je(I.icon,Lt.numVerticalIconVertices,ci?ri:za),I.icon.placedSymbolArray.get(Lt.verticalPlacedIconSymbolIndex).hidden=yr.icon.isHidden())}let Aa=lt&<.has(vt)?lt.get(vt):{text:null,icon:null};if(I.hasIconCollisionBoxData()||I.hasTextCollisionBoxData()){let za=I.collisionArrays[vt];if(za){let ci=new t.P(0,0);if(za.textBox||za.verticalTextBox){let Vi=!0;if(Tr){let ji=this.variableOffsets[cr];ji?(ci=Kt(ji.anchor,ji.width,ji.height,ji.textOffset,ji.textBoxScale),Ar&&ci._rotate(Kr?this.transform.angle:-this.transform.angle)):Vi=!1}if(za.textBox||za.verticalTextBox){let ji;za.textBox&&(ji=Qr),za.verticalTextBox&&(ji=pa),Yt(I.textCollisionBox.collisionVertexArray,yr.text.placed,!Vi||ji,Aa.text,ci.x,ci.y)}}if(za.iconBox||za.verticalIconBox){let Vi=!!(!pa&&za.verticalIconBox),ji;za.iconBox&&(ji=Vi),za.verticalIconBox&&(ji=!Vi),Yt(I.iconCollisionBox.collisionVertexArray,yr.icon.placed,ji,Aa.icon,na?ci.x:0,na?ci.y:0)}}}}if(I.sortFeatures(this.transform.angle),this.retainedQueryData[I.bucketInstanceId]&&(this.retainedQueryData[I.bucketInstanceId].featureSortOrder=I.featureSortOrder),I.hasTextData()&&I.text.opacityVertexBuffer&&I.text.opacityVertexBuffer.updateData(I.text.opacityVertexArray),I.hasIconData()&&I.icon.opacityVertexBuffer&&I.icon.opacityVertexBuffer.updateData(I.icon.opacityVertexArray),I.hasIconCollisionBoxData()&&I.iconCollisionBox.collisionVertexBuffer&&I.iconCollisionBox.collisionVertexBuffer.updateData(I.iconCollisionBox.collisionVertexArray),I.hasTextCollisionBoxData()&&I.textCollisionBox.collisionVertexBuffer&&I.textCollisionBox.collisionVertexBuffer.updateData(I.textCollisionBox.collisionVertexArray),I.text.opacityVertexArray.length!==I.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${I.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${I.text.layoutVertexArray.length}) / 4`);if(I.icon.opacityVertexArray.length!==I.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${I.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${I.icon.layoutVertexArray.length}) / 4`);if(I.bucketInstanceId in this.collisionCircleArrays){let vt=this.collisionCircleArrays[I.bucketInstanceId];I.placementInvProjMatrix=vt.invProjMatrix,I.placementViewportMatrix=vt.viewportMatrix,I.collisionCircleArray=vt.circles,delete this.collisionCircleArrays[I.bucketInstanceId]}}symbolFadeChange(I){return this.fadeDuration===0?1:(I-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(I){return Math.max(0,(this.transform.zoom-I)/1.5)}hasTransitions(I){return this.stale||I-this.lastPlacementChangeTimeI}setStale(){this.stale=!0}}function Yt(Ue,I,ie,we,Se,Be){we&&we.length!==0||(we=[0,0,0,0]);let dt=we[0]-Lr,St=we[1]-Lr,Nt=we[2]-Lr,$t=we[3]-Lr;Ue.emplaceBack(I?1:0,ie?1:0,Se||0,Be||0,dt,St),Ue.emplaceBack(I?1:0,ie?1:0,Se||0,Be||0,Nt,St),Ue.emplaceBack(I?1:0,ie?1:0,Se||0,Be||0,Nt,$t),Ue.emplaceBack(I?1:0,ie?1:0,Se||0,Be||0,dt,$t)}let Jt=Math.pow(2,25),Fr=Math.pow(2,24),ta=Math.pow(2,17),ra=Math.pow(2,16),ca=Math.pow(2,9),Ba=Math.pow(2,8),$a=Math.pow(2,1);function Za(Ue){if(Ue.opacity===0&&!Ue.placed)return 0;if(Ue.opacity===1&&Ue.placed)return 4294967295;let I=Ue.placed?1:0,ie=Math.floor(127*Ue.opacity);return ie*Jt+I*Fr+ie*ta+I*ra+ie*ca+I*Ba+ie*$a+I}let ri=0;function pi(){return{isOccluded:(Ue,I,ie)=>!1,getPitchedTextCorrection:(Ue,I,ie)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(Ue,I,ie,we){throw new Error(\"Not implemented.\")},translatePosition:(Ue,I,ie,we)=>function(Se,Be,dt,St,Nt=!1){if(!dt[0]&&!dt[1])return[0,0];let $t=Nt?St===\"map\"?Se.angle:0:St===\"viewport\"?-Se.angle:0;if($t){let Tr=Math.sin($t),Ar=Math.cos($t);dt=[dt[0]*Ar-dt[1]*Tr,dt[0]*Tr+dt[1]*Ar]}return[Nt?dt[0]:Da(Be,dt[0],Se.zoom),Nt?dt[1]:Da(Be,dt[1],Se.zoom)]}(Ue,I,ie,we),getCircleRadiusCorrection:Ue=>1}}class Ra{constructor(I){this._sortAcrossTiles=I.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!I.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(I,ie,we,Se,Be){let dt=this._bucketParts;for(;this._currentTileIndexSt.sortKey-Nt.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.now()-Se>2;for(;this._currentPlacementIndex>=0;){let dt=ie[I[this._currentPlacementIndex]],St=this.placement.collisionIndex.transform.zoom;if(dt.type===\"symbol\"&&(!dt.minzoom||dt.minzoom<=St)&&(!dt.maxzoom||dt.maxzoom>St)){if(this._inProgressLayer||(this._inProgressLayer=new Ra(dt)),this._inProgressLayer.continuePlacement(we[dt.source],this.placement,this._showCollisionBoxes,dt,Be))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(I){return this.placement.commit(I),this.placement}}let on=512/t.X/2;class hn{constructor(I,ie,we){this.tileID=I,this.bucketInstanceId=we,this._symbolsByKey={};let Se=new Map;for(let Be=0;Be({x:Math.floor(Nt.anchorX*on),y:Math.floor(Nt.anchorY*on)})),crossTileIDs:dt.map(Nt=>Nt.crossTileID)};if(St.positions.length>128){let Nt=new t.av(St.positions.length,16,Uint16Array);for(let{x:$t,y:Tr}of St.positions)Nt.add($t,Tr);Nt.finish(),delete St.positions,St.index=Nt}this._symbolsByKey[Be]=St}}getScaledCoordinates(I,ie){let{x:we,y:Se,z:Be}=this.tileID.canonical,{x:dt,y:St,z:Nt}=ie.canonical,$t=on/Math.pow(2,Nt-Be),Tr=(St*t.X+I.anchorY)*$t,Ar=Se*t.X*on;return{x:Math.floor((dt*t.X+I.anchorX)*$t-we*t.X*on),y:Math.floor(Tr-Ar)}}findMatches(I,ie,we){let Se=this.tileID.canonical.zI)}}class Tt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ut{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(I){let ie=Math.round((I-this.lng)/360);if(ie!==0)for(let we in this.indexes){let Se=this.indexes[we],Be={};for(let dt in Se){let St=Se[dt];St.tileID=St.tileID.unwrapTo(St.tileID.wrap+ie),Be[St.tileID.key]=St}this.indexes[we]=Be}this.lng=I}addBucket(I,ie,we){if(this.indexes[I.overscaledZ]&&this.indexes[I.overscaledZ][I.key]){if(this.indexes[I.overscaledZ][I.key].bucketInstanceId===ie.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(I.overscaledZ,this.indexes[I.overscaledZ][I.key])}for(let Be=0;BeI.overscaledZ)for(let St in dt){let Nt=dt[St];Nt.tileID.isChildOf(I)&&Nt.findMatches(ie.symbolInstances,I,Se)}else{let St=dt[I.scaledTo(Number(Be)).key];St&&St.findMatches(ie.symbolInstances,I,Se)}}for(let Be=0;Be{ie[we]=!0});for(let we in this.layerIndexes)ie[we]||delete this.layerIndexes[we]}}let Cr=(Ue,I)=>t.t(Ue,I&&I.filter(ie=>ie.identifier!==\"source.canvas\")),xr=t.aw();class Ir extends t.E{constructor(I,ie={}){super(),this._rtlPluginLoaded=()=>{for(let we in this.sourceCaches){let Se=this.sourceCaches[we].getSource().type;Se!==\"vector\"&&Se!==\"geojson\"||this.sourceCaches[we].reload()}},this.map=I,this.dispatcher=new ee(Y(),I._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(we,Se)=>this.getGlyphs(we,Se)),this.dispatcher.registerMessageHandler(\"GI\",(we,Se)=>this.getImages(we,Se)),this.imageManager=new f,this.imageManager.setEventedParent(this),this.glyphManager=new F(I._requestManager,ie.localIdeographFontFamily),this.lineAtlas=new X(256,512),this.crossTileSymbolIndex=new Br,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",t.ay()),tt().on(ye,this._rtlPluginLoaded),this.on(\"data\",we=>{if(we.dataType!==\"source\"||we.sourceDataType!==\"metadata\")return;let Se=this.sourceCaches[we.sourceId];if(!Se)return;let Be=Se.getSource();if(Be&&Be.vectorLayerIds)for(let dt in this._layers){let St=this._layers[dt];St.source===Be.id&&this._validateLayer(St)}})}loadURL(I,ie={},we){this.fire(new t.k(\"dataloading\",{dataType:\"style\"})),ie.validate=typeof ie.validate!=\"boolean\"||ie.validate;let Se=this.map._requestManager.transformRequest(I,\"Style\");this._loadStyleRequest=new AbortController;let Be=this._loadStyleRequest;t.h(Se,this._loadStyleRequest).then(dt=>{this._loadStyleRequest=null,this._load(dt.data,ie,we)}).catch(dt=>{this._loadStyleRequest=null,dt&&!Be.signal.aborted&&this.fire(new t.j(dt))})}loadJSON(I,ie={},we){this.fire(new t.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,ie.validate=ie.validate!==!1,this._load(I,ie,we)}).catch(()=>{})}loadEmpty(){this.fire(new t.k(\"dataloading\",{dataType:\"style\"})),this._load(xr,{validate:!1})}_load(I,ie,we){var Se;let Be=ie.transformStyle?ie.transformStyle(we,I):I;if(!ie.validate||!Cr(this,t.u(Be))){this._loaded=!0,this.stylesheet=Be;for(let dt in Be.sources)this.addSource(dt,Be.sources[dt],{validate:!1});Be.sprite?this._loadSprite(Be.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(Be.glyphs),this._createLayers(),this.light=new P(this.stylesheet.light),this.sky=new B(this.stylesheet.sky),this.map.setTerrain((Se=this.stylesheet.terrain)!==null&&Se!==void 0?Se:null),this.fire(new t.k(\"data\",{dataType:\"style\"})),this.fire(new t.k(\"style.load\"))}}_createLayers(){let I=t.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",I),this._order=I.map(ie=>ie.id),this._layers={},this._serializedLayers=null;for(let ie of I){let we=t.aA(ie);we.setEventedParent(this,{layer:{id:ie.id}}),this._layers[ie.id]=we}}_loadSprite(I,ie=!1,we=void 0){let Se;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(Be,dt,St,Nt){return t._(this,void 0,void 0,function*(){let $t=b(Be),Tr=St>1?\"@2x\":\"\",Ar={},Kr={};for(let{id:na,url:He}of $t){let Je=dt.transformRequest(d(He,Tr,\".json\"),\"SpriteJSON\");Ar[na]=t.h(Je,Nt);let lt=dt.transformRequest(d(He,Tr,\".png\"),\"SpriteImage\");Kr[na]=l.getImage(lt,Nt)}return yield Promise.all([...Object.values(Ar),...Object.values(Kr)]),function(na,He){return t._(this,void 0,void 0,function*(){let Je={};for(let lt in na){Je[lt]={};let vt=n.getImageCanvasContext((yield He[lt]).data),Lt=(yield na[lt]).data;for(let At in Lt){let{width:zt,height:cr,x:yr,y:Er,sdf:jr,pixelRatio:Qr,stretchX:pa,stretchY:Aa,content:za,textFitWidth:ci,textFitHeight:Vi}=Lt[At];Je[lt][At]={data:null,pixelRatio:Qr,sdf:jr,stretchX:pa,stretchY:Aa,content:za,textFitWidth:ci,textFitHeight:Vi,spriteData:{width:zt,height:cr,x:yr,y:Er,context:vt}}}}return Je})}(Ar,Kr)})}(I,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(Be=>{if(this._spriteRequest=null,Be)for(let dt in Be){this._spritesImagesIds[dt]=[];let St=this._spritesImagesIds[dt]?this._spritesImagesIds[dt].filter(Nt=>!(Nt in Be)):[];for(let Nt of St)this.imageManager.removeImage(Nt),this._changedImages[Nt]=!0;for(let Nt in Be[dt]){let $t=dt===\"default\"?Nt:`${dt}:${Nt}`;this._spritesImagesIds[dt].push($t),$t in this.imageManager.images?this.imageManager.updateImage($t,Be[dt][Nt],!1):this.imageManager.addImage($t,Be[dt][Nt]),ie&&(this._changedImages[$t]=!0)}}}).catch(Be=>{this._spriteRequest=null,Se=Be,this.fire(new t.j(Se))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),ie&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"})),we&&we(Se)})}_unloadSprite(){for(let I of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(I),this._changedImages[I]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"}))}_validateLayer(I){let ie=this.sourceCaches[I.source];if(!ie)return;let we=I.sourceLayer;if(!we)return;let Se=ie.getSource();(Se.type===\"geojson\"||Se.vectorLayerIds&&Se.vectorLayerIds.indexOf(we)===-1)&&this.fire(new t.j(new Error(`Source layer \"${we}\" does not exist on source \"${Se.id}\" as specified by style layer \"${I.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let I in this.sourceCaches)if(!this.sourceCaches[I].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(I,ie=!1){let we=this._serializedAllLayers();if(!I||I.length===0)return Object.values(ie?t.aB(we):we);let Se=[];for(let Be of I)if(we[Be]){let dt=ie?t.aB(we[Be]):we[Be];Se.push(dt)}return Se}_serializedAllLayers(){let I=this._serializedLayers;if(I)return I;I=this._serializedLayers={};let ie=Object.keys(this._layers);for(let we of ie){let Se=this._layers[we];Se.type!==\"custom\"&&(I[we]=Se.serialize())}return I}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let I in this.sourceCaches)if(this.sourceCaches[I].hasTransition())return!0;for(let I in this._layers)if(this._layers[I].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(I){if(!this._loaded)return;let ie=this._changed;if(ie){let Se=Object.keys(this._updatedLayers),Be=Object.keys(this._removedLayers);(Se.length||Be.length)&&this._updateWorkerLayers(Se,Be);for(let dt in this._updatedSources){let St=this._updatedSources[dt];if(St===\"reload\")this._reloadSource(dt);else{if(St!==\"clear\")throw new Error(`Invalid action ${St}`);this._clearSource(dt)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let dt in this._updatedPaintProps)this._layers[dt].updateTransitions(I);this.light.updateTransitions(I),this.sky.updateTransitions(I),this._resetUpdates()}let we={};for(let Se in this.sourceCaches){let Be=this.sourceCaches[Se];we[Se]=Be.used,Be.used=!1}for(let Se of this._order){let Be=this._layers[Se];Be.recalculate(I,this._availableImages),!Be.isHidden(I.zoom)&&Be.source&&(this.sourceCaches[Be.source].used=!0)}for(let Se in we){let Be=this.sourceCaches[Se];!!we[Se]!=!!Be.used&&Be.fire(new t.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:Se}))}this.light.recalculate(I),this.sky.recalculate(I),this.z=I.zoom,ie&&this.fire(new t.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let I=Object.keys(this._changedImages);if(I.length){for(let ie in this.sourceCaches)this.sourceCaches[ie].reloadTilesForDependencies([\"icons\",\"patterns\"],I);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let I in this.sourceCaches)this.sourceCaches[I].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(I,ie){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(I,!1),removedIds:ie})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(I,ie={}){var we;this._checkLoaded();let Se=this.serialize();if(I=ie.transformStyle?ie.transformStyle(Se,I):I,((we=ie.validate)===null||we===void 0||we)&&Cr(this,t.u(I)))return!1;(I=t.aB(I)).layers=t.az(I.layers);let Be=t.aC(Se,I),dt=this._getOperationsToPerform(Be);if(dt.unimplemented.length>0)throw new Error(`Unimplemented: ${dt.unimplemented.join(\", \")}.`);if(dt.operations.length===0)return!1;for(let St of dt.operations)St();return this.stylesheet=I,this._serializedLayers=null,!0}_getOperationsToPerform(I){let ie=[],we=[];for(let Se of I)switch(Se.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":ie.push(()=>this.addLayer.apply(this,Se.args));break;case\"removeLayer\":ie.push(()=>this.removeLayer.apply(this,Se.args));break;case\"setPaintProperty\":ie.push(()=>this.setPaintProperty.apply(this,Se.args));break;case\"setLayoutProperty\":ie.push(()=>this.setLayoutProperty.apply(this,Se.args));break;case\"setFilter\":ie.push(()=>this.setFilter.apply(this,Se.args));break;case\"addSource\":ie.push(()=>this.addSource.apply(this,Se.args));break;case\"removeSource\":ie.push(()=>this.removeSource.apply(this,Se.args));break;case\"setLayerZoomRange\":ie.push(()=>this.setLayerZoomRange.apply(this,Se.args));break;case\"setLight\":ie.push(()=>this.setLight.apply(this,Se.args));break;case\"setGeoJSONSourceData\":ie.push(()=>this.setGeoJSONSourceData.apply(this,Se.args));break;case\"setGlyphs\":ie.push(()=>this.setGlyphs.apply(this,Se.args));break;case\"setSprite\":ie.push(()=>this.setSprite.apply(this,Se.args));break;case\"setSky\":ie.push(()=>this.setSky.apply(this,Se.args));break;case\"setTerrain\":ie.push(()=>this.map.setTerrain.apply(this,Se.args));break;case\"setTransition\":ie.push(()=>{});break;default:we.push(Se.command)}return{operations:ie,unimplemented:we}}addImage(I,ie){if(this.getImage(I))return this.fire(new t.j(new Error(`An image named \"${I}\" already exists.`)));this.imageManager.addImage(I,ie),this._afterImageUpdated(I)}updateImage(I,ie){this.imageManager.updateImage(I,ie)}getImage(I){return this.imageManager.getImage(I)}removeImage(I){if(!this.getImage(I))return this.fire(new t.j(new Error(`An image named \"${I}\" does not exist.`)));this.imageManager.removeImage(I),this._afterImageUpdated(I)}_afterImageUpdated(I){this._availableImages=this.imageManager.listImages(),this._changedImages[I]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(I,ie,we={}){if(this._checkLoaded(),this.sourceCaches[I]!==void 0)throw new Error(`Source \"${I}\" already exists.`);if(!ie.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(ie).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(ie.type)>=0&&this._validate(t.u.source,`sources.${I}`,ie,null,we))return;this.map&&this.map._collectResourceTiming&&(ie.collectResourceTiming=!0);let Se=this.sourceCaches[I]=new It(I,ie,this.dispatcher);Se.style=this,Se.setEventedParent(this,()=>({isSourceLoaded:Se.loaded(),source:Se.serialize(),sourceId:I})),Se.onAdd(this.map),this._changed=!0}removeSource(I){if(this._checkLoaded(),this.sourceCaches[I]===void 0)throw new Error(\"There is no source with this ID\");for(let we in this._layers)if(this._layers[we].source===I)return this.fire(new t.j(new Error(`Source \"${I}\" cannot be removed while layer \"${we}\" is using it.`)));let ie=this.sourceCaches[I];delete this.sourceCaches[I],delete this._updatedSources[I],ie.fire(new t.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:I})),ie.setEventedParent(null),ie.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(I,ie){if(this._checkLoaded(),this.sourceCaches[I]===void 0)throw new Error(`There is no source with this ID=${I}`);let we=this.sourceCaches[I].getSource();if(we.type!==\"geojson\")throw new Error(`geojsonSource.type is ${we.type}, which is !== 'geojson`);we.setData(ie),this._changed=!0}getSource(I){return this.sourceCaches[I]&&this.sourceCaches[I].getSource()}addLayer(I,ie,we={}){this._checkLoaded();let Se=I.id;if(this.getLayer(Se))return void this.fire(new t.j(new Error(`Layer \"${Se}\" already exists on this map.`)));let Be;if(I.type===\"custom\"){if(Cr(this,t.aD(I)))return;Be=t.aA(I)}else{if(\"source\"in I&&typeof I.source==\"object\"&&(this.addSource(Se,I.source),I=t.aB(I),I=t.e(I,{source:Se})),this._validate(t.u.layer,`layers.${Se}`,I,{arrayIndex:-1},we))return;Be=t.aA(I),this._validateLayer(Be),Be.setEventedParent(this,{layer:{id:Se}})}let dt=ie?this._order.indexOf(ie):this._order.length;if(ie&&dt===-1)this.fire(new t.j(new Error(`Cannot add layer \"${Se}\" before non-existing layer \"${ie}\".`)));else{if(this._order.splice(dt,0,Se),this._layerOrderChanged=!0,this._layers[Se]=Be,this._removedLayers[Se]&&Be.source&&Be.type!==\"custom\"){let St=this._removedLayers[Se];delete this._removedLayers[Se],St.type!==Be.type?this._updatedSources[Be.source]=\"clear\":(this._updatedSources[Be.source]=\"reload\",this.sourceCaches[Be.source].pause())}this._updateLayer(Be),Be.onAdd&&Be.onAdd(this.map)}}moveLayer(I,ie){if(this._checkLoaded(),this._changed=!0,!this._layers[I])return void this.fire(new t.j(new Error(`The layer '${I}' does not exist in the map's style and cannot be moved.`)));if(I===ie)return;let we=this._order.indexOf(I);this._order.splice(we,1);let Se=ie?this._order.indexOf(ie):this._order.length;ie&&Se===-1?this.fire(new t.j(new Error(`Cannot move layer \"${I}\" before non-existing layer \"${ie}\".`))):(this._order.splice(Se,0,I),this._layerOrderChanged=!0)}removeLayer(I){this._checkLoaded();let ie=this._layers[I];if(!ie)return void this.fire(new t.j(new Error(`Cannot remove non-existing layer \"${I}\".`)));ie.setEventedParent(null);let we=this._order.indexOf(I);this._order.splice(we,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[I]=ie,delete this._layers[I],this._serializedLayers&&delete this._serializedLayers[I],delete this._updatedLayers[I],delete this._updatedPaintProps[I],ie.onRemove&&ie.onRemove(this.map)}getLayer(I){return this._layers[I]}getLayersOrder(){return[...this._order]}hasLayer(I){return I in this._layers}setLayerZoomRange(I,ie,we){this._checkLoaded();let Se=this.getLayer(I);Se?Se.minzoom===ie&&Se.maxzoom===we||(ie!=null&&(Se.minzoom=ie),we!=null&&(Se.maxzoom=we),this._updateLayer(Se)):this.fire(new t.j(new Error(`Cannot set the zoom range of non-existing layer \"${I}\".`)))}setFilter(I,ie,we={}){this._checkLoaded();let Se=this.getLayer(I);if(Se){if(!t.aE(Se.filter,ie))return ie==null?(Se.filter=void 0,void this._updateLayer(Se)):void(this._validate(t.u.filter,`layers.${Se.id}.filter`,ie,null,we)||(Se.filter=t.aB(ie),this._updateLayer(Se)))}else this.fire(new t.j(new Error(`Cannot filter non-existing layer \"${I}\".`)))}getFilter(I){return t.aB(this.getLayer(I).filter)}setLayoutProperty(I,ie,we,Se={}){this._checkLoaded();let Be=this.getLayer(I);Be?t.aE(Be.getLayoutProperty(ie),we)||(Be.setLayoutProperty(ie,we,Se),this._updateLayer(Be)):this.fire(new t.j(new Error(`Cannot style non-existing layer \"${I}\".`)))}getLayoutProperty(I,ie){let we=this.getLayer(I);if(we)return we.getLayoutProperty(ie);this.fire(new t.j(new Error(`Cannot get style of non-existing layer \"${I}\".`)))}setPaintProperty(I,ie,we,Se={}){this._checkLoaded();let Be=this.getLayer(I);Be?t.aE(Be.getPaintProperty(ie),we)||(Be.setPaintProperty(ie,we,Se)&&this._updateLayer(Be),this._changed=!0,this._updatedPaintProps[I]=!0,this._serializedLayers=null):this.fire(new t.j(new Error(`Cannot style non-existing layer \"${I}\".`)))}getPaintProperty(I,ie){return this.getLayer(I).getPaintProperty(ie)}setFeatureState(I,ie){this._checkLoaded();let we=I.source,Se=I.sourceLayer,Be=this.sourceCaches[we];if(Be===void 0)return void this.fire(new t.j(new Error(`The source '${we}' does not exist in the map's style.`)));let dt=Be.getSource().type;dt===\"geojson\"&&Se?this.fire(new t.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):dt!==\"vector\"||Se?(I.id===void 0&&this.fire(new t.j(new Error(\"The feature id parameter must be provided.\"))),Be.setFeatureState(Se,I.id,ie)):this.fire(new t.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(I,ie){this._checkLoaded();let we=I.source,Se=this.sourceCaches[we];if(Se===void 0)return void this.fire(new t.j(new Error(`The source '${we}' does not exist in the map's style.`)));let Be=Se.getSource().type,dt=Be===\"vector\"?I.sourceLayer:void 0;Be!==\"vector\"||dt?ie&&typeof I.id!=\"string\"&&typeof I.id!=\"number\"?this.fire(new t.j(new Error(\"A feature id is required to remove its specific state property.\"))):Se.removeFeatureState(dt,I.id,ie):this.fire(new t.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(I){this._checkLoaded();let ie=I.source,we=I.sourceLayer,Se=this.sourceCaches[ie];if(Se!==void 0)return Se.getSource().type!==\"vector\"||we?(I.id===void 0&&this.fire(new t.j(new Error(\"The feature id parameter must be provided.\"))),Se.getFeatureState(we,I.id)):void this.fire(new t.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new t.j(new Error(`The source '${ie}' does not exist in the map's style.`)))}getTransition(){return t.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let I=t.aF(this.sourceCaches,Be=>Be.serialize()),ie=this._serializeByIds(this._order,!0),we=this.map.getTerrain()||void 0,Se=this.stylesheet;return t.aG({version:Se.version,name:Se.name,metadata:Se.metadata,light:Se.light,sky:Se.sky,center:Se.center,zoom:Se.zoom,bearing:Se.bearing,pitch:Se.pitch,sprite:Se.sprite,glyphs:Se.glyphs,transition:Se.transition,sources:I,layers:ie,terrain:we},Be=>Be!==void 0)}_updateLayer(I){this._updatedLayers[I.id]=!0,I.source&&!this._updatedSources[I.source]&&this.sourceCaches[I.source].getSource().type!==\"raster\"&&(this._updatedSources[I.source]=\"reload\",this.sourceCaches[I.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(I){let ie=dt=>this._layers[dt].type===\"fill-extrusion\",we={},Se=[];for(let dt=this._order.length-1;dt>=0;dt--){let St=this._order[dt];if(ie(St)){we[St]=dt;for(let Nt of I){let $t=Nt[St];if($t)for(let Tr of $t)Se.push(Tr)}}}Se.sort((dt,St)=>St.intersectionZ-dt.intersectionZ);let Be=[];for(let dt=this._order.length-1;dt>=0;dt--){let St=this._order[dt];if(ie(St))for(let Nt=Se.length-1;Nt>=0;Nt--){let $t=Se[Nt].feature;if(we[$t.layer.id]{let jr=vt.featureSortOrder;if(jr){let Qr=jr.indexOf(yr.featureIndex);return jr.indexOf(Er.featureIndex)-Qr}return Er.featureIndex-yr.featureIndex});for(let yr of cr)zt.push(yr)}}for(let vt in He)He[vt].forEach(Lt=>{let At=Lt.feature,zt=$t[St[vt].source].getFeatureState(At.layer[\"source-layer\"],At.id);At.source=At.layer.source,At.layer[\"source-layer\"]&&(At.sourceLayer=At.layer[\"source-layer\"]),At.state=zt});return He}(this._layers,dt,this.sourceCaches,I,ie,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(Be)}querySourceFeatures(I,ie){ie&&ie.filter&&this._validate(t.u.filter,\"querySourceFeatures.filter\",ie.filter,null,ie);let we=this.sourceCaches[I];return we?function(Se,Be){let dt=Se.getRenderableIds().map($t=>Se.getTileByID($t)),St=[],Nt={};for(let $t=0;$tKr.getTileByID(na)).sort((na,He)=>He.tileID.overscaledZ-na.tileID.overscaledZ||(na.tileID.isLessThan(He.tileID)?-1:1))}let Ar=this.crossTileSymbolIndex.addLayer(Tr,Nt[Tr.source],I.center.lng);dt=dt||Ar}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((Be=Be||this._layerOrderChanged||we===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.now(),I.zoom))&&(this.pauseablePlacement=new tn(I,this.map.terrain,this._order,Be,ie,we,Se,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Nt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.now()),St=!0),dt&&this.pauseablePlacement.placement.setStale()),St||dt)for(let $t of this._order){let Tr=this._layers[$t];Tr.type===\"symbol\"&&this.placement.updateLayerOpacities(Tr,Nt[Tr.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.now())}_releaseSymbolFadeTiles(){for(let I in this.sourceCaches)this.sourceCaches[I].releaseSymbolFadeTiles()}getImages(I,ie){return t._(this,void 0,void 0,function*(){let we=yield this.imageManager.getImages(ie.icons);this._updateTilesForChangedImages();let Se=this.sourceCaches[ie.source];return Se&&Se.setDependencies(ie.tileID.key,ie.type,ie.icons),we})}getGlyphs(I,ie){return t._(this,void 0,void 0,function*(){let we=yield this.glyphManager.getGlyphs(ie.stacks),Se=this.sourceCaches[ie.source];return Se&&Se.setDependencies(ie.tileID.key,ie.type,[\"\"]),we})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(I,ie={}){this._checkLoaded(),I&&this._validate(t.u.glyphs,\"glyphs\",I,null,ie)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=I,this.glyphManager.entries={},this.glyphManager.setURL(I))}addSprite(I,ie,we={},Se){this._checkLoaded();let Be=[{id:I,url:ie}],dt=[...b(this.stylesheet.sprite),...Be];this._validate(t.u.sprite,\"sprite\",dt,null,we)||(this.stylesheet.sprite=dt,this._loadSprite(Be,!0,Se))}removeSprite(I){this._checkLoaded();let ie=b(this.stylesheet.sprite);if(ie.find(we=>we.id===I)){if(this._spritesImagesIds[I])for(let we of this._spritesImagesIds[I])this.imageManager.removeImage(we),this._changedImages[we]=!0;ie.splice(ie.findIndex(we=>we.id===I),1),this.stylesheet.sprite=ie.length>0?ie:void 0,delete this._spritesImagesIds[I],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"}))}else this.fire(new t.j(new Error(`Sprite \"${I}\" doesn't exists on this map.`)))}getSprite(){return b(this.stylesheet.sprite)}setSprite(I,ie={},we){this._checkLoaded(),I&&this._validate(t.u.sprite,\"sprite\",I,null,ie)||(this.stylesheet.sprite=I,I?this._loadSprite(I,!0,we):(this._unloadSprite(),we&&we(null)))}}var Ur=t.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let Hr={prelude:xt(`#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n`,`#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}`),background:xt(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:xt(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:xt(`varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:xt(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:xt(`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,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:xt(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:xt(\"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_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:xt(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:xt(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:xt(`#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:xt(`varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:xt(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:xt(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:xt(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:xt(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:xt(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:xt(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:xt(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),lineGradient:xt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),linePattern:xt(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:xt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:xt(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:xt(`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}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:xt(`#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:xt(`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:xt(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:xt(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:xt(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:xt(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function xt(Ue,I){let ie=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,we=I.match(/attribute ([\\w]+) ([\\w]+)/g),Se=Ue.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),Be=I.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),dt=Be?Be.concat(Se):Se,St={};return{fragmentSource:Ue=Ue.replace(ie,(Nt,$t,Tr,Ar,Kr)=>(St[Kr]=!0,$t===\"define\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\nvarying ${Tr} ${Ar} ${Kr};\n#else\nuniform ${Tr} ${Ar} u_${Kr};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${Kr}\n ${Tr} ${Ar} ${Kr} = u_${Kr};\n#endif\n`)),vertexSource:I=I.replace(ie,(Nt,$t,Tr,Ar,Kr)=>{let na=Ar===\"float\"?\"vec2\":\"vec4\",He=Kr.match(/color/)?\"color\":na;return St[Kr]?$t===\"define\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\nuniform lowp float u_${Kr}_t;\nattribute ${Tr} ${na} a_${Kr};\nvarying ${Tr} ${Ar} ${Kr};\n#else\nuniform ${Tr} ${Ar} u_${Kr};\n#endif\n`:He===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Kr} = a_${Kr};\n#else\n ${Tr} ${Ar} ${Kr} = u_${Kr};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Kr} = unpack_mix_${He}(a_${Kr}, u_${Kr}_t);\n#else\n ${Tr} ${Ar} ${Kr} = u_${Kr};\n#endif\n`:$t===\"define\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\nuniform lowp float u_${Kr}_t;\nattribute ${Tr} ${na} a_${Kr};\n#else\nuniform ${Tr} ${Ar} u_${Kr};\n#endif\n`:He===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Tr} ${Ar} ${Kr} = a_${Kr};\n#else\n ${Tr} ${Ar} ${Kr} = u_${Kr};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Tr} ${Ar} ${Kr} = unpack_mix_${He}(a_${Kr}, u_${Kr}_t);\n#else\n ${Tr} ${Ar} ${Kr} = u_${Kr};\n#endif\n`}),staticAttributes:we,staticUniforms:dt}}class Xt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(I,ie,we,Se,Be,dt,St,Nt,$t){this.context=I;let Tr=this.boundPaintVertexBuffers.length!==Se.length;for(let Ar=0;!Tr&&Ar({u_matrix:Ue,u_texture:0,u_ele_delta:I,u_fog_matrix:ie,u_fog_color:we?we.properties.get(\"fog-color\"):t.aM.white,u_fog_ground_blend:we?we.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:we?we.calculateFogBlendOpacity(Se):0,u_horizon_color:we?we.properties.get(\"horizon-color\"):t.aM.white,u_horizon_fog_blend:we?we.properties.get(\"horizon-fog-blend\"):1});function Or(Ue){let I=[];for(let ie=0;ie({u_depth:new t.aH(yr,Er.u_depth),u_terrain:new t.aH(yr,Er.u_terrain),u_terrain_dim:new t.aI(yr,Er.u_terrain_dim),u_terrain_matrix:new t.aJ(yr,Er.u_terrain_matrix),u_terrain_unpack:new t.aK(yr,Er.u_terrain_unpack),u_terrain_exaggeration:new t.aI(yr,Er.u_terrain_exaggeration)}))(I,cr),this.binderUniforms=we?we.getUniforms(I,cr):[]}draw(I,ie,we,Se,Be,dt,St,Nt,$t,Tr,Ar,Kr,na,He,Je,lt,vt,Lt){let At=I.gl;if(this.failedToCreate)return;if(I.program.set(this.program),I.setDepthMode(we),I.setStencilMode(Se),I.setColorMode(Be),I.setCullFace(dt),Nt){I.activeTexture.set(At.TEXTURE2),At.bindTexture(At.TEXTURE_2D,Nt.depthTexture),I.activeTexture.set(At.TEXTURE3),At.bindTexture(At.TEXTURE_2D,Nt.texture);for(let cr in this.terrainUniforms)this.terrainUniforms[cr].set(Nt[cr])}for(let cr in this.fixedUniforms)this.fixedUniforms[cr].set(St[cr]);Je&&Je.setUniforms(I,this.binderUniforms,na,{zoom:He});let zt=0;switch(ie){case At.LINES:zt=2;break;case At.TRIANGLES:zt=3;break;case At.LINE_STRIP:zt=1}for(let cr of Kr.get()){let yr=cr.vaos||(cr.vaos={});(yr[$t]||(yr[$t]=new Xt)).bind(I,this,Tr,Je?Je.getPaintVertexBuffers():[],Ar,cr.vertexOffset,lt,vt,Lt),At.drawElements(ie,cr.primitiveLength*zt,At.UNSIGNED_SHORT,cr.primitiveOffset*zt*2)}}}function Pa(Ue,I,ie){let we=1/Da(ie,1,I.transform.tileZoom),Se=Math.pow(2,ie.tileID.overscaledZ),Be=ie.tileSize*Math.pow(2,I.transform.tileZoom)/Se,dt=Be*(ie.tileID.canonical.x+ie.tileID.wrap*Se),St=Be*ie.tileID.canonical.y;return{u_image:0,u_texsize:ie.imageAtlasTexture.size,u_scale:[we,Ue.fromScale,Ue.toScale],u_fade:Ue.t,u_pixel_coord_upper:[dt>>16,St>>16],u_pixel_coord_lower:[65535&dt,65535&St]}}let ya=(Ue,I,ie,we)=>{let Se=I.style.light,Be=Se.properties.get(\"position\"),dt=[Be.x,Be.y,Be.z],St=function(){var $t=new t.A(9);return t.A!=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}();Se.properties.get(\"anchor\")===\"viewport\"&&function($t,Tr){var Ar=Math.sin(Tr),Kr=Math.cos(Tr);$t[0]=Kr,$t[1]=Ar,$t[2]=0,$t[3]=-Ar,$t[4]=Kr,$t[5]=0,$t[6]=0,$t[7]=0,$t[8]=1}(St,-I.transform.angle),function($t,Tr,Ar){var Kr=Tr[0],na=Tr[1],He=Tr[2];$t[0]=Kr*Ar[0]+na*Ar[3]+He*Ar[6],$t[1]=Kr*Ar[1]+na*Ar[4]+He*Ar[7],$t[2]=Kr*Ar[2]+na*Ar[5]+He*Ar[8]}(dt,dt,St);let Nt=Se.properties.get(\"color\");return{u_matrix:Ue,u_lightpos:dt,u_lightintensity:Se.properties.get(\"intensity\"),u_lightcolor:[Nt.r,Nt.g,Nt.b],u_vertical_gradient:+ie,u_opacity:we}},la=(Ue,I,ie,we,Se,Be,dt)=>t.e(ya(Ue,I,ie,we),Pa(Be,I,dt),{u_height_factor:-Math.pow(2,Se.overscaledZ)/dt.tileSize/8}),Ta=Ue=>({u_matrix:Ue}),Ai=(Ue,I,ie,we)=>t.e(Ta(Ue),Pa(ie,I,we)),ki=(Ue,I)=>({u_matrix:Ue,u_world:I}),Ki=(Ue,I,ie,we,Se)=>t.e(Ai(Ue,I,ie,we),{u_world:Se}),_n=(Ue,I,ie,we)=>{let Se=Ue.transform,Be,dt;if(we.paint.get(\"circle-pitch-alignment\")===\"map\"){let St=Da(ie,1,Se.zoom);Be=!0,dt=[St,St]}else Be=!1,dt=Se.pixelsToGLUnits;return{u_camera_to_center_distance:Se.cameraToCenterDistance,u_scale_with_map:+(we.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Ue.translatePosMatrix(I.posMatrix,ie,we.paint.get(\"circle-translate\"),we.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+Be,u_device_pixel_ratio:Ue.pixelRatio,u_extrude_scale:dt}},Rn=(Ue,I,ie)=>({u_matrix:Ue,u_inv_matrix:I,u_camera_to_center_distance:ie.cameraToCenterDistance,u_viewport_size:[ie.width,ie.height]}),En=(Ue,I,ie=1)=>({u_matrix:Ue,u_color:I,u_overlay:0,u_overlay_scale:ie}),On=Ue=>({u_matrix:Ue}),no=(Ue,I,ie,we)=>({u_matrix:Ue,u_extrude_scale:Da(I,1,ie),u_intensity:we}),cn=(Ue,I,ie,we)=>{let Se=t.H();t.aP(Se,0,Ue.width,Ue.height,0,0,1);let Be=Ue.context.gl;return{u_matrix:Se,u_world:[Be.drawingBufferWidth,Be.drawingBufferHeight],u_image:ie,u_color_ramp:we,u_opacity:I.paint.get(\"heatmap-opacity\")}};function lo(Ue,I){let ie=Math.pow(2,I.canonical.z),we=I.canonical.y;return[new t.Z(0,we/ie).toLngLat().lat,new t.Z(0,(we+1)/ie).toLngLat().lat]}let Wo=(Ue,I,ie,we)=>{let Se=Ue.transform;return{u_matrix:as(Ue,I,ie,we),u_ratio:1/Da(I,1,Se.zoom),u_device_pixel_ratio:Ue.pixelRatio,u_units_to_pixels:[1/Se.pixelsToGLUnits[0],1/Se.pixelsToGLUnits[1]]}},hs=(Ue,I,ie,we,Se)=>t.e(Wo(Ue,I,ie,Se),{u_image:0,u_image_height:we}),Oo=(Ue,I,ie,we,Se)=>{let Be=Ue.transform,dt=No(I,Be);return{u_matrix:as(Ue,I,ie,Se),u_texsize:I.imageAtlasTexture.size,u_ratio:1/Da(I,1,Be.zoom),u_device_pixel_ratio:Ue.pixelRatio,u_image:0,u_scale:[dt,we.fromScale,we.toScale],u_fade:we.t,u_units_to_pixels:[1/Be.pixelsToGLUnits[0],1/Be.pixelsToGLUnits[1]]}},Wn=(Ue,I,ie,we,Se,Be)=>{let dt=Ue.lineAtlas,St=No(I,Ue.transform),Nt=ie.layout.get(\"line-cap\")===\"round\",$t=dt.getDash(we.from,Nt),Tr=dt.getDash(we.to,Nt),Ar=$t.width*Se.fromScale,Kr=Tr.width*Se.toScale;return t.e(Wo(Ue,I,ie,Be),{u_patternscale_a:[St/Ar,-$t.height/2],u_patternscale_b:[St/Kr,-Tr.height/2],u_sdfgamma:dt.width/(256*Math.min(Ar,Kr)*Ue.pixelRatio)/2,u_image:0,u_tex_y_a:$t.y,u_tex_y_b:Tr.y,u_mix:Se.t})};function No(Ue,I){return 1/Da(Ue,1,I.tileZoom)}function as(Ue,I,ie,we){return Ue.translatePosMatrix(we?we.posMatrix:I.tileID.posMatrix,I,ie.paint.get(\"line-translate\"),ie.paint.get(\"line-translate-anchor\"))}let Ns=(Ue,I,ie,we,Se)=>{return{u_matrix:Ue,u_tl_parent:I,u_scale_parent:ie,u_buffer_scale:1,u_fade_t:we.mix,u_opacity:we.opacity*Se.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:Se.paint.get(\"raster-brightness-min\"),u_brightness_high:Se.paint.get(\"raster-brightness-max\"),u_saturation_factor:(dt=Se.paint.get(\"raster-saturation\"),dt>0?1-1/(1.001-dt):-dt),u_contrast_factor:(Be=Se.paint.get(\"raster-contrast\"),Be>0?1/(1-Be):1+Be),u_spin_weights:ss(Se.paint.get(\"raster-hue-rotate\"))};var Be,dt};function ss(Ue){Ue*=Math.PI/180;let I=Math.sin(Ue),ie=Math.cos(Ue);return[(2*ie+1)/3,(-Math.sqrt(3)*I-ie+1)/3,(Math.sqrt(3)*I-ie+1)/3]}let uo=(Ue,I,ie,we,Se,Be,dt,St,Nt,$t,Tr,Ar,Kr,na)=>{let He=dt.transform;return{u_is_size_zoom_constant:+(Ue===\"constant\"||Ue===\"source\"),u_is_size_feature_constant:+(Ue===\"constant\"||Ue===\"camera\"),u_size_t:I?I.uSizeT:0,u_size:I?I.uSize:0,u_camera_to_center_distance:He.cameraToCenterDistance,u_pitch:He.pitch/360*2*Math.PI,u_rotate_symbol:+ie,u_aspect_ratio:He.width/He.height,u_fade_change:dt.options.fadeDuration?dt.symbolFadeChange:1,u_matrix:St,u_label_plane_matrix:Nt,u_coord_matrix:$t,u_is_text:+Ar,u_pitch_with_map:+we,u_is_along_line:Se,u_is_variable_anchor:Be,u_texsize:Kr,u_texture:0,u_translation:Tr,u_pitched_scale:na}},jn=(Ue,I,ie,we,Se,Be,dt,St,Nt,$t,Tr,Ar,Kr,na,He)=>{let Je=dt.transform;return t.e(uo(Ue,I,ie,we,Se,Be,dt,St,Nt,$t,Tr,Ar,Kr,He),{u_gamma_scale:we?Math.cos(Je._pitch)*Je.cameraToCenterDistance:1,u_device_pixel_ratio:dt.pixelRatio,u_is_halo:+na})},Xn=(Ue,I,ie,we,Se,Be,dt,St,Nt,$t,Tr,Ar,Kr,na)=>t.e(jn(Ue,I,ie,we,Se,Be,dt,St,Nt,$t,Tr,!0,Ar,!0,na),{u_texsize_icon:Kr,u_texture_icon:1}),ls=(Ue,I,ie)=>({u_matrix:Ue,u_opacity:I,u_color:ie}),Cs=(Ue,I,ie,we,Se,Be)=>t.e(function(dt,St,Nt,$t){let Tr=Nt.imageManager.getPattern(dt.from.toString()),Ar=Nt.imageManager.getPattern(dt.to.toString()),{width:Kr,height:na}=Nt.imageManager.getPixelSize(),He=Math.pow(2,$t.tileID.overscaledZ),Je=$t.tileSize*Math.pow(2,Nt.transform.tileZoom)/He,lt=Je*($t.tileID.canonical.x+$t.tileID.wrap*He),vt=Je*$t.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Tr.tl,u_pattern_br_a:Tr.br,u_pattern_tl_b:Ar.tl,u_pattern_br_b:Ar.br,u_texsize:[Kr,na],u_mix:St.t,u_pattern_size_a:Tr.displaySize,u_pattern_size_b:Ar.displaySize,u_scale_a:St.fromScale,u_scale_b:St.toScale,u_tile_units_to_pixels:1/Da($t,1,Nt.transform.tileZoom),u_pixel_coord_upper:[lt>>16,vt>>16],u_pixel_coord_lower:[65535<,65535&vt]}}(we,Be,ie,Se),{u_matrix:Ue,u_opacity:I}),Ks={fillExtrusion:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_lightpos:new t.aN(Ue,I.u_lightpos),u_lightintensity:new t.aI(Ue,I.u_lightintensity),u_lightcolor:new t.aN(Ue,I.u_lightcolor),u_vertical_gradient:new t.aI(Ue,I.u_vertical_gradient),u_opacity:new t.aI(Ue,I.u_opacity)}),fillExtrusionPattern:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_lightpos:new t.aN(Ue,I.u_lightpos),u_lightintensity:new t.aI(Ue,I.u_lightintensity),u_lightcolor:new t.aN(Ue,I.u_lightcolor),u_vertical_gradient:new t.aI(Ue,I.u_vertical_gradient),u_height_factor:new t.aI(Ue,I.u_height_factor),u_image:new t.aH(Ue,I.u_image),u_texsize:new t.aO(Ue,I.u_texsize),u_pixel_coord_upper:new t.aO(Ue,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,I.u_pixel_coord_lower),u_scale:new t.aN(Ue,I.u_scale),u_fade:new t.aI(Ue,I.u_fade),u_opacity:new t.aI(Ue,I.u_opacity)}),fill:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix)}),fillPattern:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_image:new t.aH(Ue,I.u_image),u_texsize:new t.aO(Ue,I.u_texsize),u_pixel_coord_upper:new t.aO(Ue,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,I.u_pixel_coord_lower),u_scale:new t.aN(Ue,I.u_scale),u_fade:new t.aI(Ue,I.u_fade)}),fillOutline:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_world:new t.aO(Ue,I.u_world)}),fillOutlinePattern:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_world:new t.aO(Ue,I.u_world),u_image:new t.aH(Ue,I.u_image),u_texsize:new t.aO(Ue,I.u_texsize),u_pixel_coord_upper:new t.aO(Ue,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,I.u_pixel_coord_lower),u_scale:new t.aN(Ue,I.u_scale),u_fade:new t.aI(Ue,I.u_fade)}),circle:(Ue,I)=>({u_camera_to_center_distance:new t.aI(Ue,I.u_camera_to_center_distance),u_scale_with_map:new t.aH(Ue,I.u_scale_with_map),u_pitch_with_map:new t.aH(Ue,I.u_pitch_with_map),u_extrude_scale:new t.aO(Ue,I.u_extrude_scale),u_device_pixel_ratio:new t.aI(Ue,I.u_device_pixel_ratio),u_matrix:new t.aJ(Ue,I.u_matrix)}),collisionBox:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_pixel_extrude_scale:new t.aO(Ue,I.u_pixel_extrude_scale)}),collisionCircle:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_inv_matrix:new t.aJ(Ue,I.u_inv_matrix),u_camera_to_center_distance:new t.aI(Ue,I.u_camera_to_center_distance),u_viewport_size:new t.aO(Ue,I.u_viewport_size)}),debug:(Ue,I)=>({u_color:new t.aL(Ue,I.u_color),u_matrix:new t.aJ(Ue,I.u_matrix),u_overlay:new t.aH(Ue,I.u_overlay),u_overlay_scale:new t.aI(Ue,I.u_overlay_scale)}),clippingMask:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix)}),heatmap:(Ue,I)=>({u_extrude_scale:new t.aI(Ue,I.u_extrude_scale),u_intensity:new t.aI(Ue,I.u_intensity),u_matrix:new t.aJ(Ue,I.u_matrix)}),heatmapTexture:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_world:new t.aO(Ue,I.u_world),u_image:new t.aH(Ue,I.u_image),u_color_ramp:new t.aH(Ue,I.u_color_ramp),u_opacity:new t.aI(Ue,I.u_opacity)}),hillshade:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_image:new t.aH(Ue,I.u_image),u_latrange:new t.aO(Ue,I.u_latrange),u_light:new t.aO(Ue,I.u_light),u_shadow:new t.aL(Ue,I.u_shadow),u_highlight:new t.aL(Ue,I.u_highlight),u_accent:new t.aL(Ue,I.u_accent)}),hillshadePrepare:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_image:new t.aH(Ue,I.u_image),u_dimension:new t.aO(Ue,I.u_dimension),u_zoom:new t.aI(Ue,I.u_zoom),u_unpack:new t.aK(Ue,I.u_unpack)}),line:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_ratio:new t.aI(Ue,I.u_ratio),u_device_pixel_ratio:new t.aI(Ue,I.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Ue,I.u_units_to_pixels)}),lineGradient:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_ratio:new t.aI(Ue,I.u_ratio),u_device_pixel_ratio:new t.aI(Ue,I.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Ue,I.u_units_to_pixels),u_image:new t.aH(Ue,I.u_image),u_image_height:new t.aI(Ue,I.u_image_height)}),linePattern:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_texsize:new t.aO(Ue,I.u_texsize),u_ratio:new t.aI(Ue,I.u_ratio),u_device_pixel_ratio:new t.aI(Ue,I.u_device_pixel_ratio),u_image:new t.aH(Ue,I.u_image),u_units_to_pixels:new t.aO(Ue,I.u_units_to_pixels),u_scale:new t.aN(Ue,I.u_scale),u_fade:new t.aI(Ue,I.u_fade)}),lineSDF:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_ratio:new t.aI(Ue,I.u_ratio),u_device_pixel_ratio:new t.aI(Ue,I.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Ue,I.u_units_to_pixels),u_patternscale_a:new t.aO(Ue,I.u_patternscale_a),u_patternscale_b:new t.aO(Ue,I.u_patternscale_b),u_sdfgamma:new t.aI(Ue,I.u_sdfgamma),u_image:new t.aH(Ue,I.u_image),u_tex_y_a:new t.aI(Ue,I.u_tex_y_a),u_tex_y_b:new t.aI(Ue,I.u_tex_y_b),u_mix:new t.aI(Ue,I.u_mix)}),raster:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_tl_parent:new t.aO(Ue,I.u_tl_parent),u_scale_parent:new t.aI(Ue,I.u_scale_parent),u_buffer_scale:new t.aI(Ue,I.u_buffer_scale),u_fade_t:new t.aI(Ue,I.u_fade_t),u_opacity:new t.aI(Ue,I.u_opacity),u_image0:new t.aH(Ue,I.u_image0),u_image1:new t.aH(Ue,I.u_image1),u_brightness_low:new t.aI(Ue,I.u_brightness_low),u_brightness_high:new t.aI(Ue,I.u_brightness_high),u_saturation_factor:new t.aI(Ue,I.u_saturation_factor),u_contrast_factor:new t.aI(Ue,I.u_contrast_factor),u_spin_weights:new t.aN(Ue,I.u_spin_weights)}),symbolIcon:(Ue,I)=>({u_is_size_zoom_constant:new t.aH(Ue,I.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Ue,I.u_is_size_feature_constant),u_size_t:new t.aI(Ue,I.u_size_t),u_size:new t.aI(Ue,I.u_size),u_camera_to_center_distance:new t.aI(Ue,I.u_camera_to_center_distance),u_pitch:new t.aI(Ue,I.u_pitch),u_rotate_symbol:new t.aH(Ue,I.u_rotate_symbol),u_aspect_ratio:new t.aI(Ue,I.u_aspect_ratio),u_fade_change:new t.aI(Ue,I.u_fade_change),u_matrix:new t.aJ(Ue,I.u_matrix),u_label_plane_matrix:new t.aJ(Ue,I.u_label_plane_matrix),u_coord_matrix:new t.aJ(Ue,I.u_coord_matrix),u_is_text:new t.aH(Ue,I.u_is_text),u_pitch_with_map:new t.aH(Ue,I.u_pitch_with_map),u_is_along_line:new t.aH(Ue,I.u_is_along_line),u_is_variable_anchor:new t.aH(Ue,I.u_is_variable_anchor),u_texsize:new t.aO(Ue,I.u_texsize),u_texture:new t.aH(Ue,I.u_texture),u_translation:new t.aO(Ue,I.u_translation),u_pitched_scale:new t.aI(Ue,I.u_pitched_scale)}),symbolSDF:(Ue,I)=>({u_is_size_zoom_constant:new t.aH(Ue,I.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Ue,I.u_is_size_feature_constant),u_size_t:new t.aI(Ue,I.u_size_t),u_size:new t.aI(Ue,I.u_size),u_camera_to_center_distance:new t.aI(Ue,I.u_camera_to_center_distance),u_pitch:new t.aI(Ue,I.u_pitch),u_rotate_symbol:new t.aH(Ue,I.u_rotate_symbol),u_aspect_ratio:new t.aI(Ue,I.u_aspect_ratio),u_fade_change:new t.aI(Ue,I.u_fade_change),u_matrix:new t.aJ(Ue,I.u_matrix),u_label_plane_matrix:new t.aJ(Ue,I.u_label_plane_matrix),u_coord_matrix:new t.aJ(Ue,I.u_coord_matrix),u_is_text:new t.aH(Ue,I.u_is_text),u_pitch_with_map:new t.aH(Ue,I.u_pitch_with_map),u_is_along_line:new t.aH(Ue,I.u_is_along_line),u_is_variable_anchor:new t.aH(Ue,I.u_is_variable_anchor),u_texsize:new t.aO(Ue,I.u_texsize),u_texture:new t.aH(Ue,I.u_texture),u_gamma_scale:new t.aI(Ue,I.u_gamma_scale),u_device_pixel_ratio:new t.aI(Ue,I.u_device_pixel_ratio),u_is_halo:new t.aH(Ue,I.u_is_halo),u_translation:new t.aO(Ue,I.u_translation),u_pitched_scale:new t.aI(Ue,I.u_pitched_scale)}),symbolTextAndIcon:(Ue,I)=>({u_is_size_zoom_constant:new t.aH(Ue,I.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Ue,I.u_is_size_feature_constant),u_size_t:new t.aI(Ue,I.u_size_t),u_size:new t.aI(Ue,I.u_size),u_camera_to_center_distance:new t.aI(Ue,I.u_camera_to_center_distance),u_pitch:new t.aI(Ue,I.u_pitch),u_rotate_symbol:new t.aH(Ue,I.u_rotate_symbol),u_aspect_ratio:new t.aI(Ue,I.u_aspect_ratio),u_fade_change:new t.aI(Ue,I.u_fade_change),u_matrix:new t.aJ(Ue,I.u_matrix),u_label_plane_matrix:new t.aJ(Ue,I.u_label_plane_matrix),u_coord_matrix:new t.aJ(Ue,I.u_coord_matrix),u_is_text:new t.aH(Ue,I.u_is_text),u_pitch_with_map:new t.aH(Ue,I.u_pitch_with_map),u_is_along_line:new t.aH(Ue,I.u_is_along_line),u_is_variable_anchor:new t.aH(Ue,I.u_is_variable_anchor),u_texsize:new t.aO(Ue,I.u_texsize),u_texsize_icon:new t.aO(Ue,I.u_texsize_icon),u_texture:new t.aH(Ue,I.u_texture),u_texture_icon:new t.aH(Ue,I.u_texture_icon),u_gamma_scale:new t.aI(Ue,I.u_gamma_scale),u_device_pixel_ratio:new t.aI(Ue,I.u_device_pixel_ratio),u_is_halo:new t.aH(Ue,I.u_is_halo),u_translation:new t.aO(Ue,I.u_translation),u_pitched_scale:new t.aI(Ue,I.u_pitched_scale)}),background:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_opacity:new t.aI(Ue,I.u_opacity),u_color:new t.aL(Ue,I.u_color)}),backgroundPattern:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_opacity:new t.aI(Ue,I.u_opacity),u_image:new t.aH(Ue,I.u_image),u_pattern_tl_a:new t.aO(Ue,I.u_pattern_tl_a),u_pattern_br_a:new t.aO(Ue,I.u_pattern_br_a),u_pattern_tl_b:new t.aO(Ue,I.u_pattern_tl_b),u_pattern_br_b:new t.aO(Ue,I.u_pattern_br_b),u_texsize:new t.aO(Ue,I.u_texsize),u_mix:new t.aI(Ue,I.u_mix),u_pattern_size_a:new t.aO(Ue,I.u_pattern_size_a),u_pattern_size_b:new t.aO(Ue,I.u_pattern_size_b),u_scale_a:new t.aI(Ue,I.u_scale_a),u_scale_b:new t.aI(Ue,I.u_scale_b),u_pixel_coord_upper:new t.aO(Ue,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,I.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aI(Ue,I.u_tile_units_to_pixels)}),terrain:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_texture:new t.aH(Ue,I.u_texture),u_ele_delta:new t.aI(Ue,I.u_ele_delta),u_fog_matrix:new t.aJ(Ue,I.u_fog_matrix),u_fog_color:new t.aL(Ue,I.u_fog_color),u_fog_ground_blend:new t.aI(Ue,I.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.aI(Ue,I.u_fog_ground_blend_opacity),u_horizon_color:new t.aL(Ue,I.u_horizon_color),u_horizon_fog_blend:new t.aI(Ue,I.u_horizon_fog_blend)}),terrainDepth:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_ele_delta:new t.aI(Ue,I.u_ele_delta)}),terrainCoords:(Ue,I)=>({u_matrix:new t.aJ(Ue,I.u_matrix),u_texture:new t.aH(Ue,I.u_texture),u_terrain_coords_id:new t.aI(Ue,I.u_terrain_coords_id),u_ele_delta:new t.aI(Ue,I.u_ele_delta)}),sky:(Ue,I)=>({u_sky_color:new t.aL(Ue,I.u_sky_color),u_horizon_color:new t.aL(Ue,I.u_horizon_color),u_horizon:new t.aI(Ue,I.u_horizon),u_sky_horizon_blend:new t.aI(Ue,I.u_sky_horizon_blend)})};class Xo{constructor(I,ie,we){this.context=I;let Se=I.gl;this.buffer=Se.createBuffer(),this.dynamicDraw=!!we,this.context.unbindVAO(),I.bindElementBuffer.set(this.buffer),Se.bufferData(Se.ELEMENT_ARRAY_BUFFER,ie.arrayBuffer,this.dynamicDraw?Se.DYNAMIC_DRAW:Se.STATIC_DRAW),this.dynamicDraw||delete ie.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(I){let ie=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),ie.bufferSubData(ie.ELEMENT_ARRAY_BUFFER,0,I.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Gi={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Ln{constructor(I,ie,we,Se){this.length=ie.length,this.attributes=we,this.itemSize=ie.bytesPerElement,this.dynamicDraw=Se,this.context=I;let Be=I.gl;this.buffer=Be.createBuffer(),I.bindVertexBuffer.set(this.buffer),Be.bufferData(Be.ARRAY_BUFFER,ie.arrayBuffer,this.dynamicDraw?Be.DYNAMIC_DRAW:Be.STATIC_DRAW),this.dynamicDraw||delete ie.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(I){if(I.length!==this.length)throw new Error(`Length of new data is ${I.length}, which doesn't match current length of ${this.length}`);let ie=this.context.gl;this.bind(),ie.bufferSubData(ie.ARRAY_BUFFER,0,I.arrayBuffer)}enableAttributes(I,ie){for(let we=0;we0){let yr=t.H();t.aQ(yr,At.placementInvProjMatrix,Ue.transform.glCoordMatrix),t.aQ(yr,yr,At.placementViewportMatrix),Nt.push({circleArray:cr,circleOffset:Tr,transform:Lt.posMatrix,invTransform:yr,coord:Lt}),$t+=cr.length/4,Tr=$t}zt&&St.draw(Be,dt.LINES,ns.disabled,Es.disabled,Ue.colorModeForRenderPass(),to.disabled,{u_matrix:Lt.posMatrix,u_pixel_extrude_scale:[1/(Ar=Ue.transform).width,1/Ar.height]},Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(Lt),ie.id,zt.layoutVertexBuffer,zt.indexBuffer,zt.segments,null,Ue.transform.zoom,null,null,zt.collisionVertexBuffer)}var Ar;if(!Se||!Nt.length)return;let Kr=Ue.useProgram(\"collisionCircle\"),na=new t.aR;na.resize(4*$t),na._trim();let He=0;for(let vt of Nt)for(let Lt=0;Lt=0&&(vt[At.associatedIconIndex]={shiftedAnchor:Sn,angle:Kn})}else rr(At.numGlyphs,Je)}if($t){lt.clear();let Lt=Ue.icon.placedSymbolArray;for(let At=0;AtUe.style.map.terrain.getElevation(Aa,Ot,_r):null,ar=ie.layout.get(\"text-rotation-alignment\")===\"map\";Te(ci,Aa.posMatrix,Ue,Se,eu,vu,vt,$t,ar,Je,Aa.toUnwrapped(),He.width,He.height,Tl,Mt)}let Vl=Aa.posMatrix,Gl=Se&&jr||uc,de=Lt||Gl?jl:eu,Fe=Ru,et=nn&&ie.paint.get(Se?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,mt;mt=nn?ci.iconsInText?Xn(Sn.kind,wo,At,vt,Lt,Gl,Ue,Vl,de,Fe,Tl,Ao,tl,pa):jn(Sn.kind,wo,At,vt,Lt,Gl,Ue,Vl,de,Fe,Tl,Se,Ao,!0,pa):uo(Sn.kind,wo,At,vt,Lt,Gl,Ue,Vl,de,Fe,Tl,Se,Ao,pa);let bt={program:Bn,buffers:Vi,uniformValues:mt,atlasTexture:Zo,atlasTextureIcon:Jo,atlasInterpolation:ps,atlasInterpolationIcon:ul,isSDF:nn,hasHalo:et};if(cr&&ci.canOverlap){yr=!0;let Mt=Vi.segments.get();for(let ar of Mt)Qr.push({segments:new t.a0([ar]),sortKey:ar.sortKey,state:bt,terrainData:is})}else Qr.push({segments:Vi.segments,sortKey:0,state:bt,terrainData:is})}yr&&Qr.sort((Aa,za)=>Aa.sortKey-za.sortKey);for(let Aa of Qr){let za=Aa.state;if(Kr.activeTexture.set(na.TEXTURE0),za.atlasTexture.bind(za.atlasInterpolation,na.CLAMP_TO_EDGE),za.atlasTextureIcon&&(Kr.activeTexture.set(na.TEXTURE1),za.atlasTextureIcon&&za.atlasTextureIcon.bind(za.atlasInterpolationIcon,na.CLAMP_TO_EDGE)),za.isSDF){let ci=za.uniformValues;za.hasHalo&&(ci.u_is_halo=1,Of(za.buffers,Aa.segments,ie,Ue,za.program,Er,Tr,Ar,ci,Aa.terrainData)),ci.u_is_halo=0}Of(za.buffers,Aa.segments,ie,Ue,za.program,Er,Tr,Ar,za.uniformValues,Aa.terrainData)}}function Of(Ue,I,ie,we,Se,Be,dt,St,Nt,$t){let Tr=we.context;Se.draw(Tr,Tr.gl.TRIANGLES,Be,dt,St,to.disabled,Nt,$t,ie.id,Ue.layoutVertexBuffer,Ue.indexBuffer,I,ie.paint,we.transform.zoom,Ue.programConfigurations.get(ie.id),Ue.dynamicLayoutVertexBuffer,Ue.opacityVertexBuffer)}function of(Ue,I,ie,we){let Se=Ue.context,Be=Se.gl,dt=Es.disabled,St=new fl([Be.ONE,Be.ONE],t.aM.transparent,[!0,!0,!0,!0]),Nt=I.getBucket(ie);if(!Nt)return;let $t=we.key,Tr=ie.heatmapFbos.get($t);Tr||(Tr=Bf(Se,I.tileSize,I.tileSize),ie.heatmapFbos.set($t,Tr)),Se.bindFramebuffer.set(Tr.framebuffer),Se.viewport.set([0,0,I.tileSize,I.tileSize]),Se.clear({color:t.aM.transparent});let Ar=Nt.programConfigurations.get(ie.id),Kr=Ue.useProgram(\"heatmap\",Ar),na=Ue.style.map.terrain.getTerrainData(we);Kr.draw(Se,Be.TRIANGLES,ns.disabled,dt,St,to.disabled,no(we.posMatrix,I,Ue.transform.zoom,ie.paint.get(\"heatmap-intensity\")),na,ie.id,Nt.layoutVertexBuffer,Nt.indexBuffer,Nt.segments,ie.paint,Ue.transform.zoom,Ar)}function jc(Ue,I,ie){let we=Ue.context,Se=we.gl;we.setColorMode(Ue.colorModeForRenderPass());let Be=Nf(we,I),dt=ie.key,St=I.heatmapFbos.get(dt);St&&(we.activeTexture.set(Se.TEXTURE0),Se.bindTexture(Se.TEXTURE_2D,St.colorAttachment.get()),we.activeTexture.set(Se.TEXTURE1),Be.bind(Se.LINEAR,Se.CLAMP_TO_EDGE),Ue.useProgram(\"heatmapTexture\").draw(we,Se.TRIANGLES,ns.disabled,Es.disabled,Ue.colorModeForRenderPass(),to.disabled,cn(Ue,I,0,1),null,I.id,Ue.rasterBoundsBuffer,Ue.quadTriangleIndexBuffer,Ue.rasterBoundsSegments,I.paint,Ue.transform.zoom),St.destroy(),I.heatmapFbos.delete(dt))}function Bf(Ue,I,ie){var we,Se;let Be=Ue.gl,dt=Be.createTexture();Be.bindTexture(Be.TEXTURE_2D,dt),Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_WRAP_S,Be.CLAMP_TO_EDGE),Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_WRAP_T,Be.CLAMP_TO_EDGE),Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_MIN_FILTER,Be.LINEAR),Be.texParameteri(Be.TEXTURE_2D,Be.TEXTURE_MAG_FILTER,Be.LINEAR);let St=(we=Ue.HALF_FLOAT)!==null&&we!==void 0?we:Be.UNSIGNED_BYTE,Nt=(Se=Ue.RGBA16F)!==null&&Se!==void 0?Se:Be.RGBA;Be.texImage2D(Be.TEXTURE_2D,0,Nt,I,ie,0,Be.RGBA,St,null);let $t=Ue.createFramebuffer(I,ie,!1,!1);return $t.colorAttachment.set(dt),$t}function Nf(Ue,I){return I.colorRampTexture||(I.colorRampTexture=new u(Ue,I.colorRamp,Ue.gl.RGBA)),I.colorRampTexture}function Gu(Ue,I,ie,we,Se){if(!ie||!we||!we.imageAtlas)return;let Be=we.imageAtlas.patternPositions,dt=Be[ie.to.toString()],St=Be[ie.from.toString()];if(!dt&&St&&(dt=St),!St&&dt&&(St=dt),!dt||!St){let Nt=Se.getPaintProperty(I);dt=Be[Nt],St=Be[Nt]}dt&&St&&Ue.setConstantPatternPositions(dt,St)}function Ef(Ue,I,ie,we,Se,Be,dt){let St=Ue.context.gl,Nt=\"fill-pattern\",$t=ie.paint.get(Nt),Tr=$t&&$t.constantOr(1),Ar=ie.getCrossfadeParameters(),Kr,na,He,Je,lt;dt?(na=Tr&&!ie.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",Kr=St.LINES):(na=Tr?\"fillPattern\":\"fill\",Kr=St.TRIANGLES);let vt=$t.constantOr(null);for(let Lt of we){let At=I.getTile(Lt);if(Tr&&!At.patternsLoaded())continue;let zt=At.getBucket(ie);if(!zt)continue;let cr=zt.programConfigurations.get(ie.id),yr=Ue.useProgram(na,cr),Er=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(Lt);Tr&&(Ue.context.activeTexture.set(St.TEXTURE0),At.imageAtlasTexture.bind(St.LINEAR,St.CLAMP_TO_EDGE),cr.updatePaintBuffers(Ar)),Gu(cr,Nt,vt,At,ie);let jr=Er?Lt:null,Qr=Ue.translatePosMatrix(jr?jr.posMatrix:Lt.posMatrix,At,ie.paint.get(\"fill-translate\"),ie.paint.get(\"fill-translate-anchor\"));if(dt){Je=zt.indexBuffer2,lt=zt.segments2;let pa=[St.drawingBufferWidth,St.drawingBufferHeight];He=na===\"fillOutlinePattern\"&&Tr?Ki(Qr,Ue,Ar,At,pa):ki(Qr,pa)}else Je=zt.indexBuffer,lt=zt.segments,He=Tr?Ai(Qr,Ue,Ar,At):Ta(Qr);yr.draw(Ue.context,Kr,Se,Ue.stencilModeForClipping(Lt),Be,to.disabled,He,Er,ie.id,zt.layoutVertexBuffer,Je,lt,ie.paint,Ue.transform.zoom,cr)}}function oc(Ue,I,ie,we,Se,Be,dt){let St=Ue.context,Nt=St.gl,$t=\"fill-extrusion-pattern\",Tr=ie.paint.get($t),Ar=Tr.constantOr(1),Kr=ie.getCrossfadeParameters(),na=ie.paint.get(\"fill-extrusion-opacity\"),He=Tr.constantOr(null);for(let Je of we){let lt=I.getTile(Je),vt=lt.getBucket(ie);if(!vt)continue;let Lt=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(Je),At=vt.programConfigurations.get(ie.id),zt=Ue.useProgram(Ar?\"fillExtrusionPattern\":\"fillExtrusion\",At);Ar&&(Ue.context.activeTexture.set(Nt.TEXTURE0),lt.imageAtlasTexture.bind(Nt.LINEAR,Nt.CLAMP_TO_EDGE),At.updatePaintBuffers(Kr)),Gu(At,$t,He,lt,ie);let cr=Ue.translatePosMatrix(Je.posMatrix,lt,ie.paint.get(\"fill-extrusion-translate\"),ie.paint.get(\"fill-extrusion-translate-anchor\")),yr=ie.paint.get(\"fill-extrusion-vertical-gradient\"),Er=Ar?la(cr,Ue,yr,na,Je,Kr,lt):ya(cr,Ue,yr,na);zt.draw(St,St.gl.TRIANGLES,Se,Be,dt,to.backCCW,Er,Lt,ie.id,vt.layoutVertexBuffer,vt.indexBuffer,vt.segments,ie.paint,Ue.transform.zoom,At,Ue.style.map.terrain&&vt.centroidVertexBuffer)}}function Xc(Ue,I,ie,we,Se,Be,dt){let St=Ue.context,Nt=St.gl,$t=ie.fbo;if(!$t)return;let Tr=Ue.useProgram(\"hillshade\"),Ar=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(I);St.activeTexture.set(Nt.TEXTURE0),Nt.bindTexture(Nt.TEXTURE_2D,$t.colorAttachment.get()),Tr.draw(St,Nt.TRIANGLES,Se,Be,dt,to.disabled,((Kr,na,He,Je)=>{let lt=He.paint.get(\"hillshade-shadow-color\"),vt=He.paint.get(\"hillshade-highlight-color\"),Lt=He.paint.get(\"hillshade-accent-color\"),At=He.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);He.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(At-=Kr.transform.angle);let zt=!Kr.options.moving;return{u_matrix:Je?Je.posMatrix:Kr.transform.calculatePosMatrix(na.tileID.toUnwrapped(),zt),u_image:0,u_latrange:lo(0,na.tileID),u_light:[He.paint.get(\"hillshade-exaggeration\"),At],u_shadow:lt,u_highlight:vt,u_accent:Lt}})(Ue,ie,we,Ar?I:null),Ar,we.id,Ue.rasterBoundsBuffer,Ue.quadTriangleIndexBuffer,Ue.rasterBoundsSegments)}function Ql(Ue,I,ie,we,Se,Be){let dt=Ue.context,St=dt.gl,Nt=I.dem;if(Nt&&Nt.data){let $t=Nt.dim,Tr=Nt.stride,Ar=Nt.getPixels();if(dt.activeTexture.set(St.TEXTURE1),dt.pixelStoreUnpackPremultiplyAlpha.set(!1),I.demTexture=I.demTexture||Ue.getTileTexture(Tr),I.demTexture){let na=I.demTexture;na.update(Ar,{premultiply:!1}),na.bind(St.NEAREST,St.CLAMP_TO_EDGE)}else I.demTexture=new u(dt,Ar,St.RGBA,{premultiply:!1}),I.demTexture.bind(St.NEAREST,St.CLAMP_TO_EDGE);dt.activeTexture.set(St.TEXTURE0);let Kr=I.fbo;if(!Kr){let na=new u(dt,{width:$t,height:$t,data:null},St.RGBA);na.bind(St.LINEAR,St.CLAMP_TO_EDGE),Kr=I.fbo=dt.createFramebuffer($t,$t,!0,!1),Kr.colorAttachment.set(na.texture)}dt.bindFramebuffer.set(Kr.framebuffer),dt.viewport.set([0,0,$t,$t]),Ue.useProgram(\"hillshadePrepare\").draw(dt,St.TRIANGLES,we,Se,Be,to.disabled,((na,He)=>{let Je=He.stride,lt=t.H();return t.aP(lt,0,t.X,-t.X,0,0,1),t.J(lt,lt,[0,-t.X,0]),{u_matrix:lt,u_image:1,u_dimension:[Je,Je],u_zoom:na.overscaledZ,u_unpack:He.getUnpackVector()}})(I.tileID,Nt),null,ie.id,Ue.rasterBoundsBuffer,Ue.quadTriangleIndexBuffer,Ue.rasterBoundsSegments),I.needsHillshadePrepare=!1}}function qc(Ue,I,ie,we,Se,Be){let dt=we.paint.get(\"raster-fade-duration\");if(!Be&&dt>0){let St=n.now(),Nt=(St-Ue.timeAdded)/dt,$t=I?(St-I.timeAdded)/dt:-1,Tr=ie.getSource(),Ar=Se.coveringZoomLevel({tileSize:Tr.tileSize,roundZoom:Tr.roundZoom}),Kr=!I||Math.abs(I.tileID.overscaledZ-Ar)>Math.abs(Ue.tileID.overscaledZ-Ar),na=Kr&&Ue.refreshedUponExpiration?1:t.ac(Kr?Nt:1-$t,0,1);return Ue.refreshedUponExpiration&&Nt>=1&&(Ue.refreshedUponExpiration=!1),I?{opacity:1,mix:1-na}:{opacity:na,mix:0}}return{opacity:1,mix:0}}let Sc=new t.aM(1,0,0,1),Zs=new t.aM(0,1,0,1),kf=new t.aM(0,0,1,1),fh=new t.aM(1,0,1,1),Uf=new t.aM(0,1,1,1);function Zc(Ue,I,ie,we){Cu(Ue,0,I+ie/2,Ue.transform.width,ie,we)}function $f(Ue,I,ie,we){Cu(Ue,I-ie/2,0,ie,Ue.transform.height,we)}function Cu(Ue,I,ie,we,Se,Be){let dt=Ue.context,St=dt.gl;St.enable(St.SCISSOR_TEST),St.scissor(I*Ue.pixelRatio,ie*Ue.pixelRatio,we*Ue.pixelRatio,Se*Ue.pixelRatio),dt.clear({color:Be}),St.disable(St.SCISSOR_TEST)}function jf(Ue,I,ie){let we=Ue.context,Se=we.gl,Be=ie.posMatrix,dt=Ue.useProgram(\"debug\"),St=ns.disabled,Nt=Es.disabled,$t=Ue.colorModeForRenderPass(),Tr=\"$debug\",Ar=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(ie);we.activeTexture.set(Se.TEXTURE0);let Kr=I.getTileByID(ie.key).latestRawTileData,na=Math.floor((Kr&&Kr.byteLength||0)/1024),He=I.getTile(ie).tileSize,Je=512/Math.min(He,512)*(ie.overscaledZ/Ue.transform.zoom)*.5,lt=ie.canonical.toString();ie.overscaledZ!==ie.canonical.z&&(lt+=` => ${ie.overscaledZ}`),function(vt,Lt){vt.initDebugOverlayCanvas();let At=vt.debugOverlayCanvas,zt=vt.context.gl,cr=vt.debugOverlayCanvas.getContext(\"2d\");cr.clearRect(0,0,At.width,At.height),cr.shadowColor=\"white\",cr.shadowBlur=2,cr.lineWidth=1.5,cr.strokeStyle=\"white\",cr.textBaseline=\"top\",cr.font=\"bold 36px Open Sans, sans-serif\",cr.fillText(Lt,5,5),cr.strokeText(Lt,5,5),vt.debugOverlayTexture.update(At),vt.debugOverlayTexture.bind(zt.LINEAR,zt.CLAMP_TO_EDGE)}(Ue,`${lt} ${na}kB`),dt.draw(we,Se.TRIANGLES,St,Nt,fl.alphaBlended,to.disabled,En(Be,t.aM.transparent,Je),null,Tr,Ue.debugBuffer,Ue.quadTriangleIndexBuffer,Ue.debugSegments),dt.draw(we,Se.LINE_STRIP,St,Nt,$t,to.disabled,En(Be,t.aM.red),Ar,Tr,Ue.debugBuffer,Ue.tileBorderIndexBuffer,Ue.debugSegments)}function yl(Ue,I,ie){let we=Ue.context,Se=we.gl,Be=Ue.colorModeForRenderPass(),dt=new ns(Se.LEQUAL,ns.ReadWrite,Ue.depthRangeFor3D),St=Ue.useProgram(\"terrain\"),Nt=I.getTerrainMesh();we.bindFramebuffer.set(null),we.viewport.set([0,0,Ue.width,Ue.height]);for(let $t of ie){let Tr=Ue.renderToTexture.getTexture($t),Ar=I.getTerrainData($t.tileID);we.activeTexture.set(Se.TEXTURE0),Se.bindTexture(Se.TEXTURE_2D,Tr.texture);let Kr=Ue.transform.calculatePosMatrix($t.tileID.toUnwrapped()),na=I.getMeshFrameDelta(Ue.transform.zoom),He=Ue.transform.calculateFogMatrix($t.tileID.toUnwrapped()),Je=vr(Kr,na,He,Ue.style.sky,Ue.transform.pitch);St.draw(we,Se.TRIANGLES,dt,Es.disabled,Be,to.backCCW,Je,Ar,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}}class Lu{constructor(I,ie,we){this.vertexBuffer=I,this.indexBuffer=ie,this.segments=we}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Mc{constructor(I,ie){this.context=new xh(I),this.transform=ie,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=It.maxUnderzooming+It.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Br}resize(I,ie,we){if(this.width=Math.floor(I*we),this.height=Math.floor(ie*we),this.pixelRatio=we,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let Se of this.style._order)this.style._layers[Se].resize()}setup(){let I=this.context,ie=new t.aX;ie.emplaceBack(0,0),ie.emplaceBack(t.X,0),ie.emplaceBack(0,t.X),ie.emplaceBack(t.X,t.X),this.tileExtentBuffer=I.createVertexBuffer(ie,Ur.members),this.tileExtentSegments=t.a0.simpleSegment(0,0,4,2);let we=new t.aX;we.emplaceBack(0,0),we.emplaceBack(t.X,0),we.emplaceBack(0,t.X),we.emplaceBack(t.X,t.X),this.debugBuffer=I.createVertexBuffer(we,Ur.members),this.debugSegments=t.a0.simpleSegment(0,0,4,5);let Se=new t.$;Se.emplaceBack(0,0,0,0),Se.emplaceBack(t.X,0,t.X,0),Se.emplaceBack(0,t.X,0,t.X),Se.emplaceBack(t.X,t.X,t.X,t.X),this.rasterBoundsBuffer=I.createVertexBuffer(Se,Ze.members),this.rasterBoundsSegments=t.a0.simpleSegment(0,0,4,2);let Be=new t.aX;Be.emplaceBack(0,0),Be.emplaceBack(1,0),Be.emplaceBack(0,1),Be.emplaceBack(1,1),this.viewportBuffer=I.createVertexBuffer(Be,Ur.members),this.viewportSegments=t.a0.simpleSegment(0,0,4,2);let dt=new t.aZ;dt.emplaceBack(0),dt.emplaceBack(1),dt.emplaceBack(3),dt.emplaceBack(2),dt.emplaceBack(0),this.tileBorderIndexBuffer=I.createIndexBuffer(dt);let St=new t.aY;St.emplaceBack(0,1,2),St.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=I.createIndexBuffer(St);let Nt=this.context.gl;this.stencilClearMode=new Es({func:Nt.ALWAYS,mask:0},0,255,Nt.ZERO,Nt.ZERO,Nt.ZERO)}clearStencil(){let I=this.context,ie=I.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let we=t.H();t.aP(we,0,this.width,this.height,0,0,1),t.K(we,we,[ie.drawingBufferWidth,ie.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(I,ie.TRIANGLES,ns.disabled,this.stencilClearMode,fl.disabled,to.disabled,On(we),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(I,ie){if(this.currentStencilSource===I.source||!I.isTileClipped()||!ie||!ie.length)return;this.currentStencilSource=I.source;let we=this.context,Se=we.gl;this.nextStencilID+ie.length>256&&this.clearStencil(),we.setColorMode(fl.disabled),we.setDepthMode(ns.disabled);let Be=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let dt of ie){let St=this._tileClippingMaskIDs[dt.key]=this.nextStencilID++,Nt=this.style.map.terrain&&this.style.map.terrain.getTerrainData(dt);Be.draw(we,Se.TRIANGLES,ns.disabled,new Es({func:Se.ALWAYS,mask:0},St,255,Se.KEEP,Se.KEEP,Se.REPLACE),fl.disabled,to.disabled,On(dt.posMatrix),Nt,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let I=this.nextStencilID++,ie=this.context.gl;return new Es({func:ie.NOTEQUAL,mask:255},I,255,ie.KEEP,ie.KEEP,ie.REPLACE)}stencilModeForClipping(I){let ie=this.context.gl;return new Es({func:ie.EQUAL,mask:255},this._tileClippingMaskIDs[I.key],0,ie.KEEP,ie.KEEP,ie.REPLACE)}stencilConfigForOverlap(I){let ie=this.context.gl,we=I.sort((dt,St)=>St.overscaledZ-dt.overscaledZ),Se=we[we.length-1].overscaledZ,Be=we[0].overscaledZ-Se+1;if(Be>1){this.currentStencilSource=void 0,this.nextStencilID+Be>256&&this.clearStencil();let dt={};for(let St=0;St({u_sky_color:vt.properties.get(\"sky-color\"),u_horizon_color:vt.properties.get(\"horizon-color\"),u_horizon:(Lt.height/2+Lt.getHorizon())*At,u_sky_horizon_blend:vt.properties.get(\"sky-horizon-blend\")*Lt.height/2*At}))($t,Nt.style.map.transform,Nt.pixelRatio),na=new ns(Ar.LEQUAL,ns.ReadWrite,[0,1]),He=Es.disabled,Je=Nt.colorModeForRenderPass(),lt=Nt.useProgram(\"sky\");if(!$t.mesh){let vt=new t.aX;vt.emplaceBack(-1,-1),vt.emplaceBack(1,-1),vt.emplaceBack(1,1),vt.emplaceBack(-1,1);let Lt=new t.aY;Lt.emplaceBack(0,1,2),Lt.emplaceBack(0,2,3),$t.mesh=new Lu(Tr.createVertexBuffer(vt,Ur.members),Tr.createIndexBuffer(Lt),t.a0.simpleSegment(0,0,vt.length,Lt.length))}lt.draw(Tr,Ar.TRIANGLES,na,He,Je,to.disabled,Kr,void 0,\"sky\",$t.mesh.vertexBuffer,$t.mesh.indexBuffer,$t.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=ie.showOverdrawInspector,this.depthRangeFor3D=[0,1-(I._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=we.length-1;this.currentLayer>=0;this.currentLayer--){let Nt=this.style._layers[we[this.currentLayer]],$t=Se[Nt.source],Tr=Be[Nt.source];this._renderTileClippingMasks(Nt,Tr),this.renderLayer(this,$t,Nt,Tr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerlt.source&&!lt.isHidden(Tr)?[$t.sourceCaches[lt.source]]:[]),na=Kr.filter(lt=>lt.getSource().type===\"vector\"),He=Kr.filter(lt=>lt.getSource().type!==\"vector\"),Je=lt=>{(!Ar||Ar.getSource().maxzoomJe(lt)),Ar||He.forEach(lt=>Je(lt)),Ar}(this.style,this.transform.zoom);Nt&&function($t,Tr,Ar){for(let Kr=0;Kr0),Se&&(t.b0(ie,we),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(Be,dt){let St=Be.context,Nt=St.gl,$t=fl.unblended,Tr=new ns(Nt.LEQUAL,ns.ReadWrite,[0,1]),Ar=dt.getTerrainMesh(),Kr=dt.sourceCache.getRenderableTiles(),na=Be.useProgram(\"terrainDepth\");St.bindFramebuffer.set(dt.getFramebuffer(\"depth\").framebuffer),St.viewport.set([0,0,Be.width/devicePixelRatio,Be.height/devicePixelRatio]),St.clear({color:t.aM.transparent,depth:1});for(let He of Kr){let Je=dt.getTerrainData(He.tileID),lt={u_matrix:Be.transform.calculatePosMatrix(He.tileID.toUnwrapped()),u_ele_delta:dt.getMeshFrameDelta(Be.transform.zoom)};na.draw(St,Nt.TRIANGLES,Tr,Es.disabled,$t,to.backCCW,lt,Je,\"terrain\",Ar.vertexBuffer,Ar.indexBuffer,Ar.segments)}St.bindFramebuffer.set(null),St.viewport.set([0,0,Be.width,Be.height])}(this,this.style.map.terrain),function(Be,dt){let St=Be.context,Nt=St.gl,$t=fl.unblended,Tr=new ns(Nt.LEQUAL,ns.ReadWrite,[0,1]),Ar=dt.getTerrainMesh(),Kr=dt.getCoordsTexture(),na=dt.sourceCache.getRenderableTiles(),He=Be.useProgram(\"terrainCoords\");St.bindFramebuffer.set(dt.getFramebuffer(\"coords\").framebuffer),St.viewport.set([0,0,Be.width/devicePixelRatio,Be.height/devicePixelRatio]),St.clear({color:t.aM.transparent,depth:1}),dt.coordsIndex=[];for(let Je of na){let lt=dt.getTerrainData(Je.tileID);St.activeTexture.set(Nt.TEXTURE0),Nt.bindTexture(Nt.TEXTURE_2D,Kr.texture);let vt={u_matrix:Be.transform.calculatePosMatrix(Je.tileID.toUnwrapped()),u_terrain_coords_id:(255-dt.coordsIndex.length)/255,u_texture:0,u_ele_delta:dt.getMeshFrameDelta(Be.transform.zoom)};He.draw(St,Nt.TRIANGLES,Tr,Es.disabled,$t,to.backCCW,vt,lt,\"terrain\",Ar.vertexBuffer,Ar.indexBuffer,Ar.segments),dt.coordsIndex.push(Je.tileID.key)}St.bindFramebuffer.set(null),St.viewport.set([0,0,Be.width,Be.height])}(this,this.style.map.terrain))}renderLayer(I,ie,we,Se){if(!we.isHidden(this.transform.zoom)&&(we.type===\"background\"||we.type===\"custom\"||(Se||[]).length))switch(this.id=we.id,we.type){case\"symbol\":(function(Be,dt,St,Nt,$t){if(Be.renderPass!==\"translucent\")return;let Tr=Es.disabled,Ar=Be.colorModeForRenderPass();(St._unevaluatedLayout.hasValue(\"text-variable-anchor\")||St._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(Kr,na,He,Je,lt,vt,Lt,At,zt){let cr=na.transform,yr=pi(),Er=lt===\"map\",jr=vt===\"map\";for(let Qr of Kr){let pa=Je.getTile(Qr),Aa=pa.getBucket(He);if(!Aa||!Aa.text||!Aa.text.segments.get().length)continue;let za=t.ag(Aa.textSizeData,cr.zoom),ci=Da(pa,1,na.transform.zoom),Vi=Sr(Qr.posMatrix,jr,Er,na.transform,ci),ji=He.layout.get(\"icon-text-fit\")!==\"none\"&&Aa.hasIconData();if(za){let nn=Math.pow(2,cr.zoom-pa.tileID.overscaledZ),Sn=na.style.map.terrain?(Bn,wo)=>na.style.map.terrain.getElevation(Qr,Bn,wo):null,Kn=yr.translatePosition(cr,pa,Lt,At);nf(Aa,Er,jr,zt,cr,Vi,Qr.posMatrix,nn,za,ji,yr,Kn,Qr.toUnwrapped(),Sn)}}}(Nt,Be,St,dt,St.layout.get(\"text-rotation-alignment\"),St.layout.get(\"text-pitch-alignment\"),St.paint.get(\"text-translate\"),St.paint.get(\"text-translate-anchor\"),$t),St.paint.get(\"icon-opacity\").constantOr(1)!==0&&Jf(Be,dt,St,Nt,!1,St.paint.get(\"icon-translate\"),St.paint.get(\"icon-translate-anchor\"),St.layout.get(\"icon-rotation-alignment\"),St.layout.get(\"icon-pitch-alignment\"),St.layout.get(\"icon-keep-upright\"),Tr,Ar),St.paint.get(\"text-opacity\").constantOr(1)!==0&&Jf(Be,dt,St,Nt,!0,St.paint.get(\"text-translate\"),St.paint.get(\"text-translate-anchor\"),St.layout.get(\"text-rotation-alignment\"),St.layout.get(\"text-pitch-alignment\"),St.layout.get(\"text-keep-upright\"),Tr,Ar),dt.map.showCollisionBoxes&&(Vu(Be,dt,St,Nt,!0),Vu(Be,dt,St,Nt,!1))})(I,ie,we,Se,this.style.placement.variableOffsets);break;case\"circle\":(function(Be,dt,St,Nt){if(Be.renderPass!==\"translucent\")return;let $t=St.paint.get(\"circle-opacity\"),Tr=St.paint.get(\"circle-stroke-width\"),Ar=St.paint.get(\"circle-stroke-opacity\"),Kr=!St.layout.get(\"circle-sort-key\").isConstant();if($t.constantOr(1)===0&&(Tr.constantOr(1)===0||Ar.constantOr(1)===0))return;let na=Be.context,He=na.gl,Je=Be.depthModeForSublayer(0,ns.ReadOnly),lt=Es.disabled,vt=Be.colorModeForRenderPass(),Lt=[];for(let At=0;AtAt.sortKey-zt.sortKey);for(let At of Lt){let{programConfiguration:zt,program:cr,layoutVertexBuffer:yr,indexBuffer:Er,uniformValues:jr,terrainData:Qr}=At.state;cr.draw(na,He.TRIANGLES,Je,lt,vt,to.disabled,jr,Qr,St.id,yr,Er,At.segments,St.paint,Be.transform.zoom,zt)}})(I,ie,we,Se);break;case\"heatmap\":(function(Be,dt,St,Nt){if(St.paint.get(\"heatmap-opacity\")===0)return;let $t=Be.context;if(Be.style.map.terrain){for(let Tr of Nt){let Ar=dt.getTile(Tr);dt.hasRenderableParent(Tr)||(Be.renderPass===\"offscreen\"?of(Be,Ar,St,Tr):Be.renderPass===\"translucent\"&&jc(Be,St,Tr))}$t.viewport.set([0,0,Be.width,Be.height])}else Be.renderPass===\"offscreen\"?function(Tr,Ar,Kr,na){let He=Tr.context,Je=He.gl,lt=Es.disabled,vt=new fl([Je.ONE,Je.ONE],t.aM.transparent,[!0,!0,!0,!0]);(function(Lt,At,zt){let cr=Lt.gl;Lt.activeTexture.set(cr.TEXTURE1),Lt.viewport.set([0,0,At.width/4,At.height/4]);let yr=zt.heatmapFbos.get(t.aU);yr?(cr.bindTexture(cr.TEXTURE_2D,yr.colorAttachment.get()),Lt.bindFramebuffer.set(yr.framebuffer)):(yr=Bf(Lt,At.width/4,At.height/4),zt.heatmapFbos.set(t.aU,yr))})(He,Tr,Kr),He.clear({color:t.aM.transparent});for(let Lt=0;Lt20&&Tr.texParameterf(Tr.TEXTURE_2D,$t.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,$t.extTextureFilterAnisotropicMax);let Aa=Be.style.map.terrain&&Be.style.map.terrain.getTerrainData(Lt),za=Aa?Lt:null,ci=za?za.posMatrix:Be.transform.calculatePosMatrix(Lt.toUnwrapped(),vt),Vi=Ns(ci,Qr||[0,0],jr||1,Er,St);Ar instanceof at?Kr.draw($t,Tr.TRIANGLES,At,Es.disabled,na,to.disabled,Vi,Aa,St.id,Ar.boundsBuffer,Be.quadTriangleIndexBuffer,Ar.boundsSegments):Kr.draw($t,Tr.TRIANGLES,At,He[Lt.overscaledZ],na,to.disabled,Vi,Aa,St.id,Be.rasterBoundsBuffer,Be.quadTriangleIndexBuffer,Be.rasterBoundsSegments)}})(I,ie,we,Se);break;case\"background\":(function(Be,dt,St,Nt){let $t=St.paint.get(\"background-color\"),Tr=St.paint.get(\"background-opacity\");if(Tr===0)return;let Ar=Be.context,Kr=Ar.gl,na=Be.transform,He=na.tileSize,Je=St.paint.get(\"background-pattern\");if(Be.isPatternMissing(Je))return;let lt=!Je&&$t.a===1&&Tr===1&&Be.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Be.renderPass!==lt)return;let vt=Es.disabled,Lt=Be.depthModeForSublayer(0,lt===\"opaque\"?ns.ReadWrite:ns.ReadOnly),At=Be.colorModeForRenderPass(),zt=Be.useProgram(Je?\"backgroundPattern\":\"background\"),cr=Nt||na.coveringTiles({tileSize:He,terrain:Be.style.map.terrain});Je&&(Ar.activeTexture.set(Kr.TEXTURE0),Be.imageManager.bind(Be.context));let yr=St.getCrossfadeParameters();for(let Er of cr){let jr=Nt?Er.posMatrix:Be.transform.calculatePosMatrix(Er.toUnwrapped()),Qr=Je?Cs(jr,Tr,Be,Je,{tileID:Er,tileSize:He},yr):ls(jr,Tr,$t),pa=Be.style.map.terrain&&Be.style.map.terrain.getTerrainData(Er);zt.draw(Ar,Kr.TRIANGLES,Lt,vt,At,to.disabled,Qr,pa,St.id,Be.tileExtentBuffer,Be.quadTriangleIndexBuffer,Be.tileExtentSegments)}})(I,0,we,Se);break;case\"custom\":(function(Be,dt,St){let Nt=Be.context,$t=St.implementation;if(Be.renderPass===\"offscreen\"){let Tr=$t.prerender;Tr&&(Be.setCustomLayerDefaults(),Nt.setColorMode(Be.colorModeForRenderPass()),Tr.call($t,Nt.gl,Be.transform.customLayerMatrix()),Nt.setDirty(),Be.setBaseState())}else if(Be.renderPass===\"translucent\"){Be.setCustomLayerDefaults(),Nt.setColorMode(Be.colorModeForRenderPass()),Nt.setStencilMode(Es.disabled);let Tr=$t.renderingMode===\"3d\"?new ns(Be.context.gl.LEQUAL,ns.ReadWrite,Be.depthRangeFor3D):Be.depthModeForSublayer(0,ns.ReadOnly);Nt.setDepthMode(Tr),$t.render(Nt.gl,Be.transform.customLayerMatrix(),{farZ:Be.transform.farZ,nearZ:Be.transform.nearZ,fov:Be.transform._fov,modelViewProjectionMatrix:Be.transform.modelViewProjectionMatrix,projectionMatrix:Be.transform.projectionMatrix}),Nt.setDirty(),Be.setBaseState(),Nt.bindFramebuffer.set(null)}})(I,0,we)}}translatePosMatrix(I,ie,we,Se,Be){if(!we[0]&&!we[1])return I;let dt=Be?Se===\"map\"?this.transform.angle:0:Se===\"viewport\"?-this.transform.angle:0;if(dt){let $t=Math.sin(dt),Tr=Math.cos(dt);we=[we[0]*Tr-we[1]*$t,we[0]*$t+we[1]*Tr]}let St=[Be?we[0]:Da(ie,we[0],this.transform.zoom),Be?we[1]:Da(ie,we[1],this.transform.zoom),0],Nt=new Float32Array(16);return t.J(Nt,I,St),Nt}saveTileTexture(I){let ie=this._tileTextures[I.size[0]];ie?ie.push(I):this._tileTextures[I.size[0]]=[I]}getTileTexture(I){let ie=this._tileTextures[I];return ie&&ie.length>0?ie.pop():null}isPatternMissing(I){if(!I)return!1;if(!I.from||!I.to)return!0;let ie=this.imageManager.getPattern(I.from.toString()),we=this.imageManager.getPattern(I.to.toString());return!ie||!we}useProgram(I,ie){this.cache=this.cache||{};let we=I+(ie?ie.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[we]||(this.cache[we]=new ba(this.context,Hr[I],ie,Ks[I],this._showOverdrawInspector,this.style.map.terrain)),this.cache[we]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let I=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(I.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new u(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:I,drawingBufferHeight:ie}=this.context.gl;return this.width!==I||this.height!==ie}}class ol{constructor(I,ie){this.points=I,this.planes=ie}static fromInvProjectionMatrix(I,ie,we){let Se=Math.pow(2,we),Be=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(St=>{let Nt=1/(St=t.af([],St,I))[3]/ie*Se;return t.b1(St,St,[Nt,Nt,1/St[3],Nt])}),dt=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(St=>{let Nt=function(Kr,na){var He=na[0],Je=na[1],lt=na[2],vt=He*He+Je*Je+lt*lt;return vt>0&&(vt=1/Math.sqrt(vt)),Kr[0]=na[0]*vt,Kr[1]=na[1]*vt,Kr[2]=na[2]*vt,Kr}([],function(Kr,na,He){var Je=na[0],lt=na[1],vt=na[2],Lt=He[0],At=He[1],zt=He[2];return Kr[0]=lt*zt-vt*At,Kr[1]=vt*Lt-Je*zt,Kr[2]=Je*At-lt*Lt,Kr}([],M([],Be[St[0]],Be[St[1]]),M([],Be[St[2]],Be[St[1]]))),$t=-((Tr=Nt)[0]*(Ar=Be[St[1]])[0]+Tr[1]*Ar[1]+Tr[2]*Ar[2]);var Tr,Ar;return Nt.concat($t)});return new ol(Be,dt)}}class vc{constructor(I,ie){this.min=I,this.max=ie,this.center=function(we,Se,Be){return we[0]=.5*Se[0],we[1]=.5*Se[1],we[2]=.5*Se[2],we}([],function(we,Se,Be){return we[0]=Se[0]+Be[0],we[1]=Se[1]+Be[1],we[2]=Se[2]+Be[2],we}([],this.min,this.max))}quadrant(I){let ie=[I%2==0,I<2],we=w(this.min),Se=w(this.max);for(let Be=0;Be=0&&dt++;if(dt===0)return 0;dt!==ie.length&&(we=!1)}if(we)return 2;for(let Se=0;Se<3;Se++){let Be=Number.MAX_VALUE,dt=-Number.MAX_VALUE;for(let St=0;Stthis.max[Se]-this.min[Se])return 0}return 1}}class yu{constructor(I=0,ie=0,we=0,Se=0){if(isNaN(I)||I<0||isNaN(ie)||ie<0||isNaN(we)||we<0||isNaN(Se)||Se<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=I,this.bottom=ie,this.left=we,this.right=Se}interpolate(I,ie,we){return ie.top!=null&&I.top!=null&&(this.top=t.y.number(I.top,ie.top,we)),ie.bottom!=null&&I.bottom!=null&&(this.bottom=t.y.number(I.bottom,ie.bottom,we)),ie.left!=null&&I.left!=null&&(this.left=t.y.number(I.left,ie.left,we)),ie.right!=null&&I.right!=null&&(this.right=t.y.number(I.right,ie.right,we)),this}getCenter(I,ie){let we=t.ac((this.left+I-this.right)/2,0,I),Se=t.ac((this.top+ie-this.bottom)/2,0,ie);return new t.P(we,Se)}equals(I){return this.top===I.top&&this.bottom===I.bottom&&this.left===I.left&&this.right===I.right}clone(){return new yu(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let Tu=85.051129;class El{constructor(I,ie,we,Se,Be){this.tileSize=512,this._renderWorldCopies=Be===void 0||!!Be,this._minZoom=I||0,this._maxZoom=ie||22,this._minPitch=we??0,this._maxPitch=Se??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new yu,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let I=new El(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return I.apply(this),I}apply(I){this.tileSize=I.tileSize,this.latRange=I.latRange,this.lngRange=I.lngRange,this.width=I.width,this.height=I.height,this._center=I._center,this._elevation=I._elevation,this.minElevationForCurrentTile=I.minElevationForCurrentTile,this.zoom=I.zoom,this.angle=I.angle,this._fov=I._fov,this._pitch=I._pitch,this._unmodified=I._unmodified,this._edgeInsets=I._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(I){this._minZoom!==I&&(this._minZoom=I,this.zoom=Math.max(this.zoom,I))}get maxZoom(){return this._maxZoom}set maxZoom(I){this._maxZoom!==I&&(this._maxZoom=I,this.zoom=Math.min(this.zoom,I))}get minPitch(){return this._minPitch}set minPitch(I){this._minPitch!==I&&(this._minPitch=I,this.pitch=Math.max(this.pitch,I))}get maxPitch(){return this._maxPitch}set maxPitch(I){this._maxPitch!==I&&(this._maxPitch=I,this.pitch=Math.min(this.pitch,I))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(I){I===void 0?I=!0:I===null&&(I=!1),this._renderWorldCopies=I}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(I){let ie=-t.b3(I,-180,180)*Math.PI/180;this.angle!==ie&&(this._unmodified=!1,this.angle=ie,this._calcMatrices(),this.rotationMatrix=function(){var we=new t.A(4);return t.A!=Float32Array&&(we[1]=0,we[2]=0),we[0]=1,we[3]=1,we}(),function(we,Se,Be){var dt=Se[0],St=Se[1],Nt=Se[2],$t=Se[3],Tr=Math.sin(Be),Ar=Math.cos(Be);we[0]=dt*Ar+Nt*Tr,we[1]=St*Ar+$t*Tr,we[2]=dt*-Tr+Nt*Ar,we[3]=St*-Tr+$t*Ar}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(I){let ie=t.ac(I,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==ie&&(this._unmodified=!1,this._pitch=ie,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(I){I=Math.max(.01,Math.min(60,I)),this._fov!==I&&(this._unmodified=!1,this._fov=I/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(I){let ie=Math.min(Math.max(I,this.minZoom),this.maxZoom);this._zoom!==ie&&(this._unmodified=!1,this._zoom=ie,this.tileZoom=Math.max(0,Math.floor(ie)),this.scale=this.zoomScale(ie),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(I){I.lat===this._center.lat&&I.lng===this._center.lng||(this._unmodified=!1,this._center=I,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(I){I!==this._elevation&&(this._elevation=I,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(I){this._edgeInsets.equals(I)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,I,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(I){return this._edgeInsets.equals(I)}interpolatePadding(I,ie,we){this._unmodified=!1,this._edgeInsets.interpolate(I,ie,we),this._constrain(),this._calcMatrices()}coveringZoomLevel(I){let ie=(I.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/I.tileSize));return Math.max(0,ie)}getVisibleUnwrappedCoordinates(I){let ie=[new t.b4(0,I)];if(this._renderWorldCopies){let we=this.pointCoordinate(new t.P(0,0)),Se=this.pointCoordinate(new t.P(this.width,0)),Be=this.pointCoordinate(new t.P(this.width,this.height)),dt=this.pointCoordinate(new t.P(0,this.height)),St=Math.floor(Math.min(we.x,Se.x,Be.x,dt.x)),Nt=Math.floor(Math.max(we.x,Se.x,Be.x,dt.x)),$t=1;for(let Tr=St-$t;Tr<=Nt+$t;Tr++)Tr!==0&&ie.push(new t.b4(Tr,I))}return ie}coveringTiles(I){var ie,we;let Se=this.coveringZoomLevel(I),Be=Se;if(I.minzoom!==void 0&&SeI.maxzoom&&(Se=I.maxzoom);let dt=this.pointCoordinate(this.getCameraPoint()),St=t.Z.fromLngLat(this.center),Nt=Math.pow(2,Se),$t=[Nt*dt.x,Nt*dt.y,0],Tr=[Nt*St.x,Nt*St.y,0],Ar=ol.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,Se),Kr=I.minzoom||0;!I.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(Kr=Se);let na=I.terrain?2/Math.min(this.tileSize,I.tileSize)*this.tileSize:3,He=At=>({aabb:new vc([At*Nt,0,0],[(At+1)*Nt,Nt,0]),zoom:0,x:0,y:0,wrap:At,fullyVisible:!1}),Je=[],lt=[],vt=Se,Lt=I.reparseOverscaled?Be:Se;if(this._renderWorldCopies)for(let At=1;At<=3;At++)Je.push(He(-At)),Je.push(He(At));for(Je.push(He(0));Je.length>0;){let At=Je.pop(),zt=At.x,cr=At.y,yr=At.fullyVisible;if(!yr){let Aa=At.aabb.intersects(Ar);if(Aa===0)continue;yr=Aa===2}let Er=I.terrain?$t:Tr,jr=At.aabb.distanceX(Er),Qr=At.aabb.distanceY(Er),pa=Math.max(Math.abs(jr),Math.abs(Qr));if(At.zoom===vt||pa>na+(1<=Kr){let Aa=vt-At.zoom,za=$t[0]-.5-(zt<>1),Vi=At.zoom+1,ji=At.aabb.quadrant(Aa);if(I.terrain){let nn=new t.S(Vi,At.wrap,Vi,za,ci),Sn=I.terrain.getMinMaxElevation(nn),Kn=(ie=Sn.minElevation)!==null&&ie!==void 0?ie:this.elevation,Bn=(we=Sn.maxElevation)!==null&&we!==void 0?we:this.elevation;ji=new vc([ji.min[0],ji.min[1],Kn],[ji.max[0],ji.max[1],Bn])}Je.push({aabb:ji,zoom:Vi,x:za,y:ci,wrap:At.wrap,fullyVisible:yr})}}return lt.sort((At,zt)=>At.distanceSq-zt.distanceSq).map(At=>At.tileID)}resize(I,ie){this.width=I,this.height=ie,this.pixelsToGLUnits=[2/I,-2/ie],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(I){return Math.pow(2,I)}scaleZoom(I){return Math.log(I)/Math.LN2}project(I){let ie=t.ac(I.lat,-85.051129,Tu);return new t.P(t.O(I.lng)*this.worldSize,t.Q(ie)*this.worldSize)}unproject(I){return new t.Z(I.x/this.worldSize,I.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(I){let ie=this.elevation,we=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,Se=this.pointLocation(this.centerPoint,I),Be=I.getElevationForLngLatZoom(Se,this.tileZoom);if(!(this.elevation-Be))return;let dt=we+ie-Be,St=Math.cos(this._pitch)*this.cameraToCenterDistance/dt/t.b5(1,Se.lat),Nt=this.scaleZoom(St/this.tileSize);this._elevation=Be,this._center=Se,this.zoom=Nt}setLocationAtPoint(I,ie){let we=this.pointCoordinate(ie),Se=this.pointCoordinate(this.centerPoint),Be=this.locationCoordinate(I),dt=new t.Z(Be.x-(we.x-Se.x),Be.y-(we.y-Se.y));this.center=this.coordinateLocation(dt),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(I,ie){return ie?this.coordinatePoint(this.locationCoordinate(I),ie.getElevationForLngLatZoom(I,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(I))}pointLocation(I,ie){return this.coordinateLocation(this.pointCoordinate(I,ie))}locationCoordinate(I){return t.Z.fromLngLat(I)}coordinateLocation(I){return I&&I.toLngLat()}pointCoordinate(I,ie){if(ie){let Kr=ie.pointCoordinate(I);if(Kr!=null)return Kr}let we=[I.x,I.y,0,1],Se=[I.x,I.y,1,1];t.af(we,we,this.pixelMatrixInverse),t.af(Se,Se,this.pixelMatrixInverse);let Be=we[3],dt=Se[3],St=we[1]/Be,Nt=Se[1]/dt,$t=we[2]/Be,Tr=Se[2]/dt,Ar=$t===Tr?0:(0-$t)/(Tr-$t);return new t.Z(t.y.number(we[0]/Be,Se[0]/dt,Ar)/this.worldSize,t.y.number(St,Nt,Ar)/this.worldSize)}coordinatePoint(I,ie=0,we=this.pixelMatrix){let Se=[I.x*this.worldSize,I.y*this.worldSize,ie,1];return t.af(Se,Se,we),new t.P(Se[0]/Se[3],Se[1]/Se[3])}getBounds(){let I=Math.max(0,this.height/2-this.getHorizon());return new re().extend(this.pointLocation(new t.P(0,I))).extend(this.pointLocation(new t.P(this.width,I))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new re([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(I){I?(this.lngRange=[I.getWest(),I.getEast()],this.latRange=[I.getSouth(),I.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Tu])}calculateTileMatrix(I){let ie=I.canonical,we=this.worldSize/this.zoomScale(ie.z),Se=ie.x+Math.pow(2,ie.z)*I.wrap,Be=t.an(new Float64Array(16));return t.J(Be,Be,[Se*we,ie.y*we,0]),t.K(Be,Be,[we/t.X,we/t.X,1]),Be}calculatePosMatrix(I,ie=!1){let we=I.key,Se=ie?this._alignedPosMatrixCache:this._posMatrixCache;if(Se[we])return Se[we];let Be=this.calculateTileMatrix(I);return t.L(Be,ie?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,Be),Se[we]=new Float32Array(Be),Se[we]}calculateFogMatrix(I){let ie=I.key,we=this._fogMatrixCache;if(we[ie])return we[ie];let Se=this.calculateTileMatrix(I);return t.L(Se,this.fogMatrix,Se),we[ie]=new Float32Array(Se),we[ie]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(I,ie){ie=t.ac(+ie,this.minZoom,this.maxZoom);let we={center:new t.N(I.lng,I.lat),zoom:ie},Se=this.lngRange;if(!this._renderWorldCopies&&Se===null){let At=179.9999999999;Se=[-At,At]}let Be=this.tileSize*this.zoomScale(we.zoom),dt=0,St=Be,Nt=0,$t=Be,Tr=0,Ar=0,{x:Kr,y:na}=this.size;if(this.latRange){let At=this.latRange;dt=t.Q(At[1])*Be,St=t.Q(At[0])*Be,St-dtSt&&(vt=St-At)}if(Se){let At=(Nt+$t)/2,zt=He;this._renderWorldCopies&&(zt=t.b3(He,At-Be/2,At+Be/2));let cr=Kr/2;zt-cr$t&&(lt=$t-cr)}if(lt!==void 0||vt!==void 0){let At=new t.P(lt??He,vt??Je);we.center=this.unproject.call({worldSize:Be},At).wrap()}return we}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let I=this._unmodified,{center:ie,zoom:we}=this.getConstrained(this.center,this.zoom);this.center=ie,this.zoom=we,this._unmodified=I,this._constraining=!1}_calcMatrices(){if(!this.height)return;let I=this.centerOffset,ie=this.point.x,we=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b5(1,this.center.lat)*this.worldSize;let Se=t.an(new Float64Array(16));t.K(Se,Se,[this.width/2,-this.height/2,1]),t.J(Se,Se,[1,-1,0]),this.labelPlaneMatrix=Se,Se=t.an(new Float64Array(16)),t.K(Se,Se,[1,-1,1]),t.J(Se,Se,[-1,-1,0]),t.K(Se,Se,[2/this.width,2/this.height,1]),this.glCoordMatrix=Se;let Be=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),dt=Math.min(this.elevation,this.minElevationForCurrentTile),St=Be-dt*this._pixelPerMeter/Math.cos(this._pitch),Nt=dt<0?St:Be,$t=Math.PI/2+this._pitch,Tr=this._fov*(.5+I.y/this.height),Ar=Math.sin(Tr)*Nt/Math.sin(t.ac(Math.PI-$t-Tr,.01,Math.PI-.01)),Kr=this.getHorizon(),na=2*Math.atan(Kr/this.cameraToCenterDistance)*(.5+I.y/(2*Kr)),He=Math.sin(na)*Nt/Math.sin(t.ac(Math.PI-$t-na,.01,Math.PI-.01)),Je=Math.min(Ar,He);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*Je+Nt),this.nearZ=this.height/50,Se=new Float64Array(16),t.b6(Se,this._fov,this.width/this.height,this.nearZ,this.farZ),Se[8]=2*-I.x/this.width,Se[9]=2*I.y/this.height,this.projectionMatrix=t.ae(Se),t.K(Se,Se,[1,-1,1]),t.J(Se,Se,[0,0,-this.cameraToCenterDistance]),t.b7(Se,Se,this._pitch),t.ad(Se,Se,this.angle),t.J(Se,Se,[-ie,-we,0]),this.mercatorMatrix=t.K([],Se,[this.worldSize,this.worldSize,this.worldSize]),t.K(Se,Se,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.L(new Float64Array(16),this.labelPlaneMatrix,Se),t.J(Se,Se,[0,0,-this.elevation]),this.modelViewProjectionMatrix=Se,this.invModelViewProjectionMatrix=t.as([],Se),this.fogMatrix=new Float64Array(16),t.b6(this.fogMatrix,this._fov,this.width/this.height,Be,this.farZ),this.fogMatrix[8]=2*-I.x/this.width,this.fogMatrix[9]=2*I.y/this.height,t.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),t.b7(this.fogMatrix,this.fogMatrix,this._pitch),t.ad(this.fogMatrix,this.fogMatrix,this.angle),t.J(this.fogMatrix,this.fogMatrix,[-ie,-we,0]),t.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=t.L(new Float64Array(16),this.labelPlaneMatrix,Se);let lt=this.width%2/2,vt=this.height%2/2,Lt=Math.cos(this.angle),At=Math.sin(this.angle),zt=ie-Math.round(ie)+Lt*lt+At*vt,cr=we-Math.round(we)+Lt*vt+At*lt,yr=new Float64Array(Se);if(t.J(yr,yr,[zt>.5?zt-1:zt,cr>.5?cr-1:cr,0]),this.alignedModelViewProjectionMatrix=yr,Se=t.as(new Float64Array(16),this.pixelMatrix),!Se)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Se,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let I=this.pointCoordinate(new t.P(0,0)),ie=[I.x*this.worldSize,I.y*this.worldSize,0,1];return t.af(ie,ie,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let I=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,I))}getCameraQueryGeometry(I){let ie=this.getCameraPoint();if(I.length===1)return[I[0],ie];{let we=ie.x,Se=ie.y,Be=ie.x,dt=ie.y;for(let St of I)we=Math.min(we,St.x),Se=Math.min(Se,St.y),Be=Math.max(Be,St.x),dt=Math.max(dt,St.y);return[new t.P(we,Se),new t.P(Be,Se),new t.P(Be,dt),new t.P(we,dt),new t.P(we,Se)]}}lngLatToCameraDepth(I,ie){let we=this.locationCoordinate(I),Se=[we.x*this.worldSize,we.y*this.worldSize,ie,1];return t.af(Se,Se,this.modelViewProjectionMatrix),Se[2]/Se[3]}}function qf(Ue,I){let ie,we=!1,Se=null,Be=null,dt=()=>{Se=null,we&&(Ue.apply(Be,ie),Se=setTimeout(dt,I),we=!1)};return(...St)=>(we=!0,Be=this,ie=St,Se||dt(),Se)}class Qf{constructor(I){this._getCurrentHash=()=>{let ie=window.location.hash.replace(\"#\",\"\");if(this._hashName){let we;return ie.split(\"&\").map(Se=>Se.split(\"=\")).forEach(Se=>{Se[0]===this._hashName&&(we=Se)}),(we&&we[1]||\"\").split(\"/\")}return ie.split(\"/\")},this._onHashChange=()=>{let ie=this._getCurrentHash();if(ie.length>=3&&!ie.some(we=>isNaN(we))){let we=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(ie[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+ie[2],+ie[1]],zoom:+ie[0],bearing:we,pitch:+(ie[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let ie=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,ie)},this._removeHash=()=>{let ie=this._getCurrentHash();if(ie.length===0)return;let we=ie.join(\"/\"),Se=we;Se.split(\"&\").length>0&&(Se=Se.split(\"&\")[0]),this._hashName&&(Se=`${this._hashName}=${we}`);let Be=window.location.hash.replace(Se,\"\");Be.startsWith(\"#&\")?Be=Be.slice(0,1)+Be.slice(2):Be===\"#\"&&(Be=\"\");let dt=window.location.href.replace(/(#.+)?$/,Be);dt=dt.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,dt)},this._updateHash=qf(this._updateHashUnthrottled,300),this._hashName=I&&encodeURIComponent(I)}addTo(I){return this._map=I,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(I){let ie=this._map.getCenter(),we=Math.round(100*this._map.getZoom())/100,Se=Math.ceil((we*Math.LN2+Math.log(512/360/.5))/Math.LN10),Be=Math.pow(10,Se),dt=Math.round(ie.lng*Be)/Be,St=Math.round(ie.lat*Be)/Be,Nt=this._map.getBearing(),$t=this._map.getPitch(),Tr=\"\";if(Tr+=I?`/${dt}/${St}/${we}`:`${we}/${St}/${dt}`,(Nt||$t)&&(Tr+=\"/\"+Math.round(10*Nt)/10),$t&&(Tr+=`/${Math.round($t)}`),this._hashName){let Ar=this._hashName,Kr=!1,na=window.location.hash.slice(1).split(\"&\").map(He=>{let Je=He.split(\"=\")[0];return Je===Ar?(Kr=!0,`${Je}=${Tr}`):He}).filter(He=>He);return Kr||na.push(`${Ar}=${Tr}`),`#${na.join(\"&\")}`}return`#${Tr}`}}let Bu={linearity:.3,easing:t.b8(0,0,.3,1)},Ec=t.e({deceleration:2500,maxSpeed:1400},Bu),mc=t.e({deceleration:20,maxSpeed:1400},Bu),Lh=t.e({deceleration:1e3,maxSpeed:360},Bu),sf=t.e({deceleration:1e3,maxSpeed:90},Bu);class vf{constructor(I){this._map=I,this.clear()}clear(){this._inertiaBuffer=[]}record(I){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.now(),settings:I})}_drainInertiaBuffer(){let I=this._inertiaBuffer,ie=n.now();for(;I.length>0&&ie-I[0].time>160;)I.shift()}_onMoveEnd(I){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let ie={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:Be}of this._inertiaBuffer)ie.zoom+=Be.zoomDelta||0,ie.bearing+=Be.bearingDelta||0,ie.pitch+=Be.pitchDelta||0,Be.panDelta&&ie.pan._add(Be.panDelta),Be.around&&(ie.around=Be.around),Be.pinchAround&&(ie.pinchAround=Be.pinchAround);let we=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,Se={};if(ie.pan.mag()){let Be=lf(ie.pan.mag(),we,t.e({},Ec,I||{}));Se.offset=ie.pan.mult(Be.amount/ie.pan.mag()),Se.center=this._map.transform.center,Nu(Se,Be)}if(ie.zoom){let Be=lf(ie.zoom,we,mc);Se.zoom=this._map.transform.zoom+Be.amount,Nu(Se,Be)}if(ie.bearing){let Be=lf(ie.bearing,we,Lh);Se.bearing=this._map.transform.bearing+t.ac(Be.amount,-179,179),Nu(Se,Be)}if(ie.pitch){let Be=lf(ie.pitch,we,sf);Se.pitch=this._map.transform.pitch+Be.amount,Nu(Se,Be)}if(Se.zoom||Se.bearing){let Be=ie.pinchAround===void 0?ie.around:ie.pinchAround;Se.around=Be?this._map.unproject(Be):this._map.getCenter()}return this.clear(),t.e(Se,{noMoveStart:!0})}}function Nu(Ue,I){(!Ue.duration||Ue.durationie.unproject(Nt)),St=Be.reduce((Nt,$t,Tr,Ar)=>Nt.add($t.div(Ar.length)),new t.P(0,0));super(I,{points:Be,point:St,lngLats:dt,lngLat:ie.unproject(St),originalEvent:we}),this._defaultPrevented=!1}}class hh extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(I,ie,we){super(I,{originalEvent:we}),this._defaultPrevented=!1}}class mf{constructor(I,ie){this._map=I,this._clickTolerance=ie.clickTolerance}reset(){delete this._mousedownPos}wheel(I){return this._firePreventable(new hh(I.type,this._map,I))}mousedown(I,ie){return this._mousedownPos=ie,this._firePreventable(new au(I.type,this._map,I))}mouseup(I){this._map.fire(new au(I.type,this._map,I))}click(I,ie){this._mousedownPos&&this._mousedownPos.dist(ie)>=this._clickTolerance||this._map.fire(new au(I.type,this._map,I))}dblclick(I){return this._firePreventable(new au(I.type,this._map,I))}mouseover(I){this._map.fire(new au(I.type,this._map,I))}mouseout(I){this._map.fire(new au(I.type,this._map,I))}touchstart(I){return this._firePreventable(new Yc(I.type,this._map,I))}touchmove(I){this._map.fire(new Yc(I.type,this._map,I))}touchend(I){this._map.fire(new Yc(I.type,this._map,I))}touchcancel(I){this._map.fire(new Yc(I.type,this._map,I))}_firePreventable(I){if(this._map.fire(I),I.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class sl{constructor(I){this._map=I}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(I){this._map.fire(new au(I.type,this._map,I))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new au(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(I){this._delayContextMenu?this._contextMenuEvent=I:this._ignoreContextMenu||this._map.fire(new au(I.type,this._map,I)),this._map.listens(\"contextmenu\")&&I.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(I){this._map=I}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(I){return this.transform.pointLocation(t.P.convert(I),this._map.terrain)}}class Pu{constructor(I,ie){this._map=I,this._tr=new _u(I),this._el=I.getCanvasContainer(),this._container=I.getContainer(),this._clickTolerance=ie.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(I,ie){this.isEnabled()&&I.shiftKey&&I.button===0&&(i.disableDrag(),this._startPos=this._lastPos=ie,this._active=!0)}mousemoveWindow(I,ie){if(!this._active)return;let we=ie;if(this._lastPos.equals(we)||!this._box&&we.dist(this._startPos)Be.fitScreenCoordinates(we,Se,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",I)}keydown(I){this._active&&I.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",I))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(I,ie){return this._map.fire(new t.k(I,{originalEvent:ie}))}}function Cf(Ue,I){if(Ue.length!==I.length)throw new Error(`The number of touches and points are not equal - touches ${Ue.length}, points ${I.length}`);let ie={};for(let we=0;wethis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=I.timeStamp),we.length===this.numTouches&&(this.centroid=function(Se){let Be=new t.P(0,0);for(let dt of Se)Be._add(dt);return Be.div(Se.length)}(ie),this.touches=Cf(we,ie)))}touchmove(I,ie,we){if(this.aborted||!this.centroid)return;let Se=Cf(we,ie);for(let Be in this.touches){let dt=Se[Be];(!dt||dt.dist(this.touches[Be])>30)&&(this.aborted=!0)}}touchend(I,ie,we){if((!this.centroid||I.timeStamp-this.startTime>500)&&(this.aborted=!0),we.length===0){let Se=!this.aborted&&this.centroid;if(this.reset(),Se)return Se}}}class uf{constructor(I){this.singleTap=new hl(I),this.numTaps=I.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(I,ie,we){this.singleTap.touchstart(I,ie,we)}touchmove(I,ie,we){this.singleTap.touchmove(I,ie,we)}touchend(I,ie,we){let Se=this.singleTap.touchend(I,ie,we);if(Se){let Be=I.timeStamp-this.lastTime<500,dt=!this.lastTap||this.lastTap.dist(Se)<30;if(Be&&dt||this.reset(),this.count++,this.lastTime=I.timeStamp,this.lastTap=Se,this.count===this.numTaps)return this.reset(),Se}}}class kc{constructor(I){this._tr=new _u(I),this._zoomIn=new uf({numTouches:1,numTaps:2}),this._zoomOut=new uf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(I,ie,we){this._zoomIn.touchstart(I,ie,we),this._zoomOut.touchstart(I,ie,we)}touchmove(I,ie,we){this._zoomIn.touchmove(I,ie,we),this._zoomOut.touchmove(I,ie,we)}touchend(I,ie,we){let Se=this._zoomIn.touchend(I,ie,we),Be=this._zoomOut.touchend(I,ie,we),dt=this._tr;return Se?(this._active=!0,I.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:St=>St.easeTo({duration:300,zoom:dt.zoom+1,around:dt.unproject(Se)},{originalEvent:I})}):Be?(this._active=!0,I.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:St=>St.easeTo({duration:300,zoom:dt.zoom-1,around:dt.unproject(Be)},{originalEvent:I})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Hu{constructor(I){this._enabled=!!I.enable,this._moveStateManager=I.moveStateManager,this._clickTolerance=I.clickTolerance||1,this._moveFunction=I.move,this._activateOnStart=!!I.activateOnStart,I.assignEvents(this),this.reset()}reset(I){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(I)}_move(...I){let ie=this._moveFunction(...I);if(ie.bearingDelta||ie.pitchDelta||ie.around||ie.panDelta)return this._active=!0,ie}dragStart(I,ie){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(I)&&(this._moveStateManager.startMove(I),this._lastPoint=ie.length?ie[0]:ie,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(I,ie){if(!this.isEnabled())return;let we=this._lastPoint;if(!we)return;if(I.preventDefault(),!this._moveStateManager.isValidMoveEvent(I))return void this.reset(I);let Se=ie.length?ie[0]:ie;return!this._moved&&Se.dist(we){Ue.mousedown=Ue.dragStart,Ue.mousemoveWindow=Ue.dragMove,Ue.mouseup=Ue.dragEnd,Ue.contextmenu=I=>{I.preventDefault()}},iu=({enable:Ue,clickTolerance:I,bearingDegreesPerPixelMoved:ie=.8})=>{let we=new Wu({checkCorrectEvent:Se=>i.mouseButton(Se)===0&&Se.ctrlKey||i.mouseButton(Se)===2});return new Hu({clickTolerance:I,move:(Se,Be)=>({bearingDelta:(Be.x-Se.x)*ie}),moveStateManager:we,enable:Ue,assignEvents:Lf})},Vf=({enable:Ue,clickTolerance:I,pitchDegreesPerPixelMoved:ie=-.5})=>{let we=new Wu({checkCorrectEvent:Se=>i.mouseButton(Se)===0&&Se.ctrlKey||i.mouseButton(Se)===2});return new Hu({clickTolerance:I,move:(Se,Be)=>({pitchDelta:(Be.y-Se.y)*ie}),moveStateManager:we,enable:Ue,assignEvents:Lf})};class Xu{constructor(I,ie){this._clickTolerance=I.clickTolerance||1,this._map=ie,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(I){return I<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(I,ie,we){return this._calculateTransform(I,ie,we)}touchmove(I,ie,we){if(this._active){if(!this._shouldBePrevented(we.length))return I.preventDefault(),this._calculateTransform(I,ie,we);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",I)}}touchend(I,ie,we){this._calculateTransform(I,ie,we),this._active&&this._shouldBePrevented(we.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(I,ie,we){we.length>0&&(this._active=!0);let Se=Cf(we,ie),Be=new t.P(0,0),dt=new t.P(0,0),St=0;for(let $t in Se){let Tr=Se[$t],Ar=this._touches[$t];Ar&&(Be._add(Tr),dt._add(Tr.sub(Ar)),St++,Se[$t]=Tr)}if(this._touches=Se,this._shouldBePrevented(St)||!dt.mag())return;let Nt=dt.div(St);return this._sum._add(Nt),this._sum.mag()Math.abs(Ue.x)}class Pc extends Cc{constructor(I){super(),this._currentTouchCount=0,this._map=I}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(I,ie,we){super.touchstart(I,ie,we),this._currentTouchCount=we.length}_start(I){this._lastPoints=I,sc(I[0].sub(I[1]))&&(this._valid=!1)}_move(I,ie,we){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let Se=I[0].sub(this._lastPoints[0]),Be=I[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(Se,Be,we.timeStamp),this._valid?(this._lastPoints=I,this._active=!0,{pitchDelta:(Se.y+Be.y)/2*-.5}):void 0}gestureBeginsVertically(I,ie,we){if(this._valid!==void 0)return this._valid;let Se=I.mag()>=2,Be=ie.mag()>=2;if(!Se&&!Be)return;if(!Se||!Be)return this._firstMove===void 0&&(this._firstMove=we),we-this._firstMove<100&&void 0;let dt=I.y>0==ie.y>0;return sc(I)&&sc(ie)&&dt}}let Qt={panStep:100,bearingStep:15,pitchStep:10};class br{constructor(I){this._tr=new _u(I);let ie=Qt;this._panStep=ie.panStep,this._bearingStep=ie.bearingStep,this._pitchStep=ie.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(I){if(I.altKey||I.ctrlKey||I.metaKey)return;let ie=0,we=0,Se=0,Be=0,dt=0;switch(I.keyCode){case 61:case 107:case 171:case 187:ie=1;break;case 189:case 109:case 173:ie=-1;break;case 37:I.shiftKey?we=-1:(I.preventDefault(),Be=-1);break;case 39:I.shiftKey?we=1:(I.preventDefault(),Be=1);break;case 38:I.shiftKey?Se=1:(I.preventDefault(),dt=-1);break;case 40:I.shiftKey?Se=-1:(I.preventDefault(),dt=1);break;default:return}return this._rotationDisabled&&(we=0,Se=0),{cameraAnimation:St=>{let Nt=this._tr;St.easeTo({duration:300,easeId:\"keyboardHandler\",easing:aa,zoom:ie?Math.round(Nt.zoom)+ie*(I.shiftKey?2:1):Nt.zoom,bearing:Nt.bearing+we*this._bearingStep,pitch:Nt.pitch+Se*this._pitchStep,offset:[-Be*this._panStep,-dt*this._panStep],center:Nt.center},{originalEvent:I})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function aa(Ue){return Ue*(2-Ue)}let $r=4.000244140625;class ka{constructor(I,ie){this._onTimeout=we=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(we)},this._map=I,this._tr=new _u(I),this._triggerRenderFrame=ie,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(I){this._defaultZoomRate=I}setWheelZoomRate(I){this._wheelZoomRate=I}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(I){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!I&&I.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(I){return!!this._map.cooperativeGestures.isEnabled()&&!(I.ctrlKey||this._map.cooperativeGestures.isBypassed(I))}wheel(I){if(!this.isEnabled())return;if(this._shouldBePrevented(I))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",I);let ie=I.deltaMode===WheelEvent.DOM_DELTA_LINE?40*I.deltaY:I.deltaY,we=n.now(),Se=we-(this._lastWheelEventTime||0);this._lastWheelEventTime=we,ie!==0&&ie%$r==0?this._type=\"wheel\":ie!==0&&Math.abs(ie)<4?this._type=\"trackpad\":Se>400?(this._type=null,this._lastValue=ie,this._timeout=setTimeout(this._onTimeout,40,I)):this._type||(this._type=Math.abs(Se*ie)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,ie+=this._lastValue)),I.shiftKey&&ie&&(ie/=4),this._type&&(this._lastWheelEvent=I,this._delta-=ie,this._active||this._start(I)),I.preventDefault()}_start(I){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let ie=i.mousePos(this._map.getCanvas(),I),we=this._tr;this._around=ie.y>we.transform.height/2-we.transform.getHorizon()?t.N.convert(this._aroundCenter?we.center:we.unproject(ie)):t.N.convert(we.center),this._aroundPoint=we.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let I=this._tr.transform;if(this._delta!==0){let Nt=this._type===\"wheel\"&&Math.abs(this._delta)>$r?this._wheelZoomRate:this._defaultZoomRate,$t=2/(1+Math.exp(-Math.abs(this._delta*Nt)));this._delta<0&&$t!==0&&($t=1/$t);let Tr=typeof this._targetZoom==\"number\"?I.zoomScale(this._targetZoom):I.scale;this._targetZoom=Math.min(I.maxZoom,Math.max(I.minZoom,I.scaleZoom(Tr*$t))),this._type===\"wheel\"&&(this._startZoom=I.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let ie=typeof this._targetZoom==\"number\"?this._targetZoom:I.zoom,we=this._startZoom,Se=this._easing,Be,dt=!1,St=n.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&we&&Se&&St){let Nt=Math.min(St/200,1),$t=Se(Nt);Be=t.y.number(we,ie,$t),Nt<1?this._frameId||(this._frameId=!0):dt=!0}else Be=ie,dt=!0;return this._active=!0,dt&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!dt,zoomDelta:Be-I.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(I){let ie=t.b9;if(this._prevEase){let we=this._prevEase,Se=(n.now()-we.start)/we.duration,Be=we.easing(Se+.01)-we.easing(Se),dt=.27/Math.sqrt(Be*Be+1e-4)*.01,St=Math.sqrt(.0729-dt*dt);ie=t.b8(dt,St,.25,1)}return this._prevEase={start:n.now(),duration:I,easing:ie},ie}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class li{constructor(I,ie){this._clickZoom=I,this._tapZoom=ie}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Ci{constructor(I){this._tr=new _u(I),this.reset()}reset(){this._active=!1}dblclick(I,ie){return I.preventDefault(),{cameraAnimation:we=>{we.easeTo({duration:300,zoom:this._tr.zoom+(I.shiftKey?-1:1),around:this._tr.unproject(ie)},{originalEvent:I})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Hi{constructor(){this._tap=new uf({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(I,ie,we){if(!this._swipePoint)if(this._tapTime){let Se=ie[0],Be=I.timeStamp-this._tapTime<500,dt=this._tapPoint.dist(Se)<30;Be&&dt?we.length>0&&(this._swipePoint=Se,this._swipeTouch=we[0].identifier):this.reset()}else this._tap.touchstart(I,ie,we)}touchmove(I,ie,we){if(this._tapTime){if(this._swipePoint){if(we[0].identifier!==this._swipeTouch)return;let Se=ie[0],Be=Se.y-this._swipePoint.y;return this._swipePoint=Se,I.preventDefault(),this._active=!0,{zoomDelta:Be/128}}}else this._tap.touchmove(I,ie,we)}touchend(I,ie,we){if(this._tapTime)this._swipePoint&&we.length===0&&this.reset();else{let Se=this._tap.touchend(I,ie,we);Se&&(this._tapTime=I.timeStamp,this._tapPoint=Se)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Qi{constructor(I,ie,we){this._el=I,this._mousePan=ie,this._touchPan=we}enable(I){this._inertiaOptions=I||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class dn{constructor(I,ie,we){this._pitchWithRotate=I.pitchWithRotate,this._mouseRotate=ie,this._mousePitch=we}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Pi{constructor(I,ie,we,Se){this._el=I,this._touchZoom=ie,this._touchRotate=we,this._tapDragZoom=Se,this._rotationDisabled=!1,this._enabled=!0}enable(I){this._touchZoom.enable(I),this._rotationDisabled||this._touchRotate.enable(I),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Di{constructor(I,ie){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=I,this._options=ie,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let I=this._map.getCanvasContainer();I.classList.add(\"maplibregl-cooperative-gestures\"),this._container=i.create(\"div\",\"maplibregl-cooperative-gesture-screen\",I);let ie=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(ie=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let we=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),Se=document.createElement(\"div\");Se.className=\"maplibregl-desktop-message\",Se.textContent=ie,this._container.appendChild(Se);let Be=document.createElement(\"div\");Be.className=\"maplibregl-mobile-message\",Be.textContent=we,this._container.appendChild(Be),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(i.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(I){return I[this._bypassKey]}notifyGestureBlocked(I,ie){this._enabled&&(this._map.fire(new t.k(\"cooperativegestureprevented\",{gestureType:I,originalEvent:ie})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ni=Ue=>Ue.zoom||Ue.drag||Ue.pitch||Ue.rotate;class mi extends t.k{}function Mn(Ue){return Ue.panDelta&&Ue.panDelta.mag()||Ue.zoomDelta||Ue.bearingDelta||Ue.pitchDelta}class Qn{constructor(I,ie){this.handleWindowEvent=Se=>{this.handleEvent(Se,`${Se.type}Window`)},this.handleEvent=(Se,Be)=>{if(Se.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let dt=Se.type===\"renderFrame\"?void 0:Se,St={needsRenderFrame:!1},Nt={},$t={},Tr=Se.touches,Ar=Tr?this._getMapTouches(Tr):void 0,Kr=Ar?i.touchPos(this._map.getCanvas(),Ar):i.mousePos(this._map.getCanvas(),Se);for(let{handlerName:Je,handler:lt,allowed:vt}of this._handlers){if(!lt.isEnabled())continue;let Lt;this._blockedByActive($t,vt,Je)?lt.reset():lt[Be||Se.type]&&(Lt=lt[Be||Se.type](Se,Kr,Ar),this.mergeHandlerResult(St,Nt,Lt,Je,dt),Lt&&Lt.needsRenderFrame&&this._triggerRenderFrame()),(Lt||lt.isActive())&&($t[Je]=lt)}let na={};for(let Je in this._previousActiveHandlers)$t[Je]||(na[Je]=dt);this._previousActiveHandlers=$t,(Object.keys(na).length||Mn(St))&&(this._changes.push([St,Nt,na]),this._triggerRenderFrame()),(Object.keys($t).length||Mn(St))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:He}=St;He&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],He(this._map))},this._map=I,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new vf(I),this._bearingSnap=ie.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(ie);let we=this._el;this._listeners=[[we,\"touchstart\",{passive:!0}],[we,\"touchmove\",{passive:!1}],[we,\"touchend\",void 0],[we,\"touchcancel\",void 0],[we,\"mousedown\",void 0],[we,\"mousemove\",void 0],[we,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[we,\"mouseover\",void 0],[we,\"mouseout\",void 0],[we,\"dblclick\",void 0],[we,\"click\",void 0],[we,\"keydown\",{capture:!1}],[we,\"keyup\",void 0],[we,\"wheel\",{passive:!1}],[we,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[Se,Be,dt]of this._listeners)i.addEventListener(Se,Be,Se===document?this.handleWindowEvent:this.handleEvent,dt)}destroy(){for(let[I,ie,we]of this._listeners)i.removeEventListener(I,ie,I===document?this.handleWindowEvent:this.handleEvent,we)}_addDefaultHandlers(I){let ie=this._map,we=ie.getCanvasContainer();this._add(\"mapEvent\",new mf(ie,I));let Se=ie.boxZoom=new Pu(ie,I);this._add(\"boxZoom\",Se),I.interactive&&I.boxZoom&&Se.enable();let Be=ie.cooperativeGestures=new Di(ie,I.cooperativeGestures);this._add(\"cooperativeGestures\",Be),I.cooperativeGestures&&Be.enable();let dt=new kc(ie),St=new Ci(ie);ie.doubleClickZoom=new li(St,dt),this._add(\"tapZoom\",dt),this._add(\"clickZoom\",St),I.interactive&&I.doubleClickZoom&&ie.doubleClickZoom.enable();let Nt=new Hi;this._add(\"tapDragZoom\",Nt);let $t=ie.touchPitch=new Pc(ie);this._add(\"touchPitch\",$t),I.interactive&&I.touchPitch&&ie.touchPitch.enable(I.touchPitch);let Tr=iu(I),Ar=Vf(I);ie.dragRotate=new dn(I,Tr,Ar),this._add(\"mouseRotate\",Tr,[\"mousePitch\"]),this._add(\"mousePitch\",Ar,[\"mouseRotate\"]),I.interactive&&I.dragRotate&&ie.dragRotate.enable();let Kr=(({enable:Lt,clickTolerance:At})=>{let zt=new Wu({checkCorrectEvent:cr=>i.mouseButton(cr)===0&&!cr.ctrlKey});return new Hu({clickTolerance:At,move:(cr,yr)=>({around:yr,panDelta:yr.sub(cr)}),activateOnStart:!0,moveStateManager:zt,enable:Lt,assignEvents:Lf})})(I),na=new Xu(I,ie);ie.dragPan=new Qi(we,Kr,na),this._add(\"mousePan\",Kr),this._add(\"touchPan\",na,[\"touchZoom\",\"touchRotate\"]),I.interactive&&I.dragPan&&ie.dragPan.enable(I.dragPan);let He=new Jc,Je=new xu;ie.touchZoomRotate=new Pi(we,Je,He,Nt),this._add(\"touchRotate\",He,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",Je,[\"touchPan\",\"touchRotate\"]),I.interactive&&I.touchZoomRotate&&ie.touchZoomRotate.enable(I.touchZoomRotate);let lt=ie.scrollZoom=new ka(ie,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",lt,[\"mousePan\"]),I.interactive&&I.scrollZoom&&ie.scrollZoom.enable(I.scrollZoom);let vt=ie.keyboard=new br(ie);this._add(\"keyboard\",vt),I.interactive&&I.keyboard&&ie.keyboard.enable(),this._add(\"blockableMapEvent\",new sl(ie))}_add(I,ie,we){this._handlers.push({handlerName:I,handler:ie,allowed:we}),this._handlersById[I]=ie}stop(I){if(!this._updatingCamera){for(let{handler:ie}of this._handlers)ie.reset();this._inertia.clear(),this._fireEvents({},{},I),this._changes=[]}}isActive(){for(let{handler:I}of this._handlers)if(I.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ni(this._eventsInProgress)||this.isZooming()}_blockedByActive(I,ie,we){for(let Se in I)if(Se!==we&&(!ie||ie.indexOf(Se)<0))return!0;return!1}_getMapTouches(I){let ie=[];for(let we of I)this._el.contains(we.target)&&ie.push(we);return ie}mergeHandlerResult(I,ie,we,Se,Be){if(!we)return;t.e(I,we);let dt={handlerName:Se,originalEvent:we.originalEvent||Be};we.zoomDelta!==void 0&&(ie.zoom=dt),we.panDelta!==void 0&&(ie.drag=dt),we.pitchDelta!==void 0&&(ie.pitch=dt),we.bearingDelta!==void 0&&(ie.rotate=dt)}_applyChanges(){let I={},ie={},we={};for(let[Se,Be,dt]of this._changes)Se.panDelta&&(I.panDelta=(I.panDelta||new t.P(0,0))._add(Se.panDelta)),Se.zoomDelta&&(I.zoomDelta=(I.zoomDelta||0)+Se.zoomDelta),Se.bearingDelta&&(I.bearingDelta=(I.bearingDelta||0)+Se.bearingDelta),Se.pitchDelta&&(I.pitchDelta=(I.pitchDelta||0)+Se.pitchDelta),Se.around!==void 0&&(I.around=Se.around),Se.pinchAround!==void 0&&(I.pinchAround=Se.pinchAround),Se.noInertia&&(I.noInertia=Se.noInertia),t.e(ie,Be),t.e(we,dt);this._updateMapTransform(I,ie,we),this._changes=[]}_updateMapTransform(I,ie,we){let Se=this._map,Be=Se._getTransformForUpdate(),dt=Se.terrain;if(!(Mn(I)||dt&&this._terrainMovement))return this._fireEvents(ie,we,!0);let{panDelta:St,zoomDelta:Nt,bearingDelta:$t,pitchDelta:Tr,around:Ar,pinchAround:Kr}=I;Kr!==void 0&&(Ar=Kr),Se._stop(!0),Ar=Ar||Se.transform.centerPoint;let na=Be.pointLocation(St?Ar.sub(St):Ar);$t&&(Be.bearing+=$t),Tr&&(Be.pitch+=Tr),Nt&&(Be.zoom+=Nt),dt?this._terrainMovement||!ie.drag&&!ie.zoom?ie.drag&&this._terrainMovement?Be.center=Be.pointLocation(Be.centerPoint.sub(St)):Be.setLocationAtPoint(na,Ar):(this._terrainMovement=!0,this._map._elevationFreeze=!0,Be.setLocationAtPoint(na,Ar)):Be.setLocationAtPoint(na,Ar),Se._applyUpdatedTransform(Be),this._map._update(),I.noInertia||this._inertia.record(I),this._fireEvents(ie,we,!0)}_fireEvents(I,ie,we){let Se=Ni(this._eventsInProgress),Be=Ni(I),dt={};for(let Ar in I){let{originalEvent:Kr}=I[Ar];this._eventsInProgress[Ar]||(dt[`${Ar}start`]=Kr),this._eventsInProgress[Ar]=I[Ar]}!Se&&Be&&this._fireEvent(\"movestart\",Be.originalEvent);for(let Ar in dt)this._fireEvent(Ar,dt[Ar]);Be&&this._fireEvent(\"move\",Be.originalEvent);for(let Ar in I){let{originalEvent:Kr}=I[Ar];this._fireEvent(Ar,Kr)}let St={},Nt;for(let Ar in this._eventsInProgress){let{handlerName:Kr,originalEvent:na}=this._eventsInProgress[Ar];this._handlersById[Kr].isActive()||(delete this._eventsInProgress[Ar],Nt=ie[Kr]||na,St[`${Ar}end`]=Nt)}for(let Ar in St)this._fireEvent(Ar,St[Ar]);let $t=Ni(this._eventsInProgress),Tr=(Se||Be)&&!$t;if(Tr&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Ar=this._map._getTransformForUpdate();Ar.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Ar)}if(we&&Tr){this._updatingCamera=!0;let Ar=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Kr=na=>na!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:I})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class ao extends t.E{constructor(I,ie){super(),this._renderFrameCallback=()=>{let we=Math.min((n.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(we)),we<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=I,this._bearingSnap=ie.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new t.N(this.transform.center.lng,this.transform.center.lat)}setCenter(I,ie){return this.jumpTo({center:I},ie)}panBy(I,ie,we){return I=t.P.convert(I).mult(-1),this.panTo(this.transform.center,t.e({offset:I},ie),we)}panTo(I,ie,we){return this.easeTo(t.e({center:I},ie),we)}getZoom(){return this.transform.zoom}setZoom(I,ie){return this.jumpTo({zoom:I},ie),this}zoomTo(I,ie,we){return this.easeTo(t.e({zoom:I},ie),we)}zoomIn(I,ie){return this.zoomTo(this.getZoom()+1,I,ie),this}zoomOut(I,ie){return this.zoomTo(this.getZoom()-1,I,ie),this}getBearing(){return this.transform.bearing}setBearing(I,ie){return this.jumpTo({bearing:I},ie),this}getPadding(){return this.transform.padding}setPadding(I,ie){return this.jumpTo({padding:I},ie),this}rotateTo(I,ie,we){return this.easeTo(t.e({bearing:I},ie),we)}resetNorth(I,ie){return this.rotateTo(0,t.e({duration:1e3},I),ie),this}resetNorthPitch(I,ie){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},I),ie),this}snapToNorth(I,ie){return Math.abs(this.getBearing()){if(this._zooming&&(Se.zoom=t.y.number(Be,lt,Er)),this._rotating&&(Se.bearing=t.y.number(dt,$t,Er)),this._pitching&&(Se.pitch=t.y.number(St,Tr,Er)),this._padding&&(Se.interpolatePadding(Nt,Ar,Er),na=Se.centerPoint.add(Kr)),this.terrain&&!I.freezeElevation&&this._updateElevation(Er),zt)Se.setLocationAtPoint(zt,cr);else{let jr=Se.zoomScale(Se.zoom-Be),Qr=lt>Be?Math.min(2,At):Math.max(.5,At),pa=Math.pow(Qr,1-Er),Aa=Se.unproject(vt.add(Lt.mult(Er*pa)).mult(jr));Se.setLocationAtPoint(Se.renderWorldCopies?Aa.wrap():Aa,na)}this._applyUpdatedTransform(Se),this._fireMoveEvents(ie)},Er=>{this.terrain&&I.freezeElevation&&this._finalizeElevation(),this._afterEase(ie,Er)},I),this}_prepareEase(I,ie,we={}){this._moving=!0,ie||we.moving||this.fire(new t.k(\"movestart\",I)),this._zooming&&!we.zooming&&this.fire(new t.k(\"zoomstart\",I)),this._rotating&&!we.rotating&&this.fire(new t.k(\"rotatestart\",I)),this._pitching&&!we.pitching&&this.fire(new t.k(\"pitchstart\",I))}_prepareElevation(I){this._elevationCenter=I,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(I,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(I){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let ie=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(I<1&&ie!==this._elevationTarget){let we=this._elevationTarget-this._elevationStart;this._elevationStart+=I*(we-(ie-(we*I+this._elevationStart))/(1-I)),this._elevationTarget=ie}this.transform.elevation=t.y.number(this._elevationStart,this._elevationTarget,I)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(I){let ie=I.getCameraPosition(),we=this.terrain.getElevationForLngLatZoom(ie.lngLat,I.zoom);if(ie.altitudethis._elevateCameraIfInsideTerrain(Se)),this.transformCameraUpdate&&ie.push(Se=>this.transformCameraUpdate(Se)),!ie.length)return;let we=I.clone();for(let Se of ie){let Be=we.clone(),{center:dt,zoom:St,pitch:Nt,bearing:$t,elevation:Tr}=Se(Be);dt&&(Be.center=dt),St!==void 0&&(Be.zoom=St),Nt!==void 0&&(Be.pitch=Nt),$t!==void 0&&(Be.bearing=$t),Tr!==void 0&&(Be.elevation=Tr),we.apply(Be)}this.transform.apply(we)}_fireMoveEvents(I){this.fire(new t.k(\"move\",I)),this._zooming&&this.fire(new t.k(\"zoom\",I)),this._rotating&&this.fire(new t.k(\"rotate\",I)),this._pitching&&this.fire(new t.k(\"pitch\",I))}_afterEase(I,ie){if(this._easeId&&ie&&this._easeId===ie)return;delete this._easeId;let we=this._zooming,Se=this._rotating,Be=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,we&&this.fire(new t.k(\"zoomend\",I)),Se&&this.fire(new t.k(\"rotateend\",I)),Be&&this.fire(new t.k(\"pitchend\",I)),this.fire(new t.k(\"moveend\",I))}flyTo(I,ie){var we;if(!I.essential&&n.prefersReducedMotion){let nn=t.M(I,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(nn,ie)}this.stop(),I=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b9},I);let Se=this._getTransformForUpdate(),Be=Se.zoom,dt=Se.bearing,St=Se.pitch,Nt=Se.padding,$t=\"bearing\"in I?this._normalizeBearing(I.bearing,dt):dt,Tr=\"pitch\"in I?+I.pitch:St,Ar=\"padding\"in I?I.padding:Se.padding,Kr=t.P.convert(I.offset),na=Se.centerPoint.add(Kr),He=Se.pointLocation(na),{center:Je,zoom:lt}=Se.getConstrained(t.N.convert(I.center||He),(we=I.zoom)!==null&&we!==void 0?we:Be);this._normalizeCenter(Je,Se);let vt=Se.zoomScale(lt-Be),Lt=Se.project(He),At=Se.project(Je).sub(Lt),zt=I.curve,cr=Math.max(Se.width,Se.height),yr=cr/vt,Er=At.mag();if(\"minZoom\"in I){let nn=t.ac(Math.min(I.minZoom,Be,lt),Se.minZoom,Se.maxZoom),Sn=cr/Se.zoomScale(nn-Be);zt=Math.sqrt(Sn/Er*2)}let jr=zt*zt;function Qr(nn){let Sn=(yr*yr-cr*cr+(nn?-1:1)*jr*jr*Er*Er)/(2*(nn?yr:cr)*jr*Er);return Math.log(Math.sqrt(Sn*Sn+1)-Sn)}function pa(nn){return(Math.exp(nn)-Math.exp(-nn))/2}function Aa(nn){return(Math.exp(nn)+Math.exp(-nn))/2}let za=Qr(!1),ci=function(nn){return Aa(za)/Aa(za+zt*nn)},Vi=function(nn){return cr*((Aa(za)*(pa(Sn=za+zt*nn)/Aa(Sn))-pa(za))/jr)/Er;var Sn},ji=(Qr(!0)-za)/zt;if(Math.abs(Er)<1e-6||!isFinite(ji)){if(Math.abs(cr-yr)<1e-6)return this.easeTo(I,ie);let nn=yr0,ci=Sn=>Math.exp(nn*zt*Sn)}return I.duration=\"duration\"in I?+I.duration:1e3*ji/(\"screenSpeed\"in I?+I.screenSpeed/zt:+I.speed),I.maxDuration&&I.duration>I.maxDuration&&(I.duration=0),this._zooming=!0,this._rotating=dt!==$t,this._pitching=Tr!==St,this._padding=!Se.isPaddingEqual(Ar),this._prepareEase(ie,!1),this.terrain&&this._prepareElevation(Je),this._ease(nn=>{let Sn=nn*ji,Kn=1/ci(Sn);Se.zoom=nn===1?lt:Be+Se.scaleZoom(Kn),this._rotating&&(Se.bearing=t.y.number(dt,$t,nn)),this._pitching&&(Se.pitch=t.y.number(St,Tr,nn)),this._padding&&(Se.interpolatePadding(Nt,Ar,nn),na=Se.centerPoint.add(Kr)),this.terrain&&!I.freezeElevation&&this._updateElevation(nn);let Bn=nn===1?Je:Se.unproject(Lt.add(At.mult(Vi(Sn))).mult(Kn));Se.setLocationAtPoint(Se.renderWorldCopies?Bn.wrap():Bn,na),this._applyUpdatedTransform(Se),this._fireMoveEvents(ie)},()=>{this.terrain&&I.freezeElevation&&this._finalizeElevation(),this._afterEase(ie)},I),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(I,ie){var we;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let Se=this._onEaseEnd;delete this._onEaseEnd,Se.call(this,ie)}return I||(we=this.handlers)===null||we===void 0||we.stop(!1),this}_ease(I,ie,we){we.animate===!1||we.duration===0?(I(1),ie()):(this._easeStart=n.now(),this._easeOptions=we,this._onEaseFrame=I,this._onEaseEnd=ie,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(I,ie){I=t.b3(I,-180,180);let we=Math.abs(I-ie);return Math.abs(I-360-ie)180?-360:we<-180?360:0}queryTerrainElevation(I){return this.terrain?this.terrain.getElevationForLngLatZoom(t.N.convert(I),this.transform.tileZoom)-this.transform.elevation:null}}let eo={compact:!0,customAttribution:'MapLibre'};class fo{constructor(I=eo){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=ie=>{!ie||ie.sourceDataType!==\"metadata\"&&ie.sourceDataType!==\"visibility\"&&ie.dataType!==\"style\"&&ie.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=I}getDefaultPosition(){return\"bottom-right\"}onAdd(I){return this._map=I,this._compact=this.options.compact,this._container=i.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=i.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=i.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){i.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(I,ie){let we=this._map._getUIString(`AttributionControl.${ie}`);I.title=we,I.setAttribute(\"aria-label\",we)}_updateAttributions(){if(!this._map.style)return;let I=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?I=I.concat(this.options.customAttribution.map(Se=>typeof Se!=\"string\"?\"\":Se)):typeof this.options.customAttribution==\"string\"&&I.push(this.options.customAttribution)),this._map.style.stylesheet){let Se=this._map.style.stylesheet;this.styleOwner=Se.owner,this.styleId=Se.id}let ie=this._map.style.sourceCaches;for(let Se in ie){let Be=ie[Se];if(Be.used||Be.usedForTerrain){let dt=Be.getSource();dt.attribution&&I.indexOf(dt.attribution)<0&&I.push(dt.attribution)}}I=I.filter(Se=>String(Se).trim()),I.sort((Se,Be)=>Se.length-Be.length),I=I.filter((Se,Be)=>{for(let dt=Be+1;dt=0)return!1;return!0});let we=I.join(\" | \");we!==this._attribHTML&&(this._attribHTML=we,I.length?(this._innerContainer.innerHTML=we,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class An{constructor(I={}){this._updateCompact=()=>{let ie=this._container.children;if(ie.length){let we=ie[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&we.classList.add(\"maplibregl-compact\"):we.classList.remove(\"maplibregl-compact\")}},this.options=I}getDefaultPosition(){return\"bottom-left\"}onAdd(I){this._map=I,this._compact=this.options&&this.options.compact,this._container=i.create(\"div\",\"maplibregl-ctrl\");let ie=i.create(\"a\",\"maplibregl-ctrl-logo\");return ie.target=\"_blank\",ie.rel=\"noopener nofollow\",ie.href=\"https://maplibre.org/\",ie.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),ie.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(ie),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){i.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class un{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(I){let ie=++this._id;return this._queue.push({callback:I,id:ie,cancelled:!1}),ie}remove(I){let ie=this._currentlyRunning,we=ie?this._queue.concat(ie):this._queue;for(let Se of we)if(Se.id===I)return void(Se.cancelled=!0)}run(I=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let ie=this._currentlyRunning=this._queue;this._queue=[];for(let we of ie)if(!we.cancelled&&(we.callback(I),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var yo=t.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class Ko extends t.E{constructor(I){super(),this.sourceCache=I,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,I.usedForTerrain=!0,I.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(I,ie){this.sourceCache.update(I,ie),this._renderableTilesKeys=[];let we={};for(let Se of I.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:ie}))we[Se.key]=!0,this._renderableTilesKeys.push(Se.key),this._tiles[Se.key]||(Se.posMatrix=new Float64Array(16),t.aP(Se.posMatrix,0,t.X,0,t.X,0,1),this._tiles[Se.key]=new ot(Se,this.tileSize));for(let Se in this._tiles)we[Se]||delete this._tiles[Se]}freeRtt(I){for(let ie in this._tiles){let we=this._tiles[ie];(!I||we.tileID.equals(I)||we.tileID.isChildOf(I)||I.isChildOf(we.tileID))&&(we.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(I=>this.getTileByID(I))}getTileByID(I){return this._tiles[I]}getTerrainCoords(I){let ie={};for(let we of this._renderableTilesKeys){let Se=this._tiles[we].tileID;if(Se.canonical.equals(I.canonical)){let Be=I.clone();Be.posMatrix=new Float64Array(16),t.aP(Be.posMatrix,0,t.X,0,t.X,0,1),ie[we]=Be}else if(Se.canonical.isChildOf(I.canonical)){let Be=I.clone();Be.posMatrix=new Float64Array(16);let dt=Se.canonical.z-I.canonical.z,St=Se.canonical.x-(Se.canonical.x>>dt<>dt<>dt;t.aP(Be.posMatrix,0,$t,0,$t,0,1),t.J(Be.posMatrix,Be.posMatrix,[-St*$t,-Nt*$t,0]),ie[we]=Be}else if(I.canonical.isChildOf(Se.canonical)){let Be=I.clone();Be.posMatrix=new Float64Array(16);let dt=I.canonical.z-Se.canonical.z,St=I.canonical.x-(I.canonical.x>>dt<>dt<>dt;t.aP(Be.posMatrix,0,t.X,0,t.X,0,1),t.J(Be.posMatrix,Be.posMatrix,[St*$t,Nt*$t,0]),t.K(Be.posMatrix,Be.posMatrix,[1/2**dt,1/2**dt,0]),ie[we]=Be}}return ie}getSourceTile(I,ie){let we=this.sourceCache._source,Se=I.overscaledZ-this.deltaZoom;if(Se>we.maxzoom&&(Se=we.maxzoom),Se=we.minzoom&&(!Be||!Be.dem);)Be=this.sourceCache.getTileByID(I.scaledTo(Se--).key);return Be}tilesAfterTime(I=Date.now()){return Object.values(this._tiles).filter(ie=>ie.timeAdded>=I)}}class Ss{constructor(I,ie,we){this.painter=I,this.sourceCache=new Ko(ie),this.options=we,this.exaggeration=typeof we.exaggeration==\"number\"?we.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(I,ie,we,Se=t.X){var Be;if(!(ie>=0&&ie=0&&weI.canonical.z&&(I.canonical.z>=Se?Be=I.canonical.z-Se:t.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let dt=I.canonical.x-(I.canonical.x>>Be<>Be<>8<<4|Be>>8,ie[dt+3]=0;let we=new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(ie.buffer)),Se=new u(I,we,I.gl.RGBA,{premultiply:!1});return Se.bind(I.gl.NEAREST,I.gl.CLAMP_TO_EDGE),this._coordsTexture=Se,Se}pointCoordinate(I){this.painter.maybeDrawDepthAndCoords(!0);let ie=new Uint8Array(4),we=this.painter.context,Se=we.gl,Be=Math.round(I.x*this.painter.pixelRatio/devicePixelRatio),dt=Math.round(I.y*this.painter.pixelRatio/devicePixelRatio),St=Math.round(this.painter.height/devicePixelRatio);we.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),Se.readPixels(Be,St-dt-1,1,1,Se.RGBA,Se.UNSIGNED_BYTE,ie),we.bindFramebuffer.set(null);let Nt=ie[0]+(ie[2]>>4<<8),$t=ie[1]+((15&ie[2])<<8),Tr=this.coordsIndex[255-ie[3]],Ar=Tr&&this.sourceCache.getTileByID(Tr);if(!Ar)return null;let Kr=this._coordsTextureSize,na=(1<I.id!==ie),this._recentlyUsed.push(I.id)}stampObject(I){I.stamp=++this._stamp}getOrCreateFreeObject(){for(let ie of this._recentlyUsed)if(!this._objects[ie].inUse)return this._objects[ie];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let I=this._createObject(this._objects.length);return this._objects.push(I),I}freeObject(I){I.inUse=!1}freeAllObjects(){for(let I of this._objects)this.freeObject(I)}isFull(){return!(this._objects.length!I.inUse)===!1}}let Os={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class el{constructor(I,ie){this.painter=I,this.terrain=ie,this.pool=new rl(I.context,30,ie.sourceCache.tileSize*ie.qualityFactor)}destruct(){this.pool.destruct()}getTexture(I){return this.pool.getObjectForId(I.rtt[this._stacks.length-1].id).texture}prepareForRender(I,ie){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=I._order.filter(we=>!I._layers[we].isHidden(ie)),this._coordsDescendingInv={};for(let we in I.sourceCaches){this._coordsDescendingInv[we]={};let Se=I.sourceCaches[we].getVisibleCoordinates();for(let Be of Se){let dt=this.terrain.sourceCache.getTerrainCoords(Be);for(let St in dt)this._coordsDescendingInv[we][St]||(this._coordsDescendingInv[we][St]=[]),this._coordsDescendingInv[we][St].push(dt[St])}}this._coordsDescendingInvStr={};for(let we of I._order){let Se=I._layers[we],Be=Se.source;if(Os[Se.type]&&!this._coordsDescendingInvStr[Be]){this._coordsDescendingInvStr[Be]={};for(let dt in this._coordsDescendingInv[Be])this._coordsDescendingInvStr[Be][dt]=this._coordsDescendingInv[Be][dt].map(St=>St.key).sort().join()}}for(let we of this._renderableTiles)for(let Se in this._coordsDescendingInvStr){let Be=this._coordsDescendingInvStr[Se][we.tileID.key];Be&&Be!==we.rttCoords[Se]&&(we.rtt=[])}}renderLayer(I){if(I.isHidden(this.painter.transform.zoom))return!1;let ie=I.type,we=this.painter,Se=this._renderableLayerIds[this._renderableLayerIds.length-1]===I.id;if(Os[ie]&&(this._prevType&&Os[this._prevType]||this._stacks.push([]),this._prevType=ie,this._stacks[this._stacks.length-1].push(I.id),!Se))return!0;if(Os[this._prevType]||Os[ie]&&Se){this._prevType=ie;let Be=this._stacks.length-1,dt=this._stacks[Be]||[];for(let St of this._renderableTiles){if(this.pool.isFull()&&(yl(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(St),St.rtt[Be]){let $t=this.pool.getObjectForId(St.rtt[Be].id);if($t.stamp===St.rtt[Be].stamp){this.pool.useObject($t);continue}}let Nt=this.pool.getOrCreateFreeObject();this.pool.useObject(Nt),this.pool.stampObject(Nt),St.rtt[Be]={id:Nt.id,stamp:Nt.stamp},we.context.bindFramebuffer.set(Nt.fbo.framebuffer),we.context.clear({color:t.aM.transparent,stencil:0}),we.currentStencilSource=void 0;for(let $t=0;$t{Ue.touchstart=Ue.dragStart,Ue.touchmoveWindow=Ue.dragMove,Ue.touchend=Ue.dragEnd},Un={showCompass:!0,showZoom:!0,visualizePitch:!1};class Lo{constructor(I,ie,we=!1){this.mousedown=dt=>{this.startMouse(t.e({},dt,{ctrlKey:!0,preventDefault:()=>dt.preventDefault()}),i.mousePos(this.element,dt)),i.addEventListener(window,\"mousemove\",this.mousemove),i.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=dt=>{this.moveMouse(dt,i.mousePos(this.element,dt))},this.mouseup=dt=>{this.mouseRotate.dragEnd(dt),this.mousePitch&&this.mousePitch.dragEnd(dt),this.offTemp()},this.touchstart=dt=>{dt.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=i.touchPos(this.element,dt.targetTouches)[0],this.startTouch(dt,this._startPos),i.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=dt=>{dt.targetTouches.length!==1?this.reset():(this._lastPos=i.touchPos(this.element,dt.targetTouches)[0],this.moveTouch(dt,this._lastPos))},this.touchend=dt=>{dt.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let Se=I.dragRotate._mouseRotate.getClickTolerance(),Be=I.dragRotate._mousePitch.getClickTolerance();this.element=ie,this.mouseRotate=iu({clickTolerance:Se,enable:!0}),this.touchRotate=(({enable:dt,clickTolerance:St,bearingDegreesPerPixelMoved:Nt=.8})=>{let $t=new Kc;return new Hu({clickTolerance:St,move:(Tr,Ar)=>({bearingDelta:(Ar.x-Tr.x)*Nt}),moveStateManager:$t,enable:dt,assignEvents:ll})})({clickTolerance:Se,enable:!0}),this.map=I,we&&(this.mousePitch=Vf({clickTolerance:Be,enable:!0}),this.touchPitch=(({enable:dt,clickTolerance:St,pitchDegreesPerPixelMoved:Nt=-.5})=>{let $t=new Kc;return new Hu({clickTolerance:St,move:(Tr,Ar)=>({pitchDelta:(Ar.y-Tr.y)*Nt}),moveStateManager:$t,enable:dt,assignEvents:ll})})({clickTolerance:Be,enable:!0})),i.addEventListener(ie,\"mousedown\",this.mousedown),i.addEventListener(ie,\"touchstart\",this.touchstart,{passive:!1}),i.addEventListener(ie,\"touchcancel\",this.reset)}startMouse(I,ie){this.mouseRotate.dragStart(I,ie),this.mousePitch&&this.mousePitch.dragStart(I,ie),i.disableDrag()}startTouch(I,ie){this.touchRotate.dragStart(I,ie),this.touchPitch&&this.touchPitch.dragStart(I,ie),i.disableDrag()}moveMouse(I,ie){let we=this.map,{bearingDelta:Se}=this.mouseRotate.dragMove(I,ie)||{};if(Se&&we.setBearing(we.getBearing()+Se),this.mousePitch){let{pitchDelta:Be}=this.mousePitch.dragMove(I,ie)||{};Be&&we.setPitch(we.getPitch()+Be)}}moveTouch(I,ie){let we=this.map,{bearingDelta:Se}=this.touchRotate.dragMove(I,ie)||{};if(Se&&we.setBearing(we.getBearing()+Se),this.touchPitch){let{pitchDelta:Be}=this.touchPitch.dragMove(I,ie)||{};Be&&we.setPitch(we.getPitch()+Be)}}off(){let I=this.element;i.removeEventListener(I,\"mousedown\",this.mousedown),i.removeEventListener(I,\"touchstart\",this.touchstart,{passive:!1}),i.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.removeEventListener(window,\"touchend\",this.touchend),i.removeEventListener(I,\"touchcancel\",this.reset),this.offTemp()}offTemp(){i.enableDrag(),i.removeEventListener(window,\"mousemove\",this.mousemove),i.removeEventListener(window,\"mouseup\",this.mouseup),i.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.removeEventListener(window,\"touchend\",this.touchend)}}let Js;function Rs(Ue,I,ie){let we=new t.N(Ue.lng,Ue.lat);if(Ue=new t.N(Ue.lng,Ue.lat),I){let Se=new t.N(Ue.lng-360,Ue.lat),Be=new t.N(Ue.lng+360,Ue.lat),dt=ie.locationPoint(Ue).distSqr(I);ie.locationPoint(Se).distSqr(I)180;){let Se=ie.locationPoint(Ue);if(Se.x>=0&&Se.y>=0&&Se.x<=ie.width&&Se.y<=ie.height)break;Ue.lng>ie.center.lng?Ue.lng-=360:Ue.lng+=360}return Ue.lng!==we.lng&&ie.locationPoint(Ue).y>ie.height/2-ie.getHorizon()?Ue:we}let uu={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 Iu(Ue,I,ie){let we=Ue.classList;for(let Se in uu)we.remove(`maplibregl-${ie}-anchor-${Se}`);we.add(`maplibregl-${ie}-anchor-${I}`)}class Zu extends t.E{constructor(I){if(super(),this._onKeyPress=ie=>{let we=ie.code,Se=ie.charCode||ie.keyCode;we!==\"Space\"&&we!==\"Enter\"&&Se!==32&&Se!==13||this.togglePopup()},this._onMapClick=ie=>{let we=ie.originalEvent.target,Se=this._element;this._popup&&(we===Se||Se.contains(we))&&this.togglePopup()},this._update=ie=>{var we;if(!this._map)return;let Se=this._map.loaded()&&!this._map.isMoving();(ie?.type===\"terrain\"||ie?.type===\"render\"&&!Se)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Rs(this._lngLat,this._flatPos,this._map.transform):(we=this._lngLat)===null||we===void 0?void 0:we.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let Be=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?Be=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(Be=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let dt=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?dt=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(dt=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||ie&&ie.type!==\"moveend\"||(this._pos=this._pos.round()),i.setTransform(this._element,`${uu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${dt} ${Be}`),n.frameAsync(new AbortController).then(()=>{this._updateOpacity(ie&&ie.type===\"moveend\")}).catch(()=>{})},this._onMove=ie=>{if(!this._isDragging){let we=this._clickTolerance||this._map._clickTolerance;this._isDragging=ie.point.dist(this._pointerdownPos)>=we}this._isDragging&&(this._pos=ie.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new t.k(\"dragstart\"))),this.fire(new t.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new t.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=ie=>{this._element.contains(ie.originalEvent.target)&&(ie.preventDefault(),this._positionDelta=ie.point.sub(this._pos).add(this._offset),this._pointerdownPos=ie.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=I&&I.anchor||\"center\",this._color=I&&I.color||\"#3FB1CE\",this._scale=I&&I.scale||1,this._draggable=I&&I.draggable||!1,this._clickTolerance=I&&I.clickTolerance||0,this._subpixelPositioning=I&&I.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=I&&I.rotation||0,this._rotationAlignment=I&&I.rotationAlignment||\"auto\",this._pitchAlignment=I&&I.pitchAlignment&&I.pitchAlignment!==\"auto\"?I.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(I?.opacity,I?.opacityWhenCovered),I&&I.element)this._element=I.element,this._offset=t.P.convert(I&&I.offset||[0,0]);else{this._defaultMarker=!0,this._element=i.create(\"div\");let ie=i.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),we=41,Se=27;ie.setAttributeNS(null,\"display\",\"block\"),ie.setAttributeNS(null,\"height\",`${we}px`),ie.setAttributeNS(null,\"width\",`${Se}px`),ie.setAttributeNS(null,\"viewBox\",`0 0 ${Se} ${we}`);let Be=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");Be.setAttributeNS(null,\"stroke\",\"none\"),Be.setAttributeNS(null,\"stroke-width\",\"1\"),Be.setAttributeNS(null,\"fill\",\"none\"),Be.setAttributeNS(null,\"fill-rule\",\"evenodd\");let dt=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");dt.setAttributeNS(null,\"fill-rule\",\"nonzero\");let St=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");St.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),St.setAttributeNS(null,\"fill\",\"#000000\");let Nt=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let vt of Nt){let Lt=i.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Lt.setAttributeNS(null,\"opacity\",\"0.04\"),Lt.setAttributeNS(null,\"cx\",\"10.5\"),Lt.setAttributeNS(null,\"cy\",\"5.80029008\"),Lt.setAttributeNS(null,\"rx\",vt.rx),Lt.setAttributeNS(null,\"ry\",vt.ry),St.appendChild(Lt)}let $t=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");$t.setAttributeNS(null,\"fill\",this._color);let Tr=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");Tr.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\"),$t.appendChild(Tr);let Ar=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ar.setAttributeNS(null,\"opacity\",\"0.25\"),Ar.setAttributeNS(null,\"fill\",\"#000000\");let Kr=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");Kr.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\"),Ar.appendChild(Kr);let na=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");na.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),na.setAttributeNS(null,\"fill\",\"#FFFFFF\");let He=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");He.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let Je=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Je.setAttributeNS(null,\"fill\",\"#000000\"),Je.setAttributeNS(null,\"opacity\",\"0.25\"),Je.setAttributeNS(null,\"cx\",\"5.5\"),Je.setAttributeNS(null,\"cy\",\"5.5\"),Je.setAttributeNS(null,\"r\",\"5.4999962\");let lt=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");lt.setAttributeNS(null,\"fill\",\"#FFFFFF\"),lt.setAttributeNS(null,\"cx\",\"5.5\"),lt.setAttributeNS(null,\"cy\",\"5.5\"),lt.setAttributeNS(null,\"r\",\"5.4999962\"),He.appendChild(Je),He.appendChild(lt),dt.appendChild(St),dt.appendChild($t),dt.appendChild(Ar),dt.appendChild(na),dt.appendChild(He),ie.appendChild(dt),ie.setAttributeNS(null,\"height\",we*this._scale+\"px\"),ie.setAttributeNS(null,\"width\",Se*this._scale+\"px\"),this._element.appendChild(ie),this._offset=t.P.convert(I&&I.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",ie=>{ie.preventDefault()}),this._element.addEventListener(\"mousedown\",ie=>{ie.preventDefault()}),Iu(this._element,this._anchor,\"marker\"),I&&I.className)for(let ie of I.className.split(\" \"))this._element.classList.add(ie);this._popup=null}addTo(I){return this.remove(),this._map=I,this._element.setAttribute(\"aria-label\",I._getUIString(\"Marker.Title\")),I.getCanvasContainer().appendChild(this._element),I.on(\"move\",this._update),I.on(\"moveend\",this._update),I.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"terrain\",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),i.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(I){return this._lngLat=t.N.convert(I),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(I){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),I){if(!(\"offset\"in I.options)){let Se=Math.abs(13.5)/Math.SQRT2;I.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[Se,-1*(38.1-13.5+Se)],\"bottom-right\":[-Se,-1*(38.1-13.5+Se)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=I,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(I){return this._subpixelPositioning=I,this}getPopup(){return this._popup}togglePopup(){let I=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:I?(I.isOpen()?I.remove():(I.setLngLat(this._lngLat),I.addTo(this._map)),this):this}_updateOpacity(I=!1){var ie,we;if(!(!((ie=this._map)===null||ie===void 0)&&ie.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(I)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let Se=this._map,Be=Se.terrain.depthAtPoint(this._pos),dt=Se.terrain.getElevationForLngLatZoom(this._lngLat,Se.transform.tileZoom);if(Se.transform.lngLatToCameraDepth(this._lngLat,dt)-Be<.006)return void(this._element.style.opacity=this._opacity);let St=-this._offset.y/Se.transform._pixelPerMeter,Nt=Math.sin(Se.getPitch()*Math.PI/180)*St,$t=Se.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),Tr=Se.transform.lngLatToCameraDepth(this._lngLat,dt+Nt)-$t>.006;!((we=this._popup)===null||we===void 0)&&we.isOpen()&&Tr&&this._popup.remove(),this._element.style.opacity=Tr?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(I){return this._offset=t.P.convert(I),this._update(),this}addClassName(I){this._element.classList.add(I)}removeClassName(I){this._element.classList.remove(I)}toggleClassName(I){return this._element.classList.toggle(I)}setDraggable(I){return this._draggable=!!I,this._map&&(I?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(I){return this._rotation=I||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(I){return this._rotationAlignment=I||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(I){return this._pitchAlignment=I&&I!==\"auto\"?I:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(I,ie){return I===void 0&&ie===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),I!==void 0&&(this._opacity=I),ie!==void 0&&(this._opacityWhenCovered=ie),this._map&&this._updateOpacity(!0),this}}let Ic={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Rc=!1,Au={maxWidth:100,unit:\"metric\"};function yc(Ue,I,ie){let we=ie&&ie.maxWidth||100,Se=Ue._container.clientHeight/2,Be=Ue.unproject([0,Se]),dt=Ue.unproject([we,Se]),St=Be.distanceTo(dt);if(ie&&ie.unit===\"imperial\"){let Nt=3.2808*St;Nt>5280?ho(I,we,Nt/5280,Ue._getUIString(\"ScaleControl.Miles\")):ho(I,we,Nt,Ue._getUIString(\"ScaleControl.Feet\"))}else ie&&ie.unit===\"nautical\"?ho(I,we,St/1852,Ue._getUIString(\"ScaleControl.NauticalMiles\")):St>=1e3?ho(I,we,St/1e3,Ue._getUIString(\"ScaleControl.Kilometers\")):ho(I,we,St,Ue._getUIString(\"ScaleControl.Meters\"))}function ho(Ue,I,ie,we){let Se=function(Be){let dt=Math.pow(10,`${Math.floor(Be)}`.length-1),St=Be/dt;return St=St>=10?10:St>=5?5:St>=3?3:St>=2?2:St>=1?1:function(Nt){let $t=Math.pow(10,Math.ceil(-Math.log(Nt)/Math.LN10));return Math.round(Nt*$t)/$t}(St),dt*St}(ie);Ue.style.width=I*(Se/ie)+\"px\",Ue.innerHTML=`${Se} ${we}`}let Ro={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Dc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function lc(Ue){if(Ue){if(typeof Ue==\"number\"){let I=Math.round(Math.abs(Ue)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,Ue),\"top-left\":new t.P(I,I),\"top-right\":new t.P(-I,I),bottom:new t.P(0,-Ue),\"bottom-left\":new t.P(I,-I),\"bottom-right\":new t.P(-I,-I),left:new t.P(Ue,0),right:new t.P(-Ue,0)}}if(Ue instanceof t.P||Array.isArray(Ue)){let I=t.P.convert(Ue);return{center:I,top:I,\"top-left\":I,\"top-right\":I,bottom:I,\"bottom-left\":I,\"bottom-right\":I,left:I,right:I}}return{center:t.P.convert(Ue.center||[0,0]),top:t.P.convert(Ue.top||[0,0]),\"top-left\":t.P.convert(Ue[\"top-left\"]||[0,0]),\"top-right\":t.P.convert(Ue[\"top-right\"]||[0,0]),bottom:t.P.convert(Ue.bottom||[0,0]),\"bottom-left\":t.P.convert(Ue[\"bottom-left\"]||[0,0]),\"bottom-right\":t.P.convert(Ue[\"bottom-right\"]||[0,0]),left:t.P.convert(Ue.left||[0,0]),right:t.P.convert(Ue.right||[0,0])}}return lc(new t.P(0,0))}let Yu=r;e.AJAXError=t.bh,e.Evented=t.E,e.LngLat=t.N,e.MercatorCoordinate=t.Z,e.Point=t.P,e.addProtocol=t.bi,e.config=t.a,e.removeProtocol=t.bj,e.AttributionControl=fo,e.BoxZoomHandler=Pu,e.CanvasSource=rt,e.CooperativeGesturesHandler=Di,e.DoubleClickZoomHandler=li,e.DragPanHandler=Qi,e.DragRotateHandler=dn,e.EdgeInsets=yu,e.FullscreenControl=class extends t.E{constructor(Ue={}){super(),this._onFullscreenChange=()=>{var I;let ie=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((I=ie?.shadowRoot)===null||I===void 0)&&I.fullscreenElement;)ie=ie.shadowRoot.fullscreenElement;ie===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,Ue&&Ue.container&&(Ue.container instanceof HTMLElement?this._container=Ue.container:t.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(Ue){return this._map=Ue,this._container||(this._container=this._map.getContainer()),this._controlContainer=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){i.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let Ue=this._fullscreenButton=i.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);i.create(\"span\",\"maplibregl-ctrl-icon\",Ue).setAttribute(\"aria-hidden\",\"true\"),Ue.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let Ue=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",Ue),this._fullscreenButton.title=Ue}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new t.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=ze,e.GeolocateControl=class extends t.E{constructor(Ue){super(),this._onSuccess=I=>{if(this._map){if(this._isOutOfMapMaxBounds(I))return this._setErrorState(),this.fire(new t.k(\"outofmaxbounds\",I)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=I,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(I),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(I),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new t.k(\"geolocate\",I)),this._finish()}},this._updateCamera=I=>{let ie=new t.N(I.coords.longitude,I.coords.latitude),we=I.coords.accuracy,Se=this._map.getBearing(),Be=t.e({bearing:Se},this.options.fitBoundsOptions),dt=re.fromLngLat(ie,we);this._map.fitBounds(dt,Be,{geolocateSource:!0})},this._updateMarker=I=>{if(I){let ie=new t.N(I.coords.longitude,I.coords.latitude);this._accuracyCircleMarker.setLngLat(ie).addTo(this._map),this._userLocationDotMarker.setLngLat(ie).addTo(this._map),this._accuracy=I.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=I=>{if(this._map){if(this.options.trackUserLocation)if(I.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let ie=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=ie,this._geolocateButton.setAttribute(\"aria-label\",ie),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(I.code===3&&Rc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new t.k(\"error\",I)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",I=>I.preventDefault()),this._geolocateButton=i.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),i.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=I=>{if(this._map){if(I===!1){t.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let ie=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=ie,this._geolocateButton.setAttribute(\"aria-label\",ie)}else{let ie=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=ie,this._geolocateButton.setAttribute(\"aria-label\",ie)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=i.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Zu({element:this._dotElement}),this._circleElement=i.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Zu({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",ie=>{ie.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||ie.originalEvent&&ie.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new t.k(\"trackuserlocationend\")),this.fire(new t.k(\"userlocationlostfocus\")))})}},this.options=t.e({},Ic,Ue)}onAdd(Ue){return this._map=Ue,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return t._(this,arguments,void 0,function*(I=!1){if(Js!==void 0&&!I)return Js;if(window.navigator.permissions===void 0)return Js=!!window.navigator.geolocation,Js;try{Js=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch{Js=!!window.navigator.geolocation}return Js})}().then(I=>this._finishSetupUI(I)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),i.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Rc=!1}_isOutOfMapMaxBounds(Ue){let I=this._map.getMaxBounds(),ie=Ue.coords;return I&&(ie.longitudeI.getEast()||ie.latitudeI.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let Ue=this._map.getBounds(),I=Ue.getSouthEast(),ie=Ue.getNorthEast(),we=I.distanceTo(ie),Se=Math.ceil(this._accuracy/(we/this._map._container.clientHeight)*2);this._circleElement.style.width=`${Se}px`,this._circleElement.style.height=`${Se}px`}trigger(){if(!this._setup)return t.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Rc=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new t.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.k(\"trackuserlocationstart\")),this.fire(new t.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let Ue;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(Ue={maximumAge:6e5,timeout:0},Rc=!0):(Ue=this.options.positionOptions,Rc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,Ue)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},e.Hash=Qf,e.ImageSource=at,e.KeyboardHandler=br,e.LngLatBounds=re,e.LogoControl=An,e.Map=class extends ao{constructor(Ue){t.bf.mark(t.bg.create);let I=Object.assign(Object.assign({},_l),Ue);if(I.minZoom!=null&&I.maxZoom!=null&&I.minZoom>I.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(I.minPitch!=null&&I.maxPitch!=null&&I.minPitch>I.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(I.minPitch!=null&&I.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(I.maxPitch!=null&&I.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new El(I.minZoom,I.maxZoom,I.minPitch,I.maxPitch,I.renderWorldCopies),{bearingSnap:I.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new un,this._controls=[],this._mapId=t.a4(),this._contextLost=ie=>{ie.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k(\"webglcontextlost\",{originalEvent:ie}))},this._contextRestored=ie=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k(\"webglcontextrestored\",{originalEvent:ie}))},this._onMapScroll=ie=>{if(ie.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=I.interactive,this._maxTileCacheSize=I.maxTileCacheSize,this._maxTileCacheZoomLevels=I.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=I.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=I.preserveDrawingBuffer===!0,this._antialias=I.antialias===!0,this._trackResize=I.trackResize===!0,this._bearingSnap=I.bearingSnap,this._refreshExpiredTiles=I.refreshExpiredTiles===!0,this._fadeDuration=I.fadeDuration,this._crossSourceCollisions=I.crossSourceCollisions===!0,this._collectResourceTiming=I.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},bs),I.locale),this._clickTolerance=I.clickTolerance,this._overridePixelRatio=I.pixelRatio,this._maxCanvasSize=I.maxCanvasSize,this.transformCameraUpdate=I.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=I.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=l.addThrottleControl(()=>this.isMoving()),this._requestManager=new _(I.transformRequest),typeof I.container==\"string\"){if(this._container=document.getElementById(I.container),!this._container)throw new Error(`Container '${I.container}' not found.`)}else{if(!(I.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=I.container}if(I.maxBounds&&this.setMaxBounds(I.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)).on(\"moveend\",()=>this._update(!1)).on(\"zoom\",()=>this._update(!0)).on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once(\"idle\",()=>{this._idleTriggered=!0}),typeof window<\"u\"){addEventListener(\"online\",this._onWindowOnline,!1);let ie=!1,we=qf(Se=>{this._trackResize&&!this._removed&&(this.resize(Se),this.redraw())},50);this._resizeObserver=new ResizeObserver(Se=>{ie?we(Se):ie=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Qn(this,I),this._hash=I.hash&&new Qf(typeof I.hash==\"string\"&&I.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:I.center,zoom:I.zoom,bearing:I.bearing,pitch:I.pitch}),I.bounds&&(this.resize(),this.fitBounds(I.bounds,t.e({},I.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=I.localIdeographFontFamily,this._validateStyle=I.validateStyle,I.style&&this.setStyle(I.style,{localIdeographFontFamily:I.localIdeographFontFamily}),I.attributionControl&&this.addControl(new fo(typeof I.attributionControl==\"boolean\"?void 0:I.attributionControl)),I.maplibreLogo&&this.addControl(new An,I.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",ie=>{this._update(ie.dataType===\"style\"),this.fire(new t.k(`${ie.dataType}data`,ie))}),this.on(\"dataloading\",ie=>{this.fire(new t.k(`${ie.dataType}dataloading`,ie))}),this.on(\"dataabort\",ie=>{this.fire(new t.k(\"sourcedataabort\",ie))})}_getMapId(){return this._mapId}addControl(Ue,I){if(I===void 0&&(I=Ue.getDefaultPosition?Ue.getDefaultPosition():\"top-right\"),!Ue||!Ue.onAdd)return this.fire(new t.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let ie=Ue.onAdd(this);this._controls.push(Ue);let we=this._controlPositions[I];return I.indexOf(\"bottom\")!==-1?we.insertBefore(ie,we.firstChild):we.appendChild(ie),this}removeControl(Ue){if(!Ue||!Ue.onRemove)return this.fire(new t.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let I=this._controls.indexOf(Ue);return I>-1&&this._controls.splice(I,1),Ue.onRemove(this),this}hasControl(Ue){return this._controls.indexOf(Ue)>-1}calculateCameraOptionsFromTo(Ue,I,ie,we){return we==null&&this.terrain&&(we=this.terrain.getElevationForLngLatZoom(ie,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(Ue,I,ie,we)}resize(Ue){var I;let ie=this._containerDimensions(),we=ie[0],Se=ie[1],Be=this._getClampedPixelRatio(we,Se);if(this._resizeCanvas(we,Se,Be),this.painter.resize(we,Se,Be),this.painter.overLimit()){let St=this.painter.context.gl;this._maxCanvasSize=[St.drawingBufferWidth,St.drawingBufferHeight];let Nt=this._getClampedPixelRatio(we,Se);this._resizeCanvas(we,Se,Nt),this.painter.resize(we,Se,Nt)}this.transform.resize(we,Se),(I=this._requestedCameraState)===null||I===void 0||I.resize(we,Se);let dt=!this._moving;return dt&&(this.stop(),this.fire(new t.k(\"movestart\",Ue)).fire(new t.k(\"move\",Ue))),this.fire(new t.k(\"resize\",Ue)),dt&&this.fire(new t.k(\"moveend\",Ue)),this}_getClampedPixelRatio(Ue,I){let{0:ie,1:we}=this._maxCanvasSize,Se=this.getPixelRatio(),Be=Ue*Se,dt=I*Se;return Math.min(Be>ie?ie/Be:1,dt>we?we/dt:1)*Se}getPixelRatio(){var Ue;return(Ue=this._overridePixelRatio)!==null&&Ue!==void 0?Ue:devicePixelRatio}setPixelRatio(Ue){this._overridePixelRatio=Ue,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(Ue){return this.transform.setMaxBounds(re.convert(Ue)),this._update()}setMinZoom(Ue){if((Ue=Ue??-2)>=-2&&Ue<=this.transform.maxZoom)return this.transform.minZoom=Ue,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=Ue,this._update(),this.getZoom()>Ue&&this.setZoom(Ue),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(Ue){if((Ue=Ue??0)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(Ue>=0&&Ue<=this.transform.maxPitch)return this.transform.minPitch=Ue,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(Ue>=this.transform.minPitch)return this.transform.maxPitch=Ue,this._update(),this.getPitch()>Ue&&this.setPitch(Ue),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(Ue){return this.transform.renderWorldCopies=Ue,this._update()}project(Ue){return this.transform.locationPoint(t.N.convert(Ue),this.style&&this.terrain)}unproject(Ue){return this.transform.pointLocation(t.P.convert(Ue),this.terrain)}isMoving(){var Ue;return this._moving||((Ue=this.handlers)===null||Ue===void 0?void 0:Ue.isMoving())}isZooming(){var Ue;return this._zooming||((Ue=this.handlers)===null||Ue===void 0?void 0:Ue.isZooming())}isRotating(){var Ue;return this._rotating||((Ue=this.handlers)===null||Ue===void 0?void 0:Ue.isRotating())}_createDelegatedListener(Ue,I,ie){if(Ue===\"mouseenter\"||Ue===\"mouseover\"){let we=!1;return{layers:I,listener:ie,delegates:{mousemove:Be=>{let dt=I.filter(Nt=>this.getLayer(Nt)),St=dt.length!==0?this.queryRenderedFeatures(Be.point,{layers:dt}):[];St.length?we||(we=!0,ie.call(this,new au(Ue,this,Be.originalEvent,{features:St}))):we=!1},mouseout:()=>{we=!1}}}}if(Ue===\"mouseleave\"||Ue===\"mouseout\"){let we=!1;return{layers:I,listener:ie,delegates:{mousemove:dt=>{let St=I.filter(Nt=>this.getLayer(Nt));(St.length!==0?this.queryRenderedFeatures(dt.point,{layers:St}):[]).length?we=!0:we&&(we=!1,ie.call(this,new au(Ue,this,dt.originalEvent)))},mouseout:dt=>{we&&(we=!1,ie.call(this,new au(Ue,this,dt.originalEvent)))}}}}{let we=Se=>{let Be=I.filter(St=>this.getLayer(St)),dt=Be.length!==0?this.queryRenderedFeatures(Se.point,{layers:Be}):[];dt.length&&(Se.features=dt,ie.call(this,Se),delete Se.features)};return{layers:I,listener:ie,delegates:{[Ue]:we}}}}_saveDelegatedListener(Ue,I){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[Ue]=this._delegatedListeners[Ue]||[],this._delegatedListeners[Ue].push(I)}_removeDelegatedListener(Ue,I,ie){if(!this._delegatedListeners||!this._delegatedListeners[Ue])return;let we=this._delegatedListeners[Ue];for(let Se=0;SeI.includes(dt))){for(let dt in Be.delegates)this.off(dt,Be.delegates[dt]);return void we.splice(Se,1)}}}on(Ue,I,ie){if(ie===void 0)return super.on(Ue,I);let we=this._createDelegatedListener(Ue,typeof I==\"string\"?[I]:I,ie);this._saveDelegatedListener(Ue,we);for(let Se in we.delegates)this.on(Se,we.delegates[Se]);return this}once(Ue,I,ie){if(ie===void 0)return super.once(Ue,I);let we=typeof I==\"string\"?[I]:I,Se=this._createDelegatedListener(Ue,we,ie);for(let Be in Se.delegates){let dt=Se.delegates[Be];Se.delegates[Be]=(...St)=>{this._removeDelegatedListener(Ue,we,ie),dt(...St)}}this._saveDelegatedListener(Ue,Se);for(let Be in Se.delegates)this.once(Be,Se.delegates[Be]);return this}off(Ue,I,ie){return ie===void 0?super.off(Ue,I):(this._removeDelegatedListener(Ue,typeof I==\"string\"?[I]:I,ie),this)}queryRenderedFeatures(Ue,I){if(!this.style)return[];let ie,we=Ue instanceof t.P||Array.isArray(Ue),Se=we?Ue:[[0,0],[this.transform.width,this.transform.height]];if(I=I||(we?{}:Ue)||{},Se instanceof t.P||typeof Se[0]==\"number\")ie=[t.P.convert(Se)];else{let Be=t.P.convert(Se[0]),dt=t.P.convert(Se[1]);ie=[Be,new t.P(dt.x,Be.y),dt,new t.P(Be.x,dt.y),Be]}return this.style.queryRenderedFeatures(ie,I,this.transform)}querySourceFeatures(Ue,I){return this.style.querySourceFeatures(Ue,I)}setStyle(Ue,I){return(I=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},I)).diff!==!1&&I.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&Ue?(this._diffStyle(Ue,I),this):(this._localIdeographFontFamily=I.localIdeographFontFamily,this._updateStyle(Ue,I))}setTransformRequest(Ue){return this._requestManager.setTransformRequest(Ue),this}_getUIString(Ue){let I=this._locale[Ue];if(I==null)throw new Error(`Missing UI string '${Ue}'`);return I}_updateStyle(Ue,I){if(I.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(Ue,I));let ie=this.style&&I.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!Ue)),Ue?(this.style=new Ir(this,I||{}),this.style.setEventedParent(this,{style:this.style}),typeof Ue==\"string\"?this.style.loadURL(Ue,I,ie):this.style.loadJSON(Ue,I,ie),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ir(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(Ue,I){if(typeof Ue==\"string\"){let ie=this._requestManager.transformRequest(Ue,\"Style\");t.h(ie,new AbortController).then(we=>{this._updateDiff(we.data,I)}).catch(we=>{we&&this.fire(new t.j(we))})}else typeof Ue==\"object\"&&this._updateDiff(Ue,I)}_updateDiff(Ue,I){try{this.style.setState(Ue,I)&&this._update(!0)}catch(ie){t.w(`Unable to perform style diff: ${ie.message||ie.error||ie}. Rebuilding the style from scratch.`),this._updateStyle(Ue,I)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w(\"There is no style added to the map.\")}addSource(Ue,I){return this._lazyInitEmptyStyle(),this.style.addSource(Ue,I),this._update(!0)}isSourceLoaded(Ue){let I=this.style&&this.style.sourceCaches[Ue];if(I!==void 0)return I.loaded();this.fire(new t.j(new Error(`There is no source with ID '${Ue}'`)))}setTerrain(Ue){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),Ue){let I=this.style.sourceCaches[Ue.source];if(!I)throw new Error(`cannot load terrain, because there exists no source with ID: ${Ue.source}`);this.terrain===null&&I.reload();for(let ie in this.style._layers){let we=this.style._layers[ie];we.type===\"hillshade\"&&we.source===Ue.source&&t.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new Ss(this.painter,I,Ue),this.painter.renderToTexture=new el(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=ie=>{ie.dataType===\"style\"?this.terrain.sourceCache.freeRtt():ie.dataType===\"source\"&&ie.tile&&(ie.sourceId!==Ue.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(ie.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new t.k(\"terrain\",{terrain:Ue})),this}getTerrain(){var Ue,I;return(I=(Ue=this.terrain)===null||Ue===void 0?void 0:Ue.options)!==null&&I!==void 0?I:null}areTilesLoaded(){let Ue=this.style&&this.style.sourceCaches;for(let I in Ue){let ie=Ue[I]._tiles;for(let we in ie){let Se=ie[we];if(Se.state!==\"loaded\"&&Se.state!==\"errored\")return!1}}return!0}removeSource(Ue){return this.style.removeSource(Ue),this._update(!0)}getSource(Ue){return this.style.getSource(Ue)}addImage(Ue,I,ie={}){let{pixelRatio:we=1,sdf:Se=!1,stretchX:Be,stretchY:dt,content:St,textFitWidth:Nt,textFitHeight:$t}=ie;if(this._lazyInitEmptyStyle(),!(I instanceof HTMLImageElement||t.b(I))){if(I.width===void 0||I.height===void 0)return this.fire(new t.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:Tr,height:Ar,data:Kr}=I,na=I;return this.style.addImage(Ue,{data:new t.R({width:Tr,height:Ar},new Uint8Array(Kr)),pixelRatio:we,stretchX:Be,stretchY:dt,content:St,textFitWidth:Nt,textFitHeight:$t,sdf:Se,version:0,userImage:na}),na.onAdd&&na.onAdd(this,Ue),this}}{let{width:Tr,height:Ar,data:Kr}=n.getImageData(I);this.style.addImage(Ue,{data:new t.R({width:Tr,height:Ar},Kr),pixelRatio:we,stretchX:Be,stretchY:dt,content:St,textFitWidth:Nt,textFitHeight:$t,sdf:Se,version:0})}}updateImage(Ue,I){let ie=this.style.getImage(Ue);if(!ie)return this.fire(new t.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let we=I instanceof HTMLImageElement||t.b(I)?n.getImageData(I):I,{width:Se,height:Be,data:dt}=we;if(Se===void 0||Be===void 0)return this.fire(new t.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(Se!==ie.data.width||Be!==ie.data.height)return this.fire(new t.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let St=!(I instanceof HTMLImageElement||t.b(I));return ie.data.replace(dt,St),this.style.updateImage(Ue,ie),this}getImage(Ue){return this.style.getImage(Ue)}hasImage(Ue){return Ue?!!this.style.getImage(Ue):(this.fire(new t.j(new Error(\"Missing required image id\"))),!1)}removeImage(Ue){this.style.removeImage(Ue)}loadImage(Ue){return l.getImage(this._requestManager.transformRequest(Ue,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(Ue,I){return this._lazyInitEmptyStyle(),this.style.addLayer(Ue,I),this._update(!0)}moveLayer(Ue,I){return this.style.moveLayer(Ue,I),this._update(!0)}removeLayer(Ue){return this.style.removeLayer(Ue),this._update(!0)}getLayer(Ue){return this.style.getLayer(Ue)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(Ue,I,ie){return this.style.setLayerZoomRange(Ue,I,ie),this._update(!0)}setFilter(Ue,I,ie={}){return this.style.setFilter(Ue,I,ie),this._update(!0)}getFilter(Ue){return this.style.getFilter(Ue)}setPaintProperty(Ue,I,ie,we={}){return this.style.setPaintProperty(Ue,I,ie,we),this._update(!0)}getPaintProperty(Ue,I){return this.style.getPaintProperty(Ue,I)}setLayoutProperty(Ue,I,ie,we={}){return this.style.setLayoutProperty(Ue,I,ie,we),this._update(!0)}getLayoutProperty(Ue,I){return this.style.getLayoutProperty(Ue,I)}setGlyphs(Ue,I={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(Ue,I),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(Ue,I,ie={}){return this._lazyInitEmptyStyle(),this.style.addSprite(Ue,I,ie,we=>{we||this._update(!0)}),this}removeSprite(Ue){return this._lazyInitEmptyStyle(),this.style.removeSprite(Ue),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(Ue,I={}){return this._lazyInitEmptyStyle(),this.style.setSprite(Ue,I,ie=>{ie||this._update(!0)}),this}setLight(Ue,I={}){return this._lazyInitEmptyStyle(),this.style.setLight(Ue,I),this._update(!0)}getLight(){return this.style.getLight()}setSky(Ue){return this._lazyInitEmptyStyle(),this.style.setSky(Ue),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(Ue,I){return this.style.setFeatureState(Ue,I),this._update()}removeFeatureState(Ue,I){return this.style.removeFeatureState(Ue,I),this._update()}getFeatureState(Ue){return this.style.getFeatureState(Ue)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let Ue=0,I=0;return this._container&&(Ue=this._container.clientWidth||400,I=this._container.clientHeight||300),[Ue,I]}_setupContainer(){let Ue=this._container;Ue.classList.add(\"maplibregl-map\");let I=this._canvasContainer=i.create(\"div\",\"maplibregl-canvas-container\",Ue);this._interactive&&I.classList.add(\"maplibregl-interactive\"),this._canvas=i.create(\"canvas\",\"maplibregl-canvas\",I),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");let ie=this._containerDimensions(),we=this._getClampedPixelRatio(ie[0],ie[1]);this._resizeCanvas(ie[0],ie[1],we);let Se=this._controlContainer=i.create(\"div\",\"maplibregl-control-container\",Ue),Be=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(dt=>{Be[dt]=i.create(\"div\",`maplibregl-ctrl-${dt} `,Se)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(Ue,I,ie){this._canvas.width=Math.floor(ie*Ue),this._canvas.height=Math.floor(ie*I),this._canvas.style.width=`${Ue}px`,this._canvas.style.height=`${I}px`}_setupPainter(){let Ue={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},I=null;this._canvas.addEventListener(\"webglcontextcreationerror\",we=>{I={requestedAttributes:Ue},we&&(I.statusMessage=we.statusMessage,I.type=we.type)},{once:!0});let ie=this._canvas.getContext(\"webgl2\",Ue)||this._canvas.getContext(\"webgl\",Ue);if(!ie){let we=\"Failed to initialize WebGL\";throw I?(I.message=we,new Error(JSON.stringify(I))):new Error(we)}this.painter=new Mc(ie,this.transform),s.testSupport(ie)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(Ue){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||Ue,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(Ue){return this._update(),this._renderTaskQueue.add(Ue)}_cancelRenderFrame(Ue){this._renderTaskQueue.remove(Ue)}_render(Ue){let I=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(Ue),this._removed)return;let ie=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let Se=this.transform.zoom,Be=n.now();this.style.zoomHistory.update(Se,Be);let dt=new t.z(Se,{now:Be,fadeDuration:I,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),St=dt.crossFadingFactor();St===1&&St===this._crossFadingFactor||(ie=!0,this._crossFadingFactor=St),this.style.update(dt)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,I,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:I,showPadding:this.showPadding}),this.fire(new t.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.bf.mark(t.bg.load),this.fire(new t.k(\"load\"))),this.style&&(this.style.hasTransitions()||ie)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let we=this._sourcesDirty||this._styleDirty||this._placementDirty;return we||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k(\"idle\")),!this._loaded||this._fullyLoaded||we||(this._fullyLoaded=!0,t.bf.mark(t.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var Ue;this._hash&&this._hash.remove();for(let ie of this._controls)ie.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<\"u\"&&removeEventListener(\"online\",this._onWindowOnline,!1),l.removeThrottleControl(this._imageQueueHandle),(Ue=this._resizeObserver)===null||Ue===void 0||Ue.disconnect();let I=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");I?.loseContext&&I.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),i.remove(this._canvasContainer),i.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),t.bf.clearMetrics(),this._removed=!0,this.fire(new t.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(Ue=>{t.bf.frame(Ue),this._frameRequest=null,this._render(Ue)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(Ue){this._showTileBoundaries!==Ue&&(this._showTileBoundaries=Ue,this._update())}get showPadding(){return!!this._showPadding}set showPadding(Ue){this._showPadding!==Ue&&(this._showPadding=Ue,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(Ue){this._showCollisionBoxes!==Ue&&(this._showCollisionBoxes=Ue,Ue?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(Ue){this._showOverdrawInspector!==Ue&&(this._showOverdrawInspector=Ue,this._update())}get repaint(){return!!this._repaint}set repaint(Ue){this._repaint!==Ue&&(this._repaint=Ue,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(Ue){this._vertices=Ue,this._update()}get version(){return Fl}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=au,e.MapTouchEvent=Yc,e.MapWheelEvent=hh,e.Marker=Zu,e.NavigationControl=class{constructor(Ue){this._updateZoomButtons=()=>{let I=this._map.getZoom(),ie=I===this._map.getMaxZoom(),we=I===this._map.getMinZoom();this._zoomInButton.disabled=ie,this._zoomOutButton.disabled=we,this._zoomInButton.setAttribute(\"aria-disabled\",ie.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",we.toString())},this._rotateCompassArrow=()=>{let I=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=I},this._setButtonTitle=(I,ie)=>{let we=this._map._getUIString(`NavigationControl.${ie}`);I.title=we,I.setAttribute(\"aria-label\",we)},this.options=t.e({},Un,Ue),this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",I=>I.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",I=>this._map.zoomIn({},{originalEvent:I})),i.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",I=>this._map.zoomOut({},{originalEvent:I})),i.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",I=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:I}):this._map.resetNorth({},{originalEvent:I})}),this._compassIcon=i.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(Ue){return this._map=Ue,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Lo(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){i.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(Ue,I){let ie=i.create(\"button\",Ue,this._container);return ie.type=\"button\",ie.addEventListener(\"click\",I),ie}},e.Popup=class extends t.E{constructor(Ue){super(),this.remove=()=>(this._content&&i.remove(this._content),this._container&&(i.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new t.k(\"close\"))),this),this._onMouseUp=I=>{this._update(I.point)},this._onMouseMove=I=>{this._update(I.point)},this._onDrag=I=>{this._update(I.point)},this._update=I=>{var ie;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=i.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=i.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let St of this.options.className.split(\" \"))this._container.classList.add(St);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Rs(this._lngLat,this._flatPos,this._map.transform):(ie=this._lngLat)===null||ie===void 0?void 0:ie.wrap(),this._trackPointer&&!I)return;let we=this._flatPos=this._pos=this._trackPointer&&I?I:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&I?I:this._map.transform.locationPoint(this._lngLat));let Se=this.options.anchor,Be=lc(this.options.offset);if(!Se){let St=this._container.offsetWidth,Nt=this._container.offsetHeight,$t;$t=we.y+Be.bottom.ythis._map.transform.height-Nt?[\"bottom\"]:[],we.xthis._map.transform.width-St/2&&$t.push(\"right\"),Se=$t.length===0?\"bottom\":$t.join(\"-\")}let dt=we.add(Be[Se]);this.options.subpixelPositioning||(dt=dt.round()),i.setTransform(this._container,`${uu[Se]} translate(${dt.x}px,${dt.y}px)`),Iu(this._container,Se,\"popup\")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(Ro),Ue)}addTo(Ue){return this._map&&this.remove(),this._map=Ue,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(Ue){return this._lngLat=t.N.convert(Ue),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(Ue){return this.setDOMContent(document.createTextNode(Ue))}setHTML(Ue){let I=document.createDocumentFragment(),ie=document.createElement(\"body\"),we;for(ie.innerHTML=Ue;we=ie.firstChild,we;)I.appendChild(we);return this.setDOMContent(I)}getMaxWidth(){var Ue;return(Ue=this._container)===null||Ue===void 0?void 0:Ue.style.maxWidth}setMaxWidth(Ue){return this.options.maxWidth=Ue,this._update(),this}setDOMContent(Ue){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=i.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(Ue),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(Ue){return this._container&&this._container.classList.add(Ue),this}removeClassName(Ue){return this._container&&this._container.classList.remove(Ue),this}setOffset(Ue){return this.options.offset=Ue,this._update(),this}toggleClassName(Ue){if(this._container)return this._container.classList.toggle(Ue)}setSubpixelPositioning(Ue){this.options.subpixelPositioning=Ue}_createCloseButton(){this.options.closeButton&&(this._closeButton=i.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let Ue=this._container.querySelector(Dc);Ue&&Ue.focus()}},e.RasterDEMTileSource=De,e.RasterTileSource=Ae,e.ScaleControl=class{constructor(Ue){this._onMove=()=>{yc(this._map,this._container,this.options)},this.setUnit=I=>{this.options.unit=I,yc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Au),Ue)}getDefaultPosition(){return\"bottom-left\"}onAdd(Ue){return this._map=Ue,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",Ue.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){i.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},e.ScrollZoomHandler=ka,e.Style=Ir,e.TerrainControl=class{constructor(Ue){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"))},this.options=Ue}onAdd(Ue){return this._map=Ue,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=i.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),i.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){i.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=Pc,e.TwoFingersTouchRotateHandler=Jc,e.TwoFingersTouchZoomHandler=xu,e.TwoFingersTouchZoomRotateHandler=Pi,e.VectorTileSource=be,e.VideoSource=nt,e.addSourceType=(Ue,I)=>t._(void 0,void 0,void 0,function*(){if(Me(Ue))throw new Error(`A source type called \"${Ue}\" already exists.`);((ie,we)=>{st[ie]=we})(Ue,I)}),e.clearPrewarmedResources=function(){let Ue=fe;Ue&&(Ue.isPreloaded()&&Ue.numActive()===1?(Ue.release($),fe=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return tt().getRTLTextPluginStatus()},e.getVersion=function(){return Yu},e.getWorkerCount=function(){return se.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(Ue){return q().broadcast(\"IS\",Ue)},e.prewarm=function(){Y().acquire($)},e.setMaxParallelImageRequests=function(Ue){t.a.MAX_PARALLEL_IMAGE_REQUESTS=Ue},e.setRTLTextPlugin=function(Ue,I){return tt().setRTLTextPlugin(Ue,I)},e.setWorkerCount=function(Ue){se.workerCount=Ue},e.setWorkerUrl=function(Ue){t.a.WORKER_URL=Ue}});var E=v;return E})}}),qV=Xe({\"src/plots/map/layers.js\"(Z,G){\"use strict\";var v=sa(),x=ou().sanitizeHTML,S=D6(),E=b0();function e(n,i){this.subplot=n,this.uid=n.uid+\"-\"+i,this.index=i,this.idSource=\"source-\"+this.uid,this.idLayer=E.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var t=e.prototype;t.update=function(i){this.visible?this.needsNewImage(i)?this.updateImage(i):this.needsNewSource(i)?(this.removeLayer(),this.updateSource(i),this.updateLayer(i)):this.needsNewLayer(i)?this.updateLayer(i):this.updateStyle(i):(this.updateSource(i),this.updateLayer(i)),this.visible=r(i)},t.needsNewImage=function(n){var i=this.subplot.map;return i.getSource(this.idSource)&&this.sourceType===\"image\"&&n.sourcetype===\"image\"&&(this.source!==n.source||JSON.stringify(this.coordinates)!==JSON.stringify(n.coordinates))},t.needsNewSource=function(n){return this.sourceType!==n.sourcetype||JSON.stringify(this.source)!==JSON.stringify(n.source)||this.layerType!==n.type},t.needsNewLayer=function(n){return this.layerType!==n.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},t.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},t.updateImage=function(n){var i=this.subplot.map;i.getSource(this.idSource).updateImage({url:n.source,coordinates:n.coordinates});var s=this.findFollowingMapLayerId(this.lookupBelow());s!==null&&this.subplot.map.moveLayer(this.idLayer,s)},t.updateSource=function(n){var i=this.subplot.map;if(i.getSource(this.idSource)&&i.removeSource(this.idSource),this.sourceType=n.sourcetype,this.source=n.source,!!r(n)){var s=a(n);i.addSource(this.idSource,s)}},t.findFollowingMapLayerId=function(n){if(n===\"traces\")for(var i=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function o(n){var i={},s={};switch(n.type){case\"circle\":v.extendFlat(s,{\"circle-radius\":n.circle.radius,\"circle-color\":n.color,\"circle-opacity\":n.opacity});break;case\"line\":v.extendFlat(s,{\"line-width\":n.line.width,\"line-color\":n.color,\"line-opacity\":n.opacity,\"line-dasharray\":n.line.dash});break;case\"fill\":v.extendFlat(s,{\"fill-color\":n.color,\"fill-outline-color\":n.fill.outlinecolor,\"fill-opacity\":n.opacity});break;case\"symbol\":var h=n.symbol,c=S(h.textposition,h.iconsize);v.extendFlat(i,{\"icon-image\":h.icon+\"-15\",\"icon-size\":h.iconsize/10,\"text-field\":h.text,\"text-size\":h.textfont.size,\"text-anchor\":c.anchor,\"text-offset\":c.offset,\"symbol-placement\":h.placement}),v.extendFlat(s,{\"icon-color\":n.color,\"text-color\":h.textfont.color,\"text-opacity\":n.opacity});break;case\"raster\":v.extendFlat(s,{\"raster-fade-duration\":0,\"raster-opacity\":n.opacity});break}return{layout:i,paint:s}}function a(n){var i=n.sourcetype,s=n.source,h={type:i},c;return i===\"geojson\"?c=\"data\":i===\"vector\"?c=typeof s==\"string\"?\"url\":\"tiles\":i===\"raster\"?(c=\"tiles\",h.tileSize=256):i===\"image\"&&(c=\"url\",h.coordinates=n.coordinates),h[c]=s,n.sourceattribution&&(h.attribution=x(n.sourceattribution)),h}G.exports=function(i,s,h){var c=new e(i,s);return c.update(h),c}}}),VV=Xe({\"src/plots/map/map.js\"(Z,G){\"use strict\";var v=jV(),x=sa(),S=g0(),E=so(),e=Go(),t=Ap(),r=rf(),o=Jd(),a=o.drawMode,n=o.selectMode,i=Af().prepSelect,s=Af().clearOutline,h=Af().clearSelectionsCache,c=Af().selectOnClick,m=b0(),p=qV();function T(g,b){this.id=b,this.gd=g;var d=g._fullLayout,u=g._context;this.container=d._glcontainer.node(),this.isStatic=u.staticPlot,this.uid=d._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(d),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var l=T.prototype;l.plot=function(g,b,d){var u=this,y;u.map?y=new Promise(function(f,R){u.updateMap(g,b,f,R)}):y=new Promise(function(f,R){u.createMap(g,b,f,R)}),d.push(y)},l.createMap=function(g,b,d,u){var y=this,f=b[y.id],R=y.styleObj=w(f.style),L=f.bounds,z=L?[[L.west,L.south],[L.east,L.north]]:null,F=y.map=new v.Map({container:y.div,style:R.style,center:M(f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch,maxBounds:z,interactive:!y.isStatic,preserveDrawingBuffer:y.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new v.AttributionControl({compact:!0})),N={};F.on(\"styleimagemissing\",function(P){var U=P.id;if(!N[U]&&U.includes(\"-15\")){N[U]=!0;var B=new Image(15,15);B.onload=function(){F.addImage(U,B)},B.crossOrigin=\"Anonymous\",B.src=\"https://unpkg.com/maki@2.1.0/icons/\"+U+\".svg\"}}),F.setTransformRequest(function(P){return P=P.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),P=P.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),P=P.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:P}}),F._canvas.style.left=\"0px\",F._canvas.style.top=\"0px\",y.rejectOnError(u),y.isStatic||y.initFx(g,b);var O=[];O.push(new Promise(function(P){F.once(\"load\",P)})),O=O.concat(S.fetchTraceGeoData(g)),Promise.all(O).then(function(){y.fillBelowLookup(g,b),y.updateData(g),y.updateLayout(b),y.resolveOnRender(d)}).catch(u)},l.updateMap=function(g,b,d,u){var y=this,f=y.map,R=b[this.id];y.rejectOnError(u);var L=[],z=w(R.style);JSON.stringify(y.styleObj)!==JSON.stringify(z)&&(y.styleObj=z,f.setStyle(z.style),y.traceHash={},L.push(new Promise(function(F){f.once(\"styledata\",F)}))),L=L.concat(S.fetchTraceGeoData(g)),Promise.all(L).then(function(){y.fillBelowLookup(g,b),y.updateData(g),y.updateLayout(b),y.resolveOnRender(d)}).catch(u)},l.fillBelowLookup=function(g,b){var d=b[this.id],u=d.layers,y,f,R=this.belowLookup={},L=!1;for(y=0;y1)for(y=0;y-1&&c(z.originalEvent,u,[d.xaxis],[d.yaxis],d.id,L),F.indexOf(\"event\")>-1&&r.click(u,z.originalEvent)}}},l.updateFx=function(g){var b=this,d=b.map,u=b.gd;if(b.isStatic)return;function y(z){var F=b.map.unproject(z);return[F.lng,F.lat]}var f=g.dragmode,R;R=function(z,F){if(F.isRect){var N=z.range={};N[b.id]=[y([F.xmin,F.ymin]),y([F.xmax,F.ymax])]}else{var O=z.lassoPoints={};O[b.id]=F.map(y)}};var L=b.dragOptions;b.dragOptions=x.extendDeep(L||{},{dragmode:g.dragmode,element:b.div,gd:u,plotinfo:{id:b.id,domain:g[b.id].domain,xaxis:b.xaxis,yaxis:b.yaxis,fillRangeItems:R},xaxes:[b.xaxis],yaxes:[b.yaxis],subplot:b.id}),d.off(\"click\",b.onClickInPanHandler),n(f)||a(f)?(d.dragPan.disable(),d.on(\"zoomstart\",b.clearOutline),b.dragOptions.prepFn=function(z,F,N){i(z,F,N,b.dragOptions,f)},t.init(b.dragOptions)):(d.dragPan.enable(),d.off(\"zoomstart\",b.clearOutline),b.div.onmousedown=null,b.div.ontouchstart=null,b.div.removeEventListener(\"touchstart\",b.div._ontouchstart),b.onClickInPanHandler=b.onClickInPanFn(b.dragOptions),d.on(\"click\",b.onClickInPanHandler))},l.updateFramework=function(g){var b=g[this.id].domain,d=g._size,u=this.div.style;u.width=d.w*(b.x[1]-b.x[0])+\"px\",u.height=d.h*(b.y[1]-b.y[0])+\"px\",u.left=d.l+b.x[0]*d.w+\"px\",u.top=d.t+(1-b.y[1])*d.h+\"px\",this.xaxis._offset=d.l+b.x[0]*d.w,this.xaxis._length=d.w*(b.x[1]-b.x[0]),this.yaxis._offset=d.t+(1-b.y[1])*d.h,this.yaxis._length=d.h*(b.y[1]-b.y[0])},l.updateLayers=function(g){var b=g[this.id],d=b.layers,u=this.layerList,y;if(d.length!==u.length){for(y=0;yd/2){var u=A.split(\"|\").join(\"
\");g.text(u).attr(\"data-unformatted\",u).call(r.convertToTspans,n),b=t.bBox(g.node())}g.attr(\"transform\",v(-3,-b.height+8)),M.insert(\"rect\",\".static-attribution\").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var y=1;b.width+6>d&&(y=d/(b.width+6));var f=[h.l+h.w*p.x[1],h.t+h.h*(1-p.y[0])];M.attr(\"transform\",v(f[0],f[1])+x(y))}},Z.updateFx=function(n){for(var i=n._fullLayout,s=i._subplots[a],h=0;h=0;o--)t.removeLayer(r[o][1])},e.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},G.exports=function(r,o){var a=o[0].trace,n=new E(r,a.uid),i=n.sourceId,s=v(o),h=n.below=r.belowLookup[\"trace-\"+a.uid];return r.map.addSource(i,{type:\"geojson\",data:s.geojson}),n._addLayers(s,h),o[0].trace._glTrace=n,n}}}),YV=Xe({\"src/traces/choroplethmap/index.js\"(Z,G){\"use strict\";G.exports={attributes:z6(),supplyDefaults:XV(),colorbar:n0(),calc:lT(),plot:ZV(),hoverPoints:cT(),eventData:fT(),selectPoints:hT(),styleOnSelect:function(v,x){if(x){var S=x[0].trace;S._glTrace.updateOnSelect(x)}},getBelow:function(v,x){for(var S=x.getMapLayers(),E=S.length-2;E>=0;E--){var e=S[E].id;if(typeof e==\"string\"&&e.indexOf(\"water\")===0){for(var t=E+1;t0?+p[c]:0),h.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:w},properties:A})}}var g=E.extractOpts(a),b=g.reversescale?E.flipScale(g.colorscale):g.colorscale,d=b[0][1],u=S.opacity(d)<1?d:S.addOpacity(d,0),y=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,u];for(c=1;c=0;r--)e.removeLayer(t[r][1])},E.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},G.exports=function(t,r){var o=r[0].trace,a=new S(t,o.uid),n=a.sourceId,i=v(r),s=a.below=t.belowLookup[\"trace-\"+o.uid];return t.map.addSource(n,{type:\"geojson\",data:i.geojson}),a._addLayers(i,s),a}}}),tG=Xe({\"src/traces/densitymap/hover.js\"(Z,G){\"use strict\";var v=Go(),x=kT().hoverPoints,S=kT().getExtraText;G.exports=function(e,t,r){var o=x(e,t,r);if(o){var a=o[0],n=a.cd,i=n[0].trace,s=n[a.index];if(delete a.color,\"z\"in s){var h=a.subplot.mockAxis;a.z=s.z,a.zLabel=v.tickText(h,h.c2l(s.z),\"hover\").text}return a.extraText=S(i,s,n[0].t.labels),[a]}}}}),rG=Xe({\"src/traces/densitymap/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x.z=S.z,x}}}),aG=Xe({\"src/traces/densitymap/index.js\"(Z,G){\"use strict\";G.exports={attributes:O6(),supplyDefaults:JV(),colorbar:n0(),formatLabels:R6(),calc:$V(),plot:eG(),hoverPoints:tG(),eventData:rG(),getBelow:function(v,x){for(var S=x.getMapLayers(),E=0;E0;){l=w[w.length-1];var A=x[l];if(r[l]=0&&a[l].push(o[g])}r[l]=M}else{if(e[l]===E[l]){for(var b=[],d=[],u=0,M=_.length-1;M>=0;--M){var y=_[M];if(t[y]=!1,b.push(y),d.push(a[y]),u+=a[y].length,o[y]=s.length,y===l){_.length=M;break}}s.push(b);for(var f=new Array(u),M=0;Mg&&(g=i.source[_]),i.target[_]>g&&(g=i.target[_]);var b=g+1;a.node._count=b;var d,u=a.node.groups,y={};for(_=0;_0&&e(N,b)&&e(O,b)&&!(y.hasOwnProperty(N)&&y.hasOwnProperty(O)&&y[N]===y[O])){y.hasOwnProperty(O)&&(O=y[O]),y.hasOwnProperty(N)&&(N=y[N]),N=+N,O=+O,p[N]=p[O]=!0;var P=\"\";i.label&&i.label[_]&&(P=i.label[_]);var U=null;P&&T.hasOwnProperty(P)&&(U=T[P]),s.push({pointNumber:_,label:P,color:h?i.color[_]:i.color,hovercolor:c?i.hovercolor[_]:i.hovercolor,customdata:m?i.customdata[_]:i.customdata,concentrationscale:U,source:N,target:O,value:+F}),z.source.push(N),z.target.push(O)}}var B=b+u.length,X=E(n.color),$=E(n.customdata),se=[];for(_=0;_b-1,childrenNodes:[],pointNumber:_,label:le,color:X?n.color[_]:n.color,customdata:$?n.customdata[_]:n.customdata})}var fe=!1;return o(B,z.source,z.target)&&(fe=!0),{circular:fe,links:s,nodes:se,groups:u,groupLookup:y}}function o(a,n,i){for(var s=x.init2dArray(a,0),h=0;h1})}G.exports=function(n,i){var s=r(i);return S({circular:s.circular,_nodes:s.nodes,_links:s.links,_groups:s.groups,_groupLookup:s.groupLookup})}}}),sG=Xe({\"node_modules/d3-quadtree/dist/d3-quadtree.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z):(v=v||self,x(v.d3=v.d3||{}))})(Z,function(v){\"use strict\";function x(b){var d=+this._x.call(null,b),u=+this._y.call(null,b);return S(this.cover(d,u),d,u,b)}function S(b,d,u,y){if(isNaN(d)||isNaN(u))return b;var f,R=b._root,L={data:y},z=b._x0,F=b._y0,N=b._x1,O=b._y1,P,U,B,X,$,se,le,fe;if(!R)return b._root=L,b;for(;R.length;)if(($=d>=(P=(z+N)/2))?z=P:N=P,(se=u>=(U=(F+O)/2))?F=U:O=U,f=R,!(R=R[le=se<<1|$]))return f[le]=L,b;if(B=+b._x.call(null,R.data),X=+b._y.call(null,R.data),d===B&&u===X)return L.next=R,f?f[le]=L:b._root=L,b;do f=f?f[le]=new Array(4):b._root=new Array(4),($=d>=(P=(z+N)/2))?z=P:N=P,(se=u>=(U=(F+O)/2))?F=U:O=U;while((le=se<<1|$)===(fe=(X>=U)<<1|B>=P));return f[fe]=R,f[le]=L,b}function E(b){var d,u,y=b.length,f,R,L=new Array(y),z=new Array(y),F=1/0,N=1/0,O=-1/0,P=-1/0;for(u=0;uO&&(O=f),RP&&(P=R));if(F>O||N>P)return this;for(this.cover(F,N).cover(O,P),u=0;ub||b>=f||y>d||d>=R;)switch(N=(dO||(z=X.y0)>P||(F=X.x1)=le)<<1|b>=se)&&(X=U[U.length-1],U[U.length-1]=U[U.length-1-$],U[U.length-1-$]=X)}else{var fe=b-+this._x.call(null,B.data),V=d-+this._y.call(null,B.data),Y=fe*fe+V*V;if(Y=(U=(L+F)/2))?L=U:F=U,($=P>=(B=(z+N)/2))?z=B:N=B,d=u,!(u=u[se=$<<1|X]))return this;if(!u.length)break;(d[se+1&3]||d[se+2&3]||d[se+3&3])&&(y=d,le=se)}for(;u.data!==b;)if(f=u,!(u=u.next))return this;return(R=u.next)&&delete u.next,f?(R?f.next=R:delete f.next,this):d?(R?d[se]=R:delete d[se],(u=d[0]||d[1]||d[2]||d[3])&&u===(d[3]||d[2]||d[1]||d[0])&&!u.length&&(y?y[le]=u:this._root=u),this):(this._root=R,this)}function i(b){for(var d=0,u=b.length;d=p.length)return l!=null&&g.sort(l),_!=null?_(g):g;for(var y=-1,f=g.length,R=p[b++],L,z,F=E(),N,O=d();++yp.length)return g;var d,u=T[b-1];return _!=null&&b>=p.length?d=g.entries():(d=[],g.each(function(y,f){d.push({key:f,values:M(y,b)})})),u!=null?d.sort(function(y,f){return u(y.key,f.key)}):d}return w={object:function(g){return A(g,0,t,r)},map:function(g){return A(g,0,o,a)},entries:function(g){return M(A(g,0,o,a),0)},key:function(g){return p.push(g),w},sortKeys:function(g){return T[p.length-1]=g,w},sortValues:function(g){return l=g,w},rollup:function(g){return _=g,w}}}function t(){return{}}function r(p,T,l){p[T]=l}function o(){return E()}function a(p,T,l){p.set(T,l)}function n(){}var i=E.prototype;n.prototype=s.prototype={constructor:n,has:i.has,add:function(p){return p+=\"\",this[x+p]=p,this},remove:i.remove,clear:i.clear,values:i.keys,size:i.size,empty:i.empty,each:i.each};function s(p,T){var l=new n;if(p instanceof n)p.each(function(A){l.add(A)});else if(p){var _=-1,w=p.length;if(T==null)for(;++_=0&&(i=n.slice(s+1),n=n.slice(0,s)),n&&!a.hasOwnProperty(n))throw new Error(\"unknown type: \"+n);return{type:n,name:i}})}E.prototype=S.prototype={constructor:E,on:function(o,a){var n=this._,i=e(o+\"\",n),s,h=-1,c=i.length;if(arguments.length<2){for(;++h0)for(var n=new Array(s),i=0,s,h;i=0&&b._call.call(null,d),b=b._next;--x}function l(){a=(o=i.now())+n,x=S=0;try{T()}finally{x=0,w(),a=0}}function _(){var b=i.now(),d=b-o;d>e&&(n-=d,o=b)}function w(){for(var b,d=t,u,y=1/0;d;)d._call?(y>d._time&&(y=d._time),b=d,d=d._next):(u=d._next,d._next=null,d=b?b._next=u:t=u);r=b,A(y)}function A(b){if(!x){S&&(S=clearTimeout(S));var d=b-a;d>24?(b<1/0&&(S=setTimeout(l,b-i.now()-n)),E&&(E=clearInterval(E))):(E||(o=i.now(),E=setInterval(_,e)),x=1,s(l))}}function M(b,d,u){var y=new m;return d=d==null?0:+d,y.restart(function(f){y.stop(),b(f+d)},d,u),y}function g(b,d,u){var y=new m,f=d;return d==null?(y.restart(b,d,u),y):(d=+d,u=u==null?h():+u,y.restart(function R(L){L+=f,y.restart(R,f+=d,u),b(L)},d,u),y)}v.interval=g,v.now=h,v.timeout=M,v.timer=p,v.timerFlush=T,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),cG=Xe({\"node_modules/d3-force/dist/d3-force.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z,sG(),LT(),lG(),uG()):x(v.d3=v.d3||{},v.d3,v.d3,v.d3,v.d3)})(Z,function(v,x,S,E,e){\"use strict\";function t(b,d){var u;b==null&&(b=0),d==null&&(d=0);function y(){var f,R=u.length,L,z=0,F=0;for(f=0;fP.index){var Q=U-oe.x-oe.vx,re=B-oe.y-oe.vy,ce=Q*Q+re*re;ceU+j||eeB+j||qF.r&&(F.r=F[N].r)}function z(){if(d){var F,N=d.length,O;for(u=new Array(N),F=0;F1?($==null?z.remove(X):z.set(X,B($)),d):z.get(X)},find:function(X,$,se){var le=0,fe=b.length,V,Y,ee,q,oe;for(se==null?se=1/0:se*=se,le=0;le1?(N.on(X,$),d):N.on(X)}}}function w(){var b,d,u,y=r(-30),f,R=1,L=1/0,z=.81;function F(U){var B,X=b.length,$=x.quadtree(b,m,p).visitAfter(O);for(u=U,B=0;B=L)return;(U.data!==d||U.next)&&(se===0&&(se=o(),V+=se*se),le===0&&(le=o(),V+=le*le),VE)if(!(Math.abs(l*m-p*T)>E)||!s)this._+=\"L\"+(this._x1=o)+\",\"+(this._y1=a);else{var w=n-h,A=i-c,M=m*m+p*p,g=w*w+A*A,b=Math.sqrt(M),d=Math.sqrt(_),u=s*Math.tan((x-Math.acos((M+_-g)/(2*b*d)))/2),y=u/d,f=u/b;Math.abs(y-1)>E&&(this._+=\"L\"+(o+y*T)+\",\"+(a+y*l)),this._+=\"A\"+s+\",\"+s+\",0,0,\"+ +(l*w>T*A)+\",\"+(this._x1=o+f*m)+\",\"+(this._y1=a+f*p)}},arc:function(o,a,n,i,s,h){o=+o,a=+a,n=+n,h=!!h;var c=n*Math.cos(i),m=n*Math.sin(i),p=o+c,T=a+m,l=1^h,_=h?i-s:s-i;if(n<0)throw new Error(\"negative radius: \"+n);this._x1===null?this._+=\"M\"+p+\",\"+T:(Math.abs(this._x1-p)>E||Math.abs(this._y1-T)>E)&&(this._+=\"L\"+p+\",\"+T),n&&(_<0&&(_=_%S+S),_>e?this._+=\"A\"+n+\",\"+n+\",0,1,\"+l+\",\"+(o-c)+\",\"+(a-m)+\"A\"+n+\",\"+n+\",0,1,\"+l+\",\"+(this._x1=p)+\",\"+(this._y1=T):_>E&&(this._+=\"A\"+n+\",\"+n+\",0,\"+ +(_>=x)+\",\"+l+\",\"+(this._x1=o+n*Math.cos(s))+\",\"+(this._y1=a+n*Math.sin(s))))},rect:function(o,a,n,i){this._+=\"M\"+(this._x0=this._x1=+o)+\",\"+(this._y0=this._y1=+a)+\"h\"+ +n+\"v\"+ +i+\"h\"+-n+\"Z\"},toString:function(){return this._}},v.path=r,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),U6=Xe({\"node_modules/d3-shape/dist/d3-shape.js\"(Z,G){(function(v,x){typeof Z==\"object\"&&typeof G<\"u\"?x(Z,fG()):(v=v||self,x(v.d3=v.d3||{},v.d3))})(Z,function(v,x){\"use strict\";function S(xt){return function(){return xt}}var E=Math.abs,e=Math.atan2,t=Math.cos,r=Math.max,o=Math.min,a=Math.sin,n=Math.sqrt,i=1e-12,s=Math.PI,h=s/2,c=2*s;function m(xt){return xt>1?0:xt<-1?s:Math.acos(xt)}function p(xt){return xt>=1?h:xt<=-1?-h:Math.asin(xt)}function T(xt){return xt.innerRadius}function l(xt){return xt.outerRadius}function _(xt){return xt.startAngle}function w(xt){return xt.endAngle}function A(xt){return xt&&xt.padAngle}function M(xt,Xt,vr,Or,ba,Pa,ya,la){var Ta=vr-xt,Ai=Or-Xt,ki=ya-ba,Ki=la-Pa,_n=Ki*Ta-ki*Ai;if(!(_n*_nls*ls+Cs*Cs&&(as=ss,Ns=uo),{cx:as,cy:Ns,x01:-ki,y01:-Ki,x11:as*(ba/Oo-1),y11:Ns*(ba/Oo-1)}}function b(){var xt=T,Xt=l,vr=S(0),Or=null,ba=_,Pa=w,ya=A,la=null;function Ta(){var Ai,ki,Ki=+xt.apply(this,arguments),_n=+Xt.apply(this,arguments),Rn=ba.apply(this,arguments)-h,En=Pa.apply(this,arguments)-h,On=E(En-Rn),no=En>Rn;if(la||(la=Ai=x.path()),_ni))la.moveTo(0,0);else if(On>c-i)la.moveTo(_n*t(Rn),_n*a(Rn)),la.arc(0,0,_n,Rn,En,!no),Ki>i&&(la.moveTo(Ki*t(En),Ki*a(En)),la.arc(0,0,Ki,En,Rn,no));else{var cn=Rn,lo=En,Wo=Rn,hs=En,Oo=On,Wn=On,No=ya.apply(this,arguments)/2,as=No>i&&(Or?+Or.apply(this,arguments):n(Ki*Ki+_n*_n)),Ns=o(E(_n-Ki)/2,+vr.apply(this,arguments)),ss=Ns,uo=Ns,jn,Xn;if(as>i){var ls=p(as/Ki*a(No)),Cs=p(as/_n*a(No));(Oo-=ls*2)>i?(ls*=no?1:-1,Wo+=ls,hs-=ls):(Oo=0,Wo=hs=(Rn+En)/2),(Wn-=Cs*2)>i?(Cs*=no?1:-1,cn+=Cs,lo-=Cs):(Wn=0,cn=lo=(Rn+En)/2)}var Ks=_n*t(cn),Xo=_n*a(cn),Gi=Ki*t(hs),Ln=Ki*a(hs);if(Ns>i){var Us=_n*t(lo),_s=_n*a(lo),Gn=Ki*t(Wo),zs=Ki*a(Wo),vs;if(Oni?uo>i?(jn=g(Gn,zs,Ks,Xo,_n,uo,no),Xn=g(Us,_s,Gi,Ln,_n,uo,no),la.moveTo(jn.cx+jn.x01,jn.cy+jn.y01),uoi)||!(Oo>i)?la.lineTo(Gi,Ln):ss>i?(jn=g(Gi,Ln,Us,_s,Ki,-ss,no),Xn=g(Ks,Xo,Gn,zs,Ki,-ss,no),la.lineTo(jn.cx+jn.x01,jn.cy+jn.y01),ss=_n;--Rn)la.point(lo[Rn],Wo[Rn]);la.lineEnd(),la.areaEnd()}no&&(lo[Ki]=+xt(On,Ki,ki),Wo[Ki]=+vr(On,Ki,ki),la.point(Xt?+Xt(On,Ki,ki):lo[Ki],Or?+Or(On,Ki,ki):Wo[Ki]))}if(cn)return la=null,cn+\"\"||null}function Ai(){return R().defined(ba).curve(ya).context(Pa)}return Ta.x=function(ki){return arguments.length?(xt=typeof ki==\"function\"?ki:S(+ki),Xt=null,Ta):xt},Ta.x0=function(ki){return arguments.length?(xt=typeof ki==\"function\"?ki:S(+ki),Ta):xt},Ta.x1=function(ki){return arguments.length?(Xt=ki==null?null:typeof ki==\"function\"?ki:S(+ki),Ta):Xt},Ta.y=function(ki){return arguments.length?(vr=typeof ki==\"function\"?ki:S(+ki),Or=null,Ta):vr},Ta.y0=function(ki){return arguments.length?(vr=typeof ki==\"function\"?ki:S(+ki),Ta):vr},Ta.y1=function(ki){return arguments.length?(Or=ki==null?null:typeof ki==\"function\"?ki:S(+ki),Ta):Or},Ta.lineX0=Ta.lineY0=function(){return Ai().x(xt).y(vr)},Ta.lineY1=function(){return Ai().x(xt).y(Or)},Ta.lineX1=function(){return Ai().x(Xt).y(vr)},Ta.defined=function(ki){return arguments.length?(ba=typeof ki==\"function\"?ki:S(!!ki),Ta):ba},Ta.curve=function(ki){return arguments.length?(ya=ki,Pa!=null&&(la=ya(Pa)),Ta):ya},Ta.context=function(ki){return arguments.length?(ki==null?Pa=la=null:la=ya(Pa=ki),Ta):Pa},Ta}function z(xt,Xt){return Xtxt?1:Xt>=xt?0:NaN}function F(xt){return xt}function N(){var xt=F,Xt=z,vr=null,Or=S(0),ba=S(c),Pa=S(0);function ya(la){var Ta,Ai=la.length,ki,Ki,_n=0,Rn=new Array(Ai),En=new Array(Ai),On=+Or.apply(this,arguments),no=Math.min(c,Math.max(-c,ba.apply(this,arguments)-On)),cn,lo=Math.min(Math.abs(no)/Ai,Pa.apply(this,arguments)),Wo=lo*(no<0?-1:1),hs;for(Ta=0;Ta0&&(_n+=hs);for(Xt!=null?Rn.sort(function(Oo,Wn){return Xt(En[Oo],En[Wn])}):vr!=null&&Rn.sort(function(Oo,Wn){return vr(la[Oo],la[Wn])}),Ta=0,Ki=_n?(no-Ai*Wo)/_n:0;Ta0?hs*Ki:0)+Wo,En[ki]={data:la[ki],index:Ta,value:hs,startAngle:On,endAngle:cn,padAngle:lo};return En}return ya.value=function(la){return arguments.length?(xt=typeof la==\"function\"?la:S(+la),ya):xt},ya.sortValues=function(la){return arguments.length?(Xt=la,vr=null,ya):Xt},ya.sort=function(la){return arguments.length?(vr=la,Xt=null,ya):vr},ya.startAngle=function(la){return arguments.length?(Or=typeof la==\"function\"?la:S(+la),ya):Or},ya.endAngle=function(la){return arguments.length?(ba=typeof la==\"function\"?la:S(+la),ya):ba},ya.padAngle=function(la){return arguments.length?(Pa=typeof la==\"function\"?la:S(+la),ya):Pa},ya}var O=U(u);function P(xt){this._curve=xt}P.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(xt,Xt){this._curve.point(Xt*Math.sin(xt),Xt*-Math.cos(xt))}};function U(xt){function Xt(vr){return new P(xt(vr))}return Xt._curve=xt,Xt}function B(xt){var Xt=xt.curve;return xt.angle=xt.x,delete xt.x,xt.radius=xt.y,delete xt.y,xt.curve=function(vr){return arguments.length?Xt(U(vr)):Xt()._curve},xt}function X(){return B(R().curve(O))}function $(){var xt=L().curve(O),Xt=xt.curve,vr=xt.lineX0,Or=xt.lineX1,ba=xt.lineY0,Pa=xt.lineY1;return xt.angle=xt.x,delete xt.x,xt.startAngle=xt.x0,delete xt.x0,xt.endAngle=xt.x1,delete xt.x1,xt.radius=xt.y,delete xt.y,xt.innerRadius=xt.y0,delete xt.y0,xt.outerRadius=xt.y1,delete xt.y1,xt.lineStartAngle=function(){return B(vr())},delete xt.lineX0,xt.lineEndAngle=function(){return B(Or())},delete xt.lineX1,xt.lineInnerRadius=function(){return B(ba())},delete xt.lineY0,xt.lineOuterRadius=function(){return B(Pa())},delete xt.lineY1,xt.curve=function(ya){return arguments.length?Xt(U(ya)):Xt()._curve},xt}function se(xt,Xt){return[(Xt=+Xt)*Math.cos(xt-=Math.PI/2),Xt*Math.sin(xt)]}var le=Array.prototype.slice;function fe(xt){return xt.source}function V(xt){return xt.target}function Y(xt){var Xt=fe,vr=V,Or=y,ba=f,Pa=null;function ya(){var la,Ta=le.call(arguments),Ai=Xt.apply(this,Ta),ki=vr.apply(this,Ta);if(Pa||(Pa=la=x.path()),xt(Pa,+Or.apply(this,(Ta[0]=Ai,Ta)),+ba.apply(this,Ta),+Or.apply(this,(Ta[0]=ki,Ta)),+ba.apply(this,Ta)),la)return Pa=null,la+\"\"||null}return ya.source=function(la){return arguments.length?(Xt=la,ya):Xt},ya.target=function(la){return arguments.length?(vr=la,ya):vr},ya.x=function(la){return arguments.length?(Or=typeof la==\"function\"?la:S(+la),ya):Or},ya.y=function(la){return arguments.length?(ba=typeof la==\"function\"?la:S(+la),ya):ba},ya.context=function(la){return arguments.length?(Pa=la??null,ya):Pa},ya}function ee(xt,Xt,vr,Or,ba){xt.moveTo(Xt,vr),xt.bezierCurveTo(Xt=(Xt+Or)/2,vr,Xt,ba,Or,ba)}function q(xt,Xt,vr,Or,ba){xt.moveTo(Xt,vr),xt.bezierCurveTo(Xt,vr=(vr+ba)/2,Or,vr,Or,ba)}function oe(xt,Xt,vr,Or,ba){var Pa=se(Xt,vr),ya=se(Xt,vr=(vr+ba)/2),la=se(Or,vr),Ta=se(Or,ba);xt.moveTo(Pa[0],Pa[1]),xt.bezierCurveTo(ya[0],ya[1],la[0],la[1],Ta[0],Ta[1])}function ae(){return Y(ee)}function j(){return Y(q)}function Q(){var xt=Y(oe);return xt.angle=xt.x,delete xt.x,xt.radius=xt.y,delete xt.y,xt}var re={draw:function(xt,Xt){var vr=Math.sqrt(Xt/s);xt.moveTo(vr,0),xt.arc(0,0,vr,0,c)}},ce={draw:function(xt,Xt){var vr=Math.sqrt(Xt/5)/2;xt.moveTo(-3*vr,-vr),xt.lineTo(-vr,-vr),xt.lineTo(-vr,-3*vr),xt.lineTo(vr,-3*vr),xt.lineTo(vr,-vr),xt.lineTo(3*vr,-vr),xt.lineTo(3*vr,vr),xt.lineTo(vr,vr),xt.lineTo(vr,3*vr),xt.lineTo(-vr,3*vr),xt.lineTo(-vr,vr),xt.lineTo(-3*vr,vr),xt.closePath()}},be=Math.sqrt(1/3),Ae=be*2,De={draw:function(xt,Xt){var vr=Math.sqrt(Xt/Ae),Or=vr*be;xt.moveTo(0,-vr),xt.lineTo(Or,0),xt.lineTo(0,vr),xt.lineTo(-Or,0),xt.closePath()}},ze=.8908130915292852,Ze=Math.sin(s/10)/Math.sin(7*s/10),at=Math.sin(c/10)*Ze,nt=-Math.cos(c/10)*Ze,rt={draw:function(xt,Xt){var vr=Math.sqrt(Xt*ze),Or=at*vr,ba=nt*vr;xt.moveTo(0,-vr),xt.lineTo(Or,ba);for(var Pa=1;Pa<5;++Pa){var ya=c*Pa/5,la=Math.cos(ya),Ta=Math.sin(ya);xt.lineTo(Ta*vr,-la*vr),xt.lineTo(la*Or-Ta*ba,Ta*Or+la*ba)}xt.closePath()}},st={draw:function(xt,Xt){var vr=Math.sqrt(Xt),Or=-vr/2;xt.rect(Or,Or,vr,vr)}},Me=Math.sqrt(3),ye={draw:function(xt,Xt){var vr=-Math.sqrt(Xt/(Me*3));xt.moveTo(0,vr*2),xt.lineTo(-Me*vr,-vr),xt.lineTo(Me*vr,-vr),xt.closePath()}},he=-.5,Oe=Math.sqrt(3)/2,tt=1/Math.sqrt(12),ot=(tt/2+1)*3,Qe={draw:function(xt,Xt){var vr=Math.sqrt(Xt/ot),Or=vr/2,ba=vr*tt,Pa=Or,ya=vr*tt+vr,la=-Pa,Ta=ya;xt.moveTo(Or,ba),xt.lineTo(Pa,ya),xt.lineTo(la,Ta),xt.lineTo(he*Or-Oe*ba,Oe*Or+he*ba),xt.lineTo(he*Pa-Oe*ya,Oe*Pa+he*ya),xt.lineTo(he*la-Oe*Ta,Oe*la+he*Ta),xt.lineTo(he*Or+Oe*ba,he*ba-Oe*Or),xt.lineTo(he*Pa+Oe*ya,he*ya-Oe*Pa),xt.lineTo(he*la+Oe*Ta,he*Ta-Oe*la),xt.closePath()}},Pt=[re,ce,De,st,rt,ye,Qe];function It(){var xt=S(re),Xt=S(64),vr=null;function Or(){var ba;if(vr||(vr=ba=x.path()),xt.apply(this,arguments).draw(vr,+Xt.apply(this,arguments)),ba)return vr=null,ba+\"\"||null}return Or.type=function(ba){return arguments.length?(xt=typeof ba==\"function\"?ba:S(ba),Or):xt},Or.size=function(ba){return arguments.length?(Xt=typeof ba==\"function\"?ba:S(+ba),Or):Xt},Or.context=function(ba){return arguments.length?(vr=ba??null,Or):vr},Or}function qt(){}function Wt(xt,Xt,vr){xt._context.bezierCurveTo((2*xt._x0+xt._x1)/3,(2*xt._y0+xt._y1)/3,(xt._x0+2*xt._x1)/3,(xt._y0+2*xt._y1)/3,(xt._x0+4*xt._x1+Xt)/6,(xt._y0+4*xt._y1+vr)/6)}function kr(xt){this._context=xt}kr.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:Wt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(xt,Xt){switch(xt=+xt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(xt,Xt):this._context.moveTo(xt,Xt);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:Wt(this,xt,Xt);break}this._x0=this._x1,this._x1=xt,this._y0=this._y1,this._y1=Xt}};function mr(xt){return new kr(xt)}function qr(xt){this._context=xt}qr.prototype={areaStart:qt,areaEnd:qt,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);break}}},point:function(xt,Xt){switch(xt=+xt,Xt=+Xt,this._point){case 0:this._point=1,this._x2=xt,this._y2=Xt;break;case 1:this._point=2,this._x3=xt,this._y3=Xt;break;case 2:this._point=3,this._x4=xt,this._y4=Xt,this._context.moveTo((this._x0+4*this._x1+xt)/6,(this._y0+4*this._y1+Xt)/6);break;default:Wt(this,xt,Xt);break}this._x0=this._x1,this._x1=xt,this._y0=this._y1,this._y1=Xt}};function Sr(xt){return new qr(xt)}function Rr(xt){this._context=xt}Rr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(xt,Xt){switch(xt=+xt,Xt=+Xt,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var vr=(this._x0+4*this._x1+xt)/6,Or=(this._y0+4*this._y1+Xt)/6;this._line?this._context.lineTo(vr,Or):this._context.moveTo(vr,Or);break;case 3:this._point=4;default:Wt(this,xt,Xt);break}this._x0=this._x1,this._x1=xt,this._y0=this._y1,this._y1=Xt}};function wt(xt){return new Rr(xt)}function Ne(xt,Xt){this._basis=new kr(xt),this._beta=Xt}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var xt=this._x,Xt=this._y,vr=xt.length-1;if(vr>0)for(var Or=xt[0],ba=Xt[0],Pa=xt[vr]-Or,ya=Xt[vr]-ba,la=-1,Ta;++la<=vr;)Ta=la/vr,this._basis.point(this._beta*xt[la]+(1-this._beta)*(Or+Ta*Pa),this._beta*Xt[la]+(1-this._beta)*(ba+Ta*ya));this._x=this._y=null,this._basis.lineEnd()},point:function(xt,Xt){this._x.push(+xt),this._y.push(+Xt)}};var Ke=function xt(Xt){function vr(Or){return Xt===1?new kr(Or):new Ne(Or,Xt)}return vr.beta=function(Or){return xt(+Or)},vr}(.85);function Te(xt,Xt,vr){xt._context.bezierCurveTo(xt._x1+xt._k*(xt._x2-xt._x0),xt._y1+xt._k*(xt._y2-xt._y0),xt._x2+xt._k*(xt._x1-Xt),xt._y2+xt._k*(xt._y1-vr),xt._x2,xt._y2)}function Ie(xt,Xt){this._context=xt,this._k=(1-Xt)/6}Ie.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:Te(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(xt,Xt){switch(xt=+xt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(xt,Xt):this._context.moveTo(xt,Xt);break;case 1:this._point=2,this._x1=xt,this._y1=Xt;break;case 2:this._point=3;default:Te(this,xt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=xt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Ve=function xt(Xt){function vr(Or){return new Ie(Or,Xt)}return vr.tension=function(Or){return xt(+Or)},vr}(0);function Ce(xt,Xt){this._context=xt,this._k=(1-Xt)/6}Ce.prototype={areaStart:qt,areaEnd:qt,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);break}}},point:function(xt,Xt){switch(xt=+xt,Xt=+Xt,this._point){case 0:this._point=1,this._x3=xt,this._y3=Xt;break;case 1:this._point=2,this._context.moveTo(this._x4=xt,this._y4=Xt);break;case 2:this._point=3,this._x5=xt,this._y5=Xt;break;default:Te(this,xt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=xt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Ee=function xt(Xt){function vr(Or){return new Ce(Or,Xt)}return vr.tension=function(Or){return xt(+Or)},vr}(0);function Pe(xt,Xt){this._context=xt,this._k=(1-Xt)/6}Pe.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(xt,Xt){switch(xt=+xt,Xt=+Xt,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:Te(this,xt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=xt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var ft=function xt(Xt){function vr(Or){return new Pe(Or,Xt)}return vr.tension=function(Or){return xt(+Or)},vr}(0);function ct(xt,Xt,vr){var Or=xt._x1,ba=xt._y1,Pa=xt._x2,ya=xt._y2;if(xt._l01_a>i){var la=2*xt._l01_2a+3*xt._l01_a*xt._l12_a+xt._l12_2a,Ta=3*xt._l01_a*(xt._l01_a+xt._l12_a);Or=(Or*la-xt._x0*xt._l12_2a+xt._x2*xt._l01_2a)/Ta,ba=(ba*la-xt._y0*xt._l12_2a+xt._y2*xt._l01_2a)/Ta}if(xt._l23_a>i){var Ai=2*xt._l23_2a+3*xt._l23_a*xt._l12_a+xt._l12_2a,ki=3*xt._l23_a*(xt._l23_a+xt._l12_a);Pa=(Pa*Ai+xt._x1*xt._l23_2a-Xt*xt._l12_2a)/ki,ya=(ya*Ai+xt._y1*xt._l23_2a-vr*xt._l12_2a)/ki}xt._context.bezierCurveTo(Or,ba,Pa,ya,xt._x2,xt._y2)}function _t(xt,Xt){this._context=xt,this._alpha=Xt}_t.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(xt,Xt){if(xt=+xt,Xt=+Xt,this._point){var vr=this._x2-xt,Or=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(vr*vr+Or*Or,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(xt,Xt):this._context.moveTo(xt,Xt);break;case 1:this._point=2;break;case 2:this._point=3;default:ct(this,xt,Xt);break}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=xt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Ct=function xt(Xt){function vr(Or){return Xt?new _t(Or,Xt):new Ie(Or,0)}return vr.alpha=function(Or){return xt(+Or)},vr}(.5);function ir(xt,Xt){this._context=xt,this._alpha=Xt}ir.prototype={areaStart:qt,areaEnd:qt,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);break}}},point:function(xt,Xt){if(xt=+xt,Xt=+Xt,this._point){var vr=this._x2-xt,Or=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(vr*vr+Or*Or,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=xt,this._y3=Xt;break;case 1:this._point=2,this._context.moveTo(this._x4=xt,this._y4=Xt);break;case 2:this._point=3,this._x5=xt,this._y5=Xt;break;default:ct(this,xt,Xt);break}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=xt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var rr=function xt(Xt){function vr(Or){return Xt?new ir(Or,Xt):new Ce(Or,0)}return vr.alpha=function(Or){return xt(+Or)},vr}(.5);function er(xt,Xt){this._context=xt,this._alpha=Xt}er.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(xt,Xt){if(xt=+xt,Xt=+Xt,this._point){var vr=this._x2-xt,Or=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(vr*vr+Or*Or,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:ct(this,xt,Xt);break}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=xt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Lr=function xt(Xt){function vr(Or){return Xt?new er(Or,Xt):new Pe(Or,0)}return vr.alpha=function(Or){return xt(+Or)},vr}(.5);function fa(xt){this._context=xt}fa.prototype={areaStart:qt,areaEnd:qt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(xt,Xt){xt=+xt,Xt=+Xt,this._point?this._context.lineTo(xt,Xt):(this._point=1,this._context.moveTo(xt,Xt))}};function Da(xt){return new fa(xt)}function Ia(xt){return xt<0?-1:1}function qa(xt,Xt,vr){var Or=xt._x1-xt._x0,ba=Xt-xt._x1,Pa=(xt._y1-xt._y0)/(Or||ba<0&&-0),ya=(vr-xt._y1)/(ba||Or<0&&-0),la=(Pa*ba+ya*Or)/(Or+ba);return(Ia(Pa)+Ia(ya))*Math.min(Math.abs(Pa),Math.abs(ya),.5*Math.abs(la))||0}function Wa(xt,Xt){var vr=xt._x1-xt._x0;return vr?(3*(xt._y1-xt._y0)/vr-Xt)/2:Xt}function Ca(xt,Xt,vr){var Or=xt._x0,ba=xt._y0,Pa=xt._x1,ya=xt._y1,la=(Pa-Or)/3;xt._context.bezierCurveTo(Or+la,ba+la*Xt,Pa-la,ya-la*vr,Pa,ya)}function hi(xt){this._context=xt}hi.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:Ca(this,this._t0,Wa(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(xt,Xt){var vr=NaN;if(xt=+xt,Xt=+Xt,!(xt===this._x1&&Xt===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(xt,Xt):this._context.moveTo(xt,Xt);break;case 1:this._point=2;break;case 2:this._point=3,Ca(this,Wa(this,vr=qa(this,xt,Xt)),vr);break;default:Ca(this,this._t0,vr=qa(this,xt,Xt));break}this._x0=this._x1,this._x1=xt,this._y0=this._y1,this._y1=Xt,this._t0=vr}}};function wi(xt){this._context=new Kt(xt)}(wi.prototype=Object.create(hi.prototype)).point=function(xt,Xt){hi.prototype.point.call(this,Xt,xt)};function Kt(xt){this._context=xt}Kt.prototype={moveTo:function(xt,Xt){this._context.moveTo(Xt,xt)},closePath:function(){this._context.closePath()},lineTo:function(xt,Xt){this._context.lineTo(Xt,xt)},bezierCurveTo:function(xt,Xt,vr,Or,ba,Pa){this._context.bezierCurveTo(Xt,xt,Or,vr,Pa,ba)}};function Ft(xt){return new hi(xt)}function Yt(xt){return new wi(xt)}function Jt(xt){this._context=xt}Jt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var xt=this._x,Xt=this._y,vr=xt.length;if(vr)if(this._line?this._context.lineTo(xt[0],Xt[0]):this._context.moveTo(xt[0],Xt[0]),vr===2)this._context.lineTo(xt[1],Xt[1]);else for(var Or=Fr(xt),ba=Fr(Xt),Pa=0,ya=1;ya=0;--Xt)ba[Xt]=(ya[Xt]-ba[Xt+1])/Pa[Xt];for(Pa[vr-1]=(xt[vr]+ba[vr-1])/2,Xt=0;Xt=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(xt,Xt){switch(xt=+xt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(xt,Xt):this._context.moveTo(xt,Xt);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,Xt),this._context.lineTo(xt,Xt);else{var vr=this._x*(1-this._t)+xt*this._t;this._context.lineTo(vr,this._y),this._context.lineTo(vr,Xt)}break}}this._x=xt,this._y=Xt}};function ca(xt){return new ra(xt,.5)}function Ba(xt){return new ra(xt,0)}function $a(xt){return new ra(xt,1)}function Za(xt,Xt){if((ya=xt.length)>1)for(var vr=1,Or,ba,Pa=xt[Xt[0]],ya,la=Pa.length;vr=0;)vr[Xt]=Xt;return vr}function pi(xt,Xt){return xt[Xt]}function Ra(){var xt=S([]),Xt=ri,vr=Za,Or=pi;function ba(Pa){var ya=xt.apply(this,arguments),la,Ta=Pa.length,Ai=ya.length,ki=new Array(Ai),Ki;for(la=0;la0){for(var vr,Or,ba=0,Pa=xt[0].length,ya;ba0)for(var vr,Or=0,ba,Pa,ya,la,Ta,Ai=xt[Xt[0]].length;Or0?(ba[0]=ya,ba[1]=ya+=Pa):Pa<0?(ba[1]=la,ba[0]=la+=Pa):(ba[0]=0,ba[1]=Pa)}function hn(xt,Xt){if((ba=xt.length)>0){for(var vr=0,Or=xt[Xt[0]],ba,Pa=Or.length;vr0)||!((Pa=(ba=xt[Xt[0]]).length)>0))){for(var vr=0,Or=1,ba,Pa,ya;OrPa&&(Pa=ba,vr=Xt);return vr}function Cr(xt){var Xt=xt.map(xr);return ri(xt).sort(function(vr,Or){return Xt[vr]-Xt[Or]})}function xr(xt){for(var Xt=0,vr=-1,Or=xt.length,ba;++vr0;--oe)Q(q*=.99),re(),j(q),re();function ae(){var ce=x.max(ee,function(De){return De.length}),be=B*(R-y)/(ce-1);z>be&&(z=be);var Ae=x.min(ee,function(De){return(R-y-(De.length-1)*z)/x.sum(De,c)});ee.forEach(function(De){De.forEach(function(ze,Ze){ze.y1=(ze.y0=Ze)+ze.value*Ae})}),Y.links.forEach(function(De){De.width=De.value*Ae})}function j(ce){ee.forEach(function(be){be.forEach(function(Ae){if(Ae.targetLinks.length){var De=(x.sum(Ae.targetLinks,p)/x.sum(Ae.targetLinks,c)-m(Ae))*ce;Ae.y0+=De,Ae.y1+=De}})})}function Q(ce){ee.slice().reverse().forEach(function(be){be.forEach(function(Ae){if(Ae.sourceLinks.length){var De=(x.sum(Ae.sourceLinks,T)/x.sum(Ae.sourceLinks,c)-m(Ae))*ce;Ae.y0+=De,Ae.y1+=De}})})}function re(){ee.forEach(function(ce){var be,Ae,De=y,ze=ce.length,Ze;for(ce.sort(h),Ze=0;Ze0&&(be.y0+=Ae,be.y1+=Ae),De=be.y1+z;if(Ae=De-z-R,Ae>0)for(De=be.y0-=Ae,be.y1-=Ae,Ze=ze-2;Ze>=0;--Ze)be=ce[Ze],Ae=be.y1+z-De,Ae>0&&(be.y0-=Ae,be.y1-=Ae),De=be.y0})}}function V(Y){Y.nodes.forEach(function(ee){ee.sourceLinks.sort(s),ee.targetLinks.sort(i)}),Y.nodes.forEach(function(ee){var q=ee.y0,oe=q;ee.sourceLinks.forEach(function(ae){ae.y0=q+ae.width/2,q+=ae.width}),ee.targetLinks.forEach(function(ae){ae.y1=oe+ae.width/2,oe+=ae.width})})}return X};function g(u){return[u.source.x1,u.y0]}function b(u){return[u.target.x0,u.y1]}var d=function(){return E.linkHorizontal().source(g).target(b)};v.sankey=M,v.sankeyCenter=a,v.sankeyLeft=t,v.sankeyRight=r,v.sankeyJustify=o,v.sankeyLinkHorizontal=d,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),pG=Xe({\"node_modules/elementary-circuits-directed-graph/johnson.js\"(Z,G){var v=N6();G.exports=function(S,E){var e=[],t=[],r=[],o={},a=[],n;function i(A){r[A]=!1,o.hasOwnProperty(A)&&Object.keys(o[A]).forEach(function(M){delete o[A][M],r[M]&&i(M)})}function s(A){var M=!1;t.push(A),r[A]=!0;var g,b;for(g=0;g=A})}function m(A){c(A);for(var M=S,g=v(M),b=g.components.filter(function(z){return z.length>1}),d=1/0,u,y=0;y\"u\"?\"undefined\":s(Ie))!==\"object\"&&(Ie=Ke.source=g(Ne,Ie)),(typeof Ve>\"u\"?\"undefined\":s(Ve))!==\"object\"&&(Ve=Ke.target=g(Ne,Ve)),Ie.sourceLinks.push(Ke),Ve.targetLinks.push(Ke)}),wt}function Wt(wt){wt.nodes.forEach(function(Ne){Ne.partOfCycle=!1,Ne.value=Math.max(x.sum(Ne.sourceLinks,p),x.sum(Ne.targetLinks,p)),Ne.sourceLinks.forEach(function(Ke){Ke.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ke.circularLinkType)}),Ne.targetLinks.forEach(function(Ke){Ke.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ke.circularLinkType)})})}function kr(wt){var Ne=0,Ke=0,Te=0,Ie=0,Ve=x.max(wt.nodes,function(Ce){return Ce.column});return wt.links.forEach(function(Ce){Ce.circular&&(Ce.circularLinkType==\"top\"?Ne=Ne+Ce.width:Ke=Ke+Ce.width,Ce.target.column==0&&(Ie=Ie+Ce.width),Ce.source.column==Ve&&(Te=Te+Ce.width))}),Ne=Ne>0?Ne+d+u:Ne,Ke=Ke>0?Ke+d+u:Ke,Te=Te>0?Te+d+u:Te,Ie=Ie>0?Ie+d+u:Ie,{top:Ne,bottom:Ke,left:Ie,right:Te}}function mr(wt,Ne){var Ke=x.max(wt.nodes,function(ft){return ft.column}),Te=at-ze,Ie=nt-Ze,Ve=Te+Ne.right+Ne.left,Ce=Ie+Ne.top+Ne.bottom,Ee=Te/Ve,Pe=Ie/Ce;return ze=ze*Ee+Ne.left,at=Ne.right==0?at:at*Ee,Ze=Ze*Pe+Ne.top,nt=nt*Pe,wt.nodes.forEach(function(ft){ft.x0=ze+ft.column*((at-ze-rt)/Ke),ft.x1=ft.x0+rt}),Pe}function qr(wt){var Ne,Ke,Te;for(Ne=wt.nodes,Ke=[],Te=0;Ne.length;++Te,Ne=Ke,Ke=[])Ne.forEach(function(Ie){Ie.depth=Te,Ie.sourceLinks.forEach(function(Ve){Ke.indexOf(Ve.target)<0&&!Ve.circular&&Ke.push(Ve.target)})});for(Ne=wt.nodes,Ke=[],Te=0;Ne.length;++Te,Ne=Ke,Ke=[])Ne.forEach(function(Ie){Ie.height=Te,Ie.targetLinks.forEach(function(Ve){Ke.indexOf(Ve.source)<0&&!Ve.circular&&Ke.push(Ve.source)})});wt.nodes.forEach(function(Ie){Ie.column=Math.floor(ye.call(null,Ie,Te))})}function Sr(wt,Ne,Ke){var Te=S.nest().key(function(ft){return ft.column}).sortKeys(x.ascending).entries(wt.nodes).map(function(ft){return ft.values});Ce(Ke),Pe();for(var Ie=1,Ve=Ne;Ve>0;--Ve)Ee(Ie*=.99,Ke),Pe();function Ce(ft){if(Qe){var ct=1/0;Te.forEach(function(rr){var er=nt*Qe/(rr.length+1);ct=er0))if(rr==0&&ir==1)Lr=er.y1-er.y0,er.y0=nt/2-Lr/2,er.y1=nt/2+Lr/2;else if(rr==_t-1&&ir==1)Lr=er.y1-er.y0,er.y0=nt/2-Lr/2,er.y1=nt/2+Lr/2;else{var fa=0,Da=x.mean(er.sourceLinks,_),Ia=x.mean(er.targetLinks,l);Da&&Ia?fa=(Da+Ia)/2:fa=Da||Ia;var qa=(fa-T(er))*ft;er.y0+=qa,er.y1+=qa}})})}function Pe(){Te.forEach(function(ft){var ct,_t,Ct=Ze,ir=ft.length,rr;for(ft.sort(m),rr=0;rr0&&(ct.y0+=_t,ct.y1+=_t),Ct=ct.y1+st;if(_t=Ct-st-nt,_t>0)for(Ct=ct.y0-=_t,ct.y1-=_t,rr=ir-2;rr>=0;--rr)ct=ft[rr],_t=ct.y1+st-Ct,_t>0&&(ct.y0-=_t,ct.y1-=_t),Ct=ct.y0})}}function Rr(wt){wt.nodes.forEach(function(Ne){Ne.sourceLinks.sort(c),Ne.targetLinks.sort(h)}),wt.nodes.forEach(function(Ne){var Ke=Ne.y0,Te=Ke,Ie=Ne.y1,Ve=Ie;Ne.sourceLinks.forEach(function(Ce){Ce.circular?(Ce.y0=Ie-Ce.width/2,Ie=Ie-Ce.width):(Ce.y0=Ke+Ce.width/2,Ke+=Ce.width)}),Ne.targetLinks.forEach(function(Ce){Ce.circular?(Ce.y1=Ve-Ce.width/2,Ve=Ve-Ce.width):(Ce.y1=Te+Ce.width/2,Te+=Ce.width)})})}return It}function R(ze,Ze,at){var nt=0;if(at===null){for(var rt=[],st=0;stZe.source.column)}function N(ze,Ze){var at=0;ze.sourceLinks.forEach(function(rt){at=rt.circular&&!Ae(rt,Ze)?at+1:at});var nt=0;return ze.targetLinks.forEach(function(rt){nt=rt.circular&&!Ae(rt,Ze)?nt+1:nt}),at+nt}function O(ze){var Ze=ze.source.sourceLinks,at=0;Ze.forEach(function(st){at=st.circular?at+1:at});var nt=ze.target.targetLinks,rt=0;return nt.forEach(function(st){rt=st.circular?rt+1:rt}),!(at>1||rt>1)}function P(ze,Ze,at){return ze.sort(X),ze.forEach(function(nt,rt){var st=0;if(Ae(nt,at)&&O(nt))nt.circularPathData.verticalBuffer=st+nt.width/2;else{var Me=0;for(Me;Mest?ye:st}nt.circularPathData.verticalBuffer=st+nt.width/2}}),ze}function U(ze,Ze,at,nt){var rt=5,st=x.min(ze.links,function(he){return he.source.y0});ze.links.forEach(function(he){he.circular&&(he.circularPathData={})});var Me=ze.links.filter(function(he){return he.circularLinkType==\"top\"});P(Me,Ze,nt);var ye=ze.links.filter(function(he){return he.circularLinkType==\"bottom\"});P(ye,Ze,nt),ze.links.forEach(function(he){if(he.circular){if(he.circularPathData.arcRadius=he.width+u,he.circularPathData.leftNodeBuffer=rt,he.circularPathData.rightNodeBuffer=rt,he.circularPathData.sourceWidth=he.source.x1-he.source.x0,he.circularPathData.sourceX=he.source.x0+he.circularPathData.sourceWidth,he.circularPathData.targetX=he.target.x0,he.circularPathData.sourceY=he.y0,he.circularPathData.targetY=he.y1,Ae(he,nt)&&O(he))he.circularPathData.leftSmallArcRadius=u+he.width/2,he.circularPathData.leftLargeArcRadius=u+he.width/2,he.circularPathData.rightSmallArcRadius=u+he.width/2,he.circularPathData.rightLargeArcRadius=u+he.width/2,he.circularLinkType==\"bottom\"?(he.circularPathData.verticalFullExtent=he.source.y1+d+he.circularPathData.verticalBuffer,he.circularPathData.verticalLeftInnerExtent=he.circularPathData.verticalFullExtent-he.circularPathData.leftLargeArcRadius,he.circularPathData.verticalRightInnerExtent=he.circularPathData.verticalFullExtent-he.circularPathData.rightLargeArcRadius):(he.circularPathData.verticalFullExtent=he.source.y0-d-he.circularPathData.verticalBuffer,he.circularPathData.verticalLeftInnerExtent=he.circularPathData.verticalFullExtent+he.circularPathData.leftLargeArcRadius,he.circularPathData.verticalRightInnerExtent=he.circularPathData.verticalFullExtent+he.circularPathData.rightLargeArcRadius);else{var Oe=he.source.column,tt=he.circularLinkType,ot=ze.links.filter(function(It){return It.source.column==Oe&&It.circularLinkType==tt});he.circularLinkType==\"bottom\"?ot.sort(se):ot.sort($);var Qe=0;ot.forEach(function(It,qt){It.circularLinkID==he.circularLinkID&&(he.circularPathData.leftSmallArcRadius=u+he.width/2+Qe,he.circularPathData.leftLargeArcRadius=u+he.width/2+qt*Ze+Qe),Qe=Qe+It.width}),Oe=he.target.column,ot=ze.links.filter(function(It){return It.target.column==Oe&&It.circularLinkType==tt}),he.circularLinkType==\"bottom\"?ot.sort(fe):ot.sort(le),Qe=0,ot.forEach(function(It,qt){It.circularLinkID==he.circularLinkID&&(he.circularPathData.rightSmallArcRadius=u+he.width/2+Qe,he.circularPathData.rightLargeArcRadius=u+he.width/2+qt*Ze+Qe),Qe=Qe+It.width}),he.circularLinkType==\"bottom\"?(he.circularPathData.verticalFullExtent=Math.max(at,he.source.y1,he.target.y1)+d+he.circularPathData.verticalBuffer,he.circularPathData.verticalLeftInnerExtent=he.circularPathData.verticalFullExtent-he.circularPathData.leftLargeArcRadius,he.circularPathData.verticalRightInnerExtent=he.circularPathData.verticalFullExtent-he.circularPathData.rightLargeArcRadius):(he.circularPathData.verticalFullExtent=st-d-he.circularPathData.verticalBuffer,he.circularPathData.verticalLeftInnerExtent=he.circularPathData.verticalFullExtent+he.circularPathData.leftLargeArcRadius,he.circularPathData.verticalRightInnerExtent=he.circularPathData.verticalFullExtent+he.circularPathData.rightLargeArcRadius)}he.circularPathData.leftInnerExtent=he.circularPathData.sourceX+he.circularPathData.leftNodeBuffer,he.circularPathData.rightInnerExtent=he.circularPathData.targetX-he.circularPathData.rightNodeBuffer,he.circularPathData.leftFullExtent=he.circularPathData.sourceX+he.circularPathData.leftLargeArcRadius+he.circularPathData.leftNodeBuffer,he.circularPathData.rightFullExtent=he.circularPathData.targetX-he.circularPathData.rightLargeArcRadius-he.circularPathData.rightNodeBuffer}if(he.circular)he.path=B(he);else{var Pt=E.linkHorizontal().source(function(It){var qt=It.source.x0+(It.source.x1-It.source.x0),Wt=It.y0;return[qt,Wt]}).target(function(It){var qt=It.target.x0,Wt=It.y1;return[qt,Wt]});he.path=Pt(he)}})}function B(ze){var Ze=\"\";return ze.circularLinkType==\"top\"?Ze=\"M\"+ze.circularPathData.sourceX+\" \"+ze.circularPathData.sourceY+\" L\"+ze.circularPathData.leftInnerExtent+\" \"+ze.circularPathData.sourceY+\" A\"+ze.circularPathData.leftLargeArcRadius+\" \"+ze.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+ze.circularPathData.leftFullExtent+\" \"+(ze.circularPathData.sourceY-ze.circularPathData.leftSmallArcRadius)+\" L\"+ze.circularPathData.leftFullExtent+\" \"+ze.circularPathData.verticalLeftInnerExtent+\" A\"+ze.circularPathData.leftLargeArcRadius+\" \"+ze.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+ze.circularPathData.leftInnerExtent+\" \"+ze.circularPathData.verticalFullExtent+\" L\"+ze.circularPathData.rightInnerExtent+\" \"+ze.circularPathData.verticalFullExtent+\" A\"+ze.circularPathData.rightLargeArcRadius+\" \"+ze.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+ze.circularPathData.rightFullExtent+\" \"+ze.circularPathData.verticalRightInnerExtent+\" L\"+ze.circularPathData.rightFullExtent+\" \"+(ze.circularPathData.targetY-ze.circularPathData.rightSmallArcRadius)+\" A\"+ze.circularPathData.rightLargeArcRadius+\" \"+ze.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+ze.circularPathData.rightInnerExtent+\" \"+ze.circularPathData.targetY+\" L\"+ze.circularPathData.targetX+\" \"+ze.circularPathData.targetY:Ze=\"M\"+ze.circularPathData.sourceX+\" \"+ze.circularPathData.sourceY+\" L\"+ze.circularPathData.leftInnerExtent+\" \"+ze.circularPathData.sourceY+\" A\"+ze.circularPathData.leftLargeArcRadius+\" \"+ze.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+ze.circularPathData.leftFullExtent+\" \"+(ze.circularPathData.sourceY+ze.circularPathData.leftSmallArcRadius)+\" L\"+ze.circularPathData.leftFullExtent+\" \"+ze.circularPathData.verticalLeftInnerExtent+\" A\"+ze.circularPathData.leftLargeArcRadius+\" \"+ze.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+ze.circularPathData.leftInnerExtent+\" \"+ze.circularPathData.verticalFullExtent+\" L\"+ze.circularPathData.rightInnerExtent+\" \"+ze.circularPathData.verticalFullExtent+\" A\"+ze.circularPathData.rightLargeArcRadius+\" \"+ze.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+ze.circularPathData.rightFullExtent+\" \"+ze.circularPathData.verticalRightInnerExtent+\" L\"+ze.circularPathData.rightFullExtent+\" \"+(ze.circularPathData.targetY+ze.circularPathData.rightSmallArcRadius)+\" A\"+ze.circularPathData.rightLargeArcRadius+\" \"+ze.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+ze.circularPathData.rightInnerExtent+\" \"+ze.circularPathData.targetY+\" L\"+ze.circularPathData.targetX+\" \"+ze.circularPathData.targetY,Ze}function X(ze,Ze){return V(ze)==V(Ze)?ze.circularLinkType==\"bottom\"?se(ze,Ze):$(ze,Ze):V(Ze)-V(ze)}function $(ze,Ze){return ze.y0-Ze.y0}function se(ze,Ze){return Ze.y0-ze.y0}function le(ze,Ze){return ze.y1-Ze.y1}function fe(ze,Ze){return Ze.y1-ze.y1}function V(ze){return ze.target.column-ze.source.column}function Y(ze){return ze.target.x0-ze.source.x1}function ee(ze,Ze){var at=z(ze),nt=Y(Ze)/Math.tan(at),rt=be(ze)==\"up\"?ze.y1+nt:ze.y1-nt;return rt}function q(ze,Ze){var at=z(ze),nt=Y(Ze)/Math.tan(at),rt=be(ze)==\"up\"?ze.y1-nt:ze.y1+nt;return rt}function oe(ze,Ze,at,nt){ze.links.forEach(function(rt){if(!rt.circular&&rt.target.column-rt.source.column>1){var st=rt.source.column+1,Me=rt.target.column-1,ye=1,he=Me-st+1;for(ye=1;st<=Me;st++,ye++)ze.nodes.forEach(function(Oe){if(Oe.column==st){var tt=ye/(he+1),ot=Math.pow(1-tt,3),Qe=3*tt*Math.pow(1-tt,2),Pt=3*Math.pow(tt,2)*(1-tt),It=Math.pow(tt,3),qt=ot*rt.y0+Qe*rt.y0+Pt*rt.y1+It*rt.y1,Wt=qt-rt.width/2,kr=qt+rt.width/2,mr;Wt>Oe.y0&&WtOe.y0&&krOe.y1&&j(qr,mr,Ze,at)})):WtOe.y1&&(mr=kr-Oe.y0+10,Oe=j(Oe,mr,Ze,at),ze.nodes.forEach(function(qr){b(qr,nt)==b(Oe,nt)||qr.column!=Oe.column||qr.y0Oe.y1&&j(qr,mr,Ze,at)}))}})}})}function ae(ze,Ze){return ze.y0>Ze.y0&&ze.y0Ze.y0&&ze.y1Ze.y1}function j(ze,Ze,at,nt){return ze.y0+Ze>=at&&ze.y1+Ze<=nt&&(ze.y0=ze.y0+Ze,ze.y1=ze.y1+Ze,ze.targetLinks.forEach(function(rt){rt.y1=rt.y1+Ze}),ze.sourceLinks.forEach(function(rt){rt.y0=rt.y0+Ze})),ze}function Q(ze,Ze,at,nt){ze.nodes.forEach(function(rt){nt&&rt.y+(rt.y1-rt.y0)>Ze&&(rt.y=rt.y-(rt.y+(rt.y1-rt.y0)-Ze));var st=ze.links.filter(function(he){return b(he.source,at)==b(rt,at)}),Me=st.length;Me>1&&st.sort(function(he,Oe){if(!he.circular&&!Oe.circular){if(he.target.column==Oe.target.column)return he.y1-Oe.y1;if(ce(he,Oe)){if(he.target.column>Oe.target.column){var tt=q(Oe,he);return he.y1-tt}if(Oe.target.column>he.target.column){var ot=q(he,Oe);return ot-Oe.y1}}else return he.y1-Oe.y1}if(he.circular&&!Oe.circular)return he.circularLinkType==\"top\"?-1:1;if(Oe.circular&&!he.circular)return Oe.circularLinkType==\"top\"?1:-1;if(he.circular&&Oe.circular)return he.circularLinkType===Oe.circularLinkType&&he.circularLinkType==\"top\"?he.target.column===Oe.target.column?he.target.y1-Oe.target.y1:Oe.target.column-he.target.column:he.circularLinkType===Oe.circularLinkType&&he.circularLinkType==\"bottom\"?he.target.column===Oe.target.column?Oe.target.y1-he.target.y1:he.target.column-Oe.target.column:he.circularLinkType==\"top\"?-1:1});var ye=rt.y0;st.forEach(function(he){he.y0=ye+he.width/2,ye=ye+he.width}),st.forEach(function(he,Oe){if(he.circularLinkType==\"bottom\"){var tt=Oe+1,ot=0;for(tt;tt1&&rt.sort(function(ye,he){if(!ye.circular&&!he.circular){if(ye.source.column==he.source.column)return ye.y0-he.y0;if(ce(ye,he)){if(he.source.column0?\"up\":\"down\"}function Ae(ze,Ze){return b(ze.source,Ze)==b(ze.target,Ze)}function De(ze,Ze,at){var nt=ze.nodes,rt=ze.links,st=!1,Me=!1;if(rt.forEach(function(Qe){Qe.circularLinkType==\"top\"?st=!0:Qe.circularLinkType==\"bottom\"&&(Me=!0)}),st==!1||Me==!1){var ye=x.min(nt,function(Qe){return Qe.y0}),he=x.max(nt,function(Qe){return Qe.y1}),Oe=he-ye,tt=at-Ze,ot=tt/Oe;nt.forEach(function(Qe){var Pt=(Qe.y1-Qe.y0)*ot;Qe.y0=(Qe.y0-ye)*ot,Qe.y1=Qe.y0+Pt}),rt.forEach(function(Qe){Qe.y0=(Qe.y0-ye)*ot,Qe.y1=(Qe.y1-ye)*ot,Qe.width=Qe.width*ot})}}v.sankeyCircular=f,v.sankeyCenter=n,v.sankeyLeft=r,v.sankeyRight=o,v.sankeyJustify=a,Object.defineProperty(v,\"__esModule\",{value:!0})})}}),j6=Xe({\"src/traces/sankey/constants.js\"(Z,G){\"use strict\";G.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\",nodeLabel:\"node-label\"}}}}),vG=Xe({\"src/traces/sankey/render.js\"(Z,G){\"use strict\";var v=cG(),x=(pg(),zf(p0)).interpolateNumber,S=Hn(),E=hG(),e=dG(),t=j6(),r=Ch(),o=$n(),a=es(),n=sa(),i=n.strTranslate,s=n.strRotate,h=kv(),c=h.keyFun,m=h.repeat,p=h.unwrap,T=ou(),l=so(),_=uh(),w=_.CAP_SHIFT,A=_.LINE_SPACING,M=3;function g(ee,q,oe){var ae=p(q),j=ae.trace,Q=j.domain,re=j.orientation===\"h\",ce=j.node.pad,be=j.node.thickness,Ae={justify:E.sankeyJustify,left:E.sankeyLeft,right:E.sankeyRight,center:E.sankeyCenter}[j.node.align],De=ee.width*(Q.x[1]-Q.x[0]),ze=ee.height*(Q.y[1]-Q.y[0]),Ze=ae._nodes,at=ae._links,nt=ae.circular,rt;nt?rt=e.sankeyCircular().circularLinkGap(0):rt=E.sankey(),rt.iterations(t.sankeyIterations).size(re?[De,ze]:[ze,De]).nodeWidth(be).nodePadding(ce).nodeId(function(qr){return qr.pointNumber}).nodeAlign(Ae).nodes(Ze).links(at);var st=rt();rt.nodePadding()=Ne||(wt=Ne-Rr.y0,wt>1e-6&&(Rr.y0+=wt,Rr.y1+=wt)),Ne=Rr.y1+ce})}function qt(qr){var Sr=qr.map(function(Ve,Ce){return{x0:Ve.x0,index:Ce}}).sort(function(Ve,Ce){return Ve.x0-Ce.x0}),Rr=[],wt=-1,Ne,Ke=-1/0,Te;for(Me=0;MeKe+be&&(wt+=1,Ne=Ie.x0),Ke=Ie.x0,Rr[wt]||(Rr[wt]=[]),Rr[wt].push(Ie),Te=Ne-Ie.x0,Ie.x0+=Te,Ie.x1+=Te}return Rr}if(j.node.x.length&&j.node.y.length){for(Me=0;Me0?\" L \"+j.targetX+\" \"+j.targetY:\"\")+\"Z\"):(oe=\"M \"+(j.targetX-q)+\" \"+(j.targetY-ae)+\" L \"+(j.rightInnerExtent-q)+\" \"+(j.targetY-ae)+\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightSmallArcRadius+ae)+\" 0 0 0 \"+(j.rightFullExtent-ae-q)+\" \"+(j.targetY+j.rightSmallArcRadius)+\" L \"+(j.rightFullExtent-ae-q)+\" \"+j.verticalRightInnerExtent,Q&&re?oe+=\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.rightInnerExtent-ae-q)+\" \"+(j.verticalFullExtent+ae)+\" L \"+(j.rightFullExtent+ae-q-(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent+ae)+\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.leftFullExtent+ae)+\" \"+j.verticalLeftInnerExtent:Q?oe+=\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.rightFullExtent-q-ae-(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" L \"+(j.leftFullExtent+ae+(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.leftFullExtent+ae)+\" \"+j.verticalLeftInnerExtent:oe+=\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.rightInnerExtent-q)+\" \"+(j.verticalFullExtent+ae)+\" L \"+j.leftInnerExtent+\" \"+(j.verticalFullExtent+ae)+\" A \"+(j.leftLargeArcRadius+ae)+\" \"+(j.leftLargeArcRadius+ae)+\" 0 0 0 \"+(j.leftFullExtent+ae)+\" \"+j.verticalLeftInnerExtent,oe+=\" L \"+(j.leftFullExtent+ae)+\" \"+(j.sourceY+j.leftSmallArcRadius)+\" A \"+(j.leftLargeArcRadius+ae)+\" \"+(j.leftSmallArcRadius+ae)+\" 0 0 0 \"+j.leftInnerExtent+\" \"+(j.sourceY-ae)+\" L \"+j.sourceX+\" \"+(j.sourceY-ae)+\" L \"+j.sourceX+\" \"+(j.sourceY+ae)+\" L \"+j.leftInnerExtent+\" \"+(j.sourceY+ae)+\" A \"+(j.leftLargeArcRadius-ae)+\" \"+(j.leftSmallArcRadius-ae)+\" 0 0 1 \"+(j.leftFullExtent-ae)+\" \"+(j.sourceY+j.leftSmallArcRadius)+\" L \"+(j.leftFullExtent-ae)+\" \"+j.verticalLeftInnerExtent,Q&&re?oe+=\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.leftFullExtent-ae-(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" L \"+(j.rightFullExtent+ae-q+(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.rightFullExtent+ae-q)+\" \"+j.verticalRightInnerExtent:Q?oe+=\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.leftFullExtent+ae)+\" \"+(j.verticalFullExtent+ae)+\" L \"+(j.rightFullExtent-q-ae)+\" \"+(j.verticalFullExtent+ae)+\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.rightFullExtent+ae-q)+\" \"+j.verticalRightInnerExtent:oe+=\" A \"+(j.leftLargeArcRadius-ae)+\" \"+(j.leftLargeArcRadius-ae)+\" 0 0 1 \"+j.leftInnerExtent+\" \"+(j.verticalFullExtent-ae)+\" L \"+(j.rightInnerExtent-q)+\" \"+(j.verticalFullExtent-ae)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightLargeArcRadius-ae)+\" 0 0 1 \"+(j.rightFullExtent+ae-q)+\" \"+j.verticalRightInnerExtent,oe+=\" L \"+(j.rightFullExtent+ae-q)+\" \"+(j.targetY+j.rightSmallArcRadius)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.rightInnerExtent-q)+\" \"+(j.targetY+ae)+\" L \"+(j.targetX-q)+\" \"+(j.targetY+ae)+(q>0?\" L \"+j.targetX+\" \"+j.targetY:\"\")+\"Z\"),oe}function u(){var ee=.5;function q(oe){var ae=oe.linkArrowLength;if(oe.link.circular)return d(oe.link,ae);var j=Math.abs((oe.link.target.x0-oe.link.source.x1)/2);ae>j&&(ae=j);var Q=oe.link.source.x1,re=oe.link.target.x0-ae,ce=x(Q,re),be=ce(ee),Ae=ce(1-ee),De=oe.link.y0-oe.link.width/2,ze=oe.link.y0+oe.link.width/2,Ze=oe.link.y1-oe.link.width/2,at=oe.link.y1+oe.link.width/2,nt=\"M\"+Q+\",\"+De,rt=\"C\"+be+\",\"+De+\" \"+Ae+\",\"+Ze+\" \"+re+\",\"+Ze,st=\"C\"+Ae+\",\"+at+\" \"+be+\",\"+ze+\" \"+Q+\",\"+ze,Me=ae>0?\"L\"+(re+ae)+\",\"+(Ze+oe.link.width/2):\"\";return Me+=\"L\"+re+\",\"+at,nt+rt+Me+st+\"Z\"}return q}function y(ee,q){var oe=r(q.color),ae=t.nodePadAcross,j=ee.nodePad/2;q.dx=q.x1-q.x0,q.dy=q.y1-q.y0;var Q=q.dx,re=Math.max(.5,q.dy),ce=\"node_\"+q.pointNumber;return q.group&&(ce=n.randstr()),q.trace=ee.trace,q.curveNumber=ee.trace.index,{index:q.pointNumber,key:ce,partOfGroup:q.partOfGroup||!1,group:q.group,traceId:ee.key,trace:ee.trace,node:q,nodePad:ee.nodePad,nodeLineColor:ee.nodeLineColor,nodeLineWidth:ee.nodeLineWidth,textFont:ee.textFont,size:ee.horizontal?ee.height:ee.width,visibleWidth:Math.ceil(Q),visibleHeight:re,zoneX:-ae,zoneY:-j,zoneWidth:Q+2*ae,zoneHeight:re+2*j,labelY:ee.horizontal?q.dy/2+1:q.dx/2+1,left:q.originalLayer===1,sizeAcross:ee.width,forceLayouts:ee.forceLayouts,horizontal:ee.horizontal,darkBackground:oe.getBrightness()<=128,tinyColorHue:o.tinyRGB(oe),tinyColorAlpha:oe.getAlpha(),valueFormat:ee.valueFormat,valueSuffix:ee.valueSuffix,sankey:ee.sankey,graph:ee.graph,arrangement:ee.arrangement,uniqueNodeLabelPathId:[ee.guid,ee.key,ce].join(\"_\"),interactionState:ee.interactionState,figure:ee}}function f(ee){ee.attr(\"transform\",function(q){return i(q.node.x0.toFixed(3),q.node.y0.toFixed(3))})}function R(ee){ee.call(f)}function L(ee,q){ee.call(R),q.attr(\"d\",u())}function z(ee){ee.attr(\"width\",function(q){return q.node.x1-q.node.x0}).attr(\"height\",function(q){return q.visibleHeight})}function F(ee){return ee.link.width>1||ee.linkLineWidth>0}function N(ee){var q=i(ee.translateX,ee.translateY);return q+(ee.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function O(ee,q,oe){ee.on(\".basic\",null).on(\"mouseover.basic\",function(ae){!ae.interactionState.dragInProgress&&!ae.partOfGroup&&(oe.hover(this,ae,q),ae.interactionState.hovered=[this,ae])}).on(\"mousemove.basic\",function(ae){!ae.interactionState.dragInProgress&&!ae.partOfGroup&&(oe.follow(this,ae),ae.interactionState.hovered=[this,ae])}).on(\"mouseout.basic\",function(ae){!ae.interactionState.dragInProgress&&!ae.partOfGroup&&(oe.unhover(this,ae,q),ae.interactionState.hovered=!1)}).on(\"click.basic\",function(ae){ae.interactionState.hovered&&(oe.unhover(this,ae,q),ae.interactionState.hovered=!1),!ae.interactionState.dragInProgress&&!ae.partOfGroup&&oe.select(this,ae,q)})}function P(ee,q,oe,ae){var j=S.behavior.drag().origin(function(Q){return{x:Q.node.x0+Q.visibleWidth/2,y:Q.node.y0+Q.visibleHeight/2}}).on(\"dragstart\",function(Q){if(Q.arrangement!==\"fixed\"&&(n.ensureSingle(ae._fullLayout._infolayer,\"g\",\"dragcover\",function(ce){ae._fullLayout._dragCover=ce}),n.raiseToTop(this),Q.interactionState.dragInProgress=Q.node,le(Q.node),Q.interactionState.hovered&&(oe.nodeEvents.unhover.apply(0,Q.interactionState.hovered),Q.interactionState.hovered=!1),Q.arrangement===\"snap\")){var re=Q.traceId+\"|\"+Q.key;Q.forceLayouts[re]?Q.forceLayouts[re].alpha(1):U(ee,re,Q,ae),B(ee,q,Q,re,ae)}}).on(\"drag\",function(Q){if(Q.arrangement!==\"fixed\"){var re=S.event.x,ce=S.event.y;Q.arrangement===\"snap\"?(Q.node.x0=re-Q.visibleWidth/2,Q.node.x1=re+Q.visibleWidth/2,Q.node.y0=ce-Q.visibleHeight/2,Q.node.y1=ce+Q.visibleHeight/2):(Q.arrangement===\"freeform\"&&(Q.node.x0=re-Q.visibleWidth/2,Q.node.x1=re+Q.visibleWidth/2),ce=Math.max(0,Math.min(Q.size-Q.visibleHeight/2,ce)),Q.node.y0=ce-Q.visibleHeight/2,Q.node.y1=ce+Q.visibleHeight/2),le(Q.node),Q.arrangement!==\"snap\"&&(Q.sankey.update(Q.graph),L(ee.filter(fe(Q)),q))}}).on(\"dragend\",function(Q){if(Q.arrangement!==\"fixed\"){Q.interactionState.dragInProgress=!1;for(var re=0;re0)window.requestAnimationFrame(Q);else{var be=oe.node.originalX;oe.node.x0=be-oe.visibleWidth/2,oe.node.x1=be+oe.visibleWidth/2,$(oe,j)}})}function X(ee,q,oe,ae){return function(){for(var Q=0,re=0;re0&&ae.forceLayouts[q].alpha(0)}}function $(ee,q){for(var oe=[],ae=[],j=0;j\"),color:_(V,\"bgcolor\")||t.addOpacity(ae.color,1),borderColor:_(V,\"bordercolor\"),fontFamily:_(V,\"font.family\"),fontSize:_(V,\"font.size\"),fontColor:_(V,\"font.color\"),fontWeight:_(V,\"font.weight\"),fontStyle:_(V,\"font.style\"),fontVariant:_(V,\"font.variant\"),fontTextcase:_(V,\"font.textcase\"),fontLineposition:_(V,\"font.lineposition\"),fontShadow:_(V,\"font.shadow\"),nameLength:_(V,\"namelength\"),textAlign:_(V,\"align\"),idealAlign:v.event.x\"),color:_(V,\"bgcolor\")||fe.tinyColorHue,borderColor:_(V,\"bordercolor\"),fontFamily:_(V,\"font.family\"),fontSize:_(V,\"font.size\"),fontColor:_(V,\"font.color\"),fontWeight:_(V,\"font.weight\"),fontStyle:_(V,\"font.style\"),fontVariant:_(V,\"font.variant\"),fontTextcase:_(V,\"font.textcase\"),fontLineposition:_(V,\"font.lineposition\"),fontShadow:_(V,\"font.shadow\"),nameLength:_(V,\"namelength\"),textAlign:_(V,\"align\"),idealAlign:\"left\",hovertemplate:V.hovertemplate,hovertemplateLabels:Q,eventData:[fe.node]},{container:g._hoverlayer.node(),outerContainer:g._paper.node(),gd:A});i(be,.85),s(be)}}},se=function(le,fe,V){A._fullLayout.hovermode!==!1&&(v.select(le).call(p,fe,V),fe.node.trace.node.hoverinfo!==\"skip\"&&(fe.node.fullData=fe.node.trace,A.emit(\"plotly_unhover\",{event:v.event,points:[fe.node]})),e.loneUnhover(g._hoverlayer.node()))};E(A,b,M,{width:d.w,height:d.h,margin:{t:d.t,r:d.r,b:d.b,l:d.l}},{linkEvents:{hover:R,follow:P,unhover:U,select:f},nodeEvents:{hover:X,follow:$,unhover:se,select:B}})}}}),mG=Xe({\"src/traces/sankey/base_plot.js\"(Z){\"use strict\";var G=pc().overrideAll,v=Hh().getModuleCalcData,x=q6(),S=Zm(),E=Kd(),e=Ap(),t=Af().prepSelect,r=sa(),o=so(),a=\"sankey\";Z.name=a,Z.baseLayoutAttrOverrides=G({hoverlabel:S.hoverlabel},\"plot\",\"nested\"),Z.plot=function(i){var s=v(i.calcdata,a)[0];x(i,s),Z.updateFx(i)},Z.clean=function(i,s,h,c){var m=c._has&&c._has(a),p=s._has&&s._has(a);m&&!p&&(c._paperdiv.selectAll(\".sankey\").remove(),c._paperdiv.selectAll(\".bgsankey\").remove())},Z.updateFx=function(i){for(var s=0;s0}G.exports=function(F,N,O,P){var U=F._fullLayout,B;w(O)&&P&&(B=P()),E.makeTraceGroups(U._indicatorlayer,N,\"trace\").each(function(X){var $=X[0],se=$.trace,le=v.select(this),fe=se._hasGauge,V=se._isAngular,Y=se._isBullet,ee=se.domain,q={w:U._size.w*(ee.x[1]-ee.x[0]),h:U._size.h*(ee.y[1]-ee.y[0]),l:U._size.l+U._size.w*ee.x[0],r:U._size.r+U._size.w*(1-ee.x[1]),t:U._size.t+U._size.h*(1-ee.y[1]),b:U._size.b+U._size.h*ee.y[0]},oe=q.l+q.w/2,ae=q.t+q.h/2,j=Math.min(q.w/2,q.h),Q=n.innerRadius*j,re,ce,be,Ae=se.align||\"center\";if(ce=ae,!fe)re=q.l+l[Ae]*q.w,be=function(he){return y(he,q.w,q.h)};else if(V&&(re=oe,ce=ae+j/2,be=function(he){return f(he,.9*Q)}),Y){var De=n.bulletPadding,ze=1-n.bulletNumberDomainSize+De;re=q.l+(ze+(1-ze)*l[Ae])*q.w,be=function(he){return y(he,(n.bulletNumberDomainSize-De)*q.w,q.h)}}g(F,le,X,{numbersX:re,numbersY:ce,numbersScaler:be,transitionOpts:O,onComplete:B});var Ze,at;fe&&(Ze={range:se.gauge.axis.range,color:se.gauge.bgcolor,line:{color:se.gauge.bordercolor,width:0},thickness:1},at={range:se.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:se.gauge.bordercolor,width:se.gauge.borderwidth},thickness:1});var nt=le.selectAll(\"g.angular\").data(V?X:[]);nt.exit().remove();var rt=le.selectAll(\"g.angularaxis\").data(V?X:[]);rt.exit().remove(),V&&M(F,le,X,{radius:j,innerRadius:Q,gauge:nt,layer:rt,size:q,gaugeBg:Ze,gaugeOutline:at,transitionOpts:O,onComplete:B});var st=le.selectAll(\"g.bullet\").data(Y?X:[]);st.exit().remove();var Me=le.selectAll(\"g.bulletaxis\").data(Y?X:[]);Me.exit().remove(),Y&&A(F,le,X,{gauge:st,layer:Me,size:q,gaugeBg:Ze,gaugeOutline:at,transitionOpts:O,onComplete:B});var ye=le.selectAll(\"text.title\").data(X);ye.exit().remove(),ye.enter().append(\"text\").classed(\"title\",!0),ye.attr(\"text-anchor\",function(){return Y?T.right:T[se.title.align]}).text(se.title.text).call(a.font,se.title.font).call(i.convertToTspans,F),ye.attr(\"transform\",function(){var he=q.l+q.w*l[se.title.align],Oe,tt=n.titlePadding,ot=a.bBox(ye.node());if(fe){if(V)if(se.gauge.axis.visible){var Qe=a.bBox(rt.node());Oe=Qe.top-tt-ot.bottom}else Oe=q.t+q.h/2-j/2-ot.bottom-tt;Y&&(Oe=ce-(ot.top+ot.bottom)/2,he=q.l-n.bulletPadding*q.w)}else Oe=se._numbersTop-tt-ot.bottom;return t(he,Oe)})})};function A(z,F,N,O){var P=N[0].trace,U=O.gauge,B=O.layer,X=O.gaugeBg,$=O.gaugeOutline,se=O.size,le=P.domain,fe=O.transitionOpts,V=O.onComplete,Y,ee,q,oe,ae;U.enter().append(\"g\").classed(\"bullet\",!0),U.attr(\"transform\",t(se.l,se.t)),B.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),B.selectAll(\"g.xbulletaxistick,path,text\").remove();var j=se.h,Q=P.gauge.bar.thickness*j,re=le.x[0],ce=le.x[0]+(le.x[1]-le.x[0])*(P._hasNumber||P._hasDelta?1-n.bulletNumberDomainSize:1);Y=u(z,P.gauge.axis),Y._id=\"xbulletaxis\",Y.domain=[re,ce],Y.setScale(),ee=s.calcTicks(Y),q=s.makeTransTickFn(Y),oe=s.getTickSigns(Y)[2],ae=se.t+se.h,Y.visible&&(s.drawTicks(z,Y,{vals:Y.ticks===\"inside\"?s.clipEnds(Y,ee):ee,layer:B,path:s.makeTickPath(Y,ae,oe),transFn:q}),s.drawLabels(z,Y,{vals:ee,layer:B,transFn:q,labelFns:s.makeLabelFns(Y,ae)}));function be(rt){rt.attr(\"width\",function(st){return Math.max(0,Y.c2p(st.range[1])-Y.c2p(st.range[0]))}).attr(\"x\",function(st){return Y.c2p(st.range[0])}).attr(\"y\",function(st){return .5*(1-st.thickness)*j}).attr(\"height\",function(st){return st.thickness*j})}var Ae=[X].concat(P.gauge.steps),De=U.selectAll(\"g.bg-bullet\").data(Ae);De.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),De.select(\"rect\").call(be).call(b),De.exit().remove();var ze=U.selectAll(\"g.value-bullet\").data([P.gauge.bar]);ze.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),ze.select(\"rect\").attr(\"height\",Q).attr(\"y\",(j-Q)/2).call(b),w(fe)?ze.select(\"rect\").transition().duration(fe.duration).ease(fe.easing).each(\"end\",function(){V&&V()}).each(\"interrupt\",function(){V&&V()}).attr(\"width\",Math.max(0,Y.c2p(Math.min(P.gauge.axis.range[1],N[0].y)))):ze.select(\"rect\").attr(\"width\",typeof N[0].y==\"number\"?Math.max(0,Y.c2p(Math.min(P.gauge.axis.range[1],N[0].y))):0),ze.exit().remove();var Ze=N.filter(function(){return P.gauge.threshold.value||P.gauge.threshold.value===0}),at=U.selectAll(\"g.threshold-bullet\").data(Ze);at.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),at.select(\"line\").attr(\"x1\",Y.c2p(P.gauge.threshold.value)).attr(\"x2\",Y.c2p(P.gauge.threshold.value)).attr(\"y1\",(1-P.gauge.threshold.thickness)/2*j).attr(\"y2\",(1-(1-P.gauge.threshold.thickness)/2)*j).call(p.stroke,P.gauge.threshold.line.color).style(\"stroke-width\",P.gauge.threshold.line.width),at.exit().remove();var nt=U.selectAll(\"g.gauge-outline\").data([$]);nt.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),nt.select(\"rect\").call(be).call(b),nt.exit().remove()}function M(z,F,N,O){var P=N[0].trace,U=O.size,B=O.radius,X=O.innerRadius,$=O.gaugeBg,se=O.gaugeOutline,le=[U.l+U.w/2,U.t+U.h/2+B/2],fe=O.gauge,V=O.layer,Y=O.transitionOpts,ee=O.onComplete,q=Math.PI/2;function oe(Pt){var It=P.gauge.axis.range[0],qt=P.gauge.axis.range[1],Wt=(Pt-It)/(qt-It)*Math.PI-q;return Wt<-q?-q:Wt>q?q:Wt}function ae(Pt){return v.svg.arc().innerRadius((X+B)/2-Pt/2*(B-X)).outerRadius((X+B)/2+Pt/2*(B-X)).startAngle(-q)}function j(Pt){Pt.attr(\"d\",function(It){return ae(It.thickness).startAngle(oe(It.range[0])).endAngle(oe(It.range[1]))()})}var Q,re,ce,be;fe.enter().append(\"g\").classed(\"angular\",!0),fe.attr(\"transform\",t(le[0],le[1])),V.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),V.selectAll(\"g.xangularaxistick,path,text\").remove(),Q=u(z,P.gauge.axis),Q.type=\"linear\",Q.range=P.gauge.axis.range,Q._id=\"xangularaxis\",Q.ticklabeloverflow=\"allow\",Q.setScale();var Ae=function(Pt){return(Q.range[0]-Pt.x)/(Q.range[1]-Q.range[0])*Math.PI+Math.PI},De={},ze=s.makeLabelFns(Q,0),Ze=ze.labelStandoff;De.xFn=function(Pt){var It=Ae(Pt);return Math.cos(It)*Ze},De.yFn=function(Pt){var It=Ae(Pt),qt=Math.sin(It)>0?.2:1;return-Math.sin(It)*(Ze+Pt.fontSize*qt)+Math.abs(Math.cos(It))*(Pt.fontSize*o)},De.anchorFn=function(Pt){var It=Ae(Pt),qt=Math.cos(It);return Math.abs(qt)<.1?\"middle\":qt>0?\"start\":\"end\"},De.heightFn=function(Pt,It,qt){var Wt=Ae(Pt);return-.5*(1+Math.sin(Wt))*qt};var at=function(Pt){return t(le[0]+B*Math.cos(Pt),le[1]-B*Math.sin(Pt))};ce=function(Pt){return at(Ae(Pt))};var nt=function(Pt){var It=Ae(Pt);return at(It)+\"rotate(\"+-r(It)+\")\"};if(re=s.calcTicks(Q),be=s.getTickSigns(Q)[2],Q.visible){be=Q.ticks===\"inside\"?-1:1;var rt=(Q.linewidth||1)/2;s.drawTicks(z,Q,{vals:re,layer:V,path:\"M\"+be*rt+\",0h\"+be*Q.ticklen,transFn:nt}),s.drawLabels(z,Q,{vals:re,layer:V,transFn:ce,labelFns:De})}var st=[$].concat(P.gauge.steps),Me=fe.selectAll(\"g.bg-arc\").data(st);Me.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),Me.select(\"path\").call(j).call(b),Me.exit().remove();var ye=ae(P.gauge.bar.thickness),he=fe.selectAll(\"g.value-arc\").data([P.gauge.bar]);he.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var Oe=he.select(\"path\");w(Y)?(Oe.transition().duration(Y.duration).ease(Y.easing).each(\"end\",function(){ee&&ee()}).each(\"interrupt\",function(){ee&&ee()}).attrTween(\"d\",d(ye,oe(N[0].lastY),oe(N[0].y))),P._lastValue=N[0].y):Oe.attr(\"d\",typeof N[0].y==\"number\"?ye.endAngle(oe(N[0].y)):\"M0,0Z\"),Oe.call(b),he.exit().remove(),st=[];var tt=P.gauge.threshold.value;(tt||tt===0)&&st.push({range:[tt,tt],color:P.gauge.threshold.color,line:{color:P.gauge.threshold.line.color,width:P.gauge.threshold.line.width},thickness:P.gauge.threshold.thickness});var ot=fe.selectAll(\"g.threshold-arc\").data(st);ot.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),ot.select(\"path\").call(j).call(b),ot.exit().remove();var Qe=fe.selectAll(\"g.gauge-outline\").data([se]);Qe.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),Qe.select(\"path\").call(j).call(b),Qe.exit().remove()}function g(z,F,N,O){var P=N[0].trace,U=O.numbersX,B=O.numbersY,X=P.align||\"center\",$=T[X],se=O.transitionOpts,le=O.onComplete,fe=E.ensureSingle(F,\"g\",\"numbers\"),V,Y,ee,q=[];P._hasNumber&&q.push(\"number\"),P._hasDelta&&(q.push(\"delta\"),P.delta.position===\"left\"&&q.reverse());var oe=fe.selectAll(\"text\").data(q);oe.enter().append(\"text\"),oe.attr(\"text-anchor\",function(){return $}).attr(\"class\",function(at){return at}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),oe.exit().remove();function ae(at,nt,rt,st){if(at.match(\"s\")&&rt>=0!=st>=0&&!nt(rt).slice(-1).match(_)&&!nt(st).slice(-1).match(_)){var Me=at.slice().replace(\"s\",\"f\").replace(/\\d+/,function(he){return parseInt(he)-1}),ye=u(z,{tickformat:Me});return function(he){return Math.abs(he)<1?s.tickText(ye,he).text:nt(he)}}else return nt}function j(){var at=u(z,{tickformat:P.number.valueformat},P._range);at.setScale(),s.prepTicks(at);var nt=function(he){return s.tickText(at,he).text},rt=P.number.suffix,st=P.number.prefix,Me=fe.select(\"text.number\");function ye(){var he=typeof N[0].y==\"number\"?st+nt(N[0].y)+rt:\"-\";Me.text(he).call(a.font,P.number.font).call(i.convertToTspans,z)}return w(se)?Me.transition().duration(se.duration).ease(se.easing).each(\"end\",function(){ye(),le&&le()}).each(\"interrupt\",function(){ye(),le&&le()}).attrTween(\"text\",function(){var he=v.select(this),Oe=S(N[0].lastY,N[0].y);P._lastValue=N[0].y;var tt=ae(P.number.valueformat,nt,N[0].lastY,N[0].y);return function(ot){he.text(st+tt(Oe(ot))+rt)}}):ye(),V=R(st+nt(N[0].y)+rt,P.number.font,$,z),Me}function Q(){var at=u(z,{tickformat:P.delta.valueformat},P._range);at.setScale(),s.prepTicks(at);var nt=function(ot){return s.tickText(at,ot).text},rt=P.delta.suffix,st=P.delta.prefix,Me=function(ot){var Qe=P.delta.relative?ot.relativeDelta:ot.delta;return Qe},ye=function(ot,Qe){return ot===0||typeof ot!=\"number\"||isNaN(ot)?\"-\":(ot>0?P.delta.increasing.symbol:P.delta.decreasing.symbol)+st+Qe(ot)+rt},he=function(ot){return ot.delta>=0?P.delta.increasing.color:P.delta.decreasing.color};P._deltaLastValue===void 0&&(P._deltaLastValue=Me(N[0]));var Oe=fe.select(\"text.delta\");Oe.call(a.font,P.delta.font).call(p.fill,he({delta:P._deltaLastValue}));function tt(){Oe.text(ye(Me(N[0]),nt)).call(p.fill,he(N[0])).call(i.convertToTspans,z)}return w(se)?Oe.transition().duration(se.duration).ease(se.easing).tween(\"text\",function(){var ot=v.select(this),Qe=Me(N[0]),Pt=P._deltaLastValue,It=ae(P.delta.valueformat,nt,Pt,Qe),qt=S(Pt,Qe);return P._deltaLastValue=Qe,function(Wt){ot.text(ye(qt(Wt),It)),ot.call(p.fill,he({delta:qt(Wt)}))}}).each(\"end\",function(){tt(),le&&le()}).each(\"interrupt\",function(){tt(),le&&le()}):tt(),Y=R(ye(Me(N[0]),nt),P.delta.font,$,z),Oe}var re=P.mode+P.align,ce;if(P._hasDelta&&(ce=Q(),re+=P.delta.position+P.delta.font.size+P.delta.font.family+P.delta.valueformat,re+=P.delta.increasing.symbol+P.delta.decreasing.symbol,ee=Y),P._hasNumber&&(j(),re+=P.number.font.size+P.number.font.family+P.number.valueformat+P.number.suffix+P.number.prefix,ee=V),P._hasDelta&&P._hasNumber){var be=[(V.left+V.right)/2,(V.top+V.bottom)/2],Ae=[(Y.left+Y.right)/2,(Y.top+Y.bottom)/2],De,ze,Ze=.75*P.delta.font.size;P.delta.position===\"left\"&&(De=L(P,\"deltaPos\",0,-1*(V.width*l[P.align]+Y.width*(1-l[P.align])+Ze),re,Math.min),ze=be[1]-Ae[1],ee={width:V.width+Y.width+Ze,height:Math.max(V.height,Y.height),left:Y.left+De,right:V.right,top:Math.min(V.top,Y.top+ze),bottom:Math.max(V.bottom,Y.bottom+ze)}),P.delta.position===\"right\"&&(De=L(P,\"deltaPos\",0,V.width*(1-l[P.align])+Y.width*l[P.align]+Ze,re,Math.max),ze=be[1]-Ae[1],ee={width:V.width+Y.width+Ze,height:Math.max(V.height,Y.height),left:V.left,right:Y.right+De,top:Math.min(V.top,Y.top+ze),bottom:Math.max(V.bottom,Y.bottom+ze)}),P.delta.position===\"bottom\"&&(De=null,ze=Y.height,ee={width:Math.max(V.width,Y.width),height:V.height+Y.height,left:Math.min(V.left,Y.left),right:Math.max(V.right,Y.right),top:V.bottom-V.height,bottom:V.bottom+Y.height}),P.delta.position===\"top\"&&(De=null,ze=V.top,ee={width:Math.max(V.width,Y.width),height:V.height+Y.height,left:Math.min(V.left,Y.left),right:Math.max(V.right,Y.right),top:V.bottom-V.height-Y.height,bottom:V.bottom}),ce.attr({dx:De,dy:ze})}(P._hasNumber||P._hasDelta)&&fe.attr(\"transform\",function(){var at=O.numbersScaler(ee);re+=at[2];var nt=L(P,\"numbersScale\",1,at[0],re,Math.min),rt;P._scaleNumbers||(nt=1),P._isAngular?rt=B-nt*ee.bottom:rt=B-nt*(ee.top+ee.bottom)/2,P._numbersTop=nt*ee.top+rt;var st=ee[X];X===\"center\"&&(st=(ee.left+ee.right)/2);var Me=U-nt*st;return Me=L(P,\"numbersTranslate\",0,Me,re,Math.max),t(Me,rt)+e(nt)})}function b(z){z.each(function(F){p.stroke(v.select(this),F.line.color)}).each(function(F){p.fill(v.select(this),F.color)}).style(\"stroke-width\",function(F){return F.line.width})}function d(z,F,N){return function(){var O=x(F,N);return function(P){return z.endAngle(O(P))()}}}function u(z,F,N){var O=z._fullLayout,P=E.extendFlat({type:\"linear\",ticks:\"outside\",range:N,showline:!0},F),U={type:\"linear\",_id:\"x\"+F._id},B={letter:\"x\",font:O.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function X($,se){return E.coerce(P,U,m,$,se)}return h(P,U,X,B,O),c(P,U,X,B),U}function y(z,F,N){var O=Math.min(F/z.width,N/z.height);return[O,z,F+\"x\"+N]}function f(z,F){var N=Math.sqrt(z.width/2*(z.width/2)+z.height*z.height),O=F/N;return[O,z,F]}function R(z,F,N,O){var P=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),U=v.select(P);return U.text(z).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",N).attr(\"data-unformatted\",z).call(i.convertToTspans,O).call(a.font,F),a.bBox(U.node())}function L(z,F,N,O,P,U){var B=\"_cache\"+F;z[B]&&z[B].key===P||(z[B]={key:P,value:N});var X=E.aggNums(U,null,[z[B].value,O],2);return z[B].value=X,X}}}),AG=Xe({\"src/traces/indicator/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:xG(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:V6(),supplyDefaults:bG().supplyDefaults,calc:wG().calc,plot:TG(),meta:{}}}}),SG=Xe({\"lib/indicator.js\"(Z,G){\"use strict\";G.exports=AG()}}),H6=Xe({\"src/traces/table/attributes.js\"(Z,G){\"use strict\";var v=$0(),x=Qo().extendFlat,S=pc().overrideAll,E=tc(),e=wc().attributes,t=tf().descriptionOnlyNumbers,r=G.exports=S({domain:e({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:[],description:t(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:x({},v.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:x({},E({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:t(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:x({},v.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:x({},E({arrayOk:!0}))}},\"calc\",\"from-root\")}}),MG=Xe({\"src/traces/table/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=H6(),S=wc().defaults;function E(e,t){for(var r=e.columnorder||[],o=e.header.values.length,a=r.slice(0,o),n=a.slice().sort(function(h,c){return h-c}),i=a.map(function(h){return n.indexOf(h)}),s=i.length;s\",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\"}}}}),kG=Xe({\"src/traces/table/data_preparation_helper.js\"(Z,G){\"use strict\";var v=W6(),x=Qo().extendFlat,S=rs(),E=bp().isTypedArray,e=bp().isArrayOrTypedArray;G.exports=function(m,p){var T=o(p.cells.values),l=function($){return $.slice(p.header.values.length,$.length)},_=o(p.header.values);_.length&&!_[0].length&&(_[0]=[\"\"],_=o(_));var w=_.concat(l(T).map(function(){return a((_[0]||[\"\"]).length)})),A=p.domain,M=Math.floor(m._fullLayout._size.w*(A.x[1]-A.x[0])),g=Math.floor(m._fullLayout._size.h*(A.y[1]-A.y[0])),b=p.header.values.length?w[0].map(function(){return p.header.height}):[v.emptyHeaderHeight],d=T.length?T[0].map(function(){return p.cells.height}):[],u=b.reduce(r,0),y=g-u,f=y+v.uplift,R=s(d,f),L=s(b,u),z=i(L,[]),F=i(R,z),N={},O=p._fullInput.columnorder;e(O)&&(O=Array.from(O)),O=O.concat(l(T.map(function($,se){return se})));var P=w.map(function($,se){var le=e(p.columnwidth)?p.columnwidth[Math.min(se,p.columnwidth.length-1)]:p.columnwidth;return S(le)?Number(le):1}),U=P.reduce(r,0);P=P.map(function($){return $/U*M});var B=Math.max(t(p.header.line.width),t(p.cells.line.width)),X={key:p.uid+m._context.staticPlot,translateX:A.x[0]*m._fullLayout._size.w,translateY:m._fullLayout._size.h*(1-A.y[1]),size:m._fullLayout._size,width:M,maxLineWidth:B,height:g,columnOrder:O,groupHeight:g,rowBlocks:F,headerRowBlocks:z,scrollY:0,cells:x({},p.cells,{values:T}),headerCells:x({},p.header,{values:w}),gdColumns:w.map(function($){return $[0]}),gdColumnsOriginalOrder:w.map(function($){return $[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:w.map(function($,se){var le=N[$];N[$]=(le||0)+1;var fe=$+\"__\"+N[$];return{key:fe,label:$,specIndex:se,xIndex:O[se],xScale:n,x:void 0,calcdata:void 0,columnWidth:P[se]}})};return X.columns.forEach(function($){$.calcdata=X,$.x=n($)}),X};function t(c){if(e(c)){for(var m=0,p=0;p=m||g===c.length-1)&&(p[l]=w,w.key=M++,w.firstRowIndex=A,w.lastRowIndex=g,w=h(),l+=_,A=g+1,_=0);return p}function h(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}}}),CG=Xe({\"src/traces/table/data_split_helpers.js\"(Z){\"use strict\";var G=Qo().extendFlat;Z.splitToPanels=function(x){var S=[0,0],E=G({},x,{key:\"header\",type:\"header\",page:0,prevPages:S,currentRepaint:[null,null],dragHandle:!0,values:x.calcdata.headerCells.values[x.specIndex],rowBlocks:x.calcdata.headerRowBlocks,calcdata:G({},x.calcdata,{cells:x.calcdata.headerCells})}),e=G({},x,{key:\"cells1\",type:\"cells\",page:0,prevPages:S,currentRepaint:[null,null],dragHandle:!1,values:x.calcdata.cells.values[x.specIndex],rowBlocks:x.calcdata.rowBlocks}),t=G({},x,{key:\"cells2\",type:\"cells\",page:1,prevPages:S,currentRepaint:[null,null],dragHandle:!1,values:x.calcdata.cells.values[x.specIndex],rowBlocks:x.calcdata.rowBlocks});return[e,t,E]},Z.splitToCells=function(x){var S=v(x);return(x.values||[]).slice(S[0],S[1]).map(function(E,e){var t=typeof E==\"string\"&&E.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:e+t,key:S[0]+e,column:x,calcdata:x.calcdata,page:x.page,rowBlocks:x.rowBlocks,value:E}})};function v(x){var S=x.rowBlocks[x.page],E=S?S.rows[0].rowIndex:0,e=S?E+S.rows.length:0;return[E,e]}}}),X6=Xe({\"src/traces/table/plot.js\"(Z,G){\"use strict\";var v=W6(),x=Hn(),S=sa(),E=S.numberFormat,e=kv(),t=es(),r=ou(),o=sa().raiseToTop,a=sa().strTranslate,n=sa().cancelTransition,i=kG(),s=CG(),h=$n();G.exports=function(re,ce){var be=!re._context.staticPlot,Ae=re._fullLayout._paper.selectAll(\".\"+v.cn.table).data(ce.map(function(Qe){var Pt=e.unwrap(Qe),It=Pt.trace;return i(re,It)}),e.keyFun);Ae.exit().remove(),Ae.enter().append(\"g\").classed(v.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\"),Ae.attr(\"width\",function(Qe){return Qe.width+Qe.size.l+Qe.size.r}).attr(\"height\",function(Qe){return Qe.height+Qe.size.t+Qe.size.b}).attr(\"transform\",function(Qe){return a(Qe.translateX,Qe.translateY)});var De=Ae.selectAll(\".\"+v.cn.tableControlView).data(e.repeat,e.keyFun),ze=De.enter().append(\"g\").classed(v.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(be){var Ze=\"onwheel\"in document?\"wheel\":\"mousewheel\";ze.on(\"mousemove\",function(Qe){De.filter(function(Pt){return Qe===Pt}).call(l,re)}).on(Ze,function(Qe){if(!Qe.scrollbarState.wheeling){Qe.scrollbarState.wheeling=!0;var Pt=Qe.scrollY+x.event.deltaY,It=$(re,De,null,Pt)(Qe);It||(x.event.stopPropagation(),x.event.preventDefault()),Qe.scrollbarState.wheeling=!1}}).call(l,re,!0)}De.attr(\"transform\",function(Qe){return a(Qe.size.l,Qe.size.t)});var at=De.selectAll(\".\"+v.cn.scrollBackground).data(e.repeat,e.keyFun);at.enter().append(\"rect\").classed(v.cn.scrollBackground,!0).attr(\"fill\",\"none\"),at.attr(\"width\",function(Qe){return Qe.width}).attr(\"height\",function(Qe){return Qe.height}),De.each(function(Qe){t.setClipUrl(x.select(this),m(re,Qe),re)});var nt=De.selectAll(\".\"+v.cn.yColumn).data(function(Qe){return Qe.columns},e.keyFun);nt.enter().append(\"g\").classed(v.cn.yColumn,!0),nt.exit().remove(),nt.attr(\"transform\",function(Qe){return a(Qe.x,0)}),be&&nt.call(x.behavior.drag().origin(function(Qe){var Pt=x.select(this);return N(Pt,Qe,-v.uplift),o(this),Qe.calcdata.columnDragInProgress=!0,l(De.filter(function(It){return Qe.calcdata.key===It.key}),re),Qe}).on(\"drag\",function(Qe){var Pt=x.select(this),It=function(kr){return(Qe===kr?x.event.x:kr.x)+kr.columnWidth/2};Qe.x=Math.max(-v.overdrag,Math.min(Qe.calcdata.width+v.overdrag-Qe.columnWidth,x.event.x));var qt=T(nt).filter(function(kr){return kr.calcdata.key===Qe.calcdata.key}),Wt=qt.sort(function(kr,mr){return It(kr)-It(mr)});Wt.forEach(function(kr,mr){kr.xIndex=mr,kr.x=Qe===kr?kr.x:kr.xScale(kr)}),nt.filter(function(kr){return Qe!==kr}).transition().ease(v.transitionEase).duration(v.transitionDuration).attr(\"transform\",function(kr){return a(kr.x,0)}),Pt.call(n).attr(\"transform\",a(Qe.x,-v.uplift))}).on(\"dragend\",function(Qe){var Pt=x.select(this),It=Qe.calcdata;Qe.x=Qe.xScale(Qe),Qe.calcdata.columnDragInProgress=!1,N(Pt,Qe,0),z(re,It,It.columns.map(function(qt){return qt.xIndex}))})),nt.each(function(Qe){t.setClipUrl(x.select(this),p(re,Qe),re)});var rt=nt.selectAll(\".\"+v.cn.columnBlock).data(s.splitToPanels,e.keyFun);rt.enter().append(\"g\").classed(v.cn.columnBlock,!0).attr(\"id\",function(Qe){return Qe.key}),rt.style(\"cursor\",function(Qe){return Qe.dragHandle?\"ew-resize\":Qe.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var st=rt.filter(P),Me=rt.filter(O);be&&Me.call(x.behavior.drag().origin(function(Qe){return x.event.stopPropagation(),Qe}).on(\"drag\",$(re,De,-1)).on(\"dragend\",function(){})),_(re,De,st,rt),_(re,De,Me,rt);var ye=De.selectAll(\".\"+v.cn.scrollAreaClip).data(e.repeat,e.keyFun);ye.enter().append(\"clipPath\").classed(v.cn.scrollAreaClip,!0).attr(\"id\",function(Qe){return m(re,Qe)});var he=ye.selectAll(\".\"+v.cn.scrollAreaClipRect).data(e.repeat,e.keyFun);he.enter().append(\"rect\").classed(v.cn.scrollAreaClipRect,!0).attr(\"x\",-v.overdrag).attr(\"y\",-v.uplift).attr(\"fill\",\"none\"),he.attr(\"width\",function(Qe){return Qe.width+2*v.overdrag}).attr(\"height\",function(Qe){return Qe.height+v.uplift});var Oe=nt.selectAll(\".\"+v.cn.columnBoundary).data(e.repeat,e.keyFun);Oe.enter().append(\"g\").classed(v.cn.columnBoundary,!0);var tt=nt.selectAll(\".\"+v.cn.columnBoundaryClippath).data(e.repeat,e.keyFun);tt.enter().append(\"clipPath\").classed(v.cn.columnBoundaryClippath,!0),tt.attr(\"id\",function(Qe){return p(re,Qe)});var ot=tt.selectAll(\".\"+v.cn.columnBoundaryRect).data(e.repeat,e.keyFun);ot.enter().append(\"rect\").classed(v.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),ot.attr(\"width\",function(Qe){return Qe.columnWidth+2*c(Qe)}).attr(\"height\",function(Qe){return Qe.calcdata.height+2*c(Qe)+v.uplift}).attr(\"x\",function(Qe){return-c(Qe)}).attr(\"y\",function(Qe){return-c(Qe)}),X(null,Me,De)};function c(Q){return Math.ceil(Q.calcdata.maxLineWidth/2)}function m(Q,re){return\"clip\"+Q._fullLayout._uid+\"_scrollAreaBottomClip_\"+re.key}function p(Q,re){return\"clip\"+Q._fullLayout._uid+\"_columnBoundaryClippath_\"+re.calcdata.key+\"_\"+re.specIndex}function T(Q){return[].concat.apply([],Q.map(function(re){return re})).map(function(re){return re.__data__})}function l(Q,re,ce){function be(nt){var rt=nt.rowBlocks;return ee(rt,rt.length-1)+(rt.length?q(rt[rt.length-1],1/0):1)}var Ae=Q.selectAll(\".\"+v.cn.scrollbarKit).data(e.repeat,e.keyFun);Ae.enter().append(\"g\").classed(v.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),Ae.each(function(nt){var rt=nt.scrollbarState;rt.totalHeight=be(nt),rt.scrollableAreaHeight=nt.groupHeight-U(nt),rt.currentlyVisibleHeight=Math.min(rt.totalHeight,rt.scrollableAreaHeight),rt.ratio=rt.currentlyVisibleHeight/rt.totalHeight,rt.barLength=Math.max(rt.ratio*rt.currentlyVisibleHeight,v.goldenRatio*v.scrollbarWidth),rt.barWiggleRoom=rt.currentlyVisibleHeight-rt.barLength,rt.wiggleRoom=Math.max(0,rt.totalHeight-rt.scrollableAreaHeight),rt.topY=rt.barWiggleRoom===0?0:nt.scrollY/rt.wiggleRoom*rt.barWiggleRoom,rt.bottomY=rt.topY+rt.barLength,rt.dragMultiplier=rt.wiggleRoom/rt.barWiggleRoom}).attr(\"transform\",function(nt){var rt=nt.width+v.scrollbarWidth/2+v.scrollbarOffset;return a(rt,U(nt))});var De=Ae.selectAll(\".\"+v.cn.scrollbar).data(e.repeat,e.keyFun);De.enter().append(\"g\").classed(v.cn.scrollbar,!0);var ze=De.selectAll(\".\"+v.cn.scrollbarSlider).data(e.repeat,e.keyFun);ze.enter().append(\"g\").classed(v.cn.scrollbarSlider,!0),ze.attr(\"transform\",function(nt){return a(0,nt.scrollbarState.topY||0)});var Ze=ze.selectAll(\".\"+v.cn.scrollbarGlyph).data(e.repeat,e.keyFun);Ze.enter().append(\"line\").classed(v.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",v.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",v.scrollbarWidth/2),Ze.attr(\"y2\",function(nt){return nt.scrollbarState.barLength-v.scrollbarWidth/2}).attr(\"stroke-opacity\",function(nt){return nt.columnDragInProgress||!nt.scrollbarState.barWiggleRoom||ce?0:.4}),Ze.transition().delay(0).duration(0),Ze.transition().delay(v.scrollbarHideDelay).duration(v.scrollbarHideDuration).attr(\"stroke-opacity\",0);var at=De.selectAll(\".\"+v.cn.scrollbarCaptureZone).data(e.repeat,e.keyFun);at.enter().append(\"line\").classed(v.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",v.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(nt){var rt=x.event.y,st=this.getBoundingClientRect(),Me=nt.scrollbarState,ye=rt-st.top,he=x.scale.linear().domain([0,Me.scrollableAreaHeight]).range([0,Me.totalHeight]).clamp(!0);Me.topY<=ye&&ye<=Me.bottomY||$(re,Q,null,he(ye-Me.barLength/2))(nt)}).call(x.behavior.drag().origin(function(nt){return x.event.stopPropagation(),nt.scrollbarState.scrollbarScrollInProgress=!0,nt}).on(\"drag\",$(re,Q)).on(\"dragend\",function(){})),at.attr(\"y2\",function(nt){return nt.scrollbarState.scrollableAreaHeight}),re._context.staticPlot&&(Ze.remove(),at.remove())}function _(Q,re,ce,be){var Ae=w(ce),De=A(Ae);d(De);var ze=M(De);y(ze);var Ze=b(De),at=g(Ze);u(at),f(at,re,be,Q),Y(De)}function w(Q){var re=Q.selectAll(\".\"+v.cn.columnCells).data(e.repeat,e.keyFun);return re.enter().append(\"g\").classed(v.cn.columnCells,!0),re.exit().remove(),re}function A(Q){var re=Q.selectAll(\".\"+v.cn.columnCell).data(s.splitToCells,function(ce){return ce.keyWithinBlock});return re.enter().append(\"g\").classed(v.cn.columnCell,!0),re.exit().remove(),re}function M(Q){var re=Q.selectAll(\".\"+v.cn.cellRect).data(e.repeat,function(ce){return ce.keyWithinBlock});return re.enter().append(\"rect\").classed(v.cn.cellRect,!0),re}function g(Q){var re=Q.selectAll(\".\"+v.cn.cellText).data(e.repeat,function(ce){return ce.keyWithinBlock});return re.enter().append(\"text\").classed(v.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){x.event.stopPropagation()}),re}function b(Q){var re=Q.selectAll(\".\"+v.cn.cellTextHolder).data(e.repeat,function(ce){return ce.keyWithinBlock});return re.enter().append(\"g\").classed(v.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),re}function d(Q){Q.each(function(re,ce){var be=re.calcdata.cells.font,Ae=re.column.specIndex,De={size:F(be.size,Ae,ce),color:F(be.color,Ae,ce),family:F(be.family,Ae,ce),weight:F(be.weight,Ae,ce),style:F(be.style,Ae,ce),variant:F(be.variant,Ae,ce),textcase:F(be.textcase,Ae,ce),lineposition:F(be.lineposition,Ae,ce),shadow:F(be.shadow,Ae,ce)};re.rowNumber=re.key,re.align=F(re.calcdata.cells.align,Ae,ce),re.cellBorderWidth=F(re.calcdata.cells.line.width,Ae,ce),re.font=De})}function u(Q){Q.each(function(re){t.font(x.select(this),re.font)})}function y(Q){Q.attr(\"width\",function(re){return re.column.columnWidth}).attr(\"stroke-width\",function(re){return re.cellBorderWidth}).each(function(re){var ce=x.select(this);h.stroke(ce,F(re.calcdata.cells.line.color,re.column.specIndex,re.rowNumber)),h.fill(ce,F(re.calcdata.cells.fill.color,re.column.specIndex,re.rowNumber))})}function f(Q,re,ce,be){Q.text(function(Ae){var De=Ae.column.specIndex,ze=Ae.rowNumber,Ze=Ae.value,at=typeof Ze==\"string\",nt=at&&Ze.match(/
/i),rt=!at||nt;Ae.mayHaveMarkup=at&&Ze.match(/[<&>]/);var st=R(Ze);Ae.latex=st;var Me=st?\"\":F(Ae.calcdata.cells.prefix,De,ze)||\"\",ye=st?\"\":F(Ae.calcdata.cells.suffix,De,ze)||\"\",he=st?null:F(Ae.calcdata.cells.format,De,ze)||null,Oe=Me+(he?E(he)(Ae.value):Ae.value)+ye,tt;Ae.wrappingNeeded=!Ae.wrapped&&!rt&&!st&&(tt=L(Oe)),Ae.cellHeightMayIncrease=nt||st||Ae.mayHaveMarkup||(tt===void 0?L(Oe):tt),Ae.needsConvertToTspans=Ae.mayHaveMarkup||Ae.wrappingNeeded||Ae.latex;var ot;if(Ae.wrappingNeeded){var Qe=v.wrapSplitCharacter===\" \"?Oe.replace(/Ae&&be.push(De),Ae+=at}return be}function X(Q,re,ce){var be=T(re)[0];if(be!==void 0){var Ae=be.rowBlocks,De=be.calcdata,ze=ee(Ae,Ae.length),Ze=be.calcdata.groupHeight-U(be),at=De.scrollY=Math.max(0,Math.min(ze-Ze,De.scrollY)),nt=B(Ae,at,Ze);nt.length===1&&(nt[0]===Ae.length-1?nt.unshift(nt[0]-1):nt.push(nt[0]+1)),nt[0]%2&&nt.reverse(),re.each(function(rt,st){rt.page=nt[st],rt.scrollY=at}),re.attr(\"transform\",function(rt){var st=ee(rt.rowBlocks,rt.page)-rt.scrollY;return a(0,st)}),Q&&(se(Q,ce,re,nt,be.prevPages,be,0),se(Q,ce,re,nt,be.prevPages,be,1),l(ce,Q))}}function $(Q,re,ce,be){return function(De){var ze=De.calcdata?De.calcdata:De,Ze=re.filter(function(st){return ze.key===st.key}),at=ce||ze.scrollbarState.dragMultiplier,nt=ze.scrollY;ze.scrollY=be===void 0?ze.scrollY+at*x.event.dy:be;var rt=Ze.selectAll(\".\"+v.cn.yColumn).selectAll(\".\"+v.cn.columnBlock).filter(O);return X(Q,rt,Ze),ze.scrollY===nt}}function se(Q,re,ce,be,Ae,De,ze){var Ze=be[ze]!==Ae[ze];Ze&&(clearTimeout(De.currentRepaint[ze]),De.currentRepaint[ze]=setTimeout(function(){var at=ce.filter(function(nt,rt){return rt===ze&&be[rt]!==Ae[rt]});_(Q,re,at,ce),Ae[ze]=be[ze]}))}function le(Q,re,ce,be){return function(){var De=x.select(re.parentNode);De.each(function(ze){var Ze=ze.fragments;De.selectAll(\"tspan.line\").each(function(Oe,tt){Ze[tt].width=this.getComputedTextLength()});var at=Ze[Ze.length-1].width,nt=Ze.slice(0,-1),rt=[],st,Me,ye=0,he=ze.column.columnWidth-2*v.cellPad;for(ze.value=\"\";nt.length;)st=nt.shift(),Me=st.width+at,ye+Me>he&&(ze.value+=rt.join(v.wrapSpacer)+v.lineBreaker,rt=[],ye=0),rt.push(st.text),ye+=Me;ye&&(ze.value+=rt.join(v.wrapSpacer)),ze.wrapped=!0}),De.selectAll(\"tspan.line\").remove(),f(De.select(\".\"+v.cn.cellText),ce,Q,be),x.select(re.parentNode.parentNode).call(Y)}}function fe(Q,re,ce,be,Ae){return function(){if(!Ae.settledY){var ze=x.select(re.parentNode),Ze=ae(Ae),at=Ae.key-Ze.firstRowIndex,nt=Ze.rows[at].rowHeight,rt=Ae.cellHeightMayIncrease?re.parentNode.getBoundingClientRect().height+2*v.cellPad:nt,st=Math.max(rt,nt),Me=st-Ze.rows[at].rowHeight;Me&&(Ze.rows[at].rowHeight=st,Q.selectAll(\".\"+v.cn.columnCell).call(Y),X(null,Q.filter(O),0),l(ce,be,!0)),ze.attr(\"transform\",function(){var ye=this,he=ye.parentNode,Oe=he.getBoundingClientRect(),tt=x.select(ye.parentNode).select(\".\"+v.cn.cellRect).node().getBoundingClientRect(),ot=ye.transform.baseVal.consolidate(),Qe=tt.top-Oe.top+(ot?ot.matrix.f:v.cellPad);return a(V(Ae,x.select(ye.parentNode).select(\".\"+v.cn.cellTextHolder).node().getBoundingClientRect().width),Qe)}),Ae.settledY=!0}}}function V(Q,re){switch(Q.align){case\"left\":return v.cellPad;case\"right\":return Q.column.columnWidth-(re||0)-v.cellPad;case\"center\":return(Q.column.columnWidth-(re||0))/2;default:return v.cellPad}}function Y(Q){Q.attr(\"transform\",function(re){var ce=re.rowBlocks[0].auxiliaryBlocks.reduce(function(ze,Ze){return ze+q(Ze,1/0)},0),be=ae(re),Ae=q(be,re.key),De=Ae+ce;return a(0,De)}).selectAll(\".\"+v.cn.cellRect).attr(\"height\",function(re){return j(ae(re),re.key).rowHeight})}function ee(Q,re){for(var ce=0,be=re-1;be>=0;be--)ce+=oe(Q[be]);return ce}function q(Q,re){for(var ce=0,be=0;beE.length&&(S=S.slice(0,E.length)):S=[],t=0;t90&&(m-=180,n=-n),{angle:m,flip:n,p:x.c2p(e,S,E),offsetMultplier:i}}}}),NG=Xe({\"src/traces/carpet/plot.js\"(Z,G){\"use strict\";var v=Hn(),x=es(),S=Z6(),E=Y6(),e=BG(),t=ou(),r=sa(),o=r.strRotate,a=r.strTranslate,n=uh();G.exports=function(_,w,A,M){var g=_._context.staticPlot,b=w.xaxis,d=w.yaxis,u=_._fullLayout,y=u._clips;r.makeTraceGroups(M,A,\"trace\").each(function(f){var R=v.select(this),L=f[0],z=L.trace,F=z.aaxis,N=z.baxis,O=r.ensureSingle(R,\"g\",\"minorlayer\"),P=r.ensureSingle(R,\"g\",\"majorlayer\"),U=r.ensureSingle(R,\"g\",\"boundarylayer\"),B=r.ensureSingle(R,\"g\",\"labellayer\");R.style(\"opacity\",z.opacity),s(b,d,P,F,\"a\",F._gridlines,!0,g),s(b,d,P,N,\"b\",N._gridlines,!0,g),s(b,d,O,F,\"a\",F._minorgridlines,!0,g),s(b,d,O,N,\"b\",N._minorgridlines,!0,g),s(b,d,U,F,\"a-boundary\",F._boundarylines,g),s(b,d,U,N,\"b-boundary\",N._boundarylines,g);var X=h(_,b,d,z,L,B,F._labels,\"a-label\"),$=h(_,b,d,z,L,B,N._labels,\"b-label\");c(_,B,z,L,b,d,X,$),i(z,L,y,b,d)})};function i(l,_,w,A,M){var g,b,d,u,y=w.select(\"#\"+l._clipPathId);y.size()||(y=w.append(\"clipPath\").classed(\"carpetclip\",!0));var f=r.ensureSingle(y,\"path\",\"carpetboundary\"),R=_.clipsegments,L=[];for(u=0;u0?\"start\":\"end\",\"data-notex\":1}).call(x.font,R.font).text(R.text).call(t.convertToTspans,l),P=x.bBox(this);O.attr(\"transform\",a(z.p[0],z.p[1])+o(z.angle)+a(R.axis.labelpadding*N,P.height*.3)),y=Math.max(y,P.width+R.axis.labelpadding)}),u.exit().remove(),f.maxExtent=y,f}function c(l,_,w,A,M,g,b,d){var u,y,f,R,L=r.aggNums(Math.min,null,w.a),z=r.aggNums(Math.max,null,w.a),F=r.aggNums(Math.min,null,w.b),N=r.aggNums(Math.max,null,w.b);u=.5*(L+z),y=F,f=w.ab2xy(u,y,!0),R=w.dxyda_rough(u,y),b.angle===void 0&&r.extendFlat(b,e(w,M,g,f,w.dxydb_rough(u,y))),T(l,_,w,A,f,R,w.aaxis,M,g,b,\"a-title\"),u=L,y=.5*(F+N),f=w.ab2xy(u,y,!0),R=w.dxydb_rough(u,y),d.angle===void 0&&r.extendFlat(d,e(w,M,g,f,w.dxyda_rough(u,y))),T(l,_,w,A,f,R,w.baxis,M,g,d,\"b-title\")}var m=n.LINE_SPACING,p=(1-n.MID_SHIFT)/m+1;function T(l,_,w,A,M,g,b,d,u,y,f){var R=[];b.title.text&&R.push(b.title.text);var L=_.selectAll(\"text.\"+f).data(R),z=y.maxExtent;L.enter().append(\"text\").classed(f,!0),L.each(function(){var F=e(w,d,u,M,g);[\"start\",\"both\"].indexOf(b.showticklabels)===-1&&(z=0);var N=b.title.font.size;z+=N+b.title.offset;var O=y.angle+(y.flip<0?180:0),P=(O-F.angle+450)%360,U=P>90&&P<270,B=v.select(this);B.text(b.title.text).call(t.convertToTspans,l),U&&(z=(-t.lineCount(B)+p)*m*N-z),B.attr(\"transform\",a(F.p[0],F.p[1])+o(F.angle)+a(0,z)).attr(\"text-anchor\",\"middle\").call(x.font,b.title.font)}),L.exit().remove()}}}),UG=Xe({\"src/traces/carpet/cheater_basis.js\"(Z,G){\"use strict\";var v=sa().isArrayOrTypedArray;G.exports=function(x,S,E){var e,t,r,o,a,n,i=[],s=v(x)?x.length:x,h=v(S)?S.length:S,c=v(x)?x:null,m=v(S)?S:null;c&&(r=(c.length-1)/(c[c.length-1]-c[0])/(s-1)),m&&(o=(m.length-1)/(m[m.length-1]-m[0])/(h-1));var p,T=1/0,l=-1/0;for(t=0;t=10)return null;for(var e=1/0,t=-1/0,r=S.length,o=0;o0&&(q=E.dxydi([],X-1,se,0,le),Q.push(fe[0]+q[0]/3),re.push(fe[1]+q[1]/3),oe=E.dxydi([],X-1,se,1,le),Q.push(ee[0]-oe[0]/3),re.push(ee[1]-oe[1]/3)),Q.push(ee[0]),re.push(ee[1]),fe=ee;else for(X=E.a2i(B),V=Math.floor(Math.max(0,Math.min(F-2,X))),Y=X-V,ce.length=F,ce.crossLength=N,ce.xy=function(be){return E.evalxy([],X,be)},ce.dxy=function(be,Ae){return E.dxydj([],V,be,Y,Ae)},$=0;$0&&(ae=E.dxydj([],V,$-1,Y,0),Q.push(fe[0]+ae[0]/3),re.push(fe[1]+ae[1]/3),j=E.dxydj([],V,$-1,Y,1),Q.push(ee[0]-j[0]/3),re.push(ee[1]-j[1]/3)),Q.push(ee[0]),re.push(ee[1]),fe=ee;return ce.axisLetter=e,ce.axis=M,ce.crossAxis=y,ce.value=B,ce.constvar=t,ce.index=c,ce.x=Q,ce.y=re,ce.smoothing=y.smoothing,ce}function U(B){var X,$,se,le,fe,V=[],Y=[],ee={};if(ee.length=A.length,ee.crossLength=u.length,e===\"b\")for(se=Math.max(0,Math.min(N-2,B)),fe=Math.min(1,Math.max(0,B-se)),ee.xy=function(q){return E.evalxy([],q,B)},ee.dxy=function(q,oe){return E.dxydi([],q,se,oe,fe)},X=0;XA.length-1)&&g.push(x(U(o),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(c=s;cA.length-1)&&!(T<0||T>A.length-1))for(l=A[a],_=A[T],r=0;rA[A.length-1])&&b.push(x(P(p),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash})));M.startline&&d.push(x(U(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&d.push(x(U(A.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(n=5e-15,i=[Math.floor((A[A.length-1]-M.tick0)/M.dtick*(1+n)),Math.ceil((A[0]-M.tick0)/M.dtick/(1+n))].sort(function(B,X){return B-X}),s=i[0],h=i[1],c=s;c<=h;c++)m=M.tick0+M.dtick*c,g.push(x(P(m),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(c=s-1;cA[A.length-1])&&b.push(x(P(p),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash}));M.startline&&d.push(x(P(A[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&d.push(x(P(A[A.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}}}),VG=Xe({\"src/traces/carpet/calc_labels.js\"(Z,G){\"use strict\";var v=Go(),x=Qo().extendFlat;G.exports=function(E,e){var t,r,o,a,n,i=e._labels=[],s=e._gridlines;for(t=0;t=0;t--)r[s-t]=x[h][t],o[s-t]=S[h][t];for(a.push({x:r,y:o,bicubic:n}),t=h,r=[],o=[];t>=0;t--)r[h-t]=x[t][0],o[h-t]=S[t][0];return a.push({x:r,y:o,bicubic:i}),a}}}),HG=Xe({\"src/traces/carpet/smooth_fill_2d_array.js\"(Z,G){\"use strict\";var v=sa();G.exports=function(S,E,e){var t,r,o,a=[],n=[],i=S[0].length,s=S.length;function h($,se){var le=0,fe,V=0;return $>0&&(fe=S[se][$-1])!==void 0&&(V++,le+=fe),$0&&(fe=S[se-1][$])!==void 0&&(V++,le+=fe),se0&&r0&&tu);return v.log(\"Smoother converged to\",y,\"after\",R,\"iterations\"),S}}}),WG=Xe({\"src/traces/carpet/constants.js\"(Z,G){\"use strict\";G.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),XG=Xe({\"src/traces/carpet/catmull_rom.js\"(Z,G){\"use strict\";var v=.5;G.exports=function(S,E,e,t){var r=S[0]-E[0],o=S[1]-E[1],a=e[0]-E[0],n=e[1]-E[1],i=Math.pow(r*r+o*o,v/2),s=Math.pow(a*a+n*n,v/2),h=(s*s*r-i*i*a)*t,c=(s*s*o-i*i*n)*t,m=s*(i+s)*3,p=i*(i+s)*3;return[[E[0]+(m&&h/m),E[1]+(m&&c/m)],[E[0]-(p&&h/p),E[1]-(p&&c/p)]]}}}),ZG=Xe({\"src/traces/carpet/compute_control_points.js\"(Z,G){\"use strict\";var v=XG(),x=sa().ensureArray;function S(E,e,t){var r=-.5*t[0]+1.5*e[0],o=-.5*t[1]+1.5*e[1];return[(2*r+E[0])/3,(2*o+E[1])/3]}G.exports=function(e,t,r,o,a,n){var i,s,h,c,m,p,T,l,_,w,A=r[0].length,M=r.length,g=a?3*A-2:A,b=n?3*M-2:M;for(e=x(e,b),t=x(t,b),h=0;hm&&gT&&bp||bl},o.setScale=function(){var g=o._x,b=o._y,d=S(o._xctrl,o._yctrl,g,b,h.smoothing,c.smoothing);o._xctrl=d[0],o._yctrl=d[1],o.evalxy=E([o._xctrl,o._yctrl],i,s,h.smoothing,c.smoothing),o.dxydi=e([o._xctrl,o._yctrl],h.smoothing,c.smoothing),o.dxydj=t([o._xctrl,o._yctrl],h.smoothing,c.smoothing)},o.i2a=function(g){var b=Math.max(0,Math.floor(g[0]),i-2),d=g[0]-b;return(1-d)*a[b]+d*a[b+1]},o.j2b=function(g){var b=Math.max(0,Math.floor(g[1]),i-2),d=g[1]-b;return(1-d)*n[b]+d*n[b+1]},o.ij2ab=function(g){return[o.i2a(g[0]),o.j2b(g[1])]},o.a2i=function(g){var b=Math.max(0,Math.min(x(g,a),i-2)),d=a[b],u=a[b+1];return Math.max(0,Math.min(i-1,b+(g-d)/(u-d)))},o.b2j=function(g){var b=Math.max(0,Math.min(x(g,n),s-2)),d=n[b],u=n[b+1];return Math.max(0,Math.min(s-1,b+(g-d)/(u-d)))},o.ab2ij=function(g){return[o.a2i(g[0]),o.b2j(g[1])]},o.i2c=function(g,b){return o.evalxy([],g,b)},o.ab2xy=function(g,b,d){if(!d&&(ga[i-1]|bn[s-1]))return[!1,!1];var u=o.a2i(g),y=o.b2j(b),f=o.evalxy([],u,y);if(d){var R=0,L=0,z=[],F,N,O,P;ga[i-1]?(F=i-2,N=1,R=(g-a[i-1])/(a[i-1]-a[i-2])):(F=Math.max(0,Math.min(i-2,Math.floor(u))),N=u-F),bn[s-1]?(O=s-2,P=1,L=(b-n[s-1])/(n[s-1]-n[s-2])):(O=Math.max(0,Math.min(s-2,Math.floor(y))),P=y-O),R&&(o.dxydi(z,F,O,N,P),f[0]+=z[0]*R,f[1]+=z[1]*R),L&&(o.dxydj(z,F,O,N,P),f[0]+=z[0]*L,f[1]+=z[1]*L)}return f},o.c2p=function(g,b,d){return[b.c2p(g[0]),d.c2p(g[1])]},o.p2x=function(g,b,d){return[b.p2c(g[0]),d.p2c(g[1])]},o.dadi=function(g){var b=Math.max(0,Math.min(a.length-2,g));return a[b+1]-a[b]},o.dbdj=function(g){var b=Math.max(0,Math.min(n.length-2,g));return n[b+1]-n[b]},o.dxyda=function(g,b,d,u){var y=o.dxydi(null,g,b,d,u),f=o.dadi(g,d);return[y[0]/f,y[1]/f]},o.dxydb=function(g,b,d,u){var y=o.dxydj(null,g,b,d,u),f=o.dbdj(b,u);return[y[0]/f,y[1]/f]},o.dxyda_rough=function(g,b,d){var u=_*(d||.1),y=o.ab2xy(g+u,b,!0),f=o.ab2xy(g-u,b,!0);return[(y[0]-f[0])*.5/u,(y[1]-f[1])*.5/u]},o.dxydb_rough=function(g,b,d){var u=w*(d||.1),y=o.ab2xy(g,b+u,!0),f=o.ab2xy(g,b-u,!0);return[(y[0]-f[0])*.5/u,(y[1]-f[1])*.5/u]},o.dpdx=function(g){return g._m},o.dpdy=function(g){return g._m}}}}),QG=Xe({\"src/traces/carpet/calc.js\"(Z,G){\"use strict\";var v=Go(),x=sa().isArray1D,S=UG(),E=jG(),e=qG(),t=VG(),r=GG(),o=Y2(),a=HG(),n=Z2(),i=$G();G.exports=function(h,c){var m=v.getFromId(h,c.xaxis),p=v.getFromId(h,c.yaxis),T=c.aaxis,l=c.baxis,_=c.x,w=c.y,A=[];_&&x(_)&&A.push(\"x\"),w&&x(w)&&A.push(\"y\"),A.length&&n(c,T,l,\"a\",\"b\",A);var M=c._a=c._a||c.a,g=c._b=c._b||c.b;_=c._x||c.x,w=c._y||c.y;var b={};if(c._cheater){var d=T.cheatertype===\"index\"?M.length:M,u=l.cheatertype===\"index\"?g.length:g;_=S(d,u,c.cheaterslope)}c._x=_=o(_),c._y=w=o(w),a(_,M,g),a(w,M,g),i(c),c.setScale();var y=E(_),f=E(w),R=.5*(y[1]-y[0]),L=.5*(y[1]+y[0]),z=.5*(f[1]-f[0]),F=.5*(f[1]+f[0]),N=1.3;return y=[L-R*N,L+R*N],f=[F-z*N,F+z*N],c._extremes[m._id]=v.findExtremes(m,y,{padded:!0}),c._extremes[p._id]=v.findExtremes(p,f,{padded:!0}),e(c,\"a\",\"b\"),e(c,\"b\",\"a\"),t(c,T),t(c,l),b.clipsegments=r(c._xctrl,c._yctrl,T,l),b.x=_,b.y=w,b.a=M,b.b=g,[b]}}}),eH=Xe({\"src/traces/carpet/index.js\"(Z,G){\"use strict\";G.exports={attributes:PT(),supplyDefaults:OG(),plot:NG(),calc:QG(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Kf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}}}),tH=Xe({\"lib/carpet.js\"(Z,G){\"use strict\";G.exports=eH()}}),K6=Xe({\"src/traces/scattercarpet/attributes.js\"(Z,G){\"use strict\";var v=$d(),x=af(),S=ru(),{hovertemplateAttrs:E,texttemplateAttrs:e,templatefallbackAttrs:t}=Jl(),r=ku(),o=Qo().extendFlat,a=x.marker,n=x.line,i=a.line;G.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:o({},x.mode,{dflt:\"markers\"}),text:o({},x.text,{}),texttemplate:e({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),texttemplatefallback:t({editType:\"plot\"}),hovertext:o({},x.hovertext,{}),line:{color:n.color,width:n.width,dash:n.dash,backoff:n.backoff,shape:o({},n.shape,{values:[\"linear\",\"spline\"]}),smoothing:n.smoothing,editType:\"calc\"},connectgaps:x.connectgaps,fill:o({},x.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:v(),marker:o({symbol:a.symbol,opacity:a.opacity,maxdisplayed:a.maxdisplayed,angle:a.angle,angleref:a.angleref,standoff:a.standoff,size:a.size,sizeref:a.sizeref,sizemin:a.sizemin,sizemode:a.sizemode,line:o({width:i.width,dash:i.dash,editType:\"calc\"},r(\"marker.line\")),gradient:a.gradient,editType:\"calc\"},r(\"marker\")),textfont:x.textfont,textposition:x.textposition,selected:x.selected,unselected:x.unselected,hoverinfo:o({},S.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:x.hoveron,hovertemplate:E(),hovertemplatefallback:t(),zorder:x.zorder}}}),rH=Xe({\"src/traces/scattercarpet/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Tv(),S=Fu(),E=md(),e=Dd(),t=o1(),r=zd(),o=ev(),a=K6();G.exports=function(i,s,h,c){function m(M,g){return v.coerce(i,s,a,M,g)}m(\"carpet\"),s.xaxis=\"x\",s.yaxis=\"y\";var p=m(\"a\"),T=m(\"b\"),l=Math.min(p.length,T.length);if(!l){s.visible=!1;return}s._length=l,m(\"text\"),m(\"texttemplate\"),m(\"texttemplatefallback\"),m(\"hovertext\");var _=l0?b=M.labelprefix.replace(/ = $/,\"\"):b=M._hovertitle,l.push(b+\": \"+g.toFixed(3)+M.labelsuffix)}if(!m.hovertemplate){var w=c.hi||m.hoverinfo,A=w.split(\"+\");A.indexOf(\"all\")!==-1&&(A=[\"a\",\"b\",\"text\"]),A.indexOf(\"a\")!==-1&&_(p.aaxis,c.a),A.indexOf(\"b\")!==-1&&_(p.baxis,c.b),l.push(\"y: \"+a.yLabel),A.indexOf(\"text\")!==-1&&x(c,m,l),a.extraText=l.join(\"
\")}return o}}}),sH=Xe({\"src/traces/scattercarpet/event_data.js\"(Z,G){\"use strict\";G.exports=function(x,S,E,e,t){var r=e[t];return x.a=r.a,x.b=r.b,x.y=r.y,x}}}),lH=Xe({\"src/traces/scattercarpet/index.js\"(Z,G){\"use strict\";G.exports={attributes:K6(),supplyDefaults:rH(),colorbar:pp(),formatLabels:aH(),calc:iH(),plot:nH(),style:Qp().style,styleOnSelect:Qp().styleOnSelect,hoverPoints:oH(),selectPoints:c1(),eventData:sH(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Kf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}}}),uH=Xe({\"lib/scattercarpet.js\"(Z,G){\"use strict\";G.exports=lH()}}),J6=Xe({\"src/traces/contourcarpet/attributes.js\"(Z,G){\"use strict\";var v=p1(),x=V_(),S=ku(),E=Qo().extendFlat,e=x.contours;G.exports=E({carpet:{valType:\"string\",editType:\"calc\"},z:v.z,a:v.x,a0:v.x0,da:v.dx,b:v.y,b0:v.y0,db:v.dy,text:v.text,hovertext:v.hovertext,transpose:v.transpose,atype:v.xtype,btype:v.ytype,fillcolor:x.fillcolor,autocontour:x.autocontour,ncontours:x.ncontours,contours:{type:e.type,start:e.start,end:e.end,size:e.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:e.showlines,showlabels:e.showlabels,labelfont:e.labelfont,labelformat:e.labelformat,operation:e.operation,value:e.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:x.line.color,width:x.line.width,dash:x.line.dash,smoothing:x.line.smoothing,editType:\"plot\"},zorder:x.zorder},S(\"\",{cLetter:\"z\",autoColorDflt:!1}))}}),$6=Xe({\"src/traces/contourcarpet/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=X2(),S=J6(),E=TS(),e=s3(),t=l3();G.exports=function(o,a,n,i){function s(p,T){return v.coerce(o,a,S,p,T)}function h(p){return v.coerce2(o,a,S,p)}if(s(\"carpet\"),o.a&&o.b){var c=x(o,a,s,i,\"a\",\"b\");if(!c){a.visible=!1;return}s(\"text\");var m=s(\"contours.type\")===\"constraint\";m?E(o,a,s,i,n,{hasHover:!1}):(e(o,a,s,h),t(o,a,s,i,{hasHover:!1}))}else a._defaultColor=n,a._length=null;s(\"zorder\")}}}),cH=Xe({\"src/traces/contourcarpet/calc.js\"(Z,G){\"use strict\";var v=Tp(),x=sa(),S=Z2(),E=Y2(),e=K2(),t=J2(),r=sS(),o=$6(),a=IT(),n=dS();G.exports=function(h,c){var m=c._carpetTrace=a(h,c);if(!(!m||!m.visible||m.visible===\"legendonly\")){if(!c.a||!c.b){var p=h.data[m.index],T=h.data[c.index];T.a||(T.a=p.a),T.b||(T.b=p.b),o(T,c,c._defaultColor,h._fullLayout)}var l=i(h,c);return n(c,c._z),l}};function i(s,h){var c=h._carpetTrace,m=c.aaxis,p=c.baxis,T,l,_,w,A,M,g;m._minDtick=0,p._minDtick=0,x.isArray1D(h.z)&&S(h,m,p,\"a\",\"b\",[\"z\"]),T=h._a=h._a||h.a,w=h._b=h._b||h.b,T=T?m.makeCalcdata(h,\"_a\"):[],w=w?p.makeCalcdata(h,\"_b\"):[],l=h.a0||0,_=h.da||1,A=h.b0||0,M=h.db||1,g=h._z=E(h._z||h.z,h.transpose),h._emptypoints=t(g),e(g,h._emptypoints);var b=x.maxRowLength(g),d=h.xtype===\"scaled\"?\"\":T,u=r(h,d,l,_,b,m),y=h.ytype===\"scaled\"?\"\":w,f=r(h,y,A,M,g.length,p),R={a:u,b:f,z:g};return h.contours.type===\"levels\"&&h.contours.coloring!==\"none\"&&v(s,h,{vals:g,containerStr:\"\",cLetter:\"z\"}),[R]}}}),fH=Xe({\"src/traces/carpet/axis_aligned_line.js\"(Z,G){\"use strict\";var v=sa().isArrayOrTypedArray;G.exports=function(x,S,E,e){var t,r,o,a,n,i,s,h,c,m,p,T,l,_=v(E)?\"a\":\"b\",w=_===\"a\"?x.aaxis:x.baxis,A=w.smoothing,M=_===\"a\"?x.a2i:x.b2j,g=_===\"a\"?E:e,b=_===\"a\"?e:E,d=_===\"a\"?S.a.length:S.b.length,u=_===\"a\"?S.b.length:S.a.length,y=Math.floor(_===\"a\"?x.b2j(b):x.a2i(b)),f=_===\"a\"?function(se){return x.evalxy([],se,y)}:function(se){return x.evalxy([],y,se)};A&&(o=Math.max(0,Math.min(u-2,y)),a=y-o,r=_===\"a\"?function(se,le){return x.dxydi([],se,o,le,a)}:function(se,le){return x.dxydj([],o,se,a,le)});var R=M(g[0]),L=M(g[1]),z=R0?Math.floor:Math.ceil,O=z>0?Math.ceil:Math.floor,P=z>0?Math.min:Math.max,U=z>0?Math.max:Math.min,B=N(R+F),X=O(L-F);s=f(R);var $=[[s]];for(t=B;t*z=0;ce--)j=U.clipsegments[ce],Q=x([],j.x,R.c2p),re=x([],j.y,L.c2p),Q.reverse(),re.reverse(),be.push(S(Q,re,j.bicubic));var Ae=\"M\"+be.join(\"L\")+\"Z\";A(F,U.clipsegments,R,L,le,V),M(O,F,R,L,ae,ee,Y,P,U,V,Ae),p(F,se,d,N,$,u,P),E.setClipUrl(F,P._clipPathId,d)})};function m(b,d){var u,y,f,R,L,z,F,N,O;for(u=0;use&&(y.max=se),y.len=y.max-y.min}function l(b,d,u){var y=b.getPointAtLength(d),f=b.getPointAtLength(u),R=f.x-y.x,L=f.y-y.y,z=Math.sqrt(R*R+L*L);return[R/z,L/z]}function _(b){var d=Math.sqrt(b[0]*b[0]+b[1]*b[1]);return[b[0]/d,b[1]/d]}function w(b,d){var u=Math.abs(b[0]*d[0]+b[1]*d[1]),y=Math.sqrt(1-u*u);return y/u}function A(b,d,u,y,f,R){var L,z,F,N,O=e.ensureSingle(b,\"g\",\"contourbg\"),P=O.selectAll(\"path\").data(R===\"fill\"&&!f?[0]:[]);P.enter().append(\"path\"),P.exit().remove();var U=[];for(N=0;N=0&&(B=Q,$=se):Math.abs(U[1]-B[1])=0&&(B=Q,$=se):e.log(\"endpt to newendpt is not vert. or horz.\",U,B,Q)}if($>=0)break;N+=ae(U,B),U=B}if($===d.edgepaths.length){e.log(\"unclosed perimeter path\");break}F=$,P=O.indexOf(F)===-1,P&&(F=O[0],N+=ae(U,B)+\"Z\",U=null)}for(F=0;Fg):M=z>f,g=z;var F=m(f,R,L,z);F.pos=y,F.yc=(f+z)/2,F.i=u,F.dir=M?\"increasing\":\"decreasing\",F.x=F.pos,F.y=[L,R],b&&(F.orig_p=s[u]),w&&(F.tx=i.text[u]),A&&(F.htx=i.hovertext[u]),d.push(F)}else d.push({pos:y,empty:!0})}return i._extremes[c._id]=S.findExtremes(c,v.concat(l,T),{padded:!0}),d.length&&(d[0].t={labels:{open:x(n,\"open:\")+\" \",high:x(n,\"high:\")+\" \",low:x(n,\"low:\")+\" \",close:x(n,\"close:\")+\" \"}}),d}function a(n,i,s){var h=s._minDiff;if(!h){var c=n._fullData,m=[];h=1/0;var p;for(p=0;p\"+_.labels[y]+v.hoverLabelText(T,f,l.yhoverformat)):(L=x.extendFlat({},A),L.y0=L.y1=R,L.yLabelVal=f,L.yLabel=_.labels[y]+v.hoverLabelText(T,f,l.yhoverformat),L.name=\"\",w.push(L),d[f]=L)}return w}function i(s,h,c,m){var p=s.cd,T=s.ya,l=p[0].trace,_=p[0].t,w=a(s,h,c,m);if(!w)return[];var A=w.index,M=p[A],g=w.index=M.i,b=M.dir;function d(F){return _.labels[F]+v.hoverLabelText(T,l[F][g],l.yhoverformat)}var u=M.hi||l.hoverinfo||\"\",y=u.split(\"+\"),f=u===\"all\",R=f||y.indexOf(\"y\")!==-1,L=f||y.indexOf(\"text\")!==-1,z=R?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+r[b]]:[];return L&&e(M,l,z),w.extraText=z.join(\"
\"),w.y0=w.y1=T.c2p(M.yc,!0),[w]}G.exports={hoverPoints:o,hoverSplit:n,hoverOnPoints:i}}}),rk=Xe({\"src/traces/ohlc/select.js\"(Z,G){\"use strict\";G.exports=function(x,S){var E=x.cd,e=x.xaxis,t=x.yaxis,r=[],o,a=E[0].t.bPos||0;if(S===!1)for(o=0;oh?function(l){return l<=0}:function(l){return l>=0};a.c2g=function(l){var _=a.c2l(l)-s;return(T(_)?_:0)+p},a.g2c=function(l){return a.l2c(l+s-p)},a.g2p=function(l){return l*m},a.c2p=function(l){return a.g2p(a.c2g(l))}}}function t(a,n){return n===\"degrees\"?S(a):a}function r(a,n){return n===\"degrees\"?E(a):a}function o(a,n){var i=a.type;if(i===\"linear\"){var s=a.d2c,h=a.c2d;a.d2c=function(c,m){return t(s(c),m)},a.c2d=function(c,m){return h(r(c,m))}}a.makeCalcdata=function(c,m){var p=c[m],T=c._length,l,_,w=function(d){return a.d2c(d,c.thetaunit)};if(p)for(l=new Array(T),_=0;_0?d:1/0},M=S(w,A),g=v.mod(M+1,w.length);return[w[M],w[g]]}function m(_){return Math.abs(_)>1e-10?_:0}function p(_,w,A){w=w||0,A=A||0;for(var M=_.length,g=new Array(M),b=0;b0?1:0}function x(r){var o=r[0],a=r[1];if(!isFinite(o)||!isFinite(a))return[1,0];var n=(o+1)*(o+1)+a*a;return[(o*o+a*a-1)/n,2*a/n]}function S(r,o){var a=o[0],n=o[1];return[a*r.radius+r.cx,-n*r.radius+r.cy]}function E(r,o){return o*r.radius}function e(r,o,a,n){var i=S(r,x([a,o])),s=i[0],h=i[1],c=S(r,x([n,o])),m=c[0],p=c[1];if(o===0)return[\"M\"+s+\",\"+h,\"L\"+m+\",\"+p].join(\" \");var T=E(r,1/Math.abs(o));return[\"M\"+s+\",\"+h,\"A\"+T+\",\"+T+\" 0 0,\"+(o<0?1:0)+\" \"+m+\",\"+p].join(\" \")}function t(r,o,a,n){var i=E(r,1/(o+1)),s=S(r,x([o,a])),h=s[0],c=s[1],m=S(r,x([o,n])),p=m[0],T=m[1];if(v(a)!==v(n)){var l=S(r,x([o,0])),_=l[0],w=l[1];return[\"M\"+h+\",\"+c,\"A\"+i+\",\"+i+\" 0 0,\"+(0at?(nt=re,rt=re*at,ye=(ce-rt)/q.h/2,st=[j[0],j[1]],Me=[Q[0]+ye,Q[1]-ye]):(nt=ce/at,rt=ce,ye=(re-nt)/q.w/2,st=[j[0]+ye,j[1]-ye],Me=[Q[0],Q[1]]),Y.xLength2=nt,Y.yLength2=rt,Y.xDomain2=st,Y.yDomain2=Me;var he=Y.xOffset2=q.l+q.w*st[0],Oe=Y.yOffset2=q.t+q.h*(1-Me[1]),tt=Y.radius=nt/De,ot=Y.innerRadius=Y.getHole(V)*tt,Qe=Y.cx=he-tt*Ae[0],Pt=Y.cy=Oe+tt*Ae[3],It=Y.cxx=Qe-he,qt=Y.cyy=Pt-Oe,Wt=oe.side,kr;Wt===\"counterclockwise\"?(kr=Wt,Wt=\"top\"):Wt===\"clockwise\"&&(kr=Wt,Wt=\"bottom\"),Y.radialAxis=Y.mockAxis(fe,V,oe,{_id:\"x\",side:Wt,_trueSide:kr,domain:[ot/q.w,tt/q.w]}),Y.angularAxis=Y.mockAxis(fe,V,ae,{side:\"right\",domain:[0,Math.PI],autorange:!1}),Y.doAutoRange(fe,V),Y.updateAngularAxis(fe,V),Y.updateRadialAxis(fe,V),Y.updateRadialAxisTitle(fe,V),Y.xaxis=Y.mockCartesianAxis(fe,V,{_id:\"x\",domain:st}),Y.yaxis=Y.mockCartesianAxis(fe,V,{_id:\"y\",domain:Me});var mr=Y.pathSubplot();Y.clipPaths.forTraces.select(\"path\").attr(\"d\",mr).attr(\"transform\",t(It,qt)),ee.frontplot.attr(\"transform\",t(he,Oe)).call(o.setClipUrl,Y._hasClipOnAxisFalse?null:Y.clipIds.forTraces,Y.gd),ee.bg.attr(\"d\",mr).attr(\"transform\",t(Qe,Pt)).call(r.fill,V.bgcolor)},B.mockAxis=function(fe,V,Y,ee){var q=E.extendFlat({},Y,ee);return s(q,V,fe),q},B.mockCartesianAxis=function(fe,V,Y){var ee=this,q=ee.isSmith,oe=Y._id,ae=E.extendFlat({type:\"linear\"},Y);i(ae,fe);var j={x:[0,2],y:[1,3]};return ae.setRange=function(){var Q=ee.sectorBBox,re=j[oe],ce=ee.radialAxis._rl,be=(ce[1]-ce[0])/(1-ee.getHole(V));ae.range=[Q[re[0]]*be,Q[re[1]]*be]},ae.isPtWithinRange=oe===\"x\"&&!q?function(Q){return ee.isPtInside(Q)}:function(){return!0},ae.setRange(),ae.setScale(),ae},B.doAutoRange=function(fe,V){var Y=this,ee=Y.gd,q=Y.radialAxis,oe=Y.getRadial(V);h(ee,q);var ae=q.range;if(oe.range=ae.slice(),oe._input.range=ae.slice(),q._rl=[q.r2l(ae[0],null,\"gregorian\"),q.r2l(ae[1],null,\"gregorian\")],q.minallowed!==void 0){var j=q.r2l(q.minallowed);q._rl[0]>q._rl[1]?q._rl[1]=Math.max(q._rl[1],j):q._rl[0]=Math.max(q._rl[0],j)}if(q.maxallowed!==void 0){var Q=q.r2l(q.maxallowed);q._rl[0]90&&ce<=270&&(be.tickangle=180);var ze=De?function(tt){var ot=z(Y,f([tt.x,0]));return t(ot[0]-j,ot[1]-Q)}:function(tt){return t(be.l2p(tt.x)+ae,0)},Ze=De?function(tt){return L(Y,tt.x,-1/0,1/0)}:function(tt){return Y.pathArc(be.r2p(tt.x)+ae)},at=X(re);if(Y.radialTickLayout!==at&&(q[\"radial-axis\"].selectAll(\".xtick\").remove(),Y.radialTickLayout=at),Ae){be.setScale();var nt=0,rt=De?(be.tickvals||[]).filter(function(tt){return tt>=0}).map(function(tt){return n.tickText(be,tt,!0,!1)}):n.calcTicks(be),st=De?rt:n.clipEnds(be,rt),Me=n.getTickSigns(be)[2];De&&((be.ticks===\"top\"&&be.side===\"bottom\"||be.ticks===\"bottom\"&&be.side===\"top\")&&(Me=-Me),be.ticks===\"top\"&&be.side===\"top\"&&(nt=-be.ticklen),be.ticks===\"bottom\"&&be.side===\"bottom\"&&(nt=be.ticklen)),n.drawTicks(ee,be,{vals:rt,layer:q[\"radial-axis\"],path:n.makeTickPath(be,0,Me),transFn:ze,crisp:!1}),n.drawGrid(ee,be,{vals:st,layer:q[\"radial-grid\"],path:Ze,transFn:E.noop,crisp:!1}),n.drawLabels(ee,be,{vals:rt,layer:q[\"radial-axis\"],transFn:ze,labelFns:n.makeLabelFns(be,nt)})}var ye=Y.radialAxisAngle=Y.vangles?P(se(O(re.angle),Y.vangles)):re.angle,he=t(j,Q),Oe=he+e(-ye);le(q[\"radial-axis\"],Ae&&(re.showticklabels||re.ticks),{transform:Oe}),le(q[\"radial-grid\"],Ae&&re.showgrid,{transform:De?\"\":he}),le(q[\"radial-line\"].select(\"line\"),Ae&&re.showline,{x1:De?-oe:ae,y1:0,x2:oe,y2:0,transform:Oe}).attr(\"stroke-width\",re.linewidth).call(r.stroke,re.linecolor)},B.updateRadialAxisTitle=function(fe,V,Y){if(!this.isSmith){var ee=this,q=ee.gd,oe=ee.radius,ae=ee.cx,j=ee.cy,Q=ee.getRadial(V),re=ee.id+\"title\",ce=0;if(Q.title){var be=o.bBox(ee.layers[\"radial-axis\"].node()).height,Ae=Q.title.font.size,De=Q.side;ce=De===\"top\"?Ae:De===\"counterclockwise\"?-(be+Ae*.4):be+Ae*.8}var ze=Y!==void 0?Y:ee.radialAxisAngle,Ze=O(ze),at=Math.cos(Ze),nt=Math.sin(Ze),rt=ae+oe/2*at+ce*nt,st=j-oe/2*nt+ce*at;ee.layers[\"radial-axis-title\"]=T.draw(q,re,{propContainer:Q,propName:ee.id+\".radialaxis.title.text\",placeholder:F(q,\"Click to enter radial axis title\"),attributes:{x:rt,y:st,\"text-anchor\":\"middle\"},transform:{rotate:-ze}})}},B.updateAngularAxis=function(fe,V){var Y=this,ee=Y.gd,q=Y.layers,oe=Y.radius,ae=Y.innerRadius,j=Y.cx,Q=Y.cy,re=Y.getAngular(V),ce=Y.angularAxis,be=Y.isSmith;be||(Y.fillViewInitialKey(\"angularaxis.rotation\",re.rotation),ce.setGeometry(),ce.setScale());var Ae=be?function(ot){var Qe=z(Y,f([0,ot.x]));return Math.atan2(Qe[0]-j,Qe[1]-Q)-Math.PI/2}:function(ot){return ce.t2g(ot.x)};ce.type===\"linear\"&&ce.thetaunit===\"radians\"&&(ce.tick0=P(ce.tick0),ce.dtick=P(ce.dtick));var De=function(ot){return t(j+oe*Math.cos(ot),Q-oe*Math.sin(ot))},ze=be?function(ot){var Qe=z(Y,f([0,ot.x]));return t(Qe[0],Qe[1])}:function(ot){return De(Ae(ot))},Ze=be?function(ot){var Qe=z(Y,f([0,ot.x])),Pt=Math.atan2(Qe[0]-j,Qe[1]-Q)-Math.PI/2;return t(Qe[0],Qe[1])+e(-P(Pt))}:function(ot){var Qe=Ae(ot);return De(Qe)+e(-P(Qe))},at=be?function(ot){return R(Y,ot.x,0,1/0)}:function(ot){var Qe=Ae(ot),Pt=Math.cos(Qe),It=Math.sin(Qe);return\"M\"+[j+ae*Pt,Q-ae*It]+\"L\"+[j+oe*Pt,Q-oe*It]},nt=n.makeLabelFns(ce,0),rt=nt.labelStandoff,st={};st.xFn=function(ot){var Qe=Ae(ot);return Math.cos(Qe)*rt},st.yFn=function(ot){var Qe=Ae(ot),Pt=Math.sin(Qe)>0?.2:1;return-Math.sin(Qe)*(rt+ot.fontSize*Pt)+Math.abs(Math.cos(Qe))*(ot.fontSize*b)},st.anchorFn=function(ot){var Qe=Ae(ot),Pt=Math.cos(Qe);return Math.abs(Pt)<.1?\"middle\":Pt>0?\"start\":\"end\"},st.heightFn=function(ot,Qe,Pt){var It=Ae(ot);return-.5*(1+Math.sin(It))*Pt};var Me=X(re);Y.angularTickLayout!==Me&&(q[\"angular-axis\"].selectAll(\".\"+ce._id+\"tick\").remove(),Y.angularTickLayout=Me);var ye=be?[1/0].concat(ce.tickvals||[]).map(function(ot){return n.tickText(ce,ot,!0,!1)}):n.calcTicks(ce);be&&(ye[0].text=\"\\u221E\",ye[0].fontSize*=1.75);var he;if(V.gridshape===\"linear\"?(he=ye.map(Ae),E.angleDelta(he[0],he[1])<0&&(he=he.slice().reverse())):he=null,Y.vangles=he,ce.type===\"category\"&&(ye=ye.filter(function(ot){return E.isAngleInsideSector(Ae(ot),Y.sectorInRad)})),ce.visible){var Oe=ce.ticks===\"inside\"?-1:1,tt=(ce.linewidth||1)/2;n.drawTicks(ee,ce,{vals:ye,layer:q[\"angular-axis\"],path:\"M\"+Oe*tt+\",0h\"+Oe*ce.ticklen,transFn:Ze,crisp:!1}),n.drawGrid(ee,ce,{vals:ye,layer:q[\"angular-grid\"],path:at,transFn:E.noop,crisp:!1}),n.drawLabels(ee,ce,{vals:ye,layer:q[\"angular-axis\"],repositionOnUpdate:!0,transFn:ze,labelFns:st})}le(q[\"angular-line\"].select(\"path\"),re.showline,{d:Y.pathSubplot(),transform:t(j,Q)}).attr(\"stroke-width\",re.linewidth).call(r.stroke,re.linecolor)},B.updateFx=function(fe,V){if(!this.gd._context.staticPlot){var Y=!this.isSmith;Y&&(this.updateAngularDrag(fe),this.updateRadialDrag(fe,V,0),this.updateRadialDrag(fe,V,1)),this.updateHoverAndMainDrag(fe)}},B.updateHoverAndMainDrag=function(fe){var V=this,Y=V.isSmith,ee=V.gd,q=V.layers,oe=fe._zoomlayer,ae=d.MINZOOM,j=d.OFFEDGE,Q=V.radius,re=V.innerRadius,ce=V.cx,be=V.cy,Ae=V.cxx,De=V.cyy,ze=V.sectorInRad,Ze=V.vangles,at=V.radialAxis,nt=u.clampTiny,rt=u.findXYatLength,st=u.findEnclosingVertexAngles,Me=d.cornerHalfWidth,ye=d.cornerLen/2,he,Oe,tt=c.makeDragger(q,\"path\",\"maindrag\",fe.dragmode===!1?\"none\":\"crosshair\");v.select(tt).attr(\"d\",V.pathSubplot()).attr(\"transform\",t(ce,be)),tt.onmousemove=function(rr){p.hover(ee,rr,V.id),ee._fullLayout._lasthover=tt,ee._fullLayout._hoversubplot=V.id},tt.onmouseout=function(rr){ee._dragging||m.unhover(ee,rr)};var ot={element:tt,gd:ee,subplot:V.id,plotinfo:{id:V.id,xaxis:V.xaxis,yaxis:V.yaxis},xaxes:[V.xaxis],yaxes:[V.yaxis]},Qe,Pt,It,qt,Wt,kr,mr,qr,Sr;function Rr(rr,er){return Math.sqrt(rr*rr+er*er)}function wt(rr,er){return Rr(rr-Ae,er-De)}function Ne(rr,er){return Math.atan2(De-er,rr-Ae)}function Ke(rr,er){return[rr*Math.cos(er),rr*Math.sin(-er)]}function Te(rr,er){if(rr===0)return V.pathSector(2*Me);var Lr=ye/rr,fa=er-Lr,Da=er+Lr,Ia=Math.max(0,Math.min(rr,Q)),qa=Ia-Me,Wa=Ia+Me;return\"M\"+Ke(qa,fa)+\"A\"+[qa,qa]+\" 0,0,0 \"+Ke(qa,Da)+\"L\"+Ke(Wa,Da)+\"A\"+[Wa,Wa]+\" 0,0,1 \"+Ke(Wa,fa)+\"Z\"}function Ie(rr,er,Lr){if(rr===0)return V.pathSector(2*Me);var fa=Ke(rr,er),Da=Ke(rr,Lr),Ia=nt((fa[0]+Da[0])/2),qa=nt((fa[1]+Da[1])/2),Wa,Ca;if(Ia&&qa){var hi=qa/Ia,wi=-1/hi,Kt=rt(Me,hi,Ia,qa);Wa=rt(ye,wi,Kt[0][0],Kt[0][1]),Ca=rt(ye,wi,Kt[1][0],Kt[1][1])}else{var Ft,Yt;qa?(Ft=ye,Yt=Me):(Ft=Me,Yt=ye),Wa=[[Ia-Ft,qa-Yt],[Ia+Ft,qa-Yt]],Ca=[[Ia-Ft,qa+Yt],[Ia+Ft,qa+Yt]]}return\"M\"+Wa.join(\"L\")+\"L\"+Ca.reverse().join(\"L\")+\"Z\"}function Ve(){It=null,qt=null,Wt=V.pathSubplot(),kr=!1;var rr=ee._fullLayout[V.id];mr=x(rr.bgcolor).getLuminance(),qr=c.makeZoombox(oe,mr,ce,be,Wt),qr.attr(\"fill-rule\",\"evenodd\"),Sr=c.makeCorners(oe,ce,be),w(ee)}function Ce(rr,er){return er=Math.max(Math.min(er,Q),re),rrae?(rr-1&&rr===1&&_(er,ee,[V.xaxis],[V.yaxis],V.id,ot),Lr.indexOf(\"event\")>-1&&p.click(ee,er,V.id)}ot.prepFn=function(rr,er,Lr){var fa=ee._fullLayout.dragmode,Da=tt.getBoundingClientRect();ee._fullLayout._calcInverseTransform(ee);var Ia=ee._fullLayout._invTransform;he=ee._fullLayout._invScaleX,Oe=ee._fullLayout._invScaleY;var qa=E.apply3DTransform(Ia)(er-Da.left,Lr-Da.top);if(Qe=qa[0],Pt=qa[1],Ze){var Wa=u.findPolygonOffset(Q,ze[0],ze[1],Ze);Qe+=Ae+Wa[0],Pt+=De+Wa[1]}switch(fa){case\"zoom\":ot.clickFn=ir,Y||(Ze?ot.moveFn=ct:ot.moveFn=Pe,ot.doneFn=_t,Ve(rr,er,Lr));break;case\"select\":case\"lasso\":l(rr,er,Lr,ot,fa);break}},m.init(ot)},B.updateRadialDrag=function(fe,V,Y){var ee=this,q=ee.gd,oe=ee.layers,ae=ee.radius,j=ee.innerRadius,Q=ee.cx,re=ee.cy,ce=ee.radialAxis,be=d.radialDragBoxSize,Ae=be/2;if(!ce.visible)return;var De=O(ee.radialAxisAngle),ze=ce._rl,Ze=ze[0],at=ze[1],nt=ze[Y],rt=.75*(ze[1]-ze[0])/(1-ee.getHole(V))/ae,st,Me,ye;Y?(st=Q+(ae+Ae)*Math.cos(De),Me=re-(ae+Ae)*Math.sin(De),ye=\"radialdrag\"):(st=Q+(j-Ae)*Math.cos(De),Me=re-(j-Ae)*Math.sin(De),ye=\"radialdrag-inner\");var he=c.makeRectDragger(oe,ye,\"crosshair\",-Ae,-Ae,be,be),Oe={element:he,gd:q};fe.dragmode===!1&&(Oe.dragmode=!1),le(v.select(he),ce.visible&&j0!=(Y?Qe>Ze:Qe=90||q>90&&oe>=450?De=1:j<=0&&re<=0?De=0:De=Math.max(j,re),q<=180&&oe>=180||q>180&&oe>=540?ce=-1:ae>=0&&Q>=0?ce=0:ce=Math.min(ae,Q),q<=270&&oe>=270||q>270&&oe>=630?be=-1:j>=0&&re>=0?be=0:be=Math.min(j,re),oe>=360?Ae=1:ae<=0&&Q<=0?Ae=0:Ae=Math.max(ae,Q),[ce,be,Ae,De]}function se(fe,V){var Y=function(q){return E.angleDist(fe,q)},ee=E.findIndexOfMin(V,Y);return V[ee]}function le(fe,V,Y){return V?(fe.attr(\"display\",null),fe.attr(Y)):fe&&fe.attr(\"display\",\"none\"),fe}}}),sk=Xe({\"src/plots/polar/layout_attributes.js\"(Z,G){\"use strict\";var v=sh(),x=Wh(),S=wc().attributes,E=sa().extendFlat,e=pc().overrideAll,t=e({color:x.color,showline:E({},x.showline,{dflt:!0}),linecolor:x.linecolor,linewidth:x.linewidth,showgrid:E({},x.showgrid,{dflt:!0}),gridcolor:x.gridcolor,gridwidth:x.gridwidth,griddash:x.griddash},\"plot\",\"from-root\"),r=e({tickmode:x.minor.tickmode,nticks:x.nticks,tick0:x.tick0,dtick:x.dtick,tickvals:x.tickvals,ticktext:x.ticktext,ticks:x.ticks,ticklen:x.ticklen,tickwidth:x.tickwidth,tickcolor:x.tickcolor,ticklabelstep:x.ticklabelstep,showticklabels:x.showticklabels,labelalias:x.labelalias,minorloglabels:x.minorloglabels,showtickprefix:x.showtickprefix,tickprefix:x.tickprefix,showticksuffix:x.showticksuffix,ticksuffix:x.ticksuffix,showexponent:x.showexponent,exponentformat:x.exponentformat,minexponent:x.minexponent,separatethousands:x.separatethousands,tickfont:x.tickfont,tickangle:x.tickangle,tickformat:x.tickformat,tickformatstops:x.tickformatstops,layer:x.layer},\"plot\",\"from-root\"),o={visible:E({},x.visible,{dflt:!0}),type:E({},x.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:x.autotypenumbers,autorangeoptions:{minallowed:x.autorangeoptions.minallowed,maxallowed:x.autorangeoptions.maxallowed,clipmin:x.autorangeoptions.clipmin,clipmax:x.autorangeoptions.clipmax,include:x.autorangeoptions.include,editType:\"plot\"},autorange:E({},x.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:E({},x.minallowed,{editType:\"plot\"}),maxallowed:E({},x.maxallowed,{editType:\"plot\"}),range:E({},x.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:x.categoryorder,categoryarray:x.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:x.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:E({},x.title.text,{editType:\"plot\",dflt:\"\"}),font:E({},x.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:x.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};E(o,t,r);var a={visible:E({},x.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:x.autotypenumbers,categoryorder:x.categoryorder,categoryarray:x.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:x.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};E(a,t,r),G.exports={domain:S({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:v.background},radialaxis:o,angularaxis:a,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}}}),AH=Xe({\"src/plots/polar/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=$n(),S=zl(),E=o0(),e=Hh().getSubplotData,t=Y0(),r=t1(),o=Qm(),a=e0(),n=I2(),i=z_(),s=f5(),h=a1(),c=sk(),m=ik(),p=DT(),T=p.axisNames;function l(w,A,M,g){var b=M(\"bgcolor\");g.bgColor=x.combine(b,g.paper_bgcolor);var d=M(\"sector\");M(\"hole\");var u=e(g.fullData,p.name,g.id),y=g.layoutOut,f;function R(be,Ae){return M(f+\".\"+be,Ae)}for(var L=0;L\")}}G.exports={hoverPoints:x,makeHoverPointText:S}}}),EH=Xe({\"src/traces/scatterpolar/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:FT(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:Cx(),supplyDefaults:OT().supplyDefaults,colorbar:pp(),formatLabels:BT(),calc:SH(),plot:MH(),style:Qp().style,styleOnSelect:Qp().styleOnSelect,hoverPoints:NT().hoverPoints,selectPoints:c1(),meta:{}}}}),kH=Xe({\"lib/scatterpolar.js\"(Z,G){\"use strict\";G.exports=EH()}}),lk=Xe({\"src/traces/scatterpolargl/attributes.js\"(Z,G){\"use strict\";var v=Cx(),{cliponaxis:x,hoveron:S}=v,E=Qs(v,[\"cliponaxis\",\"hoveron\"]),{connectgaps:e,line:{color:t,dash:r,width:o},fill:a,fillcolor:n,marker:i,textfont:s,textposition:h}=xx();G.exports=ds(To({},E),{connectgaps:e,fill:a,fillcolor:n,line:{color:t,dash:r,editType:\"calc\",width:o},marker:i,textfont:s,textposition:h})}}),CH=Xe({\"src/traces/scatterpolargl/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=Fu(),S=OT().handleRThetaDefaults,E=md(),e=Dd(),t=zd(),r=ev(),o=Tv().PTS_LINESONLY,a=lk();G.exports=function(i,s,h,c){function m(T,l){return v.coerce(i,s,a,T,l)}var p=S(i,s,c,m);if(!p){s.visible=!1;return}m(\"thetaunit\"),m(\"mode\",p=r&&(g.marker.cluster=_.tree),g.marker&&(g.markerSel.positions=g.markerUnsel.positions=g.marker.positions=y),g.line&&y.length>1&&t.extendFlat(g.line,e.linePositions(n,l,y)),g.text&&(t.extendFlat(g.text,{positions:y},e.textPosition(n,l,g.text,g.marker)),t.extendFlat(g.textSel,{positions:y},e.textPosition(n,l,g.text,g.markerSel)),t.extendFlat(g.textUnsel,{positions:y},e.textPosition(n,l,g.text,g.markerUnsel))),g.fill&&!m.fill2d&&(m.fill2d=!0),g.marker&&!m.scatter2d&&(m.scatter2d=!0),g.line&&!m.line2d&&(m.line2d=!0),g.text&&!m.glText&&(m.glText=!0),m.lineOptions.push(g.line),m.fillOptions.push(g.fill),m.markerOptions.push(g.marker),m.markerSelectedOptions.push(g.markerSel),m.markerUnselectedOptions.push(g.markerUnsel),m.textOptions.push(g.text),m.textSelectedOptions.push(g.textSel),m.textUnselectedOptions.push(g.textUnsel),m.selectBatch.push([]),m.unselectBatch.push([]),_.x=f,_.y=R,_.rawx=f,_.rawy=R,_.r=A,_.theta=M,_.positions=y,_._scene=m,_.index=m.count,m.count++}}),S(n,i,s)}},G.exports.reglPrecompiled=o}}),zH=Xe({\"src/traces/scatterpolargl/index.js\"(Z,G){\"use strict\";var v=RH();v.plot=DH(),G.exports=v}}),FH=Xe({\"lib/scatterpolargl.js\"(Z,G){\"use strict\";G.exports=zH()}}),uk=Xe({\"src/traces/barpolar/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:v,templatefallbackAttrs:x}=Jl(),S=Qo().extendFlat,E=Cx(),e=Sv();G.exports={r:E.r,theta:E.theta,r0:E.r0,dr:E.dr,theta0:E.theta0,dtheta:E.dtheta,thetaunit:E.thetaunit,base:S({},e.base,{}),offset:S({},e.offset,{}),width:S({},e.width,{}),text:S({},e.text,{}),hovertext:S({},e.hovertext,{}),marker:t(),hoverinfo:E.hoverinfo,hovertemplate:v(),hovertemplatefallback:x(),selected:e.selected,unselected:e.unselected};function t(){var r=S({},e.marker);return delete r.cornerradius,r}}}),ck=Xe({\"src/traces/barpolar/layout_attributes.js\"(Z,G){\"use strict\";G.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}}}),OH=Xe({\"src/traces/barpolar/defaults.js\"(Z,G){\"use strict\";var v=sa(),x=OT().handleRThetaDefaults,S=j2(),E=uk();G.exports=function(t,r,o,a){function n(s,h){return v.coerce(t,r,E,s,h)}var i=x(t,r,a,n);if(!i){r.visible=!1;return}n(\"thetaunit\"),n(\"base\"),n(\"offset\"),n(\"width\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),n(\"hovertemplatefallback\"),S(t,r,n,o,a),v.coerceSelectionMarkerOpacity(r,n)}}}),BH=Xe({\"src/traces/barpolar/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=ck();G.exports=function(S,E,e){var t={},r;function o(i,s){return v.coerce(S[r]||{},E[r],x,i,s)}for(var a=0;a0?(c=s,m=h):(c=h,m=s);var p=e.findEnclosingVertexAngles(c,r.vangles)[0],T=e.findEnclosingVertexAngles(m,r.vangles)[1],l=[p,(c+m)/2,T];return e.pathPolygonAnnulus(n,i,c,m,l,o,a)}:function(n,i,s,h){return S.pathAnnulus(n,i,s,h,o,a)}}}}),UH=Xe({\"src/traces/barpolar/hover.js\"(Z,G){\"use strict\";var v=rf(),x=sa(),S=f1().getTraceColor,E=x.fillText,e=NT().makeHoverPointText,t=zT().isPtInsidePolygon;G.exports=function(o,a,n){var i=o.cd,s=i[0].trace,h=o.subplot,c=h.radialAxis,m=h.angularAxis,p=h.vangles,T=p?t:x.isPtInsideSector,l=o.maxHoverDistance,_=m._period||2*Math.PI,w=Math.abs(c.g2p(Math.sqrt(a*a+n*n))),A=Math.atan2(n,a);c.range[0]>c.range[1]&&(A+=Math.PI);var M=function(u){return T(w,A,[u.rp0,u.rp1],[u.thetag0,u.thetag1],p)?l+Math.min(1,Math.abs(u.thetag1-u.thetag0)/_)-1+(u.rp1-w)/(u.rp1-u.rp0)-1:1/0};if(v.getClosest(i,M,o),o.index!==!1){var g=o.index,b=i[g];o.x0=o.x1=b.ct[0],o.y0=o.y1=b.ct[1];var d=x.extendFlat({},b,{r:b.s,theta:b.p});return E(b,s,o),e(d,s,h,o),o.hovertemplate=s.hovertemplate,o.color=S(s,b),o.xLabelVal=o.yLabelVal=void 0,b.s<0&&(o.idealAlign=\"left\"),[o]}}}}),jH=Xe({\"src/traces/barpolar/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:FT(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:uk(),layoutAttributes:ck(),supplyDefaults:OH(),supplyLayoutDefaults:BH(),calc:fk().calc,crossTraceCalc:fk().crossTraceCalc,plot:NH(),colorbar:pp(),formatLabels:BT(),style:Nd().style,styleOnSelect:Nd().styleOnSelect,hoverPoints:UH(),selectPoints:h1(),meta:{}}}}),qH=Xe({\"lib/barpolar.js\"(Z,G){\"use strict\";G.exports=jH()}}),hk=Xe({\"src/plots/smith/constants.js\"(Z,G){\"use strict\";G.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}}}),pk=Xe({\"src/plots/smith/layout_attributes.js\"(Z,G){\"use strict\";var v=sh(),x=Wh(),S=wc().attributes,E=sa().extendFlat,e=pc().overrideAll,t=e({color:x.color,showline:E({},x.showline,{dflt:!0}),linecolor:x.linecolor,linewidth:x.linewidth,showgrid:E({},x.showgrid,{dflt:!0}),gridcolor:x.gridcolor,gridwidth:x.gridwidth,griddash:x.griddash},\"plot\",\"from-root\"),r=e({ticklen:x.ticklen,tickwidth:E({},x.tickwidth,{dflt:2}),tickcolor:x.tickcolor,showticklabels:x.showticklabels,labelalias:x.labelalias,showtickprefix:x.showtickprefix,tickprefix:x.tickprefix,showticksuffix:x.showticksuffix,ticksuffix:x.ticksuffix,tickfont:x.tickfont,tickformat:x.tickformat,hoverformat:x.hoverformat,layer:x.layer},\"plot\",\"from-root\"),o=E({visible:E({},x.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:E({},x.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},t,r),a=E({visible:E({},x.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:x.ticks,editType:\"calc\"},t,r);G.exports={domain:S({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:v.background},realaxis:o,imaginaryaxis:a,editType:\"calc\"}}}),VH=Xe({\"src/plots/smith/layout_defaults.js\"(Z,G){\"use strict\";var v=sa(),x=$n(),S=zl(),E=o0(),e=Hh().getSubplotData,t=e0(),r=Qm(),o=z_(),a=wv(),n=pk(),i=hk(),s=i.axisNames,h=m(function(p){return v.isTypedArray(p)&&(p=Array.from(p)),p.slice().reverse().map(function(T){return-T}).concat([0]).concat(p)},String);function c(p,T,l,_){var w=l(\"bgcolor\");_.bgColor=x.combine(w,_.paper_bgcolor);var A=e(_.fullData,i.name,_.id),M=_.layoutOut,g;function b(B,X){return l(g+\".\"+B,X)}for(var d=0;d\")}}G.exports={hoverPoints:x,makeHoverPointText:S}}}),KH=Xe({\"src/traces/scattersmith/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:GH(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:dk(),supplyDefaults:HH(),colorbar:pp(),formatLabels:WH(),calc:XH(),plot:ZH(),style:Qp().style,styleOnSelect:Qp().styleOnSelect,hoverPoints:YH().hoverPoints,selectPoints:c1(),meta:{}}}}),JH=Xe({\"lib/scattersmith.js\"(Z,G){\"use strict\";G.exports=KH()}}),Mp=Xe({\"node_modules/world-calendars/dist/main.js\"(Z,G){var v=ch();function x(){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={}}v(x.prototype,{instance:function(o,a){o=(o||\"gregorian\").toLowerCase(),a=a||\"\";var n=this._localCals[o+\"-\"+a];if(!n&&this.calendars[o]&&(n=new this.calendars[o](a),this._localCals[o+\"-\"+a]=n),!n)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,o);return n},newDate:function(o,a,n,i,s){return i=(o!=null&&o.year?o.calendar():typeof i==\"string\"?this.instance(i,s):i)||this.instance(),i.newDate(o,a,n)},substituteDigits:function(o){return function(a){return(a+\"\").replace(/[0-9]/g,function(n){return o[n]})}},substituteChineseDigits:function(o,a){return function(n){for(var i=\"\",s=0;n>0;){var h=n%10;i=(h===0?\"\":o[h]+a[s])+i,s++,n=Math.floor(n/10)}return i.indexOf(o[1]+a[1])===0&&(i=i.substr(1)),i||o[0]}}});function S(o,a,n,i){if(this._calendar=o,this._year=a,this._month=n,this._day=i,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(r.local.invalidDate||r.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function E(o,a){return o=\"\"+o,\"000000\".substring(0,a-o.length)+o}v(S.prototype,{newDate:function(o,a,n){return this._calendar.newDate(o??this,a,n)},year:function(o){return arguments.length===0?this._year:this.set(o,\"y\")},month:function(o){return arguments.length===0?this._month:this.set(o,\"m\")},day:function(o){return arguments.length===0?this._day:this.set(o,\"d\")},date:function(o,a,n){if(!this._calendar.isValid(o,a,n))throw(r.local.invalidDate||r.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=o,this._month=a,this._day=n,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(o,a){return this._calendar.add(this,o,a)},set:function(o,a){return this._calendar.set(this,o,a)},compareTo:function(o){if(this._calendar.name!==o._calendar.name)throw(r.local.differentCalendars||r.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,o._calendar.local.name);var a=this._year!==o._year?this._year-o._year:this._month!==o._month?this.monthOfYear()-o.monthOfYear():this._day-o._day;return a===0?0:a<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(o){return this._calendar.fromJD(o)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(o){return this._calendar.fromJSDate(o)},toString:function(){return(this.year()<0?\"-\":\"\")+E(Math.abs(this.year()),4)+\"-\"+E(this.month(),2)+\"-\"+E(this.day(),2)}});function e(){this.shortYearCutoff=\"+10\"}v(e.prototype,{_validateLevel:0,newDate:function(o,a,n){return o==null?this.today():(o.year&&(this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),n=o.day(),a=o.month(),o=o.year()),new S(this,o,a,n))},today:function(){return this.fromJSDate(new Date)},epoch:function(o){var a=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear);return a.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(o){var a=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear);return(a.year()<0?\"-\":\"\")+E(Math.abs(a.year()),4)},monthsInYear:function(o){return this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(o,a){var n=this._validate(o,a,this.minDay,r.local.invalidMonth||r.regionalOptions[\"\"].invalidMonth);return(n.month()+this.monthsInYear(n)-this.firstMonth)%this.monthsInYear(n)+this.minMonth},fromMonthOfYear:function(o,a){var n=(a+this.firstMonth-2*this.minMonth)%this.monthsInYear(o)+this.minMonth;return this._validate(o,n,this.minDay,r.local.invalidMonth||r.regionalOptions[\"\"].invalidMonth),n},daysInYear:function(o){var a=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear);return this.leapYear(a)?366:365},dayOfYear:function(o,a,n){var i=this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate);return i.toJD()-this.newDate(i.year(),this.fromMonthOfYear(i.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(o,a,n){var i=this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(i))+2)%this.daysInWeek()},extraInfo:function(o,a,n){return this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),{}},add:function(o,a,n){return this._validate(o,this.minMonth,this.minDay,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),this._correctAdd(o,this._add(o,a,n),a,n)},_add:function(o,a,n){if(this._validateLevel++,n===\"d\"||n===\"w\"){var i=o.toJD()+a*(n===\"w\"?this.daysInWeek():1),s=o.calendar().fromJD(i);return this._validateLevel--,[s.year(),s.month(),s.day()]}try{var h=o.year()+(n===\"y\"?a:0),c=o.monthOfYear()+(n===\"m\"?a:0),s=o.day(),m=function(l){for(;c_-1+l.minMonth;)h++,c-=_,_=l.monthsInYear(h)};n===\"y\"?(o.month()!==this.fromMonthOfYear(h,c)&&(c=this.newDate(h,o.month(),this.minDay).monthOfYear()),c=Math.min(c,this.monthsInYear(h)),s=Math.min(s,this.daysInMonth(h,this.fromMonthOfYear(h,c)))):n===\"m\"&&(m(this),s=Math.min(s,this.daysInMonth(h,this.fromMonthOfYear(h,c))));var p=[h,this.fromMonthOfYear(h,c),s];return this._validateLevel--,p}catch(T){throw this._validateLevel--,T}},_correctAdd:function(o,a,n,i){if(!this.hasYearZero&&(i===\"y\"||i===\"m\")&&(a[0]===0||o.year()>0!=a[0]>0)){var s={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[i],h=n<0?-1:1;a=this._add(o,n*s[0]+h*s[1],s[2])}return o.date(a[0],a[1],a[2])},set:function(o,a,n){this._validate(o,this.minMonth,this.minDay,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate);var i=n===\"y\"?a:o.year(),s=n===\"m\"?a:o.month(),h=n===\"d\"?a:o.day();return(n===\"y\"||n===\"m\")&&(h=Math.min(h,this.daysInMonth(i,s))),o.date(i,s,h)},isValid:function(o,a,n){this._validateLevel++;var i=this.hasYearZero||o!==0;if(i){var s=this.newDate(o,a,this.minDay);i=a>=this.minMonth&&a-this.minMonth=this.minDay&&n-this.minDay13.5?13:1),T=s-(p>2.5?4716:4715);return T<=0&&T--,this.newDate(T,p,m)},toJSDate:function(o,a,n){var i=this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),s=new Date(i.year(),i.month()-1,i.day());return s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0),s.setHours(s.getHours()>12?s.getHours()+2:0),s},fromJSDate:function(o){return this.newDate(o.getFullYear(),o.getMonth()+1,o.getDate())}});var r=G.exports=new x;r.cdate=S,r.baseCalendar=e,r.calendars.gregorian=t}}),$H=Xe({\"node_modules/world-calendars/dist/plus.js\"(){var Z=ch(),G=Mp();Z(G.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\"}),G.local=G.regionalOptions[\"\"],Z(G.cdate.prototype,{formatDate:function(v,x){return typeof v!=\"string\"&&(x=v,v=\"\"),this._calendar.formatDate(v||\"\",this,x)}}),Z(G.baseCalendar.prototype,{UNIX_EPOCH:G.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:G.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,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(v,x,S){if(typeof v!=\"string\"&&(S=x,x=v,v=\"\"),!x)return\"\";if(x.calendar()!==this)throw G.local.invalidFormat||G.regionalOptions[\"\"].invalidFormat;v=v||this.local.dateFormat,S=S||{};for(var E=S.dayNamesShort||this.local.dayNamesShort,e=S.dayNames||this.local.dayNames,t=S.monthNumbers||this.local.monthNumbers,r=S.monthNamesShort||this.local.monthNamesShort,o=S.monthNames||this.local.monthNames,a=S.calculateWeek||this.local.calculateWeek,n=function(A,M){for(var g=1;w+g1},i=function(A,M,g,b){var d=\"\"+M;if(n(A,b))for(;d.length1},_=function(R,L){var z=l(R,L),F=[2,3,z?4:2,z?4:2,10,11,20][\"oyYJ@!\".indexOf(R)+1],N=new RegExp(\"^-?\\\\d{1,\"+F+\"}\"),O=x.substring(d).match(N);if(!O)throw(G.local.missingNumberAt||G.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,d);return d+=O[0].length,parseInt(O[0],10)},w=this,A=function(){if(typeof o==\"function\"){l(\"m\");var R=o.call(w,x.substring(d));return d+=R.length,R}return _(\"m\")},M=function(R,L,z,F){for(var N=l(R,F)?z:L,O=0;O-1){h=1,c=m;for(var f=this.daysInMonth(s,h);c>f;f=this.daysInMonth(s,h))h++,c-=f}return i>-1?this.fromJD(i):this.newDate(s,h,c)},determineDate:function(v,x,S,E,e){S&&typeof S!=\"object\"&&(e=E,E=S,S=null),typeof E!=\"string\"&&(e=E,E=\"\");var t=this,r=function(o){try{return t.parseDate(E,o,e)}catch{}o=o.toLowerCase();for(var a=(o.match(/^c/)&&S?S.newDate():null)||t.today(),n=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,i=n.exec(o);i;)a.add(parseInt(i[1],10),i[2]||\"d\"),i=n.exec(o);return a};return x=x?x.newDate():null,v=v==null?x:typeof v==\"string\"?r(v):typeof v==\"number\"?isNaN(v)||v===1/0||v===-1/0?x:t.today().add(v,\"d\"):t.newDate(v),v}})}}),QH=Xe({\"node_modules/world-calendars/dist/calendars/chinese.js\"(){var Z=Mp(),G=ch(),v=Z.instance();function x(i){this.local=this.regionalOptions[i||\"\"]||this.regionalOptions[\"\"]}x.prototype=new Z.baseCalendar,G(x.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(i,s){if(typeof i==\"string\"){var h=i.match(E);return h?h[0]:\"\"}var c=this._validateYear(i),m=i.month(),p=\"\"+this.toChineseMonth(c,m);return s&&p.length<2&&(p=\"0\"+p),this.isIntercalaryMonth(c,m)&&(p+=\"i\"),p},monthNames:function(i){if(typeof i==\"string\"){var s=i.match(e);return s?s[0]:\"\"}var h=this._validateYear(i),c=i.month(),m=this.toChineseMonth(h,c),p=[\"\\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\"][m-1];return this.isIntercalaryMonth(h,c)&&(p=\"\\u95F0\"+p),p},monthNamesShort:function(i){if(typeof i==\"string\"){var s=i.match(t);return s?s[0]:\"\"}var h=this._validateYear(i),c=i.month(),m=this.toChineseMonth(h,c),p=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][m-1];return this.isIntercalaryMonth(h,c)&&(p=\"\\u95F0\"+p),p},parseMonth:function(i,s){i=this._validateYear(i);var h=parseInt(s),c;if(isNaN(h))s[0]===\"\\u95F0\"&&(c=!0,s=s.substring(1)),s[s.length-1]===\"\\u6708\"&&(s=s.substring(0,s.length-1)),h=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(s);else{var m=s[s.length-1];c=m===\"i\"||m===\"I\"}var p=this.toMonthIndex(i,h,c);return p},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(i,s){if(i.year&&(i=i.year()),typeof i!=\"number\"||i<1888||i>2111)throw s.replace(/\\{0\\}/,this.local.name);return i},toMonthIndex:function(i,s,h){var c=this.intercalaryMonth(i),m=h&&s!==c;if(m||s<1||s>12)throw Z.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var p;return c?!h&&s<=c?p=s-1:p=s:p=s-1,p},toChineseMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var h=this.intercalaryMonth(i),c=h?12:11;if(s<0||s>c)throw Z.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var m;return h?s>13;return h},isIntercalaryMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var h=this.intercalaryMonth(i);return!!h&&h===s},leapYear:function(i){return this.intercalaryMonth(i)!==0},weekOfYear:function(i,s,h){var c=this._validateYear(i,Z.local.invalidyear),m=o[c-o[0]],p=m>>9&4095,T=m>>5&15,l=m&31,_;_=v.newDate(p,T,l),_.add(4-(_.dayOfWeek()||7),\"d\");var w=this.toJD(i,s,h)-_.toJD();return 1+Math.floor(w/7)},monthsInYear:function(i){return this.leapYear(i)?13:12},daysInMonth:function(i,s){i.year&&(s=i.month(),i=i.year()),i=this._validateYear(i);var h=r[i-r[0]],c=h>>13,m=c?12:11;if(s>m)throw Z.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var p=h&1<<12-s?30:29;return p},weekDay:function(i,s,h){return(this.dayOfWeek(i,s,h)||7)<6},toJD:function(i,s,h){var c=this._validate(i,p,h,Z.local.invalidDate);i=this._validateYear(c.year()),s=c.month(),h=c.day();var m=this.isIntercalaryMonth(i,s),p=this.toChineseMonth(i,s),T=n(i,p,h,m);return v.toJD(T.year,T.month,T.day)},fromJD:function(i){var s=v.fromJD(i),h=a(s.year(),s.month(),s.day()),c=this.toMonthIndex(h.year,h.month,h.isIntercalary);return this.newDate(h.year,c,h.day)},fromString:function(i){var s=i.match(S),h=this._validateYear(+s[1]),c=+s[2],m=!!s[3],p=this.toMonthIndex(h,c,m),T=+s[4];return this.newDate(h,p,T)},add:function(i,s,h){var c=i.year(),m=i.month(),p=this.isIntercalaryMonth(c,m),T=this.toChineseMonth(c,m),l=Object.getPrototypeOf(x.prototype).add.call(this,i,s,h);if(h===\"y\"){var _=l.year(),w=l.month(),A=this.isIntercalaryMonth(_,T),M=p&&A?this.toMonthIndex(_,T,!0):this.toMonthIndex(_,T,!1);M!==w&&l.month(M)}return l}});var S=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,E=/^\\d?\\d[iI]?/m,e=/^闰?十?[一二三四五六七八九]?月/m,t=/^闰?十?[一二三四五六七八九]?/m;Z.calendars.chinese=x;var r=[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],o=[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];function a(i,s,h,c){var m,p;if(typeof i==\"object\")m=i,p=s||{};else{var T=typeof i==\"number\"&&i>=1888&&i<=2111;if(!T)throw new Error(\"Solar year outside range 1888-2111\");var l=typeof s==\"number\"&&s>=1&&s<=12;if(!l)throw new Error(\"Solar month outside range 1 - 12\");var _=typeof h==\"number\"&&h>=1&&h<=31;if(!_)throw new Error(\"Solar day outside range 1 - 31\");m={year:i,month:s,day:h},p=c||{}}var w=o[m.year-o[0]],A=m.year<<9|m.month<<5|m.day;p.year=A>=w?m.year:m.year-1,w=o[p.year-o[0]];var M=w>>9&4095,g=w>>5&15,b=w&31,d,u=new Date(M,g-1,b),y=new Date(m.year,m.month-1,m.day);d=Math.round((y-u)/(24*3600*1e3));var f=r[p.year-r[0]],R;for(R=0;R<13;R++){var L=f&1<<12-R?30:29;if(d>13;return!z||R=1888&&i<=2111;if(!l)throw new Error(\"Lunar year outside range 1888-2111\");var _=typeof s==\"number\"&&s>=1&&s<=12;if(!_)throw new Error(\"Lunar month outside range 1 - 12\");var w=typeof h==\"number\"&&h>=1&&h<=30;if(!w)throw new Error(\"Lunar day outside range 1 - 30\");var A;typeof c==\"object\"?(A=!1,p=c):(A=!!c,p=m||{}),T={year:i,month:s,day:h,isIntercalary:A}}var M;M=T.day-1;var g=r[T.year-r[0]],b=g>>13,d;b&&(T.month>b||T.isIntercalary)?d=T.month:d=T.month-1;for(var u=0;u>9&4095,L=f>>5&15,z=f&31,F=new Date(R,L-1,z+M);return p.year=F.getFullYear(),p.month=1+F.getMonth(),p.day=F.getDate(),p}}}),eW=Xe({\"node_modules/world-calendars/dist/calendars/coptic.js\"(){var Z=Mp(),G=ch();function v(x){this.local=this.regionalOptions[x||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,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(E){var S=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),E=S.year()+(S.year()<0?1:0);return E%4===3||E%4===-1},monthsInYear:function(x){return this._validate(x,this.minMonth,this.minDay,Z.local.invalidYear||Z.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(x,S,E){var e=this.newDate(x,S,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(x,S){var E=this._validate(x,S,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===13&&this.leapYear(E.year())?1:0)},weekDay:function(x,S,E){return(this.dayOfWeek(x,S,E)||7)<6},toJD:function(x,S,E){var e=this._validate(x,S,E,Z.local.invalidDate);return x=e.year(),x<0&&x++,e.day()+(e.month()-1)*30+(x-1)*365+Math.floor(x/4)+this.jdEpoch-1},fromJD:function(x){var S=Math.floor(x)+.5-this.jdEpoch,E=Math.floor((S-Math.floor((S+366)/1461))/365)+1;E<=0&&E--,S=Math.floor(x)+.5-this.newDate(E,1,1).toJD();var e=Math.floor(S/30)+1,t=S-(e-1)*30+1;return this.newDate(E,e,t)}}),Z.calendars.coptic=v}}),tW=Xe({\"node_modules/world-calendars/dist/calendars/discworld.js\"(){var Z=Mp(),G=ch();function v(S){this.local=this.regionalOptions[S||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,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(S){return this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear),!1},monthsInYear:function(S){return this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear),13},daysInYear:function(S){return this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear),400},weekOfYear:function(S,E,e){var t=this.newDate(S,E,e);return t.add(-t.dayOfWeek(),\"d\"),Math.floor((t.dayOfYear()-1)/8)+1},daysInMonth:function(S,E){var e=this._validate(S,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(S,E,e){var t=this._validate(S,E,e,Z.local.invalidDate);return(t.day()+1)%8},weekDay:function(S,E,e){var t=this.dayOfWeek(S,E,e);return t>=2&&t<=6},extraInfo:function(S,E,e){var t=this._validate(S,E,e,Z.local.invalidDate);return{century:x[Math.floor((t.year()-1)/100)+1]||\"\"}},toJD:function(S,E,e){var t=this._validate(S,E,e,Z.local.invalidDate);return S=t.year()+(t.year()<0?1:0),E=t.month(),e=t.day(),e+(E>1?16:0)+(E>2?(E-2)*32:0)+(S-1)*400+this.jdEpoch-1},fromJD:function(S){S=Math.floor(S+.5)-Math.floor(this.jdEpoch)-1;var E=Math.floor(S/400)+1;S-=(E-1)*400,S+=S>15?16:0;var e=Math.floor(S/32)+1,t=S-(e-1)*32+1;return this.newDate(E<=0?E-1:E,e,t)}});var x={20:\"Fruitbat\",21:\"Anchovy\"};Z.calendars.discworld=v}}),rW=Xe({\"node_modules/world-calendars/dist/calendars/ethiopian.js\"(){var Z=Mp(),G=ch();function v(x){this.local=this.regionalOptions[x||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(E){var S=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),E=S.year()+(S.year()<0?1:0);return E%4===3||E%4===-1},monthsInYear:function(x){return this._validate(x,this.minMonth,this.minDay,Z.local.invalidYear||Z.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(x,S,E){var e=this.newDate(x,S,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(x,S){var E=this._validate(x,S,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===13&&this.leapYear(E.year())?1:0)},weekDay:function(x,S,E){return(this.dayOfWeek(x,S,E)||7)<6},toJD:function(x,S,E){var e=this._validate(x,S,E,Z.local.invalidDate);return x=e.year(),x<0&&x++,e.day()+(e.month()-1)*30+(x-1)*365+Math.floor(x/4)+this.jdEpoch-1},fromJD:function(x){var S=Math.floor(x)+.5-this.jdEpoch,E=Math.floor((S-Math.floor((S+366)/1461))/365)+1;E<=0&&E--,S=Math.floor(x)+.5-this.newDate(E,1,1).toJD();var e=Math.floor(S/30)+1,t=S-(e-1)*30+1;return this.newDate(E,e,t)}}),Z.calendars.ethiopian=v}}),aW=Xe({\"node_modules/world-calendars/dist/calendars/hebrew.js\"(){var Z=Mp(),G=ch();function v(S){this.local=this.regionalOptions[S||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.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(S){var E=this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear);return this._leapYear(E.year())},_leapYear:function(S){return S=S<0?S+1:S,x(S*7+1,19)<7},monthsInYear:function(S){return this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear),this._leapYear(S.year?S.year():S)?13:12},weekOfYear:function(S,E,e){var t=this.newDate(S,E,e);return t.add(-t.dayOfWeek(),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(S){var E=this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear);return S=E.year(),this.toJD(S===-1?1:S+1,7,1)-this.toJD(S,7,1)},daysInMonth:function(S,E){return S.year&&(E=S.month(),S=S.year()),this._validate(S,E,this.minDay,Z.local.invalidMonth),E===12&&this.leapYear(S)||E===8&&x(this.daysInYear(S),10)===5?30:E===9&&x(this.daysInYear(S),10)===3?29:this.daysPerMonth[E-1]},weekDay:function(S,E,e){return this.dayOfWeek(S,E,e)!==6},extraInfo:function(S,E,e){var t=this._validate(S,E,e,Z.local.invalidDate);return{yearType:(this.leapYear(t)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(t)%10-3]}},toJD:function(S,E,e){var t=this._validate(S,E,e,Z.local.invalidDate);S=t.year(),E=t.month(),e=t.day();var r=S<=0?S+1:S,o=this.jdEpoch+this._delay1(r)+this._delay2(r)+e+1;if(E<7){for(var a=7;a<=this.monthsInYear(S);a++)o+=this.daysInMonth(S,a);for(var a=1;a=this.toJD(E===-1?1:E+1,7,1);)E++;for(var e=Sthis.toJD(E,e,this.daysInMonth(E,e));)e++;var t=S-this.toJD(E,e,1)+1;return this.newDate(E,e,t)}});function x(S,E){return S-E*Math.floor(S/E)}Z.calendars.hebrew=v}}),iW=Xe({\"node_modules/world-calendars/dist/calendars/islamic.js\"(){var Z=Mp(),G=ch();function v(x){this.local=this.regionalOptions[x||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(x){var S=this._validate(x,this.minMonth,this.minDay,Z.local.invalidYear);return(S.year()*11+14)%30<11},weekOfYear:function(x,S,E){var e=this.newDate(x,S,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(x){return this.leapYear(x)?355:354},daysInMonth:function(x,S){var E=this._validate(x,S,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===12&&this.leapYear(E.year())?1:0)},weekDay:function(x,S,E){return this.dayOfWeek(x,S,E)!==5},toJD:function(x,S,E){var e=this._validate(x,S,E,Z.local.invalidDate);return x=e.year(),S=e.month(),E=e.day(),x=x<=0?x+1:x,E+Math.ceil(29.5*(S-1))+(x-1)*354+Math.floor((3+11*x)/30)+this.jdEpoch-1},fromJD:function(x){x=Math.floor(x)+.5;var S=Math.floor((30*(x-this.jdEpoch)+10646)/10631);S=S<=0?S-1:S;var E=Math.min(12,Math.ceil((x-29-this.toJD(S,1,1))/29.5)+1),e=x-this.toJD(S,E,1)+1;return this.newDate(S,E,e)}}),Z.calendars.islamic=v}}),nW=Xe({\"node_modules/world-calendars/dist/calendars/julian.js\"(){var Z=Mp(),G=ch();function v(x){this.local=this.regionalOptions[x||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(E){var S=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),E=S.year()<0?S.year()+1:S.year();return E%4===0},weekOfYear:function(x,S,E){var e=this.newDate(x,S,E);return e.add(4-(e.dayOfWeek()||7),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(x,S){var E=this._validate(x,S,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===2&&this.leapYear(E.year())?1:0)},weekDay:function(x,S,E){return(this.dayOfWeek(x,S,E)||7)<6},toJD:function(x,S,E){var e=this._validate(x,S,E,Z.local.invalidDate);return x=e.year(),S=e.month(),E=e.day(),x<0&&x++,S<=2&&(x--,S+=12),Math.floor(365.25*(x+4716))+Math.floor(30.6001*(S+1))+E-1524.5},fromJD:function(x){var S=Math.floor(x+.5),E=S+1524,e=Math.floor((E-122.1)/365.25),t=Math.floor(365.25*e),r=Math.floor((E-t)/30.6001),o=r-Math.floor(r<14?1:13),a=e-Math.floor(o>2?4716:4715),n=E-t-Math.floor(30.6001*r);return a<=0&&a--,this.newDate(a,o,n)}}),Z.calendars.julian=v}}),oW=Xe({\"node_modules/world-calendars/dist/calendars/mayan.js\"(){var Z=Mp(),G=ch();function v(E){this.local=this.regionalOptions[E||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.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(E){return this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),!1},formatYear:function(E){var e=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear);E=e.year();var t=Math.floor(E/400);E=E%400,E+=E<0?400:0;var r=Math.floor(E/20);return t+\".\"+r+\".\"+E%20},forYear:function(E){if(E=E.split(\".\"),E.length<3)throw\"Invalid Mayan year\";for(var e=0,t=0;t19||t>0&&r<0)throw\"Invalid Mayan year\";e=e*20+r}return e},monthsInYear:function(E){return this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),18},weekOfYear:function(E,e,t){return this._validate(E,e,t,Z.local.invalidDate),0},daysInYear:function(E){return this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),360},daysInMonth:function(E,e){return this._validate(E,e,this.minDay,Z.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(E,e,t){var r=this._validate(E,e,t,Z.local.invalidDate);return r.day()},weekDay:function(E,e,t){return this._validate(E,e,t,Z.local.invalidDate),!0},extraInfo:function(E,e,t){var r=this._validate(E,e,t,Z.local.invalidDate),o=r.toJD(),a=this._toHaab(o),n=this._toTzolkin(o);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[n[0]-1],tzolkinDay:n[0],tzolkinTrecena:n[1]}},_toHaab:function(E){E-=this.jdEpoch;var e=x(E+8+17*20,365);return[Math.floor(e/20)+1,x(e,20)]},_toTzolkin:function(E){return E-=this.jdEpoch,[S(E+20,20),S(E+4,13)]},toJD:function(E,e,t){var r=this._validate(E,e,t,Z.local.invalidDate);return r.day()+r.month()*20+r.year()*360+this.jdEpoch},fromJD:function(E){E=Math.floor(E)+.5-this.jdEpoch;var e=Math.floor(E/360);E=E%360,E+=E<0?360:0;var t=Math.floor(E/20),r=E%20;return this.newDate(e,t,r)}});function x(E,e){return E-e*Math.floor(E/e)}function S(E,e){return x(E-1,e)+1}Z.calendars.mayan=v}}),sW=Xe({\"node_modules/world-calendars/dist/calendars/nanakshahi.js\"(){var Z=Mp(),G=ch();function v(S){this.local=this.regionalOptions[S||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar;var x=Z.instance(\"gregorian\");G(v.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,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(S){var E=this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear||Z.regionalOptions[\"\"].invalidYear);return x.leapYear(E.year()+(E.year()<1?1:0)+1469)},weekOfYear:function(S,E,e){var t=this.newDate(S,E,e);return t.add(1-(t.dayOfWeek()||7),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(S,E){var e=this._validate(S,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===12&&this.leapYear(e.year())?1:0)},weekDay:function(S,E,e){return(this.dayOfWeek(S,E,e)||7)<6},toJD:function(r,E,e){var t=this._validate(r,E,e,Z.local.invalidMonth),r=t.year();r<0&&r++;for(var o=t.day(),a=1;a=this.toJD(E+1,1,1);)E++;for(var e=S-Math.floor(this.toJD(E,1,1)+.5)+1,t=1;e>this.daysInMonth(E,t);)e-=this.daysInMonth(E,t),t++;return this.newDate(E,t,e)}}),Z.calendars.nanakshahi=v}}),lW=Xe({\"node_modules/world-calendars/dist/calendars/nepali.js\"(){var Z=Mp(),G=ch();function v(x){this.local=this.regionalOptions[x||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,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(x){return this.daysInYear(x)!==this.daysPerYear},weekOfYear:function(x,S,E){var e=this.newDate(x,S,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(x){var S=this._validate(x,this.minMonth,this.minDay,Z.local.invalidYear);if(x=S.year(),typeof this.NEPALI_CALENDAR_DATA[x]>\"u\")return this.daysPerYear;for(var E=0,e=this.minMonth;e<=12;e++)E+=this.NEPALI_CALENDAR_DATA[x][e];return E},daysInMonth:function(x,S){return x.year&&(S=x.month(),x=x.year()),this._validate(x,S,this.minDay,Z.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[x]>\"u\"?this.daysPerMonth[S-1]:this.NEPALI_CALENDAR_DATA[x][S]},weekDay:function(x,S,E){return this.dayOfWeek(x,S,E)!==6},toJD:function(x,S,E){var e=this._validate(x,S,E,Z.local.invalidDate);x=e.year(),S=e.month(),E=e.day();var t=Z.instance(),r=0,o=S,a=x;this._createMissingCalendarData(x);var n=x-(o>9||o===9&&E>=this.NEPALI_CALENDAR_DATA[a][0]?56:57);for(S!==9&&(r=E,o--);o!==9;)o<=0&&(o=12,a--),r+=this.NEPALI_CALENDAR_DATA[a][o],o--;return S===9?(r+=E-this.NEPALI_CALENDAR_DATA[a][0],r<0&&(r+=t.daysInYear(n))):r+=this.NEPALI_CALENDAR_DATA[a][9]-this.NEPALI_CALENDAR_DATA[a][0],t.newDate(n,1,1).add(r,\"d\").toJD()},fromJD:function(x){var S=Z.instance(),E=S.fromJD(x),e=E.year(),t=E.dayOfYear(),r=e+56;this._createMissingCalendarData(r);for(var o=9,a=this.NEPALI_CALENDAR_DATA[r][0],n=this.NEPALI_CALENDAR_DATA[r][o]-a+1;t>n;)o++,o>12&&(o=1,r++),n+=this.NEPALI_CALENDAR_DATA[r][o];var i=this.NEPALI_CALENDAR_DATA[r][o]-(n-t);return this.newDate(r,o,i)},_createMissingCalendarData:function(x){var S=this.daysPerMonth.slice(0);S.unshift(17);for(var E=x-1;E\"u\"&&(this.NEPALI_CALENDAR_DATA[E]=S)},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],2e3:[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]}}),Z.calendars.nepali=v}}),uW=Xe({\"node_modules/world-calendars/dist/calendars/persian.js\"(){var Z=Mp(),G=ch();function v(S){this.local=this.regionalOptions[S||\"\"]||this.regionalOptions[\"\"]}function x(S){var E=S-475;S<0&&E++;var e=.242197,t=e*E,r=e*(E+1),o=t-Math.floor(t),a=r-Math.floor(r);return o>a}v.prototype=new Z.baseCalendar,G(v.prototype,{name:\"Persian\",jdEpoch:19483205e-1,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\",\"Dey\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Dey\",\"Bah\",\"Esf\"],dayNames:[\"Yekshanbeh\",\"Doshanbeh\",\"Seshanbeh\",\"Chah\\u0101rshanbeh\",\"Panjshanbeh\",\"Jom'eh\",\"Shanbeh\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Cha\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(S){var E=this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear);return x(E.year())},weekOfYear:function(S,E,e){var t=this.newDate(S,E,e);return t.add(-((t.dayOfWeek()+1)%7),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(S,E){var e=this._validate(S,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===12&&this.leapYear(e.year())?1:0)},weekDay:function(S,E,e){return this.dayOfWeek(S,E,e)!==5},toJD:function(S,E,e){var t=this._validate(S,E,e,Z.local.invalidDate);S=t.year(),E=t.month(),e=t.day();var r=0;if(S>0)for(var o=1;o0?S-1:S)*365+r+this.jdEpoch-1},fromJD:function(S){S=Math.floor(S)+.5;var E=475+(S-this.toJD(475,1,1))/365.242197,e=Math.floor(E);e<=0&&e--,S>this.toJD(e,12,x(e)?30:29)&&(e++,e===0&&e++);var t=S-this.toJD(e,1,1)+1,r=t<=186?Math.ceil(t/31):Math.ceil((t-6)/30),o=S-this.toJD(e,r,1)+1;return this.newDate(e,r,o)}}),Z.calendars.persian=v,Z.calendars.jalali=v}}),cW=Xe({\"node_modules/world-calendars/dist/calendars/taiwan.js\"(){var Z=Mp(),G=ch(),v=Z.instance();function x(S){this.local=this.regionalOptions[S||\"\"]||this.regionalOptions[\"\"]}x.prototype=new Z.baseCalendar,G(x.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(e){var E=this._validate(e,this.minMonth,this.minDay,Z.local.invalidYear),e=this._t2gYear(E.year());return v.leapYear(e)},weekOfYear:function(r,E,e){var t=this._validate(r,this.minMonth,this.minDay,Z.local.invalidYear),r=this._t2gYear(t.year());return v.weekOfYear(r,t.month(),t.day())},daysInMonth:function(S,E){var e=this._validate(S,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===2&&this.leapYear(e.year())?1:0)},weekDay:function(S,E,e){return(this.dayOfWeek(S,E,e)||7)<6},toJD:function(r,E,e){var t=this._validate(r,E,e,Z.local.invalidDate),r=this._t2gYear(t.year());return v.toJD(r,t.month(),t.day())},fromJD:function(S){var E=v.fromJD(S),e=this._g2tYear(E.year());return this.newDate(e,E.month(),E.day())},_t2gYear:function(S){return S+this.yearsOffset+(S>=-this.yearsOffset&&S<=-1?1:0)},_g2tYear:function(S){return S-this.yearsOffset-(S>=1&&S<=this.yearsOffset?1:0)}}),Z.calendars.taiwan=x}}),fW=Xe({\"node_modules/world-calendars/dist/calendars/thai.js\"(){var Z=Mp(),G=ch(),v=Z.instance();function x(S){this.local=this.regionalOptions[S||\"\"]||this.regionalOptions[\"\"]}x.prototype=new Z.baseCalendar,G(x.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(e){var E=this._validate(e,this.minMonth,this.minDay,Z.local.invalidYear),e=this._t2gYear(E.year());return v.leapYear(e)},weekOfYear:function(r,E,e){var t=this._validate(r,this.minMonth,this.minDay,Z.local.invalidYear),r=this._t2gYear(t.year());return v.weekOfYear(r,t.month(),t.day())},daysInMonth:function(S,E){var e=this._validate(S,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===2&&this.leapYear(e.year())?1:0)},weekDay:function(S,E,e){return(this.dayOfWeek(S,E,e)||7)<6},toJD:function(r,E,e){var t=this._validate(r,E,e,Z.local.invalidDate),r=this._t2gYear(t.year());return v.toJD(r,t.month(),t.day())},fromJD:function(S){var E=v.fromJD(S),e=this._g2tYear(E.year());return this.newDate(e,E.month(),E.day())},_t2gYear:function(S){return S-this.yearsOffset-(S>=1&&S<=this.yearsOffset?1:0)},_g2tYear:function(S){return S+this.yearsOffset+(S>=-this.yearsOffset&&S<=-1?1:0)}}),Z.calendars.thai=x}}),hW=Xe({\"node_modules/world-calendars/dist/calendars/ummalqura.js\"(){var Z=Mp(),G=ch();function v(S){this.local=this.regionalOptions[S||\"\"]||this.regionalOptions[\"\"]}v.prototype=new Z.baseCalendar,G(v.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(S){var E=this._validate(S,this.minMonth,this.minDay,Z.local.invalidYear);return this.daysInYear(E.year())===355},weekOfYear:function(S,E,e){var t=this.newDate(S,E,e);return t.add(-t.dayOfWeek(),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(S){for(var E=0,e=1;e<=12;e++)E+=this.daysInMonth(S,e);return E},daysInMonth:function(S,E){for(var e=this._validate(S,E,this.minDay,Z.local.invalidMonth),t=e.toJD()-24e5+.5,r=0,o=0;ot)return x[r]-x[r-1];r++}return 30},weekDay:function(S,E,e){return this.dayOfWeek(S,E,e)!==5},toJD:function(S,E,e){var t=this._validate(S,E,e,Z.local.invalidDate),r=12*(t.year()-1)+t.month()-15292,o=t.day()+x[r-1]-1;return o+24e5-.5},fromJD:function(S){for(var E=S-24e5+.5,e=0,t=0;tE);t++)e++;var r=e+15292,o=Math.floor((r-1)/12),a=o+1,n=r-12*o,i=E-x[e-1]+1;return this.newDate(a,n,i)},isValid:function(S,E,e){var t=Z.baseCalendar.prototype.isValid.apply(this,arguments);return t&&(S=S.year!=null?S.year:S,t=S>=1276&&S<=1500),t},_validate:function(S,E,e,t){var r=Z.baseCalendar.prototype._validate.apply(this,arguments);if(r.year<1276||r.year>1500)throw t.replace(/\\{0\\}/,this.local.name);return r}}),Z.calendars.ummalqura=v;var x=[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]}}),pW=Xe({\"src/components/calendars/calendars.js\"(Z,G){\"use strict\";G.exports=Mp(),$H(),QH(),eW(),tW(),rW(),aW(),iW(),nW(),oW(),sW(),lW(),uW(),cW(),fW(),hW()}}),dW=Xe({\"src/components/calendars/index.js\"(Z,G){\"use strict\";var v=pW(),x=sa(),S=Hs(),E=S.EPOCHJD,e=S.ONEDAY,t={valType:\"enumerated\",values:x.sortObjectKeys(v.calendars),editType:\"calc\",dflt:\"gregorian\"},r=function(g,b,d,u){var y={};return y[d]=t,x.coerce(g,b,y,d,u)},o=function(g,b,d,u){for(var y=0;y0){if(++ge>=jZ)return arguments[0]}else ge=0;return ue.apply(void 0,arguments)}}var Pb=GZ;var HZ=Pb(Ab),Ib=HZ;var WZ=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,XZ=/,? & /;function ZZ(ue){var ge=ue.match(WZ);return ge?ge[1].split(XZ):[]}var cC=ZZ;var YZ=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;function KZ(ue,ge){var Ye=ge.length;if(!Ye)return ue;var Rt=Ye-1;return ge[Rt]=(Ye>1?\"& \":\"\")+ge[Rt],ge=ge.join(Ye>2?\", \":\" \"),ue.replace(YZ,`{\n/* [wrapped with `+ge+`] */\n`)}var fC=KZ;function JZ(ue){return function(){return ue}}var Qg=JZ;var $Z=function(){try{var ue=sd(Object,\"defineProperty\");return ue({},\"\",{}),ue}catch{}}(),ey=$Z;var QZ=ey?function(ue,ge){return ey(ue,\"toString\",{configurable:!0,enumerable:!1,value:Qg(ge),writable:!0})}:Bc,hC=QZ;var eY=Pb(hC),ty=eY;function tY(ue,ge){for(var Ye=-1,Rt=ue==null?0:ue.length;++Ye-1}var Mm=oY;var sY=1,lY=2,uY=8,cY=16,fY=32,hY=64,pY=128,dY=256,vY=512,mY=[[\"ary\",pY],[\"bind\",sY],[\"bindKey\",lY],[\"curry\",uY],[\"curryRight\",cY],[\"flip\",vY],[\"partial\",fY],[\"partialRight\",hY],[\"rearg\",dY]];function gY(ue,ge){return Nh(mY,function(Ye){var Rt=\"_.\"+Ye[0];ge&Ye[1]&&!Mm(ue,Rt)&&ue.push(Rt)}),ue.sort()}var dC=gY;function yY(ue,ge,Ye){var Rt=ge+\"\";return ty(ue,fC(Rt,dC(cC(Rt),Ye)))}var Db=yY;var _Y=1,xY=2,bY=4,wY=8,vC=32,mC=64;function TY(ue,ge,Ye,Rt,gr,Yr,Ea,ei,oi,Cn){var bn=ge&wY,Fn=bn?Ea:void 0,To=bn?void 0:Ea,ds=bn?Yr:void 0,Qs=bn?void 0:Yr;ge|=bn?vC:mC,ge&=~(bn?mC:vC),ge&bY||(ge&=~(_Y|xY));var Vo=[ue,ge,gr,ds,Fn,Qs,To,ei,oi,Cn],Xe=Ye.apply(void 0,Vo);return i_(ue)&&Ib(Xe,Vo),Xe.placeholder=Rt,Db(Xe,ue,ge)}var zb=TY;function AY(ue){var ge=ue;return ge.placeholder}var Sd=AY;var SY=9007199254740991,MY=/^(?:0|[1-9]\\d*)$/;function EY(ue,ge){var Ye=typeof ue;return ge=ge??SY,!!ge&&(Ye==\"number\"||Ye!=\"symbol\"&&MY.test(ue))&&ue>-1&&ue%1==0&&ue1&&nu.reverse(),bn&&oi-1&&ue%1==0&&ue<=aK}var Em=iK;function nK(ue){return ue!=null&&Em(ue.length)&&!ap(ue)}var Vc=nK;function oK(ue,ge,Ye){if(!Ll(Ye))return!1;var Rt=typeof ge;return(Rt==\"number\"?Vc(Ye)&&ip(ge,Ye.length):Rt==\"string\"&&ge in Ye)?oh(Ye[ge],ue):!1}var Nc=oK;function sK(ue){return qo(function(ge,Ye){var Rt=-1,gr=Ye.length,Yr=gr>1?Ye[gr-1]:void 0,Ea=gr>2?Ye[2]:void 0;for(Yr=ue.length>3&&typeof Yr==\"function\"?(gr--,Yr):void 0,Ea&&Nc(Ye[0],Ye[1],Ea)&&(Yr=gr<3?void 0:Yr,gr=1),ge=Object(ge);++Rt-1}var KC=FJ;function OJ(ue,ge){var Ye=this.__data__,Rt=Cm(Ye,ue);return Rt<0?(++this.size,Ye.push([ue,ge])):Ye[Rt][1]=ge,this}var JC=OJ;function ly(ue){var ge=-1,Ye=ue==null?0:ue.length;for(this.clear();++ge0&&Ye(ei)?ge>1?sL(ei,ge-1,Ye,Rt,gr):Op(gr,ei):Rt||(gr[gr.length]=ei)}return gr}var Qu=sL;function s$(ue){var ge=ue==null?0:ue.length;return ge?Qu(ue,1):[]}var qb=s$;function l$(ue){return ty(Ob(ue,void 0,qb),ue+\"\")}var lp=l$;var u$=lp(fy),lL=u$;var c$=Nb(Object.getPrototypeOf,Object),Rm=c$;var f$=\"[object Object]\",h$=Function.prototype,p$=Object.prototype,uL=h$.toString,d$=p$.hasOwnProperty,v$=uL.call(Object);function m$(ue){if(!Dl(ue)||Oc(ue)!=f$)return!1;var ge=Rm(ue);if(ge===null)return!0;var Ye=d$.call(ge,\"constructor\")&&ge.constructor;return typeof Ye==\"function\"&&Ye instanceof Ye&&uL.call(Ye)==v$}var gv=m$;var g$=\"[object DOMException]\",y$=\"[object Error]\";function _$(ue){if(!Dl(ue))return!1;var ge=Oc(ue);return ge==y$||ge==g$||typeof ue.message==\"string\"&&typeof ue.name==\"string\"&&!gv(ue)}var hy=_$;var x$=qo(function(ue,ge){try{return xf(ue,void 0,ge)}catch(Ye){return hy(Ye)?Ye:new Error(Ye)}}),Vb=x$;var b$=\"Expected a function\";function w$(ue,ge){var Ye;if(typeof ge!=\"function\")throw new TypeError(b$);return ue=jo(ue),function(){return--ue>0&&(Ye=ge.apply(this,arguments)),ue<=1&&(ge=void 0),Ye}}var Gb=w$;var T$=1,A$=32,PA=qo(function(ue,ge,Ye){var Rt=T$;if(Ye.length){var gr=Yp(Ye,Sd(PA));Rt|=A$}return np(ue,Rt,ge,Ye,gr)});PA.placeholder={};var Hb=PA;var S$=lp(function(ue,ge){return Nh(ge,function(Ye){Ye=Eh(Ye),op(ue,Ye,Hb(ue[Ye],ue))}),ue}),cL=S$;var M$=1,E$=2,k$=32,IA=qo(function(ue,ge,Ye){var Rt=M$|E$;if(Ye.length){var gr=Yp(Ye,Sd(IA));Rt|=k$}return np(ge,Rt,ue,Ye,gr)});IA.placeholder={};var fL=IA;function C$(ue,ge,Ye){var Rt=-1,gr=ue.length;ge<0&&(ge=-ge>gr?0:gr+ge),Ye=Ye>gr?gr:Ye,Ye<0&&(Ye+=gr),gr=ge>Ye?0:Ye-ge>>>0,ge>>>=0;for(var Yr=Array(gr);++Rt=Rt?ue:Yf(ue,ge,Ye)}var Bp=L$;var P$=\"\\\\ud800-\\\\udfff\",I$=\"\\\\u0300-\\\\u036f\",R$=\"\\\\ufe20-\\\\ufe2f\",D$=\"\\\\u20d0-\\\\u20ff\",z$=I$+R$+D$,F$=\"\\\\ufe0e\\\\ufe0f\",O$=\"\\\\u200d\",B$=RegExp(\"[\"+O$+P$+z$+F$+\"]\");function N$(ue){return B$.test(ue)}var kd=N$;function U$(ue){return ue.split(\"\")}var hL=U$;var pL=\"\\\\ud800-\\\\udfff\",j$=\"\\\\u0300-\\\\u036f\",q$=\"\\\\ufe20-\\\\ufe2f\",V$=\"\\\\u20d0-\\\\u20ff\",G$=j$+q$+V$,H$=\"\\\\ufe0e\\\\ufe0f\",W$=\"[\"+pL+\"]\",RA=\"[\"+G$+\"]\",DA=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",X$=\"(?:\"+RA+\"|\"+DA+\")\",dL=\"[^\"+pL+\"]\",vL=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",mL=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Z$=\"\\\\u200d\",gL=X$+\"?\",yL=\"[\"+H$+\"]?\",Y$=\"(?:\"+Z$+\"(?:\"+[dL,vL,mL].join(\"|\")+\")\"+yL+gL+\")*\",K$=yL+gL+Y$,J$=\"(?:\"+[dL+RA+\"?\",RA,vL,mL,W$].join(\"|\")+\")\",$$=RegExp(DA+\"(?=\"+DA+\")|\"+J$+K$,\"g\");function Q$(ue){return ue.match($$)||[]}var _L=Q$;function eQ(ue){return kd(ue)?_L(ue):hL(ue)}var Uh=eQ;function tQ(ue){return function(ge){ge=Bs(ge);var Ye=kd(ge)?Uh(ge):void 0,Rt=Ye?Ye[0]:ge.charAt(0),gr=Ye?Bp(Ye,1).join(\"\"):ge.slice(1);return Rt[ue]()+gr}}var Wb=tQ;var rQ=Wb(\"toUpperCase\"),py=rQ;function aQ(ue){return py(Bs(ue).toLowerCase())}var Xb=aQ;function iQ(ue,ge,Ye,Rt){var gr=-1,Yr=ue==null?0:ue.length;for(Rt&&Yr&&(Ye=ue[++gr]);++gr=ge?ue:ge)),ue}var ud=aee;function iee(ue,ge,Ye){return Ye===void 0&&(Ye=ge,ge=void 0),Ye!==void 0&&(Ye=Sh(Ye),Ye=Ye===Ye?Ye:0),ge!==void 0&&(ge=Sh(ge),ge=ge===ge?ge:0),ud(Sh(ue),ge,Ye)}var HL=iee;function nee(){this.__data__=new Lm,this.size=0}var WL=nee;function oee(ue){var ge=this.__data__,Ye=ge.delete(ue);return this.size=ge.size,Ye}var XL=oee;function see(ue){return this.__data__.get(ue)}var ZL=see;function lee(ue){return this.__data__.has(ue)}var YL=lee;var uee=200;function cee(ue,ge){var Ye=this.__data__;if(Ye instanceof Lm){var Rt=Ye.__data__;if(!Pm||Rt.lengthei))return!1;var Cn=Yr.get(ue),bn=Yr.get(ge);if(Cn&&bn)return Cn==ge&&bn==ue;var Fn=-1,To=!0,ds=Ye&cre?new zm:void 0;for(Yr.set(ue,ge),Yr.set(ge,ue);++Fn=ge||Hn<0||Fn&&dd>=Yr}function Kl(){var Ff=Py();if(Xe(Ff))return nu(Ff);ei=setTimeout(Kl,Vo(Ff))}function nu(Ff){return ei=void 0,To&&Rt?ds(Ff):(Rt=gr=void 0,Ea)}function jp(){ei!==void 0&&clearTimeout(ei),Cn=0,Rt=oi=gr=ei=void 0}function zf(){return ei===void 0?Ea:nu(Py())}function fp(){var Ff=Py(),Hn=Xe(Ff);if(Rt=arguments,gr=this,oi=Ff,Hn){if(ei===void 0)return Qs(oi);if(Fn)return clearTimeout(ei),ei=setTimeout(Kl,ge),ds(oi)}return ei===void 0&&(ei=setTimeout(Kl,ge)),Ea}return fp.cancel=jp,fp.flush=zf,fp}var xw=Tae;function Aae(ue,ge){return ue==null||ue!==ue?ge:ue}var QP=Aae;var eI=Object.prototype,Sae=eI.hasOwnProperty,Mae=qo(function(ue,ge){ue=Object(ue);var Ye=-1,Rt=ge.length,gr=Rt>2?ge[2]:void 0;for(gr&&Nc(ge[0],ge[1],gr)&&(Rt=1);++Ye=Nae&&(Yr=Gv,Ea=!1,ge=new zm(ge));e:for(;++gr=0&&ue.slice(Ye,gr)==ge}var yI=iie;function nie(ue,ge){return Ml(ge,function(Ye){return[Ye,ue[Ye]]})}var _I=nie;function oie(ue){var ge=-1,Ye=Array(ue.size);return ue.forEach(function(Rt){Ye[++ge]=[Rt,Rt]}),Ye}var xI=oie;var sie=\"[object Map]\",lie=\"[object Set]\";function uie(ue){return function(ge){var Ye=jh(ge);return Ye==sie?Sy(ge):Ye==lie?xI(ge):_I(ge,ue(ge))}}var Mw=uie;var cie=Mw(gu),p_=cie;var fie=Mw(Gc),d_=fie;var hie={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},pie=vy(hie),bI=pie;var wI=/[&<>\"']/g,die=RegExp(wI.source);function vie(ue){return ue=Bs(ue),ue&&die.test(ue)?ue.replace(wI,bI):ue}var Ew=vie;var TI=/[\\\\^$.*+?()[\\]{}|]/g,mie=RegExp(TI.source);function gie(ue){return ue=Bs(ue),ue&&mie.test(ue)?ue.replace(TI,\"\\\\$&\"):ue}var AI=gie;function yie(ue,ge){for(var Ye=-1,Rt=ue==null?0:ue.length;++Yegr?0:gr+Ye),Rt=Rt===void 0||Rt>gr?gr:jo(Rt),Rt<0&&(Rt+=gr),Rt=Ye>Rt?0:Cw(Rt);Ye-1?gr[Yr?ge[Ea]:Ea]:void 0}}var Pw=Eie;var kie=Math.max;function Cie(ue,ge,Ye){var Rt=ue==null?0:ue.length;if(!Rt)return-1;var gr=Ye==null?0:jo(Ye);return gr<0&&(gr=kie(Rt+gr,0)),Sm(ue,xo(ge,3),gr)}var Iw=Cie;var Lie=Pw(Iw),LI=Lie;function Pie(ue,ge,Ye){var Rt;return Ye(ue,function(gr,Yr,Ea){if(ge(gr,Yr,Ea))return Rt=Yr,!1}),Rt}var Rw=Pie;function Iie(ue,ge){return Rw(ue,xo(ge,3),cp)}var PI=Iie;var Rie=Math.max,Die=Math.min;function zie(ue,ge,Ye){var Rt=ue==null?0:ue.length;if(!Rt)return-1;var gr=Rt-1;return Ye!==void 0&&(gr=jo(Ye),gr=Ye<0?Rie(Rt+gr,0):Die(gr,Rt-1)),Sm(ue,xo(ge,3),gr,!0)}var Dw=zie;var Fie=Pw(Dw),II=Fie;function Oie(ue,ge){return Rw(ue,xo(ge,3),Dy)}var RI=Oie;function Bie(ue){return ue&&ue.length?ue[0]:void 0}var v_=Bie;function Nie(ue,ge){var Ye=-1,Rt=Vc(ue)?Array(ue.length):[];return Up(ue,function(gr,Yr,Ea){Rt[++Ye]=ge(gr,Yr,Ea)}),Rt}var zw=Nie;function Uie(ue,ge){var Ye=Io(ue)?Ml:zw;return Ye(ue,xo(ge,3))}var Um=Uie;function jie(ue,ge){return Qu(Um(ue,ge),1)}var DI=jie;var qie=1/0;function Vie(ue,ge){return Qu(Um(ue,ge),qie)}var zI=Vie;function Gie(ue,ge,Ye){return Ye=Ye===void 0?1:jo(Ye),Qu(Um(ue,ge),Ye)}var FI=Gie;var Hie=1/0;function Wie(ue){var ge=ue==null?0:ue.length;return ge?Qu(ue,Hie):[]}var OI=Wie;function Xie(ue,ge){var Ye=ue==null?0:ue.length;return Ye?(ge=ge===void 0?1:jo(ge),Qu(ue,ge)):[]}var BI=Xie;var Zie=512;function Yie(ue){return np(ue,Zie)}var NI=Yie;var Kie=gy(\"floor\"),UI=Kie;var Jie=\"Expected a function\",$ie=8,Qie=32,ene=128,tne=256;function rne(ue){return lp(function(ge){var Ye=ge.length,Rt=Ye,gr=zp.prototype.thru;for(ue&&ge.reverse();Rt--;){var Yr=ge[Rt];if(typeof Yr!=\"function\")throw new TypeError(Jie);if(gr&&!Ea&&$g(Yr)==\"wrapper\")var Ea=new zp([],!0)}for(Rt=Ea?Rt:Ye;++Rtge}var zy=mne;function gne(ue){return function(ge,Ye){return typeof ge==\"string\"&&typeof Ye==\"string\"||(ge=Sh(ge),Ye=Sh(Ye)),ue(ge,Ye)}}var qm=gne;var yne=qm(zy),JI=yne;var _ne=qm(function(ue,ge){return ue>=ge}),$I=_ne;var xne=Object.prototype,bne=xne.hasOwnProperty;function wne(ue,ge){return ue!=null&&bne.call(ue,ge)}var QI=wne;function Tne(ue,ge){return ue!=null&&dw(ue,ge,QI)}var e8=Tne;var Ane=Math.max,Sne=Math.min;function Mne(ue,ge,Ye){return ue>=Sne(ge,Ye)&&ue-1:!!gr&&Ad(ue,ge,Ye)>-1}var a8=Rne;var Dne=Math.max;function zne(ue,ge,Ye){var Rt=ue==null?0:ue.length;if(!Rt)return-1;var gr=Ye==null?0:jo(Ye);return gr<0&&(gr=Dne(Rt+gr,0)),Ad(ue,ge,gr)}var i8=zne;function Fne(ue){var ge=ue==null?0:ue.length;return ge?Yf(ue,0,-1):[]}var n8=Fne;var One=Math.min;function Bne(ue,ge,Ye){for(var Rt=Ye?Ry:Mm,gr=ue[0].length,Yr=ue.length,Ea=Yr,ei=Array(Yr),oi=1/0,Cn=[];Ea--;){var bn=ue[Ea];Ea&&ge&&(bn=Ml(bn,wf(ge))),oi=One(bn.length,oi),ei[Ea]=!Ye&&(ge||gr>=120&&bn.length>=120)?new zm(Ea&&bn):void 0}bn=ue[0];var Fn=-1,To=ei[0];e:for(;++Fn=-F8&&ue<=F8}var O8=Roe;function Doe(ue){return ue===void 0}var B8=Doe;var zoe=\"[object WeakMap]\";function Foe(ue){return Dl(ue)&&jh(ue)==zoe}var N8=Foe;var Ooe=\"[object WeakSet]\";function Boe(ue){return Dl(ue)&&Oc(ue)==Ooe}var U8=Boe;var Noe=1;function Uoe(ue){return xo(typeof ue==\"function\"?ue:up(ue,Noe))}var j8=Uoe;var joe=Array.prototype,qoe=joe.join;function Voe(ue,ge){return ue==null?\"\":qoe.call(ue,ge)}var q8=Voe;var Goe=Cd(function(ue,ge,Ye){return ue+(Ye?\"-\":\"\")+ge.toLowerCase()}),V8=Goe;var Hoe=Bm(function(ue,ge,Ye){op(ue,Ye,ge)}),G8=Hoe;function Woe(ue,ge,Ye){for(var Rt=Ye+1;Rt--;)if(ue[Rt]===ge)return Rt;return Rt}var H8=Woe;var Xoe=Math.max,Zoe=Math.min;function Yoe(ue,ge,Ye){var Rt=ue==null?0:ue.length;if(!Rt)return-1;var gr=Rt;return Ye!==void 0&&(gr=jo(Ye),gr=gr<0?Xoe(Rt+gr,0):Zoe(gr,Rt-1)),ge===ge?H8(ue,ge,gr):Sm(ue,Rb,gr,!0)}var W8=Yoe;var Koe=Cd(function(ue,ge,Ye){return ue+(Ye?\" \":\"\")+ge.toLowerCase()}),X8=Koe;var Joe=Wb(\"toLowerCase\"),Z8=Joe;function $oe(ue,ge){return ue=this.__values__.length,ge=ue?void 0:this.__values__[this.__index__++];return{done:ue,value:ge}}var hR=kse;function Cse(ue,ge){var Ye=ue.length;if(Ye)return ge+=ge<0?Ye:0,ip(ge,Ye)?ue[ge]:void 0}var Gw=Cse;function Lse(ue,ge){return ue&&ue.length?Gw(ue,jo(ge)):void 0}var pR=Lse;function Pse(ue){return ue=jo(ue),qo(function(ge){return Gw(ge,ue)})}var dR=Pse;function Ise(ue,ge){return ge=Fp(ge,ue),ue=Bw(ue,ge),ue==null||delete ue[Eh(Tf(ge))]}var qy=Ise;function Rse(ue){return gv(ue)?void 0:ue}var vR=Rse;var Dse=1,zse=2,Fse=4,Ose=lp(function(ue,ge){var Ye={};if(ue==null)return Ye;var Rt=!1;ge=Ml(ge,function(Yr){return Yr=Fp(Yr,ue),Rt||(Rt=Yr.length>1),Yr}),Mh(ue,by(ue),Ye),Rt&&(Ye=up(Ye,Dse|zse|Fse,vR));for(var gr=ge.length;gr--;)qy(Ye,ge[gr]);return Ye}),mR=Ose;function Bse(ue,ge,Ye,Rt){if(!Ll(ue))return ue;ge=Fp(ge,ue);for(var gr=-1,Yr=ge.length,Ea=Yr-1,ei=ue;ei!=null&&++grge||Yr&&Ea&&oi&&!ei&&!Cn||Rt&&Ea&&oi||!Ye&&oi||!gr)return 1;if(!Rt&&!Yr&&!Cn&&ue=ei)return oi;var Cn=Ye[Rt];return oi*(Cn==\"desc\"?-1:1)}}return ue.index-ge.index}var xR=Hse;function Wse(ue,ge,Ye){ge.length?ge=Ml(ge,function(Yr){return Io(Yr)?function(Ea){return ld(Ea,Yr.length===1?Yr[0]:Yr)}:Yr}):ge=[Bc];var Rt=-1;ge=Ml(ge,wf(xo));var gr=zw(ue,function(Yr,Ea,ei){var oi=Ml(ge,function(Cn){return Cn(Yr)});return{criteria:oi,index:++Rt,value:Yr}});return _R(gr,function(Yr,Ea){return xR(Yr,Ea,Ye)})}var Zw=Wse;function Xse(ue,ge,Ye,Rt){return ue==null?[]:(Io(ge)||(ge=ge==null?[]:[ge]),Ye=Rt?void 0:Ye,Io(Ye)||(Ye=Ye==null?[]:[Ye]),Zw(ue,ge,Ye))}var bR=Xse;function Zse(ue){return lp(function(ge){return ge=Ml(ge,wf(xo)),qo(function(Ye){var Rt=this;return ue(ge,function(gr){return xf(gr,Rt,Ye)})})})}var Vy=Zse;var Yse=Vy(Ml),wR=Yse;var Kse=qo,TR=Kse;var Jse=Math.min,$se=TR(function(ue,ge){ge=ge.length==1&&Io(ge[0])?Ml(ge[0],wf(xo)):Ml(Qu(ge,1),wf(xo));var Ye=ge.length;return qo(function(Rt){for(var gr=-1,Yr=Jse(Rt.length,Ye);++grtle)return Ye;do ge%2&&(Ye+=ue),ge=rle(ge/2),ge&&(ue+=ue);while(ge);return Ye}var m_=ale;var ile=Cy(\"length\"),ER=ile;var CR=\"\\\\ud800-\\\\udfff\",nle=\"\\\\u0300-\\\\u036f\",ole=\"\\\\ufe20-\\\\ufe2f\",sle=\"\\\\u20d0-\\\\u20ff\",lle=nle+ole+sle,ule=\"\\\\ufe0e\\\\ufe0f\",cle=\"[\"+CR+\"]\",NA=\"[\"+lle+\"]\",UA=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",fle=\"(?:\"+NA+\"|\"+UA+\")\",LR=\"[^\"+CR+\"]\",PR=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",IR=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",hle=\"\\\\u200d\",RR=fle+\"?\",DR=\"[\"+ule+\"]?\",ple=\"(?:\"+hle+\"(?:\"+[LR,PR,IR].join(\"|\")+\")\"+DR+RR+\")*\",dle=DR+RR+ple,vle=\"(?:\"+[LR+NA+\"?\",NA,PR,IR,cle].join(\"|\")+\")\",kR=RegExp(UA+\"(?=\"+UA+\")|\"+vle+dle,\"g\");function mle(ue){for(var ge=kR.lastIndex=0;kR.test(ue);)++ge;return ge}var zR=mle;function gle(ue){return kd(ue)?zR(ue):ER(ue)}var Pd=gle;var yle=Math.ceil;function _le(ue,ge){ge=ge===void 0?\" \":nh(ge);var Ye=ge.length;if(Ye<2)return Ye?m_(ge,ue):ge;var Rt=m_(ge,yle(ue/Pd(ge)));return kd(ge)?Bp(Uh(Rt),0,ue).join(\"\"):Rt.slice(0,ue)}var H0=_le;var xle=Math.ceil,ble=Math.floor;function wle(ue,ge,Ye){ue=Bs(ue),ge=jo(ge);var Rt=ge?Pd(ue):0;if(!ge||Rt>=ge)return ue;var gr=(ge-Rt)/2;return H0(ble(gr),Ye)+ue+H0(xle(gr),Ye)}var FR=wle;function Tle(ue,ge,Ye){ue=Bs(ue),ge=jo(ge);var Rt=ge?Pd(ue):0;return ge&&Rt-1;)ei!==ue&&XR.call(ei,oi,1),XR.call(ue,oi,1);return ue}var Gy=Ole;function Ble(ue,ge){return ue&&ue.length&&ge&&ge.length?Gy(ue,ge):ue}var Kw=Ble;var Nle=qo(Kw),ZR=Nle;function Ule(ue,ge,Ye){return ue&&ue.length&&ge&&ge.length?Gy(ue,ge,xo(Ye,2)):ue}var YR=Ule;function jle(ue,ge,Ye){return ue&&ue.length&&ge&&ge.length?Gy(ue,ge,void 0,Ye):ue}var KR=jle;var qle=Array.prototype,Vle=qle.splice;function Gle(ue,ge){for(var Ye=ue?ge.length:0,Rt=Ye-1;Ye--;){var gr=ge[Ye];if(Ye==Rt||gr!==Yr){var Yr=gr;ip(gr)?Vle.call(ue,gr,1):qy(ue,gr)}}return ue}var Jw=Gle;var Hle=lp(function(ue,ge){var Ye=ue==null?0:ue.length,Rt=fy(ue,ge);return Jw(ue,Ml(ge,function(gr){return ip(gr,Ye)?+gr:gr}).sort(Xw)),Rt}),JR=Hle;var Wle=Math.floor,Xle=Math.random;function Zle(ue,ge){return ue+Wle(Xle()*(ge-ue+1))}var Hy=Zle;var Yle=parseFloat,Kle=Math.min,Jle=Math.random;function $le(ue,ge,Ye){if(Ye&&typeof Ye!=\"boolean\"&&Nc(ue,ge,Ye)&&(ge=Ye=void 0),Ye===void 0&&(typeof ge==\"boolean\"?(Ye=ge,ge=void 0):typeof ue==\"boolean\"&&(Ye=ue,ue=void 0)),ue===void 0&&ge===void 0?(ue=0,ge=1):(ue=od(ue),ge===void 0?(ge=ue,ue=0):ge=od(ge)),ue>ge){var Rt=ue;ue=ge,ge=Rt}if(Ye||ue%1||ge%1){var gr=Jle();return Kle(ue+gr*(ge-ue+Yle(\"1e-\"+((gr+\"\").length-1))),ge)}return Hy(ue,ge)}var $R=$le;var Qle=Math.ceil,eue=Math.max;function tue(ue,ge,Ye,Rt){for(var gr=-1,Yr=eue(Qle((ge-ue)/(Ye||1)),0),Ea=Array(Yr);Yr--;)Ea[Rt?Yr:++gr]=ue,ue+=Ye;return Ea}var QR=tue;function rue(ue){return function(ge,Ye,Rt){return Rt&&typeof Rt!=\"number\"&&Nc(ge,Ye,Rt)&&(Ye=Rt=void 0),ge=od(ge),Ye===void 0?(Ye=ge,ge=0):Ye=od(Ye),Rt=Rt===void 0?ge1&&Nc(ue,ge[0],ge[1])?ge=[]:Ye>2&&Nc(ge[0],ge[1],ge[2])&&(ge=[ge[0]]),Zw(ue,Qu(ge,1),[])}),k4=jue;var que=4294967295,Vue=que-1,Gue=Math.floor,Hue=Math.min;function Wue(ue,ge,Ye,Rt){var gr=0,Yr=ue==null?0:ue.length;if(Yr===0)return 0;ge=Ye(ge);for(var Ea=ge!==ge,ei=ge===null,oi=Rf(ge),Cn=ge===void 0;gr>>1;function Yue(ue,ge,Ye){var Rt=0,gr=ue==null?Rt:ue.length;if(typeof ge==\"number\"&&ge===ge&&gr<=Zue){for(;Rt>>1,Ea=ue[Yr];Ea!==null&&!Rf(Ea)&&(Ye?Ea<=ge:Ea>>0,Ye?(ue=Bs(ue),ue&&(typeof ge==\"string\"||ge!=null&&!Ny(ge))&&(ge=nh(ge),!ge&&kd(ue))?Bp(Uh(ue),0,Ye):ue.split(ge,Ye)):[]}var O4=oce;var sce=\"Expected a function\",lce=Math.max;function uce(ue,ge){if(typeof ue!=\"function\")throw new TypeError(sce);return ge=ge==null?0:lce(jo(ge),0),qo(function(Ye){var Rt=Ye[ge],gr=Bp(Ye,0,ge);return Rt&&Op(gr,Rt),xf(ue,this,gr)})}var B4=uce;var cce=Cd(function(ue,ge,Ye){return ue+(Ye?\" \":\"\")+py(ge)}),N4=cce;function fce(ue,ge,Ye){return ue=Bs(ue),Ye=Ye==null?0:ud(jo(Ye),0,ue.length),ge=nh(ge),ue.slice(Ye,Ye+ge.length)==ge}var U4=fce;function hce(){return{}}var j4=hce;function pce(){return\"\"}var q4=pce;function dce(){return!0}var V4=dce;var vce=wm(function(ue,ge){return ue-ge},0),G4=vce;function mce(ue){return ue&&ue.length?jy(ue,Bc):0}var H4=mce;function gce(ue,ge){return ue&&ue.length?jy(ue,xo(ge,2)):0}var W4=gce;function yce(ue){var ge=ue==null?0:ue.length;return ge?Yf(ue,1,ge):[]}var X4=yce;function _ce(ue,ge,Ye){return ue&&ue.length?(ge=Ye||ge===void 0?1:jo(ge),Yf(ue,0,ge<0?0:ge)):[]}var Z4=_ce;function xce(ue,ge,Ye){var Rt=ue==null?0:ue.length;return Rt?(ge=Ye||ge===void 0?1:jo(ge),ge=Rt-ge,Yf(ue,ge<0?0:ge,Rt)):[]}var Y4=xce;function bce(ue,ge){return ue&&ue.length?Nm(ue,xo(ge,3),!1,!0):[]}var K4=bce;function wce(ue,ge){return ue&&ue.length?Nm(ue,xo(ge,3)):[]}var J4=wce;function Tce(ue,ge){return ge(ue),ue}var $4=Tce;var Q4=Object.prototype,Ace=Q4.hasOwnProperty;function Sce(ue,ge,Ye,Rt){return ue===void 0||oh(ue,Q4[Ye])&&!Ace.call(Rt,Ye)?ge:ue}var VA=Sce;var Mce={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"};function Ece(ue){return\"\\\\\"+Mce[ue]}var eD=Ece;var kce=/<%=([\\s\\S]+?)%>/g,r2=kce;var Cce=/<%-([\\s\\S]+?)%>/g,tD=Cce;var Lce=/<%([\\s\\S]+?)%>/g,rD=Lce;var Pce={escape:tD,evaluate:rD,interpolate:r2,variable:\"\",imports:{_:{escape:Ew}}},y_=Pce;var Ice=\"Invalid `variable` option passed into `_.template`\",Rce=/\\b__p \\+= '';/g,Dce=/\\b(__p \\+=) '' \\+/g,zce=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Fce=/[()=,{}\\[\\]\\/\\s]/,Oce=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,a2=/($^)/,Bce=/['\\n\\r\\u2028\\u2029\\\\]/g,Nce=Object.prototype,aD=Nce.hasOwnProperty;function Uce(ue,ge,Ye){var Rt=y_.imports._.templateSettings||y_;Ye&&Nc(ue,ge,Ye)&&(ge=void 0),ue=Bs(ue),ge=km({},ge,Rt,VA);var gr=km({},ge.imports,Rt.imports,VA),Yr=gu(gr),Ea=Fy(gr,Yr),ei,oi,Cn=0,bn=ge.interpolate||a2,Fn=\"__p += '\",To=RegExp((ge.escape||a2).source+\"|\"+bn.source+\"|\"+(bn===r2?Oce:a2).source+\"|\"+(ge.evaluate||a2).source+\"|$\",\"g\"),ds=aD.call(ge,\"sourceURL\")?\"//# sourceURL=\"+(ge.sourceURL+\"\").replace(/\\s/g,\" \")+`\n`:\"\";ue.replace(To,function(Xe,Kl,nu,jp,zf,fp){return nu||(nu=jp),Fn+=ue.slice(Cn,fp).replace(Bce,eD),Kl&&(ei=!0,Fn+=`' +\n__e(`+Kl+`) +\n'`),zf&&(oi=!0,Fn+=`';\n`+zf+`;\n__p += '`),nu&&(Fn+=`' +\n((__t = (`+nu+`)) == null ? '' : __t) +\n'`),Cn=fp+Xe.length,Xe}),Fn+=`';\n`;var Qs=aD.call(ge,\"variable\")&&ge.variable;if(!Qs)Fn=`with (obj) {\n`+Fn+`\n}\n`;else if(Fce.test(Qs))throw new Error(Ice);Fn=(oi?Fn.replace(Rce,\"\"):Fn).replace(Dce,\"$1\").replace(zce,\"$1;\"),Fn=\"function(\"+(Qs||\"obj\")+`) {\n`+(Qs?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(ei?\", __e = _.escape\":\"\")+(oi?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+Fn+`return __p\n}`;var Vo=Vb(function(){return Function(Yr,ds+\"return \"+Fn).apply(void 0,Ea)});if(Vo.source=Fn,hy(Vo))throw Vo;return Vo}var iD=Uce;var jce=\"Expected a function\";function qce(ue,ge,Ye){var Rt=!0,gr=!0;if(typeof ue!=\"function\")throw new TypeError(jce);return Ll(Ye)&&(Rt=\"leading\"in Ye?!!Ye.leading:Rt,gr=\"trailing\"in Ye?!!Ye.trailing:gr),xw(ue,ge,{leading:Rt,maxWait:ge,trailing:gr})}var nD=qce;function Vce(ue,ge){return ge(ue)}var Wv=Vce;var Gce=9007199254740991,GA=4294967295,Hce=Math.min;function Wce(ue,ge){if(ue=jo(ue),ue<1||ue>Gce)return[];var Ye=GA,Rt=Hce(ue,GA);ge=kh(ge),ue-=GA;for(var gr=ay(Rt,ge);++Ye-1;);return Ye}var n2=tfe;function rfe(ue,ge){for(var Ye=-1,Rt=ue.length;++Ye-1;);return Ye}var o2=rfe;function afe(ue,ge,Ye){if(ue=Bs(ue),ue&&(Ye||ge===void 0))return wb(ue);if(!ue||!(ge=nh(ge)))return ue;var Rt=Uh(ue),gr=Uh(ge),Yr=o2(Rt,gr),Ea=n2(Rt,gr)+1;return Bp(Rt,Yr,Ea).join(\"\")}var dD=afe;function ife(ue,ge,Ye){if(ue=Bs(ue),ue&&(Ye||ge===void 0))return ue.slice(0,bb(ue)+1);if(!ue||!(ge=nh(ge)))return ue;var Rt=Uh(ue),gr=n2(Rt,Uh(ge))+1;return Bp(Rt,0,gr).join(\"\")}var vD=ife;var nfe=/^\\s+/;function ofe(ue,ge,Ye){if(ue=Bs(ue),ue&&(Ye||ge===void 0))return ue.replace(nfe,\"\");if(!ue||!(ge=nh(ge)))return ue;var Rt=Uh(ue),gr=o2(Rt,Uh(ge));return Bp(Rt,gr).join(\"\")}var mD=ofe;var sfe=30,lfe=\"...\",ufe=/\\w*$/;function cfe(ue,ge){var Ye=sfe,Rt=lfe;if(Ll(ge)){var gr=\"separator\"in ge?ge.separator:gr;Ye=\"length\"in ge?jo(ge.length):Ye,Rt=\"omission\"in ge?nh(ge.omission):Rt}ue=Bs(ue);var Yr=ue.length;if(kd(ue)){var Ea=Uh(ue);Yr=Ea.length}if(Ye>=Yr)return ue;var ei=Ye-Pd(Rt);if(ei<1)return Rt;var oi=Ea?Bp(Ea,0,ei).join(\"\"):ue.slice(0,ei);if(gr===void 0)return oi+Rt;if(Ea&&(ei+=oi.length-ei),Ny(gr)){if(ue.slice(ei).search(gr)){var Cn,bn=oi;for(gr.global||(gr=RegExp(gr.source,Bs(ufe.exec(gr))+\"g\")),gr.lastIndex=0;Cn=gr.exec(bn);)var Fn=Cn.index;oi=oi.slice(0,Fn===void 0?ei:Fn)}}else if(ue.indexOf(nh(gr),ei)!=ei){var To=oi.lastIndexOf(gr);To>-1&&(oi=oi.slice(0,To))}return oi+Rt}var gD=cfe;function ffe(ue){return Fb(ue,1)}var yD=ffe;var hfe={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},pfe=vy(hfe),_D=pfe;var xD=/&(?:amp|lt|gt|quot|#39);/g,dfe=RegExp(xD.source);function vfe(ue){return ue=Bs(ue),ue&&dfe.test(ue)?ue.replace(xD,_D):ue}var bD=vfe;var mfe=1/0,gfe=Dm&&1/Fm(new Dm([,-0]))[1]==mfe?function(ue){return new Dm(ue)}:Kg,wD=gfe;var yfe=200;function _fe(ue,ge,Ye){var Rt=-1,gr=Mm,Yr=ue.length,Ea=!0,ei=[],oi=ei;if(Ye)Ea=!1,gr=Ry;else if(Yr>=yfe){var Cn=ge?null:wD(ue);if(Cn)return Fm(Cn);Ea=!1,gr=Gv,oi=new zm}else oi=ge?[]:ei;e:for(;++Rt1||this.__actions__.length||!(Rt instanceof Bl)||!ip(Ye)?this.thru(gr):(Rt=Rt.slice(Ye,+Ye+(ge?1:0)),Rt.__actions__.push({func:Wv,args:[gr],thisArg:void 0}),new zp(Rt,this.__chain__).thru(function(Yr){return ge&&!Yr.length&&Yr.push(void 0),Yr}))}),OD=Nfe;function Ufe(){return Kb(this)}var BD=Ufe;function jfe(){var ue=this.__wrapped__;if(ue instanceof Bl){var ge=ue;return this.__actions__.length&&(ge=new Bl(this)),ge=ge.reverse(),ge.__actions__.push({func:Wv,args:[g_],thisArg:void 0}),new zp(ge,this.__chain__)}return this.thru(g_)}var ND=jfe;function qfe(ue,ge,Ye){var Rt=ue.length;if(Rt<2)return Rt?Jp(ue[0]):[];for(var gr=-1,Yr=Array(Rt);++gr1?ue[ge-1]:void 0;return Ye=typeof Ye==\"function\"?(ue.pop(),Ye):void 0,s2(ue,Ye)}),WD=Kfe;var gs={chunk:GL,compact:CP,concat:LP,difference:uI,differenceBy:cI,differenceWith:fI,drop:pI,dropRight:dI,dropRightWhile:vI,dropWhile:mI,fill:kI,findIndex:Iw,findLastIndex:Dw,first:v_,flatten:qb,flattenDeep:OI,flattenDepth:BI,fromPairs:XI,head:v_,indexOf:i8,initial:n8,intersection:o8,intersectionBy:s8,intersectionWith:l8,join:q8,last:Tf,lastIndexOf:W8,nth:pR,pull:ZR,pullAll:Kw,pullAllBy:YR,pullAllWith:KR,pullAt:JR,remove:s4,reverse:g_,slice:A4,sortedIndex:C4,sortedIndexBy:L4,sortedIndexOf:P4,sortedLastIndex:I4,sortedLastIndexBy:R4,sortedLastIndexOf:D4,sortedUniq:z4,sortedUniqBy:F4,tail:X4,take:Z4,takeRight:Y4,takeRightWhile:K4,takeWhile:J4,union:TD,unionBy:AD,unionWith:SD,uniq:MD,uniqBy:ED,uniqWith:kD,unzip:Xy,unzipWith:s2,without:zD,xor:UD,xorBy:jD,xorWith:qD,zip:VD,zipObject:GD,zipObjectDeep:HD,zipWith:WD};var xc={countBy:YP,each:f_,eachRight:h_,every:MI,filter:CI,find:LI,findLast:II,flatMap:DI,flatMapDeep:zI,flatMapDepth:FI,forEach:f_,forEachRight:h_,groupBy:KI,includes:a8,invokeMap:d8,keyBy:G8,map:Um,orderBy:bR,partition:jR,reduce:a4,reduceRight:n4,reject:o4,sample:d4,sampleSize:g4,shuffle:w4,size:T4,some:E4,sortBy:k4};var HA={now:Py};var Df={after:aC,ary:Fb,before:Gb,bind:Hb,bindKey:fL,curry:JP,curryRight:$P,debounce:xw,defer:sI,delay:lI,flip:NI,memoize:Ub,negate:Hv,once:yR,overArgs:AR,partial:Yw,partialRight:UR,rearg:r4,rest:c4,spread:B4,throttle:nD,unary:yD,wrap:FD};var Gs={castArray:qL,clone:AP,cloneDeep:SP,cloneDeepWith:MP,cloneWith:EP,conformsTo:WP,eq:oh,gt:JI,gte:$I,isArguments:pd,isArray:Io,isArrayBuffer:g8,isArrayLike:Vc,isArrayLikeObject:Eu,isBoolean:y8,isBuffer:Kp,isDate:b8,isElement:w8,isEmpty:T8,isEqual:A8,isEqualWith:S8,isError:hy,isFinite:M8,isFunction:ap,isInteger:Nw,isLength:Em,isMap:nw,isMatch:E8,isMatchWith:k8,isNaN:C8,isNative:P8,isNil:I8,isNull:R8,isNumber:Uw,isObject:Ll,isObjectLike:Dl,isPlainObject:gv,isRegExp:Ny,isSafeInteger:O8,isSet:ow,isString:Vm,isSymbol:Rf,isTypedArray:Ed,isUndefined:B8,isWeakMap:N8,isWeakSet:U8,lt:Y8,lte:K8,toArray:Vw,toFinite:od,toInteger:jo,toLength:Cw,toNumber:Sh,toPlainObject:bw,toSafeInteger:fD,toString:Bs};var xp={add:eC,ceil:VL,divide:hI,floor:UI,max:tR,maxBy:rR,mean:aR,meanBy:iR,min:lR,minBy:uR,multiply:cR,round:h4,subtract:G4,sum:H4,sumBy:W4};var __={clamp:HL,inRange:r8,random:$R};var dl={assign:BC,assignIn:s_,assignInWith:km,assignWith:jC,at:lL,create:KP,defaults:tI,defaultsDeep:oI,entries:p_,entriesIn:d_,extend:s_,extendWith:km,findKey:PI,findLastKey:RI,forIn:VI,forInRight:GI,forOwn:HI,forOwnRight:WI,functions:ZI,functionsIn:YI,get:cy,has:e8,hasIn:ky,invert:c8,invertBy:h8,invoke:p8,keys:gu,keysIn:Gc,mapKeys:J8,mapValues:$8,merge:nR,mergeWith:ww,omit:mR,omitBy:gR,pick:VR,pickBy:Ww,result:f4,set:y4,setWith:_4,toPairs:p_,toPairsIn:d_,transform:pD,unset:LD,update:PD,updateWith:ID,values:Ld,valuesIn:DD};var Id={at:OD,chain:Kb,commit:kP,lodash:va,next:hR,plant:GR,reverse:ND,tap:$4,thru:Wv,toIterator:sD,toJSON:Xm,value:Xm,valueOf:Xm,wrapperChain:BD};var ju={camelCase:jL,capitalize:Xb,deburr:Zb,endsWith:yI,escape:Ew,escapeRegExp:AI,kebabCase:V8,lowerCase:X8,lowerFirst:Z8,pad:FR,padEnd:OR,padStart:BR,parseInt:NR,repeat:l4,replace:u4,snakeCase:S4,split:O4,startCase:N4,startsWith:U4,template:iD,templateSettings:y_,toLower:lD,toUpper:hD,trim:dD,trimEnd:vD,trimStart:mD,truncate:gD,unescape:bD,upperCase:RD,upperFirst:py,words:Yb};var ec={attempt:Vb,bindAll:cL,cond:VP,conforms:HP,constant:Qg,defaultTo:QP,flow:jI,flowRight:qI,identity:Bc,iteratee:j8,matches:Q8,matchesProperty:eR,method:oR,methodOf:sR,mixin:qw,noop:Kg,nthArg:dR,over:wR,overEvery:SR,overSome:MR,property:mw,propertyOf:HR,range:e4,rangeRight:t4,stubArray:_y,stubFalse:iy,stubObject:j4,stubString:q4,stubTrue:V4,times:oD,toPath:uD,uniqueId:CD};function Jfe(){var ue=new Bl(this.__wrapped__);return ue.__actions__=pf(this.__actions__),ue.__dir__=this.__dir__,ue.__filtered__=this.__filtered__,ue.__iteratees__=pf(this.__iteratees__),ue.__takeCount__=this.__takeCount__,ue.__views__=pf(this.__views__),ue}var XD=Jfe;function $fe(){if(this.__filtered__){var ue=new Bl(this);ue.__dir__=-1,ue.__filtered__=!0}else ue=this.clone(),ue.__dir__*=-1;return ue}var ZD=$fe;var Qfe=Math.max,ehe=Math.min;function the(ue,ge,Ye){for(var Rt=-1,gr=Ye.length;++Rt0||ge<0)?new Bl(Ye):(ue<0?Ye=Ye.takeRight(-ue):ue&&(Ye=Ye.drop(ue)),ge!==void 0&&(ge=jo(ge),Ye=ge<0?Ye.dropRight(-ge):Ye.take(ge-ue)),Ye)};Bl.prototype.takeRightWhile=function(ue){return this.reverse().takeWhile(ue).reverse()};Bl.prototype.toArray=function(){return this.take(QD)};cp(Bl.prototype,function(ue,ge){var Ye=/^(?:filter|find|map|reject)|While$/.test(ge),Rt=/^(?:head|last)$/.test(ge),gr=va[Rt?\"take\"+(ge==\"last\"?\"Right\":\"\"):ge],Yr=Rt||/^find/.test(ge);gr&&(va.prototype[ge]=function(){var Ea=this.__wrapped__,ei=Rt?[1]:arguments,oi=Ea instanceof Bl,Cn=ei[0],bn=oi||Io(Ea),Fn=function(Kl){var nu=gr.apply(va,Op([Kl],ei));return Rt&&To?nu[0]:nu};bn&&Ye&&typeof Cn==\"function\"&&Cn.length!=1&&(oi=bn=!1);var To=this.__chain__,ds=!!this.__actions__.length,Qs=Yr&&!To,Vo=oi&&!ds;if(!Yr&&bn){Ea=Vo?Ea:new Bl(this);var Xe=ue.apply(Ea,ei);return Xe.__actions__.push({func:Wv,args:[Fn],thisArg:void 0}),new zp(Xe,To)}return Qs&&Vo?ue.apply(this,ei):(Xe=this.thru(Fn),Qs?Rt?Xe.value()[0]:Xe.value():Xe)})});Nh([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(ue){var ge=che[ue],Ye=/^(?:push|sort|unshift)$/.test(ue)?\"tap\":\"thru\",Rt=/^(?:pop|shift)$/.test(ue);va.prototype[ue]=function(){var gr=arguments;if(Rt&&!this.__chain__){var Yr=this.value();return ge.apply(Io(Yr)?Yr:[],gr)}return this[Ye](function(Ea){return ge.apply(Io(Ea)?Ea:[],gr)})}});cp(Bl.prototype,function(ue,ge){var Ye=va[ge];if(Ye){var Rt=Ye.name+\"\";e7.call(Am,Rt)||(Am[Rt]=[]),Am[Rt].push({name:ge,func:Ye})}});Am[ry(void 0,she).name]=[{name:\"wrapper\",func:void 0}];Bl.prototype.clone=XD;Bl.prototype.reverse=ZD;Bl.prototype.value=KD;va.prototype.at=Id.at;va.prototype.chain=Id.wrapperChain;va.prototype.commit=Id.commit;va.prototype.next=Id.next;va.prototype.plant=Id.plant;va.prototype.reverse=Id.reverse;va.prototype.toJSON=va.prototype.valueOf=va.prototype.value=Id.value;va.prototype.first=va.prototype.head;JD&&(va.prototype[JD]=Id.toIterator);var Qc=va;var Rd=uX(a7());window.PlotlyConfig={MathJaxConfig:\"local\"};var XA=class{constructor(ge,Ye){this.model=ge,this.serializers=Ye}get(ge){let Ye=this.serializers[ge],Rt=this.model.get(ge);return Ye?.deserialize?Ye.deserialize(Rt):Rt}set(ge,Ye){let Rt=this.serializers[ge];Rt?.serialize&&(Ye=Rt.serialize(Ye)),this.model.set(ge,Ye)}on(ge,Ye){this.model.on(ge,Ye)}save_changes(){this.model.save_changes()}defaults(){return{_widget_data:[],_widget_layout:{},_config:{},_py2js_addTraces:null,_py2js_deleteTraces:null,_py2js_moveTraces:null,_py2js_restyle:null,_py2js_relayout:null,_py2js_update:null,_py2js_animate:null,_py2js_removeLayoutProps:null,_py2js_removeTraceProps:null,_js2py_restyle:null,_js2py_relayout:null,_js2py_update:null,_js2py_layoutDelta:null,_js2py_traceDeltas:null,_js2py_pointsCallback:null,_last_layout_edit_id:0,_last_trace_edit_id:0}}initialize(){this.model.on(\"change:_widget_data\",()=>this.do_data()),this.model.on(\"change:_widget_layout\",()=>this.do_layout()),this.model.on(\"change:_py2js_addTraces\",()=>this.do_addTraces()),this.model.on(\"change:_py2js_deleteTraces\",()=>this.do_deleteTraces()),this.model.on(\"change:_py2js_moveTraces\",()=>this.do_moveTraces()),this.model.on(\"change:_py2js_restyle\",()=>this.do_restyle()),this.model.on(\"change:_py2js_relayout\",()=>this.do_relayout()),this.model.on(\"change:_py2js_update\",()=>this.do_update()),this.model.on(\"change:_py2js_animate\",()=>this.do_animate()),this.model.on(\"change:_py2js_removeLayoutProps\",()=>this.do_removeLayoutProps()),this.model.on(\"change:_py2js_removeTraceProps\",()=>this.do_removeTraceProps())}_normalize_trace_indexes(ge){if(ge==null){var Ye=this.model.get(\"_widget_data\").length;ge=Qc.range(Ye)}return Array.isArray(ge)||(ge=[ge]),ge}do_data(){}do_layout(){}do_addTraces(){var ge=this.model.get(\"_py2js_addTraces\");if(ge!==null){var Ye=this.model.get(\"_widget_data\"),Rt=ge.trace_data;Qc.forEach(Rt,function(gr){Ye.push(gr)})}}do_deleteTraces(){var ge=this.model.get(\"_py2js_deleteTraces\");if(ge!==null){var Ye=ge.delete_inds,Rt=this.model.get(\"_widget_data\");Ye.slice().reverse().forEach(function(gr){Rt.splice(gr,1)})}}do_moveTraces(){var ge=this.model.get(\"_py2js_moveTraces\");if(ge!==null){var Ye=this.model.get(\"_widget_data\"),Rt=ge.current_trace_inds,gr=ge.new_trace_inds;ghe(Ye,Rt,gr)}}do_restyle(){var ge=this.model.get(\"_py2js_restyle\");if(ge!==null){var Ye=ge.restyle_data,Rt=this._normalize_trace_indexes(ge.restyle_traces);n7(this.model.get(\"_widget_data\"),Ye,Rt)}}do_relayout(){var ge=this.model.get(\"_py2js_relayout\");ge!==null&&f2(this.model.get(\"_widget_layout\"),ge.relayout_data)}do_update(){var ge=this.model.get(\"_py2js_update\");if(ge!==null){var Ye=ge.style_data,Rt=ge.layout_data,gr=this._normalize_trace_indexes(ge.style_traces);n7(this.model.get(\"_widget_data\"),Ye,gr),f2(this.model.get(\"_widget_layout\"),Rt)}}do_animate(){var ge=this.model.get(\"_py2js_animate\");if(ge!==null){for(var Ye=ge.style_data,Rt=ge.layout_data,gr=this._normalize_trace_indexes(ge.style_traces),Yr=0;Yrthis.do_addTraces()),this.model.on(\"change:_py2js_deleteTraces\",()=>this.do_deleteTraces()),this.model.on(\"change:_py2js_moveTraces\",()=>this.do_moveTraces()),this.model.on(\"change:_py2js_restyle\",()=>this.do_restyle()),this.model.on(\"change:_py2js_relayout\",()=>this.do_relayout()),this.model.on(\"change:_py2js_update\",()=>this.do_update()),this.model.on(\"change:_py2js_animate\",()=>this.do_animate()),window?.MathJax?.Hub?.Config?.({SVG:{font:\"STIX-Web\"}});var Ye=this.model.get(\"_last_layout_edit_id\"),Rt=this.model.get(\"_last_trace_edit_id\");this.viewID=s7();var gr=Qc.cloneDeep(this.model.get(\"_widget_data\")),Yr=Qc.cloneDeep(this.model.get(\"_widget_layout\"));Yr.height||(Yr.height=360);var Ea=this.model.get(\"_config\");Ea.editSelection=!1,Rd.default.newPlot(ge.el,gr,Yr,Ea).then(function(){ge._sendTraceDeltas(Rt),ge._sendLayoutDelta(Ye),ge.el.on(\"plotly_restyle\",function(oi){ge.handle_plotly_restyle(oi)}),ge.el.on(\"plotly_relayout\",function(oi){ge.handle_plotly_relayout(oi)}),ge.el.on(\"plotly_update\",function(oi){ge.handle_plotly_update(oi)}),ge.el.on(\"plotly_click\",function(oi){ge.handle_plotly_click(oi)}),ge.el.on(\"plotly_hover\",function(oi){ge.handle_plotly_hover(oi)}),ge.el.on(\"plotly_unhover\",function(oi){ge.handle_plotly_unhover(oi)}),ge.el.on(\"plotly_selected\",function(oi){ge.handle_plotly_selected(oi)}),ge.el.on(\"plotly_deselect\",function(oi){ge.handle_plotly_deselect(oi)}),ge.el.on(\"plotly_doubleclick\",function(oi){ge.handle_plotly_doubleclick(oi)});var ei=new CustomEvent(\"plotlywidget-after-render\",{detail:{element:ge.el,viewID:ge.viewID}});document.dispatchEvent(ei)})}_processLuminoMessage(ge,Ye){Ye.apply(this,arguments);var Rt=this;switch(ge.type){case\"before-attach\":var gr={showgrid:!1,showline:!1,tickvals:[]};Rd.default.newPlot(Rt.el,[],{xaxis:gr,yaxis:gr}),this.resizeEventListener=()=>{this.autosizeFigure()},window.addEventListener(\"resize\",this.resizeEventListener);break;case\"after-attach\":this.perform_render();break;case\"after-show\":case\"resize\":this.autosizeFigure();break}}autosizeFigure(){var ge=this,Ye=ge.model.get(\"_widget_layout\");(Qc.isNil(Ye)||Qc.isNil(Ye.width))&&Rd.default.Plots.resize(ge.el).then(function(){var Rt=ge.model.get(\"_last_layout_edit_id\");ge._sendLayoutDelta(Rt)})}remove(){Rd.default.purge(this.el),window.removeEventListener(\"resize\",this.resizeEventListener)}getFullData(){return Qc.mergeWith({},this.el._fullData,this.el.data,i7)}getFullLayout(){return Qc.mergeWith({},this.el._fullLayout,this.el.layout,i7)}buildPointsObject(ge){var Ye;if(ge.hasOwnProperty(\"points\")){var Rt=ge.points,gr=Rt.length,Yr=!0;for(let bn=0;bn=0;gr--)Rt.splice(0,0,ue[ge[gr]]),ue.splice(ge[gr],1);var Yr=Qc(Ye).zip(Rt).sortBy(0).unzip().value();Ye=Yr[0],Rt=Yr[1];for(var Ea=0;Ea0&&typeof Yr[0]==\"object\"){Ye[Rt]=new Array(Yr.length);for(var Ea=0;Ea0&&(Ye[Rt]=ei)}else typeof Yr==\"object\"&&!Array.isArray(Yr)?Ye[Rt]=x_(Yr,{}):Yr!==void 0&&typeof Yr!=\"function\"&&(Ye[Rt]=Yr)}}return Ye}function s7(ue,ge,Ye,Rt){if(Ye||(Ye=16),ge===void 0&&(ge=24),ge<=0)return\"0\";var gr=Math.log(Math.pow(2,ge))/Math.log(Ye),Yr=\"\",Ea,ei,oi;for(Ea=2;gr===1/0;Ea*=2)gr=Math.log(Math.pow(2,ge/Ea))/Math.log(Ye)*Ea;var Cn=gr-Math.floor(gr);for(Ea=0;Ea=Math.pow(2,ge)?Rt>10?(console.warn(\"randstr failed uniqueness\"),Yr):s7(ue,ge,Ye,(Rt||0)+1):Yr}var MHe=()=>{let ue;return{initialize(ge){ue=new XA(ge.model,phe),ue.initialize()},render({el:ge}){let Ye=new ZA(ue,ge);return Ye.perform_render(),()=>Ye.remove()}}};export{XA as FigureModel,ZA as FigureView,MHe as default};\n/*! Bundled license information:\n\nplotly.js/dist/plotly.js:\n (*!\n * pad-left \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT license.\n *)\n (*!\n * repeat-string \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n *)\n (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *)\n (*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n (*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n (*! Bundled license information:\n \n native-promise-only/lib/npo.src.js:\n (*! Native Promise Only\n v0.8.1 (c) Kyle Simpson\n MIT License: http://getify.mit-license.org\n *)\n \n polybooljs/index.js:\n (*\n * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n * @license MIT\n * @preserve Project Home: https://github.com/voidqk/polybooljs\n *)\n \n ieee754/index.js:\n (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *)\n \n buffer/index.js:\n (*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n \n safe-buffer/index.js:\n (*! safe-buffer. MIT License. Feross Aboukhadijeh *)\n \n assert/build/internal/util/comparisons.js:\n (*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n \n object-assign/index.js:\n (*\n object-assign\n (c) Sindre Sorhus\n @license MIT\n *)\n \n maplibre-gl/dist/maplibre-gl.js:\n (**\n * MapLibre GL JS\n * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n *)\n *)\n\nlodash-es/lodash.default.js:\n (**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n *)\n\nlodash-es/lodash.js:\n (**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n *)\n*/\n", + "_esm": "var aX=Object.create;var Wk=Object.defineProperty;var iX=Object.getOwnPropertyDescriptor;var nX=Object.getOwnPropertyNames;var oX=Object.getPrototypeOf,sX=Object.prototype.hasOwnProperty;var lX=(fe,_e)=>()=>(_e||fe((_e={exports:{}}).exports,_e),_e.exports);var uX=(fe,_e,Xe,Lt)=>{if(_e&&typeof _e==\"object\"||typeof _e==\"function\")for(let gr of nX(_e))!sX.call(fe,gr)&&gr!==Xe&&Wk(fe,gr,{get:()=>_e[gr],enumerable:!(Lt=iX(_e,gr))||Lt.enumerable});return fe};var cX=(fe,_e,Xe)=>(Xe=fe!=null?aX(oX(fe)):{},uX(_e||!fe||!fe.__esModule?Wk(Xe,\"default\",{value:fe,enumerable:!0}):Xe,fe));var a7=lX((r7,c2)=>{(function(fe,_e){typeof c2==\"object\"&&c2.exports?c2.exports=_e():fe.moduleName=_e()})(typeof self<\"u\"?self:r7,()=>{\"use strict\";var fe=(()=>{var _e=Object.create,Xe=Object.defineProperty,Lt=Object.defineProperties,gr=Object.getOwnPropertyDescriptor,Yr=Object.getOwnPropertyDescriptors,Ea=Object.getOwnPropertyNames,ei=Object.getOwnPropertySymbols,oi=Object.getPrototypeOf,Ln=Object.prototype.hasOwnProperty,_n=Object.prototype.propertyIsEnumerable,Fn=(Z,G,d)=>G in Z?Xe(Z,G,{enumerable:!0,configurable:!0,writable:!0,value:d}):Z[G]=d,So=(Z,G)=>{for(var d in G||(G={}))Ln.call(G,d)&&Fn(Z,d,G[d]);if(ei)for(var d of ei(G))_n.call(G,d)&&Fn(Z,d,G[d]);return Z},ds=(Z,G)=>Lt(Z,Yr(G)),Qs=(Z,G)=>{var d={};for(var _ in Z)Ln.call(Z,_)&&G.indexOf(_)<0&&(d[_]=Z[_]);if(Z!=null&&ei)for(var _ of ei(Z))G.indexOf(_)<0&&_n.call(Z,_)&&(d[_]=Z[_]);return d},Ho=(Z,G)=>function(){return Z&&(G=(0,Z[Ea(Z)[0]])(Z=0)),G},Ge=(Z,G)=>function(){return G||(0,Z[Ea(Z)[0]])((G={exports:{}}).exports,G),G.exports},Jl=(Z,G)=>{for(var d in G)Xe(Z,d,{get:G[d],enumerable:!0})},ou=(Z,G,d,_)=>{if(G&&typeof G==\"object\"||typeof G==\"function\")for(let A of Ea(G))!Ln.call(Z,A)&&A!==d&&Xe(Z,A,{get:()=>G[A],enumerable:!(_=gr(G,A))||_.enumerable});return Z},jp=(Z,G,d)=>(d=Z!=null?_e(oi(Z)):{},ou(G||!Z||!Z.__esModule?Xe(d,\"default\",{value:Z,enumerable:!0}):d,Z)),zf=Z=>ou(Xe({},\"__esModule\",{value:!0}),Z),fp=Ge({\"src/version.js\"(Z){\"use strict\";Z.version=\"3.6.0\"}}),Ff=Ge({\"node_modules/native-promise-only/lib/npo.src.js\"(Z,G){(function(_,A,E){A[_]=A[_]||E(),typeof G<\"u\"&&G.exports&&(G.exports=A[_])})(\"Promise\",typeof window<\"u\"?window:Z,function(){\"use strict\";var _,A,E,e=Object.prototype.toString,t=typeof setImmediate<\"u\"?function(x){return setImmediate(x)}:setTimeout;try{Object.defineProperty({},\"x\",{}),_=function(x,w,S,M){return Object.defineProperty(x,w,{value:S,writable:!0,configurable:M!==!1})}}catch{_=function(w,S,M){return w[S]=M,w}}E=function(){var x,w,S;function M(m,b){this.fn=m,this.self=b,this.next=void 0}return{add:function(b,p){S=new M(b,p),w?w.next=S:x=S,w=S,S=void 0},drain:function(){var b=x;for(x=w=A=void 0;b;)b.fn.call(b.self),b=b.next}}}();function r(l,x){E.add(l,x),A||(A=t(E.drain))}function o(l){var x,w=typeof l;return l!=null&&(w==\"object\"||w==\"function\")&&(x=l.then),typeof x==\"function\"?x:!1}function a(){for(var l=0;l0&&r(a,w))}catch(S){s.call(new f(w),S)}}}function s(l){var x=this;x.triggered||(x.triggered=!0,x.def&&(x=x.def),x.msg=l,x.state=2,x.chain.length>0&&r(a,x))}function h(l,x,w,S){for(var M=0;MDe?1:me>=De?0:NaN}d.descending=function(me,De){return Deme?1:De>=me?0:NaN},d.min=function(me,De){var et=-1,dt=me.length,yt,Tt;if(arguments.length===1){for(;++et=Tt){yt=Tt;break}for(;++etTt&&(yt=Tt)}else{for(;++et=Tt){yt=Tt;break}for(;++etTt&&(yt=Tt)}return yt},d.max=function(me,De){var et=-1,dt=me.length,yt,Tt;if(arguments.length===1){for(;++et=Tt){yt=Tt;break}for(;++etyt&&(yt=Tt)}else{for(;++et=Tt){yt=Tt;break}for(;++etyt&&(yt=Tt)}return yt},d.extent=function(me,De){var et=-1,dt=me.length,yt,Tt,tr;if(arguments.length===1){for(;++et=Tt){yt=tr=Tt;break}for(;++etTt&&(yt=Tt),tr=Tt){yt=tr=Tt;break}for(;++etTt&&(yt=Tt),tr1)return tr/(_r-1)},d.deviation=function(){var me=d.variance.apply(this,arguments);return me&&Math.sqrt(me)};function v(me){return{left:function(De,et,dt,yt){for(arguments.length<3&&(dt=0),arguments.length<4&&(yt=De.length);dt>>1;me(De[Tt],et)<0?dt=Tt+1:yt=Tt}return dt},right:function(De,et,dt,yt){for(arguments.length<3&&(dt=0),arguments.length<4&&(yt=De.length);dt>>1;me(De[Tt],et)>0?yt=Tt:dt=Tt+1}return dt}}}var c=v(s);d.bisectLeft=c.left,d.bisect=d.bisectRight=c.right,d.bisector=function(me){return v(me.length===1?function(De,et){return s(me(De),et)}:me)},d.shuffle=function(me,De,et){(dt=arguments.length)<3&&(et=me.length,dt<2&&(De=0));for(var dt=et-De,yt,Tt;dt;)Tt=Math.random()*dt--|0,yt=me[dt+De],me[dt+De]=me[Tt+De],me[Tt+De]=yt;return me},d.permute=function(me,De){for(var et=De.length,dt=new Array(et);et--;)dt[et]=me[De[et]];return dt},d.pairs=function(me){for(var De=0,et=me.length-1,dt,yt=me[0],Tt=new Array(et<0?0:et);De=0;)for(tr=me[De],et=tr.length;--et>=0;)Tt[--yt]=tr[et];return Tt};var l=Math.abs;d.range=function(me,De,et){if(arguments.length<3&&(et=1,arguments.length<2&&(De=me,me=0)),(De-me)/et===1/0)throw new Error(\"infinite range\");var dt=[],yt=x(l(et)),Tt=-1,tr;if(me*=yt,De*=yt,et*=yt,et<0)for(;(tr=me+et*++Tt)>De;)dt.push(tr/yt);else for(;(tr=me+et*++Tt)=De.length)return yt?yt.call(me,_r):dt?_r.sort(dt):_r;for(var Xr=-1,wa=_r.length,pa=De[Gr++],Ja,ti,Sa,za=new S,Xa;++Xr=De.length)return zt;var Gr=[],Xr=et[_r++];return zt.forEach(function(wa,pa){Gr.push({key:wa,values:tr(pa,_r)})}),Xr?Gr.sort(function(wa,pa){return Xr(wa.key,pa.key)}):Gr}return me.map=function(zt,_r){return Tt(_r,zt,0)},me.entries=function(zt){return tr(Tt(d.map,zt,0),0)},me.key=function(zt){return De.push(zt),me},me.sortKeys=function(zt){return et[De.length-1]=zt,me},me.sortValues=function(zt){return dt=zt,me},me.rollup=function(zt){return yt=zt,me},me},d.set=function(me){var De=new z;if(me)for(var et=0,dt=me.length;et=0&&(dt=me.slice(et+1),me=me.slice(0,et)),me)return arguments.length<2?this[me].on(dt):this[me].on(dt,De);if(arguments.length===2){if(De==null)for(me in this)this.hasOwnProperty(me)&&this[me].on(dt,null);return this}};function X(me){var De=[],et=new S;function dt(){for(var yt=De,Tt=-1,tr=yt.length,zt;++Tt=0&&(et=me.slice(0,De))!==\"xmlns\"&&(me=me.slice(De+1)),pe.hasOwnProperty(et)?{space:pe[et],local:me}:me}},ae.attr=function(me,De){if(arguments.length<2){if(typeof me==\"string\"){var et=this.node();return me=d.ns.qualify(me),me.local?et.getAttributeNS(me.space,me.local):et.getAttribute(me)}for(De in me)this.each(we(De,me[De]));return this}return this.each(we(me,De))};function we(me,De){me=d.ns.qualify(me);function et(){this.removeAttribute(me)}function dt(){this.removeAttributeNS(me.space,me.local)}function yt(){this.setAttribute(me,De)}function Tt(){this.setAttributeNS(me.space,me.local,De)}function tr(){var _r=De.apply(this,arguments);_r==null?this.removeAttribute(me):this.setAttribute(me,_r)}function zt(){var _r=De.apply(this,arguments);_r==null?this.removeAttributeNS(me.space,me.local):this.setAttributeNS(me.space,me.local,_r)}return De==null?me.local?dt:et:typeof De==\"function\"?me.local?zt:tr:me.local?Tt:yt}function Se(me){return me.trim().replace(/\\s+/g,\" \")}ae.classed=function(me,De){if(arguments.length<2){if(typeof me==\"string\"){var et=this.node(),dt=(me=Re(me)).length,yt=-1;if(De=et.classList){for(;++yt=0;)(Tt=et[dt])&&(yt&&yt!==Tt.nextSibling&&yt.parentNode.insertBefore(Tt,yt),yt=Tt);return this},ae.sort=function(me){me=Ce.apply(this,arguments);for(var De=-1,et=this.length;++De=De&&(De=yt+1);!(_r=tr[De])&&++De0&&(me=me.slice(0,yt));var tr=qt.get(me);tr&&(me=tr,Tt=Tr);function zt(){var Xr=this[dt];Xr&&(this.removeEventListener(me,Xr,Xr.$),delete this[dt])}function _r(){var Xr=Tt(De,A(arguments));zt.call(this),this.addEventListener(me,this[dt]=Xr,Xr.$=et),Xr._=De}function Gr(){var Xr=new RegExp(\"^__on([^.]+)\"+d.requote(me)+\"$\"),wa;for(var pa in this)if(wa=pa.match(Xr)){var Ja=this[pa];this.removeEventListener(wa[1],Ja,Ja.$),delete this[pa]}}return yt?De?_r:zt:De?U:Gr}var qt=d.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});E&&qt.forEach(function(me){\"on\"+me in E&&qt.remove(me)});function Gt(me,De){return function(et){var dt=d.event;d.event=et,De[0]=this.__data__;try{me.apply(this,De)}finally{d.event=dt}}}function Tr(me,De){var et=Gt(me,De);return function(dt){var yt=this,Tt=dt.relatedTarget;(!Tt||Tt!==yt&&!(Tt.compareDocumentPosition(yt)&8))&&et.call(yt,dt)}}var mr,qr=0;function Er(me){var De=\".dragsuppress-\"+ ++qr,et=\"click\"+De,dt=d.select(t(me)).on(\"touchmove\"+De,$).on(\"dragstart\"+De,$).on(\"selectstart\"+De,$);if(mr==null&&(mr=\"onselectstart\"in me?!1:O(me.style,\"userSelect\")),mr){var yt=e(me).style,Tt=yt[mr];yt[mr]=\"none\"}return function(tr){if(dt.on(De,null),mr&&(yt[mr]=Tt),tr){var zt=function(){dt.on(et,null)};dt.on(et,function(){$(),zt()},!0),setTimeout(zt,0)}}}d.mouse=function(me){return xt(me,ue())};var Dr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function xt(me,De){De.changedTouches&&(De=De.changedTouches[0]);var et=me.ownerSVGElement||me;if(et.createSVGPoint){var dt=et.createSVGPoint();if(Dr<0){var yt=t(me);if(yt.scrollX||yt.scrollY){et=d.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var Tt=et[0][0].getScreenCTM();Dr=!(Tt.f||Tt.e),et.remove()}}return Dr?(dt.x=De.pageX,dt.y=De.pageY):(dt.x=De.clientX,dt.y=De.clientY),dt=dt.matrixTransform(me.getScreenCTM().inverse()),[dt.x,dt.y]}var tr=me.getBoundingClientRect();return[De.clientX-tr.left-me.clientLeft,De.clientY-tr.top-me.clientTop]}d.touch=function(me,De,et){if(arguments.length<3&&(et=De,De=ue().changedTouches),De){for(var dt=0,yt=De.length,Tt;dt0?1:me<0?-1:0}function Pt(me,De,et){return(De[0]-me[0])*(et[1]-me[1])-(De[1]-me[1])*(et[0]-me[0])}function Nt(me){return me>1?0:me<-1?Le:Math.acos(me)}function cr(me){return me>1?st:me<-1?-st:Math.asin(me)}function lr(me){return((me=Math.exp(me))-1/me)/2}function sr(me){return((me=Math.exp(me))+1/me)/2}function Pr(me){return((me=Math.exp(2*me))-1)/(me+1)}function _a(me){return(me=Math.sin(me/2))*me}var Fa=Math.SQRT2,Ra=2,qa=4;d.interpolateZoom=function(me,De){var et=me[0],dt=me[1],yt=me[2],Tt=De[0],tr=De[1],zt=De[2],_r=Tt-et,Gr=tr-dt,Xr=_r*_r+Gr*Gr,wa,pa;if(Xr0&&(mn=mn.transition().duration(tr)),mn.call(ni.event)}function Jn(){za&&za.domain(Sa.range().map(function(mn){return(mn-me.x)/me.k}).map(Sa.invert)),fi&&fi.domain(Xa.range().map(function(mn){return(mn-me.y)/me.k}).map(Xa.invert))}function ro(mn){zt++||mn({type:\"zoomstart\"})}function $o(mn){Jn(),mn({type:\"zoom\",scale:me.k,translate:[me.x,me.y]})}function no(mn){--zt||(mn({type:\"zoomend\"}),et=null)}function Xo(){var mn=this,po=ti.of(mn,arguments),fs=0,vs=d.select(t(mn)).on(Gr,Su).on(Xr,Rl),Tl=La(d.mouse(mn)),Wl=Er(mn);Bn.call(mn),ro(po);function Su(){fs=1,dn(d.mouse(mn),Tl),$o(po)}function Rl(){vs.on(Gr,null).on(Xr,null),Wl(fs),no(po)}}function cl(){var mn=this,po=ti.of(mn,arguments),fs={},vs=0,Tl,Wl=\".zoom-\"+d.event.changedTouches[0].identifier,Su=\"touchmove\"+Wl,Rl=\"touchend\"+Wl,_c=[],it=d.select(mn),Xt=Er(mn);oa(),ro(po),it.on(_r,null).on(pa,oa);function fr(){var xa=d.touches(mn);return Tl=me.k,xa.forEach(function(Ya){Ya.identifier in fs&&(fs[Ya.identifier]=La(Ya))}),xa}function oa(){var xa=d.event.target;d.select(xa).on(Su,Ta).on(Rl,ma),_c.push(xa);for(var Ya=d.event.changedTouches,bi=0,yi=Ya.length;bi1){var zi=si[0],Ei=si[1],Na=zi[0]-Ei[0],ea=zi[1]-Ei[1];vs=Na*Na+ea*ea}}function Ta(){var xa=d.touches(mn),Ya,bi,yi,si;Bn.call(mn);for(var gn=0,zi=xa.length;gn1?1:De,et=et<0?0:et>1?1:et,yt=et<=.5?et*(1+De):et+De-et*De,dt=2*et-yt;function Tt(zt){return zt>360?zt-=360:zt<0&&(zt+=360),zt<60?dt+(yt-dt)*zt/60:zt<180?yt:zt<240?dt+(yt-dt)*(240-zt)/60:dt}function tr(zt){return Math.round(Tt(zt)*255)}return new _t(tr(me+120),tr(me),tr(me-120))}d.hcl=Jt;function Jt(me,De,et){return this instanceof Jt?(this.h=+me,this.c=+De,void(this.l=+et)):arguments.length<2?me instanceof Jt?new Jt(me.h,me.c,me.l):me instanceof ra?Ia(me.l,me.a,me.b):Ia((me=Hr((me=d.rgb(me)).r,me.g,me.b)).l,me.a,me.b):new Jt(me,De,et)}var Or=Jt.prototype=new wi;Or.brighter=function(me){return new Jt(this.h,this.c,Math.min(100,this.l+ca*(arguments.length?me:1)))},Or.darker=function(me){return new Jt(this.h,this.c,Math.max(0,this.l-ca*(arguments.length?me:1)))},Or.rgb=function(){return ta(this.h,this.c,this.l).rgb()};function ta(me,De,et){return isNaN(me)&&(me=0),isNaN(De)&&(De=0),new ra(et,Math.cos(me*=ot)*De,Math.sin(me)*De)}d.lab=ra;function ra(me,De,et){return this instanceof ra?(this.l=+me,this.a=+De,void(this.b=+et)):arguments.length<2?me instanceof ra?new ra(me.l,me.a,me.b):me instanceof Jt?ta(me.h,me.c,me.l):Hr((me=_t(me)).r,me.g,me.b):new ra(me,De,et)}var ca=18,Ba=.95047,$a=1,Za=1.08883,ri=ra.prototype=new wi;ri.brighter=function(me){return new ra(Math.min(100,this.l+ca*(arguments.length?me:1)),this.a,this.b)},ri.darker=function(me){return new ra(Math.max(0,this.l-ca*(arguments.length?me:1)),this.a,this.b)},ri.rgb=function(){return pi(this.l,this.a,this.b)};function pi(me,De,et){var dt=(me+16)/116,yt=dt+De/500,Tt=dt-et/200;return yt=rn(yt)*Ba,dt=rn(dt)*$a,Tt=rn(Tt)*Za,new _t(cn(3.2404542*yt-1.5371385*dt-.4985314*Tt),cn(-.969266*yt+1.8760108*dt+.041556*Tt),cn(.0556434*yt-.2040259*dt+1.0572252*Tt))}function Ia(me,De,et){return me>0?new Jt(Math.atan2(et,De)*Ut,Math.sqrt(De*De+et*et),me):new Jt(NaN,NaN,me)}function rn(me){return me>.206893034?me*me*me:(me-4/29)/7.787037}function tn(me){return me>.008856?Math.pow(me,1/3):7.787037*me+4/29}function cn(me){return Math.round(255*(me<=.00304?12.92*me:1.055*Math.pow(me,1/2.4)-.055))}d.rgb=_t;function _t(me,De,et){return this instanceof _t?(this.r=~~me,this.g=~~De,void(this.b=~~et)):arguments.length<2?me instanceof _t?new _t(me.r,me.g,me.b):Rr(\"\"+me,_t,Zt):new _t(me,De,et)}function ut(me){return new _t(me>>16,me>>8&255,me&255)}function Br(me){return ut(me)+\"\"}var Cr=_t.prototype=new wi;Cr.brighter=function(me){me=Math.pow(.7,arguments.length?me:1);var De=this.r,et=this.g,dt=this.b,yt=30;return!De&&!et&&!dt?new _t(yt,yt,yt):(De&&De>4,dt=dt>>4|dt,yt=_r&240,yt=yt>>4|yt,Tt=_r&15,Tt=Tt<<4|Tt):me.length===7&&(dt=(_r&16711680)>>16,yt=(_r&65280)>>8,Tt=_r&255)),De(dt,yt,Tt))}function Ur(me,De,et){var dt=Math.min(me/=255,De/=255,et/=255),yt=Math.max(me,De,et),Tt=yt-dt,tr,zt,_r=(yt+dt)/2;return Tt?(zt=_r<.5?Tt/(yt+dt):Tt/(2-yt-dt),me==yt?tr=(De-et)/Tt+(De0&&_r<1?0:tr),new Yt(tr,zt,_r)}function Hr(me,De,et){me=gt(me),De=gt(De),et=gt(et);var dt=tn((.4124564*me+.3575761*De+.1804375*et)/Ba),yt=tn((.2126729*me+.7151522*De+.072175*et)/$a),Tt=tn((.0193339*me+.119192*De+.9503041*et)/Za);return ra(116*yt-16,500*(dt-yt),200*(yt-Tt))}function gt(me){return(me/=255)<=.04045?me/12.92:Math.pow((me+.055)/1.055,2.4)}function Kt(me){var De=parseFloat(me);return me.charAt(me.length-1)===\"%\"?Math.round(De*2.55):De}var vr=d.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});vr.forEach(function(me,De){vr.set(me,ut(De))});function Ir(me){return typeof me==\"function\"?me:function(){return me}}d.functor=Ir,d.xhr=va(F);function va(me){return function(De,et,dt){return arguments.length===2&&typeof et==\"function\"&&(dt=et,et=null),Pa(De,et,me,dt)}}function Pa(me,De,et,dt){var yt={},Tt=d.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),tr={},zt=new XMLHttpRequest,_r=null;self.XDomainRequest&&!(\"withCredentials\"in zt)&&/^(http(s)?:)?\\/\\//.test(me)&&(zt=new XDomainRequest),\"onload\"in zt?zt.onload=zt.onerror=Gr:zt.onreadystatechange=function(){zt.readyState>3&&Gr()};function Gr(){var Xr=zt.status,wa;if(!Xr&&la(zt)||Xr>=200&&Xr<300||Xr===304){try{wa=et.call(yt,zt)}catch(pa){Tt.error.call(yt,pa);return}Tt.load.call(yt,wa)}else Tt.error.call(yt,zt)}return zt.onprogress=function(Xr){var wa=d.event;d.event=Xr;try{Tt.progress.call(yt,zt)}finally{d.event=wa}},yt.header=function(Xr,wa){return Xr=(Xr+\"\").toLowerCase(),arguments.length<2?tr[Xr]:(wa==null?delete tr[Xr]:tr[Xr]=wa+\"\",yt)},yt.mimeType=function(Xr){return arguments.length?(De=Xr==null?null:Xr+\"\",yt):De},yt.responseType=function(Xr){return arguments.length?(_r=Xr,yt):_r},yt.response=function(Xr){return et=Xr,yt},[\"get\",\"post\"].forEach(function(Xr){yt[Xr]=function(){return yt.send.apply(yt,[Xr].concat(A(arguments)))}}),yt.send=function(Xr,wa,pa){if(arguments.length===2&&typeof wa==\"function\"&&(pa=wa,wa=null),zt.open(Xr,me,!0),De!=null&&!(\"accept\"in tr)&&(tr.accept=De+\",*/*\"),zt.setRequestHeader)for(var Ja in tr)zt.setRequestHeader(Ja,tr[Ja]);return De!=null&&zt.overrideMimeType&&zt.overrideMimeType(De),_r!=null&&(zt.responseType=_r),pa!=null&&yt.on(\"error\",pa).on(\"load\",function(ti){pa(null,ti)}),Tt.beforesend.call(yt,zt),zt.send(wa??null),yt},yt.abort=function(){return zt.abort(),yt},d.rebind(yt,Tt,\"on\"),dt==null?yt:yt.get(ga(dt))}function ga(me){return me.length===1?function(De,et){me(De==null?et:null)}:me}function la(me){var De=me.responseType;return De&&De!==\"text\"?me.response:me.responseText}d.dsv=function(me,De){var et=new RegExp('[\"'+me+`\n]`),dt=me.charCodeAt(0);function yt(Gr,Xr,wa){arguments.length<3&&(wa=Xr,Xr=null);var pa=Pa(Gr,De,Xr==null?Tt:tr(Xr),wa);return pa.row=function(Ja){return arguments.length?pa.response((Xr=Ja)==null?Tt:tr(Ja)):Xr},pa}function Tt(Gr){return yt.parse(Gr.responseText)}function tr(Gr){return function(Xr){return yt.parse(Xr.responseText,Gr)}}yt.parse=function(Gr,Xr){var wa;return yt.parseRows(Gr,function(pa,Ja){if(wa)return wa(pa,Ja-1);var ti=function(Sa){for(var za={},Xa=pa.length,fi=0;fi=ti)return pa;if(fi)return fi=!1,wa;var sn=Sa;if(Gr.charCodeAt(sn)===34){for(var an=sn;an++24?(isFinite(De)&&(clearTimeout(Ki),Ki=setTimeout(On,De)),ki=0):(ki=1,Mn(On))}d.timer.flush=function(){En(),ao()};function En(){for(var me=Date.now(),De=ba;De;)me>=De.t&&De.c(me-De.t)&&(De.c=null),De=De.n;return me}function ao(){for(var me,De=ba,et=1/0;De;)De.c?(De.t=0;--zt)Sa.push(yt[Gr[wa[zt]][2]]);for(zt=+Ja;zt1&&Pt(me[et[dt-2]],me[et[dt-1]],me[yt])<=0;)--dt;et[dt++]=yt}return et.slice(0,dt)}function kn(me,De){return me[0]-De[0]||me[1]-De[1]}d.geom.polygon=function(me){return V(me,wo),me};var wo=d.geom.polygon.prototype=[];wo.area=function(){for(var me=-1,De=this.length,et,dt=this[De-1],yt=0;++meKe)zt=zt.L;else if(tr=De-lo(zt,et),tr>Ke){if(!zt.R){dt=zt;break}zt=zt.R}else{Tt>-Ke?(dt=zt.P,yt=zt):tr>-Ke?(dt=zt,yt=zt.N):dt=yt=zt;break}var _r=Ko(me);if(Zn.insert(dt,_r),!(!dt&&!yt)){if(dt===yt){Po(dt),yt=Ko(dt.site),Zn.insert(_r,yt),_r.edge=yt.edge=Nl(dt.site,_r.site),yn(dt),yn(yt);return}if(!yt){_r.edge=Nl(dt.site,_r.site);return}Po(dt),Po(yt);var Gr=dt.site,Xr=Gr.x,wa=Gr.y,pa=me.x-Xr,Ja=me.y-wa,ti=yt.site,Sa=ti.x-Xr,za=ti.y-wa,Xa=2*(pa*za-Ja*Sa),fi=pa*pa+Ja*Ja,ni=Sa*Sa+za*za,La={x:(za*fi-Ja*ni)/Xa+Xr,y:(pa*ni-Sa*fi)/Xa+wa};ws(yt.edge,Gr,ti,La),_r.edge=Nl(Gr,me,null,La),yt.edge=Nl(me,ti,null,La),yn(dt),yn(yt)}}function xs(me,De){var et=me.site,dt=et.x,yt=et.y,Tt=yt-De;if(!Tt)return dt;var tr=me.P;if(!tr)return-1/0;et=tr.site;var zt=et.x,_r=et.y,Gr=_r-De;if(!Gr)return zt;var Xr=zt-dt,wa=1/Tt-1/Gr,pa=Xr/Gr;return wa?(-pa+Math.sqrt(pa*pa-2*wa*(Xr*Xr/(-2*Gr)-_r+Gr/2+yt-Tt/2)))/wa+dt:(dt+zt)/2}function lo(me,De){var et=me.N;if(et)return xs(et,De);var dt=me.site;return dt.y===De?dt.x:1/0}function Zo(me){this.site=me,this.edges=[]}Zo.prototype.prepare=function(){for(var me=this.edges,De=me.length,et;De--;)et=me[De].edge,(!et.b||!et.a)&&me.splice(De,1);return me.sort(Hs),me.length};function bs(me){for(var De=me[0][0],et=me[1][0],dt=me[0][1],yt=me[1][1],Tt,tr,zt,_r,Gr=jo,Xr=Gr.length,wa,pa,Ja,ti,Sa,za;Xr--;)if(wa=Gr[Xr],!(!wa||!wa.prepare()))for(Ja=wa.edges,ti=Ja.length,pa=0;paKe||l(_r-tr)>Ke)&&(Ja.splice(pa,0,new Cs(Ks(wa.site,za,l(zt-De)Ke?{x:De,y:l(Tt-De)Ke?{x:l(tr-yt)Ke?{x:et,y:l(Tt-et)Ke?{x:l(tr-dt)=-Ae)){var pa=_r*_r+Gr*Gr,Ja=Xr*Xr+za*za,ti=(za*pa-Gr*Ja)/wa,Sa=(_r*Ja-Xr*pa)/wa,za=Sa+zt,Xa=ys.pop()||new il;Xa.arc=me,Xa.site=yt,Xa.x=ti+tr,Xa.y=za+Math.sqrt(ti*ti+Sa*Sa),Xa.cy=za,me.circle=Xa;for(var fi=null,ni=ss._;ni;)if(Xa.y0)){if(Sa/=Ja,Ja<0){if(Sa0){if(Sa>pa)return;Sa>wa&&(wa=Sa)}if(Sa=et-zt,!(!Ja&&Sa<0)){if(Sa/=Ja,Ja<0){if(Sa>pa)return;Sa>wa&&(wa=Sa)}else if(Ja>0){if(Sa0)){if(Sa/=ti,ti<0){if(Sa0){if(Sa>pa)return;Sa>wa&&(wa=Sa)}if(Sa=dt-_r,!(!ti&&Sa<0)){if(Sa/=ti,ti<0){if(Sa>pa)return;Sa>wa&&(wa=Sa)}else if(ti>0){if(Sa0&&(yt.a={x:zt+wa*Ja,y:_r+wa*ti}),pa<1&&(yt.b={x:zt+pa*Ja,y:_r+pa*ti}),yt}}}}}}function Ws(me){for(var De=gs,et=To(me[0][0],me[0][1],me[1][0],me[1][1]),dt=De.length,yt;dt--;)yt=De[dt],(!Ll(yt,me)||!et(yt)||l(yt.a.x-yt.b.x)=Tt)return;if(Xr>pa){if(!dt)dt={x:ti,y:tr};else if(dt.y>=zt)return;et={x:ti,y:zt}}else{if(!dt)dt={x:ti,y:zt};else if(dt.y1)if(Xr>pa){if(!dt)dt={x:(tr-Xa)/za,y:tr};else if(dt.y>=zt)return;et={x:(zt-Xa)/za,y:zt}}else{if(!dt)dt={x:(zt-Xa)/za,y:zt};else if(dt.y=Tt)return;et={x:Tt,y:za*Tt+Xa}}else{if(!dt)dt={x:Tt,y:za*Tt+Xa};else if(dt.x=Xr&&Xa.x<=pa&&Xa.y>=wa&&Xa.y<=Ja?[[Xr,Ja],[pa,Ja],[pa,wa],[Xr,wa]]:[];fi.point=_r[Sa]}),Gr}function zt(_r){return _r.map(function(Gr,Xr){return{x:Math.round(dt(Gr,Xr)/Ke)*Ke,y:Math.round(yt(Gr,Xr)/Ke)*Ke,i:Xr}})}return tr.links=function(_r){return du(zt(_r)).edges.filter(function(Gr){return Gr.l&&Gr.r}).map(function(Gr){return{source:_r[Gr.l.i],target:_r[Gr.r.i]}})},tr.triangles=function(_r){var Gr=[];return du(zt(_r)).cells.forEach(function(Xr,wa){for(var pa=Xr.site,Ja=Xr.edges.sort(Hs),ti=-1,Sa=Ja.length,za,Xa,fi=Ja[Sa-1].edge,ni=fi.l===pa?fi.r:fi.l;++tini&&(ni=Xr.x),Xr.y>La&&(La=Xr.y),Ja.push(Xr.x),ti.push(Xr.y);else for(Sa=0;Sani&&(ni=sn),an>La&&(La=an),Ja.push(sn),ti.push(an)}var dn=ni-Xa,In=La-fi;dn>In?La=fi+dn:ni=Xa+In;function Jn(no,Xo,cl,al,_l,mn,po,fs){if(!(isNaN(cl)||isNaN(al)))if(no.leaf){var vs=no.x,Tl=no.y;if(vs!=null)if(l(vs-cl)+l(Tl-al)<.01)ro(no,Xo,cl,al,_l,mn,po,fs);else{var Wl=no.point;no.x=no.y=no.point=null,ro(no,Wl,vs,Tl,_l,mn,po,fs),ro(no,Xo,cl,al,_l,mn,po,fs)}else no.x=cl,no.y=al,no.point=Xo}else ro(no,Xo,cl,al,_l,mn,po,fs)}function ro(no,Xo,cl,al,_l,mn,po,fs){var vs=(_l+po)*.5,Tl=(mn+fs)*.5,Wl=cl>=vs,Su=al>=Tl,Rl=Su<<1|Wl;no.leaf=!1,no=no.nodes[Rl]||(no.nodes[Rl]=uu()),Wl?_l=vs:po=vs,Su?mn=Tl:fs=Tl,Jn(no,Xo,cl,al,_l,mn,po,fs)}var $o=uu();if($o.add=function(no){Jn($o,no,+wa(no,++Sa),+pa(no,Sa),Xa,fi,ni,La)},$o.visit=function(no){Pl(no,$o,Xa,fi,ni,La)},$o.find=function(no){return ic($o,no[0],no[1],Xa,fi,ni,La)},Sa=-1,De==null){for(;++SaTt||pa>tr||Ja=sn,In=et>=an,Jn=In<<1|dn,ro=Jn+4;Jnet&&(Tt=De.slice(et,Tt),zt[tr]?zt[tr]+=Tt:zt[++tr]=Tt),(dt=dt[0])===(yt=yt[0])?zt[tr]?zt[tr]+=yt:zt[++tr]=yt:(zt[++tr]=null,_r.push({i:tr,x:vl(dt,yt)})),et=nc.lastIndex;return et=0&&!(dt=d.interpolators[et](me,De)););return dt}d.interpolators=[function(me,De){var et=typeof De;return(et===\"string\"?vr.has(De.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(De)?Ou:Ts:De instanceof wi?Ou:Array.isArray(De)?qu:et===\"object\"&&isNaN(De)?nl:vl)(me,De)}],d.interpolateArray=qu;function qu(me,De){var et=[],dt=[],yt=me.length,Tt=De.length,tr=Math.min(me.length,De.length),zt;for(zt=0;zt=0?me.slice(0,De):me,dt=De>=0?me.slice(De+1):\"in\";return et=xh.get(et)||fl,dt=us.get(dt)||F,bh(dt(et.apply(null,_.call(arguments,1))))};function bh(me){return function(De){return De<=0?0:De>=1?1:me(De)}}function Ls(me){return function(De){return 1-me(1-De)}}function to(me){return function(De){return .5*(De<.5?me(2*De):2-me(2-2*De))}}function Xc(me){return me*me}function Vu(me){return me*me*me}function ql(me){if(me<=0)return 0;if(me>=1)return 1;var De=me*me,et=De*me;return 4*(me<.5?et:3*(me-De)+et-.75)}function Mf(me){return function(De){return Math.pow(De,me)}}function Ac(me){return 1-Math.cos(me*st)}function nf(me){return Math.pow(2,10*(me-1))}function Ql(me){return 1-Math.sqrt(1-me*me)}function Jf(me,De){var et;return arguments.length<2&&(De=.45),arguments.length?et=De/We*Math.asin(1/me):(me=1,et=De/4),function(dt){return 1+me*Math.pow(2,-10*dt)*Math.sin((dt-et)*We/De)}}function Of(me){return me||(me=1.70158),function(De){return De*De*((me+1)*De-me)}}function of(me){return me<1/2.75?7.5625*me*me:me<2/2.75?7.5625*(me-=1.5/2.75)*me+.75:me<2.5/2.75?7.5625*(me-=2.25/2.75)*me+.9375:7.5625*(me-=2.625/2.75)*me+.984375}d.interpolateHcl=jc;function jc(me,De){me=d.hcl(me),De=d.hcl(De);var et=me.h,dt=me.c,yt=me.l,Tt=De.h-et,tr=De.c-dt,zt=De.l-yt;return isNaN(tr)&&(tr=0,dt=isNaN(dt)?De.c:dt),isNaN(Tt)?(Tt=0,et=isNaN(et)?De.h:et):Tt>180?Tt-=360:Tt<-180&&(Tt+=360),function(_r){return ta(et+Tt*_r,dt+tr*_r,yt+zt*_r)+\"\"}}d.interpolateHsl=Bf;function Bf(me,De){me=d.hsl(me),De=d.hsl(De);var et=me.h,dt=me.s,yt=me.l,Tt=De.h-et,tr=De.s-dt,zt=De.l-yt;return isNaN(tr)&&(tr=0,dt=isNaN(dt)?De.s:dt),isNaN(Tt)?(Tt=0,et=isNaN(et)?De.h:et):Tt>180?Tt-=360:Tt<-180&&(Tt+=360),function(_r){return Zt(et+Tt*_r,dt+tr*_r,yt+zt*_r)+\"\"}}d.interpolateLab=Nf;function Nf(me,De){me=d.lab(me),De=d.lab(De);var et=me.l,dt=me.a,yt=me.b,Tt=De.l-et,tr=De.a-dt,zt=De.b-yt;return function(_r){return pi(et+Tt*_r,dt+tr*_r,yt+zt*_r)+\"\"}}d.interpolateRound=Gu;function Gu(me,De){return De-=me,function(et){return Math.round(me+De*et)}}d.transform=function(me){var De=E.createElementNS(d.ns.prefix.svg,\"g\");return(d.transform=function(et){if(et!=null){De.setAttribute(\"transform\",et);var dt=De.transform.baseVal.consolidate()}return new Ef(dt?dt.matrix:qc)})(me)};function Ef(me){var De=[me.a,me.b],et=[me.c,me.d],dt=Zc(De),yt=oc(De,et),Tt=Zc(eu(et,De,-yt))||0;De[0]*et[1]180?De+=360:De-me>180&&(me+=360),dt.push({i:et.push(Sc(et)+\"rotate(\",null,\")\")-2,x:vl(me,De)})):De&&et.push(Sc(et)+\"rotate(\"+De+\")\")}function fh(me,De,et,dt){me!==De?dt.push({i:et.push(Sc(et)+\"skewX(\",null,\")\")-2,x:vl(me,De)}):De&&et.push(Sc(et)+\"skewX(\"+De+\")\")}function Uf(me,De,et,dt){if(me[0]!==De[0]||me[1]!==De[1]){var yt=et.push(Sc(et)+\"scale(\",null,\",\",null,\")\");dt.push({i:yt-4,x:vl(me[0],De[0])},{i:yt-2,x:vl(me[1],De[1])})}else(De[0]!==1||De[1]!==1)&&et.push(Sc(et)+\"scale(\"+De+\")\")}function Yc(me,De){var et=[],dt=[];return me=d.transform(me),De=d.transform(De),Zs(me.translate,De.translate,et,dt),kf(me.rotate,De.rotate,et,dt),fh(me.skew,De.skew,et,dt),Uf(me.scale,De.scale,et,dt),me=De=null,function(yt){for(var Tt=-1,tr=dt.length,zt;++Tt0?Tt=La:(et.c=null,et.t=NaN,et=null,De.end({type:\"end\",alpha:Tt=0})):La>0&&(De.start({type:\"start\",alpha:Tt=La}),et=wn(me.tick)),me):Tt},me.start=function(){var La,sn=Ja.length,an=ti.length,dn=dt[0],In=dt[1],Jn,ro;for(La=0;La=0;)Tt.push(Xr=Gr[_r]),Xr.parent=zt,Xr.depth=zt.depth+1;et&&(zt.value=0),zt.children=Gr}else et&&(zt.value=+et.call(dt,zt,zt.depth)||0),delete zt.children;return mc(yt,function(wa){var pa,Ja;me&&(pa=wa.children)&&pa.sort(me),et&&(Ja=wa.parent)&&(Ja.value+=wa.value)}),tr}return dt.sort=function(yt){return arguments.length?(me=yt,dt):me},dt.children=function(yt){return arguments.length?(De=yt,dt):De},dt.value=function(yt){return arguments.length?(et=yt,dt):et},dt.revalue=function(yt){return et&&(Ec(yt,function(Tt){Tt.children&&(Tt.value=0)}),mc(yt,function(Tt){var tr;Tt.children||(Tt.value=+et.call(dt,Tt,Tt.depth)||0),(tr=Tt.parent)&&(tr.value+=Tt.value)})),yt},dt};function Bu(me,De){return d.rebind(me,De,\"sort\",\"children\",\"value\"),me.nodes=me,me.links=Nu,me}function Ec(me,De){for(var et=[me];(me=et.pop())!=null;)if(De(me),(yt=me.children)&&(dt=yt.length))for(var dt,yt;--dt>=0;)et.push(yt[dt])}function mc(me,De){for(var et=[me],dt=[];(me=et.pop())!=null;)if(dt.push(me),(tr=me.children)&&(Tt=tr.length))for(var yt=-1,Tt,tr;++ytyt&&(yt=zt),dt.push(zt)}for(tr=0;trdt&&(et=De,dt=yt);return et}function hl(me){return me.reduce(uf,0)}function uf(me,De){return me+De[1]}d.layout.histogram=function(){var me=!0,De=Number,et=gf,dt=kc;function yt(Tt,pa){for(var zt=[],_r=Tt.map(De,this),Gr=et.call(this,_r,pa),Xr=dt.call(this,Gr,_r,pa),wa,pa=-1,Ja=_r.length,ti=Xr.length-1,Sa=me?1:1/Ja,za;++pa0)for(pa=-1;++pa=Gr[0]&&za<=Gr[1]&&(wa=zt[d.bisect(Xr,za,1,ti)-1],wa.y+=Sa,wa.push(Tt[pa]));return zt}return yt.value=function(Tt){return arguments.length?(De=Tt,yt):De},yt.range=function(Tt){return arguments.length?(et=Ir(Tt),yt):et},yt.bins=function(Tt){return arguments.length?(dt=typeof Tt==\"number\"?function(tr){return Hu(tr,Tt)}:Ir(Tt),yt):dt},yt.frequency=function(Tt){return arguments.length?(me=!!Tt,yt):me},yt};function kc(me,De){return Hu(me,Math.ceil(Math.log(De.length)/Math.LN2+1))}function Hu(me,De){for(var et=-1,dt=+me[0],yt=(me[1]-dt)/De,Tt=[];++et<=De;)Tt[et]=yt*et+dt;return Tt}function gf(me){return[d.min(me),d.max(me)]}d.layout.pack=function(){var me=d.layout.hierarchy().sort(Wu),De=0,et=[1,1],dt;function yt(Tt,tr){var zt=me.call(this,Tt,tr),_r=zt[0],Gr=et[0],Xr=et[1],wa=dt==null?Math.sqrt:typeof dt==\"function\"?dt:function(){return dt};if(_r.x=_r.y=0,mc(_r,function(Ja){Ja.r=+wa(Ja.value)}),mc(_r,Vf),De){var pa=De*(dt?1:Math.max(2*_r.r/Gr,2*_r.r/Xr))/2;mc(_r,function(Ja){Ja.r+=pa}),mc(_r,Vf),mc(_r,function(Ja){Ja.r-=pa})}return gc(_r,Gr/2,Xr/2,dt?1:1/Math.max(2*_r.r/Gr,2*_r.r/Xr)),zt}return yt.size=function(Tt){return arguments.length?(et=Tt,yt):et},yt.radius=function(Tt){return arguments.length?(dt=Tt==null||typeof Tt==\"function\"?Tt:+Tt,yt):dt},yt.padding=function(Tt){return arguments.length?(De=+Tt,yt):De},Bu(yt,me)};function Wu(me,De){return me.value-De.value}function Jc(me,De){var et=me._pack_next;me._pack_next=De,De._pack_prev=me,De._pack_next=et,et._pack_prev=De}function Lf(me,De){me._pack_next=De,De._pack_prev=me}function nu(me,De){var et=De.x-me.x,dt=De.y-me.y,yt=me.r+De.r;return .999*yt*yt>et*et+dt*dt}function Vf(me){if(!(De=me.children)||!(pa=De.length))return;var De,et=1/0,dt=-1/0,yt=1/0,Tt=-1/0,tr,zt,_r,Gr,Xr,wa,pa;function Ja(La){et=Math.min(La.x-La.r,et),dt=Math.max(La.x+La.r,dt),yt=Math.min(La.y-La.r,yt),Tt=Math.max(La.y+La.r,Tt)}if(De.forEach(Xu),tr=De[0],tr.x=-tr.r,tr.y=0,Ja(tr),pa>1&&(zt=De[1],zt.x=zt.r,zt.y=0,Ja(zt),pa>2))for(_r=De[2],Vl(tr,zt,_r),Ja(_r),Jc(tr,_r),tr._pack_prev=_r,Jc(_r,zt),zt=tr._pack_next,Gr=3;Grza.x&&(za=sn),sn.depth>Xa.depth&&(Xa=sn)});var fi=De(Sa,za)/2-Sa.x,ni=et[0]/(za.x+De(za,Sa)/2+fi),La=et[1]/(Xa.depth||1);Ec(Ja,function(sn){sn.x=(sn.x+fi)*ni,sn.y=sn.depth*La})}return pa}function Tt(Xr){for(var wa={A:null,children:[Xr]},pa=[wa],Ja;(Ja=pa.pop())!=null;)for(var ti=Ja.children,Sa,za=0,Xa=ti.length;za0&&(sc(Qt(Sa,Xr,pa),Xr,sn),Xa+=sn,fi+=sn),ni+=Sa.m,Xa+=Ja.m,La+=za.m,fi+=ti.m;Sa&&!$c(ti)&&(ti.t=Sa,ti.m+=ni-fi),Ja&&!Lc(za)&&(za.t=Ja,za.m+=Xa-La,pa=Xr)}return pa}function Gr(Xr){Xr.x*=et[0],Xr.y=Xr.depth*et[1]}return yt.separation=function(Xr){return arguments.length?(De=Xr,yt):De},yt.size=function(Xr){return arguments.length?(dt=(et=Xr)==null?Gr:null,yt):dt?null:et},yt.nodeSize=function(Xr){return arguments.length?(dt=(et=Xr)==null?null:Gr,yt):dt?et:null},Bu(yt,me)};function xu(me,De){return me.parent==De.parent?1:2}function Lc(me){var De=me.children;return De.length?De[0]:me.t}function $c(me){var De=me.children,et;return(et=De.length)?De[et-1]:me.t}function sc(me,De,et){var dt=et/(De.i-me.i);De.c-=dt,De.s+=et,me.c+=dt,De.z+=et,De.m+=et}function Pc(me){for(var De=0,et=0,dt=me.children,yt=dt.length,Tt;--yt>=0;)Tt=dt[yt],Tt.z+=De,Tt.m+=De,De+=Tt.s+(et+=Tt.c)}function Qt(me,De,et){return me.a.parent===De.parent?me.a:et}d.layout.cluster=function(){var me=d.layout.hierarchy().sort(null).value(null),De=xu,et=[1,1],dt=!1;function yt(Tt,tr){var zt=me.call(this,Tt,tr),_r=zt[0],Gr,Xr=0;mc(_r,function(Sa){var za=Sa.children;za&&za.length?(Sa.x=aa(za),Sa.y=xr(za)):(Sa.x=Gr?Xr+=De(Sa,Gr):0,Sa.y=0,Gr=Sa)});var wa=$r(_r),pa=ka(_r),Ja=wa.x-De(wa,pa)/2,ti=pa.x+De(pa,wa)/2;return mc(_r,dt?function(Sa){Sa.x=(Sa.x-_r.x)*et[0],Sa.y=(_r.y-Sa.y)*et[1]}:function(Sa){Sa.x=(Sa.x-Ja)/(ti-Ja)*et[0],Sa.y=(1-(_r.y?Sa.y/_r.y:1))*et[1]}),zt}return yt.separation=function(Tt){return arguments.length?(De=Tt,yt):De},yt.size=function(Tt){return arguments.length?(dt=(et=Tt)==null,yt):dt?null:et},yt.nodeSize=function(Tt){return arguments.length?(dt=(et=Tt)!=null,yt):dt?et:null},Bu(yt,me)};function xr(me){return 1+d.max(me,function(De){return De.y})}function aa(me){return me.reduce(function(De,et){return De+et.x},0)/me.length}function $r(me){var De=me.children;return De&&De.length?$r(De[0]):me}function ka(me){var De=me.children,et;return De&&(et=De.length)?ka(De[et-1]):me}d.layout.treemap=function(){var me=d.layout.hierarchy(),De=Math.round,et=[1,1],dt=null,yt=li,Tt=!1,tr,zt=\"squarify\",_r=.5*(1+Math.sqrt(5));function Gr(Sa,za){for(var Xa=-1,fi=Sa.length,ni,La;++Xa0;)fi.push(La=ni[In-1]),fi.area+=La.area,zt!==\"squarify\"||(an=pa(fi,dn))<=sn?(ni.pop(),sn=an):(fi.area-=fi.pop().area,Ja(fi,dn,Xa,!1),dn=Math.min(Xa.dx,Xa.dy),fi.length=fi.area=0,sn=1/0);fi.length&&(Ja(fi,dn,Xa,!0),fi.length=fi.area=0),za.forEach(Xr)}}function wa(Sa){var za=Sa.children;if(za&&za.length){var Xa=yt(Sa),fi=za.slice(),ni,La=[];for(Gr(fi,Xa.dx*Xa.dy/Sa.value),La.area=0;ni=fi.pop();)La.push(ni),La.area+=ni.area,ni.z!=null&&(Ja(La,ni.z?Xa.dx:Xa.dy,Xa,!fi.length),La.length=La.area=0);za.forEach(wa)}}function pa(Sa,za){for(var Xa=Sa.area,fi,ni=0,La=1/0,sn=-1,an=Sa.length;++snni&&(ni=fi));return Xa*=Xa,za*=za,Xa?Math.max(za*ni*_r/Xa,Xa/(za*La*_r)):1/0}function Ja(Sa,za,Xa,fi){var ni=-1,La=Sa.length,sn=Xa.x,an=Xa.y,dn=za?De(Sa.area/za):0,In;if(za==Xa.dx){for((fi||dn>Xa.dy)&&(dn=Xa.dy);++niXa.dx)&&(dn=Xa.dx);++ni1);return me+De*dt*Math.sqrt(-2*Math.log(Tt)/Tt)}},logNormal:function(){var me=d.random.normal.apply(d,arguments);return function(){return Math.exp(me())}},bates:function(me){var De=d.random.irwinHall(me);return function(){return De()/me}},irwinHall:function(me){return function(){for(var De=0,et=0;et2?mi:pn,Gr=dt?Cu:$f;return yt=_r(me,De,Gr,et),Tt=_r(De,me,Gr,jl),zt}function zt(_r){return yt(_r)}return zt.invert=function(_r){return Tt(_r)},zt.domain=function(_r){return arguments.length?(me=_r.map(Number),tr()):me},zt.range=function(_r){return arguments.length?(De=_r,tr()):De},zt.rangeRound=function(_r){return zt.range(_r).interpolate(Gu)},zt.clamp=function(_r){return arguments.length?(dt=_r,tr()):dt},zt.interpolate=function(_r){return arguments.length?(et=_r,tr()):et},zt.ticks=function(_r){return co(me,_r)},zt.tickFormat=function(_r,Gr){return d3_scale_linearTickFormat(me,_r,Gr)},zt.nice=function(_r){return io(me,_r),tr()},zt.copy=function(){return Sn(me,De,et,dt)},tr()}function Qn(me,De){return d.rebind(me,De,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function io(me,De){return Pi(me,Di(eo(me,De)[2])),Pi(me,Di(eo(me,De)[2])),me}function eo(me,De){De==null&&(De=10);var et=Hi(me),dt=et[1]-et[0],yt=Math.pow(10,Math.floor(Math.log(dt/De)/Math.LN10)),Tt=De/dt*yt;return Tt<=.15?yt*=10:Tt<=.35?yt*=5:Tt<=.75&&(yt*=2),et[0]=Math.ceil(et[0]/yt)*yt,et[1]=Math.floor(et[1]/yt)*yt+yt*.5,et[2]=yt,et}function co(me,De){return d.range.apply(d,eo(me,De))}var Tn={s:1,g:1,p:1,r:1,e:1};function un(me){return-Math.floor(Math.log(me)/Math.LN10+.01)}function yo(me,De){var et=un(De[2]);return me in Tn?Math.abs(et-un(Math.max(l(De[0]),l(De[1]))))+ +(me!==\"e\"):et-(me===\"%\")*2}d.scale.log=function(){return Qo(d.scale.linear().domain([0,1]),10,!0,[1,10])};function Qo(me,De,et,dt){function yt(zt){return(et?Math.log(zt<0?0:zt):-Math.log(zt>0?0:-zt))/Math.log(De)}function Tt(zt){return et?Math.pow(De,zt):-Math.pow(De,-zt)}function tr(zt){return me(yt(zt))}return tr.invert=function(zt){return Tt(me.invert(zt))},tr.domain=function(zt){return arguments.length?(et=zt[0]>=0,me.domain((dt=zt.map(Number)).map(yt)),tr):dt},tr.base=function(zt){return arguments.length?(De=+zt,me.domain(dt.map(yt)),tr):De},tr.nice=function(){var zt=Pi(dt.map(yt),et?Math:Es);return me.domain(zt),dt=zt.map(Tt),tr},tr.ticks=function(){var zt=Hi(dt),_r=[],Gr=zt[0],Xr=zt[1],wa=Math.floor(yt(Gr)),pa=Math.ceil(yt(Xr)),Ja=De%1?2:De;if(isFinite(pa-wa)){if(et){for(;wa0;ti--)_r.push(Tt(wa)*ti);for(wa=0;_r[wa]Xr;pa--);_r=_r.slice(wa,pa)}return _r},tr.copy=function(){return Qo(me.copy(),De,et,dt)},Qn(tr,me)}var Es={floor:function(me){return-Math.ceil(-me)},ceil:function(me){return-Math.floor(-me)}};d.scale.pow=function(){return rl(d.scale.linear(),1,[0,1])};function rl(me,De,et){var dt=Ns(De),yt=Ns(1/De);function Tt(tr){return me(dt(tr))}return Tt.invert=function(tr){return yt(me.invert(tr))},Tt.domain=function(tr){return arguments.length?(me.domain((et=tr.map(Number)).map(dt)),Tt):et},Tt.ticks=function(tr){return co(et,tr)},Tt.tickFormat=function(tr,zt){return d3_scale_linearTickFormat(et,tr,zt)},Tt.nice=function(tr){return Tt.domain(io(et,tr))},Tt.exponent=function(tr){return arguments.length?(dt=Ns(De=tr),yt=Ns(1/De),me.domain(et.map(dt)),Tt):De},Tt.copy=function(){return rl(me.copy(),De,et)},Qn(Tt,me)}function Ns(me){return function(De){return De<0?-Math.pow(-De,me):Math.pow(De,me)}}d.scale.sqrt=function(){return d.scale.pow().exponent(.5)},d.scale.ordinal=function(){return el([],{t:\"range\",a:[[]]})};function el(me,De){var et,dt,yt;function Tt(zt){return dt[((et.get(zt)||(De.t===\"range\"?et.set(zt,me.push(zt)):NaN))-1)%dt.length]}function tr(zt,_r){return d.range(me.length).map(function(Gr){return zt+_r*Gr})}return Tt.domain=function(zt){if(!arguments.length)return me;me=[],et=new S;for(var _r=-1,Gr=zt.length,Xr;++_r0?et[Tt-1]:me[0],Ttpa?0:1;if(Xr=Je)return _r(Xr,ti)+(Gr?_r(Gr,1-ti):\"\")+\"Z\";var Sa,za,Xa,fi,ni=0,La=0,sn,an,dn,In,Jn,ro,$o,no,Xo=[];if((fi=(+tr.apply(this,arguments)||0)/2)&&(Xa=dt===Iu?Math.sqrt(Gr*Gr+Xr*Xr):+dt.apply(this,arguments),ti||(La*=-1),Xr&&(La=cr(Xa/Xr*Math.sin(fi))),Gr&&(ni=cr(Xa/Gr*Math.sin(fi)))),Xr){sn=Xr*Math.cos(wa+La),an=Xr*Math.sin(wa+La),dn=Xr*Math.cos(pa-La),In=Xr*Math.sin(pa-La);var cl=Math.abs(pa-wa-2*La)<=Le?0:1;if(La&&yc(sn,an,dn,In)===ti^cl){var al=(wa+pa)/2;sn=Xr*Math.cos(al),an=Xr*Math.sin(al),dn=In=null}}else sn=an=0;if(Gr){Jn=Gr*Math.cos(pa-ni),ro=Gr*Math.sin(pa-ni),$o=Gr*Math.cos(wa+ni),no=Gr*Math.sin(wa+ni);var _l=Math.abs(wa-pa+2*ni)<=Le?0:1;if(ni&&yc(Jn,ro,$o,no)===1-ti^_l){var mn=(wa+pa)/2;Jn=Gr*Math.cos(mn),ro=Gr*Math.sin(mn),$o=no=null}}else Jn=ro=0;if(Ja>Ke&&(Sa=Math.min(Math.abs(Xr-Gr)/2,+et.apply(this,arguments)))>.001){za=Gr0?0:1}function fo(me,De,et,dt,yt){var Tt=me[0]-De[0],tr=me[1]-De[1],zt=(yt?dt:-dt)/Math.sqrt(Tt*Tt+tr*tr),_r=zt*tr,Gr=-zt*Tt,Xr=me[0]+_r,wa=me[1]+Gr,pa=De[0]+_r,Ja=De[1]+Gr,ti=(Xr+pa)/2,Sa=(wa+Ja)/2,za=pa-Xr,Xa=Ja-wa,fi=za*za+Xa*Xa,ni=et-dt,La=Xr*Ja-pa*wa,sn=(Xa<0?-1:1)*Math.sqrt(Math.max(0,ni*ni*fi-La*La)),an=(La*Xa-za*sn)/fi,dn=(-La*za-Xa*sn)/fi,In=(La*Xa+za*sn)/fi,Jn=(-La*za+Xa*sn)/fi,ro=an-ti,$o=dn-Sa,no=In-ti,Xo=Jn-Sa;return ro*ro+$o*$o>no*no+Xo*Xo&&(an=In,dn=Jn),[[an-_r,dn-Gr],[an*et/ni,dn*et/ni]]}function Fo(){return!0}function Dc(me){var De=Co,et=bo,dt=Fo,yt=Yu,Tt=yt.key,tr=.7;function zt(_r){var Gr=[],Xr=[],wa=-1,pa=_r.length,Ja,ti=Ir(De),Sa=Ir(et);function za(){Gr.push(\"M\",yt(me(Xr),tr))}for(;++wa1?me.join(\"L\"):me+\"Z\"}function Fe(me){return me.join(\"L\")+\"Z\"}function I(me){for(var De=0,et=me.length,dt=me[0],yt=[dt[0],\",\",dt[1]];++De1&&yt.push(\"H\",dt[0]),yt.join(\"\")}function ie(me){for(var De=0,et=me.length,dt=me[0],yt=[dt[0],\",\",dt[1]];++De1){zt=De[1],Tt=me[_r],_r++,dt+=\"C\"+(yt[0]+tr[0])+\",\"+(yt[1]+tr[1])+\",\"+(Tt[0]-zt[0])+\",\"+(Tt[1]-zt[1])+\",\"+Tt[0]+\",\"+Tt[1];for(var Gr=2;Gr9&&(Tt=et*3/Math.sqrt(Tt),tr[zt]=Tt*dt,tr[zt+1]=Tt*yt));for(zt=-1;++zt<=_r;)Tt=(me[Math.min(_r,zt+1)][0]-me[Math.max(0,zt-1)][0])/(6*(1+tr[zt]*tr[zt])),De.push([Tt||0,tr[zt]*Tt||0]);return De}function ur(me){return me.length<3?Yu(me):me[0]+wt(me,Dt(me))}d.svg.line.radial=function(){var me=Dc(yr);return me.radius=me.x,delete me.x,me.angle=me.y,delete me.y,me};function yr(me){for(var De,et=-1,dt=me.length,yt,Tt;++etLe)+\",1 \"+wa}function Gr(Xr,wa,pa,Ja){return\"Q 0,0 \"+Ja}return Tt.radius=function(Xr){return arguments.length?(et=Ir(Xr),Tt):et},Tt.source=function(Xr){return arguments.length?(me=Ir(Xr),Tt):me},Tt.target=function(Xr){return arguments.length?(De=Ir(Xr),Tt):De},Tt.startAngle=function(Xr){return arguments.length?(dt=Ir(Xr),Tt):dt},Tt.endAngle=function(Xr){return arguments.length?(yt=Ir(Xr),Tt):yt},Tt};function ha(me){return me.radius}d.svg.diagonal=function(){var me=jr,De=Qr,et=Aa;function dt(yt,Tt){var tr=me.call(this,yt,Tt),zt=De.call(this,yt,Tt),_r=(tr.y+zt.y)/2,Gr=[tr,{x:tr.x,y:_r},{x:zt.x,y:_r},zt];return Gr=Gr.map(et),\"M\"+Gr[0]+\"C\"+Gr[1]+\" \"+Gr[2]+\" \"+Gr[3]}return dt.source=function(yt){return arguments.length?(me=Ir(yt),dt):me},dt.target=function(yt){return arguments.length?(De=Ir(yt),dt):De},dt.projection=function(yt){return arguments.length?(et=yt,dt):et},dt};function Aa(me){return[me.x,me.y]}d.svg.diagonal.radial=function(){var me=d.svg.diagonal(),De=Aa,et=me.projection;return me.projection=function(dt){return arguments.length?et(Da(De=dt)):De},me};function Da(me){return function(){var De=me.apply(this,arguments),et=De[0],dt=De[1]-st;return[et*Math.cos(dt),et*Math.sin(dt)]}}d.svg.symbol=function(){var me=Vi,De=ci;function et(dt,yt){return(on.get(me.call(this,dt,yt))||ji)(De.call(this,dt,yt))}return et.type=function(dt){return arguments.length?(me=Ir(dt),et):me},et.size=function(dt){return arguments.length?(De=Ir(dt),et):De},et};function ci(){return 64}function Vi(){return\"circle\"}function ji(me){var De=Math.sqrt(me/Le);return\"M0,\"+De+\"A\"+De+\",\"+De+\" 0 1,1 0,\"+-De+\"A\"+De+\",\"+De+\" 0 1,1 0,\"+De+\"Z\"}var on=d.map({circle:ji,cross:function(me){var De=Math.sqrt(me/5)/2;return\"M\"+-3*De+\",\"+-De+\"H\"+-De+\"V\"+-3*De+\"H\"+De+\"V\"+-De+\"H\"+3*De+\"V\"+De+\"H\"+De+\"V\"+3*De+\"H\"+-De+\"V\"+De+\"H\"+-3*De+\"Z\"},diamond:function(me){var De=Math.sqrt(me/(2*Yn)),et=De*Yn;return\"M0,\"+-De+\"L\"+et+\",0 0,\"+De+\" \"+-et+\",0Z\"},square:function(me){var De=Math.sqrt(me)/2;return\"M\"+-De+\",\"+-De+\"L\"+De+\",\"+-De+\" \"+De+\",\"+De+\" \"+-De+\",\"+De+\"Z\"},\"triangle-down\":function(me){var De=Math.sqrt(me/An),et=De*An/2;return\"M0,\"+et+\"L\"+De+\",\"+-et+\" \"+-De+\",\"+-et+\"Z\"},\"triangle-up\":function(me){var De=Math.sqrt(me/An),et=De*An/2;return\"M0,\"+-et+\"L\"+De+\",\"+et+\" \"+-De+\",\"+et+\"Z\"}});d.svg.symbolTypes=on.keys();var An=Math.sqrt(3),Yn=Math.tan(30*ot);ae.transition=function(me){for(var De=ps||++Yo,et=ts(me),dt=[],yt,Tt,tr=ul||{time:Date.now(),ease:ql,delay:0,duration:250},zt=-1,_r=this.length;++zt<_r;){dt.push(yt=[]);for(var Gr=this[zt],Xr=-1,wa=Gr.length;++Xr0;)wa[--fi].call(me,Xa);if(za>=1)return tr.event&&tr.event.end.call(me,me.__data__,De),--Tt.count?delete Tt[dt]:delete me[et],1}tr||(zt=yt.time,_r=wn(pa,0,zt),tr=Tt[dt]={tween:new S,time:zt,timer:_r,delay:yt.delay,duration:yt.duration,ease:yt.ease,index:De},yt=null,++Tt.count)}d.svg.axis=function(){var me=d.scale.linear(),De=tu,et=6,dt=6,yt=3,Tt=[10],tr=null,zt;function _r(Gr){Gr.each(function(){var Xr=d.select(this),wa=this.__chart__||me,pa=this.__chart__=me.copy(),Ja=tr??(pa.ticks?pa.ticks.apply(pa,Tt):pa.domain()),ti=zt??(pa.tickFormat?pa.tickFormat.apply(pa,Tt):F),Sa=Xr.selectAll(\".tick\").data(Ja,pa),za=Sa.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ke),Xa=d.transition(Sa.exit()).style(\"opacity\",Ke).remove(),fi=d.transition(Sa.order()).style(\"opacity\",1),ni=Math.max(et,0)+yt,La,sn=Qi(pa),an=Xr.selectAll(\".domain\").data([0]),dn=(an.enter().append(\"path\").attr(\"class\",\"domain\"),d.transition(an));za.append(\"line\"),za.append(\"text\");var In=za.select(\"line\"),Jn=fi.select(\"line\"),ro=Sa.select(\"text\").text(ti),$o=za.select(\"text\"),no=fi.select(\"text\"),Xo=De===\"top\"||De===\"left\"?-1:1,cl,al,_l,mn;if(De===\"bottom\"||De===\"top\"?(La=vu,cl=\"x\",_l=\"y\",al=\"x2\",mn=\"y2\",ro.attr(\"dy\",Xo<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),dn.attr(\"d\",\"M\"+sn[0]+\",\"+Xo*dt+\"V0H\"+sn[1]+\"V\"+Xo*dt)):(La=wl,cl=\"y\",_l=\"x\",al=\"y2\",mn=\"x2\",ro.attr(\"dy\",\".32em\").style(\"text-anchor\",Xo<0?\"end\":\"start\"),dn.attr(\"d\",\"M\"+Xo*dt+\",\"+sn[0]+\"H0V\"+sn[1]+\"H\"+Xo*dt)),In.attr(mn,Xo*et),$o.attr(_l,Xo*ni),Jn.attr(al,0).attr(mn,Xo*et),no.attr(cl,0).attr(_l,Xo*ni),pa.rangeBand){var po=pa,fs=po.rangeBand()/2;wa=pa=function(vs){return po(vs)+fs}}else wa.rangeBand?wa=pa:Xa.call(La,pa,wa);za.call(La,wa,pa),fi.call(La,pa,pa)})}return _r.scale=function(Gr){return arguments.length?(me=Gr,_r):me},_r.orient=function(Gr){return arguments.length?(De=Gr in Ru?Gr+\"\":tu,_r):De},_r.ticks=function(){return arguments.length?(Tt=A(arguments),_r):Tt},_r.tickValues=function(Gr){return arguments.length?(tr=Gr,_r):tr},_r.tickFormat=function(Gr){return arguments.length?(zt=Gr,_r):zt},_r.tickSize=function(Gr){var Xr=arguments.length;return Xr?(et=+Gr,dt=+arguments[Xr-1],_r):et},_r.innerTickSize=function(Gr){return arguments.length?(et=+Gr,_r):et},_r.outerTickSize=function(Gr){return arguments.length?(dt=+Gr,_r):dt},_r.tickPadding=function(Gr){return arguments.length?(yt=+Gr,_r):yt},_r.tickSubdivide=function(){return arguments.length&&_r},_r};var tu=\"bottom\",Ru={top:1,right:1,bottom:1,left:1};function vu(me,De,et){me.attr(\"transform\",function(dt){var yt=De(dt);return\"translate(\"+(isFinite(yt)?yt:et(dt))+\",0)\"})}function wl(me,De,et){me.attr(\"transform\",function(dt){var yt=De(dt);return\"translate(0,\"+(isFinite(yt)?yt:et(dt))+\")\"})}d.svg.brush=function(){var me=ce(Xr,\"brushstart\",\"brush\",\"brushend\"),De=null,et=null,dt=[0,0],yt=[0,0],Tt,tr,zt=!0,_r=!0,Gr=uc[0];function Xr(Sa){Sa.each(function(){var za=d.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ti).on(\"touchstart.brush\",ti),Xa=za.selectAll(\".background\").data([0]);Xa.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),za.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var fi=za.selectAll(\".resize\").data(Gr,F);fi.exit().remove(),fi.enter().append(\"g\").attr(\"class\",function(an){return\"resize \"+an}).style(\"cursor\",function(an){return fu[an]}).append(\"rect\").attr(\"x\",function(an){return/[ew]$/.test(an)?-3:null}).attr(\"y\",function(an){return/^[ns]/.test(an)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),fi.style(\"display\",Xr.empty()?\"none\":null);var ni=d.transition(za),La=d.transition(Xa),sn;De&&(sn=Qi(De),La.attr(\"x\",sn[0]).attr(\"width\",sn[1]-sn[0]),pa(ni)),et&&(sn=Qi(et),La.attr(\"y\",sn[0]).attr(\"height\",sn[1]-sn[0]),Ja(ni)),wa(ni)})}Xr.event=function(Sa){Sa.each(function(){var za=me.of(this,arguments),Xa={x:dt,y:yt,i:Tt,j:tr},fi=this.__chart__||Xa;this.__chart__=Xa,ps?d.select(this).transition().each(\"start.brush\",function(){Tt=fi.i,tr=fi.j,dt=fi.x,yt=fi.y,za({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ni=qu(dt,Xa.x),La=qu(yt,Xa.y);return Tt=tr=null,function(sn){dt=Xa.x=ni(sn),yt=Xa.y=La(sn),za({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){Tt=Xa.i,tr=Xa.j,za({type:\"brush\",mode:\"resize\"}),za({type:\"brushend\"})}):(za({type:\"brushstart\"}),za({type:\"brush\",mode:\"resize\"}),za({type:\"brushend\"}))})};function wa(Sa){Sa.selectAll(\".resize\").attr(\"transform\",function(za){return\"translate(\"+dt[+/e$/.test(za)]+\",\"+yt[+/^s/.test(za)]+\")\"})}function pa(Sa){Sa.select(\".extent\").attr(\"x\",dt[0]),Sa.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",dt[1]-dt[0])}function Ja(Sa){Sa.select(\".extent\").attr(\"y\",yt[0]),Sa.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",yt[1]-yt[0])}function ti(){var Sa=this,za=d.select(d.event.target),Xa=me.of(Sa,arguments),fi=d.select(Sa),ni=za.datum(),La=!/^(n|s)$/.test(ni)&&De,sn=!/^(e|w)$/.test(ni)&&et,an=za.classed(\"extent\"),dn=Er(Sa),In,Jn=d.mouse(Sa),ro,$o=d.select(t(Sa)).on(\"keydown.brush\",cl).on(\"keyup.brush\",al);if(d.event.changedTouches?$o.on(\"touchmove.brush\",_l).on(\"touchend.brush\",po):$o.on(\"mousemove.brush\",_l).on(\"mouseup.brush\",po),fi.interrupt().selectAll(\"*\").interrupt(),an)Jn[0]=dt[0]-Jn[0],Jn[1]=yt[0]-Jn[1];else if(ni){var no=+/w$/.test(ni),Xo=+/^n/.test(ni);ro=[dt[1-no]-Jn[0],yt[1-Xo]-Jn[1]],Jn[0]=dt[no],Jn[1]=yt[Xo]}else d.event.altKey&&(In=Jn.slice());fi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),d.select(\"body\").style(\"cursor\",za.style(\"cursor\")),Xa({type:\"brushstart\"}),_l();function cl(){d.event.keyCode==32&&(an||(In=null,Jn[0]-=dt[1],Jn[1]-=yt[1],an=2),$())}function al(){d.event.keyCode==32&&an==2&&(Jn[0]+=dt[1],Jn[1]+=yt[1],an=0,$())}function _l(){var fs=d.mouse(Sa),vs=!1;ro&&(fs[0]+=ro[0],fs[1]+=ro[1]),an||(d.event.altKey?(In||(In=[(dt[0]+dt[1])/2,(yt[0]+yt[1])/2]),Jn[0]=dt[+(fs[0]0))return Gt;do Gt.push(Tr=new Date(+St)),Ce(St,qt),ne(St);while(Tr=kt)for(;ne(kt),!St(kt);)kt.setTime(kt-1)},function(kt,qt){if(kt>=kt)if(qt<0)for(;++qt<=0;)for(;Ce(kt,-1),!St(kt););else for(;--qt>=0;)for(;Ce(kt,1),!St(kt););})},Ze&&(Ye.count=function(St,kt){return _.setTime(+St),A.setTime(+kt),ne(_),ne(A),Math.floor(Ze(_,A))},Ye.every=function(St){return St=Math.floor(St),!isFinite(St)||!(St>0)?null:St>1?Ye.filter(rt?function(kt){return rt(kt)%St===0}:function(kt){return Ye.count(0,kt)%St===0}):Ye}),Ye}var e=E(function(){},function(ne,Ce){ne.setTime(+ne+Ce)},function(ne,Ce){return Ce-ne});e.every=function(ne){return ne=Math.floor(ne),!isFinite(ne)||!(ne>0)?null:ne>1?E(function(Ce){Ce.setTime(Math.floor(Ce/ne)*ne)},function(Ce,Ze){Ce.setTime(+Ce+Ze*ne)},function(Ce,Ze){return(Ze-Ce)/ne}):e};var t=e.range,r=1e3,o=6e4,a=36e5,n=864e5,i=6048e5,s=E(function(ne){ne.setTime(ne-ne.getMilliseconds())},function(ne,Ce){ne.setTime(+ne+Ce*r)},function(ne,Ce){return(Ce-ne)/r},function(ne){return ne.getUTCSeconds()}),h=s.range,f=E(function(ne){ne.setTime(ne-ne.getMilliseconds()-ne.getSeconds()*r)},function(ne,Ce){ne.setTime(+ne+Ce*o)},function(ne,Ce){return(Ce-ne)/o},function(ne){return ne.getMinutes()}),v=f.range,c=E(function(ne){ne.setTime(ne-ne.getMilliseconds()-ne.getSeconds()*r-ne.getMinutes()*o)},function(ne,Ce){ne.setTime(+ne+Ce*a)},function(ne,Ce){return(Ce-ne)/a},function(ne){return ne.getHours()}),T=c.range,l=E(function(ne){ne.setHours(0,0,0,0)},function(ne,Ce){ne.setDate(ne.getDate()+Ce)},function(ne,Ce){return(Ce-ne-(Ce.getTimezoneOffset()-ne.getTimezoneOffset())*o)/n},function(ne){return ne.getDate()-1}),x=l.range;function w(ne){return E(function(Ce){Ce.setDate(Ce.getDate()-(Ce.getDay()+7-ne)%7),Ce.setHours(0,0,0,0)},function(Ce,Ze){Ce.setDate(Ce.getDate()+Ze*7)},function(Ce,Ze){return(Ze-Ce-(Ze.getTimezoneOffset()-Ce.getTimezoneOffset())*o)/i})}var S=w(0),M=w(1),m=w(2),b=w(3),p=w(4),u=w(5),g=w(6),y=S.range,D=M.range,L=m.range,z=b.range,F=p.range,B=u.range,O=g.range,P=E(function(ne){ne.setDate(1),ne.setHours(0,0,0,0)},function(ne,Ce){ne.setMonth(ne.getMonth()+Ce)},function(ne,Ce){return Ce.getMonth()-ne.getMonth()+(Ce.getFullYear()-ne.getFullYear())*12},function(ne){return ne.getMonth()}),U=P.range,N=E(function(ne){ne.setMonth(0,1),ne.setHours(0,0,0,0)},function(ne,Ce){ne.setFullYear(ne.getFullYear()+Ce)},function(ne,Ce){return Ce.getFullYear()-ne.getFullYear()},function(ne){return ne.getFullYear()});N.every=function(ne){return!isFinite(ne=Math.floor(ne))||!(ne>0)?null:E(function(Ce){Ce.setFullYear(Math.floor(Ce.getFullYear()/ne)*ne),Ce.setMonth(0,1),Ce.setHours(0,0,0,0)},function(Ce,Ze){Ce.setFullYear(Ce.getFullYear()+Ze*ne)})};var X=N.range,$=E(function(ne){ne.setUTCSeconds(0,0)},function(ne,Ce){ne.setTime(+ne+Ce*o)},function(ne,Ce){return(Ce-ne)/o},function(ne){return ne.getUTCMinutes()}),ue=$.range,ce=E(function(ne){ne.setUTCMinutes(0,0,0)},function(ne,Ce){ne.setTime(+ne+Ce*a)},function(ne,Ce){return(Ce-ne)/a},function(ne){return ne.getUTCHours()}),de=ce.range,V=E(function(ne){ne.setUTCHours(0,0,0,0)},function(ne,Ce){ne.setUTCDate(ne.getUTCDate()+Ce)},function(ne,Ce){return(Ce-ne)/n},function(ne){return ne.getUTCDate()-1}),Y=V.range;function ee(ne){return E(function(Ce){Ce.setUTCDate(Ce.getUTCDate()-(Ce.getUTCDay()+7-ne)%7),Ce.setUTCHours(0,0,0,0)},function(Ce,Ze){Ce.setUTCDate(Ce.getUTCDate()+Ze*7)},function(Ce,Ze){return(Ze-Ce)/i})}var q=ee(0),se=ee(1),ae=ee(2),j=ee(3),Q=ee(4),re=ee(5),pe=ee(6),we=q.range,Se=se.range,Ie=ae.range,Re=j.range,He=Q.range,at=re.range,nt=pe.range,tt=E(function(ne){ne.setUTCDate(1),ne.setUTCHours(0,0,0,0)},function(ne,Ce){ne.setUTCMonth(ne.getUTCMonth()+Ce)},function(ne,Ce){return Ce.getUTCMonth()-ne.getUTCMonth()+(Ce.getUTCFullYear()-ne.getUTCFullYear())*12},function(ne){return ne.getUTCMonth()}),Ue=tt.range,he=E(function(ne){ne.setUTCMonth(0,1),ne.setUTCHours(0,0,0,0)},function(ne,Ce){ne.setUTCFullYear(ne.getUTCFullYear()+Ce)},function(ne,Ce){return Ce.getUTCFullYear()-ne.getUTCFullYear()},function(ne){return ne.getUTCFullYear()});he.every=function(ne){return!isFinite(ne=Math.floor(ne))||!(ne>0)?null:E(function(Ce){Ce.setUTCFullYear(Math.floor(Ce.getUTCFullYear()/ne)*ne),Ce.setUTCMonth(0,1),Ce.setUTCHours(0,0,0,0)},function(Ce,Ze){Ce.setUTCFullYear(Ce.getUTCFullYear()+Ze*ne)})};var le=he.range;d.timeDay=l,d.timeDays=x,d.timeFriday=u,d.timeFridays=B,d.timeHour=c,d.timeHours=T,d.timeInterval=E,d.timeMillisecond=e,d.timeMilliseconds=t,d.timeMinute=f,d.timeMinutes=v,d.timeMonday=M,d.timeMondays=D,d.timeMonth=P,d.timeMonths=U,d.timeSaturday=g,d.timeSaturdays=O,d.timeSecond=s,d.timeSeconds=h,d.timeSunday=S,d.timeSundays=y,d.timeThursday=p,d.timeThursdays=F,d.timeTuesday=m,d.timeTuesdays=L,d.timeWednesday=b,d.timeWednesdays=z,d.timeWeek=S,d.timeWeeks=y,d.timeYear=N,d.timeYears=X,d.utcDay=V,d.utcDays=Y,d.utcFriday=re,d.utcFridays=at,d.utcHour=ce,d.utcHours=de,d.utcMillisecond=e,d.utcMilliseconds=t,d.utcMinute=$,d.utcMinutes=ue,d.utcMonday=se,d.utcMondays=Se,d.utcMonth=tt,d.utcMonths=Ue,d.utcSaturday=pe,d.utcSaturdays=nt,d.utcSecond=s,d.utcSeconds=h,d.utcSunday=q,d.utcSundays=we,d.utcThursday=Q,d.utcThursdays=He,d.utcTuesday=ae,d.utcTuesdays=Ie,d.utcWednesday=j,d.utcWednesdays=Re,d.utcWeek=q,d.utcWeeks=we,d.utcYear=he,d.utcYears=le,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),Xv=Ge({\"node_modules/d3-time-format/dist/d3-time-format.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z,dd()):(d=d||self,_(d.d3=d.d3||{},d.d3))})(Z,function(d,_){\"use strict\";function A(Oe){if(0<=Oe.y&&Oe.y<100){var Ke=new Date(-1,Oe.m,Oe.d,Oe.H,Oe.M,Oe.S,Oe.L);return Ke.setFullYear(Oe.y),Ke}return new Date(Oe.y,Oe.m,Oe.d,Oe.H,Oe.M,Oe.S,Oe.L)}function E(Oe){if(0<=Oe.y&&Oe.y<100){var Ke=new Date(Date.UTC(-1,Oe.m,Oe.d,Oe.H,Oe.M,Oe.S,Oe.L));return Ke.setUTCFullYear(Oe.y),Ke}return new Date(Date.UTC(Oe.y,Oe.m,Oe.d,Oe.H,Oe.M,Oe.S,Oe.L))}function e(Oe,Ke,Ae){return{y:Oe,m:Ke,d:Ae,H:0,M:0,S:0,L:0}}function t(Oe){var Ke=Oe.dateTime,Ae=Oe.date,Le=Oe.time,We=Oe.periods,Je=Oe.days,st=Oe.shortDays,ot=Oe.months,Ut=Oe.shortMonths,Ct=h(We),Pt=f(We),Nt=h(Je),cr=f(Je),lr=h(st),sr=f(st),Pr=h(ot),_a=f(ot),Fa=h(Ut),Ra=f(Ut),qa={a:$a,A:Za,b:ri,B:pi,c:null,d:P,e:P,f:ue,H:U,I:N,j:X,L:$,m:ce,M:de,p:Ia,q:rn,Q:kt,s:qt,S:V,u:Y,U:ee,V:q,w:se,W:ae,x:null,X:null,y:j,Y:Q,Z:re,\"%\":St},Wa={a:tn,A:cn,b:_t,B:ut,c:null,d:pe,e:pe,f:He,H:we,I:Se,j:Ie,L:Re,m:at,M:nt,p:Br,q:Cr,Q:kt,s:qt,S:tt,u:Ue,U:he,V:le,w:ne,W:Ce,x:null,X:null,y:Ze,Y:rt,Z:Ye,\"%\":St},Ca={a:Zt,A:Jt,b:Or,B:ta,c:ra,d:p,e:p,f:z,H:g,I:g,j:u,L,m:b,M:y,p:Rt,q:m,Q:B,s:O,S:D,u:c,U:T,V:l,w:v,W:x,x:ca,X:Ba,y:S,Y:w,Z:M,\"%\":F};qa.x=hi(Ae,qa),qa.X=hi(Le,qa),qa.c=hi(Ke,qa),Wa.x=hi(Ae,Wa),Wa.X=hi(Le,Wa),Wa.c=hi(Ke,Wa);function hi(wr,Rr){return function(Ur){var Hr=[],gt=-1,Kt=0,vr=wr.length,Ir,va,Pa;for(Ur instanceof Date||(Ur=new Date(+Ur));++gt53)return null;\"w\"in Hr||(Hr.w=1),\"Z\"in Hr?(Kt=E(e(Hr.y,0,1)),vr=Kt.getUTCDay(),Kt=vr>4||vr===0?_.utcMonday.ceil(Kt):_.utcMonday(Kt),Kt=_.utcDay.offset(Kt,(Hr.V-1)*7),Hr.y=Kt.getUTCFullYear(),Hr.m=Kt.getUTCMonth(),Hr.d=Kt.getUTCDate()+(Hr.w+6)%7):(Kt=A(e(Hr.y,0,1)),vr=Kt.getDay(),Kt=vr>4||vr===0?_.timeMonday.ceil(Kt):_.timeMonday(Kt),Kt=_.timeDay.offset(Kt,(Hr.V-1)*7),Hr.y=Kt.getFullYear(),Hr.m=Kt.getMonth(),Hr.d=Kt.getDate()+(Hr.w+6)%7)}else(\"W\"in Hr||\"U\"in Hr)&&(\"w\"in Hr||(Hr.w=\"u\"in Hr?Hr.u%7:\"W\"in Hr?1:0),vr=\"Z\"in Hr?E(e(Hr.y,0,1)).getUTCDay():A(e(Hr.y,0,1)).getDay(),Hr.m=0,Hr.d=\"W\"in Hr?(Hr.w+6)%7+Hr.W*7-(vr+5)%7:Hr.w+Hr.U*7-(vr+6)%7);return\"Z\"in Hr?(Hr.H+=Hr.Z/100|0,Hr.M+=Hr.Z%100,E(Hr)):A(Hr)}}function Yt(wr,Rr,Ur,Hr){for(var gt=0,Kt=Rr.length,vr=Ur.length,Ir,va;gt=vr)return-1;if(Ir=Rr.charCodeAt(gt++),Ir===37){if(Ir=Rr.charAt(gt++),va=Ca[Ir in r?Rr.charAt(gt++):Ir],!va||(Hr=va(wr,Ur,Hr))<0)return-1}else if(Ir!=Ur.charCodeAt(Hr++))return-1}return Hr}function Rt(wr,Rr,Ur){var Hr=Ct.exec(Rr.slice(Ur));return Hr?(wr.p=Pt[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function Zt(wr,Rr,Ur){var Hr=lr.exec(Rr.slice(Ur));return Hr?(wr.w=sr[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function Jt(wr,Rr,Ur){var Hr=Nt.exec(Rr.slice(Ur));return Hr?(wr.w=cr[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function Or(wr,Rr,Ur){var Hr=Fa.exec(Rr.slice(Ur));return Hr?(wr.m=Ra[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function ta(wr,Rr,Ur){var Hr=Pr.exec(Rr.slice(Ur));return Hr?(wr.m=_a[Hr[0].toLowerCase()],Ur+Hr[0].length):-1}function ra(wr,Rr,Ur){return Yt(wr,Ke,Rr,Ur)}function ca(wr,Rr,Ur){return Yt(wr,Ae,Rr,Ur)}function Ba(wr,Rr,Ur){return Yt(wr,Le,Rr,Ur)}function $a(wr){return st[wr.getDay()]}function Za(wr){return Je[wr.getDay()]}function ri(wr){return Ut[wr.getMonth()]}function pi(wr){return ot[wr.getMonth()]}function Ia(wr){return We[+(wr.getHours()>=12)]}function rn(wr){return 1+~~(wr.getMonth()/3)}function tn(wr){return st[wr.getUTCDay()]}function cn(wr){return Je[wr.getUTCDay()]}function _t(wr){return Ut[wr.getUTCMonth()]}function ut(wr){return ot[wr.getUTCMonth()]}function Br(wr){return We[+(wr.getUTCHours()>=12)]}function Cr(wr){return 1+~~(wr.getUTCMonth()/3)}return{format:function(wr){var Rr=hi(wr+=\"\",qa);return Rr.toString=function(){return wr},Rr},parse:function(wr){var Rr=wi(wr+=\"\",!1);return Rr.toString=function(){return wr},Rr},utcFormat:function(wr){var Rr=hi(wr+=\"\",Wa);return Rr.toString=function(){return wr},Rr},utcParse:function(wr){var Rr=wi(wr+=\"\",!0);return Rr.toString=function(){return wr},Rr}}}var r={\"-\":\"\",_:\" \",0:\"0\"},o=/^\\s*\\d+/,a=/^%/,n=/[\\\\^$*+?|[\\]().{}]/g;function i(Oe,Ke,Ae){var Le=Oe<0?\"-\":\"\",We=(Le?-Oe:Oe)+\"\",Je=We.length;return Le+(Je68?1900:2e3),Ae+Le[0].length):-1}function M(Oe,Ke,Ae){var Le=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ke.slice(Ae,Ae+6));return Le?(Oe.Z=Le[1]?0:-(Le[2]+(Le[3]||\"00\")),Ae+Le[0].length):-1}function m(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+1));return Le?(Oe.q=Le[0]*3-3,Ae+Le[0].length):-1}function b(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+2));return Le?(Oe.m=Le[0]-1,Ae+Le[0].length):-1}function p(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+2));return Le?(Oe.d=+Le[0],Ae+Le[0].length):-1}function u(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+3));return Le?(Oe.m=0,Oe.d=+Le[0],Ae+Le[0].length):-1}function g(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+2));return Le?(Oe.H=+Le[0],Ae+Le[0].length):-1}function y(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+2));return Le?(Oe.M=+Le[0],Ae+Le[0].length):-1}function D(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+2));return Le?(Oe.S=+Le[0],Ae+Le[0].length):-1}function L(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+3));return Le?(Oe.L=+Le[0],Ae+Le[0].length):-1}function z(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae,Ae+6));return Le?(Oe.L=Math.floor(Le[0]/1e3),Ae+Le[0].length):-1}function F(Oe,Ke,Ae){var Le=a.exec(Ke.slice(Ae,Ae+1));return Le?Ae+Le[0].length:-1}function B(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae));return Le?(Oe.Q=+Le[0],Ae+Le[0].length):-1}function O(Oe,Ke,Ae){var Le=o.exec(Ke.slice(Ae));return Le?(Oe.s=+Le[0],Ae+Le[0].length):-1}function P(Oe,Ke){return i(Oe.getDate(),Ke,2)}function U(Oe,Ke){return i(Oe.getHours(),Ke,2)}function N(Oe,Ke){return i(Oe.getHours()%12||12,Ke,2)}function X(Oe,Ke){return i(1+_.timeDay.count(_.timeYear(Oe),Oe),Ke,3)}function $(Oe,Ke){return i(Oe.getMilliseconds(),Ke,3)}function ue(Oe,Ke){return $(Oe,Ke)+\"000\"}function ce(Oe,Ke){return i(Oe.getMonth()+1,Ke,2)}function de(Oe,Ke){return i(Oe.getMinutes(),Ke,2)}function V(Oe,Ke){return i(Oe.getSeconds(),Ke,2)}function Y(Oe){var Ke=Oe.getDay();return Ke===0?7:Ke}function ee(Oe,Ke){return i(_.timeSunday.count(_.timeYear(Oe)-1,Oe),Ke,2)}function q(Oe,Ke){var Ae=Oe.getDay();return Oe=Ae>=4||Ae===0?_.timeThursday(Oe):_.timeThursday.ceil(Oe),i(_.timeThursday.count(_.timeYear(Oe),Oe)+(_.timeYear(Oe).getDay()===4),Ke,2)}function se(Oe){return Oe.getDay()}function ae(Oe,Ke){return i(_.timeMonday.count(_.timeYear(Oe)-1,Oe),Ke,2)}function j(Oe,Ke){return i(Oe.getFullYear()%100,Ke,2)}function Q(Oe,Ke){return i(Oe.getFullYear()%1e4,Ke,4)}function re(Oe){var Ke=Oe.getTimezoneOffset();return(Ke>0?\"-\":(Ke*=-1,\"+\"))+i(Ke/60|0,\"0\",2)+i(Ke%60,\"0\",2)}function pe(Oe,Ke){return i(Oe.getUTCDate(),Ke,2)}function we(Oe,Ke){return i(Oe.getUTCHours(),Ke,2)}function Se(Oe,Ke){return i(Oe.getUTCHours()%12||12,Ke,2)}function Ie(Oe,Ke){return i(1+_.utcDay.count(_.utcYear(Oe),Oe),Ke,3)}function Re(Oe,Ke){return i(Oe.getUTCMilliseconds(),Ke,3)}function He(Oe,Ke){return Re(Oe,Ke)+\"000\"}function at(Oe,Ke){return i(Oe.getUTCMonth()+1,Ke,2)}function nt(Oe,Ke){return i(Oe.getUTCMinutes(),Ke,2)}function tt(Oe,Ke){return i(Oe.getUTCSeconds(),Ke,2)}function Ue(Oe){var Ke=Oe.getUTCDay();return Ke===0?7:Ke}function he(Oe,Ke){return i(_.utcSunday.count(_.utcYear(Oe)-1,Oe),Ke,2)}function le(Oe,Ke){var Ae=Oe.getUTCDay();return Oe=Ae>=4||Ae===0?_.utcThursday(Oe):_.utcThursday.ceil(Oe),i(_.utcThursday.count(_.utcYear(Oe),Oe)+(_.utcYear(Oe).getUTCDay()===4),Ke,2)}function ne(Oe){return Oe.getUTCDay()}function Ce(Oe,Ke){return i(_.utcMonday.count(_.utcYear(Oe)-1,Oe),Ke,2)}function Ze(Oe,Ke){return i(Oe.getUTCFullYear()%100,Ke,2)}function rt(Oe,Ke){return i(Oe.getUTCFullYear()%1e4,Ke,4)}function Ye(){return\"+0000\"}function St(){return\"%\"}function kt(Oe){return+Oe}function qt(Oe){return Math.floor(+Oe/1e3)}var Gt;Tr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",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 Tr(Oe){return Gt=t(Oe),d.timeFormat=Gt.format,d.timeParse=Gt.parse,d.utcFormat=Gt.utcFormat,d.utcParse=Gt.utcParse,Gt}var mr=\"%Y-%m-%dT%H:%M:%S.%LZ\";function qr(Oe){return Oe.toISOString()}var Er=Date.prototype.toISOString?qr:d.utcFormat(mr);function Dr(Oe){var Ke=new Date(Oe);return isNaN(Ke)?null:Ke}var xt=+new Date(\"2000-01-01T00:00:00.000Z\")?Dr:d.utcParse(mr);d.isoFormat=Er,d.isoParse=xt,d.timeFormatDefaultLocale=Tr,d.timeFormatLocale=t,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),YA=Ge({\"node_modules/d3-format/dist/d3-format.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z):(d=typeof globalThis<\"u\"?globalThis:d||self,_(d.d3=d.d3||{}))})(Z,function(d){\"use strict\";function _(b){return Math.abs(b=Math.round(b))>=1e21?b.toLocaleString(\"en\").replace(/,/g,\"\"):b.toString(10)}function A(b,p){if((u=(b=p?b.toExponential(p-1):b.toExponential()).indexOf(\"e\"))<0)return null;var u,g=b.slice(0,u);return[g.length>1?g[0]+g.slice(2):g,+b.slice(u+1)]}function E(b){return b=A(Math.abs(b)),b?b[1]:NaN}function e(b,p){return function(u,g){for(var y=u.length,D=[],L=0,z=b[0],F=0;y>0&&z>0&&(F+z+1>g&&(z=Math.max(1,g-F)),D.push(u.substring(y-=z,y+z)),!((F+=z+1)>g));)z=b[L=(L+1)%b.length];return D.reverse().join(p)}}function t(b){return function(p){return p.replace(/[0-9]/g,function(u){return b[+u]})}}var r=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function o(b){if(!(p=r.exec(b)))throw new Error(\"invalid format: \"+b);var p;return new a({fill:p[1],align:p[2],sign:p[3],symbol:p[4],zero:p[5],width:p[6],comma:p[7],precision:p[8]&&p[8].slice(1),trim:p[9],type:p[10]})}o.prototype=a.prototype;function a(b){this.fill=b.fill===void 0?\" \":b.fill+\"\",this.align=b.align===void 0?\">\":b.align+\"\",this.sign=b.sign===void 0?\"-\":b.sign+\"\",this.symbol=b.symbol===void 0?\"\":b.symbol+\"\",this.zero=!!b.zero,this.width=b.width===void 0?void 0:+b.width,this.comma=!!b.comma,this.precision=b.precision===void 0?void 0:+b.precision,this.trim=!!b.trim,this.type=b.type===void 0?\"\":b.type+\"\"}a.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function n(b){e:for(var p=b.length,u=1,g=-1,y;u0&&(g=0);break}return g>0?b.slice(0,g)+b.slice(y+1):b}var i;function s(b,p){var u=A(b,p);if(!u)return b+\"\";var g=u[0],y=u[1],D=y-(i=Math.max(-8,Math.min(8,Math.floor(y/3)))*3)+1,L=g.length;return D===L?g:D>L?g+new Array(D-L+1).join(\"0\"):D>0?g.slice(0,D)+\".\"+g.slice(D):\"0.\"+new Array(1-D).join(\"0\")+A(b,Math.max(0,p+D-1))[0]}function h(b,p){var u=A(b,p);if(!u)return b+\"\";var g=u[0],y=u[1];return y<0?\"0.\"+new Array(-y).join(\"0\")+g:g.length>y+1?g.slice(0,y+1)+\".\"+g.slice(y+1):g+new Array(y-g.length+2).join(\"0\")}var f={\"%\":function(b,p){return(b*100).toFixed(p)},b:function(b){return Math.round(b).toString(2)},c:function(b){return b+\"\"},d:_,e:function(b,p){return b.toExponential(p)},f:function(b,p){return b.toFixed(p)},g:function(b,p){return b.toPrecision(p)},o:function(b){return Math.round(b).toString(8)},p:function(b,p){return h(b*100,p)},r:h,s,X:function(b){return Math.round(b).toString(16).toUpperCase()},x:function(b){return Math.round(b).toString(16)}};function v(b){return b}var c=Array.prototype.map,T=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function l(b){var p=b.grouping===void 0||b.thousands===void 0?v:e(c.call(b.grouping,Number),b.thousands+\"\"),u=b.currency===void 0?\"\":b.currency[0]+\"\",g=b.currency===void 0?\"\":b.currency[1]+\"\",y=b.decimal===void 0?\".\":b.decimal+\"\",D=b.numerals===void 0?v:t(c.call(b.numerals,String)),L=b.percent===void 0?\"%\":b.percent+\"\",z=b.minus===void 0?\"-\":b.minus+\"\",F=b.nan===void 0?\"NaN\":b.nan+\"\";function B(P){P=o(P);var U=P.fill,N=P.align,X=P.sign,$=P.symbol,ue=P.zero,ce=P.width,de=P.comma,V=P.precision,Y=P.trim,ee=P.type;ee===\"n\"?(de=!0,ee=\"g\"):f[ee]||(V===void 0&&(V=12),Y=!0,ee=\"g\"),(ue||U===\"0\"&&N===\"=\")&&(ue=!0,U=\"0\",N=\"=\");var q=$===\"$\"?u:$===\"#\"&&/[boxX]/.test(ee)?\"0\"+ee.toLowerCase():\"\",se=$===\"$\"?g:/[%p]/.test(ee)?L:\"\",ae=f[ee],j=/[defgprs%]/.test(ee);V=V===void 0?6:/[gprs]/.test(ee)?Math.max(1,Math.min(21,V)):Math.max(0,Math.min(20,V));function Q(re){var pe=q,we=se,Se,Ie,Re;if(ee===\"c\")we=ae(re)+we,re=\"\";else{re=+re;var He=re<0||1/re<0;if(re=isNaN(re)?F:ae(Math.abs(re),V),Y&&(re=n(re)),He&&+re==0&&X!==\"+\"&&(He=!1),pe=(He?X===\"(\"?X:z:X===\"-\"||X===\"(\"?\"\":X)+pe,we=(ee===\"s\"?T[8+i/3]:\"\")+we+(He&&X===\"(\"?\")\":\"\"),j){for(Se=-1,Ie=re.length;++SeRe||Re>57){we=(Re===46?y+re.slice(Se+1):re.slice(Se))+we,re=re.slice(0,Se);break}}}de&&!ue&&(re=p(re,1/0));var at=pe.length+re.length+we.length,nt=at>1)+pe+re+we+nt.slice(at);break;default:re=nt+pe+re+we;break}return D(re)}return Q.toString=function(){return P+\"\"},Q}function O(P,U){var N=B((P=o(P),P.type=\"f\",P)),X=Math.max(-8,Math.min(8,Math.floor(E(U)/3)))*3,$=Math.pow(10,-X),ue=T[8+X/3];return function(ce){return N($*ce)+ue}}return{format:B,formatPrefix:O}}var x;w({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function w(b){return x=l(b),d.format=x.format,d.formatPrefix=x.formatPrefix,x}function S(b){return Math.max(0,-E(Math.abs(b)))}function M(b,p){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(E(p)/3)))*3-E(Math.abs(b)))}function m(b,p){return b=Math.abs(b),p=Math.abs(p)-b,Math.max(0,E(p)-E(b))+1}d.FormatSpecifier=a,d.formatDefaultLocale=w,d.formatLocale=l,d.formatSpecifier=o,d.precisionFixed=S,d.precisionPrefix=M,d.precisionRound=m,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),l7=Ge({\"node_modules/is-string-blank/index.js\"(Z,G){\"use strict\";G.exports=function(d){for(var _=d.length,A,E=0;E<_;E++)if(A=d.charCodeAt(E),(A<9||A>13)&&A!==32&&A!==133&&A!==160&&A!==5760&&A!==6158&&(A<8192||A>8205)&&A!==8232&&A!==8233&&A!==8239&&A!==8287&&A!==8288&&A!==12288&&A!==65279)return!1;return!0}}}),ns=Ge({\"node_modules/fast-isnumeric/index.js\"(Z,G){\"use strict\";var d=l7();G.exports=function(_){var A=typeof _;if(A===\"string\"){var E=_;if(_=+_,_===0&&d(E))return!1}else if(A!==\"number\")return!1;return _-_<1}}}),Gs=Ge({\"src/constants/numerical.js\"(Z,G){\"use strict\";G.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}}}),KA=Ge({\"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z):(d=typeof globalThis<\"u\"?globalThis:d||self,_(d[\"base64-arraybuffer\"]={}))})(Z,function(d){\"use strict\";for(var _=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",A=typeof Uint8Array>\"u\"?[]:new Uint8Array(256),E=0;E<_.length;E++)A[_.charCodeAt(E)]=E;var e=function(r){var o=new Uint8Array(r),a,n=o.length,i=\"\";for(a=0;a>2],i+=_[(o[a]&3)<<4|o[a+1]>>4],i+=_[(o[a+1]&15)<<2|o[a+2]>>6],i+=_[o[a+2]&63];return n%3===2?i=i.substring(0,i.length-1)+\"=\":n%3===1&&(i=i.substring(0,i.length-2)+\"==\"),i},t=function(r){var o=r.length*.75,a=r.length,n,i=0,s,h,f,v;r[r.length-1]===\"=\"&&(o--,r[r.length-2]===\"=\"&&o--);var c=new ArrayBuffer(o),T=new Uint8Array(c);for(n=0;n>4,T[i++]=(h&15)<<4|f>>2,T[i++]=(f&3)<<6|v&63;return c};d.decode=t,d.encode=e,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),Zv=Ge({\"src/lib/is_plain_object.js\"(Z,G){\"use strict\";G.exports=function(_){return window&&window.process&&window.process.versions?Object.prototype.toString.call(_)===\"[object Object]\":Object.prototype.toString.call(_)===\"[object Object]\"&&Object.getPrototypeOf(_).hasOwnProperty(\"hasOwnProperty\")}}}),hp=Ge({\"src/lib/array.js\"(Z){\"use strict\";var G=KA().decode,d=Zv(),_=Array.isArray,A=ArrayBuffer,E=DataView;function e(s){return A.isView(s)&&!(s instanceof E)}Z.isTypedArray=e;function t(s){return _(s)||e(s)}Z.isArrayOrTypedArray=t;function r(s){return!t(s[0])}Z.isArray1D=r,Z.ensureArray=function(s,h){return _(s)||(s=[]),s.length=h,s};var o={u1c:typeof Uint8ClampedArray>\"u\"?void 0:Uint8ClampedArray,i1:typeof Int8Array>\"u\"?void 0:Int8Array,u1:typeof Uint8Array>\"u\"?void 0:Uint8Array,i2:typeof Int16Array>\"u\"?void 0:Int16Array,u2:typeof Uint16Array>\"u\"?void 0:Uint16Array,i4:typeof Int32Array>\"u\"?void 0:Int32Array,u4:typeof Uint32Array>\"u\"?void 0:Uint32Array,f4:typeof Float32Array>\"u\"?void 0:Float32Array,f8:typeof Float64Array>\"u\"?void 0:Float64Array};o.uint8c=o.u1c,o.uint8=o.u1,o.int8=o.i1,o.uint16=o.u2,o.int16=o.i2,o.uint32=o.u4,o.int32=o.i4,o.float32=o.f4,o.float64=o.f8;function a(s){return s.constructor===ArrayBuffer}Z.isArrayBuffer=a,Z.decodeTypedArraySpec=function(s){var h=[],f=n(s),v=f.dtype,c=o[v];if(!c)throw new Error('Error in dtype: \"'+v+'\"');var T=c.BYTES_PER_ELEMENT,l=f.bdata;a(l)||(l=G(l));var x=f.shape===void 0?[l.byteLength/T]:(\"\"+f.shape).split(\",\");x.reverse();var w=x.length,S,M,m=+x[0],b=T*m,p=0;if(w===1)h=new c(l);else if(w===2)for(S=+x[1],M=0;M2)return c[S]=c[S]|e,x.set(w,null);if(l){for(h=S;h0)return Math.log(A)/Math.LN10;var e=Math.log(Math.min(E[0],E[1]))/Math.LN10;return d(e)||(e=Math.log(Math.max(E[0],E[1]))/Math.LN10-6),e}}}),f7=Ge({\"src/lib/relink_private.js\"(Z,G){\"use strict\";var d=hp().isArrayOrTypedArray,_=Zv();G.exports=function A(E,e){for(var t in e){var r=e[t],o=E[t];if(o!==r)if(t.charAt(0)===\"_\"||typeof r==\"function\"){if(t in E)continue;E[t]=r}else if(d(r)&&d(o)&&_(r[0])){if(t===\"customdata\"||t===\"ids\")continue;for(var a=Math.min(r.length,o.length),n=0;nE/2?A-Math.round(A/E)*E:A}G.exports={mod:d,modHalf:_}}}),Ch=Ge({\"node_modules/tinycolor2/tinycolor.js\"(Z,G){(function(d){var _=/^\\s+/,A=/\\s+$/,E=0,e=d.round,t=d.min,r=d.max,o=d.random;function a(j,Q){if(j=j||\"\",Q=Q||{},j instanceof a)return j;if(!(this instanceof a))return new a(j,Q);var re=n(j);this._originalInput=j,this._r=re.r,this._g=re.g,this._b=re.b,this._a=re.a,this._roundA=e(100*this._a)/100,this._format=Q.format||re.format,this._gradientType=Q.gradientType,this._r<1&&(this._r=e(this._r)),this._g<1&&(this._g=e(this._g)),this._b<1&&(this._b=e(this._b)),this._ok=re.ok,this._tc_id=E++}a.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 j=this.toRgb();return(j.r*299+j.g*587+j.b*114)/1e3},getLuminance:function(){var j=this.toRgb(),Q,re,pe,we,Se,Ie;return Q=j.r/255,re=j.g/255,pe=j.b/255,Q<=.03928?we=Q/12.92:we=d.pow((Q+.055)/1.055,2.4),re<=.03928?Se=re/12.92:Se=d.pow((re+.055)/1.055,2.4),pe<=.03928?Ie=pe/12.92:Ie=d.pow((pe+.055)/1.055,2.4),.2126*we+.7152*Se+.0722*Ie},setAlpha:function(j){return this._a=P(j),this._roundA=e(100*this._a)/100,this},toHsv:function(){var j=f(this._r,this._g,this._b);return{h:j.h*360,s:j.s,v:j.v,a:this._a}},toHsvString:function(){var j=f(this._r,this._g,this._b),Q=e(j.h*360),re=e(j.s*100),pe=e(j.v*100);return this._a==1?\"hsv(\"+Q+\", \"+re+\"%, \"+pe+\"%)\":\"hsva(\"+Q+\", \"+re+\"%, \"+pe+\"%, \"+this._roundA+\")\"},toHsl:function(){var j=s(this._r,this._g,this._b);return{h:j.h*360,s:j.s,l:j.l,a:this._a}},toHslString:function(){var j=s(this._r,this._g,this._b),Q=e(j.h*360),re=e(j.s*100),pe=e(j.l*100);return this._a==1?\"hsl(\"+Q+\", \"+re+\"%, \"+pe+\"%)\":\"hsla(\"+Q+\", \"+re+\"%, \"+pe+\"%, \"+this._roundA+\")\"},toHex:function(j){return c(this._r,this._g,this._b,j)},toHexString:function(j){return\"#\"+this.toHex(j)},toHex8:function(j){return T(this._r,this._g,this._b,this._a,j)},toHex8String:function(j){return\"#\"+this.toHex8(j)},toRgb:function(){return{r:e(this._r),g:e(this._g),b:e(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+e(this._r)+\", \"+e(this._g)+\", \"+e(this._b)+\")\":\"rgba(\"+e(this._r)+\", \"+e(this._g)+\", \"+e(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:e(U(this._r,255)*100)+\"%\",g:e(U(this._g,255)*100)+\"%\",b:e(U(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+e(U(this._r,255)*100)+\"%, \"+e(U(this._g,255)*100)+\"%, \"+e(U(this._b,255)*100)+\"%)\":\"rgba(\"+e(U(this._r,255)*100)+\"%, \"+e(U(this._g,255)*100)+\"%, \"+e(U(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:B[c(this._r,this._g,this._b,!0)]||!1},toFilter:function(j){var Q=\"#\"+l(this._r,this._g,this._b,this._a),re=Q,pe=this._gradientType?\"GradientType = 1, \":\"\";if(j){var we=a(j);re=\"#\"+l(we._r,we._g,we._b,we._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+pe+\"startColorstr=\"+Q+\",endColorstr=\"+re+\")\"},toString:function(j){var Q=!!j;j=j||this._format;var re=!1,pe=this._a<1&&this._a>=0,we=!Q&&pe&&(j===\"hex\"||j===\"hex6\"||j===\"hex3\"||j===\"hex4\"||j===\"hex8\"||j===\"name\");return we?j===\"name\"&&this._a===0?this.toName():this.toRgbString():(j===\"rgb\"&&(re=this.toRgbString()),j===\"prgb\"&&(re=this.toPercentageRgbString()),(j===\"hex\"||j===\"hex6\")&&(re=this.toHexString()),j===\"hex3\"&&(re=this.toHexString(!0)),j===\"hex4\"&&(re=this.toHex8String(!0)),j===\"hex8\"&&(re=this.toHex8String()),j===\"name\"&&(re=this.toName()),j===\"hsl\"&&(re=this.toHslString()),j===\"hsv\"&&(re=this.toHsvString()),re||this.toHexString())},clone:function(){return a(this.toString())},_applyModification:function(j,Q){var re=j.apply(null,[this].concat([].slice.call(Q)));return this._r=re._r,this._g=re._g,this._b=re._b,this.setAlpha(re._a),this},lighten:function(){return this._applyModification(M,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(x,arguments)},saturate:function(){return this._applyModification(w,arguments)},greyscale:function(){return this._applyModification(S,arguments)},spin:function(){return this._applyModification(p,arguments)},_applyCombination:function(j,Q){return j.apply(null,[this].concat([].slice.call(Q)))},analogous:function(){return this._applyCombination(L,arguments)},complement:function(){return this._applyCombination(u,arguments)},monochromatic:function(){return this._applyCombination(z,arguments)},splitcomplement:function(){return this._applyCombination(D,arguments)},triad:function(){return this._applyCombination(g,arguments)},tetrad:function(){return this._applyCombination(y,arguments)}},a.fromRatio=function(j,Q){if(typeof j==\"object\"){var re={};for(var pe in j)j.hasOwnProperty(pe)&&(pe===\"a\"?re[pe]=j[pe]:re[pe]=de(j[pe]));j=re}return a(j,Q)};function n(j){var Q={r:0,g:0,b:0},re=1,pe=null,we=null,Se=null,Ie=!1,Re=!1;return typeof j==\"string\"&&(j=se(j)),typeof j==\"object\"&&(q(j.r)&&q(j.g)&&q(j.b)?(Q=i(j.r,j.g,j.b),Ie=!0,Re=String(j.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):q(j.h)&&q(j.s)&&q(j.v)?(pe=de(j.s),we=de(j.v),Q=v(j.h,pe,we),Ie=!0,Re=\"hsv\"):q(j.h)&&q(j.s)&&q(j.l)&&(pe=de(j.s),Se=de(j.l),Q=h(j.h,pe,Se),Ie=!0,Re=\"hsl\"),j.hasOwnProperty(\"a\")&&(re=j.a)),re=P(re),{ok:Ie,format:j.format||Re,r:t(255,r(Q.r,0)),g:t(255,r(Q.g,0)),b:t(255,r(Q.b,0)),a:re}}function i(j,Q,re){return{r:U(j,255)*255,g:U(Q,255)*255,b:U(re,255)*255}}function s(j,Q,re){j=U(j,255),Q=U(Q,255),re=U(re,255);var pe=r(j,Q,re),we=t(j,Q,re),Se,Ie,Re=(pe+we)/2;if(pe==we)Se=Ie=0;else{var He=pe-we;switch(Ie=Re>.5?He/(2-pe-we):He/(pe+we),pe){case j:Se=(Q-re)/He+(Q1&&(tt-=1),tt<1/6?at+(nt-at)*6*tt:tt<1/2?nt:tt<2/3?at+(nt-at)*(2/3-tt)*6:at}if(Q===0)pe=we=Se=re;else{var Re=re<.5?re*(1+Q):re+Q-re*Q,He=2*re-Re;pe=Ie(He,Re,j+1/3),we=Ie(He,Re,j),Se=Ie(He,Re,j-1/3)}return{r:pe*255,g:we*255,b:Se*255}}function f(j,Q,re){j=U(j,255),Q=U(Q,255),re=U(re,255);var pe=r(j,Q,re),we=t(j,Q,re),Se,Ie,Re=pe,He=pe-we;if(Ie=pe===0?0:He/pe,pe==we)Se=0;else{switch(pe){case j:Se=(Q-re)/He+(Q>1)+720)%360;--Q;)pe.h=(pe.h+we)%360,Se.push(a(pe));return Se}function z(j,Q){Q=Q||6;for(var re=a(j).toHsv(),pe=re.h,we=re.s,Se=re.v,Ie=[],Re=1/Q;Q--;)Ie.push(a({h:pe,s:we,v:Se})),Se=(Se+Re)%1;return Ie}a.mix=function(j,Q,re){re=re===0?0:re||50;var pe=a(j).toRgb(),we=a(Q).toRgb(),Se=re/100,Ie={r:(we.r-pe.r)*Se+pe.r,g:(we.g-pe.g)*Se+pe.g,b:(we.b-pe.b)*Se+pe.b,a:(we.a-pe.a)*Se+pe.a};return a(Ie)},a.readability=function(j,Q){var re=a(j),pe=a(Q);return(d.max(re.getLuminance(),pe.getLuminance())+.05)/(d.min(re.getLuminance(),pe.getLuminance())+.05)},a.isReadable=function(j,Q,re){var pe=a.readability(j,Q),we,Se;switch(Se=!1,we=ae(re),we.level+we.size){case\"AAsmall\":case\"AAAlarge\":Se=pe>=4.5;break;case\"AAlarge\":Se=pe>=3;break;case\"AAAsmall\":Se=pe>=7;break}return Se},a.mostReadable=function(j,Q,re){var pe=null,we=0,Se,Ie,Re,He;re=re||{},Ie=re.includeFallbackColors,Re=re.level,He=re.size;for(var at=0;atwe&&(we=Se,pe=a(Q[at]));return a.isReadable(j,pe,{level:Re,size:He})||!Ie?pe:(re.includeFallbackColors=!1,a.mostReadable(j,[\"#fff\",\"#000\"],re))};var F=a.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\"},B=a.hexNames=O(F);function O(j){var Q={};for(var re in j)j.hasOwnProperty(re)&&(Q[j[re]]=re);return Q}function P(j){return j=parseFloat(j),(isNaN(j)||j<0||j>1)&&(j=1),j}function U(j,Q){$(j)&&(j=\"100%\");var re=ue(j);return j=t(Q,r(0,parseFloat(j))),re&&(j=parseInt(j*Q,10)/100),d.abs(j-Q)<1e-6?1:j%Q/parseFloat(Q)}function N(j){return t(1,r(0,j))}function X(j){return parseInt(j,16)}function $(j){return typeof j==\"string\"&&j.indexOf(\".\")!=-1&&parseFloat(j)===1}function ue(j){return typeof j==\"string\"&&j.indexOf(\"%\")!=-1}function ce(j){return j.length==1?\"0\"+j:\"\"+j}function de(j){return j<=1&&(j=j*100+\"%\"),j}function V(j){return d.round(parseFloat(j)*255).toString(16)}function Y(j){return X(j)/255}var ee=function(){var j=\"[-\\\\+]?\\\\d+%?\",Q=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",re=\"(?:\"+Q+\")|(?:\"+j+\")\",pe=\"[\\\\s|\\\\(]+(\"+re+\")[,|\\\\s]+(\"+re+\")[,|\\\\s]+(\"+re+\")\\\\s*\\\\)?\",we=\"[\\\\s|\\\\(]+(\"+re+\")[,|\\\\s]+(\"+re+\")[,|\\\\s]+(\"+re+\")[,|\\\\s]+(\"+re+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(re),rgb:new RegExp(\"rgb\"+pe),rgba:new RegExp(\"rgba\"+we),hsl:new RegExp(\"hsl\"+pe),hsla:new RegExp(\"hsla\"+we),hsv:new RegExp(\"hsv\"+pe),hsva:new RegExp(\"hsva\"+we),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 q(j){return!!ee.CSS_UNIT.exec(j)}function se(j){j=j.replace(_,\"\").replace(A,\"\").toLowerCase();var Q=!1;if(F[j])j=F[j],Q=!0;else if(j==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var re;return(re=ee.rgb.exec(j))?{r:re[1],g:re[2],b:re[3]}:(re=ee.rgba.exec(j))?{r:re[1],g:re[2],b:re[3],a:re[4]}:(re=ee.hsl.exec(j))?{h:re[1],s:re[2],l:re[3]}:(re=ee.hsla.exec(j))?{h:re[1],s:re[2],l:re[3],a:re[4]}:(re=ee.hsv.exec(j))?{h:re[1],s:re[2],v:re[3]}:(re=ee.hsva.exec(j))?{h:re[1],s:re[2],v:re[3],a:re[4]}:(re=ee.hex8.exec(j))?{r:X(re[1]),g:X(re[2]),b:X(re[3]),a:Y(re[4]),format:Q?\"name\":\"hex8\"}:(re=ee.hex6.exec(j))?{r:X(re[1]),g:X(re[2]),b:X(re[3]),format:Q?\"name\":\"hex\"}:(re=ee.hex4.exec(j))?{r:X(re[1]+\"\"+re[1]),g:X(re[2]+\"\"+re[2]),b:X(re[3]+\"\"+re[3]),a:Y(re[4]+\"\"+re[4]),format:Q?\"name\":\"hex8\"}:(re=ee.hex3.exec(j))?{r:X(re[1]+\"\"+re[1]),g:X(re[2]+\"\"+re[2]),b:X(re[3]+\"\"+re[3]),format:Q?\"name\":\"hex\"}:!1}function ae(j){var Q,re;return j=j||{level:\"AA\",size:\"small\"},Q=(j.level||\"AA\").toUpperCase(),re=(j.size||\"small\").toLowerCase(),Q!==\"AA\"&&Q!==\"AAA\"&&(Q=\"AA\"),re!==\"small\"&&re!==\"large\"&&(re=\"small\"),{level:Q,size:re}}typeof G<\"u\"&&G.exports?G.exports=a:window.tinycolor=a})(Math)}}),rs=Ge({\"src/lib/extend.js\"(Z){\"use strict\";var G=Zv(),d=Array.isArray;function _(E,e){var t,r;for(t=0;t=0)))return a;if(f===3)s[f]>1&&(s[f]=1);else if(s[f]>=1)return a}var v=Math.round(s[0]*255)+\", \"+Math.round(s[1]*255)+\", \"+Math.round(s[2]*255);return h?\"rgba(\"+v+\", \"+s[3]+\")\":\"rgb(\"+v+\")\"}}}),Ym=Ge({\"src/constants/interactions.js\"(Z,G){\"use strict\";G.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}}}),Jy=Ge({\"src/lib/regex.js\"(Z){\"use strict\";Z.counter=function(G,d,_,A){var E=(d||\"\")+(_?\"\":\"$\"),e=A===!1?\"\":\"^\";return G===\"xy\"?new RegExp(e+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+E):new RegExp(e+G+\"([2-9]|[1-9][0-9]+)?\"+E)}}}),h7=Ge({\"src/lib/coerce.js\"(Z){\"use strict\";var G=ns(),d=Ch(),_=rs().extendFlat,A=au(),E=W0(),e=$n(),t=Ym().DESELECTDIM,r=b_(),o=Jy().counter,a=Yy().modHalf,n=hp().isArrayOrTypedArray,i=hp().isTypedArraySpec,s=hp().decodeTypedArraySpec;Z.valObjectMeta={data_array:{coerceFunction:function(f,v,c){v.set(n(f)?f:i(f)?s(f):c)}},enumerated:{coerceFunction:function(f,v,c,T){T.coerceNumber&&(f=+f),T.values.indexOf(f)===-1?v.set(c):v.set(f)},validateFunction:function(f,v){v.coerceNumber&&(f=+f);for(var c=v.values,T=0;Tx===!0||x===!1;l(f)||T.arrayOk&&Array.isArray(f)&&f.length>0&&f.every(l)?v.set(f):v.set(c)}},number:{coerceFunction:function(f,v,c,T){i(f)&&(f=s(f)),!G(f)||T.min!==void 0&&fT.max?v.set(c):v.set(+f)}},integer:{coerceFunction:function(f,v,c,T){if((T.extras||[]).indexOf(f)!==-1){v.set(f);return}i(f)&&(f=s(f)),f%1||!G(f)||T.min!==void 0&&fT.max?v.set(c):v.set(+f)}},string:{coerceFunction:function(f,v,c,T){if(typeof f!=\"string\"){var l=typeof f==\"number\";T.strict===!0||!l?v.set(c):v.set(String(f))}else T.noBlank&&!f?v.set(c):v.set(f)}},color:{coerceFunction:function(f,v,c){i(f)&&(f=s(f)),d(f).isValid()?v.set(f):v.set(c)}},colorlist:{coerceFunction:function(f,v,c){function T(l){return d(l).isValid()}!Array.isArray(f)||!f.length?v.set(c):f.every(T)?v.set(f):v.set(c)}},colorscale:{coerceFunction:function(f,v,c){v.set(E.get(f,c))}},angle:{coerceFunction:function(f,v,c){i(f)&&(f=s(f)),f===\"auto\"?v.set(\"auto\"):G(f)?v.set(a(+f,360)):v.set(c)}},subplotid:{coerceFunction:function(f,v,c,T){var l=T.regex||o(c);let x=w=>typeof w==\"string\"&&l.test(w);x(f)||T.arrayOk&&n(f)&&f.length>0&&f.every(x)?v.set(f):v.set(c)},validateFunction:function(f,v){var c=v.dflt;return f===c?!0:typeof f!=\"string\"?!1:!!o(c).test(f)}},flaglist:{coerceFunction:function(f,v,c,T){if((T.extras||[]).indexOf(f)!==-1){v.set(f);return}if(typeof f!=\"string\"){v.set(c);return}for(var l=f.split(\"+\"),x=0;x/g),c=0;c1){var e=[\"LOG:\"];for(E=0;E1){var t=[];for(E=0;E\"),\"long\")}},A.warn=function(){var E;if(d.logging>0){var e=[\"WARN:\"];for(E=0;E0){var t=[];for(E=0;E\"),\"stick\")}},A.error=function(){var E;if(d.logging>0){var e=[\"ERROR:\"];for(E=0;E0){var t=[];for(E=0;E\"),\"stick\")}}}}),p2=Ge({\"src/lib/noop.js\"(Z,G){\"use strict\";G.exports=function(){}}}),$A=Ge({\"src/lib/push_unique.js\"(Z,G){\"use strict\";G.exports=function(_,A){if(A instanceof RegExp){for(var E=A.toString(),e=0;e<_.length;e++)if(_[e]instanceof RegExp&&_[e].toString()===E)return _;_.push(A)}else(A||A===0)&&_.indexOf(A)===-1&&_.push(A);return _}}}),p7=Ge({\"node_modules/gl-mat4/create.js\"(Z,G){G.exports=d;function d(){var _=new Float32Array(16);return _[0]=1,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=1,_[6]=0,_[7]=0,_[8]=0,_[9]=0,_[10]=1,_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_}}}),d7=Ge({\"node_modules/gl-mat4/clone.js\"(Z,G){G.exports=d;function d(_){var A=new Float32Array(16);return A[0]=_[0],A[1]=_[1],A[2]=_[2],A[3]=_[3],A[4]=_[4],A[5]=_[5],A[6]=_[6],A[7]=_[7],A[8]=_[8],A[9]=_[9],A[10]=_[10],A[11]=_[11],A[12]=_[12],A[13]=_[13],A[14]=_[14],A[15]=_[15],A}}}),v7=Ge({\"node_modules/gl-mat4/copy.js\"(Z,G){G.exports=d;function d(_,A){return _[0]=A[0],_[1]=A[1],_[2]=A[2],_[3]=A[3],_[4]=A[4],_[5]=A[5],_[6]=A[6],_[7]=A[7],_[8]=A[8],_[9]=A[9],_[10]=A[10],_[11]=A[11],_[12]=A[12],_[13]=A[13],_[14]=A[14],_[15]=A[15],_}}}),QA=Ge({\"node_modules/gl-mat4/identity.js\"(Z,G){G.exports=d;function d(_){return _[0]=1,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=1,_[6]=0,_[7]=0,_[8]=0,_[9]=0,_[10]=1,_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_}}}),m7=Ge({\"node_modules/gl-mat4/transpose.js\"(Z,G){G.exports=d;function d(_,A){if(_===A){var E=A[1],e=A[2],t=A[3],r=A[6],o=A[7],a=A[11];_[1]=A[4],_[2]=A[8],_[3]=A[12],_[4]=E,_[6]=A[9],_[7]=A[13],_[8]=e,_[9]=r,_[11]=A[14],_[12]=t,_[13]=o,_[14]=a}else _[0]=A[0],_[1]=A[4],_[2]=A[8],_[3]=A[12],_[4]=A[1],_[5]=A[5],_[6]=A[9],_[7]=A[13],_[8]=A[2],_[9]=A[6],_[10]=A[10],_[11]=A[14],_[12]=A[3],_[13]=A[7],_[14]=A[11],_[15]=A[15];return _}}}),g7=Ge({\"node_modules/gl-mat4/invert.js\"(Z,G){G.exports=d;function d(_,A){var E=A[0],e=A[1],t=A[2],r=A[3],o=A[4],a=A[5],n=A[6],i=A[7],s=A[8],h=A[9],f=A[10],v=A[11],c=A[12],T=A[13],l=A[14],x=A[15],w=E*a-e*o,S=E*n-t*o,M=E*i-r*o,m=e*n-t*a,b=e*i-r*a,p=t*i-r*n,u=s*T-h*c,g=s*l-f*c,y=s*x-v*c,D=h*l-f*T,L=h*x-v*T,z=f*x-v*l,F=w*z-S*L+M*D+m*y-b*g+p*u;return F?(F=1/F,_[0]=(a*z-n*L+i*D)*F,_[1]=(t*L-e*z-r*D)*F,_[2]=(T*p-l*b+x*m)*F,_[3]=(f*b-h*p-v*m)*F,_[4]=(n*y-o*z-i*g)*F,_[5]=(E*z-t*y+r*g)*F,_[6]=(l*M-c*p-x*S)*F,_[7]=(s*p-f*M+v*S)*F,_[8]=(o*L-a*y+i*u)*F,_[9]=(e*y-E*L-r*u)*F,_[10]=(c*b-T*M+x*w)*F,_[11]=(h*M-s*b-v*w)*F,_[12]=(a*g-o*D-n*u)*F,_[13]=(E*D-e*g+t*u)*F,_[14]=(T*S-c*m-l*w)*F,_[15]=(s*m-h*S+f*w)*F,_):null}}}),y7=Ge({\"node_modules/gl-mat4/adjoint.js\"(Z,G){G.exports=d;function d(_,A){var E=A[0],e=A[1],t=A[2],r=A[3],o=A[4],a=A[5],n=A[6],i=A[7],s=A[8],h=A[9],f=A[10],v=A[11],c=A[12],T=A[13],l=A[14],x=A[15];return _[0]=a*(f*x-v*l)-h*(n*x-i*l)+T*(n*v-i*f),_[1]=-(e*(f*x-v*l)-h*(t*x-r*l)+T*(t*v-r*f)),_[2]=e*(n*x-i*l)-a*(t*x-r*l)+T*(t*i-r*n),_[3]=-(e*(n*v-i*f)-a*(t*v-r*f)+h*(t*i-r*n)),_[4]=-(o*(f*x-v*l)-s*(n*x-i*l)+c*(n*v-i*f)),_[5]=E*(f*x-v*l)-s*(t*x-r*l)+c*(t*v-r*f),_[6]=-(E*(n*x-i*l)-o*(t*x-r*l)+c*(t*i-r*n)),_[7]=E*(n*v-i*f)-o*(t*v-r*f)+s*(t*i-r*n),_[8]=o*(h*x-v*T)-s*(a*x-i*T)+c*(a*v-i*h),_[9]=-(E*(h*x-v*T)-s*(e*x-r*T)+c*(e*v-r*h)),_[10]=E*(a*x-i*T)-o*(e*x-r*T)+c*(e*i-r*a),_[11]=-(E*(a*v-i*h)-o*(e*v-r*h)+s*(e*i-r*a)),_[12]=-(o*(h*l-f*T)-s*(a*l-n*T)+c*(a*f-n*h)),_[13]=E*(h*l-f*T)-s*(e*l-t*T)+c*(e*f-t*h),_[14]=-(E*(a*l-n*T)-o*(e*l-t*T)+c*(e*n-t*a)),_[15]=E*(a*f-n*h)-o*(e*f-t*h)+s*(e*n-t*a),_}}}),_7=Ge({\"node_modules/gl-mat4/determinant.js\"(Z,G){G.exports=d;function d(_){var A=_[0],E=_[1],e=_[2],t=_[3],r=_[4],o=_[5],a=_[6],n=_[7],i=_[8],s=_[9],h=_[10],f=_[11],v=_[12],c=_[13],T=_[14],l=_[15],x=A*o-E*r,w=A*a-e*r,S=A*n-t*r,M=E*a-e*o,m=E*n-t*o,b=e*n-t*a,p=i*c-s*v,u=i*T-h*v,g=i*l-f*v,y=s*T-h*c,D=s*l-f*c,L=h*l-f*T;return x*L-w*D+S*y+M*g-m*u+b*p}}}),x7=Ge({\"node_modules/gl-mat4/multiply.js\"(Z,G){G.exports=d;function d(_,A,E){var e=A[0],t=A[1],r=A[2],o=A[3],a=A[4],n=A[5],i=A[6],s=A[7],h=A[8],f=A[9],v=A[10],c=A[11],T=A[12],l=A[13],x=A[14],w=A[15],S=E[0],M=E[1],m=E[2],b=E[3];return _[0]=S*e+M*a+m*h+b*T,_[1]=S*t+M*n+m*f+b*l,_[2]=S*r+M*i+m*v+b*x,_[3]=S*o+M*s+m*c+b*w,S=E[4],M=E[5],m=E[6],b=E[7],_[4]=S*e+M*a+m*h+b*T,_[5]=S*t+M*n+m*f+b*l,_[6]=S*r+M*i+m*v+b*x,_[7]=S*o+M*s+m*c+b*w,S=E[8],M=E[9],m=E[10],b=E[11],_[8]=S*e+M*a+m*h+b*T,_[9]=S*t+M*n+m*f+b*l,_[10]=S*r+M*i+m*v+b*x,_[11]=S*o+M*s+m*c+b*w,S=E[12],M=E[13],m=E[14],b=E[15],_[12]=S*e+M*a+m*h+b*T,_[13]=S*t+M*n+m*f+b*l,_[14]=S*r+M*i+m*v+b*x,_[15]=S*o+M*s+m*c+b*w,_}}}),b7=Ge({\"node_modules/gl-mat4/translate.js\"(Z,G){G.exports=d;function d(_,A,E){var e=E[0],t=E[1],r=E[2],o,a,n,i,s,h,f,v,c,T,l,x;return A===_?(_[12]=A[0]*e+A[4]*t+A[8]*r+A[12],_[13]=A[1]*e+A[5]*t+A[9]*r+A[13],_[14]=A[2]*e+A[6]*t+A[10]*r+A[14],_[15]=A[3]*e+A[7]*t+A[11]*r+A[15]):(o=A[0],a=A[1],n=A[2],i=A[3],s=A[4],h=A[5],f=A[6],v=A[7],c=A[8],T=A[9],l=A[10],x=A[11],_[0]=o,_[1]=a,_[2]=n,_[3]=i,_[4]=s,_[5]=h,_[6]=f,_[7]=v,_[8]=c,_[9]=T,_[10]=l,_[11]=x,_[12]=o*e+s*t+c*r+A[12],_[13]=a*e+h*t+T*r+A[13],_[14]=n*e+f*t+l*r+A[14],_[15]=i*e+v*t+x*r+A[15]),_}}}),w7=Ge({\"node_modules/gl-mat4/scale.js\"(Z,G){G.exports=d;function d(_,A,E){var e=E[0],t=E[1],r=E[2];return _[0]=A[0]*e,_[1]=A[1]*e,_[2]=A[2]*e,_[3]=A[3]*e,_[4]=A[4]*t,_[5]=A[5]*t,_[6]=A[6]*t,_[7]=A[7]*t,_[8]=A[8]*r,_[9]=A[9]*r,_[10]=A[10]*r,_[11]=A[11]*r,_[12]=A[12],_[13]=A[13],_[14]=A[14],_[15]=A[15],_}}}),T7=Ge({\"node_modules/gl-mat4/rotate.js\"(Z,G){G.exports=d;function d(_,A,E,e){var t=e[0],r=e[1],o=e[2],a=Math.sqrt(t*t+r*r+o*o),n,i,s,h,f,v,c,T,l,x,w,S,M,m,b,p,u,g,y,D,L,z,F,B;return Math.abs(a)<1e-6?null:(a=1/a,t*=a,r*=a,o*=a,n=Math.sin(E),i=Math.cos(E),s=1-i,h=A[0],f=A[1],v=A[2],c=A[3],T=A[4],l=A[5],x=A[6],w=A[7],S=A[8],M=A[9],m=A[10],b=A[11],p=t*t*s+i,u=r*t*s+o*n,g=o*t*s-r*n,y=t*r*s-o*n,D=r*r*s+i,L=o*r*s+t*n,z=t*o*s+r*n,F=r*o*s-t*n,B=o*o*s+i,_[0]=h*p+T*u+S*g,_[1]=f*p+l*u+M*g,_[2]=v*p+x*u+m*g,_[3]=c*p+w*u+b*g,_[4]=h*y+T*D+S*L,_[5]=f*y+l*D+M*L,_[6]=v*y+x*D+m*L,_[7]=c*y+w*D+b*L,_[8]=h*z+T*F+S*B,_[9]=f*z+l*F+M*B,_[10]=v*z+x*F+m*B,_[11]=c*z+w*F+b*B,A!==_&&(_[12]=A[12],_[13]=A[13],_[14]=A[14],_[15]=A[15]),_)}}}),A7=Ge({\"node_modules/gl-mat4/rotateX.js\"(Z,G){G.exports=d;function d(_,A,E){var e=Math.sin(E),t=Math.cos(E),r=A[4],o=A[5],a=A[6],n=A[7],i=A[8],s=A[9],h=A[10],f=A[11];return A!==_&&(_[0]=A[0],_[1]=A[1],_[2]=A[2],_[3]=A[3],_[12]=A[12],_[13]=A[13],_[14]=A[14],_[15]=A[15]),_[4]=r*t+i*e,_[5]=o*t+s*e,_[6]=a*t+h*e,_[7]=n*t+f*e,_[8]=i*t-r*e,_[9]=s*t-o*e,_[10]=h*t-a*e,_[11]=f*t-n*e,_}}}),S7=Ge({\"node_modules/gl-mat4/rotateY.js\"(Z,G){G.exports=d;function d(_,A,E){var e=Math.sin(E),t=Math.cos(E),r=A[0],o=A[1],a=A[2],n=A[3],i=A[8],s=A[9],h=A[10],f=A[11];return A!==_&&(_[4]=A[4],_[5]=A[5],_[6]=A[6],_[7]=A[7],_[12]=A[12],_[13]=A[13],_[14]=A[14],_[15]=A[15]),_[0]=r*t-i*e,_[1]=o*t-s*e,_[2]=a*t-h*e,_[3]=n*t-f*e,_[8]=r*e+i*t,_[9]=o*e+s*t,_[10]=a*e+h*t,_[11]=n*e+f*t,_}}}),M7=Ge({\"node_modules/gl-mat4/rotateZ.js\"(Z,G){G.exports=d;function d(_,A,E){var e=Math.sin(E),t=Math.cos(E),r=A[0],o=A[1],a=A[2],n=A[3],i=A[4],s=A[5],h=A[6],f=A[7];return A!==_&&(_[8]=A[8],_[9]=A[9],_[10]=A[10],_[11]=A[11],_[12]=A[12],_[13]=A[13],_[14]=A[14],_[15]=A[15]),_[0]=r*t+i*e,_[1]=o*t+s*e,_[2]=a*t+h*e,_[3]=n*t+f*e,_[4]=i*t-r*e,_[5]=s*t-o*e,_[6]=h*t-a*e,_[7]=f*t-n*e,_}}}),E7=Ge({\"node_modules/gl-mat4/fromRotation.js\"(Z,G){G.exports=d;function d(_,A,E){var e,t,r,o=E[0],a=E[1],n=E[2],i=Math.sqrt(o*o+a*a+n*n);return Math.abs(i)<1e-6?null:(i=1/i,o*=i,a*=i,n*=i,e=Math.sin(A),t=Math.cos(A),r=1-t,_[0]=o*o*r+t,_[1]=a*o*r+n*e,_[2]=n*o*r-a*e,_[3]=0,_[4]=o*a*r-n*e,_[5]=a*a*r+t,_[6]=n*a*r+o*e,_[7]=0,_[8]=o*n*r+a*e,_[9]=a*n*r-o*e,_[10]=n*n*r+t,_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_)}}}),k7=Ge({\"node_modules/gl-mat4/fromRotationTranslation.js\"(Z,G){G.exports=d;function d(_,A,E){var e=A[0],t=A[1],r=A[2],o=A[3],a=e+e,n=t+t,i=r+r,s=e*a,h=e*n,f=e*i,v=t*n,c=t*i,T=r*i,l=o*a,x=o*n,w=o*i;return _[0]=1-(v+T),_[1]=h+w,_[2]=f-x,_[3]=0,_[4]=h-w,_[5]=1-(s+T),_[6]=c+l,_[7]=0,_[8]=f+x,_[9]=c-l,_[10]=1-(s+v),_[11]=0,_[12]=E[0],_[13]=E[1],_[14]=E[2],_[15]=1,_}}}),C7=Ge({\"node_modules/gl-mat4/fromScaling.js\"(Z,G){G.exports=d;function d(_,A){return _[0]=A[0],_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=A[1],_[6]=0,_[7]=0,_[8]=0,_[9]=0,_[10]=A[2],_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_}}}),L7=Ge({\"node_modules/gl-mat4/fromTranslation.js\"(Z,G){G.exports=d;function d(_,A){return _[0]=1,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=1,_[6]=0,_[7]=0,_[8]=0,_[9]=0,_[10]=1,_[11]=0,_[12]=A[0],_[13]=A[1],_[14]=A[2],_[15]=1,_}}}),P7=Ge({\"node_modules/gl-mat4/fromXRotation.js\"(Z,G){G.exports=d;function d(_,A){var E=Math.sin(A),e=Math.cos(A);return _[0]=1,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=e,_[6]=E,_[7]=0,_[8]=0,_[9]=-E,_[10]=e,_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_}}}),I7=Ge({\"node_modules/gl-mat4/fromYRotation.js\"(Z,G){G.exports=d;function d(_,A){var E=Math.sin(A),e=Math.cos(A);return _[0]=e,_[1]=0,_[2]=-E,_[3]=0,_[4]=0,_[5]=1,_[6]=0,_[7]=0,_[8]=E,_[9]=0,_[10]=e,_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_}}}),R7=Ge({\"node_modules/gl-mat4/fromZRotation.js\"(Z,G){G.exports=d;function d(_,A){var E=Math.sin(A),e=Math.cos(A);return _[0]=e,_[1]=E,_[2]=0,_[3]=0,_[4]=-E,_[5]=e,_[6]=0,_[7]=0,_[8]=0,_[9]=0,_[10]=1,_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_}}}),D7=Ge({\"node_modules/gl-mat4/fromQuat.js\"(Z,G){G.exports=d;function d(_,A){var E=A[0],e=A[1],t=A[2],r=A[3],o=E+E,a=e+e,n=t+t,i=E*o,s=e*o,h=e*a,f=t*o,v=t*a,c=t*n,T=r*o,l=r*a,x=r*n;return _[0]=1-h-c,_[1]=s+x,_[2]=f-l,_[3]=0,_[4]=s-x,_[5]=1-i-c,_[6]=v+T,_[7]=0,_[8]=f+l,_[9]=v-T,_[10]=1-i-h,_[11]=0,_[12]=0,_[13]=0,_[14]=0,_[15]=1,_}}}),z7=Ge({\"node_modules/gl-mat4/frustum.js\"(Z,G){G.exports=d;function d(_,A,E,e,t,r,o){var a=1/(E-A),n=1/(t-e),i=1/(r-o);return _[0]=r*2*a,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=r*2*n,_[6]=0,_[7]=0,_[8]=(E+A)*a,_[9]=(t+e)*n,_[10]=(o+r)*i,_[11]=-1,_[12]=0,_[13]=0,_[14]=o*r*2*i,_[15]=0,_}}}),F7=Ge({\"node_modules/gl-mat4/perspective.js\"(Z,G){G.exports=d;function d(_,A,E,e,t){var r=1/Math.tan(A/2),o=1/(e-t);return _[0]=r/E,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=r,_[6]=0,_[7]=0,_[8]=0,_[9]=0,_[10]=(t+e)*o,_[11]=-1,_[12]=0,_[13]=0,_[14]=2*t*e*o,_[15]=0,_}}}),O7=Ge({\"node_modules/gl-mat4/perspectiveFromFieldOfView.js\"(Z,G){G.exports=d;function d(_,A,E,e){var t=Math.tan(A.upDegrees*Math.PI/180),r=Math.tan(A.downDegrees*Math.PI/180),o=Math.tan(A.leftDegrees*Math.PI/180),a=Math.tan(A.rightDegrees*Math.PI/180),n=2/(o+a),i=2/(t+r);return _[0]=n,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=i,_[6]=0,_[7]=0,_[8]=-((o-a)*n*.5),_[9]=(t-r)*i*.5,_[10]=e/(E-e),_[11]=-1,_[12]=0,_[13]=0,_[14]=e*E/(E-e),_[15]=0,_}}}),B7=Ge({\"node_modules/gl-mat4/ortho.js\"(Z,G){G.exports=d;function d(_,A,E,e,t,r,o){var a=1/(A-E),n=1/(e-t),i=1/(r-o);return _[0]=-2*a,_[1]=0,_[2]=0,_[3]=0,_[4]=0,_[5]=-2*n,_[6]=0,_[7]=0,_[8]=0,_[9]=0,_[10]=2*i,_[11]=0,_[12]=(A+E)*a,_[13]=(t+e)*n,_[14]=(o+r)*i,_[15]=1,_}}}),N7=Ge({\"node_modules/gl-mat4/lookAt.js\"(Z,G){var d=QA();G.exports=_;function _(A,E,e,t){var r,o,a,n,i,s,h,f,v,c,T=E[0],l=E[1],x=E[2],w=t[0],S=t[1],M=t[2],m=e[0],b=e[1],p=e[2];return Math.abs(T-m)<1e-6&&Math.abs(l-b)<1e-6&&Math.abs(x-p)<1e-6?d(A):(h=T-m,f=l-b,v=x-p,c=1/Math.sqrt(h*h+f*f+v*v),h*=c,f*=c,v*=c,r=S*v-M*f,o=M*h-w*v,a=w*f-S*h,c=Math.sqrt(r*r+o*o+a*a),c?(c=1/c,r*=c,o*=c,a*=c):(r=0,o=0,a=0),n=f*a-v*o,i=v*r-h*a,s=h*o-f*r,c=Math.sqrt(n*n+i*i+s*s),c?(c=1/c,n*=c,i*=c,s*=c):(n=0,i=0,s=0),A[0]=r,A[1]=n,A[2]=h,A[3]=0,A[4]=o,A[5]=i,A[6]=f,A[7]=0,A[8]=a,A[9]=s,A[10]=v,A[11]=0,A[12]=-(r*T+o*l+a*x),A[13]=-(n*T+i*l+s*x),A[14]=-(h*T+f*l+v*x),A[15]=1,A)}}}),U7=Ge({\"node_modules/gl-mat4/str.js\"(Z,G){G.exports=d;function d(_){return\"mat4(\"+_[0]+\", \"+_[1]+\", \"+_[2]+\", \"+_[3]+\", \"+_[4]+\", \"+_[5]+\", \"+_[6]+\", \"+_[7]+\", \"+_[8]+\", \"+_[9]+\", \"+_[10]+\", \"+_[11]+\", \"+_[12]+\", \"+_[13]+\", \"+_[14]+\", \"+_[15]+\")\"}}}),e5=Ge({\"node_modules/gl-mat4/index.js\"(Z,G){G.exports={create:p7(),clone:d7(),copy:v7(),identity:QA(),transpose:m7(),invert:g7(),adjoint:y7(),determinant:_7(),multiply:x7(),translate:b7(),scale:w7(),rotate:T7(),rotateX:A7(),rotateY:S7(),rotateZ:M7(),fromRotation:E7(),fromRotationTranslation:k7(),fromScaling:C7(),fromTranslation:L7(),fromXRotation:P7(),fromYRotation:I7(),fromZRotation:R7(),fromQuat:D7(),frustum:z7(),perspective:F7(),perspectiveFromFieldOfView:O7(),ortho:B7(),lookAt:N7(),str:U7()}}}),d2=Ge({\"src/lib/matrix.js\"(Z){\"use strict\";var G=e5();Z.init2dArray=function(d,_){for(var A=new Array(d),E=0;ESo({valType:\"string\",dflt:\"\",editType:E},e!==!1?{arrayOk:!0}:{}),Z.texttemplateAttrs=({editType:E=\"calc\",arrayOk:e}={},t={})=>So({valType:\"string\",dflt:\"\",editType:E},e!==!1?{arrayOk:!0}:{}),Z.shapeTexttemplateAttrs=({editType:E=\"arraydraw\",newshape:e}={},t={})=>({valType:\"string\",dflt:\"\",editType:E}),Z.templatefallbackAttrs=({editType:E=\"none\"}={})=>({valType:\"any\",dflt:\"-\",editType:E})}}),v2=Ge({\"src/components/shapes/label_texttemplate.js\"(Z,G){\"use strict\";function d(S,M){return M?M.d2l(S):S}function _(S,M){return M?M.l2d(S):S}function A(S){return S.x0}function E(S){return S.x1}function e(S){return S.y0}function t(S){return S.y1}function r(S){return S.x0shift||0}function o(S){return S.x1shift||0}function a(S){return S.y0shift||0}function n(S){return S.y1shift||0}function i(S,M){return d(S.x1,M)+o(S)-d(S.x0,M)-r(S)}function s(S,M,m){return d(S.y1,m)+n(S)-d(S.y0,m)-a(S)}function h(S,M){return Math.abs(i(S,M))}function f(S,M,m){return Math.abs(s(S,M,m))}function v(S,M,m){return S.type!==\"line\"?void 0:Math.sqrt(Math.pow(i(S,M),2)+Math.pow(s(S,M,m),2))}function c(S,M){return _((d(S.x1,M)+o(S)+d(S.x0,M)+r(S))/2,M)}function T(S,M,m){return _((d(S.y1,m)+n(S)+d(S.y0,m)+a(S))/2,m)}function l(S,M,m){return S.type!==\"line\"?void 0:s(S,M,m)/i(S,M)}var x=[\"x0\",\"x1\",\"y0\",\"y1\",\"dy\",\"height\",\"ycenter\"],w=[\"x0\",\"x1\",\"y0\",\"y1\",\"dx\",\"width\",\"xcenter\"];G.exports={x0:A,x1:E,y0:e,y1:t,slope:l,dx:i,dy:s,width:h,height:f,length:v,xcenter:c,ycenter:T,simpleXVariables:x,simpleYVariables:w}}}),j7=Ge({\"src/components/shapes/draw_newshape/attributes.js\"(Z,G){\"use strict\";var d=pc().overrideAll,_=au(),A=tc(),E=Gh().dash,e=rs().extendFlat,{shapeTexttemplateAttrs:t,templatefallbackAttrs:r}=$l(),o=v2();G.exports=d({newshape:{visible:e({},_.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:e({},_.legend,{}),legendgroup:e({},_.legendgroup,{}),legendgrouptitle:{text:e({},_.legendgrouptitle.text,{}),font:A({})},legendrank:e({},_.legendrank,{}),legendwidth:e({},_.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:e({},E,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:e({},_.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:t({newshape:!0},{keys:Object.keys(o)}),texttemplatefallback:r({editType:\"arraydraw\"}),font:A({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\",description:\"Sets the color filling the active shape' interior.\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")}}),q7=Ge({\"src/components/selections/draw_newselection/attributes.js\"(Z,G){\"use strict\";var d=Gh().dash,_=rs().extendFlat;G.exports={newselection:{mode:{valType:\"enumerated\",values:[\"immediate\",\"gradual\"],dflt:\"immediate\",editType:\"none\"},line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:1,dflt:1,editType:\"none\"},dash:_({},d,{dflt:\"dot\",editType:\"none\"}),editType:\"none\"},editType:\"none\"},activeselection:{fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}}}),m2=Ge({\"src/plots/pad_attributes.js\"(Z,G){\"use strict\";G.exports=function(d){var _=d.editType;return{t:{valType:\"number\",dflt:0,editType:_},r:{valType:\"number\",dflt:0,editType:_},b:{valType:\"number\",dflt:0,editType:_},l:{valType:\"number\",dflt:0,editType:_},editType:_}}}}),$y=Ge({\"src/plots/layout_attributes.js\"(Z,G){\"use strict\";var d=tc(),_=A_(),A=sh(),E=j7(),e=q7(),t=m2(),r=rs().extendFlat,o=d({editType:\"calc\"});o.family.dflt='\"Open Sans\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=A.defaultLine,G.exports={font:o,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:d({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:d({editType:\"layoutstyle\"}),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:r(t({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},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\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,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\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:A.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:A.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:A.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\"},newshape:E.newshape,activeshape:E.activeshape,newselection:e.newselection,activeselection:e.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:r({},_.transition,{editType:\"none\"})}}}),V7=Ge({\"node_modules/maplibre-gl/dist/maplibre-gl.css\"(){(function(){if(!document.getElementById(\"8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc\")){var Z=document.createElement(\"style\");Z.id=\"8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc\",Z.textContent=`.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}`,document.head.appendChild(Z)}})()}}),so=Ge({\"src/registry.js\"(Z){\"use strict\";var G=Km(),d=p2(),_=$A(),A=Zv(),E=T_().addStyleRule,e=rs(),t=au(),r=$y(),o=e.extendFlat,a=e.extendDeepAll;Z.modules={},Z.allCategories={},Z.allTypes=[],Z.subplotsRegistry={},Z.componentsRegistry={},Z.layoutArrayContainers=[],Z.layoutArrayRegexes=[],Z.traceLayoutAttributes={},Z.localeRegistry={},Z.apiMethodRegistry={},Z.collectableSubplotTypes=null,Z.register=function(w){if(Z.collectableSubplotTypes=null,w)w&&!Array.isArray(w)&&(w=[w]);else throw new Error(\"No argument passed to Plotly.register.\");for(var S=0;S=l&&F<=x?F:e}if(typeof F!=\"string\"&&typeof F!=\"number\")return e;F=String(F);var N=c(B),X=F.charAt(0);N&&(X===\"G\"||X===\"g\")&&(F=F.slice(1),B=\"\");var $=N&&B.slice(0,7)===\"chinese\",ue=F.match($?f:h);if(!ue)return e;var ce=ue[1],de=ue[3]||\"1\",V=Number(ue[5]||1),Y=Number(ue[7]||0),ee=Number(ue[9]||0),q=Number(ue[11]||0);if(N){if(ce.length===2)return e;ce=Number(ce);var se;try{var ae=i.getComponentMethod(\"calendars\",\"getCal\")(B);if($){var j=de.charAt(de.length-1)===\"i\";de=parseInt(de,10),se=ae.newDate(ce,ae.toMonthIndex(ce,de,j),V)}else se=ae.newDate(ce,Number(de),V)}catch{return e}return se?(se.toJD()-n)*t+Y*r+ee*o+q*a:e}ce.length===2?ce=(Number(ce)+2e3-v)%100+v:ce=Number(ce),de-=1;var Q=new Date(Date.UTC(2e3,de,V,Y,ee));return Q.setUTCFullYear(ce),Q.getUTCMonth()!==de||Q.getUTCDate()!==V?e:Q.getTime()+q*a},l=Z.MIN_MS=Z.dateTime2ms(\"-9999\"),x=Z.MAX_MS=Z.dateTime2ms(\"9999-12-31 23:59:59.9999\"),Z.isDateTime=function(F,B){return Z.dateTime2ms(F,B)!==e};function w(F,B){return String(F+Math.pow(10,B)).slice(1)}var S=90*t,M=3*r,m=5*o;Z.ms2DateTime=function(F,B,O){if(typeof F!=\"number\"||!(F>=l&&F<=x))return e;B||(B=0);var P=Math.floor(A(F+.05,1)*10),U=Math.round(F-P/10),N,X,$,ue,ce,de;if(c(O)){var V=Math.floor(U/t)+n,Y=Math.floor(A(F,t));try{N=i.getComponentMethod(\"calendars\",\"getCal\")(O).fromJD(V).formatDate(\"yyyy-mm-dd\")}catch{N=s(\"G%Y-%m-%d\")(new Date(U))}if(N.charAt(0)===\"-\")for(;N.length<11;)N=\"-0\"+N.slice(1);else for(;N.length<10;)N=\"0\"+N;X=B=l+t&&F<=x-t))return e;var B=Math.floor(A(F+.05,1)*10),O=new Date(Math.round(F-B/10)),P=G(\"%Y-%m-%d\")(O),U=O.getHours(),N=O.getMinutes(),X=O.getSeconds(),$=O.getUTCMilliseconds()*10+B;return b(P,U,N,X,$)};function b(F,B,O,P,U){if((B||O||P||U)&&(F+=\" \"+w(B,2)+\":\"+w(O,2),(P||U)&&(F+=\":\"+w(P,2),U))){for(var N=4;U%10===0;)N-=1,U/=10;F+=\".\"+w(U,N)}return F}Z.cleanDate=function(F,B,O){if(F===e)return B;if(Z.isJSDate(F)||typeof F==\"number\"&&isFinite(F)){if(c(O))return _.error(\"JS Dates and milliseconds are incompatible with world calendars\",F),B;if(F=Z.ms2DateTimeLocal(+F),!F&&B!==void 0)return B}else if(!Z.isDateTime(F,O))return _.error(\"unrecognized date\",F),B;return F};var p=/%\\d?f/g,u=/%h/g,g={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function y(F,B,O,P){F=F.replace(p,function(N){var X=Math.min(+N.charAt(1)||6,6),$=(B/1e3%1+2).toFixed(X).slice(2).replace(/0+$/,\"\")||\"0\";return $});var U=new Date(Math.floor(B+.05));if(F=F.replace(u,function(){return g[O(\"%q\")(U)]}),c(P))try{F=i.getComponentMethod(\"calendars\",\"worldCalFmt\")(F,B,P)}catch{return\"Invalid\"}return O(F)(U)}var D=[59,59.9,59.99,59.999,59.9999];function L(F,B){var O=A(F+.05,t),P=w(Math.floor(O/r),2)+\":\"+w(A(Math.floor(O/o),60),2);if(B!==\"M\"){d(B)||(B=0);var U=Math.min(A(F/a,60),D[B]),N=(100+U).toFixed(B).slice(1);B>0&&(N=N.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),P+=\":\"+N}return P}Z.formatDate=function(F,B,O,P,U,N){if(U=c(U)&&U,!B)if(O===\"y\")B=N.year;else if(O===\"m\")B=N.month;else if(O===\"d\")B=N.dayMonth+`\n`+N.year;else return L(F,O)+`\n`+y(N.dayMonthYear,F,P,U);return y(B,F,P,U)};var z=3*t;Z.incrementMonth=function(F,B,O){O=c(O)&&O;var P=A(F,t);if(F=Math.round(F-P),O)try{var U=Math.round(F/t)+n,N=i.getComponentMethod(\"calendars\",\"getCal\")(O),X=N.fromJD(U);return B%12?N.add(X,B,\"m\"):N.add(X,B/12,\"y\"),(X.toJD()-n)*t+P}catch{_.error(\"invalid ms \"+F+\" in calendar \"+O)}var $=new Date(F+z);return $.setUTCMonth($.getUTCMonth()+B)+P-z},Z.findExactDates=function(F,B){for(var O=0,P=0,U=0,N=0,X,$,ue=c(B)&&i.getComponentMethod(\"calendars\",\"getCal\")(B),ce=0;ce1?(n[h-1]-n[0])/(h-1):1,c,T;for(v>=0?T=i?e:t:T=i?o:r,a+=v*E*(i?-1:1)*(v>=0?1:-1);s90&&d.log(\"Long binary search...\"),s-1};function e(a,n){return an}function o(a,n){return a>=n}Z.sorterAsc=function(a,n){return a-n},Z.sorterDes=function(a,n){return n-a},Z.distinctVals=function(a){var n=a.slice();n.sort(Z.sorterAsc);var i;for(i=n.length-1;i>-1&&n[i]===A;i--);for(var s=n[i]-n[0]||1,h=s/(i||1)/1e4,f=[],v,c=0;c<=i;c++){var T=n[c],l=T-v;v===void 0?(f.push(T),v=T):l>h&&(s=Math.min(s,l),f.push(T),v=T)}return{vals:f,minDiff:s}},Z.roundUp=function(a,n,i){for(var s=0,h=n.length-1,f,v=0,c=i?0:1,T=i?1:0,l=i?Math.ceil:Math.floor;s0&&(s=1),i&&s)return a.sort(n)}return s?a:a.reverse()},Z.findIndexOfMin=function(a,n){n=n||_;for(var i=1/0,s,h=0;hE.length)&&(e=E.length),G(A)||(A=!1),d(E[0])){for(r=new Array(e),t=0;t_.length-1)return _[_.length-1];var E=A%1;return E*_[Math.ceil(A)]+(1-E)*_[Math.floor(A)]}}}),W7=Ge({\"src/lib/angles.js\"(Z,G){\"use strict\";var d=Yy(),_=d.mod,A=d.modHalf,E=Math.PI,e=2*E;function t(T){return T/180*E}function r(T){return T/E*180}function o(T){return Math.abs(T[1]-T[0])>e-1e-14}function a(T,l){return A(l-T,e)}function n(T,l){return Math.abs(a(T,l))}function i(T,l){if(o(l))return!0;var x,w;l[0]w&&(w+=e);var S=_(T,e),M=S+e;return S>=x&&S<=w||M>=x&&M<=w}function s(T,l,x,w){if(!i(l,w))return!1;var S,M;return x[0]=S&&T<=M}function h(T,l,x,w,S,M,m){S=S||0,M=M||0;var b=o([x,w]),p,u,g,y,D;b?(p=0,u=E,g=e):x1/3&&d.x<2/3},Z.isRightAnchor=function(d){return d.xanchor===\"right\"||d.xanchor===\"auto\"&&d.x>=2/3},Z.isTopAnchor=function(d){return d.yanchor===\"top\"||d.yanchor===\"auto\"&&d.y>=2/3},Z.isMiddleAnchor=function(d){return d.yanchor===\"middle\"||d.yanchor===\"auto\"&&d.y>1/3&&d.y<2/3},Z.isBottomAnchor=function(d){return d.yanchor===\"bottom\"||d.yanchor===\"auto\"&&d.y<=1/3}}}),Z7=Ge({\"src/lib/geometry2d.js\"(Z){\"use strict\";var G=Yy().mod;Z.segmentsIntersect=d;function d(t,r,o,a,n,i,s,h){var f=o-t,v=n-t,c=s-n,T=a-r,l=i-r,x=h-i,w=f*x-c*T;if(w===0)return null;var S=(v*x-c*l)/w,M=(v*T-f*l)/w;return M<0||M>1||S<0||S>1?null:{x:t+f*S,y:r+T*S}}Z.segmentDistance=function(r,o,a,n,i,s,h,f){if(d(r,o,a,n,i,s,h,f))return 0;var v=a-r,c=n-o,T=h-i,l=f-s,x=v*v+c*c,w=T*T+l*l,S=Math.min(_(v,c,x,i-r,s-o),_(v,c,x,h-r,f-o),_(T,l,w,r-i,o-s),_(T,l,w,a-i,n-s));return Math.sqrt(S)};function _(t,r,o,a,n){var i=a*t+n*r;if(i<0)return a*a+n*n;if(i>o){var s=a-t,h=n-r;return s*s+h*h}else{var f=a*r-n*t;return f*f/o}}var A,E,e;Z.getTextLocation=function(r,o,a,n){if((r!==E||n!==e)&&(A={},E=r,e=n),A[a])return A[a];var i=r.getPointAtLength(G(a-n/2,o)),s=r.getPointAtLength(G(a+n/2,o)),h=Math.atan((s.y-i.y)/(s.x-i.x)),f=r.getPointAtLength(G(a,o)),v=(f.x*4+i.x+s.x)/6,c=(f.y*4+i.y+s.y)/6,T={x:v,y:c,theta:h};return A[a]=T,T},Z.clearLocationCache=function(){E=null},Z.getVisibleSegment=function(r,o,a){var n=o.left,i=o.right,s=o.top,h=o.bottom,f=0,v=r.getTotalLength(),c=v,T,l;function x(S){var M=r.getPointAtLength(S);S===0?T=M:S===v&&(l=M);var m=M.xi?M.x-i:0,b=M.yh?M.y-h:0;return Math.sqrt(m*m+b*b)}for(var w=x(f);w;){if(f+=w+a,f>c)return;w=x(f)}for(w=x(c);w;){if(c-=w+a,f>c)return;w=x(c)}return{min:f,max:c,len:c-f,total:v,isClosed:f===0&&c===v&&Math.abs(T.x-l.x)<.1&&Math.abs(T.y-l.y)<.1}},Z.findPointOnPath=function(r,o,a,n){n=n||{};for(var i=n.pathLength||r.getTotalLength(),s=n.tolerance||.001,h=n.iterationLimit||30,f=r.getPointAtLength(0)[a]>r.getPointAtLength(i)[a]?-1:1,v=0,c=0,T=i,l,x,w;v0?T=l:c=l,v++}return x}}}),y2=Ge({\"src/lib/throttle.js\"(Z){\"use strict\";var G={};Z.throttle=function(A,E,e){var t=G[A],r=Date.now();if(!t){for(var o in G)G[o].tst.ts+E){a();return}t.timer=setTimeout(function(){a(),t.timer=null},E)},Z.done=function(_){var A=G[_];return!A||!A.timer?Promise.resolve():new Promise(function(E){var e=A.onDone;A.onDone=function(){e&&e(),E(),A.onDone=null}})},Z.clear=function(_){if(_)d(G[_]),delete G[_];else for(var A in G)Z.clear(A)};function d(_){_&&_.timer!==null&&(clearTimeout(_.timer),_.timer=null)}}}),Y7=Ge({\"src/lib/clear_responsive.js\"(Z,G){\"use strict\";G.exports=function(_){_._responsiveChartHandler&&(window.removeEventListener(\"resize\",_._responsiveChartHandler),delete _._responsiveChartHandler)}}}),K7=Ge({\"node_modules/is-mobile/index.js\"(Z,G){\"use strict\";G.exports=E,G.exports.isMobile=E,G.exports.default=E;var d=/(android|bb\\d+|meego).+mobile|armv7l|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|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,_=/CrOS/,A=/android|ipad|playbook|silk/i;function E(e){e||(e={});let t=e.ua;if(!t&&typeof navigator<\"u\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=d.test(t)&&!_.test(t)||!!e.tablet&&A.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}}}),J7=Ge({\"src/lib/preserve_drawing_buffer.js\"(Z,G){\"use strict\";var d=ns(),_=K7();G.exports=function(e){var t;if(e&&e.hasOwnProperty(\"userAgent\")?t=e.userAgent:t=A(),typeof t!=\"string\")return!0;var r=_({ua:{headers:{\"user-agent\":t}},tablet:!0,featureDetect:!1});if(!r)for(var o=t.split(\" \"),a=1;a-1;i--){var s=o[i];if(s.slice(0,8)===\"Version/\"){var h=s.slice(8).split(\".\")[0];if(d(h)&&(h=+h),h>=13)return!0}}}return r};function A(){var E;return typeof navigator<\"u\"&&(E=navigator.userAgent),E&&E.headers&&typeof E.headers[\"user-agent\"]==\"string\"&&(E=E.headers[\"user-agent\"]),E}}}),$7=Ge({\"src/lib/make_trace_groups.js\"(Z,G){\"use strict\";var d=Vn();G.exports=function(A,E,e){var t=A.selectAll(\"g.\"+e.replace(/\\s/g,\".\")).data(E,function(o){return o[0].trace.uid});t.exit().remove(),t.enter().append(\"g\").attr(\"class\",e),t.order();var r=A.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return t.each(function(o){o[0][r]=d.select(this)}),t}}}),Q7=Ge({\"src/lib/localize.js\"(Z,G){\"use strict\";var d=so();G.exports=function(A,E){for(var e=A._context.locale,t=0;t<2;t++){for(var r=A._context.locales,o=0;o<2;o++){var a=(r[e]||{}).dictionary;if(a){var n=a[E];if(n)return n}r=d.localeRegistry}var i=e.split(\"-\")[0];if(i===e)break;e=i}return E}}}),r5=Ge({\"src/lib/filter_unique.js\"(Z,G){\"use strict\";G.exports=function(_){for(var A={},E=[],e=0,t=0;t<_.length;t++){var r=_[t];A[r]!==1&&(A[r]=1,E[e++]=r)}return E}}}),ez=Ge({\"src/lib/filter_visible.js\"(Z,G){\"use strict\";G.exports=function(e){for(var t=A(e)?_:d,r=[],o=0;o1?(E*_+E*A)/E:_+A,t=String(e).length;if(t>16){var r=String(A).length,o=String(_).length;if(t>=o+r){var a=parseFloat(e).toPrecision(12);a.indexOf(\"e+\")===-1&&(e=+a)}}return e}}}),rz=Ge({\"src/lib/clean_number.js\"(Z,G){\"use strict\";var d=ns(),_=Gs().BADNUM,A=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;G.exports=function(e){return typeof e==\"string\"&&(e=e.replace(A,\"\")),d(e)?Number(e):_}}}),sa=Ge({\"src/lib/index.js\"(Z,G){\"use strict\";var d=Vn(),_=Xv().utcFormat,A=YA().format,E=ns(),e=Gs(),t=e.FP_SAFE,r=-t,o=e.BADNUM,a=G.exports={};a.adjustFormat=function(j){return!j||/^\\d[.]\\df/.test(j)||/[.]\\d%/.test(j)?j:j===\"0.f\"?\"~f\":/^\\d%/.test(j)?\"~%\":/^\\ds/.test(j)?\"~s\":!/^[~,.0$]/.test(j)&&/[&fps]/.test(j)?\"~\"+j:j};var n={};a.warnBadFormat=function(ae){var j=String(ae);n[j]||(n[j]=1,a.warn('encountered bad format: \"'+j+'\"'))},a.noFormat=function(ae){return String(ae)},a.numberFormat=function(ae){var j;try{j=A(a.adjustFormat(ae))}catch{return a.warnBadFormat(ae),a.noFormat}return j},a.nestedProperty=b_(),a.keyedContainer=u7(),a.relativeAttr=c7(),a.isPlainObject=Zv(),a.toLogRange=h2(),a.relinkPrivateKeys=f7();var i=hp();a.isArrayBuffer=i.isArrayBuffer,a.isTypedArray=i.isTypedArray,a.isArrayOrTypedArray=i.isArrayOrTypedArray,a.isArray1D=i.isArray1D,a.ensureArray=i.ensureArray,a.concat=i.concat,a.maxRowLength=i.maxRowLength,a.minRowLength=i.minRowLength;var s=Yy();a.mod=s.mod,a.modHalf=s.modHalf;var h=h7();a.valObjectMeta=h.valObjectMeta,a.coerce=h.coerce,a.coerce2=h.coerce2,a.coerceFont=h.coerceFont,a.coercePattern=h.coercePattern,a.coerceHoverinfo=h.coerceHoverinfo,a.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,a.validate=h.validate;var f=G7();a.dateTime2ms=f.dateTime2ms,a.isDateTime=f.isDateTime,a.ms2DateTime=f.ms2DateTime,a.ms2DateTimeLocal=f.ms2DateTimeLocal,a.cleanDate=f.cleanDate,a.isJSDate=f.isJSDate,a.formatDate=f.formatDate,a.incrementMonth=f.incrementMonth,a.dateTick0=f.dateTick0,a.dfltRange=f.dfltRange,a.findExactDates=f.findExactDates,a.MIN_MS=f.MIN_MS,a.MAX_MS=f.MAX_MS;var v=g2();a.findBin=v.findBin,a.sorterAsc=v.sorterAsc,a.sorterDes=v.sorterDes,a.distinctVals=v.distinctVals,a.roundUp=v.roundUp,a.sort=v.sort,a.findIndexOfMin=v.findIndexOfMin,a.sortObjectKeys=Jm();var c=H7();a.aggNums=c.aggNums,a.len=c.len,a.mean=c.mean,a.geometricMean=c.geometricMean,a.median=c.median,a.midRange=c.midRange,a.variance=c.variance,a.stdev=c.stdev,a.interp=c.interp;var T=d2();a.init2dArray=T.init2dArray,a.transposeRagged=T.transposeRagged,a.dot=T.dot,a.translationMatrix=T.translationMatrix,a.rotationMatrix=T.rotationMatrix,a.rotationXYMatrix=T.rotationXYMatrix,a.apply3DTransform=T.apply3DTransform,a.apply2DTransform=T.apply2DTransform,a.apply2DTransform2=T.apply2DTransform2,a.convertCssMatrix=T.convertCssMatrix,a.inverseTransformMatrix=T.inverseTransformMatrix;var l=W7();a.deg2rad=l.deg2rad,a.rad2deg=l.rad2deg,a.angleDelta=l.angleDelta,a.angleDist=l.angleDist,a.isFullCircle=l.isFullCircle,a.isAngleInsideSector=l.isAngleInsideSector,a.isPtInsideSector=l.isPtInsideSector,a.pathArc=l.pathArc,a.pathSector=l.pathSector,a.pathAnnulus=l.pathAnnulus;var x=X7();a.isLeftAnchor=x.isLeftAnchor,a.isCenterAnchor=x.isCenterAnchor,a.isRightAnchor=x.isRightAnchor,a.isTopAnchor=x.isTopAnchor,a.isMiddleAnchor=x.isMiddleAnchor,a.isBottomAnchor=x.isBottomAnchor;var w=Z7();a.segmentsIntersect=w.segmentsIntersect,a.segmentDistance=w.segmentDistance,a.getTextLocation=w.getTextLocation,a.clearLocationCache=w.clearLocationCache,a.getVisibleSegment=w.getVisibleSegment,a.findPointOnPath=w.findPointOnPath;var S=rs();a.extendFlat=S.extendFlat,a.extendDeep=S.extendDeep,a.extendDeepAll=S.extendDeepAll,a.extendDeepNoArrays=S.extendDeepNoArrays;var M=Km();a.log=M.log,a.warn=M.warn,a.error=M.error;var m=Jy();a.counterRegex=m.counter;var b=y2();a.throttle=b.throttle,a.throttleDone=b.done,a.clearThrottle=b.clear;var p=T_();a.getGraphDiv=p.getGraphDiv,a.isPlotDiv=p.isPlotDiv,a.removeElement=p.removeElement,a.addStyleRule=p.addStyleRule,a.addRelatedStyleRule=p.addRelatedStyleRule,a.deleteRelatedStyleRule=p.deleteRelatedStyleRule,a.setStyleOnHover=p.setStyleOnHover,a.getFullTransformMatrix=p.getFullTransformMatrix,a.getElementTransformMatrix=p.getElementTransformMatrix,a.getElementAndAncestors=p.getElementAndAncestors,a.equalDomRects=p.equalDomRects,a.clearResponsive=Y7(),a.preserveDrawingBuffer=J7(),a.makeTraceGroups=$7(),a._=Q7(),a.notifier=JA(),a.filterUnique=r5(),a.filterVisible=ez(),a.pushUnique=$A(),a.increment=tz(),a.cleanNumber=rz(),a.ensureNumber=function(j){return E(j)?(j=Number(j),j>t||j=j?!1:E(ae)&&ae>=0&&ae%1===0},a.noop=p2(),a.identity=S_(),a.repeat=function(ae,j){for(var Q=new Array(j),re=0;reQ?Math.max(Q,Math.min(j,ae)):Math.max(j,Math.min(Q,ae))},a.bBoxIntersect=function(ae,j,Q){return Q=Q||0,ae.left<=j.right+Q&&j.left<=ae.right+Q&&ae.top<=j.bottom+Q&&j.top<=ae.bottom+Q},a.simpleMap=function(ae,j,Q,re,pe){for(var we=ae.length,Se=new Array(we),Ie=0;Ie=Math.pow(2,Q)?pe>10?(a.warn(\"randstr failed uniqueness\"),Se):ae(j,Q,re,(pe||0)+1):Se},a.OptionControl=function(ae,j){ae||(ae={}),j||(j=\"opt\");var Q={};return Q.optionList=[],Q._newoption=function(re){re[j]=ae,Q[re.name]=re,Q.optionList.push(re)},Q[\"_\"+j]=ae,Q},a.smooth=function(ae,j){if(j=Math.round(j)||0,j<2)return ae;var Q=ae.length,re=2*Q,pe=2*j-1,we=new Array(pe),Se=new Array(Q),Ie,Re,He,at;for(Ie=0;Ie=re&&(He-=re*Math.floor(He/re)),He<0?He=-1-He:He>=Q&&(He=re-1-He),at+=ae[He]*we[Re];Se[Ie]=at}return Se},a.syncOrAsync=function(ae,j,Q){var re,pe;function we(){return a.syncOrAsync(ae,j,Q)}for(;ae.length;)if(pe=ae.splice(0,1)[0],re=pe(j),re&&re.then)return re.then(we);return Q&&Q(j)},a.stripTrailingSlash=function(ae){return ae.slice(-1)===\"/\"?ae.slice(0,-1):ae},a.noneOrAll=function(ae,j,Q){if(ae){var re=!1,pe=!0,we,Se;for(we=0;we0?pe:0})},a.fillArray=function(ae,j,Q,re){if(re=re||a.identity,a.isArrayOrTypedArray(ae))for(var pe=0;peL.test(window.navigator.userAgent);var z=/Firefox\\/(\\d+)\\.\\d+/;a.getFirefoxVersion=function(){var ae=z.exec(window.navigator.userAgent);if(ae&&ae.length===2){var j=parseInt(ae[1]);if(!isNaN(j))return j}return null},a.isD3Selection=function(ae){return ae instanceof d.selection},a.ensureSingle=function(ae,j,Q,re){var pe=ae.select(j+(Q?\".\"+Q:\"\"));if(pe.size())return pe;var we=ae.append(j);return Q&&we.classed(Q,!0),re&&we.call(re),we},a.ensureSingleById=function(ae,j,Q,re){var pe=ae.select(j+\"#\"+Q);if(pe.size())return pe;var we=ae.append(j).attr(\"id\",Q);return re&&we.call(re),we},a.objectFromPath=function(ae,j){for(var Q=ae.split(\".\"),re,pe=re={},we=0;we1?pe+Se[1]:\"\";if(we&&(Se.length>1||Ie.length>4||Q))for(;re.test(Ie);)Ie=Ie.replace(re,\"$1\"+we+\"$2\");return Ie+Re},a.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var P=/^\\w*$/;a.templateString=function(ae,j){var Q={};return ae.replace(a.TEMPLATE_STRING_REGEX,function(re,pe){var we;return P.test(pe)?we=j[pe]:(Q[pe]=Q[pe]||a.nestedProperty(j,pe).get,we=Q[pe](!0)),we!==void 0?we:\"\"})};var U={max:10,count:0,name:\"hovertemplate\"};a.hovertemplateString=ae=>de(ds(So({},ae),{opts:U}));var N={max:10,count:0,name:\"texttemplate\"};a.texttemplateString=ae=>de(ds(So({},ae),{opts:N}));var X=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function $(ae){var j=ae.match(X);return j?{key:j[1],op:j[2],number:Number(j[3])}:{key:ae,op:null,number:null}}var ue={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};a.texttemplateStringForShapes=ae=>de(ds(So({},ae),{opts:ue}));var ce=/^[:|\\|]/;function de({data:ae=[],locale:j,fallback:Q,labels:re={},opts:pe,template:we}){return we.replace(a.TEMPLATE_STRING_REGEX,(Se,Ie,Re)=>{let He=[\"xother\",\"yother\"].includes(Ie),at=[\"_xother\",\"_yother\"].includes(Ie),nt=[\"_xother_\",\"_yother_\"].includes(Ie),tt=[\"xother_\",\"yother_\"].includes(Ie),Ue=He||at||tt||nt;(at||nt)&&(Ie=Ie.substring(1)),(tt||nt)&&(Ie=Ie.substring(0,Ie.length-1));let he=null,le=null;if(pe.parseMultDiv){var ne=$(Ie);Ie=ne.key,he=ne.op,le=ne.number}let Ce;if(Ue){if(re[Ie]===void 0)return\"\";Ce=re[Ie]}else for(let St of ae)if(St){if(St.hasOwnProperty(Ie)){Ce=St[Ie];break}if(P.test(Ie)||(Ce=a.nestedProperty(St,Ie).get(!0)),Ce!==void 0)break}if(Ce===void 0){let{count:St,max:kt,name:qt}=pe,Gt=Q===!1?Se:Q;return St=V&&Se<=Y,He=Ie>=V&&Ie<=Y;if(Re&&(re=10*re+Se-V),He&&(pe=10*pe+Ie-V),!Re||!He){if(re!==pe)return re-pe;if(Se!==Ie)return Se-Ie}}return pe-re};var ee=2e9;a.seedPseudoRandom=function(){ee=2e9},a.pseudoRandom=function(){var ae=ee;return ee=(69069*ee+1)%4294967296,Math.abs(ee-ae)<429496729?a.pseudoRandom():ee/4294967296},a.fillText=function(ae,j,Q){var re=Array.isArray(Q)?function(Se){Q.push(Se)}:function(Se){Q.text=Se},pe=a.extractOption(ae,j,\"htx\",\"hovertext\");if(a.isValidTextValue(pe))return re(pe);var we=a.extractOption(ae,j,\"tx\",\"text\");if(a.isValidTextValue(we))return re(we)},a.isValidTextValue=function(ae){return ae||ae===0},a.formatPercent=function(ae,j){j=j||0;for(var Q=(Math.round(100*ae*Math.pow(10,j))*Math.pow(.1,j)).toFixed(j)+\"%\",re=0;re1&&(He=1):He=0,a.strTranslate(pe-He*(Q+Se),we-He*(re+Ie))+a.strScale(He)+(Re?\"rotate(\"+Re+(j?\"\":\" \"+Q+\" \"+re)+\")\":\"\")},a.setTransormAndDisplay=function(ae,j){ae.attr(\"transform\",a.getTextTransform(j)),ae.style(\"display\",j.scale?null:\"none\")},a.ensureUniformFontSize=function(ae,j){var Q=a.extendFlat({},j);return Q.size=Math.max(j.size,ae._fullLayout.uniformtext.minsize||0),Q},a.join2=function(ae,j,Q){var re=ae.length;return re>1?ae.slice(0,-1).join(j)+Q+ae[re-1]:ae.join(j)},a.bigFont=function(ae){return Math.round(1.2*ae)};var q=a.getFirefoxVersion(),se=q!==null&&q<86;a.getPositionFromD3Event=function(){return se?[d.event.layerX,d.event.layerY]:[d.event.offsetX,d.event.offsetY]}}}),az=Ge({\"build/plotcss.js\"(){\"use strict\";var Z=sa(),G={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;border: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 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 .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X:focus-within .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-group a\":\"display:grid;place-content:center;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;border:none;background:rgba(0,0,0,0);\",\"X .modebar-btn svg\":\"position:relative;\",\"X .modebar-btn:focus-visible\":\"outline:1px solid #000;outline-offset:1px;border-radius:3px;\",\"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:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;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 rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;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,.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:.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(_ in G)d=_.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Z.addStyleRule(d,G[_]);var d,_}}),a5=Ge({\"node_modules/is-browser/client.js\"(Z,G){G.exports=!0}}),i5=Ge({\"node_modules/has-hover/index.js\"(Z,G){\"use strict\";var d=a5(),_;typeof window.matchMedia==\"function\"?_=!window.matchMedia(\"(hover: none)\").matches:_=d,G.exports=_}}),Z0=Ge({\"node_modules/events/events.js\"(Z,G){\"use strict\";var d=typeof Reflect==\"object\"?Reflect:null,_=d&&typeof d.apply==\"function\"?d.apply:function(M,m,b){return Function.prototype.apply.call(M,m,b)},A;d&&typeof d.ownKeys==\"function\"?A=d.ownKeys:Object.getOwnPropertySymbols?A=function(M){return Object.getOwnPropertyNames(M).concat(Object.getOwnPropertySymbols(M))}:A=function(M){return Object.getOwnPropertyNames(M)};function E(S){console&&console.warn&&console.warn(S)}var e=Number.isNaN||function(M){return M!==M};function t(){t.init.call(this)}G.exports=t,G.exports.once=l,t.EventEmitter=t,t.prototype._events=void 0,t.prototype._eventsCount=0,t.prototype._maxListeners=void 0;var r=10;function o(S){if(typeof S!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof S)}Object.defineProperty(t,\"defaultMaxListeners\",{enumerable:!0,get:function(){return r},set:function(S){if(typeof S!=\"number\"||S<0||e(S))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+S+\".\");r=S}}),t.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},t.prototype.setMaxListeners=function(M){if(typeof M!=\"number\"||M<0||e(M))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+M+\".\");return this._maxListeners=M,this};function a(S){return S._maxListeners===void 0?t.defaultMaxListeners:S._maxListeners}t.prototype.getMaxListeners=function(){return a(this)},t.prototype.emit=function(M){for(var m=[],b=1;b0&&(g=m[0]),g instanceof Error)throw g;var y=new Error(\"Unhandled error.\"+(g?\" (\"+g.message+\")\":\"\"));throw y.context=g,y}var D=u[M];if(D===void 0)return!1;if(typeof D==\"function\")_(D,this,m);else for(var L=D.length,z=v(D,L),b=0;b0&&g.length>p&&!g.warned){g.warned=!0;var y=new Error(\"Possible EventEmitter memory leak detected. \"+g.length+\" \"+String(M)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");y.name=\"MaxListenersExceededWarning\",y.emitter=S,y.type=M,y.count=g.length,E(y)}return S}t.prototype.addListener=function(M,m){return n(this,M,m,!1)},t.prototype.on=t.prototype.addListener,t.prototype.prependListener=function(M,m){return n(this,M,m,!0)};function i(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function s(S,M,m){var b={fired:!1,wrapFn:void 0,target:S,type:M,listener:m},p=i.bind(b);return p.listener=m,b.wrapFn=p,p}t.prototype.once=function(M,m){return o(m),this.on(M,s(this,M,m)),this},t.prototype.prependOnceListener=function(M,m){return o(m),this.prependListener(M,s(this,M,m)),this},t.prototype.removeListener=function(M,m){var b,p,u,g,y;if(o(m),p=this._events,p===void 0)return this;if(b=p[M],b===void 0)return this;if(b===m||b.listener===m)--this._eventsCount===0?this._events=Object.create(null):(delete p[M],p.removeListener&&this.emit(\"removeListener\",M,b.listener||m));else if(typeof b!=\"function\"){for(u=-1,g=b.length-1;g>=0;g--)if(b[g]===m||b[g].listener===m){y=b[g].listener,u=g;break}if(u<0)return this;u===0?b.shift():c(b,u),b.length===1&&(p[M]=b[0]),p.removeListener!==void 0&&this.emit(\"removeListener\",M,y||m)}return this},t.prototype.off=t.prototype.removeListener,t.prototype.removeAllListeners=function(M){var m,b,p;if(b=this._events,b===void 0)return this;if(b.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):b[M]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete b[M]),this;if(arguments.length===0){var u=Object.keys(b),g;for(p=0;p=0;p--)this.removeListener(M,m[p]);return this};function h(S,M,m){var b=S._events;if(b===void 0)return[];var p=b[M];return p===void 0?[]:typeof p==\"function\"?m?[p.listener||p]:[p]:m?T(p):v(p,p.length)}t.prototype.listeners=function(M){return h(this,M,!0)},t.prototype.rawListeners=function(M){return h(this,M,!1)},t.listenerCount=function(S,M){return typeof S.listenerCount==\"function\"?S.listenerCount(M):f.call(S,M)},t.prototype.listenerCount=f;function f(S){var M=this._events;if(M!==void 0){var m=M[S];if(typeof m==\"function\")return 1;if(m!==void 0)return m.length}return 0}t.prototype.eventNames=function(){return this._eventsCount>0?A(this._events):[]};function v(S,M){for(var m=new Array(M),b=0;b{},{passive:!0}),A},triggerHandler:function(A,E,e){var t,r=A._ev;if(!r)return;var o=r._events[E];if(!o)return;function a(i){if(i.listener){if(r.removeListener(E,i.listener),!i.fired)return i.fired=!0,i.listener.apply(r,[e])}else return i.apply(r,[e])}o=Array.isArray(o)?o:[o];var n;for(n=0;n_.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)},E.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},E.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},E.undo=function(t){var r,o;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,o=0;o=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,o=0;o=P.length)return!1;if(L.dimensions===2){if(F++,z.length===F)return L;var U=z[F];if(!w(U))return!1;L=P[O][U]}else L=P[O]}else L=P}}return L}function w(L){return L===Math.round(L)&&L>=0}function S(L){var z,F;z=G.modules[L]._module,F=z.basePlotModule;var B={};B.type=null;var O=o({},_),P=o({},z.attributes);Z.crawl(P,function(X,$,ue,ce,de){i(O,de).set(void 0),X===void 0&&i(P,de).set(void 0)}),o(B,O),G.traceIs(L,\"noOpacity\")&&delete B.opacity,G.traceIs(L,\"showLegend\")||(delete B.showlegend,delete B.legendgroup),G.traceIs(L,\"noHover\")&&(delete B.hoverinfo,delete B.hoverlabel),z.selectPoints||delete B.selectedpoints,o(B,P),F.attributes&&o(B,F.attributes),B.type=L;var U={meta:z.meta||{},categories:z.categories||{},animatable:!!z.animatable,type:L,attributes:b(B)};if(z.layoutAttributes){var N={};o(N,z.layoutAttributes),U.layoutAttributes=b(N)}return z.animatable||Z.crawl(U,function(X){Z.isValObject(X)&&\"anim\"in X&&delete X.anim}),U}function M(){var L={},z,F;o(L,A);for(z in G.subplotsRegistry)if(F=G.subplotsRegistry[z],!!F.layoutAttributes)if(Array.isArray(F.attr))for(var B=0;B=a&&(o._input||{})._templateitemname;i&&(n=a);var s=r+\"[\"+n+\"]\",h;function f(){h={},i&&(h[s]={},h[s][_]=i)}f();function v(x,w){h[x]=w}function c(x,w){i?G.nestedProperty(h[s],x).set(w):h[s+\".\"+x]=w}function T(){var x=h;return f(),x}function l(x,w){x&&c(x,w);var S=T();for(var M in S)G.nestedProperty(t,M).set(S[M])}return{modifyBase:v,modifyItem:c,getUpdateObj:T,applyUpdate:l}}}}),lh=Ge({\"src/plots/cartesian/constants.js\"(Z,G){\"use strict\";var d=Jy().counter;G.exports={idRegex:{x:d(\"x\",\"( domain)?\"),y:d(\"y\",\"( domain)?\")},attrRegex:d(\"[xy]axis\"),xAxisMatch:d(\"xaxis\"),yAxisMatch:d(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,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\"},zindexSeparator:\"z\"}}}),tf=Ge({\"src/plots/cartesian/axis_ids.js\"(Z){\"use strict\";var G=so(),d=lh();Z.id2name=function(E){if(!(typeof E!=\"string\"||!E.match(d.AX_ID_PATTERN))){var e=E.split(\" \")[0].slice(1);return e===\"1\"&&(e=\"\"),E.charAt(0)+\"axis\"+e}},Z.name2id=function(E){if(E.match(d.AX_NAME_PATTERN)){var e=E.slice(5);return e===\"1\"&&(e=\"\"),E.charAt(0)+e}},Z.cleanId=function(E,e,t){var r=/( domain)$/.test(E);if(!(typeof E!=\"string\"||!E.match(d.AX_ID_PATTERN))&&!(e&&E.charAt(0)!==e)&&!(r&&!t)){var o=E.split(\" \")[0].slice(1).replace(/^0+/,\"\");return o===\"1\"&&(o=\"\"),E.charAt(0)+o+(r&&t?\" domain\":\"\")}},Z.list=function(A,E,e){var t=A._fullLayout;if(!t)return[];var r=Z.listIds(A,E),o=new Array(r.length),a;for(a=0;at?1:-1:+(A.slice(1)||1)-+(E.slice(1)||1)},Z.ref2id=function(A){return/^[xyz]/.test(A)?A.split(\" \")[0]:!1};function _(A,E){if(E&&E.length){for(var e=0;e0?\".\":\"\")+i;d.isPlainObject(s)?t(s,o,h,n+1):o(h,i,s)}})}}}),bc=Ge({\"src/plots/plots.js\"(Z,G){\"use strict\";var d=Vn(),_=Xv().timeFormatLocale,A=YA().formatLocale,E=ns(),e=KA(),t=so(),r=e1(),o=zl(),a=sa(),n=$n(),i=Gs().BADNUM,s=tf(),h=$m().clearOutline,f=_2(),v=A_(),c=n5(),T=Hh().getModuleCalcData,l=a.relinkPrivateKeys,x=a._,w=G.exports={};a.extendFlat(w,t),w.attributes=au(),w.attributes.type.values=w.allTypes,w.fontAttrs=tc(),w.layoutAttributes=$y();var S=nz();w.executeAPICommand=S.executeAPICommand,w.computeAPICommandBindings=S.computeAPICommandBindings,w.manageCommandObserver=S.manageCommandObserver,w.hasSimpleAPICommandBindings=S.hasSimpleAPICommandBindings,w.redrawText=function(V){return V=a.getGraphDiv(V),new Promise(function(Y){setTimeout(function(){V._fullLayout&&(t.getComponentMethod(\"annotations\",\"draw\")(V),t.getComponentMethod(\"legend\",\"draw\")(V),t.getComponentMethod(\"colorbar\",\"draw\")(V),Y(w.previousPromises(V)))},300)})},w.resize=function(V){V=a.getGraphDiv(V);var Y,ee=new Promise(function(q,se){(!V||a.isHidden(V))&&se(new Error(\"Resize must be passed a displayed plot div element.\")),V._redrawTimer&&clearTimeout(V._redrawTimer),V._resolveResize&&(Y=V._resolveResize),V._resolveResize=q,V._redrawTimer=setTimeout(function(){if(!V.layout||V.layout.width&&V.layout.height||a.isHidden(V)){q(V);return}delete V.layout.width,delete V.layout.height;var ae=V.changed;V.autoplay=!0,t.call(\"relayout\",V,{autosize:!0}).then(function(){V.changed=ae,V._resolveResize===q&&(delete V._resolveResize,q(V))})},100)});return Y&&Y(ee),ee},w.previousPromises=function(V){if((V._promises||[]).length)return Promise.all(V._promises).then(function(){V._promises=[]})},w.addLinks=function(V){if(!(!V._context.showLink&&!V._context.showSources)){var Y=V._fullLayout,ee=a.ensureSingle(Y._paper,\"text\",\"js-plot-link-container\",function(re){re.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:n.defaultLine,\"pointer-events\":\"all\"}).each(function(){var pe=d.select(this);pe.append(\"tspan\").classed(\"js-link-to-tool\",!0),pe.append(\"tspan\").classed(\"js-link-spacer\",!0),pe.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),q=ee.node(),se={y:Y._paper.attr(\"height\")-9};document.body.contains(q)&&q.getComputedTextLength()>=Y.width-20?(se[\"text-anchor\"]=\"start\",se.x=5):(se[\"text-anchor\"]=\"end\",se.x=Y._paper.attr(\"width\")-7),ee.attr(se);var ae=ee.select(\".js-link-to-tool\"),j=ee.select(\".js-link-spacer\"),Q=ee.select(\".js-sourcelinks\");V._context.showSources&&V._context.showSources(V),V._context.showLink&&M(V,ae),j.text(ae.text()&&Q.text()?\" - \":\"\")}};function M(V,Y){Y.text(\"\");var ee=Y.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(V._context.linkText+\" \\xBB\");if(V._context.sendData)ee.on(\"click\",function(){w.sendDataToCloud(V)});else{var q=window.location.pathname.split(\"/\"),se=window.location.search;ee.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+q[2].split(\".\")[0]+\"/\"+q[1]+se})}}w.sendDataToCloud=function(V){var Y=(window.PLOTLYENV||{}).BASE_URL||V._context.plotlyServerURL;if(Y){V.emit(\"plotly_beforeexport\");var ee=d.select(V).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),q=ee.append(\"form\").attr({action:Y+\"/external\",method:\"post\",target:\"_blank\"}),se=q.append(\"input\").attr({type:\"text\",name:\"data\"});return se.node().value=w.graphJson(V,!1,\"keepdata\"),q.node().submit(),ee.remove(),V.emit(\"plotly_afterexport\"),!1}};var m=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],b=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];w.supplyDefaults=function(V,Y){var ee=Y&&Y.skipUpdateCalc,q=V._fullLayout||{};if(q._skipDefaults){delete q._skipDefaults;return}var se=V._fullLayout={},ae=V.layout||{},j=V._fullData||[],Q=V._fullData=[],re=V.data||[],pe=V.calcdata||[],we=V._context||{},Se;V._transitionData||w.createTransitionData(V),se._dfltTitle={plot:x(V,\"Click to enter Plot title\"),subtitle:x(V,\"Click to enter Plot subtitle\"),x:x(V,\"Click to enter X axis title\"),y:x(V,\"Click to enter Y axis title\"),colorbar:x(V,\"Click to enter Colorscale title\"),annotation:x(V,\"new text\")},se._traceWord=x(V,\"trace\");var Ie=g(V,m);if(se._mapboxAccessToken=we.mapboxAccessToken,q._initialAutoSizeIsDone){var Re=q.width,He=q.height;w.supplyLayoutGlobalDefaults(ae,se,Ie),ae.width||(se.width=Re),ae.height||(se.height=He),w.sanitizeMargins(se)}else{w.supplyLayoutGlobalDefaults(ae,se,Ie);var at=!ae.width||!ae.height,nt=se.autosize,tt=we.autosizable,Ue=at&&(nt||tt);Ue?w.plotAutoSize(V,ae,se):at&&w.sanitizeMargins(se),!nt&&at&&(ae.width=se.width,ae.height=se.height)}se._d3locale=y(Ie,se.separators),se._extraFormat=g(V,b),se._initialAutoSizeIsDone=!0,se._dataLength=re.length,se._modules=[],se._visibleModules=[],se._basePlotModules=[];var he=se._subplots=u(),le=se._splomAxes={x:{},y:{}},ne=se._splomSubplots={};se._splomGridDflt={},se._scatterStackOpts={},se._firstScatter={},se._alignmentOpts={},se._colorAxes={},se._requestRangeslider={},se._traceUids=p(j,re),w.supplyDataDefaults(re,Q,ae,se);var Ce=Object.keys(le.x),Ze=Object.keys(le.y);if(Ce.length>1&&Ze.length>1){for(t.getComponentMethod(\"grid\",\"sizeDefaults\")(ae,se),Se=0;Se15&&Ze.length>15&&se.shapes.length===0&&se.images.length===0,w.linkSubplots(Q,se,j,q),w.cleanPlot(Q,se,j,q);var qt=!!(q._has&&q._has(\"cartesian\")),Gt=!!(se._has&&se._has(\"cartesian\")),Tr=qt,mr=Gt;Tr&&!mr?q._bgLayer.remove():mr&&!Tr&&(se._shouldCreateBgLayer=!0),q._zoomlayer&&!V._dragging&&h({_fullLayout:q}),D(Q,se),l(se,q),t.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(Q,se),se._preGUI||(se._preGUI={}),se._tracePreGUI||(se._tracePreGUI={});var qr=se._tracePreGUI,Er={},Dr;for(Dr in qr)Er[Dr]=\"old\";for(Se=0;Se0){var we=1-2*ae;j=Math.round(we*j),Q=Math.round(we*Q)}}var Se=w.layoutAttributes.width.min,Ie=w.layoutAttributes.height.min;j1,He=!ee.height&&Math.abs(q.height-Q)>1;(He||Re)&&(Re&&(q.width=j),He&&(q.height=Q)),Y._initialAutoSize||(Y._initialAutoSize={width:j,height:Q}),w.sanitizeMargins(q)},w.supplyLayoutModuleDefaults=function(V,Y,ee,q){var se=t.componentsRegistry,ae=Y._basePlotModules,j,Q,re,pe=t.subplotsRegistry.cartesian;for(j in se)re=se[j],re.includeBasePlot&&re.includeBasePlot(V,Y);ae.length||ae.push(pe),Y._has(\"cartesian\")&&(t.getComponentMethod(\"grid\",\"contentDefaults\")(V,Y),pe.finalizeSubplots(V,Y));for(var we in Y._subplots)Y._subplots[we].sort(a.subplotSort);for(Q=0;Q1&&(ee.l/=nt,ee.r/=nt)}if(Ie){var tt=(ee.t+ee.b)/Ie;tt>1&&(ee.t/=tt,ee.b/=tt)}var Ue=ee.xl!==void 0?ee.xl:ee.x,he=ee.xr!==void 0?ee.xr:ee.x,le=ee.yt!==void 0?ee.yt:ee.y,ne=ee.yb!==void 0?ee.yb:ee.y;Re[Y]={l:{val:Ue,size:ee.l+at},r:{val:he,size:ee.r+at},b:{val:ne,size:ee.b+at},t:{val:le,size:ee.t+at}},He[Y]=1}if(!q._replotting)return w.doAutoMargin(V)}};function P(V){if(\"_redrawFromAutoMarginCount\"in V._fullLayout)return!1;var Y=s.list(V,\"\",!0);for(var ee in Y)if(Y[ee].autoshift||Y[ee].shift)return!0;return!1}w.doAutoMargin=function(V){var Y=V._fullLayout,ee=Y.width,q=Y.height;Y._size||(Y._size={}),F(Y);var se=Y._size,ae=Y.margin,j={t:0,b:0,l:0,r:0},Q=a.extendFlat({},se),re=ae.l,pe=ae.r,we=ae.t,Se=ae.b,Ie=Y._pushmargin,Re=Y._pushmarginIds,He=Y.minreducedwidth,at=Y.minreducedheight;if(ae.autoexpand!==!1){for(var nt in Ie)Re[nt]||delete Ie[nt];var tt=V._fullLayout._reservedMargin;for(var Ue in tt)for(var he in tt[Ue]){var le=tt[Ue][he];j[he]=Math.max(j[he],le)}Ie.base={l:{val:0,size:re},r:{val:1,size:pe},t:{val:1,size:we},b:{val:0,size:Se}};for(var ne in j){var Ce=0;for(var Ze in Ie)Ze!==\"base\"&&E(Ie[Ze][ne].size)&&(Ce=Ie[Ze][ne].size>Ce?Ie[Ze][ne].size:Ce);var rt=Math.max(0,ae[ne]-Ce);j[ne]=Math.max(0,j[ne]-rt)}for(var Ye in Ie){var St=Ie[Ye].l||{},kt=Ie[Ye].b||{},qt=St.val,Gt=St.size,Tr=kt.val,mr=kt.size,qr=ee-j.r-j.l,Er=q-j.t-j.b;for(var Dr in Ie){if(E(Gt)&&Ie[Dr].r){var xt=Ie[Dr].r.val,Oe=Ie[Dr].r.size;if(xt>qt){var Ke=(Gt*xt+(Oe-qr)*qt)/(xt-qt),Ae=(Oe*(1-qt)+(Gt-qr)*(1-xt))/(xt-qt);Ke+Ae>re+pe&&(re=Ke,pe=Ae)}}if(E(mr)&&Ie[Dr].t){var Le=Ie[Dr].t.val,We=Ie[Dr].t.size;if(Le>Tr){var Je=(mr*Le+(We-Er)*Tr)/(Le-Tr),st=(We*(1-Tr)+(mr-Er)*(1-Le))/(Le-Tr);Je+st>Se+we&&(Se=Je,we=st)}}}}}var ot=a.constrain(ee-ae.l-ae.r,B,He),Ut=a.constrain(q-ae.t-ae.b,O,at),Ct=Math.max(0,ee-ot),Pt=Math.max(0,q-Ut);if(Ct){var Nt=(re+pe)/Ct;Nt>1&&(re/=Nt,pe/=Nt)}if(Pt){var cr=(Se+we)/Pt;cr>1&&(Se/=cr,we/=cr)}if(se.l=Math.round(re)+j.l,se.r=Math.round(pe)+j.r,se.t=Math.round(we)+j.t,se.b=Math.round(Se)+j.b,se.p=Math.round(ae.pad),se.w=Math.round(ee)-se.l-se.r,se.h=Math.round(q)-se.t-se.b,!Y._replotting&&(w.didMarginChange(Q,se)||P(V))){\"_redrawFromAutoMarginCount\"in Y?Y._redrawFromAutoMarginCount++:Y._redrawFromAutoMarginCount=1;var lr=3*(1+Object.keys(Re).length);if(Y._redrawFromAutoMarginCount1)return!0}return!1},w.graphJson=function(V,Y,ee,q,se,ae){(se&&Y&&!V._fullData||se&&!Y&&!V._fullLayout)&&w.supplyDefaults(V);var j=se?V._fullData:V.data,Q=se?V._fullLayout:V.layout,re=(V._transitionData||{})._frames;function pe(Ie,Re){if(typeof Ie==\"function\")return Re?\"_function_\":null;if(a.isPlainObject(Ie)){var He={},at;return Object.keys(Ie).sort().forEach(function(he){if([\"_\",\"[\"].indexOf(he.charAt(0))===-1){if(typeof Ie[he]==\"function\"){Re&&(He[he]=\"_function\");return}if(ee===\"keepdata\"){if(he.slice(-3)===\"src\")return}else if(ee===\"keepstream\"){if(at=Ie[he+\"src\"],typeof at==\"string\"&&at.indexOf(\":\")>0&&!a.isPlainObject(Ie.stream))return}else if(ee!==\"keepall\"&&(at=Ie[he+\"src\"],typeof at==\"string\"&&at.indexOf(\":\")>0))return;He[he]=pe(Ie[he],Re)}}),He}var nt=Array.isArray(Ie),tt=a.isTypedArray(Ie);if((nt||tt)&&Ie.dtype&&Ie.shape){var Ue=Ie.bdata;return pe({dtype:Ie.dtype,shape:Ie.shape,bdata:a.isArrayBuffer(Ue)?e.encode(Ue):Ue},Re)}return nt?Ie.map(function(he){return pe(he,Re)}):tt?a.simpleMap(Ie,a.identity):a.isJSDate(Ie)?a.ms2DateTimeLocal(+Ie):Ie}var we={data:(j||[]).map(function(Ie){var Re=pe(Ie);return Y&&delete Re.fit,Re})};if(!Y&&(we.layout=pe(Q),se)){var Se=Q._size;we.layout.computed={margin:{b:Se.b,l:Se.l,r:Se.r,t:Se.t}}}return re&&(we.frames=pe(re)),ae&&(we.config=pe(V._context,!0)),q===\"object\"?we:JSON.stringify(we)},w.modifyFrames=function(V,Y){var ee,q,se,ae=V._transitionData._frames,j=V._transitionData._frameHash;for(ee=0;ee0&&(V._transitioningWithDuration=!0),V._transitionData._interruptCallbacks.push(function(){q=!0}),ee.redraw&&V._transitionData._interruptCallbacks.push(function(){return t.call(\"redraw\",V)}),V._transitionData._interruptCallbacks.push(function(){V.emit(\"plotly_transitioninterrupted\",[])});var Ie=0,Re=0;function He(){return Ie++,function(){Re++,!q&&Re===Ie&&Q(Se)}}ee.runFn(He),setTimeout(He())})}function Q(Se){if(V._transitionData)return ae(V._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(ee.redraw)return t.call(\"redraw\",V)}).then(function(){V._transitioning=!1,V._transitioningWithDuration=!1,V.emit(\"plotly_transitioned\",[])}).then(Se)}function re(){if(V._transitionData)return V._transitioning=!1,se(V._transitionData._interruptCallbacks)}var pe=[w.previousPromises,re,ee.prepareFn,w.rehover,w.reselect,j],we=a.syncOrAsync(pe,V);return(!we||!we.then)&&(we=Promise.resolve()),we.then(function(){return V})}w.doCalcdata=function(V,Y){var ee=s.list(V),q=V._fullData,se=V._fullLayout,ae,j,Q,re,pe=new Array(q.length),we=(V.calcdata||[]).slice();for(V.calcdata=pe,se._numBoxes=0,se._numViolins=0,se._violinScaleGroupStats={},V._hmpixcount=0,V._hmlumcount=0,se._piecolormap={},se._sunburstcolormap={},se._treemapcolormap={},se._iciclecolormap={},se._funnelareacolormap={},Q=0;Q=0;re--)if(ne[re].enabled){ae._indexToPoints=ne[re]._indexToPoints;break}j&&j.calc&&(le=j.calc(V,ae))}(!Array.isArray(le)||!le[0])&&(le=[{x:i,y:i}]),le[0].t||(le[0].t={}),le[0].trace=ae,pe[Ue]=le}}for(ce(ee,q,se),Q=0;QQ||Re>re)&&(ae.style(\"overflow\",\"hidden\"),Se=ae.node().getBoundingClientRect(),Ie=Se.width,Re=Se.height);var He=+O.attr(\"x\"),at=+O.attr(\"y\"),nt=V||O.node().getBoundingClientRect().height,tt=-nt/4;if(ue[0]===\"y\")j.attr({transform:\"rotate(\"+[-90,He,at]+\")\"+_(-Ie/2,tt-Re/2)});else if(ue[0]===\"l\")at=tt-Re/2;else if(ue[0]===\"a\"&&ue.indexOf(\"atitle\")!==0)He=0,at=tt;else{var Ue=O.attr(\"text-anchor\");He=He-Ie*(Ue===\"middle\"?.5:Ue===\"end\"?1:0),at=at+tt-Re/2}ae.attr({x:He,y:at}),U&&U.call(O,j),de(j)})})):ce(),O};var t=/(<|<|<)/g,r=/(>|>|>)/g;function o(O){return O.replace(t,\"\\\\lt \").replace(r,\"\\\\gt \")}var a=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function n(O,P,U){var N=parseInt((MathJax.version||\"\").split(\".\")[0]);if(N!==2&&N!==3){d.warn(\"No MathJax version:\",MathJax.version);return}var X,$,ue,ce,de=function(){return $=d.extendDeepAll({},MathJax.Hub.config),ue=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:a},displayAlign:\"left\"})},V=function(){$=d.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=a},Y=function(){if(X=MathJax.Hub.config.menuSettings.renderer,X!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},ee=function(){X=MathJax.config.startup.output,X!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},q=function(){var pe=\"math-output-\"+d.randstr({},64);ce=G.select(\"body\").append(\"div\").attr({id:pe}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":P.fontSize+\"px\"}).text(o(O));var we=ce.node();return N===2?MathJax.Hub.Typeset(we):MathJax.typeset([we])},se=function(){var pe=ce.select(N===2?\".MathJax_SVG\":\".MathJax\"),we=!pe.empty()&&ce.select(\"svg\").node();if(!we)d.log(\"There was an error in the tex syntax.\",O),U();else{var Se=we.getBoundingClientRect(),Ie;N===2?Ie=G.select(\"body\").select(\"#MathJax_SVG_glyphs\"):Ie=pe.select(\"defs\"),U(pe,Ie,Se)}ce.remove()},ae=function(){if(X!==\"SVG\")return MathJax.Hub.setRenderer(X)},j=function(){X!==\"svg\"&&(MathJax.config.startup.output=X)},Q=function(){return ue!==void 0&&(MathJax.Hub.processSectionDelay=ue),MathJax.Hub.Config($)},re=function(){MathJax.config=$};N===2?MathJax.Hub.Queue(de,Y,q,se,ae,Q):N===3&&(V(),ee(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){q(),se(),j(),re()}))}var i={sup:\"font-size:70%\",sub:\"font-size:70%\",s:\"text-decoration:line-through\",u:\"text-decoration:underline\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},s={sub:\"0.3em\",sup:\"-0.6em\"},h={sub:\"-0.21em\",sup:\"0.42em\"},f=\"\\u200B\",v=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],c=Z.NEWLINES=/(\\r\\n?|\\n)/g,T=/(<[^<>]*>)/,l=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,x=//i;Z.BR_TAG_ALL=//gi;var w=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,S=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,M=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,m=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function b(O,P){if(!O)return null;var U=O.match(P),N=U&&(U[3]||U[4]);return N&&y(N)}var p=/(^|;)\\s*color:/;Z.plainText=function(O,P){P=P||{};for(var U=P.len!==void 0&&P.len!==-1?P.len:1/0,N=P.allowedTags!==void 0?P.allowedTags:[\"br\"],X=\"...\",$=X.length,ue=O.split(T),ce=[],de=\"\",V=0,Y=0;Y$?ce.push(ee.slice(0,Math.max(0,j-$))+X):ce.push(ee.slice(0,j));break}de=\"\"}}return ce.join(\"\")};var u={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},g=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function y(O){return O.replace(g,function(P,U){var N;return U.charAt(0)===\"#\"?N=D(U.charAt(1)===\"x\"?parseInt(U.slice(2),16):parseInt(U.slice(1),10)):N=u[U],N||P})}Z.convertEntities=y;function D(O){if(!(O>1114111)){var P=String.fromCodePoint;if(P)return P(O);var U=String.fromCharCode;return O<=65535?U(O):U((O>>10)+55232,O%1024+56320)}}function L(O,P){P=P.replace(c,\" \");var U=!1,N=[],X,$=-1;function ue(){$++;var Re=document.createElementNS(A.svg,\"tspan\");G.select(Re).attr({class:\"line\",dy:$*E+\"em\"}),O.appendChild(Re),X=Re;var He=N;if(N=[{node:Re}],He.length>1)for(var at=1;at.\",P);return}var He=N.pop();Re!==He.type&&d.log(\"Start tag <\"+He.type+\"> doesnt match end tag <\"+Re+\">. Pretending it did match.\",P),X=N[N.length-1].node}var Y=x.test(P);Y?ue():(X=O,N=[{node:O}]);for(var ee=P.split(T),q=0;q=0;x--,w++){var S=c[x];l[w]=[1-S[0],S[1]]}return l}function h(c,T){T=T||{};for(var l=c.domain,x=c.range,w=x.length,S=new Array(w),M=0;Mc-f?f=c-(v-c):v-c=0?x=o.colorscale.sequential:x=o.colorscale.sequentialminus,s._sync(\"colorscale\",x)}}}}),rc=Ge({\"src/components/colorscale/index.js\"(Z,G){\"use strict\";var d=W0(),_=wp();G.exports={moduleType:\"component\",name:\"colorscale\",attributes:ku(),layoutAttributes:o5(),supplyLayoutDefaults:oz(),handleDefaults:_h(),crossTraceDefaults:sz(),calc:Tp(),scales:d.scales,defaultScale:d.defaultScale,getScale:d.get,isValidScale:d.isValid,hasColorscale:_.hasColorscale,extractOpts:_.extractOpts,extractScale:_.extractScale,flipScale:_.flipScale,makeColorScaleFunc:_.makeColorScaleFunc,makeColorScaleFuncFromTrace:_.makeColorScaleFuncFromTrace}}}),Fu=Ge({\"src/traces/scatter/subtypes.js\"(Z,G){\"use strict\";var d=sa(),_=hp().isTypedArraySpec;G.exports={hasLines:function(A){return A.visible&&A.mode&&A.mode.indexOf(\"lines\")!==-1},hasMarkers:function(A){return A.visible&&(A.mode&&A.mode.indexOf(\"markers\")!==-1||A.type===\"splom\")},hasText:function(A){return A.visible&&A.mode&&A.mode.indexOf(\"text\")!==-1},isBubble:function(A){var E=A.marker;return d.isPlainObject(E)&&(d.isArrayOrTypedArray(E.size)||_(E.size))}}}}),r1=Ge({\"src/traces/scatter/make_bubble_size_func.js\"(Z,G){\"use strict\";var d=ns();G.exports=function(A,E){E||(E=2);var e=A.marker,t=e.sizeref||1,r=e.sizemin||0,o=e.sizemode===\"area\"?function(a){return Math.sqrt(a/t)}:function(a){return a/t};return function(a){var n=o(a/E);return d(n)&&n>0?Math.max(n,r):0}}}}),$p=Ge({\"src/components/fx/helpers.js\"(Z){\"use strict\";var G=sa();Z.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},Z.isTraceInSubplots=function(t,r){if(t.type===\"splom\"){for(var o=t.xaxes||[],a=t.yaxes||[],n=0;n=0&&o.index2&&(r.push([a].concat(n.splice(0,2))),i=\"l\",a=a==\"m\"?\"l\":\"L\");;){if(n.length==d[i])return n.unshift(a),r.push(n);if(n.length0&&(le=100,he=he.replace(\"-open\",\"\")),he.indexOf(\"-dot\")>0&&(le+=200,he=he.replace(\"-dot\",\"\")),he=l.symbolNames.indexOf(he),he>=0&&(he+=le)}return he%100>=p||he>=400?0:Math.floor(Math.max(he,0))};function g(he,le,ne,Ce){var Ze=he%100;return l.symbolFuncs[Ze](le,ne,Ce)+(he>=200?u:\"\")}var y=A(\"~f\"),D={radial:{type:\"radial\"},radialreversed:{type:\"radial\",reversed:!0},horizontal:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};l.gradient=function(he,le,ne,Ce,Ze,rt){var Ye=D[Ce];return L(he,le,ne,Ye.type,Ze,rt,Ye.start,Ye.stop,!1,Ye.reversed)};function L(he,le,ne,Ce,Ze,rt,Ye,St,kt,qt){var Gt=Ze.length,Tr;Ce===\"linear\"?Tr={node:\"linearGradient\",attrs:{x1:Ye.x,y1:Ye.y,x2:St.x,y2:St.y,gradientUnits:kt?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:qt}:Ce===\"radial\"&&(Tr={node:\"radialGradient\",reversed:qt});for(var mr=new Array(Gt),qr=0;qr=0&&he.i===void 0&&(he.i=rt.i),le.style(\"opacity\",Ce.selectedOpacityFn?Ce.selectedOpacityFn(he):he.mo===void 0?Ye.opacity:he.mo),Ce.ms2mrc){var kt;he.ms===\"various\"||Ye.size===\"various\"?kt=3:kt=Ce.ms2mrc(he.ms),he.mrc=kt,Ce.selectedSizeFn&&(kt=he.mrc=Ce.selectedSizeFn(he));var qt=l.symbolNumber(he.mx||Ye.symbol)||0;he.om=qt%200>=100;var Gt=Ue(he,ne),Tr=Q(he,ne);le.attr(\"d\",g(qt,kt,Gt,Tr))}var mr=!1,qr,Er,Dr;if(he.so)Dr=St.outlierwidth,Er=St.outliercolor,qr=Ye.outliercolor;else{var xt=(St||{}).width;Dr=(he.mlw+1||xt+1||(he.trace?(he.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in he?Er=he.mlcc=Ce.lineScale(he.mlc):_.isArrayOrTypedArray(St.color)?Er=r.defaultLine:Er=St.color,_.isArrayOrTypedArray(Ye.color)&&(qr=r.defaultLine,mr=!0),\"mc\"in he?qr=he.mcc=Ce.markerScale(he.mc):qr=Ye.color||Ye.colors||\"rgba(0,0,0,0)\",Ce.selectedColorFn&&(qr=Ce.selectedColorFn(he))}let Oe=he.mld||(St||{}).dash;if(Oe&&l.dashLine(le,Oe,Dr),he.om)le.call(r.stroke,qr).style({\"stroke-width\":(Dr||1)+\"px\",fill:\"none\"});else{le.style(\"stroke-width\",(he.isBlank?0:Dr)+\"px\");var Ke=Ye.gradient,Ae=he.mgt;Ae?mr=!0:Ae=Ke&&Ke.type,_.isArrayOrTypedArray(Ae)&&(Ae=Ae[0],D[Ae]||(Ae=0));var Le=Ye.pattern,We=l.getPatternAttr,Je=Le&&(We(Le.shape,he.i,\"\")||We(Le.path,he.i,\"\"));if(Ae&&Ae!==\"none\"){var st=he.mgc;st?mr=!0:st=Ke.color;var ot=ne.uid;mr&&(ot+=\"-\"+he.i),l.gradient(le,Ze,ot,Ae,[[0,st],[1,qr]],\"fill\")}else if(Je){var Ut=!1,Ct=Le.fgcolor;!Ct&&rt&&rt.color&&(Ct=rt.color,Ut=!0);var Pt=We(Ct,he.i,rt&&rt.color||null),Nt=We(Le.bgcolor,he.i,null),cr=Le.fgopacity,lr=We(Le.size,he.i,8),sr=We(Le.solidity,he.i,.3);Ut=Ut||he.mcc||_.isArrayOrTypedArray(Le.shape)||_.isArrayOrTypedArray(Le.path)||_.isArrayOrTypedArray(Le.bgcolor)||_.isArrayOrTypedArray(Le.fgcolor)||_.isArrayOrTypedArray(Le.size)||_.isArrayOrTypedArray(Le.solidity);var Pr=ne.uid;Ut&&(Pr+=\"-\"+he.i),l.pattern(le,\"point\",Ze,Pr,Je,lr,sr,he.mcc,Le.fillmode,Nt,Pt,cr)}else _.isArrayOrTypedArray(qr)?r.fill(le,qr[he.i]):r.fill(le,qr);Dr&&r.stroke(le,Er)}},l.makePointStyleFns=function(he){var le={},ne=he.marker;return le.markerScale=l.tryColorscale(ne,\"\"),le.lineScale=l.tryColorscale(ne,\"line\"),t.traceIs(he,\"symbols\")&&(le.ms2mrc=v.isBubble(he)?c(he):function(){return(ne.size||6)/2}),he.selectedpoints&&_.extendFlat(le,l.makeSelectedPointStyleFns(he)),le},l.makeSelectedPointStyleFns=function(he){var le={},ne=he.selected||{},Ce=he.unselected||{},Ze=he.marker||{},rt=ne.marker||{},Ye=Ce.marker||{},St=Ze.opacity,kt=rt.opacity,qt=Ye.opacity,Gt=kt!==void 0,Tr=qt!==void 0;(_.isArrayOrTypedArray(St)||Gt||Tr)&&(le.selectedOpacityFn=function(Le){var We=Le.mo===void 0?Ze.opacity:Le.mo;return Le.selected?Gt?kt:We:Tr?qt:f*We});var mr=Ze.color,qr=rt.color,Er=Ye.color;(qr||Er)&&(le.selectedColorFn=function(Le){var We=Le.mcc||mr;return Le.selected?qr||We:Er||We});var Dr=Ze.size,xt=rt.size,Oe=Ye.size,Ke=xt!==void 0,Ae=Oe!==void 0;return t.traceIs(he,\"symbols\")&&(Ke||Ae)&&(le.selectedSizeFn=function(Le){var We=Le.mrc||Dr/2;return Le.selected?Ke?xt/2:We:Ae?Oe/2:We}),le},l.makeSelectedTextStyleFns=function(he){var le={},ne=he.selected||{},Ce=he.unselected||{},Ze=he.textfont||{},rt=ne.textfont||{},Ye=Ce.textfont||{},St=Ze.color,kt=rt.color,qt=Ye.color;return le.selectedTextColorFn=function(Gt){var Tr=Gt.tc||St;return Gt.selected?kt||Tr:qt||(kt?Tr:r.addOpacity(Tr,f))},le},l.selectedPointStyle=function(he,le){if(!(!he.size()||!le.selectedpoints)){var ne=l.makeSelectedPointStyleFns(le),Ce=le.marker||{},Ze=[];ne.selectedOpacityFn&&Ze.push(function(rt,Ye){rt.style(\"opacity\",ne.selectedOpacityFn(Ye))}),ne.selectedColorFn&&Ze.push(function(rt,Ye){r.fill(rt,ne.selectedColorFn(Ye))}),ne.selectedSizeFn&&Ze.push(function(rt,Ye){var St=Ye.mx||Ce.symbol||0,kt=ne.selectedSizeFn(Ye);rt.attr(\"d\",g(l.symbolNumber(St),kt,Ue(Ye,le),Q(Ye,le))),Ye.mrc2=kt}),Ze.length&&he.each(function(rt){for(var Ye=d.select(this),St=0;St0?ne:0}l.textPointStyle=function(he,le,ne){if(he.size()){var Ce;if(le.selectedpoints){var Ze=l.makeSelectedTextStyleFns(le);Ce=Ze.selectedTextColorFn}var rt=le.texttemplate,Ye=ne._fullLayout;he.each(function(St){var kt=d.select(this),qt=rt?_.extractOption(St,le,\"txt\",\"texttemplate\"):_.extractOption(St,le,\"tx\",\"text\");if(!qt&&qt!==0){kt.remove();return}if(rt){var Gt=le._module.formatLabels,Tr=Gt?Gt(St,le,Ye):{},mr={};T(mr,le,St.i),qt=_.texttemplateString({data:[mr,St,le._meta],fallback:le.texttemplatefallback,labels:Tr,locale:Ye._d3locale,template:qt})}var qr=St.tp||le.textposition,Er=B(St,le),Dr=Ce?Ce(St):St.tc||le.textfont.color;kt.call(l.font,{family:St.tf||le.textfont.family,weight:St.tw||le.textfont.weight,style:St.ty||le.textfont.style,variant:St.tv||le.textfont.variant,textcase:St.tC||le.textfont.textcase,lineposition:St.tE||le.textfont.lineposition,shadow:St.tS||le.textfont.shadow,size:Er,color:Dr}).text(qt).call(n.convertToTspans,ne).call(F,qr,Er,St.mrc)})}},l.selectedTextStyle=function(he,le){if(!(!he.size()||!le.selectedpoints)){var ne=l.makeSelectedTextStyleFns(le);he.each(function(Ce){var Ze=d.select(this),rt=ne.selectedTextColorFn(Ce),Ye=Ce.tp||le.textposition,St=B(Ce,le);r.fill(Ze,rt);var kt=t.traceIs(le,\"bar-like\");F(Ze,Ye,St,Ce.mrc2||Ce.mrc,kt)})}};var O=.5;l.smoothopen=function(he,le){if(he.length<3)return\"M\"+he.join(\"L\");var ne=\"M\"+he[0],Ce=[],Ze;for(Ze=1;Ze=kt||Le>=Gt&&Le<=kt)&&(We<=Tr&&We>=qt||We>=Tr&&We<=qt)&&(he=[Le,We])}return he}l.applyBackoff=V,l.makeTester=function(){var he=_.ensureSingleById(d.select(\"body\"),\"svg\",\"js-plotly-tester\",function(ne){ne.attr(i.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),le=_.ensureSingle(he,\"path\",\"js-reference-point\",function(ne){ne.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});l.tester=he,l.testref=le},l.savedBBoxes={};var Y=0,ee=1e4;l.bBox=function(he,le,ne){ne||(ne=q(he));var Ce;if(ne){if(Ce=l.savedBBoxes[ne],Ce)return _.extendFlat({},Ce)}else if(he.childNodes.length===1){var Ze=he.childNodes[0];if(ne=q(Ze),ne){var rt=+Ze.getAttribute(\"x\")||0,Ye=+Ze.getAttribute(\"y\")||0,St=Ze.getAttribute(\"transform\");if(!St){var kt=l.bBox(Ze,!1,ne);return rt&&(kt.left+=rt,kt.right+=rt),Ye&&(kt.top+=Ye,kt.bottom+=Ye),kt}if(ne+=\"~\"+rt+\"~\"+Ye+\"~\"+St,Ce=l.savedBBoxes[ne],Ce)return _.extendFlat({},Ce)}}var qt,Gt;le?qt=he:(Gt=l.tester.node(),qt=he.cloneNode(!0),Gt.appendChild(qt)),d.select(qt).attr(\"transform\",null).call(n.positionText,0,0);var Tr=qt.getBoundingClientRect(),mr=l.testref.node().getBoundingClientRect();le||Gt.removeChild(qt);var qr={height:Tr.height,width:Tr.width,left:Tr.left-mr.left,top:Tr.top-mr.top,right:Tr.right-mr.left,bottom:Tr.bottom-mr.top};return Y>=ee&&(l.savedBBoxes={},Y=0),ne&&(l.savedBBoxes[ne]=qr),Y++,_.extendFlat({},qr)};function q(he){var le=he.getAttribute(\"data-unformatted\");if(le!==null)return le+he.getAttribute(\"data-math\")+he.getAttribute(\"text-anchor\")+he.getAttribute(\"style\")}l.setClipUrl=function(he,le,ne){he.attr(\"clip-path\",se(le,ne))};function se(he,le){if(!he)return null;var ne=le._context,Ce=ne._exportedPlot?\"\":ne._baseUrl||\"\";return Ce?\"url('\"+Ce+\"#\"+he+\"')\":\"url(#\"+he+\")\"}l.getTranslate=function(he){var le=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,ne=he.attr?\"attr\":\"getAttribute\",Ce=he[ne](\"transform\")||\"\",Ze=Ce.replace(le,function(rt,Ye,St){return[Ye,St].join(\" \")}).split(\" \");return{x:+Ze[0]||0,y:+Ze[1]||0}},l.setTranslate=function(he,le,ne){var Ce=/(\\btranslate\\(.*?\\);?)/,Ze=he.attr?\"attr\":\"getAttribute\",rt=he.attr?\"attr\":\"setAttribute\",Ye=he[Ze](\"transform\")||\"\";return le=le||0,ne=ne||0,Ye=Ye.replace(Ce,\"\").trim(),Ye+=a(le,ne),Ye=Ye.trim(),he[rt](\"transform\",Ye),Ye},l.getScale=function(he){var le=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,ne=he.attr?\"attr\":\"getAttribute\",Ce=he[ne](\"transform\")||\"\",Ze=Ce.replace(le,function(rt,Ye,St){return[Ye,St].join(\" \")}).split(\" \");return{x:+Ze[0]||1,y:+Ze[1]||1}},l.setScale=function(he,le,ne){var Ce=/(\\bscale\\(.*?\\);?)/,Ze=he.attr?\"attr\":\"getAttribute\",rt=he.attr?\"attr\":\"setAttribute\",Ye=he[Ze](\"transform\")||\"\";return le=le||1,ne=ne||1,Ye=Ye.replace(Ce,\"\").trim(),Ye+=\"scale(\"+le+\",\"+ne+\")\",Ye=Ye.trim(),he[rt](\"transform\",Ye),Ye};var ae=/\\s*sc.*/;l.setPointGroupScale=function(he,le,ne){if(le=le||1,ne=ne||1,!!he){var Ce=le===1&&ne===1?\"\":\"scale(\"+le+\",\"+ne+\")\";he.each(function(){var Ze=(this.getAttribute(\"transform\")||\"\").replace(ae,\"\");Ze+=Ce,Ze=Ze.trim(),this.setAttribute(\"transform\",Ze)})}};var j=/translate\\([^)]*\\)\\s*$/;l.setTextPointsScale=function(he,le,ne){he&&he.each(function(){var Ce,Ze=d.select(this),rt=Ze.select(\"text\");if(rt.node()){var Ye=parseFloat(rt.attr(\"x\")||0),St=parseFloat(rt.attr(\"y\")||0),kt=(Ze.attr(\"transform\")||\"\").match(j);le===1&&ne===1?Ce=[]:Ce=[a(Ye,St),\"scale(\"+le+\",\"+ne+\")\",a(-Ye,-St)],kt&&Ce.push(kt),Ze.attr(\"transform\",Ce.join(\"\"))}})};function Q(he,le){var ne;return he&&(ne=he.mf),ne===void 0&&(ne=le.marker&&le.marker.standoff||0),!le._geo&&!le._xA?-ne:ne}l.getMarkerStandoff=Q;var re=Math.atan2,pe=Math.cos,we=Math.sin;function Se(he,le){var ne=le[0],Ce=le[1];return[ne*pe(he)-Ce*we(he),ne*we(he)+Ce*pe(he)]}var Ie,Re,He,at,nt,tt;function Ue(he,le){var ne=he.ma;ne===void 0&&(ne=le.marker.angle,(!ne||_.isArrayOrTypedArray(ne))&&(ne=0));var Ce,Ze,rt=le.marker.angleref;if(rt===\"previous\"||rt===\"north\"){if(le._geo){var Ye=le._geo.project(he.lonlat);Ce=Ye[0],Ze=Ye[1]}else{var St=le._xA,kt=le._yA;if(St&&kt)Ce=St.c2p(he.x),Ze=kt.c2p(he.y);else return 90}if(le._geo){var qt=he.lonlat[0],Gt=he.lonlat[1],Tr=le._geo.project([qt,Gt+1e-5]),mr=le._geo.project([qt+1e-5,Gt]),qr=re(mr[1]-Ze,mr[0]-Ce),Er=re(Tr[1]-Ze,Tr[0]-Ce),Dr;if(rt===\"north\")Dr=ne/180*Math.PI;else if(rt===\"previous\"){var xt=qt/180*Math.PI,Oe=Gt/180*Math.PI,Ke=Ie/180*Math.PI,Ae=Re/180*Math.PI,Le=Ke-xt,We=pe(Ae)*we(Le),Je=we(Ae)*pe(Oe)-pe(Ae)*we(Oe)*pe(Le);Dr=-re(We,Je)-Math.PI,Ie=qt,Re=Gt}var st=Se(qr,[pe(Dr),0]),ot=Se(Er,[we(Dr),0]);ne=re(st[1]+ot[1],st[0]+ot[0])/Math.PI*180,rt===\"previous\"&&!(tt===le.uid&&he.i===nt+1)&&(ne=null)}if(rt===\"previous\"&&!le._geo)if(tt===le.uid&&he.i===nt+1&&E(Ce)&&E(Ze)){var Ut=Ce-He,Ct=Ze-at,Pt=le.line&&le.line.shape||\"\",Nt=Pt.slice(Pt.length-1);Nt===\"h\"&&(Ct=0),Nt===\"v\"&&(Ut=0),ne+=re(Ct,Ut)/Math.PI*180+90}else ne=null}return He=Ce,at=Ze,nt=he.i,tt=le.uid,ne}l.getMarkerAngle=Ue}}),K0=Ge({\"src/components/titles/index.js\"(Z,G){\"use strict\";var d=Vn(),_=ns(),A=bc(),E=so(),e=sa(),t=e.strTranslate,r=as(),o=$n(),a=su(),n=Ym(),i=uh().OPPOSITE_SIDE,s=/ [XY][0-9]* /,h=1.6,f=1.6;function v(c,T,l){var x=c._fullLayout,w=l.propContainer,S=l.propName,M=l.placeholder,m=l.traceIndex,b=l.avoid||{},p=l.attributes,u=l.transform,g=l.containerGroup,y=1,D=w.title,L=(D&&D.text?D.text:\"\").trim(),z=!1,F=D&&D.font?D.font:{},B=F.family,O=F.size,P=F.color,U=F.weight,N=F.style,X=F.variant,$=F.textcase,ue=F.lineposition,ce=F.shadow,de=l.subtitlePropName,V=!!de,Y=l.subtitlePlaceholder,ee=(w.title||{}).subtitle||{text:\"\",font:{}},q=(ee.text||\"\").trim(),se=!1,ae=1,j=ee.font,Q=j.family,re=j.size,pe=j.color,we=j.weight,Se=j.style,Ie=j.variant,Re=j.textcase,He=j.lineposition,at=j.shadow,nt;S===\"title.text\"?nt=\"titleText\":S.indexOf(\"axis\")!==-1?nt=\"axisTitleText\":S.indexOf(\"colorbar\")!==-1&&(nt=\"colorbarTitleText\");var tt=c._context.edits[nt];function Ue(mr,qr){return mr===void 0||qr===void 0?!1:mr.replace(s,\" % \")===qr.replace(s,\" % \")}L===\"\"?y=0:Ue(L,M)&&(tt||(L=\"\"),y=.2,z=!0),V&&(q===\"\"?ae=0:Ue(q,Y)&&(tt||(q=\"\"),ae=.2,se=!0)),l._meta?L=e.templateString(L,l._meta):x._meta&&(L=e.templateString(L,x._meta));var he=L||q||tt,le;g||(g=e.ensureSingle(x._infolayer,\"g\",\"g-\"+T),le=x._hColorbarMoveTitle);var ne=g.selectAll(\"text.\"+T).data(he?[0]:[]);ne.enter().append(\"text\"),ne.text(L).attr(\"class\",T),ne.exit().remove();var Ce=null,Ze=T+\"-subtitle\",rt=q||tt;if(V&&(Ce=g.selectAll(\"text.\"+Ze).data(rt?[0]:[]),Ce.enter().append(\"text\"),Ce.text(q).attr(\"class\",Ze),Ce.exit().remove()),!he)return g;function Ye(mr,qr){e.syncOrAsync([St,kt],{title:mr,subtitle:qr})}function St(mr){var qr=mr.title,Er=mr.subtitle,Dr;!u&&le&&(u={}),u?(Dr=\"\",u.rotate&&(Dr+=\"rotate(\"+[u.rotate,p.x,p.y]+\")\"),(u.offset||le)&&(Dr+=t(0,(u.offset||0)-(le||0)))):Dr=null,qr.attr(\"transform\",Dr);function xt(Je){if(Je){var st=d.select(Je.node().parentNode).select(\".\"+Ze);if(!st.empty()){var ot=Je.node().getBBox();if(ot.height){var Ut=ot.y+ot.height+h*re;st.attr(\"y\",Ut)}}}}if(qr.style(\"opacity\",y*o.opacity(P)).call(r.font,{color:o.rgb(P),size:d.round(O,2),family:B,weight:U,style:N,variant:X,textcase:$,shadow:ce,lineposition:ue}).attr(p).call(a.convertToTspans,c,xt),Er&&!Er.empty()){var Oe=g.select(\".\"+T+\"-math-group\"),Ke=qr.node().getBBox(),Ae=Oe.node()?Oe.node().getBBox():void 0,Le=Ae?Ae.y+Ae.height+h*re:Ke.y+Ke.height+f*re,We=e.extendFlat({},p,{y:Le});Er.attr(\"transform\",Dr),Er.style(\"opacity\",ae*o.opacity(pe)).call(r.font,{color:o.rgb(pe),size:d.round(re,2),family:Q,weight:we,style:Se,variant:Ie,textcase:Re,shadow:at,lineposition:He}).attr(We).call(a.convertToTspans,c)}return A.previousPromises(c)}function kt(mr){var qr=mr.title,Er=d.select(qr.node().parentNode);if(b&&b.selection&&b.side&&L){Er.attr(\"transform\",null);var Dr=i[b.side],xt=b.side===\"left\"||b.side===\"top\"?-1:1,Oe=_(b.pad)?b.pad:2,Ke=r.bBox(Er.node()),Ae={t:0,b:0,l:0,r:0},Le=c._fullLayout._reservedMargin;for(var We in Le)for(var Je in Le[We]){var st=Le[We][Je];Ae[Je]=Math.max(Ae[Je],st)}var ot={left:Ae.l,top:Ae.t,right:x.width-Ae.r,bottom:x.height-Ae.b},Ut=b.maxShift||xt*(ot[b.side]-Ke[b.side]),Ct=0;if(Ut<0)Ct=Ut;else{var Pt=b.offsetLeft||0,Nt=b.offsetTop||0;Ke.left-=Pt,Ke.right-=Pt,Ke.top-=Nt,Ke.bottom-=Nt,b.selection.each(function(){var lr=r.bBox(this);e.bBoxIntersect(Ke,lr,Oe)&&(Ct=Math.max(Ct,xt*(lr[b.side]-Ke[Dr])+Oe))}),Ct=Math.min(Ut,Ct),w._titleScoot=Math.abs(Ct)}if(Ct>0||Ut<0){var cr={left:[-Ct,0],right:[Ct,0],top:[0,-Ct],bottom:[0,Ct]}[b.side];Er.attr(\"transform\",t(cr[0],cr[1]))}}}ne.call(Ye,Ce);function qt(mr,qr){mr.text(qr).on(\"mouseover.opacity\",function(){d.select(this).transition().duration(n.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){d.select(this).transition().duration(n.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(tt&&(L?ne.on(\".opacity\",null):(qt(ne,M),z=!0),ne.call(a.makeEditable,{gd:c}).on(\"edit\",function(mr){m!==void 0?E.call(\"_guiRestyle\",c,S,mr,m):E.call(\"_guiRelayout\",c,S,mr)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(Ye)}).on(\"input\",function(mr){this.text(mr||\" \").call(a.positionText,p.x,p.y)}),V)){if(V&&!L){var Gt=ne.node().getBBox(),Tr=Gt.y+Gt.height+f*re;Ce.attr(\"y\",Tr)}q?Ce.on(\".opacity\",null):(qt(Ce,Y),se=!0),Ce.call(a.makeEditable,{gd:c}).on(\"edit\",function(mr){E.call(\"_guiRelayout\",c,\"title.subtitle.text\",mr)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(Ye)}).on(\"input\",function(mr){this.text(mr||\" \").call(a.positionText,Ce.attr(\"x\"),Ce.attr(\"y\"))})}return ne.classed(\"js-placeholder\",z),Ce&&!Ce.empty()&&Ce.classed(\"js-placeholder\",se),g}G.exports={draw:v,SUBTITLE_PADDING_EM:f,SUBTITLE_PADDING_MATHJAX_EM:h}}}),wv=Ge({\"src/plots/cartesian/set_convert.js\"(Z,G){\"use strict\";var d=Vn(),_=Xv().utcFormat,A=sa(),E=A.numberFormat,e=ns(),t=A.cleanNumber,r=A.ms2DateTime,o=A.dateTime2ms,a=A.ensureNumber,n=A.isArrayOrTypedArray,i=Gs(),s=i.FP_SAFE,h=i.BADNUM,f=i.LOG_CLIP,v=i.ONEWEEK,c=i.ONEDAY,T=i.ONEHOUR,l=i.ONEMIN,x=i.ONESEC,w=tf(),S=lh(),M=S.HOUR_PATTERN,m=S.WEEKDAY_PATTERN;function b(u){return Math.pow(10,u)}function p(u){return u!=null}G.exports=function(g,y){y=y||{};var D=g._id||\"x\",L=D.charAt(0);function z(q,se){if(q>0)return Math.log(q)/Math.LN10;if(q<=0&&se&&g.range&&g.range.length===2){var ae=g.range[0],j=g.range[1];return .5*(ae+j-2*f*Math.abs(ae-j))}else return h}function F(q,se,ae,j){if((j||{}).msUTC&&e(q))return+q;var Q=o(q,ae||g.calendar);if(Q===h)if(e(q)){q=+q;var re=Math.floor(A.mod(q+.05,1)*10),pe=Math.round(q-re/10);Q=o(new Date(pe))+re/10}else return h;return Q}function B(q,se,ae){return r(q,se,ae||g.calendar)}function O(q){return g._categories[Math.round(q)]}function P(q){if(p(q)){if(g._categoriesMap===void 0&&(g._categoriesMap={}),g._categoriesMap[q]!==void 0)return g._categoriesMap[q];g._categories.push(typeof q==\"number\"?String(q):q);var se=g._categories.length-1;return g._categoriesMap[q]=se,se}return h}function U(q,se){for(var ae=new Array(se),j=0;jg.range[1]&&(ae=!ae);for(var j=ae?-1:1,Q=j*q,re=0,pe=0;peSe)re=pe+1;else{re=Q<(we+Se)/2?pe:pe+1;break}}var Ie=g._B[re]||0;return isFinite(Ie)?ue(q,g._m2,Ie):0},V=function(q){var se=g._rangebreaks.length;if(!se)return ce(q,g._m,g._b);for(var ae=0,j=0;jg._rangebreaks[j].pmax&&(ae=j+1);return ce(q,g._m2,g._B[ae])}}g.c2l=g.type===\"log\"?z:a,g.l2c=g.type===\"log\"?b:a,g.l2p=de,g.p2l=V,g.c2p=g.type===\"log\"?function(q,se){return de(z(q,se))}:de,g.p2c=g.type===\"log\"?function(q){return b(V(q))}:V,[\"linear\",\"-\"].indexOf(g.type)!==-1?(g.d2r=g.r2d=g.d2c=g.r2c=g.d2l=g.r2l=t,g.c2d=g.c2r=g.l2d=g.l2r=a,g.d2p=g.r2p=function(q){return g.l2p(t(q))},g.p2d=g.p2r=V,g.cleanPos=a):g.type===\"log\"?(g.d2r=g.d2l=function(q,se){return z(t(q),se)},g.r2d=g.r2c=function(q){return b(t(q))},g.d2c=g.r2l=t,g.c2d=g.l2r=a,g.c2r=z,g.l2d=b,g.d2p=function(q,se){return g.l2p(g.d2r(q,se))},g.p2d=function(q){return b(V(q))},g.r2p=function(q){return g.l2p(t(q))},g.p2r=V,g.cleanPos=a):g.type===\"date\"?(g.d2r=g.r2d=A.identity,g.d2c=g.r2c=g.d2l=g.r2l=F,g.c2d=g.c2r=g.l2d=g.l2r=B,g.d2p=g.r2p=function(q,se,ae){return g.l2p(F(q,0,ae))},g.p2d=g.p2r=function(q,se,ae){return B(V(q),se,ae)},g.cleanPos=function(q){return A.cleanDate(q,h,g.calendar)}):g.type===\"category\"?(g.d2c=g.d2l=P,g.r2d=g.c2d=g.l2d=O,g.d2r=g.d2l_noadd=X,g.r2c=function(q){var se=$(q);return se!==void 0?se:g.fraction2r(.5)},g.l2r=g.c2r=a,g.r2l=$,g.d2p=function(q){return g.l2p(g.r2c(q))},g.p2d=function(q){return O(V(q))},g.r2p=g.d2p,g.p2r=V,g.cleanPos=function(q){return typeof q==\"string\"&&q!==\"\"?q:a(q)}):g.type===\"multicategory\"&&(g.r2d=g.c2d=g.l2d=O,g.d2r=g.d2l_noadd=X,g.r2c=function(q){var se=X(q);return se!==void 0?se:g.fraction2r(.5)},g.r2c_just_indices=N,g.l2r=g.c2r=a,g.r2l=X,g.d2p=function(q){return g.l2p(g.r2c(q))},g.p2d=function(q){return O(V(q))},g.r2p=g.d2p,g.p2r=V,g.cleanPos=function(q){return Array.isArray(q)||typeof q==\"string\"&&q!==\"\"?q:a(q)},g.setupMultiCategory=function(q){var se=g._traceIndices,ae,j,Q=g._matchGroup;if(Q&&g._categories.length===0){for(var re in Q)if(re!==D){var pe=y[w.id2name(re)];se=se.concat(pe._traceIndices)}}var we=[[0,{}],[0,{}]],Se=[];for(ae=0;aepe[1]&&(j[re?0:1]=ae,Q[1]=pe[1]),Q[0]>=Q[1])if(se!==void 0){var we=pe[0]+1;ae!==void 0&&(we=Math.min(we,pe[1])),j[re?0:1]=g.l2r(we)}else ae!==void 0&&(j[re?1:0]=g.l2r(pe[1]-1))}},g.cleanRange=function(q,se){g._cleanRange(q,se),g.limitRange(q)},g._cleanRange=function(q,se){se||(se={}),q||(q=\"range\");var ae=A.nestedProperty(g,q).get(),j,Q;if(g.type===\"date\"?Q=A.dfltRange(g.calendar):L===\"y\"?Q=S.DFLTRANGEY:g._name===\"realaxis\"?Q=[0,1]:Q=se.dfltRange||S.DFLTRANGEX,Q=Q.slice(),(g.rangemode===\"tozero\"||g.rangemode===\"nonnegative\")&&(Q[0]=0),!ae||ae.length!==2){A.nestedProperty(g,q).set(Q);return}var re=ae[0]===null,pe=ae[1]===null;for(g.type===\"date\"&&!g.autorange&&(ae[0]=A.cleanDate(ae[0],h,g.calendar),ae[1]=A.cleanDate(ae[1],h,g.calendar)),j=0;j<2;j++)if(g.type===\"date\"){if(!A.isDateTime(ae[j],g.calendar)){g[q]=Q;break}if(g.r2l(ae[0])===g.r2l(ae[1])){var we=A.constrain(g.r2l(ae[0]),A.MIN_MS+1e3,A.MAX_MS-1e3);ae[0]=g.l2r(we-1e3),ae[1]=g.l2r(we+1e3);break}}else{if(!e(ae[j]))if(!(re||pe)&&e(ae[1-j]))ae[j]=ae[1-j]*(j?10:.1);else{g[q]=Q;break}if(ae[j]<-s?ae[j]=-s:ae[j]>s&&(ae[j]=s),ae[0]===ae[1]){var Se=Math.max(1,Math.abs(ae[0]*1e-6));ae[0]-=Se,ae[1]+=Se}}},g.setScale=function(q){var se=y._size;if(g.overlaying){var ae=w.getFromId({_fullLayout:y},g.overlaying);g.domain=ae.domain}var j=q&&g._r?\"_r\":\"range\",Q=g.calendar;g.cleanRange(j);var re=g.r2l(g[j][0],Q),pe=g.r2l(g[j][1],Q),we=L===\"y\";if(we?(g._offset=se.t+(1-g.domain[1])*se.h,g._length=se.h*(g.domain[1]-g.domain[0]),g._m=g._length/(re-pe),g._b=-g._m*pe):(g._offset=se.l+g.domain[0]*se.w,g._length=se.w*(g.domain[1]-g.domain[0]),g._m=g._length/(pe-re),g._b=-g._m*re),g._rangebreaks=[],g._lBreaks=0,g._m2=0,g._B=[],g.rangebreaks){var Se,Ie;if(g._rangebreaks=g.locateBreaks(Math.min(re,pe),Math.max(re,pe)),g._rangebreaks.length){for(Se=0;Sepe&&(Re=!Re),Re&&g._rangebreaks.reverse();var He=Re?-1:1;for(g._m2=He*g._length/(Math.abs(pe-re)-g._lBreaks),g._B.push(-g._m2*(we?pe:re)),Se=0;SeQ&&(Q+=7,reQ&&(Q+=24,re=j&&re=j&&q=Ye.min&&(neYe.max&&(Ye.max=Ce),Ze=!1)}Ze&&pe.push({min:ne,max:Ce})}};for(ae=0;aex*2}function i(f){return Math.max(1,(f-1)/1e3)}function s(f,v){for(var c=f.length,T=i(c),l=0,x=0,w={},S=0;Sl*2}function h(f){return E(f[0])&&E(f[1])}}}),Yd=Ge({\"src/plots/cartesian/autorange.js\"(Z,G){\"use strict\";var d=Vn(),_=ns(),A=sa(),E=Gs().FP_SAFE,e=so(),t=as(),r=tf(),o=r.getFromId,a=r.isLinked;G.exports={applyAutorangeOptions:g,getAutoRange:n,makePadFn:s,doAutoRange:c,findExtremes:T,concatExtremes:v};function n(y,D){var L,z,F=[],B=y._fullLayout,O=s(B,D,0),P=s(B,D,1),U=v(y,D),N=U.min,X=U.max;if(N.length===0||X.length===0)return A.simpleMap(D.range,D.r2l);var $=N[0].val,ue=X[0].val;for(L=1;L0&&(Se=se-O(Q)-P(re),Se>ae?Ie/Se>j&&(pe=Q,we=re,j=Ie/Se):Ie/se>j&&(pe={val:Q.val,nopad:1},we={val:re.val,nopad:1},j=Ie/se));function Re(Ue,he){return Math.max(Ue,P(he))}if($===ue){var He=$-1,at=$+1;if(ee)if($===0)F=[0,1];else{var nt=($>0?X:N).reduce(Re,0),tt=$/(1-Math.min(.5,nt/se));F=$>0?[0,tt]:[tt,0]}else q?F=[Math.max(0,He),Math.max(1,at)]:F=[He,at]}else ee?(pe.val>=0&&(pe={val:0,nopad:1}),we.val<=0&&(we={val:0,nopad:1})):q&&(pe.val-j*O(pe)<0&&(pe={val:0,nopad:1}),we.val<=0&&(we={val:1,nopad:1})),j=(we.val-pe.val-i(D,Q.val,re.val))/(se-O(pe)-P(we)),F=[pe.val-j*O(pe),we.val+j*P(we)];return F=g(F,D),D.limitRange&&D.limitRange(),de&&F.reverse(),A.simpleMap(F,D.l2r||Number)}function i(y,D,L){var z=0;if(y.rangebreaks)for(var F=y.locateBreaks(D,L),B=0;B0?L.ppadplus:L.ppadminus)||L.ppad||0),Q=ae((y._m>0?L.ppadminus:L.ppadplus)||L.ppad||0),re=ae(L.vpadplus||L.vpad),pe=ae(L.vpadminus||L.vpad);if(!N){if(q=1/0,se=-1/0,U)for($=0;$0&&(q=ue),ue>se&&ue-E&&(q=ue),ue>se&&ue=Ie;$--)Se($);return{min:z,max:F,opts:L}}function l(y,D,L,z){w(y,D,L,z,M)}function x(y,D,L,z){w(y,D,L,z,m)}function w(y,D,L,z,F){for(var B=z.tozero,O=z.extrapad,P=!0,U=0;U=L&&(N.extrapad||!O)){P=!1;break}else F(D,N.val)&&N.pad<=L&&(O||!N.extrapad)&&(y.splice(U,1),U--)}if(P){var X=B&&D===0;y.push({val:D,pad:X?0:L,extrapad:X?!1:O})}}function S(y){return _(y)&&Math.abs(y)=D}function b(y,D){var L=D.autorangeoptions;return L&&L.minallowed!==void 0&&u(D,L.minallowed,L.maxallowed)?L.minallowed:L&&L.clipmin!==void 0&&u(D,L.clipmin,L.clipmax)?Math.max(y,D.d2l(L.clipmin)):y}function p(y,D){var L=D.autorangeoptions;return L&&L.maxallowed!==void 0&&u(D,L.minallowed,L.maxallowed)?L.maxallowed:L&&L.clipmax!==void 0&&u(D,L.clipmin,L.clipmax)?Math.min(y,D.d2l(L.clipmax)):y}function u(y,D,L){return D!==void 0&&L!==void 0?(D=y.d2l(D),L=y.d2l(L),D=U&&(B=U,L=U),O<=U&&(O=U,z=U)}}return L=b(L,D),z=p(z,D),[L,z]}}}),Wo=Ge({\"src/plots/cartesian/axes.js\"(Z,G){\"use strict\";var d=Vn(),_=ns(),A=bc(),E=so(),e=sa(),t=e.strTranslate,r=su(),o=K0(),a=$n(),n=as(),i=Wh(),s=l5(),h=lh(),f=Gs(),v=f.ONEMAXYEAR,c=f.ONEAVGYEAR,T=f.ONEMINYEAR,l=f.ONEMAXQUARTER,x=f.ONEAVGQUARTER,w=f.ONEMINQUARTER,S=f.ONEMAXMONTH,M=f.ONEAVGMONTH,m=f.ONEMINMONTH,b=f.ONEWEEK,p=f.ONEDAY,u=p/2,g=f.ONEHOUR,y=f.ONEMIN,D=f.ONESEC,L=f.ONEMILLI,z=f.ONEMICROSEC,F=f.MINUS_SIGN,B=f.BADNUM,O={K:\"zeroline\"},P={K:\"gridline\",L:\"path\"},U={K:\"minor-gridline\",L:\"path\"},N={K:\"tick\",L:\"path\"},X={K:\"tick\",L:\"text\"},$={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},ue=uh(),ce=ue.MID_SHIFT,de=ue.CAP_SHIFT,V=ue.LINE_SPACING,Y=ue.OPPOSITE_SIDE,ee=3,q=G.exports={};q.setConvert=wv();var se=a1(),ae=tf(),j=ae.idSort,Q=ae.isLinked;q.id2name=ae.id2name,q.name2id=ae.name2id,q.cleanId=ae.cleanId,q.list=ae.list,q.listIds=ae.listIds,q.getFromId=ae.getFromId,q.getFromTrace=ae.getFromTrace;var re=Yd();q.getAutoRange=re.getAutoRange,q.findExtremes=re.findExtremes;var pe=1e-4;function we(_t){var ut=(_t[1]-_t[0])*pe;return[_t[0]-ut,_t[1]+ut]}q.coerceRef=function(_t,ut,Br,Cr,wr,Rr){var Ur=Cr.charAt(Cr.length-1),Hr=Br._fullLayout._subplots[Ur+\"axis\"],gt=Cr+\"ref\",Kt={};return wr||(wr=Hr[0]||(typeof Rr==\"string\"?Rr:Rr[0])),Rr||(Rr=wr),Hr=Hr.concat(Hr.map(function(vr){return vr+\" domain\"})),Kt[gt]={valType:\"enumerated\",values:Hr.concat(Rr?typeof Rr==\"string\"?[Rr]:Rr:[]),dflt:wr},e.coerce(_t,ut,Kt,gt)},q.coerceRefArray=function(_t,ut,Br,Cr,wr,Rr,Ur){let Hr=Cr.charAt(Cr.length-1);var gt=Br._fullLayout._subplots[Hr+\"axis\"];let Kt=Cr+\"ref\";var vr=_t[Kt];wr||(wr=gt[0]||(typeof Rr==\"string\"?Rr:Rr[0])),gt=gt.concat(gt.map(va=>va+\" domain\")),gt=gt.concat(Rr||[]),vr.length>Ur?(e.warn(\"Array attribute \"+Kt+\" has more entries than expected, truncating to \"+Ur),vr=vr.slice(0,Ur)):vr.length2e-6||((Br-_t._forceTick0)/_t._minDtick%1+1.000001)%1>2e-6)&&(_t._minDtick=0))},q.saveRangeInitial=function(_t,ut){for(var Br=q.list(_t,\"\",!0),Cr=!1,wr=0;wrIr*.3||Kt(Cr)||Kt(wr))){var va=Br.dtick/2;_t+=_t+vaUr){var Hr=Number(Br.slice(1));Rr.exactYears>Ur&&Hr%12===0?_t=q.tickIncrement(_t,\"M6\",\"reverse\")+p*1.5:Rr.exactMonths>Ur?_t=q.tickIncrement(_t,\"M1\",\"reverse\")+p*15.5:_t-=u;var gt=q.tickIncrement(_t,Br);if(gt<=Cr)return gt}return _t}q.prepMinorTicks=function(_t,ut,Br){var Cr,wr;if(!((Cr=ut.minor)!=null&&Cr.dtick)){delete _t.dtick;var Rr=ut.dtick&&_(ut._tmin),Ur;if(Rr){var Hr=q.tickIncrement(ut._tmin,ut.dtick,!0);Ur=[ut._tmin,Hr*.99+ut._tmin*.01]}else{var gt=e.simpleMap(ut.range,ut.r2l);Ur=[gt[0],.8*gt[0]+.2*gt[1]]}if(_t.range=e.simpleMap(Ur,ut.l2r),_t._isMinor=!0,q.prepTicks(_t,Br),Rr){var Kt=_(ut.dtick),vr=_(_t.dtick),Ir=Kt?ut.dtick:+ut.dtick.substring(1),va=vr?_t.dtick:+_t.dtick.substring(1);Kt&&vr?nt(Ir,va)?Ir===2*b&&va===2*p&&(_t.dtick=b):Ir===2*b&&va===3*p?_t.dtick=b:Ir===b&&!(ut._input.minor||{}).nticks?_t.dtick=p:tt(Ir/va,2.5)?_t.dtick=Ir/2:_t.dtick=Ir:String(ut.dtick).charAt(0)===\"M\"?vr?_t.dtick=\"M1\":nt(Ir,va)?Ir>=12&&va===2&&(_t.dtick=\"M3\"):_t.dtick=ut.dtick:String(_t.dtick).charAt(0)===\"L\"?String(ut.dtick).charAt(0)===\"L\"?nt(Ir,va)||(_t.dtick=tt(Ir/va,2.5)?ut.dtick/2:ut.dtick):_t.dtick=\"D1\":_t.dtick===\"D2\"&&+ut.dtick>1&&(_t.dtick=1)}_t.range=ut.range}((wr=ut.minor)==null?void 0:wr._tick0Init)===void 0&&(_t.tick0=ut.tick0)};function nt(_t,ut){return Math.abs((_t/ut+.5)%1-.5)<.001}function tt(_t,ut){return Math.abs(_t/ut-1)<.001}q.prepTicks=function(_t,ut){var Br=e.simpleMap(_t.range,_t.r2l,void 0,void 0,ut);if(_t.tickmode===\"auto\"||!_t.dtick){var Cr=_t.nticks,wr;Cr||(_t.type===\"category\"||_t.type===\"multicategory\"?(wr=_t.tickfont?e.bigFont(_t.tickfont.size||12):15,Cr=_t._length/wr):(wr=_t._id.charAt(0)===\"y\"?40:80,Cr=e.constrain(_t._length/wr,4,9)+1),_t._name===\"radialaxis\"&&(Cr*=2)),_t.minor&&_t.minor.tickmode!==\"array\"||_t.tickmode===\"array\"&&(Cr*=100),_t._roughDTick=Math.abs(Br[1]-Br[0])/Cr,q.autoTicks(_t,_t._roughDTick),_t._minDtick>0&&_t.dtick<_t._minDtick*2&&(_t.dtick=_t._minDtick,_t.tick0=_t.l2r(_t._forceTick0))}_t.ticklabelmode===\"period\"&&he(_t),_t.tick0||(_t.tick0=_t.type===\"date\"?\"2000-01-01\":0),_t.type===\"date\"&&_t.dtick<.1&&(_t.dtick=.1),qr(_t)};function Ue(_t){return+_t.substring(1)}function he(_t){var ut;function Br(){return!(_(_t.dtick)||_t.dtick.charAt(0)!==\"M\")}var Cr=Br(),wr=q.getTickFormat(_t);if(wr){var Rr=_t._dtickInit!==_t.dtick;/%[fLQsSMX]/.test(wr)||(/%[HI]/.test(wr)?(ut=g,Rr&&!Cr&&_t.dtick0?(Rr=Cr-1,Ur=Cr):(Rr=Cr,Ur=Cr);var Hr=_t[Rr].value,gt=_t[Ur].value,Kt=Math.abs(gt-Hr),vr=Br||Kt,Ir=0;vr>=T?Kt>=T&&Kt<=v?Ir=Kt:Ir=c:Br===x&&vr>=w?Kt>=w&&Kt<=l?Ir=Kt:Ir=x:vr>=m?Kt>=m&&Kt<=S?Ir=Kt:Ir=M:Br===b&&vr>=b?Ir=b:vr>=p?Ir=p:Br===u&&vr>=u?Ir=u:Br===g&&vr>=g&&(Ir=g);var va;Ir>=Kt&&(Ir=Kt,va=!0);var Pa=wr+Ir;if(ut.rangebreaks&&Ir>0){for(var ga=84,la=0,ba=0;bab&&(Ir=Kt)}(Ir>0||Cr===0)&&(_t[Cr].periodX=wr+Ir/2)}}q.calcTicks=function(ut,Br){for(var Cr=ut.type,wr=ut.calendar,Rr=ut.ticklabelstep,Ur=ut.ticklabelmode===\"period\",Hr=ut.range[0]>ut.range[1],gt=!ut.ticklabelindex||e.isArrayOrTypedArray(ut.ticklabelindex)?ut.ticklabelindex:[ut.ticklabelindex],Kt=e.simpleMap(ut.range,ut.r2l,void 0,void 0,Br),vr=Kt[1]=(Mn?0:1);wn--){var On=!wn;wn?(ut._dtickInit=ut.dtick,ut._tick0Init=ut.tick0):Mn&&(ut.minor._dtickInit=ut.minor.dtick,ut.minor._tick0Init=ut.minor.tick0);var En=wn?ut:e.extendFlat({},ut,Mn?ut.minor:{minor:{}});if(On?q.prepMinorTicks(En,ut,Br):q.prepTicks(En,Br),En.tickmode===\"array\"){wn?(ba=[],ga=Ze(ut,!On)):(Ai=[],la=Ze(ut,!On));continue}if(En.tickmode===\"sync\"){ba=[],ga=Ce(ut);continue}var ao=we(Kt),Co=ao[0],bo=ao[1],zs=_(En.dtick),kn=Cr===\"log\"&&!(zs||En.dtick.charAt(0)===\"L\"),wo=q.tickFirst(En,Br);if(wn){if(ut._tmin=wo,wo=bo:go<=bo;go=q.tickIncrement(go,jo,vr,wr)){if(wn&&os++,En.rangebreaks&&!vr){if(go=va)break}if(ba.length>Pa||go===Kn)break;Kn=go;var Zn={value:go};wn?(kn&&go!==(go|0)&&(Zn.simpleLabel=!0),Rr>1&&os%Rr&&(Zn.skipLabel=!0),ba.push(Zn)):(Zn.minor=!0,Ai.push(Zn))}}if(!Ai||Ai.length<3)gt=!1;else{var Gn=(Ai[2].value-Ai[1].value)*(Hr?-1:1);cn(Gn,ut.tickformat)||(gt=!1,Ai=Ai.slice(1))}if(!gt)ki=ba;else{var Hn=ba.concat(Ai);Ur&&ba.length&&(Hn=Hn.slice(1)),Hn=Hn.sort(function(Ks,ws){return Ks.value-ws.value}).filter(function(Ks,ws,Cs){return ws===0||Ks.value!==Cs[ws-1].value});var ss=Hn.map(function(Ks,ws){return Ks.minor===void 0&&!Ks.skipLabel?ws:null}).filter(function(Ks){return Ks!==null});ss.forEach(function(Ks){gt.map(function(ws){var Cs=Ks+ws;Cs>=0&&Cs-1;Zo--){if(ba[Zo].drop){ba.splice(Zo,1);continue}ba[Zo].value=ri(ba[Zo].value,ut);var yn=ut.c2p(ba[Zo].value);(bs?il>yn-Hs:ilva||Jova&&(Cs.periodX=va),Jowr&&vac)ut/=c,Cr=wr(10),_t.dtick=\"M\"+12*mr(ut,Cr,rt);else if(Rr>M)ut/=M,_t.dtick=\"M\"+mr(ut,1,Ye);else if(Rr>p){if(_t.dtick=mr(ut,p,_t._hasDayOfWeekBreaks?[1,2,7,14]:kt),!Br){var Ur=q.getTickFormat(_t),Hr=_t.ticklabelmode===\"period\";Hr&&(_t._rawTick0=_t.tick0),/%[uVW]/.test(Ur)?_t.tick0=e.dateTick0(_t.calendar,2):_t.tick0=e.dateTick0(_t.calendar,1),Hr&&(_t._dowTick0=_t.tick0)}}else Rr>g?_t.dtick=mr(ut,g,Ye):Rr>y?_t.dtick=mr(ut,y,St):Rr>D?_t.dtick=mr(ut,D,St):(Cr=wr(10),_t.dtick=mr(ut,Cr,rt))}else if(_t.type===\"log\"){_t.tick0=0;var gt=e.simpleMap(_t.range,_t.r2l);if(_t._isMinor&&(ut*=1.5),ut>.7)_t.dtick=Math.ceil(ut);else if(Math.abs(gt[1]-gt[0])<1){var Kt=1.5*Math.abs((gt[1]-gt[0])/ut);ut=Math.abs(Math.pow(10,gt[1])-Math.pow(10,gt[0]))/Kt,Cr=wr(10),_t.dtick=\"L\"+mr(ut,Cr,rt)}else _t.dtick=ut>.3?\"D2\":\"D1\"}else _t.type===\"category\"||_t.type===\"multicategory\"?(_t.tick0=0,_t.dtick=Math.ceil(Math.max(ut,1))):Za(_t)?(_t.tick0=0,Cr=1,_t.dtick=mr(ut,Cr,Tr)):(_t.tick0=0,Cr=wr(10),_t.dtick=mr(ut,Cr,rt));if(_t.dtick===0&&(_t.dtick=1),!_(_t.dtick)&&typeof _t.dtick!=\"string\"){var vr=_t.dtick;throw _t.dtick=1,\"ax.dtick error: \"+String(vr)}};function qr(_t){var ut=_t.dtick;if(_t._tickexponent=0,!_(ut)&&typeof ut!=\"string\"&&(ut=1),(_t.type===\"category\"||_t.type===\"multicategory\")&&(_t._tickround=null),_t.type===\"date\"){var Br=_t.r2l(_t.tick0),Cr=_t.l2r(Br).replace(/(^-|i)/g,\"\"),wr=Cr.length;if(String(ut).charAt(0)===\"M\")wr>10||Cr.slice(5)!==\"01-01\"?_t._tickround=\"d\":_t._tickround=+ut.slice(1)%12===0?\"y\":\"m\";else if(ut>=p&&wr<=10||ut>=p*15)_t._tickround=\"d\";else if(ut>=y&&wr<=16||ut>=g)_t._tickround=\"M\";else if(ut>=D&&wr<=19||ut>=y)_t._tickround=\"S\";else{var Rr=_t.l2r(Br+ut).replace(/^-/,\"\").length;_t._tickround=Math.max(wr,Rr)-20,_t._tickround<0&&(_t._tickround=4)}}else if(_(ut)||ut.charAt(0)===\"L\"){var Ur=_t.range.map(_t.r2d||Number);_(ut)||(ut=Number(ut.slice(1))),_t._tickround=2-Math.floor(Math.log(ut)/Math.LN10+.01);var Hr=Math.max(Math.abs(Ur[0]),Math.abs(Ur[1])),gt=Math.floor(Math.log(Hr)/Math.LN10+.01),Kt=_t.minexponent===void 0?3:_t.minexponent;Math.abs(gt)>Kt&&(ot(_t.exponentformat)&&_t.exponentformat!==\"SI extended\"&&!Ut(gt)||ot(_t.exponentformat)&&_t.exponentformat===\"SI extended\"&&!Ct(gt)?_t._tickexponent=3*Math.round((gt-1)/3):_t._tickexponent=gt)}else _t._tickround=null}q.tickIncrement=function(_t,ut,Br,Cr){var wr=Br?-1:1;if(_(ut))return e.increment(_t,wr*ut);var Rr=ut.charAt(0),Ur=wr*Number(ut.slice(1));if(Rr===\"M\")return e.incrementMonth(_t,Ur,Cr);if(Rr===\"L\")return Math.log(Math.pow(10,_t)+Ur)/Math.LN10;if(Rr===\"D\"){var Hr=ut===\"D2\"?Gt:qt,gt=_t+wr*.01,Kt=e.roundUp(e.mod(gt,1),Hr,Br);return Math.floor(gt)+Math.log(d.round(Math.pow(10,Kt),1))/Math.LN10}throw\"unrecognized dtick \"+String(ut)},q.tickFirst=function(_t,ut){var Br=_t.r2l||Number,Cr=e.simpleMap(_t.range,Br,void 0,void 0,ut),wr=Cr[1]=0&&Ai<=_t._length?ba:null};if(Rr&&e.isArrayOrTypedArray(_t.ticktext)){var Ir=e.simpleMap(_t.range,_t.r2l),va=(Math.abs(Ir[1]-Ir[0])-(_t._lBreaks||0))/1e4;for(Kt=0;Kt<_t.ticktext.length&&!(Math.abs(ut-gt(_t.tickvals[Kt]))\"+Hr;else{var Kt=pi(_t),vr=_t._trueSide||_t.side;(!Kt&&vr===\"top\"||Kt&&vr===\"bottom\")&&(Ur+=\"
\")}ut.text=Ur}function xt(_t,ut,Br,Cr,wr){var Rr=_t.dtick,Ur=ut.x,Hr=_t.tickformat,gt=typeof Rr==\"string\"&&Rr.charAt(0);if(wr===\"never\"&&(wr=\"\"),Cr&>!==\"L\"&&(Rr=\"L3\",gt=\"L\"),Hr||gt===\"L\")ut.text=Nt(Math.pow(10,Ur),_t,wr,Cr);else if(_(Rr)||gt===\"D\"&&(_t.minorloglabels===\"complete\"||e.mod(Ur+.01,1)<.1)){var Kt;_t.minorloglabels===\"complete\"&&!(e.mod(Ur+.01,1)<.1)&&(Kt=!0,ut.fontSize*=.75);var vr=Math.pow(10,Ur).toExponential(0),Ir=vr.split(\"e\"),va=+Ir[1],Pa=Math.abs(va),ga=_t.exponentformat;ga===\"power\"||ot(ga)&&ga!==\"SI extended\"&&Ut(va)||ot(ga)&&ga===\"SI extended\"&&Ct(va)?(ut.text=Ir[0],Pa>0&&(ut.text+=\"x10\"),ut.text===\"1x10\"&&(ut.text=\"10\"),va!==0&&va!==1&&(ut.text+=\"\"+(va>0?\"\":F)+Pa+\"\"),ut.fontSize*=1.25):(ga===\"e\"||ga===\"E\")&&Pa>2?ut.text=Ir[0]+ga+(va>0?\"+\":F)+Pa:(ut.text=Nt(Math.pow(10,Ur),_t,\"\",\"fakehover\"),Rr===\"D1\"&&_t._id.charAt(0)===\"y\"&&(ut.dy-=ut.fontSize/6))}else if(gt===\"D\")ut.text=_t.minorloglabels===\"none\"?\"\":String(Math.round(Math.pow(10,e.mod(Ur,1)))),ut.fontSize*=.75;else throw\"unrecognized dtick \"+String(Rr);if(_t.dtick===\"D1\"){var la=String(ut.text).charAt(0);(la===\"0\"||la===\"1\")&&(_t._id.charAt(0)===\"y\"?ut.dx-=ut.fontSize/4:(ut.dy+=ut.fontSize/2,ut.dx+=(_t.range[1]>_t.range[0]?1:-1)*ut.fontSize*(Ur<0?.5:.25)))}}function Oe(_t,ut){var Br=_t._categories[Math.round(ut.x)];Br===void 0&&(Br=\"\"),ut.text=String(Br)}function Ke(_t,ut,Br){var Cr=Math.round(ut.x),wr=_t._categories[Cr]||[],Rr=wr[1]===void 0?\"\":String(wr[1]),Ur=wr[0]===void 0?\"\":String(wr[0]);Br?ut.text=Ur+\" - \"+Rr:(ut.text=Rr,ut.text2=Ur)}function Ae(_t,ut,Br,Cr,wr){wr===\"never\"?wr=\"\":_t.showexponent===\"all\"&&Math.abs(ut.x/_t.dtick)<1e-6&&(wr=\"hide\"),ut.text=Nt(ut.x,_t,wr,Cr)}function Le(_t,ut,Br,Cr,wr){if(_t.thetaunit===\"radians\"&&!Br){var Rr=ut.x/180;if(Rr===0)ut.text=\"0\";else{var Ur=We(Rr);if(Ur[1]>=100)ut.text=Nt(e.deg2rad(ut.x),_t,wr,Cr);else{var Hr=ut.x<0;Ur[1]===1?Ur[0]===1?ut.text=\"\\u03C0\":ut.text=Ur[0]+\"\\u03C0\":ut.text=[\"\",Ur[0],\"\",\"\\u2044\",\"\",Ur[1],\"\",\"\\u03C0\"].join(\"\"),Hr&&(ut.text=F+ut.text)}}}else ut.text=Nt(ut.x,_t,wr,Cr)}function We(_t){function ut(Hr,gt){return Math.abs(Hr-gt)<=1e-6}function Br(Hr,gt){return ut(gt,0)?Hr:Br(gt,Hr%gt)}function Cr(Hr){for(var gt=1;!ut(Math.round(Hr*gt)/gt,Hr);)gt*=10;return gt}var wr=Cr(_t),Rr=_t*wr,Ur=Math.abs(Br(Rr,wr));return[Math.round(Rr/Ur),Math.round(wr/Ur)]}var Je=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"],st=[\"q\",\"r\",\"y\",\"z\",\"a\",...Je,\"P\",\"E\",\"Z\",\"Y\",\"R\",\"Q\"],ot=_t=>[\"SI\",\"SI extended\",\"B\"].includes(_t);function Ut(_t){return _t>14||_t<-15}function Ct(_t){return _t>32||_t<-30}function Pt(_t,ut){return ot(ut)?!!(ut===\"SI extended\"&&Ct(_t)||ut!==\"SI extended\"&&Ut(_t)):!1}function Nt(_t,ut,Br,Cr){var wr=_t<0,Rr=ut._tickround,Ur=Br||ut.exponentformat||\"B\",Hr=ut._tickexponent,gt=q.getTickFormat(ut),Kt=ut.separatethousands;if(Cr){var vr={exponentformat:Ur,minexponent:ut.minexponent,dtick:ut.showexponent===\"none\"?ut.dtick:_(_t)&&Math.abs(_t)||1,range:ut.showexponent===\"none\"?ut.range.map(ut.r2d):[0,_t||1]};qr(vr),Rr=(Number(vr._tickround)||0)+4,Hr=vr._tickexponent,ut.hoverformat&&(gt=ut.hoverformat)}if(gt)return ut._numFormat(gt)(_t).replace(/-/g,F);var Ir=Math.pow(10,-Rr)/2;if(Ur===\"none\"&&(Hr=0),_t=Math.abs(_t),_t\"+ga+\"\":Ur===\"B\"&&Hr===9?_t+=\"B\":ot(Ur)&&(_t+=Ur===\"SI extended\"?st[Hr/3+10]:Je[Hr/3+5])}return wr?F+_t:_t}q.getTickFormat=function(_t){var ut;function Br(gt){return typeof gt!=\"string\"?gt:Number(gt.replace(\"M\",\"\"))*M}function Cr(gt,Kt){var vr=[\"L\",\"D\"];if(typeof gt==typeof Kt){if(typeof gt==\"number\")return gt-Kt;var Ir=vr.indexOf(gt.charAt(0)),va=vr.indexOf(Kt.charAt(0));return Ir===va?Number(gt.replace(/(L|D)/g,\"\"))-Number(Kt.replace(/(L|D)/g,\"\")):Ir-va}else return typeof gt==\"number\"?1:-1}function wr(gt,Kt,vr){var Ir=vr||function(ga){return ga},va=Kt[0],Pa=Kt[1];return(!va&&typeof va!=\"number\"||Ir(va)<=Ir(gt))&&(!Pa&&typeof Pa!=\"number\"||Ir(Pa)>=Ir(gt))}function Rr(gt,Kt){var vr=Kt[0]===null,Ir=Kt[1]===null,va=Cr(gt,Kt[0])>=0,Pa=Cr(gt,Kt[1])<=0;return(vr||va)&&(Ir||Pa)}var Ur,Hr;if(_t.tickformatstops&&_t.tickformatstops.length>0)switch(_t.type){case\"date\":case\"linear\":{for(ut=0;ut<_t.tickformatstops.length;ut++)if(Hr=_t.tickformatstops[ut],Hr.enabled&&wr(_t.dtick,Hr.dtickrange,Br)){Ur=Hr;break}break}case\"log\":{for(ut=0;ut<_t.tickformatstops.length;ut++)if(Hr=_t.tickformatstops[ut],Hr.enabled&&Rr(_t.dtick,Hr.dtickrange)){Ur=Hr;break}break}default:}return Ur?Ur.value:_t.tickformat},q.getSubplots=function(_t,ut){var Br=_t._fullLayout._subplots,Cr=Br.cartesian.concat(Br.gl2d||[]),wr=ut?q.findSubplotsWithAxis(Cr,ut):Cr;return wr.sort(function(Rr,Ur){var Hr=Rr.slice(1).split(\"y\"),gt=Ur.slice(1).split(\"y\");return Hr[0]===gt[0]?+Hr[1]-+gt[1]:+Hr[0]-+gt[0]}),wr},q.findSubplotsWithAxis=function(_t,ut){for(var Br=new RegExp(ut._id.charAt(0)===\"x\"?\"^\"+ut._id+\"y\":ut._id+\"$\"),Cr=[],wr=0;wr<_t.length;wr++){var Rr=_t[wr];Br.test(Rr)&&Cr.push(Rr)}return Cr},q.makeClipPaths=function(_t){var ut=_t._fullLayout;if(!ut._hasOnlyLargeSploms){var Br={_offset:0,_length:ut.width,_id:\"\"},Cr={_offset:0,_length:ut.height,_id:\"\"},wr=q.list(_t,\"x\",!0),Rr=q.list(_t,\"y\",!0),Ur=[],Hr,gt;for(Hr=0;Hr=0&&wr.unshift(wr.splice(vr,1).shift())}});var Hr={false:{left:0,right:0}};return e.syncOrAsync(wr.map(function(gt){return function(){if(gt){var Kt=q.getFromId(_t,gt);Br||(Br={}),Br.axShifts=Hr,Br.overlayingShiftedAx=Ur;var vr=q.drawOne(_t,Kt,Br);return Kt._shiftPusher&&rn(Kt,Kt._fullDepth||0,Hr,!0),Kt._r=Kt.range.slice(),Kt._rl=e.simpleMap(Kt._r,Kt.r2l),vr}}}))},q.drawOne=function(_t,ut,Br){Br=Br||{};var Cr=Br.axShifts||{},wr=Br.overlayingShiftedAx||[],Rr,Ur,Hr;ut.setScale();var gt=_t._fullLayout,Kt=ut._id,vr=Kt.charAt(0),Ir=q.counterLetter(Kt),va=gt._plots[ut._mainSubplot],Pa=ut.zerolinelayer===\"above traces\";if(!va)return;if(ut._shiftPusher=ut.autoshift||wr.indexOf(ut._id)!==-1||wr.indexOf(ut.overlaying)!==-1,ut._shiftPusher&ut.anchor===\"free\"){var ga=ut.linewidth/2||0;ut.ticks===\"inside\"&&(ga+=ut.ticklen),rn(ut,ga,Cr,!0),rn(ut,ut.shift||0,Cr,!1)}(Br.skipTitle!==!0||ut._shift===void 0)&&(ut._shift=tn(ut,Cr));var la=va[vr+\"axislayer\"],ba=ut._mainLinePosition,Ai=ba+=ut._shift,ki=ut._mainMirrorPosition,Ki=ut._vals=q.calcTicks(ut),Mn=[ut.mirror,Ai,ki].join(\"_\");for(Rr=0;Rr0?Cs.bottom-Ks:0,ws))));var lu=0,Tc=0;if(ut._shiftPusher&&(lu=Math.max(ws,Cs.height>0?uo===\"l\"?Ks-Cs.left:Cs.right-Ks:0),ut.title.text!==gt._dfltTitle[vr]&&(Tc=(ut._titleStandoff||0)+(ut._titleScoot||0),uo===\"l\"&&(Tc+=Ca(ut))),ut._fullDepth=Math.max(lu,Tc)),ut.automargin){Jo={x:0,y:0,r:0,l:0,t:0,b:0};var du=[0,1],Sf=typeof ut._shift==\"number\"?ut._shift:0;if(vr===\"x\"){if(uo===\"b\"?Jo[uo]=ut._depth:(Jo[uo]=ut._depth=Math.max(Cs.width>0?Ks-Cs.top:0,ws),du.reverse()),Cs.width>0){var Uc=Cs.right-(ut._offset+ut._length);Uc>0&&(Jo.xr=1,Jo.r=Uc);var Bs=ut._offset-Cs.left;Bs>0&&(Jo.xl=0,Jo.l=Bs)}}else if(uo===\"l\"?(ut._depth=Math.max(Cs.height>0?Ks-Cs.left:0,ws),Jo[uo]=ut._depth-Sf):(ut._depth=Math.max(Cs.height>0?Cs.right-Ks:0,ws),Jo[uo]=ut._depth+Sf,du.reverse()),Cs.height>0){var dc=Cs.bottom-(ut._offset+ut._length);dc>0&&(Jo.yb=0,Jo.b=dc);var Wc=ut._offset-Cs.top;Wc>0&&(Jo.yt=1,Jo.t=Wc)}Jo[Ir]=ut.anchor===\"free\"?ut.position:ut._anchorAxis.domain[du[0]],ut.title.text!==gt._dfltTitle[vr]&&(Jo[uo]+=Ca(ut)+(ut.title.standoff||0)),ut.mirror&&ut.anchor!==\"free\"&&(Ms={x:0,y:0,r:0,l:0,t:0,b:0},Ms[Nl]=ut.linewidth,ut.mirror&&ut.mirror!==!0&&(Ms[Nl]+=ws),ut.mirror===!0||ut.mirror===\"ticks\"?Ms[Ir]=ut._anchorAxis.domain[du[1]]:(ut.mirror===\"all\"||ut.mirror===\"allticks\")&&(Ms[Ir]=[ut._counterDomainMin,ut._counterDomainMax][du[1]]))}Ll&&(Ul=E.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(_t,ut)),typeof ut.automargin==\"string\"&&(cr(Jo,ut.automargin),cr(Ms,ut.automargin)),A.autoMargin(_t,Jt(ut),Jo),A.autoMargin(_t,Or(ut),Ms),A.autoMargin(_t,ta(ut),Ul)}),e.syncOrAsync(To)}};function cr(_t,ut){if(_t){var Br=Object.keys($).reduce(function(Cr,wr){return ut.indexOf(wr)!==-1&&$[wr].forEach(function(Rr){Cr[Rr]=1}),Cr},{});Object.keys(_t).forEach(function(Cr){Br[Cr]||(Cr.length===1?_t[Cr]=0:delete _t[Cr])})}}function lr(_t,ut){var Br=[],Cr,wr=function(Rr,Ur){var Hr=Rr.xbnd[Ur];Hr!==null&&Br.push(e.extendFlat({},Rr,{x:Hr}))};if(ut.length){for(Cr=0;Cr_t.range[1],Hr=_t.ticklabelposition&&_t.ticklabelposition.indexOf(\"inside\")!==-1,gt=!Hr;if(Br){var Kt=Ur?-1:1;Br=Br*Kt}if(Cr){var vr=_t.side,Ir=Hr&&(vr===\"top\"||vr===\"left\")||gt&&(vr===\"bottom\"||vr===\"right\")?1:-1;Cr=Cr*Ir}return _t._id.charAt(0)===\"x\"?function(va){return t(wr+_t._offset+_t.l2p(Fa(va))+Br,Rr+Cr)}:function(va){return t(Rr+Cr,wr+_t._offset+_t.l2p(Fa(va))+Br)}};function Fa(_t){return _t.periodX!==void 0?_t.periodX:_t.x}function Ra(_t){var ut=_t.ticklabelposition||\"\",Br=_t.tickson||\"\",Cr=function(ga){return ut.indexOf(ga)!==-1},wr=Cr(\"top\"),Rr=Cr(\"left\"),Ur=Cr(\"right\"),Hr=Cr(\"bottom\"),gt=Cr(\"inside\"),Kt=Br!==\"boundaries\"&&(Hr||Rr||wr||Ur);if(!Kt&&!gt)return[0,0];var vr=_t.side,Ir=Kt?(_t.tickwidth||0)/2:0,va=ee,Pa=_t.tickfont?_t.tickfont.size:12;return(Hr||wr)&&(Ir+=Pa*de,va+=(_t.linewidth||0)/2),(Rr||Ur)&&(Ir+=(_t.linewidth||0)/2,va+=ee),gt&&vr===\"top\"&&(va-=Pa*(1-de)),(Rr||wr)&&(Ir=-Ir),(vr===\"bottom\"||vr===\"right\")&&(va=-va),[Kt?Ir:0,gt?va:0]}q.makeTickPath=function(_t,ut,Br,Cr){Cr||(Cr={});var wr=Cr.minor;if(wr&&!_t.minor)return\"\";var Rr=Cr.len!==void 0?Cr.len:wr?_t.minor.ticklen:_t.ticklen,Ur=_t._id.charAt(0),Hr=(_t.linewidth||1)/2;return Ur===\"x\"?\"M0,\"+(ut+Hr*Br)+\"v\"+Rr*Br:\"M\"+(ut+Hr*Br)+\",0h\"+Rr*Br},q.makeLabelFns=function(_t,ut,Br){var Cr=_t.ticklabelposition||\"\",wr=_t.tickson||\"\",Rr=function(wo){return Cr.indexOf(wo)!==-1},Ur=Rr(\"top\"),Hr=Rr(\"left\"),gt=Rr(\"right\"),Kt=Rr(\"bottom\"),vr=wr!==\"boundaries\"&&(Kt||Hr||Ur||gt),Ir=Rr(\"inside\"),va=Cr===\"inside\"&&_t.ticks===\"inside\"||!Ir&&_t.ticks===\"outside\"&&wr!==\"boundaries\",Pa=0,ga=0,la=va?_t.ticklen:0;if(Ir?la*=-1:vr&&(la=0),va&&(Pa+=la,Br)){var ba=e.deg2rad(Br);Pa=la*Math.cos(ba)+1,ga=la*Math.sin(ba)}_t.showticklabels&&(va||_t.showline)&&(Pa+=.2*_t.tickfont.size),Pa+=(_t.linewidth||1)/2*(Ir?-1:1);var Ai={labelStandoff:Pa,labelShift:ga},ki,Ki,Mn,wn,On=0,En=_t.side,ao=_t._id.charAt(0),Co=_t.tickangle,bo;if(ao===\"x\")bo=!Ir&&En===\"bottom\"||Ir&&En===\"top\",wn=bo?1:-1,Ir&&(wn*=-1),ki=ga*wn,Ki=ut+Pa*wn,Mn=bo?1:-.2,Math.abs(Co)===90&&(Ir?Mn+=ce:Co===-90&&En===\"bottom\"?Mn=de:Co===90&&En===\"top\"?Mn=ce:Mn=.5,On=ce/2*(Co/90)),Ai.xFn=function(wo){return wo.dx+ki+On*wo.fontSize},Ai.yFn=function(wo){return wo.dy+Ki+wo.fontSize*Mn},Ai.anchorFn=function(wo,Kn){if(vr){if(Hr)return\"end\";if(gt)return\"start\"}return!_(Kn)||Kn===0||Kn===180?\"middle\":Kn*wn<0!==Ir?\"end\":\"start\"},Ai.heightFn=function(wo,Kn,go){return Kn<-60||Kn>60?-.5*go:_t.side===\"top\"!==Ir?-go:0};else if(ao===\"y\"){if(bo=!Ir&&En===\"left\"||Ir&&En===\"right\",wn=bo?1:-1,Ir&&(wn*=-1),ki=Pa,Ki=ga*wn,Mn=0,!Ir&&Math.abs(Co)===90&&(Co===-90&&En===\"left\"||Co===90&&En===\"right\"?Mn=de:Mn=.5),Ir){var zs=_(Co)?+Co:0;if(zs!==0){var kn=e.deg2rad(zs);On=Math.abs(Math.sin(kn))*de*wn,Mn=0}}Ai.xFn=function(wo){return wo.dx+ut-(ki+wo.fontSize*Mn)*wn+On*wo.fontSize},Ai.yFn=function(wo){return wo.dy+Ki+wo.fontSize*ce},Ai.anchorFn=function(wo,Kn){return _(Kn)&&Math.abs(Kn)===90?\"middle\":bo?\"end\":\"start\"},Ai.heightFn=function(wo,Kn,go){return _t.side===\"right\"&&(Kn*=-1),Kn<-30?-go:Kn<30?-.5*go:0}}return Ai};function qa(_t){return[_t.text,_t.x,_t.axInfo,_t.font,_t.fontSize,_t.fontColor].join(\"_\")}q.drawTicks=function(_t,ut,Br){Br=Br||{};var Cr=ut._id+\"tick\",wr=[].concat(ut.minor&&ut.minor.ticks?Br.vals.filter(function(Ur){return Ur.minor&&!Ur.noTick}):[]).concat(ut.ticks?Br.vals.filter(function(Ur){return!Ur.minor&&!Ur.noTick}):[]),Rr=Br.layer.selectAll(\"path.\"+Cr).data(wr,qa);Rr.exit().remove(),Rr.enter().append(\"path\").classed(Cr,1).classed(\"ticks\",1).classed(\"crisp\",Br.crisp!==!1).each(function(Ur){return a.stroke(d.select(this),Ur.minor?ut.minor.tickcolor:ut.tickcolor)}).style(\"stroke-width\",function(Ur){return n.crispRound(_t,Ur.minor?ut.minor.tickwidth:ut.tickwidth,1)+\"px\"}).attr(\"d\",Br.path).style(\"display\",null),Ia(ut,[N]),Rr.attr(\"transform\",Br.transFn)},q.drawGrid=function(_t,ut,Br){if(Br=Br||{},ut.tickmode!==\"sync\"){var Cr=ut._id+\"grid\",wr=ut.minor&&ut.minor.showgrid,Rr=wr?Br.vals.filter(function(Ai){return Ai.minor}):[],Ur=ut.showgrid?Br.vals.filter(function(Ai){return!Ai.minor}):[],Hr=Br.counterAxis;if(Hr&&q.shouldShowZeroLine(_t,ut,Hr))for(var gt=ut.tickmode===\"array\",Kt=0;Kt=0;ga--){var la=ga?va:Pa;if(la){var ba=la.selectAll(\"path.\"+Cr).data(ga?Ur:Rr,qa);ba.exit().remove(),ba.enter().append(\"path\").classed(Cr,1).classed(\"crisp\",Br.crisp!==!1),ba.attr(\"transform\",Br.transFn).attr(\"d\",Br.path).each(function(Ai){return a.stroke(d.select(this),Ai.minor?ut.minor.gridcolor:ut.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(Ai){return n.dashStyle(Ai.minor?ut.minor.griddash:ut.griddash,Ai.minor?ut.minor.gridwidth:ut.gridwidth)}).style(\"stroke-width\",function(Ai){return(Ai.minor?Ir:ut._gw)+\"px\"}).style(\"display\",null),typeof Br.path==\"function\"&&ba.attr(\"d\",Br.path)}}Ia(ut,[P,U])}},q.drawZeroLine=function(_t,ut,Br){Br=Br||Br;var Cr=ut._id+\"zl\",wr=q.shouldShowZeroLine(_t,ut,Br.counterAxis),Rr=Br.layer.selectAll(\"path.\"+Cr).data(wr?[{x:0,id:ut._id}]:[]);Rr.exit().remove(),Rr.enter().append(\"path\").classed(Cr,1).classed(\"zl\",1).classed(\"crisp\",Br.crisp!==!1).each(function(){Br.layer.selectAll(\"path\").sort(function(Ur,Hr){return j(Ur.id,Hr.id)})}),Rr.attr(\"transform\",Br.transFn).attr(\"d\",Br.path).call(a.stroke,ut.zerolinecolor||a.defaultLine).style(\"stroke-width\",n.crispRound(_t,ut.zerolinewidth,ut._gw||1)+\"px\").style(\"display\",null),Ia(ut,[O])},q.drawLabels=function(_t,ut,Br){Br=Br||{};var Cr=_t._fullLayout,wr=ut._id,Rr=ut.zerolinelayer===\"above traces\",Ur=Br.cls||wr+\"tick\",Hr=Br.vals.filter(function(Zn){return Zn.text}),gt=Br.labelFns,Kt=Br.secondary?0:ut.tickangle,vr=(ut._prevTickAngles||{})[Ur],Ir=Br.layer.selectAll(\"g.\"+Ur).data(ut.showticklabels?Hr:[],qa),va=[];Ir.enter().append(\"g\").classed(Ur,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(Zn){var Gn=d.select(this),Hn=_t._promises.length;Gn.call(r.positionText,gt.xFn(Zn),gt.yFn(Zn)).call(n.font,{family:Zn.font,size:Zn.fontSize,color:Zn.fontColor,weight:Zn.fontWeight,style:Zn.fontStyle,variant:Zn.fontVariant,textcase:Zn.fontTextcase,lineposition:Zn.fontLineposition,shadow:Zn.fontShadow}).text(Zn.text).call(r.convertToTspans,_t),_t._promises[Hn]?va.push(_t._promises.pop().then(function(){Pa(Gn,Kt)})):Pa(Gn,Kt)}),Ia(ut,[X]),Ir.exit().remove(),Br.repositionOnUpdate&&Ir.each(function(Zn){d.select(this).select(\"text\").call(r.positionText,gt.xFn(Zn),gt.yFn(Zn))});function Pa(Zn,Gn){Zn.each(function(Hn){var ss=d.select(this),ys=ss.select(\".text-math-group\"),Rs=gt.anchorFn(Hn,Gn),Ko=Br.transFn.call(ss.node(),Hn)+(_(Gn)&&+Gn!=0?\" rotate(\"+Gn+\",\"+gt.xFn(Hn)+\",\"+(gt.yFn(Hn)-Hn.fontSize/2)+\")\":\"\"),Gi=r.lineCount(ss),Pn=V*Hn.fontSize,qs=gt.heightFn(Hn,_(Gn)?+Gn:0,(Gi-1)*Pn);if(qs&&(Ko+=t(0,qs)),ys.empty()){var xs=ss.select(\"text\");xs.attr({transform:Ko,\"text-anchor\":Rs}),xs.style(\"display\",null),ut._adjustTickLabelsOverflow&&ut._adjustTickLabelsOverflow()}else{var lo=n.bBox(ys.node()).width,Zo=lo*{end:-.5,start:.5}[Rs];ys.attr(\"transform\",Ko+t(Zo,0))}})}ut._adjustTickLabelsOverflow=function(){var Zn=ut.ticklabeloverflow;if(!(!Zn||Zn===\"allow\")){var Gn=Zn.indexOf(\"hide\")!==-1,Hn=ut._id.charAt(0)===\"x\",ss=0,ys=Hn?_t._fullLayout.width:_t._fullLayout.height;if(Zn.indexOf(\"domain\")!==-1){var Rs=e.simpleMap(ut.range,ut.r2l);ss=ut.l2p(Rs[0])+ut._offset,ys=ut.l2p(Rs[1])+ut._offset}var Ko=Math.min(ss,ys),Gi=Math.max(ss,ys),Pn=ut.side,qs=1/0,xs=-1/0;Ir.each(function(Hs){var il=d.select(this),yn=il.select(\".text-math-group\");if(yn.empty()){var Po=n.bBox(il.node()),To=0;Hn?(Po.right>Gi||Po.leftGi||Po.top+(ut.tickangle?0:Hs.fontSize/4)ut[\"_visibleLabelMin_\"+Rs._id]?il.style(\"display\",\"none\"):Gi.K===\"tick\"&&!Ko&&il.node().style.display!==\"none\"&&il.style(\"display\",null)})})})})},Pa(Ir,vr+1?vr:Kt);function ga(){return va.length&&Promise.all(va)}var la=null;function ba(){if(Pa(Ir,Kt),Hr.length&&ut.autotickangles&&(ut.type!==\"log\"||String(ut.dtick).charAt(0)!==\"D\")){la=ut.autotickangles[0];var Zn=0,Gn=[],Hn,ss=1;Ir.each(function(Jo){Zn=Math.max(Zn,Jo.fontSize);var Ms=ut.l2p(Jo.x),Ul=Zt(this),lu=n.bBox(Ul.node());ss=Math.max(ss,r.lineCount(Ul)),Gn.push({top:0,bottom:10,height:10,left:Ms-lu.width/2,right:Ms+lu.width/2+2,width:lu.width+2})});var ys=(ut.tickson===\"boundaries\"||ut.showdividers)&&!Br.secondary,Rs=Hr.length,Ko=Math.abs((Hr[Rs-1].x-Hr[0].x)*ut._m)/(Rs-1),Gi=ys?Ko/2:Ko,Pn=ys?ut.ticklen:Zn*1.25*ss,qs=Math.sqrt(Math.pow(Gi,2)+Math.pow(Pn,2)),xs=Gi/qs,lo=ut.autotickangles.map(function(Jo){return Jo*Math.PI/180}),Zo=lo.find(function(Jo){return Math.abs(Math.cos(Jo))<=xs});Zo===void 0&&(Zo=lo.reduce(function(Jo,Ms){return Math.abs(Math.cos(Jo))os*go&&(kn=go,Co[ao]=bo[ao]=wo[ao])}var gs=Math.abs(kn-zs);gs-wn>0?(gs-=wn,wn*=1+wn/gs):wn=0,ut._id.charAt(0)!==\"y\"&&(wn=-wn),Co[En]=Ki.p2r(Ki.r2p(bo[En])+On*wn),Ki.autorange===\"min\"||Ki.autorange===\"max reversed\"?(Co[0]=null,Ki._rangeInitial0=void 0,Ki._rangeInitial1=void 0):(Ki.autorange===\"max\"||Ki.autorange===\"min reversed\")&&(Co[1]=null,Ki._rangeInitial0=void 0,Ki._rangeInitial1=void 0),Cr._insideTickLabelsUpdaterange[Ki._name+\".range\"]=Co}var jo=e.syncOrAsync(Ai);return jo&&jo.then&&_t._promises.push(jo),jo};function Wa(_t,ut,Br){var Cr=ut._id+\"divider\",wr=Br.vals,Rr=Br.layer.selectAll(\"path.\"+Cr).data(wr,qa);Rr.exit().remove(),Rr.enter().insert(\"path\",\":first-child\").classed(Cr,1).classed(\"crisp\",1).call(a.stroke,ut.dividercolor).style(\"stroke-width\",n.crispRound(_t,ut.dividerwidth,1)+\"px\"),Rr.attr(\"transform\",Br.transFn).attr(\"d\",Br.path)}q.getPxPosition=function(_t,ut){var Br=_t._fullLayout._size,Cr=ut._id.charAt(0),wr=ut.side,Rr;if(ut.anchor!==\"free\"?Rr=ut._anchorAxis:Cr===\"x\"?Rr={_offset:Br.t+(1-(ut.position||0))*Br.h,_length:0}:Cr===\"y\"&&(Rr={_offset:Br.l+(ut.position||0)*Br.w+ut._shift,_length:0}),wr===\"top\"||wr===\"left\")return Rr._offset;if(wr===\"bottom\"||wr===\"right\")return Rr._offset+Rr._length};function Ca(_t){var ut=_t.title.font.size,Br=(_t.title.text.match(r.BR_TAG_ALL)||[]).length;return _t.title.hasOwnProperty(\"standoff\")?ut*(de+Br*V):Br?ut*(Br+1)*V:ut}function hi(_t,ut){var Br=_t._fullLayout,Cr=ut._id,wr=Cr.charAt(0),Rr=ut.title.font.size,Ur,Hr=(ut.title.text.match(r.BR_TAG_ALL)||[]).length;if(ut.title.hasOwnProperty(\"standoff\"))ut.side===\"bottom\"||ut.side===\"right\"?Ur=ut._depth+ut.title.standoff+Rr*de:(ut.side===\"top\"||ut.side===\"left\")&&(Ur=ut._depth+ut.title.standoff+Rr*(ce+Hr*V));else{var gt=pi(ut);if(ut.type===\"multicategory\")Ur=ut._depth;else{var Kt=1.5*Rr;gt&&(Kt=.5*Rr,ut.ticks===\"outside\"&&(Kt+=ut.ticklen)),Ur=10+Kt+(ut.linewidth?ut.linewidth-1:0)}gt||(wr===\"x\"?Ur+=ut.side===\"top\"?Rr*(ut.showticklabels?1:0):Rr*(ut.showticklabels?1.5:.5):Ur+=ut.side===\"right\"?Rr*(ut.showticklabels?1:.5):Rr*(ut.showticklabels?.5:0))}var vr=q.getPxPosition(_t,ut),Ir,va,Pa;wr===\"x\"?(va=ut._offset+ut._length/2,Pa=ut.side===\"top\"?vr-Ur:vr+Ur):(Pa=ut._offset+ut._length/2,va=ut.side===\"right\"?vr+Ur:vr-Ur,Ir={rotate:\"-90\",offset:0});var ga;if(ut.type!==\"multicategory\"){var la=ut._selections[ut._id+\"tick\"];if(ga={selection:la,side:ut.side},la&&la.node()&&la.node().parentNode){var ba=n.getTranslate(la.node().parentNode);ga.offsetLeft=ba.x,ga.offsetTop=ba.y}ut.title.hasOwnProperty(\"standoff\")&&(ga.pad=0)}return ut._titleStandoff=Ur,o.draw(_t,Cr+\"title\",{propContainer:ut,propName:ut._name+\".title.text\",placeholder:Br._dfltTitle[wr],avoid:ga,transform:Ir,attributes:{x:va,y:Pa,\"text-anchor\":\"middle\"}})}q.shouldShowZeroLine=function(_t,ut,Br){var Cr=e.simpleMap(ut.range,ut.r2l);return Cr[0]*Cr[1]<=0&&ut.zeroline&&(ut.type===\"linear\"||ut.type===\"-\")&&!(ut.rangebreaks&&ut.maskBreaks(0)===B)&&(wi(ut,0)||!Yt(_t,ut,Br,Cr)||Rt(_t,ut))},q.clipEnds=function(_t,ut){return ut.filter(function(Br){return wi(_t,Br.x)})};function wi(_t,ut){var Br=_t.l2p(ut);return Br>1&&Br<_t._length-1}function Yt(_t,ut,Br,Cr){var wr=Br._mainAxis;if(!wr)return;var Rr=_t._fullLayout,Ur=ut._id.charAt(0),Hr=q.counterLetter(ut._id),gt=ut._offset+(Math.abs(Cr[0])1)for(wr=1;wr=wr.min&&_t=z:/%L/.test(ut)?_t>=L:/%[SX]/.test(ut)?_t>=D:/%M/.test(ut)?_t>=y:/%[HI]/.test(ut)?_t>=g:/%p/.test(ut)?_t>=u:/%[Aadejuwx]/.test(ut)?_t>=p:/%[UVW]/.test(ut)?_t>=b:/%[Bbm]/.test(ut)?_t>=m:/%[q]/.test(ut)?_t>=w:/%[Yy]/.test(ut)?_t>=T:!0}}}),f5=Ge({\"src/plots/cartesian/autorange_options_defaults.js\"(Z,G){\"use strict\";G.exports=function(_,A,E){var e,t;if(E){var r=A===\"reversed\"||A===\"min reversed\"||A===\"max reversed\";e=E[r?1:0],t=E[r?0:1]}var o=_(\"autorangeoptions.minallowed\",t===null?e:void 0),a=_(\"autorangeoptions.maxallowed\",e===null?t:void 0);o===void 0&&_(\"autorangeoptions.clipmin\"),a===void 0&&_(\"autorangeoptions.clipmax\"),_(\"autorangeoptions.include\")}}}),h5=Ge({\"src/plots/cartesian/range_defaults.js\"(Z,G){\"use strict\";var d=f5();G.exports=function(A,E,e,t){var r=E._template||{},o=E.type||r.type||\"-\";e(\"minallowed\"),e(\"maxallowed\");var a=e(\"range\");if(!a){var n;!t.noInsiderange&&o!==\"log\"&&(n=e(\"insiderange\"),n&&(n[0]===null||n[1]===null)&&(E.insiderange=!1,n=void 0),n&&(a=e(\"range\",n)))}var i=E.getAutorangeDflt(a,t),s=e(\"autorange\",i),h;a&&(a[0]===null&&a[1]===null||(a[0]===null||a[1]===null)&&(s===\"reversed\"||s===!0)||a[0]!==null&&(s===\"min\"||s===\"max reversed\")||a[1]!==null&&(s===\"max\"||s===\"min reversed\"))&&(a=void 0,delete E.range,E.autorange=!0,h=!0),h||(i=E.getAutorangeDflt(a,t),s=e(\"autorange\",i)),s&&(d(e,s,a),(o===\"linear\"||o===\"-\")&&e(\"rangemode\")),E.cleanRange()}}}),uz=Ge({\"node_modules/mouse-event-offset/index.js\"(Z,G){var d={left:0,top:0};G.exports=_;function _(E,e,t){e=e||E.currentTarget||E.srcElement,Array.isArray(t)||(t=[0,0]);var r=E.clientX||0,o=E.clientY||0,a=A(e);return t[0]=r-a.left,t[1]=o-a.top,t}function A(E){return E===window||E===document||E===document.body?d:E.getBoundingClientRect()}}}),b2=Ge({\"node_modules/has-passive-events/index.js\"(Z,G){\"use strict\";var d=a5();function _(){var A=!1;try{var E=Object.defineProperty({},\"passive\",{get:function(){A=!0}});window.addEventListener(\"test\",null,E),window.removeEventListener(\"test\",null,E)}catch{A=!1}return A}G.exports=d&&_()}}),cz=Ge({\"src/components/dragelement/align.js\"(Z,G){\"use strict\";G.exports=function(_,A,E,e,t){var r=(_-E)/(e-E),o=r+A/(e-E),a=(r+o)/2;return t===\"left\"||t===\"bottom\"?r:t===\"center\"||t===\"middle\"?a:t===\"right\"||t===\"top\"?o:r<2/3-a?r:o>4/3-a?o:a}}}),fz=Ge({\"src/components/dragelement/cursor.js\"(Z,G){\"use strict\";var d=sa(),_=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];G.exports=function(E,e,t,r){return t===\"left\"?E=0:t===\"center\"?E=1:t===\"right\"?E=2:E=d.constrain(Math.floor(E*3),0,2),r===\"bottom\"?e=0:r===\"middle\"?e=1:r===\"top\"?e=2:e=d.constrain(Math.floor(e*3),0,2),_[e][E]}}}),hz=Ge({\"src/components/dragelement/unhover.js\"(Z,G){\"use strict\";var d=Qy(),_=y2(),A=T_().getGraphDiv,E=w_(),e=G.exports={};e.wrapped=function(t,r,o){t=A(t),t._fullLayout&&_.clear(t._fullLayout._uid+E.HOVERID),e.raw(t,r,o)},e.raw=function(r,o){var a=r._fullLayout,n=r._hoverdata;o||(o={}),!(o.target&&!r._dragged&&d.triggerHandler(r,\"plotly_beforehover\",o)===!1)&&(a._hoverlayer.selectAll(\"g\").remove(),a._hoverlayer.selectAll(\"line\").remove(),a._hoverlayer.selectAll(\"circle\").remove(),r._hoverdata=void 0,o.target&&n&&r.emit(\"plotly_unhover\",{event:o,points:n}))}}}),Ap=Ge({\"src/components/dragelement/index.js\"(Z,G){\"use strict\";var d=uz(),_=i5(),A=b2(),E=sa().removeElement,e=lh(),t=G.exports={};t.align=cz(),t.getCursor=fz();var r=hz();t.unhover=r.wrapped,t.unhoverRaw=r.raw,t.init=function(i){var s=i.gd,h=1,f=s._context.doubleClickDelay,v=i.element,c,T,l,x,w,S,M,m;s._mouseDownTime||(s._mouseDownTime=0),v.style.pointerEvents=\"all\",v.onmousedown=u,A?(v._ontouchstart&&v.removeEventListener(\"touchstart\",v._ontouchstart),v._ontouchstart=u,v.addEventListener(\"touchstart\",u,{passive:!1})):v.ontouchstart=u;function b(D,L,z){return Math.abs(D)\"u\"&&typeof D.clientY>\"u\"&&(D.clientX=c,D.clientY=T),l=new Date().getTime(),l-s._mouseDownTimef&&(h=Math.max(h-1,1)),s._dragged)i.doneFn&&i.doneFn();else{var L;S.target===M?L=S:(L={target:M,srcElement:M,toElement:M},Object.keys(S).concat(Object.keys(S.__proto__)).forEach(z=>{var F=S[z];!L[z]&&typeof F!=\"function\"&&(L[z]=F)})),i.clickFn&&i.clickFn(h,L),m||M.dispatchEvent(new MouseEvent(\"click\",D))}s._dragging=!1,s._dragged=!1}};function o(){var n=document.createElement(\"div\");n.className=\"dragcover\";var i=n.style;return i.position=\"fixed\",i.left=0,i.right=0,i.top=0,i.bottom=0,i.zIndex=999999999,i.background=\"none\",document.body.appendChild(n),n}t.coverSlip=o;function a(n){return d(n.changedTouches?n.changedTouches[0]:n,document.body)}}}),Kd=Ge({\"src/lib/setcursor.js\"(Z,G){\"use strict\";G.exports=function(_,A){(_.attr(\"class\")||\"\").split(\" \").forEach(function(E){E.indexOf(\"cursor-\")===0&&_.classed(E,!1)}),A&&_.classed(\"cursor-\"+A,!0)}}}),pz=Ge({\"src/lib/override_cursor.js\"(Z,G){\"use strict\";var d=Kd(),_=\"data-savedcursor\",A=\"!!\";G.exports=function(e,t){var r=e.attr(_);if(t){if(!r){for(var o=(e.attr(\"class\")||\"\").split(\" \"),a=0;aY.legend.length)for(var se=Y.legend.length;se(a===\"legend\"?1:0));if(z===!1&&(i[a]=void 0),!(z===!1&&!f.uirevision)&&(c(\"uirevision\",i.uirevision),z!==!1)){c(\"borderwidth\");var F=c(\"orientation\"),B=c(\"yref\"),O=c(\"xref\"),P=F===\"h\",U=B===\"paper\",N=O===\"paper\",X,$,ue,ce=\"left\";P?(X=0,d.getComponentMethod(\"rangeslider\",\"isVisible\")(n.xaxis)?U?($=1.1,ue=\"bottom\"):($=1,ue=\"top\"):U?($=-.1,ue=\"top\"):($=0,ue=\"bottom\")):($=1,ue=\"auto\",N?X=1.02:(X=1,ce=\"right\")),_.coerce(f,v,{x:{valType:\"number\",editType:\"legend\",min:N?-2:0,max:N?3:1,dflt:X}},\"x\"),_.coerce(f,v,{y:{valType:\"number\",editType:\"legend\",min:U?-2:0,max:U?3:1,dflt:$}},\"y\"),c(\"traceorder\",p),r.isGrouped(i[a])&&c(\"tracegroupgap\"),c(\"entrywidth\"),c(\"entrywidthmode\"),c(\"indentation\"),c(\"itemsizing\"),c(\"itemwidth\"),c(\"itemclick\"),c(\"itemdoubleclick\"),c(\"groupclick\"),c(\"xanchor\",ce),c(\"yanchor\",ue),c(\"maxheight\"),c(\"valign\"),_.noneOrAll(f,v,[\"x\",\"y\"]);var de=c(\"title.text\");if(de){c(\"title.side\",P?\"left\":\"top\");var V=_.extendFlat({},T,{size:_.bigFont(T.size)});_.coerceFont(c,\"title.font\",V);let Y=h>1;c(\"titleclick\",Y?\"toggle\":!1),c(\"titledoubleclick\",Y?\"toggleothers\":!1)}}}G.exports=function(n,i,s){var h,f=s.slice(),v=i.shapes;if(v)for(h=0;htt.showlegend||tt.legendgroup);var T=v.concat(c),l=i.trace;l._isShape&&(l=l._fullInput);var x=l.legendgroup,w,S,M,m,b,p,u={},g=[],y=[],D=[];function L(tt,Ue){var he=g.indexOf(tt),le=u.visible;return le||(le=u.visible=[]),g.indexOf(tt)===-1&&(g.push(tt),he=g.length-1),le[he]=Ue,he}var z=(n.shapes||[]).map(function(tt){return tt._input}),F=!1;function B(tt,Ue){z[tt].visible=Ue,F=!0}function O(tt,Ue){if(!(i.groupTitle&&!h)){var he=tt._fullInput||tt,le=he._isShape,ne=he.index;ne===void 0&&(ne=he._index);var Ce=he.visible===!1?!1:Ue;le?B(ne,Ce):L(ne,Ce)}}var P=l.legend,U=l._fullInput,N=U&&U._isShape;if(!N&&G.traceIs(l,\"pie-like\")){var X=i.label,$=f.indexOf(X);if(a===\"toggle\")$===-1?f.push(X):f.splice($,1);else if(a===\"toggleothers\"){var ue=$!==-1,ce=[];for(w=0;wM.showlegend||M.legendgroup),h=n.concat(s);function f(M){return(M.legend||\"legend\")===i}var v,c;if(o===\"toggle\")v=!h.some(function(m){return f(m)&&m.visible===!0}),c=!1;else{let M=h.some(function(m){return!f(m)&&m.visible===!0&&m.showlegend!==!1});v=!0,c=!M}let T={visible:[]},l=[],x=(a.shapes||[]).map(function(M){return M._input});for(var w=!1,S=0;SB&&(z=B)}D[T][0]._groupMinRank=z,D[T][0]._preGroupSort=T}var O=function(ue,ce){return ue[0]._groupMinRank-ce[0]._groupMinRank||ue[0]._preGroupSort-ce[0]._preGroupSort},P=function(ue,ce){var de=d(ue.trace.legendrank)?ue.trace.legendrank[ue.i]:ue.trace.legendrank,V=d(ce.trace.legendrank)?ce.trace.legendrank[ce.i]:ce.trace.legendrank;return de-V||ue._preSort-ce._preSort};for(D.forEach(function(ue,ce){ue[0]._preGroupSort=ce}),D.sort(O),T=0;T0)se=Y.width;else return 0;return p?q:Math.min(se,ee)};S.each(function(V){var Y=d.select(this),ee=A.ensureSingle(Y,\"g\",\"layers\");ee.style(\"opacity\",V[0].trace.opacity);var q=m.indentation,se=m.valign,ae=V[0].lineHeight,j=V[0].height;if(se===\"middle\"&&q===0||!ae||!j)ee.attr(\"transform\",null);else{var Q={top:1,bottom:-1}[se],re=Q*(.5*(ae-j+3))||0,pe=m.indentation;ee.attr(\"transform\",E(pe,re))}var we=ee.selectAll(\"g.legendfill\").data([V]);we.enter().append(\"g\").classed(\"legendfill\",!0);var Se=ee.selectAll(\"g.legendlines\").data([V]);Se.enter().append(\"g\").classed(\"legendlines\",!0);var Ie=ee.selectAll(\"g.legendsymbols\").data([V]);Ie.enter().append(\"g\").classed(\"legendsymbols\",!0),Ie.selectAll(\"g.legendpoints\").data([V]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(de).each(F).each(O).each(B).each(U).each(ue).each($).each(L).each(z).each(N).each(X);function L(V){var Y=l(V),ee=Y.showFill,q=Y.showLine,se=Y.showGradientLine,ae=Y.showGradientFill,j=Y.anyFill,Q=Y.anyLine,re=V[0],pe=re.trace,we,Se,Ie=r(pe),Re=Ie.colorscale,He=Ie.reversescale,at=function(Ce){if(Ce.size())if(ee)e.fillGroupStyle(Ce,M,!0);else{var Ze=\"legendfill-\"+pe.uid;e.gradient(Ce,M,Ze,T(He),Re,\"fill\")}},nt=function(Ce){if(Ce.size()){var Ze=\"legendline-\"+pe.uid;e.lineGroupStyle(Ce),e.gradient(Ce,M,Ze,T(He),Re,\"stroke\")}},tt=o.hasMarkers(pe)||!j?\"M5,0\":Q?\"M5,-2\":\"M5,-3\",Ue=d.select(this),he=Ue.select(\".legendfill\").selectAll(\"path\").data(ee||ae?[V]:[]);if(he.enter().append(\"path\").classed(\"js-fill\",!0),he.exit().remove(),he.attr(\"d\",tt+\"h\"+u+\"v6h-\"+u+\"z\").call(at),q||se){var le=D(void 0,pe.line,v,h);Se=A.minExtend(pe,{line:{width:le}}),we=[A.minExtend(re,{trace:Se})]}var ne=Ue.select(\".legendlines\").selectAll(\"path\").data(q||se?[we]:[]);ne.enter().append(\"path\").classed(\"js-line\",!0),ne.exit().remove(),ne.attr(\"d\",tt+(se?\"l\"+u+\",0.0001\":\"h\"+u)).call(q?e.lineGroupStyle:nt)}function z(V){var Y=l(V),ee=Y.anyFill,q=Y.anyLine,se=Y.showLine,ae=Y.showMarker,j=V[0],Q=j.trace,re=!ae&&!q&&!ee&&o.hasText(Q),pe,we;function Se(he,le,ne,Ce){var Ze=A.nestedProperty(Q,he).get(),rt=A.isArrayOrTypedArray(Ze)&&le?le(Ze):Ze;if(p&&rt&&Ce!==void 0&&(rt=Ce),ne){if(rtne[1])return ne[1]}return rt}function Ie(he){return j._distinct&&j.index&&he[j.index]?he[j.index]:he[0]}if(ae||re||se){var Re={},He={};if(ae){Re.mc=Se(\"marker.color\",Ie),Re.mx=Se(\"marker.symbol\",Ie),Re.mo=Se(\"marker.opacity\",A.mean,[.2,1]),Re.mlc=Se(\"marker.line.color\",Ie),Re.mlw=Se(\"marker.line.width\",A.mean,[0,5],f),Re.mld=Q._isShape?\"solid\":Se(\"marker.line.dash\",Ie),He.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var at=Se(\"marker.size\",A.mean,[2,16],s);Re.ms=at,He.marker.size=at}se&&(He.line={width:Se(\"line.width\",Ie,[0,10],h)}),re&&(Re.tx=\"Aa\",Re.tp=Se(\"textposition\",Ie),Re.ts=10,Re.tc=Se(\"textfont.color\",Ie),Re.tf=Se(\"textfont.family\",Ie),Re.tw=Se(\"textfont.weight\",Ie),Re.ty=Se(\"textfont.style\",Ie),Re.tv=Se(\"textfont.variant\",Ie),Re.tC=Se(\"textfont.textcase\",Ie),Re.tE=Se(\"textfont.lineposition\",Ie),Re.tS=Se(\"textfont.shadow\",Ie)),pe=[A.minExtend(j,Re)],we=A.minExtend(Q,He),we.selectedpoints=null,we.texttemplate=null}var nt=d.select(this).select(\"g.legendpoints\"),tt=nt.selectAll(\"path.scatterpts\").data(ae?pe:[]);tt.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",y),tt.exit().remove(),tt.call(e.pointStyle,we,M),ae&&(pe[0].mrc=3);var Ue=nt.selectAll(\"g.pointtext\").data(re?pe:[]);Ue.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",y),Ue.exit().remove(),Ue.selectAll(\"text\").call(e.textPointStyle,we,M)}function F(V){var Y=V[0].trace,ee=Y.type===\"waterfall\";if(V[0]._distinct&&ee){var q=V[0].trace[V[0].dir].marker;return V[0].mc=q.color,V[0].mlw=q.line.width,V[0].mlc=q.line.color,P(V,this,\"waterfall\")}var se=[];Y.visible&&ee&&(se=V[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 ae=d.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(se);ae.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",y).style(\"stroke-miterlimit\",1),ae.exit().remove(),ae.each(function(j){var Q=d.select(this),re=Y[j[0]].marker,pe=D(void 0,re.line,c,f);Q.attr(\"d\",j[1]).style(\"stroke-width\",pe+\"px\").call(t.fill,re.color),pe&&Q.call(t.stroke,re.line.color)})}function B(V){P(V,this)}function O(V){P(V,this,\"funnel\")}function P(V,Y,ee){var q=V[0].trace,se=q.marker||{},ae=se.line||{},j=se.cornerradius?\"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z\":\"M6,6H-6V-6H6Z\",Q=ee?q.visible&&q.type===ee:_.traceIs(q,\"bar\"),re=d.select(Y).select(\"g.legendpoints\").selectAll(\"path.legend\"+ee).data(Q?[V]:[]);re.enter().append(\"path\").classed(\"legend\"+ee,!0).attr(\"d\",j).attr(\"transform\",y),re.exit().remove(),re.each(function(pe){var we=d.select(this),Se=pe[0],Ie=D(Se.mlw,se.line,c,f);we.style(\"stroke-width\",Ie+\"px\");var Re=Se.mcc;if(!m._inHover&&\"mc\"in Se){var He=r(se),at=He.mid;at===void 0&&(at=(He.max+He.min)/2),Re=e.tryColorscale(se,\"\")(at)}var nt=Re||Se.mc||se.color,tt=se.pattern,Ue=e.getPatternAttr,he=tt&&(Ue(tt.shape,0,\"\")||Ue(tt.path,0,\"\"));if(he){var le=Ue(tt.bgcolor,0,null),ne=Ue(tt.fgcolor,0,null),Ce=tt.fgopacity,Ze=x(tt.size,8,10),rt=x(tt.solidity,.5,1),Ye=\"legend-\"+q.uid;we.call(e.pattern,\"legend\",M,Ye,he,Ze,rt,Re,tt.fillmode,le,ne,Ce)}else we.call(t.fill,nt);Ie&&t.stroke(we,Se.mlc||ae.color)})}function U(V){var Y=V[0].trace,ee=d.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(Y.visible&&_.traceIs(Y,\"box-violin\")?[V]:[]);ee.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",y),ee.exit().remove(),ee.each(function(){var q=d.select(this);if((Y.boxpoints===\"all\"||Y.points===\"all\")&&t.opacity(Y.fillcolor)===0&&t.opacity((Y.line||{}).color)===0){var se=A.minExtend(Y,{marker:{size:p?s:A.constrain(Y.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});ee.call(e.pointStyle,se,M)}else{var ae=D(void 0,Y.line,c,f);q.style(\"stroke-width\",ae+\"px\").call(t.fill,Y.fillcolor),ae&&t.stroke(q,Y.line.color)}})}function N(V){var Y=V[0].trace,ee=d.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(Y.visible&&Y.type===\"candlestick\"?[V,V]:[]);ee.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(q,se){return se?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",y).style(\"stroke-miterlimit\",1),ee.exit().remove(),ee.each(function(q,se){var ae=d.select(this),j=Y[se?\"increasing\":\"decreasing\"],Q=D(void 0,j.line,c,f);ae.style(\"stroke-width\",Q+\"px\").call(t.fill,j.fillcolor),Q&&t.stroke(ae,j.line.color)})}function X(V){var Y=V[0].trace,ee=d.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(Y.visible&&Y.type===\"ohlc\"?[V,V]:[]);ee.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(q,se){return se?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",y).style(\"stroke-miterlimit\",1),ee.exit().remove(),ee.each(function(q,se){var ae=d.select(this),j=Y[se?\"increasing\":\"decreasing\"],Q=D(void 0,j.line,c,f);ae.style(\"fill\",\"none\").call(e.dashLine,j.line.dash,Q),Q&&t.stroke(ae,j.line.color)})}function $(V){ce(V,this,\"pie\")}function ue(V){ce(V,this,\"funnelarea\")}function ce(V,Y,ee){var q=V[0],se=q.trace,ae=ee?se.visible&&se.type===ee:_.traceIs(se,ee),j=d.select(Y).select(\"g.legendpoints\").selectAll(\"path.legend\"+ee).data(ae?[V]:[]);if(j.enter().append(\"path\").classed(\"legend\"+ee,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",y),j.exit().remove(),j.size()){var Q=se.marker||{},re=D(n(Q.line.width,q.pts),Q.line,c,f),pe=\"pieLike\",we=A.minExtend(se,{marker:{line:{width:re}}},pe),Se=A.minExtend(q,{trace:we},pe);a(j,Se,we,M)}}function de(V){var Y=V[0].trace,ee,q=[];if(Y.visible)switch(Y.type){case\"histogram2d\":case\"heatmap\":q=[[\"M-15,-2V4H15V-2Z\"]],ee=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":q=[[\"M-6,-6V6H6V-6Z\"]],ee=!0;break;case\"densitymapbox\":case\"densitymap\":q=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],ee=\"radial\";break;case\"cone\":q=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],ee=!1;break;case\"streamtube\":q=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],ee=!1;break;case\"surface\":q=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],ee=!0;break;case\"mesh3d\":q=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],ee=!1;break;case\"volume\":q=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],ee=!0;break;case\"isosurface\":q=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],ee=!1;break}var se=d.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(q);se.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",y).style(\"stroke-miterlimit\",1),se.exit().remove(),se.each(function(ae,j){var Q=d.select(this),re=r(Y),pe=re.colorscale,we=re.reversescale,Se=function(at){if(at.size()){var nt=\"legendfill-\"+Y.uid;e.gradient(at,M,nt,T(we,ee===\"radial\"),pe,\"fill\")}},Ie;if(pe){if(!ee){var He=pe.length;Ie=j===0?pe[we?He-1:0][1]:j===1?pe[we?0:He-1][1]:pe[Math.floor((He-1)/2)][1]}}else{var Re=Y.vertexcolor||Y.facecolor||Y.color;Ie=A.isArrayOrTypedArray(Re)?Re[j]||Re[0]:Re}Q.attr(\"d\",ae[0]),Ie?Q.call(t.fill,Ie):Q.call(Se)})}};function T(w,S){var M=S?\"radial\":\"horizontal\";return M+(w?\"\":\"reversed\")}function l(w){var S=w[0].trace,M=S.contours,m=o.hasLines(S),b=o.hasMarkers(S),p=S.visible&&S.fill&&S.fill!==\"none\",u=!1,g=!1;if(M){var y=M.coloring;y===\"lines\"?u=!0:m=y===\"none\"||y===\"heatmap\"||M.showlines,M.type===\"constraint\"?p=M._operation!==\"=\":(y===\"fill\"||y===\"heatmap\")&&(g=!0)}return{showMarker:b,showLine:m,showFill:p,showGradientLine:u,showGradientFill:g,anyLine:m||u,anyFill:p||g}}function x(w,S,M){return w&&A.isArrayOrTypedArray(w)?S:w>M?M:w}}}),y5=Ge({\"src/components/legend/draw.js\"(Z,G){\"use strict\";var d=Vn(),_=sa(),A=bc(),E=so(),e=Qy(),t=Ap(),r=as(),o=$n(),a=su(),n=v5().handleItemClick,i=v5().handleTitleClick,s=m5(),h=uh(),f=h.LINE_SPACING,v=h.FROM_TL,c=h.FROM_BR,T=dz(),l=g5(),x=E_(),w=1,S=/^legend[0-9]*$/;G.exports=function(X,$){if($)m(X,$);else{var ue=X._fullLayout,ce=ue._legends,de=ue._infolayer.selectAll('[class^=\"legend\"]');de.each(function(){var q=d.select(this),se=q.attr(\"class\"),ae=se.split(\" \")[0];ae.match(S)&&ce.indexOf(ae)===-1&&q.remove()});for(var V=0;V1)}var re=ue.hiddenlabels||[];if(!Y&&(!ue.showlegend||!ee.length))return V.selectAll(\".\"+ce).remove(),ue._topdefs.select(\"#\"+de).remove(),A.autoMargin(N,ce);var pe=_.ensureSingle(V,\"g\",ce,function(Ue){Y||Ue.attr(\"pointer-events\",\"all\")}),we=_.ensureSingleById(ue._topdefs,\"clipPath\",de,function(Ue){Ue.append(\"rect\")}),Se=_.ensureSingle(pe,\"rect\",\"bg\",function(Ue){Ue.attr(\"shape-rendering\",\"crispEdges\")});Se.call(o.stroke,$.bordercolor).call(o.fill,$.bgcolor).style(\"stroke-width\",$.borderwidth+\"px\");var Ie=_.ensureSingle(pe,\"g\",\"scrollbox\"),Re=$.title;$._titleWidth=0,$._titleHeight=0;var He;Re.text?(He=_.ensureSingle(Ie,\"text\",ce+\"titletext\"),He.attr(\"text-anchor\",\"start\").call(r.font,Re.font).text(Re.text),L(He,Ie,N,$,w),!Y&&($.titleclick||$.titledoubleclick)&&D(Ie,N,$,ce)):(Ie.selectAll(\".\"+ce+\"titletext\").remove(),Ie.selectAll(\".\"+ce+\"titletoggle\").remove());var at=_.ensureSingle(pe,\"rect\",\"scrollbar\",function(Ue){Ue.attr(s.scrollBarEnterAttrs).call(o.fill,s.scrollBarColor)}),nt=Ie.selectAll(\"g.groups\").data(ee);nt.enter().append(\"g\").attr(\"class\",\"groups\"),nt.exit().remove();var tt=nt.selectAll(\"g.traces\").data(_.identity);tt.enter().append(\"g\").attr(\"class\",\"traces\"),tt.exit().remove(),tt.style(\"opacity\",function(Ue){let he=Ue[0],le=he.trace;if(he.groupTitle){let ne=le.legendgroup,Ce=(ue.shapes||[]).filter(function(rt){return rt.showlegend});return N._fullData.concat(Ce).some(function(rt){return rt.legendgroup===ne&&(rt.legend||\"legend\")===ce&&rt.visible===!0})?1:.5}return E.traceIs(le,\"pie-like\")?re.indexOf(Ue[0].label)!==-1?.5:1:le.visible===\"legendonly\"?.5:1}).each(function(){d.select(this).call(u,N,$)}).call(l,N,$).each(function(Ue){Y||Ue[0].groupTitle&&$.groupclick===\"toggleitem\"||d.select(this).call(y,N,ce)}),_.syncOrAsync([A.previousPromises,function(){return B(N,nt,tt,$,Ie)},function(){var Ue=ue._size,he=$.borderwidth,le=$.xref===\"paper\",ne=$.yref===\"paper\";if(Re.text){let Ct=(ue.shapes||[]).filter(function(Nt){return Nt.showlegend}),Pt=N._fullData.concat(Ct).some(function(Nt){let cr=Nt.legend||\"legend\";var lr=Array.isArray(cr)?cr.includes(ce):cr===ce;return lr&&Nt.visible===!0});He.style(\"opacity\",Pt?1:.5)}if(!Y){var Ce,Ze;le?Ce=Ue.l+Ue.w*$.x-v[P($)]*$._width:Ce=ue.width*$.x-v[P($)]*$._width,ne?Ze=Ue.t+Ue.h*(1-$.y)-v[U($)]*$._effHeight:Ze=ue.height*(1-$.y)-v[U($)]*$._effHeight;var rt=O(N,ce,Ce,Ze);if(rt)return;if(ue.margin.autoexpand){var Ye=Ce,St=Ze;Ce=le?_.constrain(Ce,0,ue.width-$._width):Ye,Ze=ne?_.constrain(Ze,0,ue.height-$._effHeight):St,Ce!==Ye&&_.log(\"Constrain \"+ce+\".x to make legend fit inside graph\"),Ze!==St&&_.log(\"Constrain \"+ce+\".y to make legend fit inside graph\")}r.setTranslate(pe,Ce,Ze)}if(at.on(\".drag\",null),pe.on(\"wheel\",null),Y||$._height<=$._maxHeight||N._context.staticPlot){var kt=$._effHeight;Y&&(kt=$._height),Se.attr({width:$._width-he,height:kt-he,x:he/2,y:he/2}),r.setTranslate(Ie,0,0),we.select(\"rect\").attr({width:$._width-2*he,height:kt-2*he,x:he,y:he}),r.setClipUrl(Ie,de,N),r.setRect(at,0,0,0,0),delete $._scrollY}else{var qt=Math.max(s.scrollBarMinHeight,$._effHeight*$._effHeight/$._height),Gt=$._effHeight-qt-2*s.scrollBarMargin,Tr=$._height-$._effHeight,mr=Gt/Tr,qr=Math.min($._scrollY||0,Tr);Se.attr({width:$._width-2*he+s.scrollBarWidth+s.scrollBarMargin,height:$._effHeight-he,x:he/2,y:he/2}),we.select(\"rect\").attr({width:$._width-2*he+s.scrollBarWidth+s.scrollBarMargin,height:$._effHeight-2*he,x:he,y:he+qr}),r.setClipUrl(Ie,de,N),We(qr,qt,mr),pe.on(\"wheel\",function(){qr=_.constrain($._scrollY+d.event.deltaY/Tr*Gt,0,Tr),We(qr,qt,mr),qr!==0&&qr!==Tr&&d.event.preventDefault()});var Er,Dr,xt,Oe=function(Ct,Pt,Nt){var cr=(Nt-Pt)/mr+Ct;return _.constrain(cr,0,Tr)},Ke=function(Ct,Pt,Nt){var cr=(Pt-Nt)/mr+Ct;return _.constrain(cr,0,Tr)},Ae=d.behavior.drag().on(\"dragstart\",function(){var Ct=d.event.sourceEvent;Ct.type===\"touchstart\"?Er=Ct.changedTouches[0].clientY:Er=Ct.clientY,xt=qr}).on(\"drag\",function(){var Ct=d.event.sourceEvent;Ct.buttons===2||Ct.ctrlKey||(Ct.type===\"touchmove\"?Dr=Ct.changedTouches[0].clientY:Dr=Ct.clientY,qr=Oe(xt,Er,Dr),We(qr,qt,mr))});at.call(Ae);var Le=d.behavior.drag().on(\"dragstart\",function(){var Ct=d.event.sourceEvent;Ct.type===\"touchstart\"&&(Er=Ct.changedTouches[0].clientY,xt=qr)}).on(\"drag\",function(){var Ct=d.event.sourceEvent;Ct.type===\"touchmove\"&&(Dr=Ct.changedTouches[0].clientY,qr=Ke(xt,Er,Dr),We(qr,qt,mr))});Ie.call(Le)}function We(Ct,Pt,Nt){$._scrollY=N._fullLayout[ce]._scrollY=Ct,r.setTranslate(Ie,0,-Ct),r.setRect(at,$._width,s.scrollBarMargin+Ct*Nt,s.scrollBarWidth,Pt),we.select(\"rect\").attr(\"y\",he+Ct)}if(N._context.edits.legendPosition){var Je,st,ot,Ut;pe.classed(\"cursor-move\",!0),t.init({element:pe.node(),gd:N,prepFn:function(Ct){if(Ct.target!==at.node()){var Pt=r.getTranslate(pe);ot=Pt.x,Ut=Pt.y}},moveFn:function(Ct,Pt){if(ot!==void 0&&Ut!==void 0){var Nt=ot+Ct,cr=Ut+Pt;r.setTranslate(pe,Nt,cr),Je=t.align(Nt,$._width,Ue.l,Ue.l+Ue.w,$.xanchor),st=t.align(cr+$._height,-$._height,Ue.t+Ue.h,Ue.t,$.yanchor)}},doneFn:function(){if(Je!==void 0&&st!==void 0){var Ct={};Ct[ce+\".x\"]=Je,Ct[ce+\".y\"]=st,E.call(\"_guiRelayout\",N,Ct)}},clickFn:function(Ct,Pt){var Nt=V.selectAll(\"g.traces\").filter(function(){var cr=this.getBoundingClientRect();return Pt.clientX>=cr.left&&Pt.clientX<=cr.right&&Pt.clientY>=cr.top&&Pt.clientY<=cr.bottom});Nt.size()>0&&p(N,$,Nt,Ct,Pt)}})}}],N)}}function b(N,X,$){var ue=N[0],ce=ue.width,de=X.entrywidthmode,V=ue.trace.legendwidth||X.entrywidth;return de===\"fraction\"?X._maxWidth*V:$+(V||ce)}function p(N,X,$,ue,ce){var de=N._fullLayout,V=$.data()[0][0].trace,Y=X.itemclick,ee=X.itemdoubleclick,q={event:ce,node:$.node(),curveNumber:V.index,expandedIndex:V.index,data:N.data,layout:N.layout,frames:N._transitionData._frames,config:N._context,fullData:N._fullData,fullLayout:de};V._group&&(q.group=V._group),E.traceIs(V,\"pie-like\")&&(q.label=$.datum()[0].label);var se=e.triggerHandler(N,\"plotly_legendclick\",q);if(ue===1){if(se===!1)return;X._clickTimeout=setTimeout(function(){N._fullLayout&&Y&&n($,N,X,Y)},N._context.doubleClickDelay)}else if(ue===2){X._clickTimeout&&clearTimeout(X._clickTimeout),N._legendMouseDownTime=0;var ae=e.triggerHandler(N,\"plotly_legenddoubleclick\",q);ae!==!1&&se!==!1&&ee&&n($,N,X,ee)}}function u(N,X,$){var ue=x.getId($),ce=N.data()[0][0],de=ce.trace,V=E.traceIs(de,\"pie-like\"),Y=!$._inHover&&X._context.edits.legendText&&!V,ee=$._maxNameLength,q,se;ce.groupTitle?(q=ce.groupTitle.text,se=ce.groupTitle.font):(se=$.font,$.entries?q=ce.text:(q=V?ce.label:de.name,de._meta&&(q=_.templateString(q,de._meta))));var ae=_.ensureSingle(N,\"text\",ue+\"text\");ae.attr(\"text-anchor\",\"start\").call(r.font,se).text(Y?g(q,ee):q);var j=$.indentation+$.itemwidth+s.itemGap*2;a.positionText(ae,j,0),Y?ae.call(a.makeEditable,{gd:X,text:q}).call(L,N,X,$).on(\"edit\",function(Q){this.text(g(Q,ee)).call(L,N,X,$);var re=ce.trace._fullInput||{},pe={};return pe.name=Q,re._isShape?E.call(\"_guiRelayout\",X,\"shapes[\"+de.index+\"].name\",pe.name):E.call(\"_guiRestyle\",X,pe,de.index)}):L(ae,N,X,$)}function g(N,X){var $=Math.max(4,X);if(N&&N.trim().length>=$/2)return N;N=N||\"\";for(var ue=$-N.length;ue>0;ue--)N+=\" \";return N}function y(N,X,$){var ue=X._context.doubleClickDelay,ce,de=1,V=_.ensureSingle(N,\"rect\",$+\"toggle\",function(Y){X._context.staticPlot||Y.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),Y.call(o.fill,\"rgba(0,0,0,0)\")});X._context.staticPlot||(V.on(\"mousedown\",function(){ce=new Date().getTime(),ce-X._legendMouseDownTimeue&&(de=Math.max(de-1,1)),p(X,Y,N,de,d.event)}}))}function D(N,X,$,ue){if(X._fullData.some(function(q){let se=q.legend||\"legend\";return(Array.isArray(se)?se.includes(ue):se===ue)&&E.traceIs(q,\"pie-like\")}))return;let de=X._context.doubleClickDelay;var V,Y=1;let ee=_.ensureSingle(N,\"rect\",ue+\"titletoggle\",function(q){X._context.staticPlot||q.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),q.call(o.fill,\"rgba(0,0,0,0)\")});X._context.staticPlot||(ee.on(\"mousedown\",function(){V=new Date().getTime(),V-X._legendMouseDownTimede&&(Y=Math.max(Y-1,1));let q={event:d.event,legendId:ue,data:X.data,layout:X.layout,fullData:X._fullData,fullLayout:X._fullLayout};if(Y===1&&$.titleclick){if(e.triggerHandler(X,\"plotly_legendtitleclick\",q)===!1)return;$._titleClickTimeout=setTimeout(function(){X._fullLayout&&i(X,$,$.titleclick)},de)}else Y===2&&($._titleClickTimeout&&clearTimeout($._titleClickTimeout),X._legendMouseDownTime=0,e.triggerHandler(X,\"plotly_legendtitledoubleclick\",q)!==!1&&$.titledoubleclick&&i(X,$,$.titledoubleclick))}))}function L(N,X,$,ue,ce){ue._inHover&&N.attr(\"data-notex\",!0),a.convertToTspans(N,$,function(){z(X,$,ue,ce)})}function z(N,X,$,ue){var ce=N.data()[0][0],de=ce&&ce.trace.showlegend;if(Array.isArray(de)&&(de=de[ce.i]!==!1),!$._inHover&&ce&&!de){N.remove();return}var V=N.select(\"g[class*=math-group]\"),Y=V.node(),ee=x.getId($);$||($=X._fullLayout[ee]);var q=$.borderwidth,se;ue===w?se=$.title.font:ce.groupTitle?se=ce.groupTitle.font:se=$.font;var ae=se.size*f,j,Q;if(Y){var re=r.bBox(Y);j=re.height,Q=re.width,ue===w?r.setTranslate(V,q,q+j*.75):r.setTranslate(V,0,j*.25)}else{var pe=\".\"+ee+(ue===w?\"title\":\"\")+\"text\",we=N.select(pe),Se=a.lineCount(we),Ie=we.node();if(j=ae*Se,Q=Ie?r.bBox(Ie).width:0,ue===w)$.title.side===\"left\"&&(Q+=s.itemGap*2),a.positionText(we,q+s.titlePad,q+ae);else{var Re=s.itemGap*2+$.indentation+$.itemwidth;ce.groupTitle&&(Re=s.itemGap,Q-=$.indentation+$.itemwidth),a.positionText(we,Re,-ae*((Se-1)/2-.3))}}ue===w?($._titleWidth=Q,$._titleHeight=j):(ce.lineHeight=ae,ce.height=Math.max(j,16)+3,ce.width=Q)}function F(N){var X=0,$=0,ue=N.title.side;return ue&&(ue.indexOf(\"left\")!==-1&&(X=N._titleWidth),ue.indexOf(\"top\")!==-1&&($=N._titleHeight)),[X,$]}function B(N,X,$,ue,ce){var de=N._fullLayout,V=x.getId(ue);ue||(ue=de[V]);var Y=de._size,ee=x.isVertical(ue),q=x.isGrouped(ue),se=ue.entrywidthmode===\"fraction\",ae=ue.borderwidth,j=2*ae,Q=s.itemGap,re=ue.indentation+ue.itemwidth+Q*2,pe=2*(ae+Q),we=U(ue),Se=ue.y<0||ue.y===0&&we===\"top\",Ie=ue.y>1||ue.y===1&&we===\"bottom\",Re=ue.tracegroupgap,He={};let{orientation:at,yref:nt}=ue,{maxheight:tt}=ue,Ue=Se||Ie||at!==\"v\"||nt!==\"paper\";tt||(tt=Ue?.5:1);let he=Ue?de.height:Y.h;ue._maxHeight=Math.max(tt>1?tt:tt*he,30);var le=0;ue._width=0,ue._height=0;var ne=F(ue);if(ee)$.each(function(Ct){var Pt=Ct[0].height;r.setTranslate(this,ae+ne[0],ae+ne[1]+ue._height+Pt/2+Q),ue._height+=Pt,ue._width=Math.max(ue._width,Ct[0].width)}),le=re+ue._width,ue._width+=Q+re+j,ue._height+=pe,q&&(X.each(function(Ct,Pt){r.setTranslate(this,0,Pt*ue.tracegroupgap)}),ue._height+=(ue._lgroupsLength-1)*ue.tracegroupgap);else{var Ce=P(ue),Ze=ue.x<0||ue.x===0&&Ce===\"right\",rt=ue.x>1||ue.x===1&&Ce===\"left\",Ye=Ie||Se,St=de.width/2;ue._maxWidth=Math.max(Ze?Ye&&Ce===\"left\"?Y.l+Y.w:St:rt?Ye&&Ce===\"right\"?Y.r+Y.w:St:Y.w,2*re);var kt=0,qt=0;$.each(function(Ct){var Pt=b(Ct,ue,re);kt=Math.max(kt,Pt),qt+=Pt}),le=null;var Gt=0;if(q){var Tr=0,mr=0,qr=0;X.each(function(){var Ct=0,Pt=0;d.select(this).selectAll(\"g.traces\").each(function(cr){var lr=b(cr,ue,re),sr=cr[0].height;r.setTranslate(this,ne[0],ne[1]+ae+Q+sr/2+Pt),Pt+=sr,Ct=Math.max(Ct,lr),He[cr[0].trace.legendgroup]=Ct});var Nt=Ct+Q;mr>0&&Nt+ae+mr>ue._maxWidth?(Gt=Math.max(Gt,mr),mr=0,qr+=Tr+Re,Tr=Pt):Tr=Math.max(Tr,Pt),r.setTranslate(this,mr,qr),mr+=Nt}),ue._width=Math.max(Gt,mr)+ae,ue._height=qr+Tr+pe}else{var Er=$.size(),Dr=qt+j+(Er-1)*Q=ue._maxWidth&&(Gt=Math.max(Gt,Ae),Oe=0,Ke+=xt,ue._height+=xt,xt=0),r.setTranslate(this,ne[0]+ae+Oe,ne[1]+ae+Ke+Pt/2+Q),Ae=Oe+Nt+Q,Oe+=cr,xt=Math.max(xt,Pt)}),Dr?(ue._width=Oe+j,ue._height=xt+pe):(ue._width=Math.max(Gt,Ae)+j,ue._height+=xt+pe)}}ue._width=Math.ceil(Math.max(ue._width+ne[0],ue._titleWidth+2*(ae+s.titlePad))),ue._height=Math.ceil(Math.max(ue._height+ne[1],ue._titleHeight+2*(ae+s.itemGap))),ue._effHeight=Math.min(ue._height,ue._maxHeight);var Le=N._context.edits,We=Le.legendText||Le.legendPosition;$.each(function(Ct){var Pt=d.select(this).select(\".\"+V+\"toggle\"),Nt=Ct[0].height,cr=Ct[0].trace.legendgroup,lr=b(Ct,ue,re);q&&cr!==\"\"&&(lr=He[cr]);var sr=We?re:le||lr;!ee&&!se&&(sr+=Q/2),r.setRect(Pt,0,-Nt/2,sr,Nt)});var Je=ce.select(\".\"+V+\"titletext\");Je.node()&&M(Je,ue,ae);var st=ce.select(\".\"+V+\"titletoggle\");if(st.size()&&Je.node()){var ot=Je.attr(\"x\")||0,Ut=s.titlePad;r.setRect(st,ot-Ut,ae,ue._titleWidth+2*Ut,ue._titleHeight+2*Ut)}}function O(N,X,$,ue){var ce=N._fullLayout,de=ce[X],V=P(de),Y=U(de),ee=de.xref===\"paper\",q=de.yref===\"paper\";N._fullLayout._reservedMargin[X]={};var se=de.y<.5?\"b\":\"t\",ae=de.x<.5?\"l\":\"r\",j={r:ce.width-$,l:$+de._width,b:ce.height-ue,t:ue+de._effHeight};if(ee&&q)return A.autoMargin(N,X,{x:de.x,y:de.y,l:de._width*v[V],r:de._width*c[V],b:de._effHeight*c[Y],t:de._effHeight*v[Y]});ee?N._fullLayout._reservedMargin[X][se]=j[se]:q||de.orientation===\"v\"?N._fullLayout._reservedMargin[X][ae]=j[ae]:N._fullLayout._reservedMargin[X][se]=j[se]}function P(N){return _.isRightAnchor(N)?\"right\":_.isCenterAnchor(N)?\"center\":\"left\"}function U(N){return _.isBottomAnchor(N)?\"bottom\":_.isMiddleAnchor(N)?\"middle\":\"top\"}}}),_5=Ge({\"src/components/fx/hover.js\"(Z){\"use strict\";var G=Vn(),d=ns(),_=Ch(),A=sa(),E=A.pushUnique,e=A.strTranslate,t=A.strRotate,r=Qy(),o=su(),a=pz(),n=as(),i=$n(),s=Ap(),h=Wo(),f=lh().zindexSeparator,v=so(),c=$p(),T=w_(),l=d5(),x=y5(),w=T.YANGLE,S=Math.PI*w/180,M=1/Math.sin(S),m=Math.cos(S),b=Math.sin(S),p=T.HOVERARROWSIZE,u=T.HOVERTEXTPAD,g={box:!0,ohlc:!0,violin:!0,candlestick:!0},y={scatter:!0,scattergl:!0,splom:!0};function D(j,Q){return j.distance-Q.distance}Z.hover=function(Q,re,pe,we){Q=A.getGraphDiv(Q);var Se=re.target;A.throttle(Q._fullLayout._uid+T.HOVERID,T.HOVERMINTIME,function(){L(Q,re,pe,we,Se)})},Z.loneHover=function(Q,re){var pe=!0;Array.isArray(Q)||(pe=!1,Q=[Q]);var we=re.gd,Se=q(we),Ie=se(we),Re=Q.map(function(Ce){var Ze=Ce._x0||Ce.x0||Ce.x||0,rt=Ce._x1||Ce.x1||Ce.x||0,Ye=Ce._y0||Ce.y0||Ce.y||0,St=Ce._y1||Ce.y1||Ce.y||0,kt=Ce.eventData;if(kt){var qt=Math.min(Ze,rt),Gt=Math.max(Ze,rt),Tr=Math.min(Ye,St),mr=Math.max(Ye,St),qr=Ce.trace;if(v.traceIs(qr,\"gl3d\")){var Er=we._fullLayout[qr.scene]._scene.container,Dr=Er.offsetLeft,xt=Er.offsetTop;qt+=Dr,Gt+=Dr,Tr+=xt,mr+=xt}kt.bbox={x0:qt+Ie,x1:Gt+Ie,y0:Tr+Se,y1:mr+Se},kt.xPixel=(Ze+rt)/2,kt.yPixel=(Ye+St)/2,re.inOut_bbox&&re.inOut_bbox.push(kt.bbox)}else kt=!1;return{color:Ce.color||i.defaultLine,x0:Ce.x0||Ce.x||0,x1:Ce.x1||Ce.x||0,y0:Ce.y0||Ce.y||0,y1:Ce.y1||Ce.y||0,xLabel:Ce.xLabel,yLabel:Ce.yLabel,zLabel:Ce.zLabel,text:Ce.text,name:Ce.name,idealAlign:Ce.idealAlign,borderColor:Ce.borderColor,fontFamily:Ce.fontFamily,fontSize:Ce.fontSize,fontColor:Ce.fontColor,fontWeight:Ce.fontWeight,fontStyle:Ce.fontStyle,fontVariant:Ce.fontVariant,nameLength:Ce.nameLength,textAlign:Ce.textAlign,trace:Ce.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:Ce.hovertemplate||!1,hovertemplateLabels:Ce.hovertemplateLabels||!1,eventData:kt}}),He=!1,at=B(Re,{gd:we,hovermode:\"closest\",rotateLabels:He,bgColor:re.bgColor||i.background,container:G.select(re.container),outerContainer:re.outerContainer||re.container}),nt=at.hoverLabels,tt=5,Ue=0,he=0;nt.sort(function(Ce,Ze){return Ce.y0-Ze.y0}).each(function(Ce,Ze){var rt=Ce.y0-Ce.by/2;rt-ttGt[0]._length||Wa<0||Wa>Tr[0]._length)return s.unhoverRaw(j,Q)}if(Q.pointerX=qa+Gt[0]._offset,Q.pointerY=Wa+Tr[0]._offset,\"xval\"in Q?Ae=c.flat(Se,Q.xval):Ae=c.p2c(Gt,qa),\"yval\"in Q?Le=c.flat(Se,Q.yval):Le=c.p2c(Tr,Wa),!d(Ae[0])||!d(Le[0]))return A.warn(\"Fx.hover failed\",Q,j),s.unhoverRaw(j,Q)}Re.clickanywhere&&(j._hoverXVals=Ae,j._hoverYVals=Le,j._hoverXAxes=Gt,j._hoverYAxes=Tr);var wi=1/0;function Yt(kn,wo){for(Je=0;Jesr&&(Oe.splice(0,sr),wi=Oe[0].distance),tt&&xt!==0&&Oe.length===0){lr.distance=xt,lr.index=!1;var jo=ot._module.hoverPoints(lr,Nt,cr,\"closest\",{hoverLayer:Re._hoverlayer});if(jo&&(jo=jo.filter(function(Rs){return Rs.spikeDistance<=xt})),jo&&jo.length){var Zn,Gn=jo.filter(function(Rs){return Rs.xa.showspikes&&Rs.xa.spikesnap!==\"hovered data\"});if(Gn.length){var Hn=Gn[0];d(Hn.x0)&&d(Hn.y0)&&(Zn=Zt(Hn),(!Pr.vLinePoint||Pr.vLinePoint.spikeDistance>Zn.spikeDistance)&&(Pr.vLinePoint=Zn))}var ss=jo.filter(function(Rs){return Rs.ya.showspikes&&Rs.ya.spikesnap!==\"hovered data\"});if(ss.length){var ys=ss[0];d(ys.x0)&&d(ys.y0)&&(Zn=Zt(ys),(!Pr.hLinePoint||Pr.hLinePoint.spikeDistance>Zn.spikeDistance)&&(Pr.hLinePoint=Zn))}}}}}Yt();function Rt(kn,wo,Kn){for(var go=null,os=1/0,gs,jo=0;jokn.trace.index===tn.trace.index):Oe=[tn];var cn=Oe.length,_t=ee(\"x\",tn,Re),ut=ee(\"y\",tn,Re);Yt(_t,ut);var Br=[],Cr={},wr=0,Rr=function(kn){var wo=g[kn.trace.type]?z(kn):kn.trace.index;if(!Cr[wo])wr++,Cr[wo]=wr,Br.push(kn);else{var Kn=Cr[wo]-1,go=Br[Kn];Kn>0&&Math.abs(kn.distance)cn-1;Ur--)Rr(Oe[Ur]);Oe=Br,ra()}var Hr=j._hoverdata,gt=[],Kt=q(j),vr=se(j);for(let kn of Oe){var Ir=c.makeEventData(kn,kn.trace,kn.cd);if(kn.hovertemplate!==!1){var va=!1;kn.cd[kn.index]&&kn.cd[kn.index].ht&&(va=kn.cd[kn.index].ht),kn.hovertemplate=va||kn.trace.hovertemplate||!1}if(kn.xa&&kn.ya){var Pa=kn.x0+kn.xa._offset,ga=kn.x1+kn.xa._offset,la=kn.y0+kn.ya._offset,ba=kn.y1+kn.ya._offset,Ai=Math.min(Pa,ga),ki=Math.max(Pa,ga),Ki=Math.min(la,ba),Mn=Math.max(la,ba);Ir.bbox={x0:Ai+vr,x1:ki+vr,y0:Ki+Kt,y1:Mn+Kt},Ir.xPixel=(Pa+ga)/2,Ir.yPixel=(la+ba)/2}kn.eventData=[Ir],gt.push(Ir)}j._hoverdata=gt;var wn=Ue===\"y\"&&(Ke.length>1||Oe.length>1)||Ue===\"closest\"&&_a&&Oe.length>1,On=i.combine(Re.plot_bgcolor||i.background,Re.paper_bgcolor),En=B(Oe,{gd:j,hovermode:Ue,rotateLabels:wn,bgColor:On,container:Re._hoverlayer,outerContainer:Re._paper.node(),commonLabelOpts:Re.hoverlabel,hoverdistance:Re.hoverdistance}),ao=En.hoverLabels;if(c.isUnifiedHover(Ue)||(P(ao,wn,Re,En.commonLabelBoundingBox),X(ao,wn,Re._invScaleX,Re._invScaleY)),we&&we.tagName){var Co=v.getComponentMethod(\"annotations\",\"hasClickToShow\")(j,gt);a(G.select(we),Co?\"pointer\":\"\")}var bo=ce(j,Q,Hr);if(!we||pe||!bo&&!Re.hoveranywhere)return;Hr&&bo&&j.emit(\"plotly_unhover\",{event:Q,points:Hr}),zs(j._hoverdata);function zs(kn){j.emit(\"plotly_hover\",{event:Q,points:kn,xaxes:Gt,yaxes:Tr,xvals:Ae,yvals:Le})}}function z(j){return[j.trace.index,j.index,j.x0,j.y0,j.name,j.attr,j.xa?j.xa._id:\"\",j.ya?j.ya._id:\"\"].join(\",\")}var F=/([\\s\\S]*)<\\/extra>/;function B(j,Q){var re=Q.gd,pe=re._fullLayout,we=Q.hovermode,Se=Q.rotateLabels,Ie=Q.bgColor,Re=Q.container,He=Q.outerContainer,at=Q.commonLabelOpts||{};if(j.length===0)return[[]];var nt=Q.fontFamily||T.HOVERFONT,tt=Q.fontSize||T.HOVERFONTSIZE,Ue=Q.fontWeight||pe.font.weight,he=Q.fontStyle||pe.font.style,le=Q.fontVariant||pe.font.variant,ne=Q.fontTextcase||pe.font.textcase,Ce=Q.fontLineposition||pe.font.lineposition,Ze=Q.fontShadow||pe.font.shadow,rt=j[0],Ye=rt.xa,St=rt.ya,kt=we.charAt(0),qt=kt+\"Label\",Gt=rt[qt];if(Gt===void 0&&Ye.type===\"multicategory\")for(var Tr=0;Trpe.width-gt&&(Kt=pe.width-gt),rn.attr(\"d\",\"M\"+(Rr-Kt)+\",0L\"+(Rr-Kt+p)+\",\"+Hr+p+\"H\"+gt+\"v\"+Hr+(u*2+wr.height)+\"H\"+-gt+\"V\"+Hr+p+\"H\"+(Rr-Kt-p)+\"Z\"),Rr=Kt,Je.minX=Rr-gt,Je.maxX=Rr+gt,Ye.side===\"top\"?(Je.minY=Ur-(u*2+wr.height),Je.maxY=Ur-u):(Je.minY=Ur+u,Je.maxY=Ur+(u*2+wr.height))}else{var vr,Ir,va;St.side===\"right\"?(vr=\"start\",Ir=1,va=\"\",Rr=Ye._offset+Ye._length):(vr=\"end\",Ir=-1,va=\"-\",Rr=Ye._offset),Ur=St._offset+(rt.y0+rt.y1)/2,tn.attr(\"text-anchor\",vr),rn.attr(\"d\",\"M0,0L\"+va+p+\",\"+p+\"V\"+(u+wr.height/2)+\"h\"+va+(u*2+wr.width)+\"V-\"+(u+wr.height/2)+\"H\"+va+p+\"V-\"+p+\"Z\"),Je.minY=Ur-(u+wr.height/2),Je.maxY=Ur+(u+wr.height/2),St.side===\"right\"?(Je.minX=Rr+p,Je.maxX=Rr+p+(u*2+wr.width)):(Je.minX=Rr-p-(u*2+wr.width),Je.maxX=Rr-p);var Pa=wr.height/2,ga=qr-wr.top-Pa,la=\"clip\"+pe._uid+\"commonlabel\"+St._id,ba;if(Rrrn.hoverinfo!==\"none\");if(Ia.length===0)return[];var st=pe.hoverlabel,ot=st.font,Ut=Ia[0],Ct=((we===\"x unified\"?Ut.xa:Ut.ya).unifiedhovertitle||{}).text,Pt=Ct?A.hovertemplateString({data:we===\"x unified\"?[{xa:Ut.xa,x:Ut.xVal}]:[{ya:Ut.ya,y:Ut.yVal}],fallback:Ut.trace.hovertemplatefallback,locale:pe._d3locale,template:Ct}):Gt,Nt={showlegend:!0,legend:{title:{text:Pt,font:ot},font:ot,bgcolor:st.bgcolor,bordercolor:st.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:pe.legend?pe.legend.traceorder:void 0,orientation:\"v\"}},cr={font:ot};l(Nt,cr,re._fullData);var lr=cr.legend;lr.entries=[];for(var sr=0;sr=0?Za=ra:ca+hi=0?Za=ca:Ba+hi=0?ri=Or:ta+wi=0?ri=ta:$a+wi=0,(Ia.idealAlign===\"top\"||!Ki)&&Mn?(va-=ga/2,Ia.anchor=\"end\"):Ki?(va+=ga/2,Ia.anchor=\"start\"):Ia.anchor=\"middle\",Ia.crossPos=va;else{if(Ia.pos=va,Ki=Ir+Pa/2+ki<=Er,Mn=Ir-Pa/2-ki>=0,(Ia.idealAlign===\"left\"||!Ki)&&Mn)Ir-=Pa/2,Ia.anchor=\"end\";else if(Ki)Ir+=Pa/2,Ia.anchor=\"start\";else{Ia.anchor=\"middle\";var wn=ki/2,On=Ir+wn-Er,En=Ir-wn;On>0&&(Ir-=On),En<0&&(Ir+=-En)}Ia.crossPos=Ir}Ur.attr(\"text-anchor\",Ia.anchor),gt&&Hr.attr(\"text-anchor\",Ia.anchor),rn.attr(\"transform\",e(Ir,va)+(Se?t(w):\"\"))}),{hoverLabels:pi,commonLabelBoundingBox:Je}}function O(j,Q,re,pe,we,Se){var Ie,Re,He=\"\",at=\"\";j.nameOverride!==void 0&&(j.name=j.nameOverride),j.name&&(j.trace._meta&&(j.name=A.templateString(j.name,j.trace._meta)),He=V(j.name,j.nameLength));var nt=re.charAt(0),tt=nt===\"x\"?\"y\":\"x\";j.zLabel!==void 0?(j.xLabel!==void 0&&(at+=\"x: \"+j.xLabel+\"
\"),j.yLabel!==void 0&&(at+=\"y: \"+j.yLabel+\"
\"),j.trace.type!==\"choropleth\"&&j.trace.type!==\"choroplethmapbox\"&&j.trace.type!==\"choroplethmap\"&&(at+=(at?\"z: \":\"\")+j.zLabel)):Q&&j[nt+\"Label\"]===we?at=j[tt+\"Label\"]||\"\":j.xLabel===void 0?j.yLabel!==void 0&&j.trace.type!==\"scattercarpet\"&&(at=j.yLabel):j.yLabel===void 0?at=j.xLabel:at=\"(\"+j.xLabel+\", \"+j.yLabel+\")\",(j.text||j.text===0)&&!Array.isArray(j.text)&&(at+=(at?\"
\":\"\")+j.text),j.extraText!==void 0&&(at+=(at?\"
\":\"\")+j.extraText),Se&&at===\"\"&&!j.hovertemplate&&(He===\"\"&&Se.remove(),at=He),(Re=(Ie=j.trace)==null?void 0:Ie.hoverlabel)!=null&&Re.split&&(j.hovertemplate=\"\");let{hovertemplate:Ue=!1}=j;if(Ue){let he=j.hovertemplateLabels||j;j[nt+\"Label\"]!==we&&(he[nt+\"other\"]=he[nt+\"Val\"],he[nt+\"otherLabel\"]=he[nt+\"Label\"]),at=A.hovertemplateString({data:[j.eventData[0]||{},j.trace._meta],fallback:j.trace.hovertemplatefallback,labels:he,locale:pe._d3locale,template:Ue}),at=at.replace(F,(le,ne)=>(He=V(ne,j.nameLength),\"\"))}return[at,He]}function P(j,Q,re,pe){var we=Q?\"xa\":\"ya\",Se=Q?\"ya\":\"xa\",Ie=0,Re=1,He=j.size(),at=new Array(He),nt=0,tt=pe.minX,Ue=pe.maxX,he=pe.minY,le=pe.maxY,ne=function(Ae){return Ae*re._invScaleX},Ce=function(Ae){return Ae*re._invScaleY};j.each(function(Ae){var Le=Ae[we],We=Ae[Se],Je=Le._id.charAt(0)===\"x\",st=Le.range;nt===0&&st&&st[0]>st[1]!==Je&&(Re=-1);var ot=0,Ut=Je?re.width:re.height;if(re.hovermode===\"x\"||re.hovermode===\"y\"){var Ct=U(Ae,Q),Pt=Ae.anchor,Nt=Pt===\"end\"?-1:1,cr,lr;if(Pt===\"middle\")cr=Ae.crossPos+(Je?Ce(Ct.y-Ae.by/2):ne(Ae.bx/2+Ae.tx2width/2)),lr=cr+(Je?Ce(Ae.by):ne(Ae.bx));else if(Je)cr=Ae.crossPos+Ce(p+Ct.y)-Ce(Ae.by/2-p),lr=cr+Ce(Ae.by);else{var sr=ne(Nt*p+Ct.x),Pr=sr+ne(Nt*Ae.bx);cr=Ae.crossPos+Math.min(sr,Pr),lr=Ae.crossPos+Math.max(sr,Pr)}Je?he!==void 0&&le!==void 0&&Math.min(lr,le)-Math.max(cr,he)>1&&(We.side===\"left\"?(ot=We._mainLinePosition,Ut=re.width):Ut=We._mainLinePosition):tt!==void 0&&Ue!==void 0&&Math.min(lr,Ue)-Math.max(cr,tt)>1&&(We.side===\"top\"?(ot=We._mainLinePosition,Ut=re.height):Ut=We._mainLinePosition)}at[nt++]=[{datum:Ae,traceIndex:Ae.trace.index,dp:0,pos:Ae.pos,posref:Ae.posref,size:Ae.by*(Je?M:1)/2,pmin:ot,pmax:Ut}]}),at.sort(function(Ae,Le){return Ae[0].posref-Le[0].posref||Re*(Le[0].traceIndex-Ae[0].traceIndex)});var Ze,rt,Ye,St,kt,qt,Gt;function Tr(Ae){var Le=Ae[0],We=Ae[Ae.length-1];if(rt=Le.pmin-Le.pos-Le.dp+Le.size,Ye=We.pos+We.dp+We.size-Le.pmax,rt>.01){for(kt=Ae.length-1;kt>=0;kt--)Ae[kt].dp+=rt;Ze=!1}if(!(Ye<.01)){if(rt<-.01){for(kt=Ae.length-1;kt>=0;kt--)Ae[kt].dp-=Ye;Ze=!1}if(Ze){var Je=0;for(St=0;StLe.pmax&&Je++;for(St=Ae.length-1;St>=0&&!(Je<=0);St--)qt=Ae[St],qt.pos>Le.pmax-1&&(qt.del=!0,Je--);for(St=0;St=0;kt--)Ae[kt].dp-=Ye;for(St=Ae.length-1;St>=0&&!(Je<=0);St--)qt=Ae[St],qt.pos+qt.dp+qt.size>Le.pmax&&(qt.del=!0,Je--)}}}for(;!Ze&&Ie<=He;){for(Ie++,Ze=!0,St=0;St.01){for(kt=qr.length-1;kt>=0;kt--)qr[kt].dp+=rt;for(mr.push.apply(mr,qr),at.splice(St+1,1),Gt=0,kt=mr.length-1;kt>=0;kt--)Gt+=mr[kt].dp;for(Ye=Gt/mr.length,kt=mr.length-1;kt>=0;kt--)mr[kt].dp-=Ye;Ze=!1}else St++}at.forEach(Tr)}for(St=at.length-1;St>=0;St--){var xt=at[St];for(kt=xt.length-1;kt>=0;kt--){var Oe=xt[kt],Ke=Oe.datum;Ke.offset=Oe.dp,Ke.del=Oe.del}}}function U(j,Q){var re=0,pe=j.offset;return Q&&(pe*=-b,re=j.offset*m),{x:re,y:pe}}function N(j){var Q={start:1,end:-1,middle:0}[j.anchor],re=Q*(p+u),pe=re+Q*(j.txwidth+u),we=j.anchor===\"middle\";return we&&(re-=j.tx2width/2,pe+=j.txwidth/2+u),{alignShift:Q,textShiftX:re,text2ShiftX:pe}}function X(j,Q,re,pe){var we=function(Ie){return Ie*re},Se=function(Ie){return Ie*pe};j.each(function(Ie){var Re=G.select(this);if(Ie.del)return Re.remove();var He=Re.select(\"text.nums\"),at=Ie.anchor,nt=at===\"end\"?-1:1,tt=N(Ie),Ue=U(Ie,Q),he=Ue.x,le=Ue.y,ne=at===\"middle\",Ce=\"hoverlabel\"in Ie.trace?Ie.trace.hoverlabel.showarrow:!0,Ze;ne?Ze=\"M-\"+we(Ie.bx/2+Ie.tx2width/2)+\",\"+Se(le-Ie.by/2)+\"h\"+we(Ie.bx)+\"v\"+Se(Ie.by)+\"h-\"+we(Ie.bx)+\"Z\":Ce?Ze=\"M0,0L\"+we(nt*p+he)+\",\"+Se(p+le)+\"v\"+Se(Ie.by/2-p)+\"h\"+we(nt*Ie.bx)+\"v-\"+Se(Ie.by)+\"H\"+we(nt*p+he)+\"V\"+Se(le-p)+\"Z\":Ze=\"M\"+we(nt*p+he)+\",\"+Se(le-Ie.by/2)+\"h\"+we(nt*Ie.bx)+\"v\"+Se(Ie.by)+\"h\"+we(-nt*Ie.bx)+\"Z\",Re.select(\"path\").attr(\"d\",Ze);var rt=he+tt.textShiftX,Ye=le+Ie.ty0-Ie.by/2+u,St=Ie.textAlign||\"auto\";St!==\"auto\"&&(St===\"left\"&&at!==\"start\"?(He.attr(\"text-anchor\",\"start\"),rt=ne?-Ie.bx/2-Ie.tx2width/2+u:-Ie.bx-u):St===\"right\"&&at!==\"end\"&&(He.attr(\"text-anchor\",\"end\"),rt=ne?Ie.bx/2-Ie.tx2width/2-u:Ie.bx+u)),He.call(o.positionText,we(rt),Se(Ye)),Ie.tx2width&&(Re.select(\"text.name\").call(o.positionText,we(tt.text2ShiftX+tt.alignShift*u+he),Se(le+Ie.ty0-Ie.by/2+u)),Re.select(\"rect\").call(n.setRect,we(tt.text2ShiftX+(tt.alignShift-1)*Ie.tx2width/2+he),Se(le-Ie.by/2-1),we(Ie.tx2width),Se(Ie.by+2)))})}function $(j,Q){var re=j.index,pe=j.trace||{},we=j.cd[0],Se=j.cd[re]||{};function Ie(Ue){return Ue||d(Ue)&&Ue===0}var Re=Array.isArray(re)?function(Ue,he){var le=A.castOption(we,re,Ue);return Ie(le)?le:A.extractOption({},pe,\"\",he)}:function(Ue,he){return A.extractOption(Se,pe,Ue,he)};function He(Ue,he,le){var ne=Re(he,le);Ie(ne)&&(j[Ue]=ne)}if(He(\"hoverinfo\",\"hi\",\"hoverinfo\"),He(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),He(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),He(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),He(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),He(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),He(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),He(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),He(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),He(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),He(\"textAlign\",\"hta\",\"hoverlabel.align\"),j.posref=Q===\"y\"||Q===\"closest\"&&pe.orientation===\"h\"?j.xa._offset+(j.x0+j.x1)/2:j.ya._offset+(j.y0+j.y1)/2,j.x0=A.constrain(j.x0,0,j.xa._length),j.x1=A.constrain(j.x1,0,j.xa._length),j.y0=A.constrain(j.y0,0,j.ya._length),j.y1=A.constrain(j.y1,0,j.ya._length),j.xLabelVal!==void 0&&(j.xLabel=\"xLabel\"in j?j.xLabel:h.hoverLabelText(j.xa,j.xLabelVal,pe.xhoverformat),j.xVal=j.xa.c2d(j.xLabelVal)),j.yLabelVal!==void 0&&(j.yLabel=\"yLabel\"in j?j.yLabel:h.hoverLabelText(j.ya,j.yLabelVal,pe.yhoverformat),j.yVal=j.ya.c2d(j.yLabelVal)),j.zLabelVal!==void 0&&j.zLabel===void 0&&(j.zLabel=String(j.zLabelVal)),!isNaN(j.xerr)&&!(j.xa.type===\"log\"&&j.xerr<=0)){var at=h.tickText(j.xa,j.xa.c2l(j.xerr),\"hover\").text;j.xerrneg!==void 0?j.xLabel+=\" +\"+at+\" / -\"+h.tickText(j.xa,j.xa.c2l(j.xerrneg),\"hover\").text:j.xLabel+=\" \\xB1 \"+at,Q===\"x\"&&(j.distance+=1)}if(!isNaN(j.yerr)&&!(j.ya.type===\"log\"&&j.yerr<=0)){var nt=h.tickText(j.ya,j.ya.c2l(j.yerr),\"hover\").text;j.yerrneg!==void 0?j.yLabel+=\" +\"+nt+\" / -\"+h.tickText(j.ya,j.ya.c2l(j.yerrneg),\"hover\").text:j.yLabel+=\" \\xB1 \"+nt,Q===\"y\"&&(j.distance+=1)}var tt=j.hoverinfo||j.trace.hoverinfo;return tt&&tt!==\"all\"&&(tt=Array.isArray(tt)?tt:tt.split(\"+\"),tt.indexOf(\"x\")===-1&&(j.xLabel=void 0),tt.indexOf(\"y\")===-1&&(j.yLabel=void 0),tt.indexOf(\"z\")===-1&&(j.zLabel=void 0),tt.indexOf(\"text\")===-1&&(j.text=void 0),tt.indexOf(\"name\")===-1&&(j.name=void 0)),j}function ue(j,Q,re){var pe=re.container,we=re.fullLayout,Se=we._size,Ie=re.event,Re=!!Q.hLinePoint,He=!!Q.vLinePoint,at,nt;if(pe.selectAll(\".spikeline\").remove(),!!(He||Re)){var tt=i.combine(we.plot_bgcolor,we.paper_bgcolor);if(Re){var Ue=Q.hLinePoint,he,le;at=Ue&&Ue.xa,nt=Ue&&Ue.ya;var ne=nt.spikesnap;ne===\"cursor\"?(he=Ie.pointerX,le=Ie.pointerY):(he=at._offset+Ue.x,le=nt._offset+Ue.y);var Ce=_.readability(Ue.color,tt)<1.5?i.contrast(tt):Ue.color,Ze=nt.spikemode,rt=nt.spikethickness,Ye=nt.spikecolor||Ce,St=h.getPxPosition(j,nt),kt,qt;if(Ze.indexOf(\"toaxis\")!==-1||Ze.indexOf(\"across\")!==-1){if(Ze.indexOf(\"toaxis\")!==-1&&(kt=St,qt=he),Ze.indexOf(\"across\")!==-1){var Gt=nt._counterDomainMin,Tr=nt._counterDomainMax;nt.anchor===\"free\"&&(Gt=Math.min(Gt,nt.position),Tr=Math.max(Tr,nt.position)),kt=Se.l+Gt*Se.w,qt=Se.l+Tr*Se.w}pe.insert(\"line\",\":first-child\").attr({x1:kt,x2:qt,y1:le,y2:le,\"stroke-width\":rt,stroke:Ye,\"stroke-dasharray\":n.dashStyle(nt.spikedash,rt)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),pe.insert(\"line\",\":first-child\").attr({x1:kt,x2:qt,y1:le,y2:le,\"stroke-width\":rt+2,stroke:tt}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}Ze.indexOf(\"marker\")!==-1&&pe.insert(\"circle\",\":first-child\").attr({cx:St+(nt.side!==\"right\"?rt:-rt),cy:le,r:rt,fill:Ye}).classed(\"spikeline\",!0)}if(He){var mr=Q.vLinePoint,qr,Er;at=mr&&mr.xa,nt=mr&&mr.ya;var Dr=at.spikesnap;Dr===\"cursor\"?(qr=Ie.pointerX,Er=Ie.pointerY):(qr=at._offset+mr.x,Er=nt._offset+mr.y);var xt=_.readability(mr.color,tt)<1.5?i.contrast(tt):mr.color,Oe=at.spikemode,Ke=at.spikethickness,Ae=at.spikecolor||xt,Le=h.getPxPosition(j,at),We,Je;if(Oe.indexOf(\"toaxis\")!==-1||Oe.indexOf(\"across\")!==-1){if(Oe.indexOf(\"toaxis\")!==-1&&(We=Le,Je=Er),Oe.indexOf(\"across\")!==-1){var st=at._counterDomainMin,ot=at._counterDomainMax;at.anchor===\"free\"&&(st=Math.min(st,at.position),ot=Math.max(ot,at.position)),We=Se.t+(1-ot)*Se.h,Je=Se.t+(1-st)*Se.h}pe.insert(\"line\",\":first-child\").attr({x1:qr,x2:qr,y1:We,y2:Je,\"stroke-width\":Ke,stroke:Ae,\"stroke-dasharray\":n.dashStyle(at.spikedash,Ke)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),pe.insert(\"line\",\":first-child\").attr({x1:qr,x2:qr,y1:We,y2:Je,\"stroke-width\":Ke+2,stroke:tt}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}Oe.indexOf(\"marker\")!==-1&&pe.insert(\"circle\",\":first-child\").attr({cx:qr,cy:Le-(at.side!==\"top\"?Ke:-Ke),r:Ke,fill:Ae}).classed(\"spikeline\",!0)}}}function ce(j,Q,re){if(!re||re.length!==j._hoverdata.length)return!0;for(var pe=re.length-1;pe>=0;pe--){var we=re[pe],Se=j._hoverdata[pe];if(we.curveNumber!==Se.curveNumber||String(we.pointNumber)!==String(Se.pointNumber)||String(we.pointNumbers)!==String(Se.pointNumbers)||we.binNumber!==Se.binNumber)return!0}return!1}function de(j,Q){return!Q||Q.vLinePoint!==j._spikepoints.vLinePoint||Q.hLinePoint!==j._spikepoints.hLinePoint}function V(j,Q){return o.plainText(j||\"\",{len:Q,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Y(j,Q){for(var re=Q.charAt(0),pe=[],we=[],Se=[],Ie=0;Iej.offsetTop+j.clientTop,se=j=>j.offsetLeft+j.clientLeft;function ae(j,Q){var re=j._fullLayout,pe=Q.getBoundingClientRect(),we=pe.left,Se=pe.top,Ie=we+pe.width,Re=Se+pe.height,He=A.apply3DTransform(re._invTransform)(we,Se),at=A.apply3DTransform(re._invTransform)(Ie,Re),nt=He[0],tt=He[1],Ue=at[0],he=at[1];return{x:nt,y:tt,width:Ue-nt,height:he-tt,top:Math.min(tt,he),left:Math.min(nt,Ue),right:Math.max(nt,Ue),bottom:Math.max(tt,he)}}}}),k_=Ge({\"src/components/fx/hoverlabel_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=$n(),A=$p().isUnifiedHover;G.exports=function(e,t,r,o){o=o||{};var a=t.legend;function n(i){o.font[i]||(o.font[i]=a?t.legend.font[i]:t.font[i])}t&&A(t.hovermode)&&(o.font||(o.font={}),n(\"size\"),n(\"family\"),n(\"color\"),n(\"weight\"),n(\"style\"),n(\"variant\"),a?(o.bgcolor||(o.bgcolor=_.combine(t.legend.bgcolor,t.paper_bgcolor)),o.bordercolor||(o.bordercolor=t.legend.bordercolor)):o.bgcolor||(o.bgcolor=t.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),r(\"hoverlabel.showarrow\",o.showarrow),d.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}}}),mz=Ge({\"src/components/fx/layout_global_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=k_(),A=Zm();G.exports=function(e,t){function r(o,a){return d.coerce(e,t,A,o,a)}_(e,t,r)}}}),gz=Ge({\"src/components/fx/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Ky(),A=k_();G.exports=function(e,t,r,o){function a(i,s){return d.coerce(e,t,_,i,s)}var n=d.extendFlat({},o.hoverlabel);t.hovertemplate&&(n.namelength=-1),A(e,t,a,n)}}}),x5=Ge({\"src/components/fx/hovermode_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Zm();G.exports=function(E,e){function t(r,o){return e[r]!==void 0?e[r]:d.coerce(E,e,_,r,o)}return t(\"clickmode\"),t(\"hoversubplots\"),t(\"hoveranywhere\"),t(\"clickanywhere\"),t(\"hovermode\")}}}),yz=Ge({\"src/components/fx/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Zm(),A=x5(),E=k_();G.exports=function(t,r){function o(v,c){return d.coerce(t,r,_,v,c)}var a=A(t,r);a&&(o(\"hoverdistance\"),o(\"spikedistance\"),a.indexOf(\"unified\")!==-1&&o(\"hoversort\"));var n=o(\"dragmode\");n===\"select\"&&o(\"selectdirection\");var i=r._has(\"mapbox\"),s=r._has(\"map\"),h=r._has(\"geo\"),f=r._basePlotModules.length;r.dragmode===\"zoom\"&&((i||s||h)&&f===1||(i||s)&&h&&f===2)&&(r.dragmode=\"pan\"),E(t,r,o),d.coerceFont(o,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}}}),_z=Ge({\"src/components/fx/calc.js\"(Z,G){\"use strict\";var d=sa(),_=so();G.exports=function(e){var t=e.calcdata,r=e._fullLayout;function o(h){return function(f){return d.coerceHoverinfo({hoverinfo:f},{_module:h._module},r)}}for(var a=0;a\",\" plotly-logomark\",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\"\"].join(\"\")}}}}),T2=Ge({\"src/components/shapes/draw_newshape/constants.js\"(Z,G){\"use strict\";var d=32;G.exports={CIRCLE_SIDES:d,i000:0,i090:d/4,i180:d/2,i270:d/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),A2=Ge({\"src/components/selections/helpers.js\"(Z,G){\"use strict\";var d=sa().strTranslate;function _(t,r){switch(t.type){case\"log\":return t.p2d(r);case\"date\":return t.p2r(r,0,t.calendar);default:return t.p2r(r)}}function A(t,r){switch(t.type){case\"log\":return t.d2p(r);case\"date\":return t.r2p(r,0,t.calendar);default:return t.r2p(r)}}function E(t){var r=t._id.charAt(0)===\"y\"?1:0;return function(o){return _(t,o[r])}}function e(t){return d(t.xaxis._offset,t.yaxis._offset)}G.exports={p2r:_,r2p:A,axValue:E,getTransform:e}}}),r0=Ge({\"src/components/shapes/draw_newshape/helpers.js\"(Z){\"use strict\";var G=M_(),d=T2(),_=d.CIRCLE_SIDES,A=d.SQRT2,E=A2(),e=E.p2r,t=E.r2p,r=[0,3,4,5,6,1,2],o=[0,3,4,1,2];Z.writePaths=function(i){var s=i.length;if(!s)return\"M0,0Z\";for(var h=\"\",f=0;f0&&x{let s=i.charAt(0),h=a[s].drawn!==void 0;return n+(h?1:0)},0)},Z.getDataToPixel=function(e,t,r,o,a){var n=e._fullLayout._size,i;if(t)if(a===\"domain\")i=function(h){return t._length*(o?1-h:h)+t._offset};else{var s=Z.shapePositionToRange(t);i=function(h){var f=E(t,r);return t._offset+t.r2p(s(h,!0))+f},t.type===\"date\"&&(i=Z.decodeDate(i))}else o?i=function(h){return n.t+n.h*(1-h)}:i=function(h){return n.l+n.w*h};return i},Z.getPixelToData=function(e,t,r,o){var a=e._fullLayout._size,n;if(t)if(o===\"domain\")n=function(s){var h=(s-t._offset)/t._length;return r?1-h:h};else{var i=Z.rangeToShapePosition(t);n=function(s){return i(t.p2r(s-t._offset))}}else r?n=function(s){return 1-(s-a.t)/a.h}:n=function(s){return(s-a.l)/a.w};return n},Z.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,o=Math.round(e);return r?o+.5:o},Z.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},o=e._fullLayout._plots[r.xref+r.yref],a=!!o;return a?o._hadPlotinfo=!0:(o={},r.xref&&r.xref!==\"paper\"&&(o.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&r.yref!==\"paper\"&&(o.yaxis=e._fullLayout[r.yref+\"axis\"])),o.xsizemode=r.xsizemode,o.ysizemode=r.ysizemode,o.xanchor=r.xanchor,o.yanchor=r.yanchor,{options:r,plotinfo:o}},Z.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},o=e._fullLayout._plots[r.xref+r.yref],a=!!o;return a?o._hadPlotinfo=!0:(o={},r.xref&&(o.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(o.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:o}},Z.getPathString=function(e,t){let r=t.type,o=_.getRefType(t.xref),a=_.getRefType(t.yref),n=e._fullLayout._size;var i,s,h,f,v,c,T,l,x,w,S,M;function m(z,F,B,O){var P;if(z)if(F===\"domain\")O?P=function(U){return z._offset+z._length*(1-U)}:P=function(U){return z._offset+z._length*U};else{let U=Z.shapePositionToRange(z);P=function(N){return z._offset+z.r2p(U(N,!0))},B===\"path\"&&z.type===\"date\"&&(P=Z.decodeDate(P))}else O?P=function(U){return n.t+n.h*(1-U)}:P=function(U){return n.l+n.w*U};return P}if(o===\"array\"?(T=[],i=t.xref.map(function(z){return _.getFromId(e,z)}),T=t.xref.map(function(z,F){return m(i[F],_.getRefType(z),r,!1)})):(i=_.getFromId(e,t.xref),T=m(i,o,r,!1)),a===\"array\"?(l=[],s=t.yref.map(function(z){return _.getFromId(e,z)}),l=t.yref.map(function(z,F){return m(s[F],_.getRefType(z),r,!0)})):(s=_.getFromId(e,t.yref),l=m(s,a,r,!0)),r===\"path\")return A(t,T,l);if(o===\"array\")h=E(i[0],t.x0shift),f=E(i[1],t.x1shift),x=T[0](t.x0)+h,w=T[1](t.x1)+f;else if(h=E(i,t.x0shift),f=E(i,t.x1shift),t.xsizemode===\"pixel\"){let z=T(t.xanchor);x=z+t.x0+h,w=z+t.x1+f}else x=T(t.x0)+h,w=T(t.x1)+f;if(a===\"array\")v=E(s[0],t.y0shift),c=E(s[1],t.y1shift),S=l[0](t.y0)+v,M=l[1](t.y1)+c;else if(v=E(s,t.y0shift),c=E(s,t.y1shift),t.ysizemode===\"pixel\"){let z=l(t.yanchor);S=z-t.y0+v,M=z-t.y1+c}else S=l(t.y0)+v,M=l(t.y1)+c;if(r===\"line\")return\"M\"+x+\",\"+S+\"L\"+w+\",\"+M;if(r===\"rect\")return\"M\"+x+\",\"+S+\"H\"+w+\"V\"+M+\"H\"+x+\"Z\";var b=(x+w)/2,p=(S+M)/2,u=Math.abs(b-x),g=Math.abs(p-S),y=\"A\"+u+\",\"+g,D=b+u+\",\"+p,L=b+\",\"+(p-g);return\"M\"+D+y+\" 0 1,1 \"+L+y+\" 0 0,1 \"+D+\"Z\"};function A(e,t,r){let o=e.path,a=e.xsizemode,n=e.ysizemode,i=e.xanchor,s=e.yanchor,h=Array.isArray(e.xref),f=Array.isArray(e.yref);var v=0,c=0;return o.replace(G.segmentRE,function(T){var l=0,x=T.charAt(0),w=G.paramIsX[x],S=G.paramIsY[x],M=G.numParams[x];let m=w.drawn!==void 0,b=S.drawn!==void 0,p=h?t[v]:t,u=f?r[c]:r;var g=T.slice(1).replace(G.paramRE,function(y){return w[l]?a===\"pixel\"?y=p(i)+Number(y):y=p(y):S[l]&&(n===\"pixel\"?y=u(s)-Number(y):y=u(y)),l++,l>M&&(y=\"X\"),y});return l>M&&(g=g.replace(/[\\s,]*X.*/,\"\"),d.log(\"Ignoring extra params in segment \"+T)),m&&v++,b&&c++,x+g})}Z.getPixelShift=E;function E(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}}}),w5=Ge({\"src/components/shapes/display_labels.js\"(Z,G){\"use strict\";var d=sa(),_=Wo(),A=su(),E=as(),e=r0().readPaths,t=a0(),r=t.getPathString,o=v2(),a=uh().FROM_TL;G.exports=function(h,f,v,c){if(c.selectAll(\".shape-label\").remove(),!!(v.label.text||v.label.texttemplate)){var T;if(v.label.texttemplate){var l={};if(v.type!==\"path\"){var x=_.getFromId(h,v.xref),w=_.getFromId(h,v.yref);let j=Array.isArray(v.xref),Q=Array.isArray(v.yref);for(var S in o){var M=typeof o[S]==\"function\",m=!j||o.simpleXVariables.includes(S),b=!Q||o.simpleYVariables.includes(S);if(M&&m&&b){var p=o[S](v,x,w);p!==void 0&&(l[S]=p)}}}T=d.texttemplateStringForShapes({data:[l],fallback:v.label.texttemplatefallback,locale:h._fullLayout._d3locale,template:v.label.texttemplate})}else T=v.label.text;var u={\"data-index\":f},g=v.label.font,y={\"data-notex\":1},D=c.append(\"g\").attr(u).classed(\"shape-label\",!0),L=D.append(\"text\").attr(y).classed(\"shape-label-text\",!0).text(T),z,F,B,O;if(v.path){var P=r(h,v),U=e(P,h);z=1/0,B=1/0,F=-1/0,O=-1/0;for(var N=0;Nt.getDataToPixel(h,le,he,!1,ne)(Ue),tt=(Ue,he,le,ne)=>t.getDataToPixel(h,le,he,!0,ne)(Ue);if(v.xsizemode===\"pixel\"){let Ue=nt(v.xanchor,void 0,re,Ie),he=t.getPixelShift(re,v.x0shift),le=t.getPixelShift(re,v.x1shift);z=Ue+v.x0+he,F=Ue+v.x1+le}else z=nt(v.x0,v.x0shift,re,Ie),F=nt(v.x1,v.x1shift,pe,Re);if(v.ysizemode===\"pixel\"){let Ue=tt(v.yanchor,void 0,we,He),he=t.getPixelShift(we,v.y0shift),le=t.getPixelShift(we,v.y1shift);B=Ue-v.y0+he,O=Ue-v.y1+le}else B=tt(v.y0,v.y0shift,we,He),O=tt(v.y1,v.y1shift,Se,at)}var V=v.label.textangle;V===\"auto\"&&(v.type===\"line\"?V=n(z,B,F,O):V=0),L.call(function(j){return j.call(E.font,g).attr({}),A.convertToTspans(j,h),j});var Y=E.bBox(L.node()),ee=i(z,B,F,O,v,V,Y),q=ee.textx,se=ee.texty,ae=ee.xanchor;L.attr({\"text-anchor\":{left:\"start\",center:\"middle\",right:\"end\"}[ae],y:se,x:q,transform:\"rotate(\"+V+\",\"+q+\",\"+se+\")\"}).call(A.positionText,q,se)}};function n(s,h,f,v){var c,T;return T=Math.abs(f-s),f>=s?c=h-v:c=v-h,-180/Math.PI*Math.atan2(c,T)}function i(s,h,f,v,c,T,l){var x=c.label.textposition,w=c.label.textangle,S=c.label.padding,M=c.type,m=Math.PI/180*T,b=Math.sin(m),p=Math.cos(m),u=c.label.xanchor,g=c.label.yanchor,y,D,L,z;if(M===\"line\"){x===\"start\"?(y=s,D=h):x===\"end\"?(y=f,D=v):(y=(s+f)/2,D=(h+v)/2),u===\"auto\"&&(x===\"start\"?w===\"auto\"?f>s?u=\"left\":fs?u=\"right\":fs?u=\"right\":fs?u=\"left\":f1&&!(tt.length===2&&tt[1][0]===\"Z\")&&(V===0&&(tt[0][0]=\"M\"),y[de]=tt,B(),O())}}function pe(tt,Ue){if(tt===2){de=+Ue.srcElement.getAttribute(\"data-i\"),V=+Ue.srcElement.getAttribute(\"data-j\");var he=y[de];!T(he)&&!l(he)&&re()}}function we(tt){ue=[];for(var Ue=0;Ue{if(!L._dragging&&L._fullLayout.hoveranywhere){let U=O(P);U&&h.hover(L,U,F.id)}}),B.addEventListener(\"click\",P=>{if(!L._dragged&&L._fullLayout.clickanywhere){let U=O(P);U&&h.click(L,U,F.id)}})}function m(L,z,F){let B=F.xref,O=F.yref;if(Array.isArray(B)||Array.isArray(O)){let P=\"clip\"+z._fullLayout._uid+\"shape\"+F._index,U=b(z,B,O);A.ensureSingleById(z._fullLayout._clips,\"clipPath\",P,function(N){N.append(\"rect\")}).select(\"rect\").attr(U),n.setClipUrl(L,P,z)}else{let P=(B+O).replace(/paper/g,\"\").replace(/[xyz][0-9]* *domain/g,\"\");n.setClipUrl(L,P?\"clip\"+z._fullLayout._uid+P:null,z)}}function b(L,z,F){let B=L._fullLayout._size;function O(N,X){let $=(Array.isArray(N)?N:[N]).map(de=>E.getFromId(L,de)).filter(Boolean);if(!$.length)return X?[B.t,B.t+B.h]:[B.l,B.l+B.w];let ue=$.map(function(de){return de._offset}),ce=$.map(function(de){return de._offset+de._length});return[Math.min(...ue),Math.max(...ce)]}let P=O(z,!1),U=O(F,!0);return{x:P[0],y:U[0],width:P[1]-P[0],height:U[1]-U[0]}}function p(L,z,F,B,O,P){var U=10,N=10,X=F.xsizemode===\"pixel\",$=F.ysizemode===\"pixel\",ue=F.type===\"line\",ce=F.type===\"path\",de=P.modifyItem,V,Y,ee,q,se,ae,j,Q,re,pe,we,Se,Ie,Re,He,at=d.select(z.node().parentNode),nt=E.getFromId(L,F.xref),tt=E.getRefType(F.xref),Ue=E.getFromId(L,F.yref),he=E.getRefType(F.yref),le=F.x0shift,ne=F.x1shift,Ce=F.y0shift,Ze=F.y1shift,rt=function(st,ot){var Ut=c.getDataToPixel(L,nt,ot,!1,tt);return Ut(st)},Ye=function(st,ot){var Ut=c.getDataToPixel(L,Ue,ot,!0,he);return Ut(st)},St=c.getPixelToData(L,nt,!1,tt),kt=c.getPixelToData(L,Ue,!0,he),qt=mr(),Gt={element:qt.node(),gd:L,prepFn:Dr,doneFn:xt,clickFn:Oe},Tr;s.init(Gt),qt.node().onmousemove=Er;function mr(){return ue?qr():z}function qr(){var st=10,ot=Math.max(F.line.width,st),Ut=O.append(\"g\").attr(\"data-index\",B).attr(\"drag-helper\",!0);Ut.append(\"path\").attr(\"d\",z.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":ot,\"stroke-opacity\":\"0\"});var Ct={\"fill-opacity\":\"0\"},Pt=Math.max(ot/2,st);return Ut.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:X?rt(F.xanchor)+F.x0:rt(F.x0,le),cy:$?Ye(F.yanchor)-F.y0:Ye(F.y0,Ce),r:Pt}).style(Ct).classed(\"cursor-grab\",!0),Ut.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:X?rt(F.xanchor)+F.x1:rt(F.x1,ne),cy:$?Ye(F.yanchor)-F.y1:Ye(F.y1,Ze),r:Pt}).style(Ct).classed(\"cursor-grab\",!0),Ut}function Er(st){if(x(L)){Tr=null;return}if(ue)st.target.tagName===\"path\"?Tr=\"move\":Tr=st.target.attributes[\"data-line-point\"].value===\"start-point\"?\"resize-over-start-point\":\"resize-over-end-point\";else{var ot=Gt.element.getBoundingClientRect(),Ut=ot.right-ot.left,Ct=ot.bottom-ot.top,Pt=st.clientX-ot.left,Nt=st.clientY-ot.top,cr=!ce&&Ut>U&&Ct>N&&!st.shiftKey?s.getCursor(Pt/Ut,1-Nt/Ct):\"move\";f(z,cr),Tr=cr.split(\"-\")[0]}}function Dr(st){x(L)||(X&&(se=rt(F.xanchor)),$&&(ae=Ye(F.yanchor)),F.type===\"path\"?He=F.path:(V=X?F.x0:rt(F.x0),Y=$?F.y0:Ye(F.y0),ee=X?F.x1:rt(F.x1),q=$?F.y1:Ye(F.y1)),Vq?(j=Y,we=\"y0\",Q=q,Se=\"y1\"):(j=q,we=\"y1\",Q=Y,Se=\"y0\"),Er(st),Le(O,F),Je(z,F,L),Gt.moveFn=Tr===\"move\"?Ke:Ae,Gt.altKey=st.altKey)}function xt(){x(L)||(f(z),We(O),m(z,L,F),_.call(\"_guiRelayout\",L,P.getUpdateObj()))}function Oe(){x(L)||We(O)}function Ke(st,ot){if(F.type===\"path\"){var Ut=function(Nt){return Nt},Ct=Ut,Pt=Ut;X?de(\"xanchor\",F.xanchor=St(se+st)):(Ct=function(cr){return St(rt(cr)+st)},nt&&nt.type===\"date\"&&(Ct=c.encodeDate(Ct))),$?de(\"yanchor\",F.yanchor=kt(ae+ot)):(Pt=function(cr){return kt(Ye(cr)+ot)},Ue&&Ue.type===\"date\"&&(Pt=c.encodeDate(Pt))),de(\"path\",F.path=u(He,Ct,Pt))}else X?de(\"xanchor\",F.xanchor=St(se+st)):(de(\"x0\",F.x0=St(V+st)),de(\"x1\",F.x1=St(ee+st))),$?de(\"yanchor\",F.yanchor=kt(ae+ot)):(de(\"y0\",F.y0=kt(Y+ot)),de(\"y1\",F.y1=kt(q+ot)));z.attr(\"d\",T(L,F)),Le(O,F),r(L,B,F,at)}function Ae(st,ot){if(ce){var Ut=function(Yt){return Yt},Ct=Ut,Pt=Ut;X?de(\"xanchor\",F.xanchor=St(se+st)):(Ct=function(Rt){return St(rt(Rt)+st)},nt&&nt.type===\"date\"&&(Ct=c.encodeDate(Ct))),$?de(\"yanchor\",F.yanchor=kt(ae+ot)):(Pt=function(Rt){return kt(Ye(Rt)+ot)},Ue&&Ue.type===\"date\"&&(Pt=c.encodeDate(Pt))),de(\"path\",F.path=u(He,Ct,Pt))}else if(ue){if(Tr===\"resize-over-start-point\"){var Nt=V+st,cr=$?Y-ot:Y+ot;de(\"x0\",F.x0=X?Nt:St(Nt)),de(\"y0\",F.y0=$?cr:kt(cr))}else if(Tr===\"resize-over-end-point\"){var lr=ee+st,sr=$?q-ot:q+ot;de(\"x1\",F.x1=X?lr:St(lr)),de(\"y1\",F.y1=$?sr:kt(sr))}}else{var Pr=function(Yt){return Tr.indexOf(Yt)!==-1},_a=Pr(\"n\"),Fa=Pr(\"s\"),Ra=Pr(\"w\"),qa=Pr(\"e\"),Wa=_a?j+ot:j,Ca=Fa?Q+ot:Q,hi=Ra?re+st:re,wi=qa?pe+st:pe;$&&(_a&&(Wa=j-ot),Fa&&(Ca=Q-ot)),(!$&&Ca-Wa>N||$&&Wa-Ca>N)&&(de(we,F[we]=$?Wa:kt(Wa)),de(Se,F[Se]=$?Ca:kt(Ca))),wi-hi>U&&(de(Ie,F[Ie]=X?hi:St(hi)),de(Re,F[Re]=X?wi:St(wi)))}z.attr(\"d\",T(L,F)),Le(O,F),r(L,B,F,at)}function Le(st,ot){(X||$)&&Ut();function Ut(){var Ct=ot.type!==\"path\",Pt=st.selectAll(\".visual-cue\").data([0]),Nt=1;Pt.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":Nt}).classed(\"visual-cue\",!0);var cr=rt(X?ot.xanchor:A.midRange(Ct?[ot.x0,ot.x1]:c.extractPathCoords(ot.path,v.paramIsX))),lr=Ye($?ot.yanchor:A.midRange(Ct?[ot.y0,ot.y1]:c.extractPathCoords(ot.path,v.paramIsY)));if(cr=c.roundPositionForSharpStrokeRendering(cr,Nt),lr=c.roundPositionForSharpStrokeRendering(lr,Nt),X&&$){var sr=\"M\"+(cr-1-Nt)+\",\"+(lr-1-Nt)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";Pt.attr(\"d\",sr)}else if(X){var Pr=\"M\"+(cr-1-Nt)+\",\"+(lr-9-Nt)+\"v18 h2 v-18 Z\";Pt.attr(\"d\",Pr)}else{var _a=\"M\"+(cr-9-Nt)+\",\"+(lr-1-Nt)+\"h18 v2 h-18 Z\";Pt.attr(\"d\",_a)}}}function We(st){st.selectAll(\".visual-cue\").remove()}function Je(st,ot,Ut){var Ct=ot.xref,Pt=ot.yref,Nt=E.getFromId(Ut,Ct),cr=E.getFromId(Ut,Pt),lr=\"\";Ct!==\"paper\"&&!Nt.autorange&&(lr+=Ct),Pt!==\"paper\"&&!cr.autorange&&(lr+=Pt),n.setClipUrl(st,lr?\"clip\"+Ut._fullLayout._uid+lr:null,Ut)}}function u(L,z,F){return L.replace(v.segmentRE,function(B){var O=0,P=B.charAt(0),U=v.paramIsX[P],N=v.paramIsY[P],X=v.numParams[P],$=B.slice(1).replace(v.paramRE,function(ue){return O>=X||(U[O]?ue=z(ue):N[O]&&(ue=F(ue)),O++),ue});return P+$})}function g(L,z){if(w(L)){var F=z.node(),B=+F.getAttribute(\"data-index\");if(B>=0){if(B===L._fullLayout._activeShapeIndex){y(L);return}L._fullLayout._activeShapeIndex=B,L._fullLayout._deactivateShape=y,l(L)}}}function y(L){if(w(L)){var z=L._fullLayout._activeShapeIndex;z>=0&&(o(L),delete L._fullLayout._activeShapeIndex,l(L))}}function D(L){if(w(L)){o(L);var z=L._fullLayout._activeShapeIndex,F=(L.layout||{}).shapes||[];if(z1?(ce=[\"toggleHover\"],de=[\"resetViews\"]):u?(ue=[\"zoomInGeo\",\"zoomOutGeo\"],ce=[\"hoverClosestGeo\"],de=[\"resetGeo\"]):p?(ce=[\"hoverClosest3d\"],de=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):L?(ue=[\"zoomInMapbox\",\"zoomOutMapbox\"],ce=[\"toggleHover\"],de=[\"resetViewMapbox\"]):z?(ue=[\"zoomInMap\",\"zoomOutMap\"],ce=[\"toggleHover\"],de=[\"resetViewMap\"]):g?ce=[\"hoverClosestPie\"]:O?(ce=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],de=[\"resetViewSankey\"]):ce=[\"toggleHover\"],b&&ce.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(s(T)||U)&&(ce=[]),b&&!P&&(ue=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],de[0]!==\"resetViews\"&&(de=[\"resetScale2d\"])),p?V=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:b&&!P||D?V=[\"zoom2d\",\"pan2d\"]:L||z||u?V=[\"pan2d\"]:F&&(V=[\"zoom2d\"]),i(T)&&V.push(\"select2d\",\"lasso2d\");var Y=[],ee=function(j){Y.indexOf(j)===-1&&ce.indexOf(j)!==-1&&Y.push(j)};if(Array.isArray(M)){for(var q=[],se=0;sew?T.slice(w):l.slice(x))+S}function h(v,c){for(var T=c._size,l=T.h/T.w,x={},w=Object.keys(v),S=0;St*D&&!B)){for(w=0;wV&&rece&&(ce=re);var we=(ce-ue)/(2*de);u/=we,ue=m.l2r(ue),ce=m.l2r(ce),m.range=m._input.range=N=O[1]||X[1]<=O[0])&&$[0]P[0])return!0}return!1}function S(O){var P=O._fullLayout,U=P._size,N=U.p,X=n.list(O,\"\",!0),$,ue,ce,de,V,Y;if(P._paperdiv.style({width:O._context.responsive&&P.autosize&&!O._context._hasZeroWidth&&!O.layout.width?\"100%\":P.width+\"px\",height:O._context.responsive&&P.autosize&&!O._context._hasZeroHeight&&!O.layout.height?\"100%\":P.height+\"px\"}).selectAll(\".main-svg\").call(r.setSize,P.width,P.height),O._context.setBackground(O,P.paper_bgcolor),Z.drawMainTitle(O),a.manage(O),!P._has(\"cartesian\"))return _.previousPromises(O);function ee(Ae,Le,We){var Je=Ae._lw/2;if(Ae._id.charAt(0)===\"x\"){if(Le){if(We===\"top\")return Le._offset-N-Je}else return U.t+U.h*(1-(Ae.position||0))+Je%1;return Le._offset+Le._length+N+Je}if(Le){if(We===\"right\")return Le._offset+Le._length+N+Je}else return U.l+U.w*(Ae.position||0)+Je%1;return Le._offset-N-Je}for($=0;$0){y(O,$,V,de),ce.attr({x:ue,y:$,\"text-anchor\":N,dy:z(P.yanchor)}).call(E.positionText,ue,$);var Y=(P.text.match(E.BR_TAG_ALL)||[]).length;if(Y){var ee=i.LINE_SPACING*Y+i.MID_SHIFT;P.y===0&&(ee=-ee),ce.selectAll(\".line\").each(function(){var Q=+this.getAttribute(\"dy\").slice(0,-2)-ee+\"em\";this.setAttribute(\"dy\",Q)})}var q=G.select(O).selectAll(\".gtitle-subtitle\");if(q.node()){var se=ce.node().getBBox(),ae=se.y+se.height,j=ae+o.SUBTITLE_PADDING_EM*P.subtitle.font.size;q.attr({x:ue,y:j,\"text-anchor\":N,dy:z(P.yanchor)}).call(E.positionText,ue,j)}}}};function p(O,P,U,N,X){var $=P.yref===\"paper\"?O._fullLayout._size.h:O._fullLayout.height,ue=A.isTopAnchor(P)?N:N-X,ce=U===\"b\"?$-ue:ue;return A.isTopAnchor(P)&&U===\"t\"||A.isBottomAnchor(P)&&U===\"b\"?!1:ce.5?\"t\":\"b\",ue=O._fullLayout.margin[$],ce=0;return P.yref===\"paper\"?ce=U+P.pad.t+P.pad.b:P.yref===\"container\"&&(ce=u($,N,X,O._fullLayout.height,U)+P.pad.t+P.pad.b),ce>ue?ce:0}function y(O,P,U,N){var X=\"title.automargin\",$=O._fullLayout.title,ue=$.y>.5?\"t\":\"b\",ce={x:$.x,y:$.y,t:0,b:0},de={};$.yref===\"paper\"&&p(O,$,ue,P,N)?ce[ue]=U:$.yref===\"container\"&&(de[ue]=U,O._fullLayout._reservedMargin[X]=de),_.allowAutoMargin(O,X),_.autoMargin(O,X,ce)}function D(O,P){var U=O.title,N=O._size,X=0;switch(P===c?X=U.pad.l:P===l&&(X=-U.pad.r),U.xref){case\"paper\":return N.l+N.w*U.x+X;case\"container\":default:return O.width*U.x+X}}function L(O,P){var U=O.title,N=O._size,X=0;if(P===\"0em\"||!P?X=-U.pad.b:P===i.CAP_SHIFT+\"em\"&&(X=U.pad.t),U.y===\"auto\")return N.t/2;switch(U.yref){case\"paper\":return N.t+N.h-N.h*U.y+X;case\"container\":default:return O.height-O.height*U.y+X}}function z(O){return O===\"top\"?i.CAP_SHIFT+.3+\"em\":O===\"bottom\"?\"-0.3em\":i.MID_SHIFT+\"em\"}function F(O){var P=O.title,U=T;return A.isRightAnchor(P)?U=l:A.isLeftAnchor(P)&&(U=c),U}function B(O){var P=O.title,U=\"0em\";return A.isTopAnchor(P)?U=i.CAP_SHIFT+\"em\":A.isMiddleAnchor(P)&&(U=i.MID_SHIFT+\"em\"),U}Z.doTraceStyle=function(O){var P=O.calcdata,U=[],N;for(N=0;N=0;F--){var B=M.append(\"path\").attr(b).style(\"opacity\",F?.1:p).call(E.stroke,g).call(E.fill,u).call(e.dashLine,F?\"solid\":D,F?4+y:y);if(s(B,c,x),L){var O=t(c.layout,\"selections\",x);B.style({cursor:\"move\"});var P={element:B.node(),plotinfo:w,gd:c,editHelpers:O,isActiveSelection:!0},U=d(m,c);_(U,B,P)}else B.style(\"pointer-events\",F?\"all\":\"none\");z[F]=B}var N=z[0],X=z[1];X.node().addEventListener(\"click\",function(){return h(c,N)})}}function s(c,T,l){var x=l.xref+l.yref;e.setClipUrl(c,\"clip\"+T._fullLayout._uid+x,T)}function h(c,T){if(n(c)){var l=T.node(),x=+l.getAttribute(\"data-index\");if(x>=0){if(x===c._fullLayout._activeSelectionIndex){v(c);return}c._fullLayout._activeSelectionIndex=x,c._fullLayout._deactivateSelection=v,a(c)}}}function f(c){if(n(c)){var T=c._fullLayout.selections.length-1;c._fullLayout._activeSelectionIndex=T,c._fullLayout._deactivateSelection=v,a(c)}}function v(c){if(n(c)){var T=c._fullLayout._activeSelectionIndex;T>=0&&(A(c),delete c._fullLayout._activeSelectionIndex,a(c))}}}}),Az=Ge({\"node_modules/polybooljs/lib/build-log.js\"(Z,G){function d(){var _,A=0,E=!1;function e(t,r){return _.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),_}return _={list:[],segmentId:function(){return A++},checkIntersection:function(t,r){return e(\"check\",{seg1:t,seg2:r})},segmentChop:function(t,r){return e(\"div_seg\",{seg:t,pt:r}),e(\"chop\",{seg:t,pt:r})},statusRemove:function(t){return e(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return e(\"seg_update\",{seg:t})},segmentNew:function(t,r){return e(\"new_seg\",{seg:t,primary:r})},segmentRemove:function(t){return e(\"rem_seg\",{seg:t})},tempStatus:function(t,r,o){return e(\"temp_status\",{seg:t,above:r,below:o})},rewind:function(t){return e(\"rewind\",{seg:t})},status:function(t,r,o){return e(\"status\",{seg:t,above:r,below:o})},vert:function(t){return t===E?_:(E=t,e(\"vert\",{x:t}))},log:function(t){return typeof t!=\"string\"&&(t=JSON.stringify(t,!1,\" \")),e(\"log\",{txt:t})},reset:function(){return e(\"reset\")},selected:function(t){return e(\"selected\",{segs:t})},chainStart:function(t){return e(\"chain_start\",{seg:t})},chainRemoveHead:function(t,r){return e(\"chain_rem_head\",{index:t,pt:r})},chainRemoveTail:function(t,r){return e(\"chain_rem_tail\",{index:t,pt:r})},chainNew:function(t,r){return e(\"chain_new\",{pt1:t,pt2:r})},chainMatch:function(t){return e(\"chain_match\",{index:t})},chainClose:function(t){return e(\"chain_close\",{index:t})},chainAddHead:function(t,r){return e(\"chain_add_head\",{index:t,pt:r})},chainAddTail:function(t,r){return e(\"chain_add_tail\",{index:t,pt:r})},chainConnect:function(t,r){return e(\"chain_con\",{index1:t,index2:r})},chainReverse:function(t){return e(\"chain_rev\",{index:t})},chainJoin:function(t,r){return e(\"chain_join\",{index1:t,index2:r})},done:function(){return e(\"done\")}},_}G.exports=d}}),Sz=Ge({\"node_modules/polybooljs/lib/epsilon.js\"(Z,G){function d(_){typeof _!=\"number\"&&(_=1e-10);var A={epsilon:function(E){return typeof E==\"number\"&&(_=E),_},pointAboveOrOnLine:function(E,e,t){var r=e[0],o=e[1],a=t[0],n=t[1],i=E[0],s=E[1];return(a-r)*(s-o)-(n-o)*(i-r)>=-_},pointBetween:function(E,e,t){var r=E[1]-e[1],o=t[0]-e[0],a=E[0]-e[0],n=t[1]-e[1],i=a*o+r*n;if(i<_)return!1;var s=o*o+n*n;return!(i-s>-_)},pointsSameX:function(E,e){return Math.abs(E[0]-e[0])<_},pointsSameY:function(E,e){return Math.abs(E[1]-e[1])<_},pointsSame:function(E,e){return A.pointsSameX(E,e)&&A.pointsSameY(E,e)},pointsCompare:function(E,e){return A.pointsSameX(E,e)?A.pointsSameY(E,e)?0:E[1]_!=a-r>_&&(o-s)*(r-h)/(a-h)+s-t>_&&(n=!n),o=s,a=h}return n}};return A}G.exports=d}}),Mz=Ge({\"node_modules/polybooljs/lib/linked-list.js\"(Z,G){var d={create:function(){var _={root:{root:!0,next:null},exists:function(A){return!(A===null||A===_.root)},isEmpty:function(){return _.root.next===null},getHead:function(){return _.root.next},insertBefore:function(A,E){for(var e=_.root,t=_.root.next;t!==null;){if(E(t)){A.prev=t.prev,A.next=t,t.prev.next=A,t.prev=A;return}e=t,t=t.next}e.next=A,A.prev=e,A.next=null},findTransition:function(A){for(var E=_.root,e=_.root.next;e!==null&&!A(e);)E=e,e=e.next;return{before:E===_.root?null:E,after:e,insert:function(t){return t.prev=E,t.next=e,E.next=t,e!==null&&(e.prev=t),t}}}};return _},node:function(_){return _.prev=null,_.next=null,_.remove=function(){_.prev.next=_.next,_.next&&(_.next.prev=_.prev),_.prev=null,_.next=null},_}};G.exports=d}}),Ez=Ge({\"node_modules/polybooljs/lib/intersecter.js\"(Z,G){var d=Mz();function _(A,E,e){function t(T,l){return{id:e?e.segmentId():-1,start:T,end:l,myFill:{above:null,below:null},otherFill:null}}function r(T,l,x){return{id:e?e.segmentId():-1,start:T,end:l,myFill:{above:x.myFill.above,below:x.myFill.below},otherFill:null}}var o=d.create();function a(T,l,x,w,S,M){var m=E.pointsCompare(l,S);return m!==0?m:E.pointsSame(x,M)?0:T!==w?T?1:-1:E.pointAboveOrOnLine(x,w?S:M,w?M:S)?1:-1}function n(T,l){o.insertBefore(T,function(x){var w=a(T.isStart,T.pt,l,x.isStart,x.pt,x.other.pt);return w<0})}function i(T,l){var x=d.node({isStart:!0,pt:T.start,seg:T,primary:l,other:null,status:null});return n(x,T.end),x}function s(T,l,x){var w=d.node({isStart:!1,pt:l.end,seg:l,primary:x,other:T,status:null});T.other=w,n(w,T.pt)}function h(T,l){var x=i(T,l);return s(x,T,l),x}function f(T,l){e&&e.segmentChop(T.seg,l),T.other.remove(),T.seg.end=l,T.other.pt=l,n(T.other,T.pt)}function v(T,l){var x=r(l,T.seg.end,T.seg);return f(T,l),h(x,T.primary)}function c(T,l){var x=d.create();function w(O,P){var U=O.seg.start,N=O.seg.end,X=P.seg.start,$=P.seg.end;return E.pointsCollinear(U,X,$)?E.pointsCollinear(N,X,$)||E.pointAboveOrOnLine(N,X,$)?1:-1:E.pointAboveOrOnLine(U,X,$)?1:-1}function S(O){return x.findTransition(function(P){var U=w(O,P.ev);return U>0})}function M(O,P){var U=O.seg,N=P.seg,X=U.start,$=U.end,ue=N.start,ce=N.end;e&&e.checkIntersection(U,N);var de=E.linesIntersect(X,$,ue,ce);if(de===!1){if(!E.pointsCollinear(X,$,ue)||E.pointsSame(X,ce)||E.pointsSame($,ue))return!1;var V=E.pointsSame(X,ue),Y=E.pointsSame($,ce);if(V&&Y)return P;var ee=!V&&E.pointBetween(X,ue,ce),q=!Y&&E.pointBetween($,ue,ce);if(V)return q?v(P,$):v(O,ce),P;ee&&(Y||(q?v(P,$):v(O,ce)),v(P,X))}else de.alongA===0&&(de.alongB===-1?v(O,ue):de.alongB===0?v(O,de.pt):de.alongB===1&&v(O,ce)),de.alongB===0&&(de.alongA===-1?v(P,X):de.alongA===0?v(P,de.pt):de.alongA===1&&v(P,$));return!1}for(var m=[];!o.isEmpty();){var b=o.getHead();if(e&&e.vert(b.pt[0]),b.isStart){let O=function(){if(g){var P=M(b,g);if(P)return P}return y?M(b,y):!1};var p=O;e&&e.segmentNew(b.seg,b.primary);var u=S(b),g=u.before?u.before.ev:null,y=u.after?u.after.ev:null;e&&e.tempStatus(b.seg,g?g.seg:!1,y?y.seg:!1);var D=O();if(D){if(A){var L;b.seg.myFill.below===null?L=!0:L=b.seg.myFill.above!==b.seg.myFill.below,L&&(D.seg.myFill.above=!D.seg.myFill.above)}else D.seg.otherFill=b.seg.myFill;e&&e.segmentUpdate(D.seg),b.other.remove(),b.remove()}if(o.getHead()!==b){e&&e.rewind(b.seg);continue}if(A){var L;b.seg.myFill.below===null?L=!0:L=b.seg.myFill.above!==b.seg.myFill.below,y?b.seg.myFill.below=y.seg.myFill.above:b.seg.myFill.below=T,L?b.seg.myFill.above=!b.seg.myFill.below:b.seg.myFill.above=b.seg.myFill.below}else if(b.seg.otherFill===null){var z;y?b.primary===y.primary?z=y.seg.otherFill.above:z=y.seg.myFill.above:z=b.primary?l:T,b.seg.otherFill={above:z,below:z}}e&&e.status(b.seg,g?g.seg:!1,y?y.seg:!1),b.other.status=u.insert(d.node({ev:b}))}else{var F=b.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(x.exists(F.prev)&&x.exists(F.next)&&M(F.prev.ev,F.next.ev),e&&e.statusRemove(F.ev.seg),F.remove(),!b.primary){var B=b.seg.myFill;b.seg.myFill=b.seg.otherFill,b.seg.otherFill=B}m.push(b.seg)}o.getHead().remove()}return e&&e.done(),m}return A?{addRegion:function(T){for(var l,x=T[T.length-1],w=0;wr!=v>r&&t<(f-s)*(r-h)/(v-h)+s;c&&(o=!o)}return o}}}),I_=Ge({\"src/lib/polygon.js\"(Z,G){\"use strict\";var d=d2().dot,_=Gs().BADNUM,A=G.exports={};A.tester=function(e){var t=e.slice(),r=t[0][0],o=r,a=t[0][1],n=a,i;for((t[t.length-1][0]!==t[0][0]||t[t.length-1][1]!==t[0][1])&&t.push(t[0]),i=1;io||S===_||Sn||x&&h(l))}function v(l,x){var w=l[0],S=l[1];if(w===_||wo||S===_||Sn)return!1;var M=t.length,m=t[0][0],b=t[0][1],p=0,u,g,y,D,L;for(u=1;uMath.max(g,m)||S>Math.max(y,b)))if(Si||Math.abs(d(v,h))>o)return!0;return!1},A.filter=function(e,t){var r=[e[0]],o=0,a=0;function n(s){e.push(s);var h=r.length,f=o;r.splice(a+1);for(var v=f+1;v1){var i=e.pop();n(i)}return{addPt:n,raw:e,filtered:r}}}}),Rz=Ge({\"src/components/selections/constants.js\"(Z,G){\"use strict\";G.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}}}),Dz=Ge({\"src/components/selections/select.js\"(Z,G){\"use strict\";var d=Pz(),_=Iz(),A=so(),E=as().dashStyle,e=$n(),t=Hc(),r=$p().makeEventData,o=Jd(),a=o.freeMode,n=o.rectMode,i=o.drawMode,s=o.openMode,h=o.selectMode,f=a0(),v=L_(),c=M2(),T=$m().clearOutline,l=r0(),x=l.handleEllipse,w=l.readPaths,S=S2().newShapes,M=b5(),m=k5().activateLastSelection,b=sa(),p=b.sorterAsc,u=I_(),g=y2(),y=tf().getFromId,D=C_(),L=P_().redrawReglTraces,z=Rz(),F=z.MINSELECT,B=u.filter,O=u.tester,P=A2(),U=P.p2r,N=P.axValue,X=P.getTransform;function $(Oe){return Oe.subplot!==void 0}function ue(Oe,Ke,Ae,Le,We){var Je=!$(Le),st=a(We),ot=n(We),Ut=s(We),Ct=i(We),Pt=h(We),Nt=We===\"drawline\",cr=We===\"drawcircle\",lr=Nt||cr,sr=Le.gd,Pr=sr._fullLayout,_a=Pt&&Pr.newselection.mode===\"immediate\"&&Je,Fa=Pr._zoomlayer,Ra=Le.element.getBoundingClientRect(),qa=Le.plotinfo,Wa=X(qa),Ca=Ke-Ra.left,hi=Ae-Ra.top;Pr._calcInverseTransform(sr);var wi=b.apply3DTransform(Pr._invTransform)(Ca,hi);Ca=wi[0],hi=wi[1];var Yt=Pr._invScaleX,Rt=Pr._invScaleY,Zt=Ca,Jt=hi,Or=\"M\"+Ca+\",\"+hi,ta=Le.xaxes[0],ra=Le.yaxes[0],ca=ta._length,Ba=ra._length,$a=Oe.altKey&&!(i(We)&&Ut),Za,ri,pi,Ia,rn,tn,cn;q(Oe,sr,Le),st&&(Za=B([[Ca,hi]],z.BENDPX));var _t=Fa.selectAll(\"path.select-outline-\"+qa.id).data([1]),ut=Ct?Pr.newshape:Pr.newselection;Ct&&(Le.hasText=ut.label.text||ut.label.texttemplate);var Br=Ct&&!Ut?ut.fillcolor:\"rgba(0,0,0,0)\",Cr=ut.line.color||(Je?e.contrast(sr._fullLayout.plot_bgcolor):\"#7f7f7f\");_t.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+qa.id).style({opacity:Ct?ut.opacity/2:1,\"stroke-dasharray\":E(ut.line.dash,ut.line.width),\"stroke-width\":ut.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(e.stroke,Cr).call(e.fill,Br).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!Ct).attr(\"transform\",Wa).attr(\"d\",Or+\"Z\");var wr=Fa.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:e.background,stroke:e.defaultLine,\"stroke-width\":1}).attr(\"transform\",Wa).attr(\"d\",\"M0,0Z\");if(Ct&&Le.hasText){var Rr=Fa.select(\".label-temp\");Rr.empty()&&(Rr=Fa.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ur=Pr._uid+z.SELECTID,Hr=[],gt=re(sr,Le.xaxes,Le.yaxes,Le.subplot);_a&&!Oe.shiftKey&&(Le._clearSubplotSelections=function(){if(Je){var vr=ta._id,Ir=ra._id;rt(sr,vr,Ir,gt);for(var va=(sr.layout||{}).selections||[],Pa=[],ga=!1,la=0;la=0){sr._fullLayout._deactivateShape(sr);return}if(!Ct){var va=Pr.clickmode;g.done(Ur).then(function(){if(g.clear(Ur),vr===2){for(_t.remove(),rn=0;rn-1&&ce(Ir,sr,Le.xaxes,Le.yaxes,Le.subplot,Le,_t),va===\"event\"&&Dr(sr,void 0);t.click(sr,Ir,qa.id)}).catch(b.error)}},Le.doneFn=function(){wr.remove(),g.done(Ur).then(function(){g.clear(Ur),!_a&&Ia&&Le.selectionDefs&&(Ia.subtract=$a,Le.selectionDefs.push(Ia),Le.mergedPolygons.length=0,[].push.apply(Le.mergedPolygons,pi)),(_a||Ct)&&j(Le,_a),Le.doneFnCompleted&&Le.doneFnCompleted(Hr),Pt&&Dr(sr,cn)}).catch(b.error)}}function ce(Oe,Ke,Ae,Le,We,Je,st){var ot=Ke._hoverdata,Ut=Ke._fullLayout,Ct=Ut.clickmode,Pt=Ct.indexOf(\"event\")>-1,Nt=[],cr,lr,sr,Pr,_a,Fa,Ra,qa,Wa,Ca;if(we(ot)){q(Oe,Ke,Je),cr=re(Ke,Ae,Le,We);var hi=Se(ot,cr),wi=hi.pointNumbers.length>0;if(wi?Re(cr,hi):He(cr)&&(Ra=Ie(hi))){for(st&&st.remove(),Ca=0;Ca=0}function ae(Oe){return Oe._fullLayout._activeSelectionIndex>=0}function j(Oe,Ke){var Ae=Oe.dragmode,Le=Oe.plotinfo,We=Oe.gd;se(We)&&We._fullLayout._deactivateShape(We),ae(We)&&We._fullLayout._deactivateSelection(We);var Je=We._fullLayout,st=Je._zoomlayer,ot=i(Ae),Ut=h(Ae);if(ot||Ut){var Ct=st.selectAll(\".select-outline-\"+Le.id);if(Ct&&We._fullLayout._outlining){var Pt;ot&&(Pt=S(Ct,Oe)),Pt&&A.call(\"_guiRelayout\",We,{shapes:Pt});var Nt;Ut&&!$(Oe)&&(Nt=M(Ct,Oe)),Nt&&(We._fullLayout._noEmitSelectedAtStart=!0,A.call(\"_guiRelayout\",We,{selections:Nt}).then(function(){Ke&&m(We)})),We._fullLayout._outlining=!1}}Le.selection={},Le.selection.selectionDefs=Oe.selectionDefs=[],Le.selection.mergedPolygons=Oe.mergedPolygons=[]}function Q(Oe){return Oe._id}function re(Oe,Ke,Ae,Le){if(!Oe.calcdata)return[];var We=[],Je=Ke.map(Q),st=Ae.map(Q),ot,Ut,Ct;for(Ct=0;Ct0,Je=We?Le[0]:Ae;return Ke.selectedpoints?Ke.selectedpoints.indexOf(Je)>-1:!1}function Re(Oe,Ke){var Ae=[],Le,We,Je,st;for(st=0;st0&&Ae.push(Le);if(Ae.length===1&&(Je=Ae[0]===Ke.searchInfo,Je&&(We=Ke.searchInfo.cd[0].trace,We.selectedpoints.length===Ke.pointNumbers.length))){for(st=0;st1||(Ke+=Le.selectedpoints.length,Ke>1)))return!1;return Ke===1}function at(Oe,Ke,Ae){var Le;for(Le=0;Le-1&&Ke;if(!st&&Ke){var vr=St(Oe,!0);if(vr.length){var Ir=vr[0].xref,va=vr[0].yref;if(Ir&&va){var Pa=Gt(vr),ga=mr([y(Oe,Ir,\"x\"),y(Oe,va,\"y\")]);ga(Hr,Pa)}}Oe._fullLayout._noEmitSelectedAtStart?Oe._fullLayout._noEmitSelectedAtStart=!1:Kt&&Dr(Oe,Hr),cr._reselect=!1}if(!st&&cr._deselect){var la=cr._deselect;ot=la.xref,Ut=la.yref,Ze(ot,Ut,Pt)||rt(Oe,ot,Ut,Le),Kt&&(Hr.points.length?Dr(Oe,Hr):xt(Oe)),cr._deselect=!1}return{eventData:Hr,selectionTesters:Ae}}function Ce(Oe){var Ke=Oe.calcdata;if(Ke)for(var Ae=0;Ae=0){Br._fullLayout._deactivateShape(Br);return}var Cr=Br._fullLayout.clickmode;if(Y(Br),_t===2&&!he&&ri(),Ue)Cr.indexOf(\"select\")>-1&&p(ut,Br,rt,Ye,we.id,Pt),Cr.indexOf(\"event\")>-1&&i.click(Br,ut,we.id);else if(_t===1&&he){var wr=at?ne:le,Rr=at===\"s\"||nt===\"w\"?0:1,Ur=wr._name+\".range[\"+Rr+\"]\",Hr=P(wr,Rr),gt=\"left\",Kt=\"middle\";if(wr.fixedrange)return;at?(Kt=at===\"n\"?\"top\":\"bottom\",wr.side===\"right\"&&(gt=\"right\")):nt===\"e\"&&(gt=\"right\"),Br._context.showAxisRangeEntryBoxes&&d.select(Ct).call(o.makeEditable,{gd:Br,immediate:!0,background:Br._fullLayout.paper_bgcolor,text:String(Hr),fill:wr.tickfont?wr.tickfont.color:\"#444\",horizontalAlign:gt,verticalAlign:Kt}).on(\"edit\",function(vr){var Ir=wr.d2r(vr);Ir!==void 0&&t.call(\"_guiRelayout\",Br,Ur,Ir)})}}f.init(Pt);var lr,sr,Pr,_a,Fa,Ra,qa,Wa,Ca,hi;function wi(_t,ut,Br){var Cr=Ct.getBoundingClientRect();lr=ut-Cr.left,sr=Br-Cr.top,pe._fullLayout._calcInverseTransform(pe);var wr=_.apply3DTransform(pe._fullLayout._invTransform)(lr,sr);lr=wr[0],sr=wr[1],Pr={l:lr,r:lr,w:0,t:sr,b:sr,h:0},_a=pe._hmpixcount?pe._hmlumcount/pe._hmpixcount:E(pe._fullLayout.plot_bgcolor).getLuminance(),Fa=\"M0,0H\"+qt+\"V\"+Gt+\"H0V0\",Ra=!1,qa=\"xy\",hi=!1,Wa=ue(tt,_a,St,kt,Fa),Ca=ce(tt,St,kt)}function Yt(_t,ut){if(pe._transitioningWithDuration)return!1;var Br=Math.max(0,Math.min(qt,Je*_t+lr)),Cr=Math.max(0,Math.min(Gt,st*ut+sr)),wr=Math.abs(Br-lr),Rr=Math.abs(Cr-sr);Pr.l=Math.min(lr,Br),Pr.r=Math.max(lr,Br),Pr.t=Math.min(sr,Cr),Pr.b=Math.max(sr,Cr);function Ur(){qa=\"\",Pr.r=Pr.l,Pr.t=Pr.b,Ca.attr(\"d\",\"M0,0Z\")}if(Tr.isSubplotConstrained)wr>D||Rr>D?(qa=\"xy\",wr/qt>Rr/Gt?(Rr=wr*Gt/qt,sr>Cr?Pr.t=sr-Rr:Pr.b=sr+Rr):(wr=Rr*qt/Gt,lr>Br?Pr.l=lr-wr:Pr.r=lr+wr),Ca.attr(\"d\",ae(Pr))):Ur();else if(mr.isSubplotConstrained)if(wr>D||Rr>D){qa=\"xy\";var Hr=Math.min(Pr.l/qt,(Gt-Pr.b)/Gt),gt=Math.max(Pr.r/qt,(Gt-Pr.t)/Gt);Pr.l=Hr*qt,Pr.r=gt*qt,Pr.b=(1-Hr)*Gt,Pr.t=(1-gt)*Gt,Ca.attr(\"d\",ae(Pr))}else Ur();else!Er||Rr0){var vr;if(mr.isSubplotConstrained||!qr&&Er.length===1){for(vr=0;vr1&&(Ur.maxallowed!==void 0&&xt===(Ur.range[0]1&&(Hr.maxallowed!==void 0&&Oe===(Hr.range[0]=0?Math.min(pe,.9):1/(1/Math.max(pe,-.3)+3.222))}function $(pe,we,Se){return pe?pe===\"nsew\"?Se?\"\":we===\"pan\"?\"move\":\"crosshair\":pe.toLowerCase()+\"-resize\":\"pointer\"}function ue(pe,we,Se,Ie,Re){return pe.append(\"path\").attr(\"class\",\"zoombox\").style({fill:we>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",r(Se,Ie)).attr(\"d\",Re+\"Z\")}function ce(pe,we,Se){return pe.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:a.background,stroke:a.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",r(we,Se)).attr(\"d\",\"M0,0Z\")}function de(pe,we,Se,Ie,Re,He){pe.attr(\"d\",Ie+\"M\"+Se.l+\",\"+Se.t+\"v\"+Se.h+\"h\"+Se.w+\"v-\"+Se.h+\"h-\"+Se.w+\"Z\"),V(pe,we,Re,He)}function V(pe,we,Se,Ie){Se||(pe.transition().style(\"fill\",Ie>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),we.transition().style(\"opacity\",1).duration(200))}function Y(pe){d.select(pe).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function ee(pe){L&&pe.data&&pe._context.showTips&&(_.notifier(_._(pe,\"Double-click to zoom back out\"),\"long\",pe),L=!1)}function q(pe,we){return\"M\"+(pe.l-.5)+\",\"+(we-D-.5)+\"h-3v\"+(2*D+1)+\"h3ZM\"+(pe.r+.5)+\",\"+(we-D-.5)+\"h3v\"+(2*D+1)+\"h-3Z\"}function se(pe,we){return\"M\"+(we-D-.5)+\",\"+(pe.t-.5)+\"v-3h\"+(2*D+1)+\"v3ZM\"+(we-D-.5)+\",\"+(pe.b+.5)+\"v3h\"+(2*D+1)+\"v-3Z\"}function ae(pe){var we=Math.floor(Math.min(pe.b-pe.t,pe.r-pe.l,D)/2);return\"M\"+(pe.l-3.5)+\",\"+(pe.t-.5+we)+\"h3v\"+-we+\"h\"+we+\"v-3h-\"+(we+3)+\"ZM\"+(pe.r+3.5)+\",\"+(pe.t-.5+we)+\"h-3v\"+-we+\"h\"+-we+\"v-3h\"+(we+3)+\"ZM\"+(pe.r+3.5)+\",\"+(pe.b+.5-we)+\"h-3v\"+we+\"h\"+-we+\"v3h\"+(we+3)+\"ZM\"+(pe.l-3.5)+\",\"+(pe.b+.5-we)+\"h3v\"+we+\"h\"+we+\"v3h-\"+(we+3)+\"Z\"}function j(pe,we,Se,Ie,Re){for(var He=!1,at={},nt={},tt,Ue,he,le,ne=(Re||{}).xaHash,Ce=(Re||{}).yaHash,Ze=0;Ze1&&_.warn(\"Full array edits are incompatible with other edits\",h);var w=n[\"\"][\"\"];if(t(w))a.set(null);else if(Array.isArray(w))a.set(w);else return _.warn(\"Unrecognized full array edit value\",h,w),!0;return T?!1:(f(l,x),v(o),!0)}var S=Object.keys(n).map(Number).sort(A),M=a.get(),m=M||[],b=s(x,h).get(),p=[],u=-1,g=m.length,y,D,L,z,F,B,O,P;for(y=0;ym.length-(O?0:1)){_.warn(\"index out of range\",h,L);continue}if(B!==void 0)F.length>1&&_.warn(\"Insertion & removal are incompatible with edits to the same index.\",h,L),t(B)?p.push(L):O?(B===\"add\"&&(B={}),m.splice(L,0,B),b&&b.splice(L,0,{})):_.warn(\"Unrecognized full object edit value\",h,L,B),u===-1&&(u=L);else for(D=0;D=0;y--)m.splice(p[y],1),b&&b.splice(p[y],1);if(m.length?M||a.set(m):a.set(null),T)return!1;if(f(l,x),c!==d){var U;if(u===-1)U=S;else{for(g=Math.max(m.length,g),U=[],y=0;y=u));y++)U.push(L);for(y=u;y0&&_.log(\"Clearing previous rejected promises from queue.\"),l._promises=[]},Z.cleanLayout=function(l){var x,w;l||(l={}),l.xaxis1&&(l.xaxis||(l.xaxis=l.xaxis1),delete l.xaxis1),l.yaxis1&&(l.yaxis||(l.yaxis=l.yaxis1),delete l.yaxis1),l.scene1&&(l.scene||(l.scene=l.scene1),delete l.scene1);var S=(A.subplotsRegistry.cartesian||{}).attrRegex,M=(A.subplotsRegistry.polar||{}).attrRegex,m=(A.subplotsRegistry.ternary||{}).attrRegex,b=(A.subplotsRegistry.gl3d||{}).attrRegex,p=Object.keys(l);for(x=0;x3?(O.x=1.02,O.xanchor=\"left\"):O.x<-2&&(O.x=-.02,O.xanchor=\"right\"),O.y>3?(O.y=1.02,O.yanchor=\"bottom\"):O.y<-2&&(O.y=-.02,O.yanchor=\"top\")),l.dragmode===\"rotate\"&&(l.dragmode=\"orbit\"),e.clean(l),l.template&&l.template.layout&&Z.cleanLayout(l.template.layout),l};function n(l,x,w=!1){var S=l[x],M=x.charAt(0);w&&Array.isArray(S)||S&&S!==\"paper\"&&(l[x]=t(S,M,!0))}Z.cleanData=function(l){for(var x=0;x0)return l.slice(0,x)}Z.hasParent=function(l,x){for(var w=c(x);w;){if(w in l)return!0;w=c(w)}return!1},Z.clearAxisTypes=function(l,x,w){for(var S=0;S{let w=(...S)=>S.every(M=>_.isPlainObject(M))||S.every(M=>Array.isArray(M));if([l,x].every(S=>Array.isArray(S))){if(l.length!==x.length)return!1;for(let S=0;S_.isPlainObject(S))){if(Object.keys(l).length!==Object.keys(x).length)return!1;for(let S in l){if(S.startsWith(\"_\"))continue;let M=l[S],m=x[S];if(M!==m&&!(w(M,m)?T(M,m):!1))return!1}return!0}return!1};Z.collectionsAreEqual=T}}),k2=Ge({\"src/plot_api/plot_api.js\"(Z){\"use strict\";var G=Vn(),d=ns(),_=i5(),A=sa(),E=A.nestedProperty,e=Qy(),t=iz(),r=so(),o=e1(),a=bc(),n=Wo(),i=h5(),s=Wh(),h=as(),f=$n(),v=I5().initInteractions,c=vd(),T=Af().clearOutline,l=X0().dfltConfig,x=Bz(),w=Nz(),S=P_(),M=pc(),m=lh().AX_NAME_PATTERN,b=0,p=5;function u(Ae,Le,We,Je){var st;if(Ae=A.getGraphDiv(Ae),e.init(Ae),A.isPlainObject(Le)){var ot=Le;Le=ot.data,We=ot.layout,Je=ot.config,st=ot.frames}var Ut=e.triggerHandler(Ae,\"plotly_beforeplot\",[Le,We,Je]);if(Ut===!1)return Promise.reject();!Le&&!We&&!A.isPlotDiv(Ae)&&A.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",Ae);function Ct(){if(st)return Z.addFrames(Ae,st)}z(Ae,Je),We||(We={}),G.select(Ae).classed(\"js-plotly-plot\",!0),h.makeTester(),Array.isArray(Ae._promises)||(Ae._promises=[]);var Pt=(Ae.data||[]).length===0&&Array.isArray(Le);Array.isArray(Le)&&(w.cleanData(Le),Pt?Ae.data=Le:Ae.data.push.apply(Ae.data,Le),Ae.empty=!1),(!Ae.layout||Pt)&&(Ae.layout=w.cleanLayout(We)),a.supplyDefaults(Ae);var Nt=Ae._fullLayout,cr=Nt._has(\"cartesian\");Nt._replotting=!0,(Pt||Nt._shouldCreateBgLayer)&&(Ke(Ae),Nt._shouldCreateBgLayer&&delete Nt._shouldCreateBgLayer),h.initGradients(Ae),h.initPatterns(Ae),Pt&&n.saveShowSpikeInitial(Ae);var lr=!Ae.calcdata||Ae.calcdata.length!==(Ae._fullData||[]).length;lr&&a.doCalcdata(Ae);for(var sr=0;sr=Ae.data.length||st<-Ae.data.length)throw new Error(We+\" must be valid indices for gd.data.\");if(Le.indexOf(st,Je+1)>-1||st>=0&&Le.indexOf(-Ae.data.length+st)>-1||st<0&&Le.indexOf(Ae.data.length+st)>-1)throw new Error(\"each index in \"+We+\" must be unique.\")}}function U(Ae,Le,We){if(!Array.isArray(Ae.data))throw new Error(\"gd.data must be an array.\");if(typeof Le>\"u\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(Le)||(Le=[Le]),P(Ae,Le,\"currentIndices\"),typeof We<\"u\"&&!Array.isArray(We)&&(We=[We]),typeof We<\"u\"&&P(Ae,We,\"newIndices\"),typeof We<\"u\"&&Le.length!==We.length)throw new Error(\"current and new indices must be of equal length.\")}function N(Ae,Le,We){var Je,st;if(!Array.isArray(Ae.data))throw new Error(\"gd.data must be an array.\");if(typeof Le>\"u\")throw new Error(\"traces must be defined.\");for(Array.isArray(Le)||(Le=[Le]),Je=0;Je\"u\")throw new Error(\"indices must be an integer or array of integers\");P(Ae,We,\"indices\");for(var ot in Le){if(!Array.isArray(Le[ot])||Le[ot].length!==We.length)throw new Error(\"attribute \"+ot+\" must be an array of length equal to indices array length\");if(st&&(!(ot in Je)||!Array.isArray(Je[ot])||Je[ot].length!==Le[ot].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 correspondence with the keys and number of traces in the update object\")}}function $(Ae,Le,We,Je){var st=A.isPlainObject(Je),ot=[],Ut,Ct,Pt,Nt,cr;Array.isArray(We)||(We=[We]),We=O(We,Ae.data.length-1);for(var lr in Le)for(var sr=0;sr=0&&cr=0&&cr\"u\")return Nt=Z.redraw(Ae),t.add(Ae,st,Ut,ot,Ct),Nt;Array.isArray(We)||(We=[We]);try{U(Ae,Je,We)}catch(cr){throw Ae.data.splice(Ae.data.length-Le.length,Le.length),cr}return t.startSequence(Ae),t.add(Ae,st,Ut,ot,Ct),Nt=Z.moveTraces(Ae,Je,We),t.stopSequence(Ae),Nt}function ee(Ae,Le){Ae=A.getGraphDiv(Ae);var We=[],Je=Z.addTraces,st=ee,ot=[Ae,We,Le],Ut=[Ae,Le],Ct,Pt;if(typeof Le>\"u\")throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(Le)||(Le=[Le]),P(Ae,Le,\"indices\"),Le=O(Le,Ae.data.length-1),Le.sort(A.sorterDes),Ct=0;Ct\"u\")for(We=[],Nt=0;Nt0&&typeof Zt.parts[ta]!=\"string\";)ta--;var ra=Zt.parts[ta],ca=Zt.parts[ta-1]+\".\"+ra,Ba=Zt.parts.slice(0,ta).join(\".\"),$a=E(Ae.layout,Ba).get(),Za=E(Je,Ba).get(),ri=Zt.get();if(Jt!==void 0){qa[Rt]=Jt,Wa[Rt]=ra===\"reverse\"?Jt:ae(ri);var pi=o.getLayoutValObject(Je,Zt.parts);if(pi&&pi.impliedEdits&&Jt!==null)for(var Ia in pi.impliedEdits)Ca(A.relativeAttr(Rt,Ia),pi.impliedEdits[Ia]);if([\"width\",\"height\"].indexOf(Rt)!==-1)if(Jt){Ca(\"autosize\",null);var rn=Rt===\"height\"?\"width\":\"height\";Ca(rn,Je[rn])}else Je[Rt]=Ae._initialAutoSize[Rt];else if(Rt===\"autosize\")Ca(\"width\",Jt?null:Je.width),Ca(\"height\",Jt?null:Je.height);else if(ca.match(Re))Yt(ca),E(Je,Ba+\"._inputRange\").set(null);else if(ca.match(He)){Yt(ca),E(Je,Ba+\"._inputRange\").set(null);var tn=E(Je,Ba).get();tn._inputDomain&&(tn._input.domain=tn._inputDomain.slice())}else ca.match(at)&&E(Je,Ba+\"._inputDomain\").set(null);if(ra===\"type\"){wi=$a;var cn=Za.type===\"linear\"&&Jt===\"log\",_t=Za.type===\"log\"&&Jt===\"linear\";if(cn||_t){if(!wi||!wi.range)Ca(Ba+\".autorange\",!0);else if(Za.autorange)cn&&(wi.range=wi.range[1]>wi.range[0]?[1,2]:[2,1]);else{var ut=wi.range[0],Br=wi.range[1];cn?(ut<=0&&Br<=0&&Ca(Ba+\".autorange\",!0),ut<=0?ut=Br/1e6:Br<=0&&(Br=ut/1e6),Ca(Ba+\".range[0]\",Math.log(ut)/Math.LN10),Ca(Ba+\".range[1]\",Math.log(Br)/Math.LN10)):(Ca(Ba+\".range[0]\",Math.pow(10,ut)),Ca(Ba+\".range[1]\",Math.pow(10,Br)))}Array.isArray(Je._subplots.polar)&&Je._subplots.polar.length&&Je[Zt.parts[0]]&&Zt.parts[1]===\"radialaxis\"&&delete Je[Zt.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],r.getComponentMethod(\"annotations\",\"convertCoords\")(Ae,Za,Jt,Ca),r.getComponentMethod(\"images\",\"convertCoords\")(Ae,Za,Jt,Ca)}else Ca(Ba+\".autorange\",!0),Ca(Ba+\".range\",null);E(Je,Ba+\"._inputRange\").set(null)}else if(ra.match(m)){var Cr=E(Je,Rt).get(),wr=(Jt||{}).type;(!wr||wr===\"-\")&&(wr=\"linear\"),r.getComponentMethod(\"annotations\",\"convertCoords\")(Ae,Cr,wr,Ca),r.getComponentMethod(\"images\",\"convertCoords\")(Ae,Cr,wr,Ca)}var Rr=x.containerArrayMatch(Rt);if(Rr){cr=Rr.array,lr=Rr.index;var Ur=Rr.property,Hr=pi||{editType:\"calc\"};lr!==\"\"&&Ur===\"\"&&(x.isAddVal(Jt)?Wa[Rt]=null:x.isRemoveVal(Jt)?Wa[Rt]=(E(We,cr).get()||[])[lr]:A.warn(\"unrecognized full object value\",Le)),M.update(Ra,Hr),Nt[cr]||(Nt[cr]={});var gt=Nt[cr][lr];gt||(gt=Nt[cr][lr]={}),gt[Ur]=Jt,delete Le[Rt]}else ra===\"reverse\"?($a.range?$a.range.reverse():(Ca(Ba+\".autorange\",!0),$a.range=[1,0]),Za.autorange?Ra.calc=!0:Ra.plot=!0):(Rt===\"dragmode\"&&(Jt===!1&&ri!==!1||Jt!==!1&&ri===!1)||Je._has(\"scatter-like\")&&Je._has(\"regl\")&&Rt===\"dragmode\"&&(Jt===\"lasso\"||Jt===\"select\")&&!(ri===\"lasso\"||ri===\"select\")?Ra.plot=!0:pi?M.update(Ra,pi):Ra.calc=!0,Zt.set(Jt))}}for(cr in Nt){var Kt=x.applyContainerArrayChanges(Ae,ot(We,cr),Nt[cr],Ra,ot);Kt||(Ra.plot=!0)}for(var vr in hi){wi=n.getFromId(Ae,vr);var Ir=wi&&wi._constraintGroup;if(Ir){Ra.calc=!0;for(var va in Ir)hi[va]||(n.getFromId(Ae,va)._constraintShrinkable=!0)}}(tt(Ae)||Le.height||Le.width)&&(Ra.plot=!0);var Pa=Je.shapes;for(lr=0;lr1;)if(Je.pop(),We=E(Le,Je.join(\".\")+\".uirevision\").get(),We!==void 0)return We;return Le.uirevision}function rt(Ae,Le){for(var We=0;We[Ba,Ae._ev.listeners(Ba)]);ot=Z.newPlot(Ae,Le,We,Je).then(()=>{for(let[Ba,$a]of ca)$a.forEach(Za=>Ae.on(Ba,Za));return Z.react(Ae,Le,We,Je)})}else{Ae.data=Le||[],w.cleanData(Ae.data),Ae.layout=We||{},w.cleanLayout(Ae.layout),kt(Ae.data,Ae.layout,Ct,Pt),a.supplyDefaults(Ae,{skipUpdateCalc:!0});var lr=Ae._fullData,sr=Ae._fullLayout,Pr=sr.datarevision===void 0,_a=sr.transition,Fa=Tr(Ae,Pt,sr,Pr,_a),Ra=Fa.newDataRevision,qa=Gt(Ae,Ct,lr,Pr,_a,Ra);if(tt(Ae)&&(Fa.layoutReplot=!0),qa.calc||Fa.calc){Ae.calcdata=void 0;for(var Wa=Object.getOwnPropertyNames(sr),Ca=0;Ca(cr||Ae.emit(\"plotly_react\",{config:Je,data:Le,layout:We}),Ae))}function Gt(Ae,Le,We,Je,st,ot){var Ut=Le.length===We.length;if(!st&&!Ut)return{fullReplot:!0,calc:!0};var Ct=M.traceFlags();Ct.arrays={},Ct.nChanges=0,Ct.nChangesAnim=0;var Pt,Nt;function cr(Pr){var _a=o.getTraceValObject(Nt,Pr);return!Nt._module.animatable&&_a.anim&&(_a.anim=!1),_a}var lr={getValObject:cr,flags:Ct,immutable:Je,transition:st,newDataRevision:ot,gd:Ae},sr={};for(Pt=0;Pt=st.length?st[0]:st[Nt]:st}function Ct(Nt){return Array.isArray(ot)?Nt>=ot.length?ot[0]:ot[Nt]:ot}function Pt(Nt,cr){var lr=0;return function(){if(Nt&&++lr===cr)return Nt()}}return new Promise(function(Nt,cr){function lr(){if(Je._frameQueue.length!==0){for(;Je._frameQueue.length;){var ra=Je._frameQueue.pop();ra.onInterrupt&&ra.onInterrupt()}Ae.emit(\"plotly_animationinterrupted\",[])}}function sr(ra){if(ra.length!==0){for(var ca=0;caJe._timeToNext&&_a()};ra()}var Ra=0;function qa(ra){return Array.isArray(st)?Ra>=st.length?ra.transitionOpts=st[Ra]:ra.transitionOpts=st[0]:ra.transitionOpts=st,Ra++,ra}var Wa,Ca,hi=[],wi=Le==null,Yt=Array.isArray(Le),Rt=!wi&&!Yt&&A.isPlainObject(Le);if(Rt)hi.push({type:\"object\",data:qa(A.extendFlat({},Le))});else if(wi||[\"string\",\"number\"].indexOf(typeof Le)!==-1)for(Wa=0;Wa0&&OrOr)&&ta.push(Ca);hi=ta}}hi.length>0?sr(hi):(Ae.emit(\"plotly_animated\"),Nt())})}function Er(Ae,Le,We){if(Ae=A.getGraphDiv(Ae),Le==null)return Promise.resolve();if(!A.isPlotDiv(Ae))throw new Error(\"This element is not a Plotly plot: \"+Ae+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var Je,st,ot,Ut,Ct=Ae._transitionData._frames,Pt=Ae._transitionData._frameHash;if(!Array.isArray(Le))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+Le);var Nt=Ct.length+Le.length*2,cr=[],lr={};for(Je=Le.length-1;Je>=0;Je--)if(A.isPlainObject(Le[Je])){var sr=Le[Je].name,Pr=(Pt[sr]||lr[sr]||{}).name,_a=Le[Je].name,Fa=Pt[Pr]||lr[Pr];Pr&&_a&&typeof _a==\"number\"&&Fa&&bZt.index?-1:Rt.index=0;Je--){if(st=cr[Je].frame,typeof st.name==\"number\"&&A.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!st.name)for(;Pt[st.name=\"frame \"+Ae._transitionData._counter++];);if(Pt[st.name]){for(ot=0;ot=0;We--)Je=Le[We],ot.push({type:\"delete\",index:Je}),Ut.unshift({type:\"insert\",index:Je,value:st[Je]});var Ct=a.modifyFrames,Pt=a.modifyFrames,Nt=[Ae,Ut],cr=[Ae,ot];return t&&t.add(Ae,Ct,Nt,Pt,cr),a.modifyFrames(Ae,ot)}function xt(Ae){Ae=A.getGraphDiv(Ae);var Le=Ae._fullLayout||{},We=Ae._fullData||[];return a.cleanPlot([],{},We,Le),a.purge(Ae),e.purge(Ae),Le._container&&Le._container.remove(),delete Ae._context,Ae}function Oe(Ae){var Le=Ae._fullLayout,We=Ae.getBoundingClientRect();if(!A.equalDomRects(We,Le._lastBBox)){var Je=Le._invTransform=A.inverseTransformMatrix(A.getFullTransformMatrix(Ae));Le._invScaleX=Math.sqrt(Je[0][0]*Je[0][0]+Je[0][1]*Je[0][1]+Je[0][2]*Je[0][2]),Le._invScaleY=Math.sqrt(Je[1][0]*Je[1][0]+Je[1][1]*Je[1][1]+Je[1][2]*Je[1][2]),Le._lastBBox=We}}function Ke(Ae){var Le=G.select(Ae),We=Ae._fullLayout;if(We._calcInverseTransform=Oe,We._calcInverseTransform(Ae),We._container=Le.selectAll(\".plot-container\").data([0]),We._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),We._paperdiv=We._container.selectAll(\".svg-container\").data([0]),We._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),We._glcontainer=We._paperdiv.selectAll(\".gl-container\").data([{}]),We._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),We._paperdiv.selectAll(\".main-svg\").remove(),We._paperdiv.select(\".modebar-container\").remove(),We._paper=We._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),We._toppaper=We._paperdiv.append(\"svg\").classed(\"main-svg\",!0),We._modebardiv=We._paperdiv.append(\"div\"),delete We._modeBar,We._hoverpaper=We._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!We._uid){var Je={};G.selectAll(\"defs\").each(function(){this.id&&(Je[this.id.split(\"-\")[1]]=1)}),We._uid=A.randstr(Je)}We._paperdiv.selectAll(\".main-svg\").attr(c.svgAttrs),We._defs=We._paper.append(\"defs\").attr(\"id\",\"defs-\"+We._uid),We._clips=We._defs.append(\"g\").classed(\"clips\",!0),We._topdefs=We._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+We._uid),We._topclips=We._topdefs.append(\"g\").classed(\"clips\",!0),We._bgLayer=We._paper.append(\"g\").classed(\"bglayer\",!0),We._draggers=We._paper.append(\"g\").classed(\"draglayer\",!0);var st=We._paper.append(\"g\").classed(\"layer-below\",!0);We._imageLowerLayer=st.append(\"g\").classed(\"imagelayer\",!0),We._shapeLowerLayer=st.append(\"g\").classed(\"shapelayer\",!0),We._cartesianlayer=We._paper.append(\"g\").classed(\"cartesianlayer\",!0),We._polarlayer=We._paper.append(\"g\").classed(\"polarlayer\",!0),We._smithlayer=We._paper.append(\"g\").classed(\"smithlayer\",!0),We._ternarylayer=We._paper.append(\"g\").classed(\"ternarylayer\",!0),We._geolayer=We._paper.append(\"g\").classed(\"geolayer\",!0),We._funnelarealayer=We._paper.append(\"g\").classed(\"funnelarealayer\",!0),We._pielayer=We._paper.append(\"g\").classed(\"pielayer\",!0),We._iciclelayer=We._paper.append(\"g\").classed(\"iciclelayer\",!0),We._treemaplayer=We._paper.append(\"g\").classed(\"treemaplayer\",!0),We._sunburstlayer=We._paper.append(\"g\").classed(\"sunburstlayer\",!0),We._indicatorlayer=We._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),We._glimages=We._paper.append(\"g\").classed(\"glimages\",!0);var ot=We._toppaper.append(\"g\").classed(\"layer-above\",!0);We._imageUpperLayer=ot.append(\"g\").classed(\"imagelayer\",!0),We._shapeUpperLayer=ot.append(\"g\").classed(\"shapelayer\",!0),We._selectionLayer=We._toppaper.append(\"g\").classed(\"selectionlayer\",!0),We._infolayer=We._toppaper.append(\"g\").classed(\"infolayer\",!0),We._menulayer=We._toppaper.append(\"g\").classed(\"menulayer\",!0),We._zoomlayer=We._toppaper.append(\"g\").classed(\"zoomlayer\",!0),We._hoverlayer=We._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),We._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),Ae.emit(\"plotly_framework\")}Z.animate=qr,Z.addFrames=Er,Z.deleteFrames=Dr,Z.addTraces=Y,Z.deleteTraces=ee,Z.extendTraces=de,Z.moveTraces=q,Z.prependTraces=V,Z.newPlot=B,Z._doPlot=u,Z.purge=xt,Z.react=qt,Z.redraw=F,Z.relayout=we,Z.restyle=se,Z.setPlotConfig=y,Z.update=Ue,Z._guiRelayout=he(we),Z._guiRestyle=he(se),Z._guiUpdate=he(Ue),Z._storeDirectGUIEdit=re}}),Yv=Ge({\"src/snapshot/helpers.js\"(Z){\"use strict\";var G=so();Z.getDelay=function(A){return A._has&&(A._has(\"gl3d\")||A._has(\"mapbox\")||A._has(\"map\"))?500:0},Z.getRedrawFunc=function(A){return function(){G.getComponentMethod(\"colorbar\",\"draw\")(A)}},Z.encodeSVG=function(A){return\"data:image/svg+xml,\"+encodeURIComponent(A)},Z.encodeJSON=function(A){return\"data:application/json,\"+encodeURIComponent(A)};var d=window.URL||window.webkitURL;Z.createObjectURL=function(A){return d.createObjectURL(A)},Z.revokeObjectURL=function(A){return d.revokeObjectURL(A)},Z.createBlob=function(A,E){if(E===\"svg\")return new window.Blob([A],{type:\"image/svg+xml;charset=utf-8\"});if(E===\"full-json\")return new window.Blob([A],{type:\"application/json;charset=utf-8\"});var e=_(window.atob(A));return new window.Blob([e],{type:\"image/\"+E})},Z.octetStream=function(A){document.location.href=\"data:application/octet-stream\"+A};function _(A){for(var E=A.length,e=new ArrayBuffer(E),t=new Uint8Array(e),r=0;r\")!==-1?\"\":s.html(f).text()});return s.remove(),h}function n(i){return i.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}G.exports=function(s,h,f){var v=s._fullLayout,c=v._paper,T=v._toppaper,l=v.width,x=v.height,w;c.insert(\"rect\",\":first-child\").call(A.setRect,0,0,l,x).call(E.fill,v.paper_bgcolor);var S=v._basePlotModules||[];for(w=0;w1&&M.push(s(\"object\",\"layout\"))),_.supplyDefaults(m);for(var u=m._fullData,g=b.length,y=0;yD.length&&S.push(s(\"unused\",M,g.concat(D.length)));var P=D.length,U=Array.isArray(O);U&&(P=Math.min(P,O.length));var N,X,$,ue,ce;if(L.dimensions===2)for(X=0;XD[X].length&&S.push(s(\"unused\",M,g.concat(X,D[X].length)));var de=D[X].length;for(N=0;N<(U?Math.min(de,O[X].length):de);N++)$=U?O[X][N]:O,ue=y[X][N],ce=D[X][N],d.validate(ue,$)?ce!==ue&&ce!==+ue&&S.push(s(\"dynamic\",M,g.concat(X,N),ue,ce)):S.push(s(\"value\",M,g.concat(X,N),ue))}else S.push(s(\"array\",M,g.concat(X),y[X]));else for(X=0;XF?S.push({code:\"unused\",traceType:y,templateCount:z,dataCount:F}):F>z&&S.push({code:\"reused\",traceType:y,templateCount:z,dataCount:F})}}function B(O,P){for(var U in O)if(U.charAt(0)!==\"_\"){var N=O[U],X=s(O,U,P);d(N)?(Array.isArray(O)&&N._template===!1&&N.templateitemname&&S.push({code:\"missing\",path:X,templateitemname:N.templateitemname}),B(N,X)):Array.isArray(N)&&h(N)&&B(N,X)}}if(B({data:m,layout:M},\"\"),S.length)return S.map(f)};function h(v){for(var c=0;c=0;f--){var v=e[f];if(v.type===\"scatter\"&&v.xaxis===s.xaxis&&v.yaxis===s.yaxis){v.opacity=void 0;break}}}}}}}),Wz=Ge({\"src/traces/scatter/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=_2();G.exports=function(A,E){function e(r,o){return d.coerce(A,E,_,r,o)}var t=E.barmode===\"group\";E.scattermode===\"group\"&&e(\"scattergap\",t?E.bargap:.2)}}}),tv=Ge({\"src/plots/cartesian/align_period.js\"(Z,G){\"use strict\";var d=ns(),_=sa(),A=_.dateTime2ms,E=_.incrementMonth,e=Gs(),t=e.ONEAVGMONTH;G.exports=function(o,a,n,i){if(a.type!==\"date\")return{vals:i};var s=o[n+\"periodalignment\"];if(!s)return{vals:i};var h=o[n+\"period\"],f;if(d(h)){if(h=+h,h<=0)return{vals:i}}else if(typeof h==\"string\"&&h.charAt(0)===\"M\"){var v=+h.substring(1);if(v>0&&Math.round(v)===v)f=v;else return{vals:i}}for(var c=a.calendar,T=s===\"start\",l=s===\"end\",x=o[n+\"period0\"],w=A(x,c)||0,S=[],M=[],m=[],b=i.length,p=0;pu;)D=E(D,-f,c);for(;D<=u;)D=E(D,f,c);y=E(D,-f,c)}else{for(g=Math.round((u-w)/h),D=w+g*h;D>u;)D-=h;for(;D<=u;)D+=h;y=D-h}S[p]=T?y:l?D:(y+D)/2,M[p]=y,m[p]=D}return{vals:S,starts:M,ends:m}}}}),Fd=Ge({\"src/traces/scatter/colorscale_calc.js\"(Z,G){\"use strict\";var d=wp().hasColorscale,_=Tp(),A=Fu();G.exports=function(e,t){A.hasLines(t)&&d(t,\"line\")&&_(e,t,{vals:t.line.color,containerStr:\"line\",cLetter:\"c\"}),A.hasMarkers(t)&&(d(t,\"marker\")&&_(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),d(t,\"marker.line\")&&_(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}}}),Av=Ge({\"src/traces/scatter/arrays_to_calcdata.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E){for(var e=0;eB&&y[P].gap;)P--;for(N=y[P].s,O=y.length-1;O>P;O--)y[O].s=N;for(;Bue+X||!d($))}for(var de=0;deP(N))):P(F.text);let U=F.outsidetextfont.size*a*O+o;return{ppadplus:B.some(N=>N.s<0)?U:0,ppadminus:B.some(N=>N.s>=0)?U:0}}return{ppadplus:void 0,ppadminus:void 0}}function D(F,B,O,P){for(var U=z(P),N=0;Nz[c]&&c0?e:t)/(c._m*x*(c._m>0?e:t)))),Nt*=1e3}if(cr===A){if(l&&(cr=c.c2p(Pt.y,!0)),cr===A)return!1;cr*=1e3}return[Nt,cr]}function Q(Ct,Pt,Nt,cr){var lr=Nt-Ct,sr=cr-Pt,Pr=.5-Ct,_a=.5-Pt,Fa=lr*lr+sr*sr,Ra=lr*Pr+sr*_a;if(Ra>0&&Ra1||Math.abs(Pr.y-Nt[0][1])>1)&&(Pr=[Pr.x,Pr.y],cr&&Se(Pr,Ct)He||Ct[1]nt)return[a(Ct[0],Re,He),a(Ct[1],at,nt)]}function St(Ct,Pt){if(Ct[0]===Pt[0]&&(Ct[0]===Re||Ct[0]===He)||Ct[1]===Pt[1]&&(Ct[1]===at||Ct[1]===nt))return!0}function kt(Ct,Pt){var Nt=[],cr=Ye(Ct),lr=Ye(Pt);return cr&&lr&&St(cr,lr)||(cr&&Nt.push(cr),lr&&Nt.push(lr)),Nt}function qt(Ct,Pt,Nt){return function(cr,lr){var sr=Ye(cr),Pr=Ye(lr),_a=[];if(sr&&Pr&&St(sr,Pr))return _a;sr&&_a.push(sr),Pr&&_a.push(Pr);var Fa=2*r.constrain((cr[Ct]+lr[Ct])/2,Pt,Nt)-((sr||cr)[Ct]+(Pr||lr)[Ct]);if(Fa){var Ra;sr&&Pr?Ra=Fa>0==sr[Ct]>Pr[Ct]?sr:Pr:Ra=sr||Pr,Ra[Ct]+=Fa}return _a}}var Gt;p===\"linear\"||p===\"spline\"?Gt=rt:p===\"hv\"||p===\"vh\"?Gt=kt:p===\"hvh\"?Gt=qt(0,Re,He):p===\"vhv\"&&(Gt=qt(1,at,nt));function Tr(Ct,Pt){var Nt=Pt[0]-Ct[0],cr=(Pt[1]-Ct[1])/Nt,lr=(Ct[1]*Pt[0]-Pt[1]*Ct[0])/Nt;return lr>0?[cr>0?Re:He,nt]:[cr>0?He:Re,at]}function mr(Ct){var Pt=Ct[0],Nt=Ct[1],cr=Pt===z[F-1][0],lr=Nt===z[F-1][1];if(!(cr&&lr))if(F>1){var sr=Pt===z[F-2][0],Pr=Nt===z[F-2][1];cr&&(Pt===Re||Pt===He)&&sr?Pr?F--:z[F-1]=Ct:lr&&(Nt===at||Nt===nt)&&Pr?sr?F--:z[F-1]=Ct:z[F++]=Ct}else z[F++]=Ct}function qr(Ct){z[F-1][0]!==Ct[0]&&z[F-1][1]!==Ct[1]&&mr([le,ne]),mr(Ct),Ce=null,le=ne=0}var Er=r.isArrayOrTypedArray(M);function Dr(Ct){if(Ct&&S&&(Ct.i=B,Ct.d=s,Ct.trace=f,Ct.marker=Er?M[Ct.i]:M,Ct.backoff=S),re=Ct[0]/x,pe=Ct[1]/w,Ue=Ct[0]He?He:0,he=Ct[1]nt?nt:0,Ue||he){if(!F)z[F++]=[Ue||Ct[0],he||Ct[1]];else if(Ce){var Pt=Gt(Ce,Ct);Pt.length>1&&(qr(Pt[0]),z[F++]=Pt[1])}else Ze=Gt(z[F-1],Ct)[0],z[F++]=Ze;var Nt=z[F-1];Ue&&he&&(Nt[0]!==Ue||Nt[1]!==he)?(Ce&&(le!==Ue&&ne!==he?mr(le&&ne?Tr(Ce,Ct):[le||Ue,ne||he]):le&&ne&&mr([le,ne])),mr([Ue,he])):le-Ue&&ne-he&&mr([Ue||le,he||ne]),Ce=Ct,le=Ue,ne=he}else Ce&&qr(Gt(Ce,Ct)[0]),z[F++]=Ct}for(B=0;Bwe(X,xt))break;P=X,ee=ce[0]*ue[0]+ce[1]*ue[1],ee>V?(V=ee,U=X,$=!1):ee=s.length||!X)break;Dr(X),O=X}}Ce&&mr([le||Ce[0],ne||Ce[1]]),y.push(z.slice(0,F))}var Oe=p.slice(p.length-1);if(S&&Oe!==\"h\"&&Oe!==\"v\"){for(var Ke=!1,Ae=-1,Le=[],We=0;We=0?n=v:(n=v=f,f++),n0,p=a(v,c,T);if(S=l.selectAll(\"g.trace\").data(p,function(g){return g[0].trace.uid}),S.enter().append(\"g\").attr(\"class\",function(g){return\"trace scatter trace\"+g[0].trace.uid}).style(\"stroke-miterlimit\",2),S.order(),i(v,S,c),b){w&&(M=w());var u=d.transition().duration(x.duration).ease(x.easing).each(\"end\",function(){M&&M()}).each(\"interrupt\",function(){M&&M()});u.each(function(){l.selectAll(\"g.trace\").each(function(g,y){s(v,y,c,g,p,this,x)})})}else S.each(function(g,y){s(v,y,c,g,p,this,x)});m&&S.exit().remove(),l.selectAll(\"path:not([d])\").remove()};function i(f,v,c){v.each(function(T){var l=E(d.select(this),\"g\",\"fills\");t.setClipUrl(l,c.layerClipId,f);var x=T[0].trace;x._ownFill=null,x._nextFill=null;var w=[];x._ownfill&&w.push(\"_ownFill\"),x._nexttrace&&w.push(\"_nextFill\");var S=l.selectAll(\"g\").data(w,e);S.enter().append(\"g\"),S.exit().remove(),S.order().each(function(M){x[M]=E(d.select(this),\"path\",\"js-fill\")})})}function s(f,v,c,T,l,x,w){var S=f._context.staticPlot,M;h(f,v,c,T,l);var m=!!w&&w.duration>0;function b(mr){return m?mr.transition():mr}var p=c.xaxis,u=c.yaxis,g=T[0].trace,y=g.line,D=d.select(x),L=E(D,\"g\",\"errorbars\"),z=E(D,\"g\",\"lines\"),F=E(D,\"g\",\"points\"),B=E(D,\"g\",\"text\");if(_.getComponentMethod(\"errorbars\",\"plot\")(f,L,c,w),g.visible!==!0)return;b(D).style(\"opacity\",g.opacity);var O,P,U=g.fill.charAt(g.fill.length-1);U!==\"x\"&&U!==\"y\"&&(U=\"\");var N,X;U===\"y\"?(N=1,X=u.c2p(0,!0)):U===\"x\"&&(N=0,X=p.c2p(0,!0)),T[0][c.isRangePlot?\"nodeRangePlot3\":\"node3\"]=D;var $=\"\",ue=[],ce=g._prevtrace,de=null,V=null;ce&&($=ce._prevRevpath||\"\",P=ce._nextFill,ue=ce._ownPolygons,de=ce._fillsegments,V=ce._fillElement);var Y,ee,q=\"\",se=\"\",ae,j,Q,re,pe,we,Se=[];g._polygons=[];var Ie=[],Re=[],He=A.noop;if(O=g._ownFill,r.hasLines(g)||g.fill!==\"none\"){P&&P.datum(T),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(y.shape)!==-1?(ae=t.steps(y.shape),j=t.steps(y.shape.split(\"\").reverse().join(\"\"))):y.shape===\"spline\"?ae=j=function(mr){var qr=mr[mr.length-1];return mr.length>1&&mr[0][0]===qr[0]&&mr[0][1]===qr[1]?t.smoothclosed(mr.slice(1),y.smoothing):t.smoothopen(mr,y.smoothing)}:ae=j=function(mr){return\"M\"+mr.join(\"L\")},Q=function(mr){return j(mr.reverse())},Re=o(T,{xaxis:p,yaxis:u,trace:g,connectGaps:g.connectgaps,baseTolerance:Math.max(y.width||1,3)/4,shape:y.shape,backoff:y.backoff,simplify:y.simplify,fill:g.fill}),Ie=new Array(Re.length);var at=0;for(M=0;M=S[0]&&D.x<=S[1]&&D.y>=M[0]&&D.y<=M[1]}),u=Math.ceil(p.length/b),g=0;l.forEach(function(D,L){var z=D[0].trace;r.hasMarkers(z)&&z.marker.maxdisplayed>0&&L=Math.min(ce,de)&&c<=Math.max(ce,de)?0:1/0}var V=Math.max(3,ue.mrc||0),Y=1-1/V,ee=Math.abs(f.c2p(ue.x)-c);return ee=Math.min(ce,de)&&T<=Math.max(ce,de)?0:1/0}var V=Math.max(3,ue.mrc||0),Y=1-1/V,ee=Math.abs(v.c2p(ue.y)-T);return eese!=Ie>=se&&(pe=Q[j-1][0],we=Q[j][0],Ie-Se&&(re=pe+(we-pe)*(se-Se)/(Ie-Se),V=Math.min(V,re),Y=Math.max(Y,re)));return V=Math.max(V,0),Y=Math.min(Y,f._length),{x0:V,x1:Y,y0:se,y1:se}}if(x.indexOf(\"fills\")!==-1&&h._fillElement){var N=P(h._fillElement)&&!P(h._fillExclusionElement);if(N){var X=U(h._polygons);X===null&&(X={x0:l[0],x1:l[0],y0:l[1],y1:l[1]});var $=e.defaultLine;return e.opacity(h.fillcolor)?$=h.fillcolor:e.opacity((h.line||{}).color)&&($=h.line.color),d.extendFlat(o,{distance:o.maxHoverDistance,x0:X.x0,x1:X.x1,y0:X.y0,y1:X.y1,color:$,hovertemplate:!1}),delete o.index,h.text&&!d.isArrayOrTypedArray(h.text)?o.text=String(h.text):o.text=h.name,[o]}}}}}),c1=Ge({\"src/traces/scatter/select.js\"(Z,G){\"use strict\";var d=Fu();G.exports=function(A,E){var e=A.cd,t=A.xaxis,r=A.yaxis,o=[],a=e[0].trace,n,i,s,h,f=!d.hasMarkers(a)&&!d.hasText(a);if(f)return[];if(E===!1)for(n=0;n0&&(i[\"_\"+a+\"axes\"]||{})[o])return i;if((i[a+\"axis\"]||a)===o){if(t(i,a))return i;if((i[a]||[]).length||i[a+\"0\"])return i}}}function e(r){return{v:\"x\",h:\"y\"}[r.orientation||\"v\"]}function t(r,o){var a=e(r),n=d(r,\"box-violin\"),i=d(r._fullInput||{},\"candlestick\");return n&&!i&&o===a&&r[a]===void 0&&r[a+\"0\"]===void 0}}}),I2=Ge({\"src/plots/cartesian/category_order_defaults.js\"(Z,G){\"use strict\";var d=hp().isTypedArraySpec;function _(A,E){var e=E.dataAttr||A._id.charAt(0),t={},r,o,a;if(E.axData)r=E.axData;else for(r=[],o=0;o0||d(o),n;a&&(n=\"array\");var i=t(\"categoryorder\",n),s;i===\"array\"&&(s=t(\"categoryarray\")),!a&&i===\"array\"&&(i=e.categoryorder=\"trace\"),i===\"trace\"?e._initialCategories=[]:i===\"array\"?e._initialCategories=s.slice():(s=_(e,r).sort(),i===\"category ascending\"?e._initialCategories=s:i===\"category descending\"&&(e._initialCategories=s.reverse()))}}}}),z_=Ge({\"src/plots/cartesian/line_grid_defaults.js\"(Z,G){\"use strict\";var d=Ch().mix,_=sh(),A=sa();G.exports=function(e,t,r,o){o=o||{};var a=o.dfltColor;function n(y,D){return A.coerce2(e,t,o.attributes,y,D)}var i=n(\"linecolor\",a),s=n(\"linewidth\"),h=r(\"showline\",o.showLine||!!i||!!s);h||(delete t.linecolor,delete t.linewidth);var f=d(a,o.bgColor,o.blend||_.lightFraction).toRgbString(),v=n(\"gridcolor\",f),c=n(\"gridwidth\"),T=n(\"griddash\"),l=r(\"showgrid\",o.showGrid||!!v||!!c||!!T);if(l||(delete t.gridcolor,delete t.gridwidth,delete t.griddash),o.hasMinor){var x=d(t.gridcolor,o.bgColor,67).toRgbString(),w=n(\"minor.gridcolor\",x),S=n(\"minor.gridwidth\",t.gridwidth||1),M=n(\"minor.griddash\",t.griddash||\"solid\"),m=r(\"minor.showgrid\",!!w||!!S||!!M);m||(delete t.minor.gridcolor,delete t.minor.gridwidth,delete t.minor.griddash)}if(!o.noZeroLine){var b=n(\"zerolinelayer\"),p=n(\"zerolinecolor\",a),u=n(\"zerolinewidth\"),g=r(\"zeroline\",o.showGrid||!!p||!!u);g||(delete t.zerolinelayer,delete t.zerolinecolor,delete t.zerolinewidth)}}}}),F_=Ge({\"src/plots/cartesian/axis_defaults.js\"(Z,G){\"use strict\";var d=ns(),_=so(),A=sa(),E=zl(),e=pp(),t=Wh(),r=Y0(),o=t1(),a=Qm(),n=e0(),i=I2(),s=z_(),h=h5(),f=wv(),v=lh().WEEKDAY_PATTERN,c=lh().HOUR_PATTERN;G.exports=function(S,M,m,b,p){var u=b.letter,g=b.font||{},y=b.splomStash||{},D=m(\"visible\",!b.visibleDflt),L=M._template||{},z=M.type||L.type||\"-\",F;if(z===\"date\"){var B=_.getComponentMethod(\"calendars\",\"handleDefaults\");B(S,M,\"calendar\",b.calendar),b.noTicklabelmode||(F=m(\"ticklabelmode\"))}!b.noTicklabelindex&&(z===\"date\"||z===\"linear\")&&m(\"ticklabelindex\");var O=\"\";(!b.noTicklabelposition||z===\"multicategory\")&&(O=A.coerce(S,M,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:F===\"period\"?[\"outside\",\"inside\"]:u===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),b.noTicklabeloverflow||m(\"ticklabeloverflow\",O.indexOf(\"inside\")!==-1?\"hide past domain\":z===\"category\"||z===\"multicategory\"?\"allow\":\"hide past div\"),f(M,p),h(S,M,m,b),i(S,M,m,b),b.noHover||(z!==\"category\"&&m(\"hoverformat\"),b.noUnifiedhovertitle||m(\"unifiedhovertitle.text\"));var P=m(\"color\"),U=P!==t.color.dflt?P:g.color,N=y.label||p._dfltTitle[u];if(n(S,M,m,z,b),!D)return M;m(\"title.text\",N),A.coerceFont(m,\"title.font\",g,{overrideDflt:{size:A.bigFont(g.size),color:U}}),r(S,M,m,z);var X=b.hasMinor;if(X&&(E.newContainer(M,\"minor\"),r(S,M,m,z,{isMinor:!0})),a(S,M,m,z,b),o(S,M,m,b),X){var $=b.isMinor;b.isMinor=!0,o(S,M,m,b),b.isMinor=$}s(S,M,m,{dfltColor:P,bgColor:b.bgColor,showGrid:b.showGrid,hasMinor:X,attributes:t}),X&&M.ticklabelindex==null&&!M.minor.ticks&&!M.minor.showgrid&&delete M.minor,(M.showline||M.ticks)&&m(\"mirror\");var ue=z===\"multicategory\";if(!b.noTickson&&(z===\"category\"||ue)&&(M.ticks||M.showgrid)&&(ue?(m(\"tickson\",\"boundaries\"),delete M.ticklabelposition):m(\"tickson\")),ue){var ce=m(\"showdividers\");ce&&(m(\"dividercolor\"),m(\"dividerwidth\"))}if(z===\"date\")if(e(S,M,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:T}),!M.rangebreaks.length)delete M.rangebreaks;else{for(var de=0;de=2){var u=\"\",g,y;if(p.length===2){for(g=0;g<2;g++)if(y=x(p[g]),y){u=v;break}}var D=m(\"pattern\",u);if(D===v)for(g=0;g<2;g++)y=x(p[g]),y&&(S.bounds[g]=p[g]=y-1);if(D)for(g=0;g<2;g++)switch(y=p[g],D){case v:if(!d(y)){S.enabled=!1;return}if(y=+y,y!==Math.floor(y)||y<0||y>=7){S.enabled=!1;return}S.bounds[g]=p[g]=y;break;case c:if(!d(y)){S.enabled=!1;return}if(y=+y,y<0||y>24){S.enabled=!1;return}S.bounds[g]=p[g]=y;break}if(M.autorange===!1){var L=M.range;if(L[0]L[1]){S.enabled=!1;return}}else if(p[0]>L[0]&&p[1]m[1]-1/4096&&(e.domain=f),_.noneOrAll(E.domain,e.domain,f),e.tickmode===\"sync\"&&(e.tickmode=\"auto\")}return t(\"layer\"),e}}}),Kz=Ge({\"src/plots/cartesian/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=$n(),A=$p().isUnifiedHover,E=x5(),e=zl(),t=$y(),r=Wh(),o=B5(),a=F_(),n=J0(),i=R2(),s=tf(),h=s.id2name,f=s.name2id,v=lh().AX_ID_PATTERN,c=so(),T=c.traceIs,l=c.getComponentMethod;function x(w,S,M){Array.isArray(w[S])?w[S].push(M):w[S]=[M]}G.exports=function(S,M,m){var b=M.autotypenumbers,p={},u={},g={},y={},D={},L={},z={},F={},B={},O={},P,U;for(P=0;P rect\").call(E.setTranslate,0,0).call(E.setScale,1,1),M.plot.call(E.setTranslate,m._offset,b._offset).call(E.setScale,1,1);var p=M.plot.selectAll(\".scatterlayer .trace\");p.selectAll(\".point\").call(E.setPointGroupScale,1,1),p.selectAll(\".textpoint\").call(E.setTextPointsScale,1,1),p.call(E.hideOutsideRangePoints,M)}function h(M,m){var b=M.plotinfo,p=b.xaxis,u=b.yaxis,g=p._length,y=u._length,D=!!M.xr1,L=!!M.yr1,z=[];if(D){var F=A.simpleMap(M.xr0,p.r2l),B=A.simpleMap(M.xr1,p.r2l),O=F[1]-F[0],P=B[1]-B[0];z[0]=(F[0]*(1-m)+m*B[0]-F[0])/(F[1]-F[0])*g,z[2]=g*(1-m+m*P/O),p.range[0]=p.l2r(F[0]*(1-m)+m*B[0]),p.range[1]=p.l2r(F[1]*(1-m)+m*B[1])}else z[0]=0,z[2]=g;if(L){var U=A.simpleMap(M.yr0,u.r2l),N=A.simpleMap(M.yr1,u.r2l),X=U[1]-U[0],$=N[1]-N[0];z[1]=(U[1]*(1-m)+m*N[1]-U[1])/(U[0]-U[1])*y,z[3]=y*(1-m+m*$/X),u.range[0]=p.l2r(U[0]*(1-m)+m*N[0]),u.range[1]=u.l2r(U[1]*(1-m)+m*N[1])}else z[1]=0,z[3]=y;e.drawOne(r,p,{skipTitle:!0}),e.drawOne(r,u,{skipTitle:!0}),e.redrawComponents(r,[p._id,u._id]);var ue=D?g/z[2]:1,ce=L?y/z[3]:1,de=D?z[0]:0,V=L?z[1]:0,Y=D?z[0]/z[2]*g:0,ee=L?z[1]/z[3]*y:0,q=p._offset-Y,se=u._offset-ee;b.clipRect.call(E.setTranslate,de,V).call(E.setScale,1/ue,1/ce),b.plot.call(E.setTranslate,q,se).call(E.setScale,ue,ce),E.setPointGroupScale(b.zoomScalePts,1/ue,1/ce),E.setTextPointsScale(b.zoomScaleTxt,1/ue,1/ce)}var f;n&&(f=n());function v(){for(var M={},m=0;ma.duration?(v(),x=window.cancelAnimationFrame(S)):x=window.requestAnimationFrame(S)}return T=Date.now(),x=window.requestAnimationFrame(S),Promise.resolve()}}}),Kf=Ge({\"src/plots/cartesian/index.js\"(Z){\"use strict\";var G=Vn(),d=so(),_=sa(),A=bc(),E=as(),e=Hh().getModuleCalcData,t=tf(),r=lh(),o=vd(),a=_.ensureSingle;function n(T,l,x){return _.ensureSingle(T,l,x,function(w){w.datum(x)})}var i=r.zindexSeparator;Z.name=\"cartesian\",Z.attr=[\"xaxis\",\"yaxis\"],Z.idRoot=[\"x\",\"y\"],Z.idRegex=r.idRegex,Z.attrRegex=r.attrRegex,Z.attributes=Yz(),Z.layoutAttributes=Wh(),Z.supplyLayoutDefaults=Kz(),Z.transitionAxes=Jz(),Z.finalizeSubplots=function(T,l){var x=l._subplots,w=x.xaxis,S=x.yaxis,M=x.cartesian,m=M,b={},p={},u,g,y;for(u=0;u0){var L=D.id;if(L.indexOf(i)!==-1)continue;L+=i+(u+1),D=_.extendFlat({},D,{id:L,plot:S._cartesianlayer.selectAll(\".subplot\").select(\".\"+L)})}for(var z=[],F,B=0;B1&&(X+=i+N),U.push(b+X),m=0;m1,y=l.mainplotinfo;if(!l.mainplot||g)if(u)l.xlines=a(w,\"path\",\"xlines-above\"),l.ylines=a(w,\"path\",\"ylines-above\"),l.xaxislayer=a(w,\"g\",\"xaxislayer-above\"),l.yaxislayer=a(w,\"g\",\"yaxislayer-above\");else{if(!m){var D=a(w,\"g\",\"layer-subplot\");l.shapelayer=a(D,\"g\",\"shapelayer\"),l.imagelayer=a(D,\"g\",\"imagelayer\"),y&&g?(l.minorGridlayer=y.minorGridlayer,l.gridlayer=y.gridlayer,l.zerolinelayer=y.zerolinelayer):(l.minorGridlayer=a(w,\"g\",\"minor-gridlayer\"),l.gridlayer=a(w,\"g\",\"gridlayer\"),l.zerolinelayer=a(w,\"g\",\"zerolinelayer\"));var L=a(w,\"g\",\"layer-between\");l.shapelayerBetween=a(L,\"g\",\"shapelayer\"),l.imagelayerBetween=a(L,\"g\",\"imagelayer\"),a(w,\"path\",\"xlines-below\"),a(w,\"path\",\"ylines-below\"),l.overlinesBelow=a(w,\"g\",\"overlines-below\"),a(w,\"g\",\"xaxislayer-below\"),a(w,\"g\",\"yaxislayer-below\"),l.overaxesBelow=a(w,\"g\",\"overaxes-below\")}l.overplot=a(w,\"g\",\"overplot\"),l.plot=a(l.overplot,\"g\",S),y&&g?l.zerolinelayerAbove=y.zerolinelayerAbove:l.zerolinelayerAbove=a(w,\"g\",\"zerolinelayer-above\"),m||(l.xlines=a(w,\"path\",\"xlines-above\"),l.ylines=a(w,\"path\",\"ylines-above\"),l.overlinesAbove=a(w,\"g\",\"overlines-above\"),a(w,\"g\",\"xaxislayer-above\"),a(w,\"g\",\"yaxislayer-above\"),l.overaxesAbove=a(w,\"g\",\"overaxes-above\"),l.xlines=w.select(\".xlines-\"+b),l.ylines=w.select(\".ylines-\"+p),l.xaxislayer=w.select(\".xaxislayer-\"+b),l.yaxislayer=w.select(\".yaxislayer-\"+p))}else{var z=y.plotgroup,F=S+\"-x\",B=S+\"-y\";l.minorGridlayer=y.minorGridlayer,l.gridlayer=y.gridlayer,l.zerolinelayer=y.zerolinelayer,l.zerolinelayerAbove=y.zerolinelayerAbove,a(y.overlinesBelow,\"path\",F),a(y.overlinesBelow,\"path\",B),a(y.overaxesBelow,\"g\",F),a(y.overaxesBelow,\"g\",B),l.plot=a(y.overplot,\"g\",S),a(y.overlinesAbove,\"path\",F),a(y.overlinesAbove,\"path\",B),a(y.overaxesAbove,\"g\",F),a(y.overaxesAbove,\"g\",B),l.xlines=z.select(\".overlines-\"+b).select(\".\"+F),l.ylines=z.select(\".overlines-\"+p).select(\".\"+B),l.xaxislayer=z.select(\".overaxes-\"+b).select(\".\"+F),l.yaxislayer=z.select(\".overaxes-\"+p).select(\".\"+B)}m||(u||(n(l.minorGridlayer,\"g\",l.xaxis._id),n(l.minorGridlayer,\"g\",l.yaxis._id),l.minorGridlayer.selectAll(\"g\").map(function(O){return O[0]}).sort(t.idSort),n(l.gridlayer,\"g\",l.xaxis._id),n(l.gridlayer,\"g\",l.yaxis._id),l.gridlayer.selectAll(\"g\").map(function(O){return O[0]}).sort(t.idSort)),l.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),l.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function v(T,l){if(T){var x={};T.each(function(p){var u=p[0],g=G.select(this);g.remove(),c(u,l),x[u]=!0});for(var w in l._plots)for(var S=l._plots[w],M=S.overlays||[],m=0;m=0,l=n.indexOf(\"end\")>=0,x=h.backoff*v+i.standoff,w=f.backoff*c+i.startstandoff,S,M,m,b;if(s.nodeName===\"line\"){S={x:+a.attr(\"x1\"),y:+a.attr(\"y1\")},M={x:+a.attr(\"x2\"),y:+a.attr(\"y2\")};var p=S.x-M.x,u=S.y-M.y;if(m=Math.atan2(u,p),b=m+Math.PI,x&&w&&x+w>Math.sqrt(p*p+u*u)){X();return}if(x){if(x*x>p*p+u*u){X();return}var g=x*Math.cos(m),y=x*Math.sin(m);M.x+=g,M.y+=y,a.attr({x2:M.x,y2:M.y})}if(w){if(w*w>p*p+u*u){X();return}var D=w*Math.cos(m),L=w*Math.sin(m);S.x-=D,S.y-=L,a.attr({x1:S.x,y1:S.y})}}else if(s.nodeName===\"path\"){var z=s.getTotalLength(),F=\"\";if(z2/3?Ca=\"right\":Ca=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Ca]}for(var Ze=!1,rt=[\"x\",\"y\"],Ye=0;Ye1)&&(qt===kt?(ot=Gt.r2fraction(w[\"a\"+St]),(ot<0||ot>1)&&(Ze=!0)):Ze=!0),Ke=Gt._offset+Gt.r2p(w[St]),We=.5}else{var Ut=st===\"domain\";St===\"x\"?(Le=w[St],Ke=Ut?Gt._offset+Gt._length*Le:Ke=u.l+u.w*Le):(Le=1-w[St],Ke=Ut?Gt._offset+Gt._length*Le:Ke=u.t+u.h*Le),We=w.showarrow?.5:Le}if(w.showarrow){Oe.head=Ke;var Ct=w[\"a\"+St];if(Je=mr*Ce(.5,w.xanchor)-qr*Ce(.5,w.yanchor),qt===kt){var Pt=t.getRefType(qt);Pt===\"domain\"?(St===\"y\"&&(Ct=1-Ct),Oe.tail=Gt._offset+Gt._length*Ct):Pt===\"paper\"?St===\"y\"?(Ct=1-Ct,Oe.tail=u.t+u.h*Ct):Oe.tail=u.l+u.w*Ct:Oe.tail=Gt._offset+Gt.r2p(Ct),Ae=Je}else Oe.tail=Ke+Ct,Ae=Je+Ct;Oe.text=Oe.tail+Je;var Nt=p[St===\"x\"?\"width\":\"height\"];if(kt===\"paper\"&&(Oe.head=E.constrain(Oe.head,1,Nt-1)),qt===\"pixel\"){var cr=-Math.max(Oe.tail-3,Oe.text),lr=Math.min(Oe.tail+3,Oe.text)-Nt;cr>0?(Oe.tail+=cr,Oe.text+=cr):lr>0&&(Oe.tail-=lr,Oe.text-=lr)}Oe.tail+=xt,Oe.head+=xt}else Je=Er*Ce(We,Dr),Ae=Je,Oe.text=Ke+Je;Oe.text+=xt,Je+=xt,Ae+=xt,w[\"_\"+St+\"padplus\"]=Er/2+Ae,w[\"_\"+St+\"padminus\"]=Er/2-Ae,w[\"_\"+St+\"size\"]=Er,w[\"_\"+St+\"shift\"]=Je}if(Ze){de.remove();return}var sr=0,Pr=0;if(w.align!==\"left\"&&(sr=(Ue-nt)*(w.align===\"center\"?.5:1)),w.valign!==\"top\"&&(Pr=(he-tt)*(w.valign===\"middle\"?.5:1)),He)Re.select(\"svg\").attr({x:ee+sr-1,y:ee+Pr}).call(o.setClipUrl,se?O:null,x);else{var _a=ee+Pr-at.top,Fa=ee+sr-at.left;re.call(n.positionText,Fa,_a).call(o.setClipUrl,se?O:null,x)}ae.select(\"rect\").call(o.setRect,ee,ee,Ue,he),q.call(o.setRect,V/2,V/2,le-V,ne-V),de.call(o.setTranslate,Math.round(P.x.text-le/2),Math.round(P.y.text-ne/2)),X.attr({transform:\"rotate(\"+U+\",\"+P.x.text+\",\"+P.y.text+\")\"});var Ra=function(Wa,Ca){N.selectAll(\".annotation-arrow-g\").remove();var hi=P.x.head,wi=P.y.head,Yt=P.x.tail+Wa,Rt=P.y.tail+Ca,Zt=P.x.text+Wa,Jt=P.y.text+Ca,Or=E.rotationXYMatrix(U,Zt,Jt),ta=E.apply2DTransform(Or),ra=E.apply2DTransform2(Or),ca=+q.attr(\"width\"),Ba=+q.attr(\"height\"),$a=Zt-.5*ca,Za=$a+ca,ri=Jt-.5*Ba,pi=ri+Ba,Ia=[[$a,ri,$a,pi],[$a,pi,Za,pi],[Za,pi,Za,ri],[Za,ri,$a,ri]].map(ra);if(!Ia.reduce(function(gt,Kt){return gt^!!E.segmentsIntersect(hi,wi,hi+1e6,wi+1e6,Kt[0],Kt[1],Kt[2],Kt[3])},!1)){Ia.forEach(function(gt){var Kt=E.segmentsIntersect(Yt,Rt,hi,wi,gt[0],gt[1],gt[2],gt[3]);Kt&&(Yt=Kt.x,Rt=Kt.y)});var rn=w.arrowwidth,tn=w.arrowcolor,cn=w.arrowside,_t=N.append(\"g\").style({opacity:r.opacity(tn)}).classed(\"annotation-arrow-g\",!0),ut=_t.append(\"path\").attr(\"d\",\"M\"+Yt+\",\"+Rt+\"L\"+hi+\",\"+wi).style(\"stroke-width\",rn+\"px\").call(r.stroke,r.rgb(tn));if(f(ut,cn,w),g.annotationPosition&&ut.node().parentNode&&!M){var Br=hi,Cr=wi;if(w.standoff){var wr=Math.sqrt(Math.pow(hi-Yt,2)+Math.pow(wi-Rt,2));Br+=w.standoff*(Yt-hi)/wr,Cr+=w.standoff*(Rt-wi)/wr}var Rr=_t.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(Yt-Br)+\",\"+(Rt-Cr),transform:e(Br,Cr)}).style(\"stroke-width\",rn+6+\"px\").call(r.stroke,\"rgba(0,0,0,0)\").call(r.fill,\"rgba(0,0,0,0)\"),Ur,Hr;s.init({element:Rr.node(),gd:x,prepFn:function(){var gt=o.getTranslate(de);Ur=gt.x,Hr=gt.y,m&&m.autorange&&z(m._name+\".autorange\",!0),b&&b.autorange&&z(b._name+\".autorange\",!0)},moveFn:function(gt,Kt){var vr=ta(Ur,Hr),Ir=vr[0]+gt,va=vr[1]+Kt;de.call(o.setTranslate,Ir,va),F(\"x\",T(m,gt,\"x\",u,w)),F(\"y\",T(b,Kt,\"y\",u,w)),w.axref===w.xref&&F(\"ax\",T(m,gt,\"ax\",u,w)),w.ayref===w.yref&&F(\"ay\",T(b,Kt,\"ay\",u,w)),_t.attr(\"transform\",e(gt,Kt)),X.attr({transform:\"rotate(\"+U+\",\"+Ir+\",\"+va+\")\"})},doneFn:function(){_.call(\"_guiRelayout\",x,B());var gt=document.querySelector(\".js-notes-box-panel\");gt&>.redraw(gt.selectedObj)}})}}};if(w.showarrow&&Ra(0,0),$){var qa;s.init({element:de.node(),gd:x,prepFn:function(){qa=X.attr(\"transform\")},moveFn:function(Wa,Ca){var hi=\"pointer\";if(w.showarrow)w.axref===w.xref?F(\"ax\",T(m,Wa,\"ax\",u,w)):F(\"ax\",w.ax+Wa),w.ayref===w.yref?F(\"ay\",T(b,Ca,\"ay\",u.w,w)):F(\"ay\",w.ay+Ca),Ra(Wa,Ca);else{if(M)return;var wi,Yt;if(m)wi=T(m,Wa,\"x\",u,w);else{var Rt=w._xsize/u.w,Zt=w.x+(w._xshift-w.xshift)/u.w-Rt/2;wi=s.align(Zt+Wa/u.w,Rt,0,1,w.xanchor)}if(b)Yt=T(b,Ca,\"y\",u,w);else{var Jt=w._ysize/u.h,Or=w.y-(w._yshift+w.yshift)/u.h-Jt/2;Yt=s.align(Or-Ca/u.h,Jt,0,1,w.yanchor)}F(\"x\",wi),F(\"y\",Yt),(!m||!b)&&(hi=s.getCursor(m?.5:wi,b?.5:Yt,w.xanchor,w.yanchor))}X.attr({transform:e(Wa,Ca)+qa}),i(de,hi)},clickFn:function(Wa,Ca){w.captureevents&&x.emit(\"plotly_clickannotation\",ce(Ca))},doneFn:function(){i(de),_.call(\"_guiRelayout\",x,B());var Wa=document.querySelector(\".js-notes-box-panel\");Wa&&Wa.redraw(Wa.selectedObj)}})}}g.annotationText?re.call(n.makeEditable,{delegate:de,gd:x}).call(pe).on(\"edit\",function(Se){w.text=Se,this.call(pe),F(\"text\",Se),m&&m.autorange&&z(m._name+\".autorange\",!0),b&&b.autorange&&z(b._name+\".autorange\",!0),_.call(\"_guiRelayout\",x,B())}):re.call(pe)}}}),e9=Ge({\"src/components/annotations/click.js\"(Z,G){\"use strict\";var d=sa(),_=so(),A=zl().arrayEditor;G.exports={hasClickToShow:E,onClick:e};function E(o,a){var n=t(o,a);return n.on.length>0||n.explicitOff.length>0}function e(o,a){var n=t(o,a),i=n.on,s=n.off.concat(n.explicitOff),h={},f=o._fullLayout.annotations,v,c;if(i.length||s.length){for(v=0;v1){i=!0;break}}i?e.fullLayout._infolayer.select(\".annotation-\"+e.id+'[data-index=\"'+a+'\"]').remove():(n._pdata=_(e.glplot.cameraParams,[t.xaxis.r2l(n.x)*r[0],t.yaxis.r2l(n.y)*r[1],t.zaxis.r2l(n.z)*r[2]]),d(e.graphDiv,n,a,e.id,n._xa,n._ya))}}}}),l9=Ge({\"src/components/annotations3d/index.js\"(Z,G){\"use strict\";var d=so(),_=sa();G.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:z2()}}},layoutAttributes:z2(),handleDefaults:n9(),includeBasePlot:A,convert:o9(),draw:s9()};function A(E,e){var t=d.subplotsRegistry.gl3d;if(t)for(var r=t.attrRegex,o=Object.keys(E),a=0;a{var y=g+\"anchor\",D=g===\"x\"?x:w,L={_fullLayout:n},z,F,B,O;let P=g+\"ref\",U=o[P];if(Array.isArray(U)&&U.length>0){let N=e.countDefiningCoords(c,f,g);O=_.coerceRefArray(o,a,L,g,void 0,\"paper\",N),a[\"_\"+g+\"refArray\"]=!0}else O=_.coerceRef(o,a,L,g,void 0,\"paper\");if(Array.isArray(O))O.forEach(function(N){_.getRefType(N)===\"range\"&&(z=_.getFromId(L,N),z&&z._shapeIndices.indexOf(a._index)===-1&&z._shapeIndices.push(a._index))}),T&&[0,1].forEach(function(N){let X=O[N];_.getRefType(X)===\"range\"?(z=_.getFromId(L,X),F=e.shapePositionToRange(z),B=e.rangeToShapePosition(z),(z.type===\"category\"||z.type===\"multicategory\")&&i(g+N+\"shift\")):F=B=d.identity;let ue=g+N,ce=o[ue];if(o[ue]=F(o[ue],!0),D===\"pixel\"?i(ue,M[N]):_.coercePosition(a,L,i,X,ue,S[N]),a[ue]=B(a[ue]),o[ue]=ce,N===0&&D===\"pixel\"){let de=o[y];o[y]=F(o[y],!0),_.coercePosition(a,L,i,X,y,.25),a[y]=B(a[y]),o[y]=de}});else{if(_.getRefType(O)===\"range\"?(z=_.getFromId(L,O),z._shapeIndices.push(a._index),B=e.rangeToShapePosition(z),F=e.shapePositionToRange(z),T&&(z.type===\"category\"||z.type===\"multicategory\")&&(i(g+\"0shift\"),i(g+\"1shift\"))):F=B=d.identity,T){let X=g+\"0\",$=g+\"1\",ue=o[X],ce=o[$];o[X]=F(o[X],!0),o[$]=F(o[$],!0),D===\"pixel\"?(i(X,M[0]),i($,M[1])):(_.coercePosition(a,L,i,O,X,S[0]),_.coercePosition(a,L,i,O,$,S[1])),a[X]=B(a[X]),a[$]=B(a[$]),o[X]=ue,o[$]=ce}if(D===\"pixel\"){let X=o[y];o[y]=F(o[y],!0),_.coercePosition(a,L,i,O,y,.25),a[y]=B(a[y]),o[y]=X}}}),T&&d.noneOrAll(o,a,[\"x0\",\"x1\",\"y0\",\"y1\"]);var m=c===\"line\",b,p;if(T&&(b=i(\"label.texttemplate\"),i(\"label.texttemplatefallback\")),b||(p=i(\"label.text\")),p||b){i(\"label.textangle\");var u=i(\"label.textposition\",m?\"middle\":\"middle center\");i(\"label.xanchor\"),i(\"label.yanchor\",t(m,u)),i(\"label.padding\"),d.coerceFont(i,\"label.font\",n.font)}}}}),c9=Ge({\"src/components/shapes/draw_newshape/defaults.js\"(Z,G){\"use strict\";var d=$n(),_=sa();function A(E,e){return E?\"bottom\":e.indexOf(\"top\")!==-1?\"top\":e.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}G.exports=function(e,t,r){r(\"newshape.visible\"),r(\"newshape.name\"),r(\"newshape.showlegend\"),r(\"newshape.legend\"),r(\"newshape.legendwidth\"),r(\"newshape.legendgroup\"),r(\"newshape.legendgrouptitle.text\"),_.coerceFont(r,\"newshape.legendgrouptitle.font\"),r(\"newshape.legendrank\"),r(\"newshape.drawdirection\"),r(\"newshape.layer\"),r(\"newshape.fillcolor\"),r(\"newshape.fillrule\"),r(\"newshape.opacity\");var o=r(\"newshape.line.width\");if(o){var a=(e||{}).plot_bgcolor||\"#FFF\";r(\"newshape.line.color\",d.contrast(a)),r(\"newshape.line.dash\")}var n=e.dragmode===\"drawline\",i=r(\"newshape.label.text\"),s=r(\"newshape.label.texttemplate\");if(r(\"newshape.label.texttemplatefallback\"),i||s){r(\"newshape.label.textangle\");var h=r(\"newshape.label.textposition\",n?\"middle\":\"middle center\");r(\"newshape.label.xanchor\"),r(\"newshape.label.yanchor\",A(n,h)),r(\"newshape.label.padding\"),_.coerceFont(r,\"newshape.label.font\",t.font)}r(\"activeshape.fillcolor\"),r(\"activeshape.opacity\")}}}),f9=Ge({\"src/components/shapes/calc_autorange.js\"(Z,G){\"use strict\";var d=sa(),_=Wo(),A=L_(),E=a0();G.exports=function(i){var s=i._fullLayout,h=d.filterVisible(s.shapes);if(!(!h.length||!i._fullData.length))for(var f=0;f{c=_.getFromId(i,S),v._extremes[c._id]=_.findExtremes(c,M,t(v))})}else v.xref!==\"paper\"&&l!==\"domain\"&&(c=_.getFromId(i,v.xref),T=a(c,v,A.paramIsX),T&&(v._extremes[c._id]=_.findExtremes(c,T,t(v))));if(x===\"array\"){let w=e(i,v,\"y\");Object.entries(w).forEach(([S,M])=>{c=_.getFromId(i,S),v._extremes[c._id]=_.findExtremes(c,M,r(v))})}else v.yref!==\"paper\"&&x!==\"domain\"&&(c=_.getFromId(i,v.yref),T=a(c,v,A.paramIsY),T&&(v._extremes[c._id]=_.findExtremes(c,T,r(v))))}};function e(n,i,s){let h=i[s+\"ref\"],f=s===\"x\"?A.paramIsX:A.paramIsY;function v(S,M){S===\"paper\"||_.getRefType(S)===\"domain\"||(c[S]||(c[S]=[]),c[S].push(M))}let c={};if(i.type===\"path\"&&i.path){let S=i.path.match(A.segmentRE)||[];for(var T=0,l=0;lb&&(v(h[T],p[b]),T++)}}else v(h[0],i[s+\"0\"]),v(h[1],i[s+\"1\"]);let x={};for(let S in c){let M=_.getFromId(n,S);if(M){var w=M.type===\"category\"||M.type===\"multicategory\"?M.r2c:M.d2c;M.type===\"date\"&&(w=E.decodeDate(w)),x[M._id]=c[S].map(w)}}return x}function t(n){return o(n.line.width,n.xsizemode,n.x0,n.x1,n.path,!1)}function r(n){return o(n.line.width,n.ysizemode,n.y0,n.y1,n.path,!0)}function o(n,i,s,h,f,v){var c=n/2,T=v;if(i===\"pixel\"){var l=f?E.extractPathCoords(f,v?A.paramIsY:A.paramIsX):[s,h],x=d.aggNums(Math.max,null,l),w=d.aggNums(Math.min,null,l),S=w<0?Math.abs(w)+c:c,M=x>0?x+c:c;return{ppad:c,ppadplus:T?S:M,ppadminus:T?M:S}}else return{ppad:c}}function a(n,i,s){var h=n._id.charAt(0)===\"x\"?\"x\":\"y\",f=n.type===\"category\"||n.type===\"multicategory\",v,c,T=0,l=0,x=f?n.r2c:n.d2c,w=i[h+\"sizemode\"]===\"scaled\";if(w?(v=i[h+\"0\"],c=i[h+\"1\"],f&&(T=i[h+\"0shift\"],l=i[h+\"1shift\"])):(v=i[h+\"anchor\"],c=i[h+\"anchor\"]),v!==void 0)return[x(v)+T,x(c)+l];if(i.path){var S=1/0,M=-1/0,m=i.path.match(A.segmentRE),b,p,u,g,y;for(n.type===\"date\"&&(x=E.decodeDate(x)),b=0;bM&&(M=y)));if(M>=S)return[S,M]}}}}),h9=Ge({\"src/components/shapes/index.js\"(Z,G){\"use strict\";var d=E2();G.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:j5(),supplyLayoutDefaults:u9(),supplyDrawNewShapeDefaults:c9(),includeBasePlot:D_()(\"shapes\"),calcAutorange:f9(),draw:d.draw,drawOne:d.drawOne}}}),q5=Ge({\"src/components/images/attributes.js\"(Z,G){\"use strict\";var d=lh(),_=zl().templatedArray,A=R_();G.exports=_(\"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\",d.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",d.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})}}),p9=Ge({\"src/components/images/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Wo(),A=pp(),E=q5(),e=\"images\";G.exports=function(o,a){var n={name:e,handleItemDefaults:t};A(o,a,n)};function t(r,o,a){function n(x,w){return d.coerce(r,o,E,x,w)}var i=n(\"source\"),s=n(\"visible\",!!i);if(!s)return o;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var h={_fullLayout:a},f=[\"x\",\"y\"],v=0;v<2;v++){var c=f[v],T=_.coerceRef(r,o,h,c,\"paper\",void 0);if(T!==\"paper\"){var l=_.getFromId(h,T);l._imgIndices.push(o._index)}_.coercePosition(o,h,n,T,c,0)}return o}}}),d9=Ge({\"src/components/images/draw.js\"(Z,G){\"use strict\";var d=Vn(),_=as(),A=Wo(),E=tf(),e=vd();G.exports=function(r){var o=r._fullLayout,a=[],n={},i=[],s,h;for(h=0;h0);f&&(s(\"active\"),s(\"direction\"),s(\"type\"),s(\"showactive\"),s(\"x\"),s(\"y\"),d.noneOrAll(a,n,[\"x\",\"y\"]),s(\"xanchor\"),s(\"yanchor\"),s(\"pad.t\"),s(\"pad.r\"),s(\"pad.b\"),s(\"pad.l\"),d.coerceFont(s,\"font\",i.font),s(\"bgcolor\",i.paper_bgcolor),s(\"bordercolor\"),s(\"borderwidth\"))}function o(a,n){function i(h,f){return d.coerce(a,n,t,h,f)}var s=i(\"visible\",a.method===\"skip\"||Array.isArray(a.args));s&&(i(\"method\"),i(\"args\"),i(\"args2\"),i(\"label\"),i(\"execute\"))}}}),y9=Ge({\"src/components/updatemenus/scrollbox.js\"(Z,G){\"use strict\";G.exports=e;var d=Vn(),_=$n(),A=as(),E=sa();function e(t,r,o){this.gd=t,this.container=r,this.id=o,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})}e.barWidth=2,e.barLength=20,e.barRadius=2,e.barPad=1,e.barColor=\"#808BA4\",e.prototype.enable=function(r,o,a){var n=this.gd._fullLayout,i=n.width,s=n.height;this.position=r;var h=this.position.l,f=this.position.w,v=this.position.t,c=this.position.h,T=this.position.direction,l=T===\"down\",x=T===\"left\",w=T===\"right\",S=T===\"up\",M=f,m=c,b,p,u,g;!l&&!x&&!w&&!S&&(this.position.direction=\"down\",l=!0);var y=l||S;y?(b=h,p=b+M,l?(u=v,g=Math.min(u+m,s),m=g-u):(g=v+m,u=Math.max(g-m,0),m=g-u)):(u=v,g=u+m,x?(p=h+M,b=Math.max(p-M,0),M=p-b):(b=h,p=Math.min(b+M,i),M=p-b)),this._box={l:b,t:u,w:M,h:m};var D=f>M,L=e.barLength+2*e.barPad,z=e.barWidth+2*e.barPad,F=h,B=v+c;B+z>s&&(B=s-z);var O=this.container.selectAll(\"rect.scrollbar-horizontal\").data(D?[0]:[]);O.exit().on(\".drag\",null).remove(),O.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(_.fill,e.barColor),D?(this.hbar=O.attr({rx:e.barRadius,ry:e.barRadius,x:F,y:B,width:L,height:z}),this._hbarXMin=F+L/2,this._hbarTranslateMax=M-L):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var P=c>m,U=e.barWidth+2*e.barPad,N=e.barLength+2*e.barPad,X=h+f,$=v;X+U>i&&(X=i-U);var ue=this.container.selectAll(\"rect.scrollbar-vertical\").data(P?[0]:[]);ue.exit().on(\".drag\",null).remove(),ue.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(_.fill,e.barColor),P?(this.vbar=ue.attr({rx:e.barRadius,ry:e.barRadius,x:X,y:$,width:U,height:N}),this._vbarYMin=$+N/2,this._vbarTranslateMax=m-N):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var ce=this.id,de=b-.5,V=P?p+U+.5:p+.5,Y=u-.5,ee=D?g+z+.5:g+.5,q=n._topdefs.selectAll(\"#\"+ce).data(D||P?[0]:[]);if(q.exit().remove(),q.enter().append(\"clipPath\").attr(\"id\",ce).append(\"rect\"),D||P?(this._clipRect=q.select(\"rect\").attr({x:Math.floor(de),y:Math.floor(Y),width:Math.ceil(V)-Math.floor(de),height:Math.ceil(ee)-Math.floor(Y)}),this.container.call(A.setClipUrl,ce,this.gd),this.bg.attr({x:h,y:v,width:f,height:c})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(A.setClipUrl,null),delete this._clipRect),D||P){var se=d.behavior.drag().on(\"dragstart\",function(){d.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(se);var ae=d.behavior.drag().on(\"dragstart\",function(){d.event.sourceEvent.preventDefault(),d.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));D&&this.hbar.on(\".drag\",null).call(ae),P&&this.vbar.on(\".drag\",null).call(ae)}this.setTranslate(o,a)},e.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(A.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)},e.prototype._onBoxDrag=function(){var r=this.translateX,o=this.translateY;this.hbar&&(r-=d.event.dx),this.vbar&&(o-=d.event.dy),this.setTranslate(r,o)},e.prototype._onBoxWheel=function(){var r=this.translateX,o=this.translateY;this.hbar&&(r+=d.event.deltaY),this.vbar&&(o+=d.event.deltaY),this.setTranslate(r,o)},e.prototype._onBarDrag=function(){var r=this.translateX,o=this.translateY;if(this.hbar){var a=r+this._hbarXMin,n=a+this._hbarTranslateMax,i=E.constrain(d.event.x,a,n),s=(i-a)/(n-a),h=this.position.w-this._box.w;r=s*h}if(this.vbar){var f=o+this._vbarYMin,v=f+this._vbarTranslateMax,c=E.constrain(d.event.y,f,v),T=(c-f)/(v-f),l=this.position.h-this._box.h;o=T*l}this.setTranslate(r,o)},e.prototype.setTranslate=function(r,o){var a=this.position.w-this._box.w,n=this.position.h-this._box.h;if(r=E.constrain(r||0,0,a),o=E.constrain(o||0,0,n),this.translateX=r,this.translateY=o,this.container.call(A.setTranslate,this._box.l-this.position.l-r,this._box.t-this.position.t-o),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+r-.5),y:Math.floor(this.position.t+o-.5)}),this.hbar){var i=r/a;this.hbar.call(A.setTranslate,r+i*this._hbarTranslateMax,o)}if(this.vbar){var s=o/n;this.vbar.call(A.setTranslate,r,o+s*this._vbarTranslateMax)}}}}),_9=Ge({\"src/components/updatemenus/draw.js\"(Z,G){\"use strict\";var d=Vn(),_=bc(),A=$n(),E=as(),e=sa(),t=su(),r=zl().arrayEditor,o=uh().LINE_SPACING,a=F2(),n=y9();G.exports=function(L){var z=L._fullLayout,F=e.filterVisible(z[a.name]);function B(ce){_.autoMargin(L,u(ce))}var O=z._menulayer.selectAll(\"g.\"+a.containerClassName).data(F.length>0?[0]:[]);if(O.enter().append(\"g\").classed(a.containerClassName,!0).style(\"cursor\",\"pointer\"),O.exit().each(function(){d.select(this).selectAll(\"g.\"+a.headerGroupClassName).each(B)}).remove(),F.length!==0){var P=O.selectAll(\"g.\"+a.headerGroupClassName).data(F,i);P.enter().append(\"g\").classed(a.headerGroupClassName,!0);for(var U=e.ensureSingle(O,\"g\",a.dropdownButtonGroupClassName,function(ce){ce.style(\"pointer-events\",\"all\")}),N=0;N0?[0]:[]);X.enter().append(\"g\").classed(a.containerClassName,!0).style(\"cursor\",P?null:\"ew-resize\");function $(V){V._commandObserver&&(V._commandObserver.remove(),delete V._commandObserver),_.autoMargin(O,f(V))}if(X.exit().each(function(){d.select(this).selectAll(\"g.\"+a.groupClassName).each($)}).remove(),N.length!==0){var ue=X.selectAll(\"g.\"+a.groupClassName).data(N,c);ue.enter().append(\"g\").classed(a.groupClassName,!0),ue.exit().each($).remove();for(var ce=0;ce0&&(ue=ue.transition().duration(O.transition.duration).ease(O.transition.easing)),ue.attr(\"transform\",t($-a.gripWidth*.5,O._dims.currentValueTotalHeight))}}function D(B,O){var P=B._dims;return P.inputAreaStart+a.stepInset+(P.inputAreaLength-2*a.stepInset)*Math.min(1,Math.max(0,O))}function L(B,O){var P=B._dims;return Math.min(1,Math.max(0,(O-a.stepInset-P.inputAreaStart)/(P.inputAreaLength-2*a.stepInset-2*P.inputAreaStart)))}function z(B,O,P){var U=P._dims,N=e.ensureSingle(B,\"rect\",a.railTouchRectClass,function(X){X.call(p,O,B,P).style(\"pointer-events\",\"all\")});N.attr({width:U.inputAreaLength,height:Math.max(U.inputAreaWidth,a.tickOffset+P.ticklen+U.labelHeight)}).call(A.fill,P.bgcolor).attr(\"opacity\",0),E.setTranslate(N,0,U.currentValueTotalHeight)}function F(B,O){var P=O._dims,U=P.inputAreaLength-a.railInset*2,N=e.ensureSingle(B,\"rect\",a.railRectClass);N.attr({width:U,height:a.railWidth,rx:a.railRadius,ry:a.railRadius,\"shape-rendering\":\"crispEdges\"}).call(A.stroke,O.bordercolor).call(A.fill,O.bgcolor).style(\"stroke-width\",O.borderwidth+\"px\"),E.setTranslate(N,a.railInset,(P.inputAreaWidth-a.railWidth)*.5+P.currentValueTotalHeight)}}}),T9=Ge({\"src/components/sliders/index.js\"(Z,G){\"use strict\";var d=O_();G.exports={moduleType:\"component\",name:d.name,layoutAttributes:G5(),supplyLayoutDefaults:b9(),draw:w9()}}}),O2=Ge({\"src/components/rangeslider/attributes.js\"(Z,G){\"use strict\";var d=sh();G.exports={bgcolor:{valType:\"color\",dflt:d.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:d.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\"}}}),H5=Ge({\"src/components/rangeslider/oppaxis_attributes.js\"(Z,G){\"use strict\";G.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\"}}}),B2=Ge({\"src/components/rangeslider/constants.js\"(Z,G){\"use strict\";G.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}}}),A9=Ge({\"src/components/rangeslider/helpers.js\"(Z){\"use strict\";var G=tf(),d=su(),_=B2(),A=uh().LINE_SPACING,E=_.name;function e(t){var r=t&&t[E];return r&&r.visible}Z.isVisible=e,Z.makeData=function(t){for(var r=G.list({_fullLayout:t},\"x\",!0),o=t.margin,a=[],n=0;n=nt.max)He=pe[at+1];else if(Re=nt.pmax)He=pe[at+1];else if(Re0?p.touches[0].clientX:0}function v(p,u,g,y){if(u._context.staticPlot)return;var D=p.select(\"rect.\"+h.slideBoxClassName).node(),L=p.select(\"rect.\"+h.grabAreaMinClassName).node(),z=p.select(\"rect.\"+h.grabAreaMaxClassName).node();function F(){var B=d.event,O=B.target,P=f(B),U=P-p.node().getBoundingClientRect().left,N=y.d2p(g._rl[0]),X=y.d2p(g._rl[1]),$=i.coverSlip();this.addEventListener(\"touchmove\",ue),this.addEventListener(\"touchend\",ce),$.addEventListener(\"mousemove\",ue),$.addEventListener(\"mouseup\",ce);function ue(de){var V=f(de),Y=+V-P,ee,q,se;switch(O){case D:if(se=\"ew-resize\",N+Y>g._length||X+Y<0)return;ee=N+Y,q=X+Y;break;case L:if(se=\"col-resize\",N+Y>g._length)return;ee=N+Y,q=X;break;case z:if(se=\"col-resize\",X+Y<0)return;ee=N,q=X+Y;break;default:se=\"ew-resize\",ee=U,q=U+Y;break}if(q0);if(x){var w=o(i,s,h);T(\"x\",w[0]),T(\"y\",w[1]),d.noneOrAll(n,i,[\"x\",\"y\"]),T(\"xanchor\"),T(\"yanchor\"),d.coerceFont(T,\"font\",s.font);var S=T(\"bgcolor\");T(\"activecolor\",_.contrast(S,t.lightAmount,t.darkAmount)),T(\"bordercolor\"),T(\"borderwidth\")}};function r(a,n,i,s){var h=s.calendar;function f(T,l){return d.coerce(a,n,e.buttons,T,l)}var v=f(\"visible\");if(v){var c=f(\"step\");c!==\"all\"&&(h&&h!==\"gregorian\"&&(c===\"month\"||c===\"year\")?n.stepmode=\"backward\":f(\"stepmode\"),f(\"count\")),f(\"label\")}}function o(a,n,i){for(var s=i.filter(function(c){return n[c].anchor===a._id}),h=0,f=0;f1)){delete h.grid;return}if(!T&&!l&&!x){var g=b(\"pattern\")===\"independent\";g&&(T=!0)}m._hasSubplotGrid=T;var y=b(\"roworder\"),D=y===\"top to bottom\",L=T?.2:.1,z=T?.3:.1,F,B;w&&h._splomGridDflt&&(F=h._splomGridDflt.xside,B=h._splomGridDflt.yside),m._domains={x:a(\"x\",b,L,F,u),y:a(\"y\",b,z,B,p,D)}}function a(s,h,f,v,c,T){var l=h(s+\"gap\",f),x=h(\"domain.\"+s);h(s+\"side\",v);for(var w=new Array(c),S=x[0],M=(x[1]-S)/(c-l),m=M*(1-l),b=0;b0,v=r._context.staticPlot;o.each(function(c){var T=c[0].trace,l=T.error_x||{},x=T.error_y||{},w;T.ids&&(w=function(b){return b.id});var S=E.hasMarkers(T)&&T.marker.maxdisplayed>0;!x.visible&&!l.visible&&(c=[]);var M=d.select(this).selectAll(\"g.errorbar\").data(c,w);if(M.exit().remove(),!!c.length){l.visible||M.selectAll(\"path.xerror\").remove(),x.visible||M.selectAll(\"path.yerror\").remove(),M.style(\"opacity\",1);var m=M.enter().append(\"g\").classed(\"errorbar\",!0);f&&m.style(\"opacity\",0).transition().duration(n.duration).style(\"opacity\",1),A.setClipUrl(M,a.layerClipId,r),M.each(function(b){var p=d.select(this),u=e(b,s,h);if(!(S&&!b.vis)){var g,y=p.select(\"path.yerror\");if(x.visible&&_(u.x)&&_(u.yh)&&_(u.ys)){var D=x.width;g=\"M\"+(u.x-D)+\",\"+u.yh+\"h\"+2*D+\"m-\"+D+\",0V\"+u.ys,u.noYS||(g+=\"m-\"+D+\",0h\"+2*D),i=!y.size(),i?y=p.append(\"path\").style(\"vector-effect\",v?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):f&&(y=y.transition().duration(n.duration).ease(n.easing)),y.attr(\"d\",g)}else y.remove();var L=p.select(\"path.xerror\");if(l.visible&&_(u.y)&&_(u.xh)&&_(u.xs)){var z=(l.copy_ystyle?x:l).width;g=\"M\"+u.xh+\",\"+(u.y-z)+\"v\"+2*z+\"m0,-\"+z+\"H\"+u.xs,u.noXS||(g+=\"m0,-\"+z+\"v\"+2*z),i=!L.size(),i?L=p.append(\"path\").style(\"vector-effect\",v?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):f&&(L=L.transition().duration(n.duration).ease(n.easing)),L.attr(\"d\",g)}else L.remove()}})}})};function e(t,r,o){var a={x:r.c2p(t.x),y:o.c2p(t.y)};return t.yh!==void 0&&(a.yh=o.c2p(t.yh),a.ys=o.c2p(t.ys),_(a.ys)||(a.noYS=!0,a.ys=o.c2p(t.ys,!0))),t.xh!==void 0&&(a.xh=r.c2p(t.xh),a.xs=r.c2p(t.xs),_(a.xs)||(a.noXS=!0,a.xs=r.c2p(t.xs,!0))),a}}}),F9=Ge({\"src/components/errorbars/style.js\"(Z,G){\"use strict\";var d=Vn(),_=$n();G.exports=function(E){E.each(function(e){var t=e[0].trace,r=t.error_y||{},o=t.error_x||{},a=d.select(this);a.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(_.stroke,r.color),o.copy_ystyle&&(o=r),a.selectAll(\"path.xerror\").style(\"stroke-width\",o.thickness+\"px\").call(_.stroke,o.color)})}}}),O9=Ge({\"src/components/errorbars/index.js\"(Z,G){\"use strict\";var d=sa(),_=pc().overrideAll,A=Z5(),E={error_x:d.extendFlat({},A),error_y:d.extendFlat({},A)};delete E.error_x.copy_zstyle,delete E.error_y.copy_zstyle,delete E.error_y.copy_ystyle;var e={error_x:d.extendFlat({},A),error_y:d.extendFlat({},A),error_z:d.extendFlat({},A)};delete e.error_x.copy_ystyle,delete e.error_y.copy_ystyle,delete e.error_z.copy_ystyle,delete e.error_z.copy_zstyle,G.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:E,bar:E,histogram:E,scatter3d:_(e,\"calc\",\"nested\"),scattergl:_(E,\"calc\",\"nested\")}},supplyDefaults:R9(),calc:D9(),makeComputeError:Y5(),plot:z9(),style:F9(),hoverInfo:t};function t(r,o,a){(o.error_y||{}).visible&&(a.yerr=r.yh-r.y,o.error_y.symmetric||(a.yerrneg=r.y-r.ys)),(o.error_x||{}).visible&&(a.xerr=r.xh-r.x,o.error_x.symmetric||(a.xerrneg=r.x-r.xs))}}}),B9=Ge({\"src/components/colorbar/constants.js\"(Z,G){\"use strict\";G.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\"}}}}),N9=Ge({\"src/components/colorbar/draw.js\"(Z,G){\"use strict\";var d=Vn(),_=Ch(),A=bc(),E=so(),e=Wo(),t=Ap(),r=sa(),o=r.strTranslate,a=rs().extendFlat,n=Kd(),i=as(),s=$n(),h=K0(),f=su(),v=wp().flipScale,c=F_(),T=R2(),l=Wh(),x=uh(),w=x.LINE_SPACING,S=x.FROM_TL,M=x.FROM_BR,m=B9().cn;function b(L){var z=L._fullLayout,F=z._infolayer.selectAll(\"g.\"+m.colorbar).data(p(L),function(B){return B._id});F.enter().append(\"g\").attr(\"class\",function(B){return B._id}).classed(m.colorbar,!0),F.each(function(B){var O=d.select(this);r.ensureSingle(O,\"rect\",m.cbbg),r.ensureSingle(O,\"g\",m.cbfills),r.ensureSingle(O,\"g\",m.cblines),r.ensureSingle(O,\"g\",m.cbaxis,function(U){U.classed(m.crisp,!0)}),r.ensureSingle(O,\"g\",m.cbtitleunshift,function(U){U.append(\"g\").classed(m.cbtitle,!0)}),r.ensureSingle(O,\"rect\",m.cboutline);var P=u(O,B,L);P&&P.then&&(L._promises||[]).push(P),L._context.edits.colorbarPosition&&g(O,B,L)}),F.exit().each(function(B){A.autoMargin(L,B._id)}).remove(),F.order()}function p(L){var z=L._fullLayout,F=L.calcdata,B=[],O,P,U,N;function X(j){return a(j,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function $(){typeof N.calc==\"function\"?N.calc(L,U,O):(O._fillgradient=P.reversescale?v(P.colorscale):P.colorscale,O._zrange=[P[N.min],P[N.max]])}for(var ue=0;ue1){var Oe=Math.pow(10,Math.floor(Math.log(xt)/Math.LN10));Er*=Oe*r.roundUp(xt/Oe,[2,5,10]),(Math.abs(at.start)/at.size+1e-6)%1<2e-6&&(mr.tick0=0)}mr.dtick=Er}mr.domain=B?[Gt+Y/Q.h,Gt+Ce-Y/Q.h]:[Gt+V/Q.w,Gt+Ce-V/Q.w],mr.setScale(),L.attr(\"transform\",o(Math.round(Q.l),Math.round(Q.t)));var Ke=L.select(\".\"+m.cbtitleunshift).attr(\"transform\",o(-Math.round(Q.l),-Math.round(Q.t))),Ae=mr.ticklabelposition,Le=mr.title.font.size,We=L.select(\".\"+m.cbaxis),Je,st=0,ot=0;function Ut(lr,sr){var Pr={propContainer:mr,propName:z._propPrefix+\"title.text\",traceIndex:z._traceIndex,_meta:z._meta,placeholder:j._dfltTitle.colorbar,containerGroup:L.select(\".\"+m.cbtitle)},_a=lr.charAt(0)===\"h\"?lr.slice(1):\"h\"+lr;L.selectAll(\".\"+_a+\",.\"+_a+\"-math-group\").remove(),h.draw(F,lr,a(Pr,sr||{}))}function Ct(){if(B&&qr||!B&&!qr){var lr,sr;Se===\"top\"&&(lr=V+Q.l+Ze*ee,sr=Y+Q.t+rt*(1-Gt-Ce)+3+Le*.75),Se===\"bottom\"&&(lr=V+Q.l+Ze*ee,sr=Y+Q.t+rt*(1-Gt)-3-Le*.25),Se===\"right\"&&(sr=Y+Q.t+rt*q+3+Le*.75,lr=V+Q.l+Ze*Gt),Ut(mr._id+\"title\",{attributes:{x:lr,y:sr,\"text-anchor\":B?\"start\":\"middle\"}})}}function Pt(){if(B&&!qr||!B&&qr){var lr=mr.position||0,sr=mr._offset+mr._length/2,Pr,_a;if(Se===\"right\")_a=sr,Pr=Q.l+Ze*lr+10+Le*(mr.showticklabels?1:.5);else if(Pr=sr,Se===\"bottom\"&&(_a=Q.t+rt*lr+10+(Ae.indexOf(\"inside\")===-1?mr.tickfont.size:0)+(mr.ticks!==\"inside\"&&z.ticklen||0)),Se===\"top\"){var Fa=we.text.split(\"
\").length;_a=Q.t+rt*lr+10-he-w*Le*Fa}Ut((B?\"h\":\"v\")+mr._id+\"title\",{avoid:{selection:d.select(F).selectAll(\"g.\"+mr._id+\"tick\"),side:Se,offsetTop:B?0:Q.t,offsetLeft:B?Q.l:0,maxShift:B?j.width:j.height},attributes:{x:Pr,y:_a,\"text-anchor\":\"middle\"},transform:{rotate:B?-90:0,offset:0}})}}function Nt(){if(!B&&!qr||B&&qr){var lr=L.select(\".\"+m.cbtitle),sr=lr.select(\"text\"),Pr=[-X/2,X/2],_a=lr.select(\".h\"+mr._id+\"title-math-group\").node(),Fa=15.6;sr.node()&&(Fa=parseInt(sr.node().style.fontSize,10)*w);var Ra;if(_a?(Ra=i.bBox(_a),ot=Ra.width,st=Ra.height,st>Fa&&(Pr[1]-=(st-Fa)/2)):sr.node()&&!sr.classed(m.jsPlaceholder)&&(Ra=i.bBox(sr.node()),ot=Ra.width,st=Ra.height),B){if(st){if(st+=5,Se===\"top\")mr.domain[1]-=st/Q.h,Pr[1]*=-1;else{mr.domain[0]+=st/Q.h;var qa=f.lineCount(sr);Pr[1]+=(1-qa)*Fa}lr.attr(\"transform\",o(Pr[0],Pr[1])),mr.setScale()}}else ot&&(Se===\"right\"&&(mr.domain[0]+=(ot+Le/2)/Q.w),lr.attr(\"transform\",o(Pr[0],Pr[1])),mr.setScale())}L.selectAll(\".\"+m.cbfills+\",.\"+m.cblines).attr(\"transform\",B?o(0,Math.round(Q.h*(1-mr.domain[1]))):o(Math.round(Q.w*mr.domain[0]),0)),We.attr(\"transform\",B?o(0,Math.round(-Q.t)):o(Math.round(-Q.l),0));var Wa=L.select(\".\"+m.cbfills).selectAll(\"rect.\"+m.cbfill).attr(\"style\",\"\").data(tt);Wa.enter().append(\"rect\").classed(m.cbfill,!0).attr(\"style\",\"\"),Wa.exit().remove();var Ca=Ie.map(mr.c2p).map(Math.round).sort(function(Zt,Jt){return Zt-Jt});Wa.each(function(Zt,Jt){var Or=[Jt===0?Ie[0]:(tt[Jt]+tt[Jt-1])/2,Jt===tt.length-1?Ie[1]:(tt[Jt]+tt[Jt+1])/2].map(mr.c2p).map(Math.round);B&&(Or[1]=r.constrain(Or[1]+(Or[1]>Or[0])?1:-1,Ca[0],Ca[1]));var ta=d.select(this).attr(B?\"x\":\"y\",Ye).attr(B?\"y\":\"x\",d.min(Or)).attr(B?\"width\":\"height\",Math.max(he,2)).attr(B?\"height\":\"width\",Math.max(d.max(Or)-d.min(Or),2));if(z._fillgradient)i.gradient(ta,F,z._id,B?\"vertical\":\"horizontalreversed\",z._fillgradient,\"fill\");else{var ra=He(Zt).replace(\"e-\",\"\");ta.attr(\"fill\",_(ra).toHexString())}});var hi=L.select(\".\"+m.cblines).selectAll(\"path.\"+m.cbline).data(pe.color&&pe.width?Ue:[]);hi.enter().append(\"path\").classed(m.cbline,!0),hi.exit().remove(),hi.each(function(Zt){var Jt=Ye,Or=Math.round(mr.c2p(Zt))+pe.width/2%1;d.select(this).attr(\"d\",\"M\"+(B?Jt+\",\"+Or:Or+\",\"+Jt)+(B?\"h\":\"v\")+he).call(i.lineGroupStyle,pe.width,Re(Zt),pe.dash)}),We.selectAll(\"g.\"+mr._id+\"tick,path\").remove();var wi=Ye+he+(X||0)/2-(z.ticks===\"outside\"?1:0),Yt=e.calcTicks(mr),Rt=e.getTickSigns(mr)[2];return e.drawTicks(F,mr,{vals:mr.ticks===\"inside\"?e.clipEnds(mr,Yt):Yt,layer:We,path:e.makeTickPath(mr,wi,Rt),transFn:e.makeTransTickFn(mr)}),e.drawLabels(F,mr,{vals:Yt,layer:We,transFn:e.makeTransTickLabelFn(mr),labelFns:e.makeLabelFns(mr,wi)})}function cr(){var lr,sr=he+X/2;Ae.indexOf(\"inside\")===-1&&(lr=i.bBox(We.node()),sr+=B?lr.width:lr.height),Je=Ke.select(\"text\");var Pr=0,_a=B&&Se===\"top\",Fa=!B&&Se===\"right\",Ra=0;if(Je.node()&&!Je.classed(m.jsPlaceholder)){var qa,Wa=Ke.select(\".h\"+mr._id+\"title-math-group\").node();Wa&&(B&&qr||!B&&!qr)?(lr=i.bBox(Wa),Pr=lr.width,qa=lr.height):(lr=i.bBox(Ke.node()),Pr=lr.right-Q.l-(B?Ye:Tr),qa=lr.bottom-Q.t-(B?Tr:Ye),!B&&Se===\"top\"&&(sr+=lr.height,Ra=lr.height)),Fa&&(Je.attr(\"transform\",o(Pr/2+Le/2,0)),Pr*=2),sr=Math.max(sr,B?Pr:qa)}var Ca=(B?V:Y)*2+sr+$+X/2,hi=0;!B&&we.text&&de===\"bottom\"&&q<=0&&(hi=Ca/2,Ca+=hi,Ra+=hi),j._hColorbarMoveTitle=hi,j._hColorbarMoveCBTitle=Ra;var wi=$+X,Yt=(B?Ye:Tr)-wi/2-(B?V:0),Rt=(B?Tr:Ye)-(B?ne:Y+Ra-hi);L.select(\".\"+m.cbbg).attr(\"x\",Yt).attr(\"y\",Rt).attr(B?\"width\":\"height\",Math.max(Ca-hi,2)).attr(B?\"height\":\"width\",Math.max(ne+wi,2)).call(s.fill,ue).call(s.stroke,z.bordercolor).style(\"stroke-width\",$);var Zt=Fa?Math.max(Pr-10,0):0;L.selectAll(\".\"+m.cboutline).attr(\"x\",(B?Ye:Tr+V)+Zt).attr(\"y\",(B?Tr+Y-ne:Ye)+(_a?st:0)).attr(B?\"width\":\"height\",Math.max(he,2)).attr(B?\"height\":\"width\",Math.max(ne-(B?2*Y+st:2*V+Zt),2)).call(s.stroke,z.outlinecolor).style({fill:\"none\",\"stroke-width\":X});var Jt=B?St*Ca:0,Or=B?0:(1-kt)*Ca-Ra;if(Jt=ae?Q.l-Jt:-Jt,Or=se?Q.t-Or:-Or,L.attr(\"transform\",o(Jt,Or)),!B&&($||_(ue).getAlpha()&&!_.equals(j.paper_bgcolor,ue))){var ta=We.selectAll(\"text\"),ra=ta[0].length,ca=L.select(\".\"+m.cbbg).node(),Ba=i.bBox(ca),$a=i.getTranslate(L),Za=2;ta.each(function(Cr,wr){var Rr=0,Ur=ra-1;if(wr===Rr||wr===Ur){var Hr=i.bBox(this),gt=i.getTranslate(this),Kt;if(wr===Ur){var vr=Hr.right+gt.x,Ir=Ba.right+$a.x+Tr-$-Za+ee;Kt=Ir-vr,Kt>0&&(Kt=0)}else if(wr===Rr){var va=Hr.left+gt.x,Pa=Ba.left+$a.x+Tr+$+Za;Kt=Pa-va,Kt<0&&(Kt=0)}Kt&&(ra<3?this.setAttribute(\"transform\",\"translate(\"+Kt+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var ri={},pi=S[ce],Ia=M[ce],rn=S[de],tn=M[de],cn=Ca-he;B?(P===\"pixels\"?(ri.y=q,ri.t=ne*rn,ri.b=ne*tn):(ri.t=ri.b=0,ri.yt=q+O*rn,ri.yb=q-O*tn),N===\"pixels\"?(ri.x=ee,ri.l=Ca*pi,ri.r=Ca*Ia):(ri.l=cn*pi,ri.r=cn*Ia,ri.xl=ee-U*pi,ri.xr=ee+U*Ia)):(P===\"pixels\"?(ri.x=ee,ri.l=ne*pi,ri.r=ne*Ia):(ri.l=ri.r=0,ri.xl=ee+O*pi,ri.xr=ee-O*Ia),N===\"pixels\"?(ri.y=1-q,ri.t=Ca*rn,ri.b=Ca*tn):(ri.t=cn*rn,ri.b=cn*tn,ri.yt=q-U*rn,ri.yb=q+U*tn));var _t=z.y<.5?\"b\":\"t\",ut=z.x<.5?\"l\":\"r\";F._fullLayout._reservedMargin[z._id]={};var Br={r:j.width-Yt-Jt,l:Yt+ri.r,b:j.height-Rt-Or,t:Rt+ri.b};ae&&se?A.autoMargin(F,z._id,ri):ae?F._fullLayout._reservedMargin[z._id][_t]=Br[_t]:se||B?F._fullLayout._reservedMargin[z._id][ut]=Br[ut]:F._fullLayout._reservedMargin[z._id][_t]=Br[_t]}return r.syncOrAsync([A.previousPromises,Ct,Nt,Pt,A.previousPromises,cr],F)}function g(L,z,F){var B=z.orientation===\"v\",O=F._fullLayout,P=O._size,U,N,X;t.init({element:L.node(),gd:F,prepFn:function(){U=L.attr(\"transform\"),n(L)},moveFn:function($,ue){L.attr(\"transform\",U+o($,ue)),N=t.align((B?z._uFrac:z._vFrac)+$/P.w,B?z._thickFrac:z._lenFrac,0,1,z.xanchor),X=t.align((B?z._vFrac:1-z._uFrac)-ue/P.h,B?z._lenFrac:z._thickFrac,0,1,z.yanchor);var ce=t.getCursor(N,X,z.xanchor,z.yanchor);n(L,ce)},doneFn:function(){if(n(L),N!==void 0&&X!==void 0){var $={};$[z._propPrefix+\"x\"]=N,$[z._propPrefix+\"y\"]=X,z._traceIndex!==void 0?E.call(\"_guiRestyle\",F,$,z._traceIndex):E.call(\"_guiRelayout\",F,$)}}})}function y(L,z,F){var B=z._levels,O=[],P=[],U,N,X=B.end+B.size/100,$=B.size,ue=1.001*F[0]-.001*F[1],ce=1.001*F[1]-.001*F[0];for(N=0;N<1e5&&(U=B.start+N*$,!($>0?U>=X:U<=X));N++)U>ue&&U0?U>=X:U<=X));N++)U>F[0]&&U-1}G.exports=function(o,a){var n,i=o.data,s=o.layout,h=E([],i),f=E({},s,e(a.tileClass)),v=o._context||{};if(a.width&&(f.width=a.width),a.height&&(f.height=a.height),a.tileClass===\"thumbnail\"||a.tileClass===\"themes__thumb\"){f.annotations=[];var c=Object.keys(f);for(n=0;n=0)return v}else if(typeof v==\"string\"&&(v=v.trim(),v.slice(-1)===\"%\"&&d(v.slice(0,-1))&&(v=+v.slice(0,-1),v>=0)))return v+\"%\"}function f(v,c,T,l,x,w){w=w||{};var S=w.moduleHasSelected!==!1,M=w.moduleHasUnselected!==!1,m=w.moduleHasConstrain!==!1,b=w.moduleHasCliponaxis!==!1,p=w.moduleHasTextangle!==!1,u=w.moduleHasInsideanchor!==!1,g=!!w.hasPathbar,y=Array.isArray(x)||x===\"auto\",D=y||x===\"inside\",L=y||x===\"outside\";if(D||L){var z=n(l,\"textfont\",T.font),F=_.extendFlat({},z),B=v.textfont&&v.textfont.color,O=!B;if(O&&delete F.color,n(l,\"insidetextfont\",F),g){var P=_.extendFlat({},z);O&&delete P.color,n(l,\"pathbar.textfont\",P)}L&&n(l,\"outsidetextfont\",z),S&&l(\"selected.textfont.color\"),M&&l(\"unselected.textfont.color\"),m&&l(\"constraintext\"),b&&l(\"cliponaxis\"),p&&l(\"textangle\"),l(\"texttemplate\"),l(\"texttemplatefallback\")}D&&u&&l(\"insidetextanchor\")}G.exports={supplyDefaults:i,crossTraceDefaults:s,handleText:f,validateCornerradius:h}}}),J5=Ge({\"src/traces/bar/layout_defaults.js\"(Z,G){\"use strict\";var d=so(),_=Wo(),A=sa(),E=U2(),e=gd().validateCornerradius;G.exports=function(t,r,o){function a(S,M){return A.coerce(t,r,E,S,M)}for(var n=!1,i=!1,s=!1,h={},f=a(\"barmode\"),v=f===\"group\",c=0;c0&&!h[l]&&(s=!0),h[l]=!0),T.visible&&T.type===\"histogram\"){var x=_.getFromId({_fullLayout:r},T[T.orientation===\"v\"?\"xaxis\":\"yaxis\"]);x.type!==\"category\"&&(i=!0)}}if(!n){delete r.barmode;return}f!==\"overlay\"&&a(\"barnorm\"),a(\"bargap\",i&&!s?0:.2),a(\"bargroupgap\");var w=a(\"barcornerradius\");r.barcornerradius=e(w)}}}),B_=Ge({\"src/traces/bar/arrays_to_calcdata.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E){for(var e=0;e g.point\"}o.selectAll(h).each(function(f){var v=f.transform;if(v){v.scale=s&&v.hide?0:i/v.fontSize;var c=d.select(this).select(\"text\");_.setTransormAndDisplay(c,v)}})}}function E(r,o,a){if(a.uniformtext.mode){var n=t(r),i=a.uniformtext.minsize,s=o.scale*o.fontSize;o.hide=sr;if(!o)return E}return e!==void 0?e:A.dflt},Z.coerceColor=function(A,E,e){return d(E).isValid()?E:e!==void 0?e:A.dflt},Z.coerceEnumerated=function(A,E,e){return A.coerceNumber&&(E=+E),A.values.indexOf(E)!==-1?E:e!==void 0?e:A.dflt},Z.getValue=function(A,E){var e;return _(A)?E1||g.bargap===0&&g.bargroupgap===0&&!y[0].trace.marker.line.width)&&d.select(this).attr(\"shape-rendering\",\"crispEdges\")}),p.selectAll(\"g.points\").each(function(y){var D=d.select(this),L=y[0].trace;h(D,L,b)}),e.getComponentMethod(\"errorbars\",\"style\")(p)}function h(b,p,u){A.pointStyle(b.selectAll(\"path\"),p,u),f(b,p,u)}function f(b,p,u){b.selectAll(\"text\").each(function(g){var y=d.select(this),D=E.ensureUniformFontSize(u,l(y,g,p,u));A.font(y,D)})}function v(b,p,u){var g=p[0].trace;g.selectedpoints?c(u,g,b):(h(u,g,b),e.getComponentMethod(\"errorbars\",\"style\")(u))}function c(b,p,u){A.selectedPointStyle(b.selectAll(\"path\"),p),T(b.selectAll(\"text\"),p,u)}function T(b,p,u){b.each(function(g){var y=d.select(this),D;if(g.selected){D=E.ensureUniformFontSize(u,l(y,g,p,u));var L=p.selected.textfont&&p.selected.textfont.color;L&&(D.color=L),A.font(y,D)}else A.selectedTextStyle(y,p)})}function l(b,p,u,g){var y=g._fullLayout.font,D=u.textfont;if(b.classed(\"bartext-inside\")){var L=m(p,u);D=w(u,p.i,y,L)}else b.classed(\"bartext-outside\")&&(D=S(u,p.i,y));return D}function x(b,p,u){return M(o,b.textfont,p,u)}function w(b,p,u,g){var y=x(b,p,u),D=b._input.textfont===void 0||b._input.textfont.color===void 0||Array.isArray(b.textfont.color)&&b.textfont.color[p]===void 0;return D&&(y={color:_.contrast(g),family:y.family,size:y.size,weight:y.weight,style:y.style,variant:y.variant,textcase:y.textcase,lineposition:y.lineposition,shadow:y.shadow}),M(a,b.insidetextfont,p,y)}function S(b,p,u){var g=x(b,p,u);return M(n,b.outsidetextfont,p,g)}function M(b,p,u,g){p=p||{};var y=i.getValue(p.family,u),D=i.getValue(p.size,u),L=i.getValue(p.color,u),z=i.getValue(p.weight,u),F=i.getValue(p.style,u),B=i.getValue(p.variant,u),O=i.getValue(p.textcase,u),P=i.getValue(p.lineposition,u),U=i.getValue(p.shadow,u);return{family:i.coerceString(b.family,y,g.family),size:i.coerceNumber(b.size,D,g.size),color:i.coerceColor(b.color,L,g.color),weight:i.coerceString(b.weight,z,g.weight),style:i.coerceString(b.style,F,g.style),variant:i.coerceString(b.variant,B,g.variant),textcase:i.coerceString(b.variant,O,g.textcase),lineposition:i.coerceString(b.variant,P,g.lineposition),shadow:i.coerceString(b.variant,U,g.shadow)}}function m(b,p){return p.type===\"waterfall\"?p[b.dir].marker.color:b.mcc||b.mc||p.marker.color}G.exports={style:s,styleTextPoints:f,styleOnSelect:v,getInsideTextFont:w,getOutsideTextFont:S,getBarColor:m,resizeText:t}}}),tg=Ge({\"src/traces/bar/plot.js\"(Z,G){\"use strict\";var d=Vn(),_=ns(),A=sa(),E=su(),e=$n(),t=as(),r=so(),o=Wo().tickText,a=Sp(),n=a.recordMinTextSize,i=a.clearMinTextSize,s=Nd(),h=q2(),f=i0(),v=Sv(),c=v.text,T=v.textposition,l=$p().appendArrayPointValue,x=f.TEXTPAD;function w($){return $.id}function S($){if($.ids)return w}function M($){return($>0)-($<0)}function m($,ue){return $0}function g($,ue,ce,de,V,Y){var ee=ue.xaxis,q=ue.yaxis,se=$._fullLayout,ae=$._context.staticPlot;V||(V={mode:se.barmode,norm:se.barmode,gap:se.bargap,groupgap:se.bargroupgap},i(\"bar\",se));var j=A.makeTraceGroups(de,ce,\"trace bars\").each(function(Q){var re=d.select(this),pe=Q[0].trace,we=Q[0].t,Se=pe.type===\"waterfall\",Ie=pe.type===\"funnel\",Re=pe.type===\"histogram\",He=pe.type===\"bar\",at=He||Ie,nt=0;Se&&pe.connector.visible&&pe.connector.mode===\"between\"&&(nt=pe.connector.line.width/2);var tt=pe.orientation===\"h\",Ue=u(V),he=A.ensureSingle(re,\"g\",\"points\"),le=S(pe),ne=he.selectAll(\"g.point\").data(A.identity,le);ne.enter().append(\"g\").classed(\"point\",!0),ne.exit().remove(),ne.each(function(Ze,rt){var Ye=d.select(this),St=b(Ze,ee,q,tt),kt=St[0][0],qt=St[0][1],Gt=St[1][0],Tr=St[1][1],mr=(tt?qt-kt:Tr-Gt)===0;mr&&at&&h.getLineWidth(pe,Ze)&&(mr=!1),mr||(mr=!_(kt)||!_(qt)||!_(Gt)||!_(Tr)),Ze.isBlank=mr,mr&&(tt?qt=kt:Tr=Gt),nt&&!mr&&(tt?(kt-=m(kt,qt)*nt,qt+=m(kt,qt)*nt):(Gt-=m(Gt,Tr)*nt,Tr+=m(Gt,Tr)*nt));var qr,Er;if(pe.type===\"waterfall\"){if(!mr){var Dr=pe[Ze.dir].marker;qr=Dr.line.width,Er=Dr.color}}else qr=h.getLineWidth(pe,Ze),Er=Ze.mc||pe.marker.color;function xt(wi){var Yt=d.round(qr/2%1,2);return V.gap===0&&V.groupgap===0?d.round(Math.round(wi)-Yt,2):wi}function Oe(wi,Yt,Rt){return Rt&&wi===Yt?wi:Math.abs(wi-Yt)>=2?xt(wi):wi>Yt?Math.ceil(wi):Math.floor(wi)}var Ke=e.opacity(Er),Ae=Ke<1||qr>.01?xt:Oe;$._context.staticPlot||(kt=Ae(kt,qt,tt),qt=Ae(qt,kt,tt),Gt=Ae(Gt,Tr,!tt),Tr=Ae(Tr,Gt,!tt));var Le=tt?ee.c2p:q.c2p,We;Ze.s0>0?We=Ze._sMax:Ze.s0<0?We=Ze._sMin:We=Ze.s1>0?Ze._sMax:Ze._sMin;function Je(wi,Yt){if(!wi)return 0;var Rt=Math.abs(tt?Tr-Gt:qt-kt),Zt=Math.abs(tt?qt-kt:Tr-Gt),Jt=Ae(Math.abs(Le(We,!0)-Le(0,!0))),Or=Ze.hasB?Math.min(Rt/2,Zt/2):Math.min(Rt/2,Jt),ta;if(Yt===\"%\"){var ra=Math.min(50,wi);ta=Rt*(ra/100)}else ta=wi;return Ae(Math.max(Math.min(ta,Or),0))}var st=He||Re?Je(we.cornerradiusvalue,we.cornerradiusform):0,ot,Ut,Ct=\"M\"+kt+\",\"+Gt+\"V\"+Tr+\"H\"+qt+\"V\"+Gt+\"Z\",Pt=0;if(st&&Ze.s){var Nt=M(Ze.s0)===0||M(Ze.s)===M(Ze.s0)?Ze.s1:Ze.s0;if(Pt=Ae(Ze.hasB?0:Math.abs(Le(We,!0)-Le(Nt,!0))),Pt0?Math.sqrt(Pt*(2*st-Pt)):0,Fa=cr>0?Math.max:Math.min;ot=\"M\"+kt+\",\"+Gt+\"V\"+(Tr-Pr*lr)+\"H\"+Fa(qt-(st-Pt)*cr,kt)+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+qt+\",\"+(Tr-st*lr-_a)+\"V\"+(Gt+st*lr+_a)+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+Fa(qt-(st-Pt)*cr,kt)+\",\"+(Gt+Pr*lr)+\"Z\"}else if(Ze.hasB)ot=\"M\"+(kt+st*cr)+\",\"+Gt+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+kt+\",\"+(Gt+st*lr)+\"V\"+(Tr-st*lr)+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+(kt+st*cr)+\",\"+Tr+\"H\"+(qt-st*cr)+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+qt+\",\"+(Tr-st*lr)+\"V\"+(Gt+st*lr)+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+(qt-st*cr)+\",\"+Gt+\"Z\";else{Ut=Math.abs(Tr-Gt)+Pt;var Ra=Ut0?Math.sqrt(Pt*(2*st-Pt)):0,Wa=lr>0?Math.max:Math.min;ot=\"M\"+(kt+Ra*cr)+\",\"+Gt+\"V\"+Wa(Tr-(st-Pt)*lr,Gt)+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+(kt+st*cr-qa)+\",\"+Tr+\"H\"+(qt-st*cr+qa)+\"A \"+st+\",\"+st+\" 0 0 \"+sr+\" \"+(qt-Ra*cr)+\",\"+Wa(Tr-(st-Pt)*lr,Gt)+\"V\"+Gt+\"Z\"}}else ot=Ct}else ot=Ct;var Ca=p(A.ensureSingle(Ye,\"path\"),se,V,Y);if(Ca.style(\"vector-effect\",ae?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((qt-kt)*(Tr-Gt))||mr&&$._context.staticPlot?\"M0,0Z\":ot).call(t.setClipUrl,ue.layerClipId,$),!se.uniformtext.mode&&Ue){var hi=t.makePointStyleFns(pe);t.singlePointStyle(Ze,Ca,pe,hi,$)}y($,ue,Ye,Q,rt,kt,qt,Gt,Tr,st,Pt,V,Y),ue.layerClipId&&t.hideOutsideRangePoint(Ze,Ye.select(\"text\"),ee,q,pe.xcalendar,pe.ycalendar)});var Ce=pe.cliponaxis===!1;t.setClipUrl(re,Ce?null:ue.layerClipId,$)});r.getComponentMethod(\"errorbars\",\"plot\")($,j,ue,V)}function y($,ue,ce,de,V,Y,ee,q,se,ae,j,Q,re){var pe=ue.xaxis,we=ue.yaxis,Se=$._fullLayout,Ie;function Re(Ut,Ct,Pt){var Nt=A.ensureSingle(Ut,\"text\").text(Ct).attr({class:\"bartext bartext-\"+Ie,\"text-anchor\":\"middle\",\"data-notex\":1}).call(t.font,Pt).call(E.convertToTspans,$);return Nt}var He=de[0].trace,at=He.orientation===\"h\",nt=P(Se,de,V,pe,we);Ie=U(He,V);var tt=Q.mode===\"stack\"||Q.mode===\"relative\",Ue=de[V],he=!tt||Ue._outmost,le=Ue.hasB,ne=ae&&ae-j>x;if(!nt||Ie===\"none\"||(Ue.isBlank||Y===ee||q===se)&&(Ie===\"auto\"||Ie===\"inside\")){ce.select(\"text\").remove();return}var Ce=Se.font,Ze=s.getBarColor(de[V],He),rt=s.getInsideTextFont(He,V,Ce,Ze),Ye=s.getOutsideTextFont(He,V,Ce),St=He.insidetextanchor||\"end\",kt=ce.datum();at?pe.type===\"log\"&&kt.s0<=0&&(pe.range[0]0&&xt>0,Ae;ne?le?Ae=D(Tr-2*ae,mr,Dr,xt,at)||D(Tr,mr-2*ae,Dr,xt,at):at?Ae=D(Tr-(ae-j),mr,Dr,xt,at)||D(Tr,mr-2*(ae-j),Dr,xt,at):Ae=D(Tr,mr-(ae-j),Dr,xt,at)||D(Tr-2*(ae-j),mr,Dr,xt,at):Ae=D(Tr,mr,Dr,xt,at),Ke&&Ae?Ie=\"inside\":(Ie=\"outside\",qr.remove(),qr=null)}else Ie=\"inside\";if(!qr){Oe=A.ensureUniformFontSize($,Ie===\"outside\"?Ye:rt),qr=Re(ce,nt,Oe);var Le=qr.attr(\"transform\");if(qr.attr(\"transform\",\"\"),Er=t.bBox(qr.node()),Dr=Er.width,xt=Er.height,qr.attr(\"transform\",Le),Dr<=0||xt<=0){qr.remove();return}}var We=He.textangle,Je,st;Ie===\"outside\"?(st=He.constraintext===\"both\"||He.constraintext===\"outside\",Je=O(Y,ee,q,se,Er,{isHorizontal:at,constrained:st,angle:We})):(st=He.constraintext===\"both\"||He.constraintext===\"inside\",Je=F(Y,ee,q,se,Er,{isHorizontal:at,constrained:st,angle:We,anchor:St,hasB:le,r:ae,overhead:j})),Je.fontSize=Oe.size,n(He.type===\"histogram\"?\"bar\":He.type,Je,Se),Ue.transform=Je;var ot=p(qr,Se,Q,re);A.setTransormAndDisplay(ot,Je)}function D($,ue,ce,de,V){if($<0||ue<0)return!1;var Y=ce<=$&&de<=ue,ee=ce<=ue&&de<=$,q=V?$>=ce*(ue/de):ue>=de*($/ce);return Y||ee||q}function L($){return $===\"auto\"?0:$}function z($,ue){var ce=Math.PI/180*ue,de=Math.abs(Math.sin(ce)),V=Math.abs(Math.cos(ce));return{x:$.width*V+$.height*de,y:$.width*de+$.height*V}}function F($,ue,ce,de,V,Y){var ee=!!Y.isHorizontal,q=!!Y.constrained,se=Y.angle||0,ae=Y.anchor,j=ae===\"end\",Q=ae===\"start\",re=Y.leftToRight||0,pe=(re+1)/2,we=1-pe,Se=Y.hasB,Ie=Y.r,Re=Y.overhead,He=V.width,at=V.height,nt=Math.abs(ue-$),tt=Math.abs(de-ce),Ue=nt>2*x&&tt>2*x?x:0;nt-=2*Ue,tt-=2*Ue;var he=L(se);se===\"auto\"&&!(He<=nt&&at<=tt)&&(He>nt||at>tt)&&(!(He>tt||at>nt)||Hex){var Ze=B($,ue,ce,de,le,Ie,Re,ee,Se);ne=Ze.scale,Ce=Ze.pad}else ne=1,q&&(ne=Math.min(1,nt/le.x,tt/le.y)),Ce=0;var rt=V.left*we+V.right*pe,Ye=(V.top+V.bottom)/2,St=($+x)*we+(ue-x)*pe,kt=(ce+de)/2,qt=0,Gt=0;if(Q||j){var Tr=(ee?le.x:le.y)/2;Ie&&(j||Se)&&(Ue+=Ce);var mr=ee?m($,ue):m(ce,de);ee?Q?(St=$+mr*Ue,qt=-mr*Tr):(St=ue-mr*Ue,qt=mr*Tr):Q?(kt=ce+mr*Ue,Gt=-mr*Tr):(kt=de-mr*Ue,Gt=mr*Tr)}return{textX:rt,textY:Ye,targetX:St,targetY:kt,anchorX:qt,anchorY:Gt,scale:ne,rotate:he}}function B($,ue,ce,de,V,Y,ee,q,se){var ae=Math.max(0,Math.abs(ue-$)-2*x),j=Math.max(0,Math.abs(de-ce)-2*x),Q=Y-x,re=ee?Q-Math.sqrt(Q*Q-(Q-ee)*(Q-ee)):Q,pe=se?Q*2:q?Q-ee:2*re,we=se?Q*2:q?2*re:Q-ee,Se,Ie,Re,He,at;return V.y/V.x>=j/(ae-pe)?He=j/V.y:V.y/V.x<=(j-we)/ae?He=ae/V.x:!se&&q?(Se=V.x*V.x+V.y*V.y/4,Ie=-2*V.x*(ae-Q)-V.y*(j/2-Q),Re=(ae-Q)*(ae-Q)+(j/2-Q)*(j/2-Q)-Q*Q,He=(-Ie+Math.sqrt(Ie*Ie-4*Se*Re))/(2*Se)):se?(Se=(V.x*V.x+V.y*V.y)/4,Ie=-V.x*(ae/2-Q)-V.y*(j/2-Q),Re=(ae/2-Q)*(ae/2-Q)+(j/2-Q)*(j/2-Q)-Q*Q,He=(-Ie+Math.sqrt(Ie*Ie-4*Se*Re))/(2*Se)):(Se=V.x*V.x/4+V.y*V.y,Ie=-V.x*(ae/2-Q)-2*V.y*(j-Q),Re=(ae/2-Q)*(ae/2-Q)+(j-Q)*(j-Q)-Q*Q,He=(-Ie+Math.sqrt(Ie*Ie-4*Se*Re))/(2*Se)),He=Math.min(1,He),q?at=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(j-V.y*He)/2)*(Q-(j-V.y*He)/2)))-ee):at=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(ae-V.x*He)/2)*(Q-(ae-V.x*He)/2)))-ee),{scale:He,pad:at}}function O($,ue,ce,de,V,Y){var ee=!!Y.isHorizontal,q=!!Y.constrained,se=Y.angle||0,ae=V.width,j=V.height,Q=Math.abs(ue-$),re=Math.abs(de-ce),pe;ee?pe=re>2*x?x:0:pe=Q>2*x?x:0;var we=1;q&&(we=ee?Math.min(1,re/j):Math.min(1,Q/ae));var Se=L(se),Ie=z(V,Se),Re=(ee?Ie.x:Ie.y)/2,He=(V.left+V.right)/2,at=(V.top+V.bottom)/2,nt=($+ue)/2,tt=(ce+de)/2,Ue=0,he=0,le=ee?m(ue,$):m(ce,de);return ee?(nt=ue-le*pe,Ue=le*Re):(tt=de+le*pe,he=-le*Re),{textX:He,textY:at,targetX:nt,targetY:tt,anchorX:Ue,anchorY:he,scale:we,rotate:Se}}function P($,ue,ce,de,V){var Y=ue[0].trace,ee=Y.texttemplate,q;return ee?q=N($,ue,ce,de,V):Y.textinfo?q=X(ue,ce,de,V):q=h.getValue(Y.text,ce),h.coerceString(c,q)}function U($,ue){var ce=h.getValue($.textposition,ue);return h.coerceEnumerated(T,ce)}function N($,ue,ce,de,V){var Y=ue[0].trace,ee=A.castOption(Y,ce,\"texttemplate\");if(!ee)return\"\";var q=Y.type===\"histogram\",se=Y.type===\"waterfall\",ae=Y.type===\"funnel\",j=Y.orientation===\"h\",Q,re,pe,we;j?(Q=\"y\",re=V,pe=\"x\",we=de):(Q=\"x\",re=de,pe=\"y\",we=V);function Se(Ue){return o(re,re.c2l(Ue),!0).text}function Ie(Ue){return o(we,we.c2l(Ue),!0).text}var Re=ue[ce],He={};He.label=Re.p,He.labelLabel=He[Q+\"Label\"]=Se(Re.p);var at=A.castOption(Y,Re.i,\"text\");(at===0||at)&&(He.text=at),He.value=Re.s,He.valueLabel=He[pe+\"Label\"]=Ie(Re.s);var nt={};l(nt,Y,Re.i),(q||nt.x===void 0)&&(nt.x=j?He.value:He.label),(q||nt.y===void 0)&&(nt.y=j?He.label:He.value),(q||nt.xLabel===void 0)&&(nt.xLabel=j?He.valueLabel:He.labelLabel),(q||nt.yLabel===void 0)&&(nt.yLabel=j?He.labelLabel:He.valueLabel),se&&(He.delta=+Re.rawS||Re.s,He.deltaLabel=Ie(He.delta),He.final=Re.v,He.finalLabel=Ie(He.final),He.initial=He.final-He.delta,He.initialLabel=Ie(He.initial)),ae&&(He.value=Re.s,He.valueLabel=Ie(He.value),He.percentInitial=Re.begR,He.percentInitialLabel=A.formatPercent(Re.begR),He.percentPrevious=Re.difR,He.percentPreviousLabel=A.formatPercent(Re.difR),He.percentTotal=Re.sumR,He.percenTotalLabel=A.formatPercent(Re.sumR));var tt=A.castOption(Y,Re.i,\"customdata\");return tt&&(He.customdata=tt),A.texttemplateString({data:[nt,He,Y._meta],fallback:Y.texttemplatefallback,labels:He,locale:$._d3locale,template:ee})}function X($,ue,ce,de){var V=$[0].trace,Y=V.orientation===\"h\",ee=V.type===\"waterfall\",q=V.type===\"funnel\";function se(tt){var Ue=Y?de:ce;return o(Ue,tt,!0).text}function ae(tt){var Ue=Y?ce:de;return o(Ue,+tt,!0).text}var j=V.textinfo,Q=$[ue],re=j.split(\"+\"),pe=[],we,Se=function(tt){return re.indexOf(tt)!==-1};if(Se(\"label\")&&pe.push(se($[ue].p)),Se(\"text\")&&(we=A.castOption(V,Q.i,\"text\"),(we===0||we)&&pe.push(we)),ee){var Ie=+Q.rawS||Q.s,Re=Q.v,He=Re-Ie;Se(\"initial\")&&pe.push(ae(He)),Se(\"delta\")&&pe.push(ae(Ie)),Se(\"final\")&&pe.push(ae(Re))}if(q){Se(\"value\")&&pe.push(ae(Q.s));var at=0;Se(\"percent initial\")&&at++,Se(\"percent previous\")&&at++,Se(\"percent total\")&&at++;var nt=at>1;Se(\"percent initial\")&&(we=A.formatPercent(Q.begR),nt&&(we+=\" of initial\"),pe.push(we)),Se(\"percent previous\")&&(we=A.formatPercent(Q.difR),nt&&(we+=\" of previous\"),pe.push(we)),Se(\"percent total\")&&(we=A.formatPercent(Q.sumR),nt&&(we+=\" of total\"),pe.push(we))}return pe.join(\"
\")}G.exports={plot:g,toMoveInsideBar:F}}}),f1=Ge({\"src/traces/bar/hover.js\"(Z,G){\"use strict\";var d=Hc(),_=so(),A=$n(),E=sa().fillText,e=q2().getLineWidth,t=Wo().hoverLabelText,r=Gs().BADNUM;function o(i,s,h,f,v){var c=a(i,s,h,f,v);if(c){var T=c.cd,l=T[0].trace,x=T[c.index];return c.color=n(l,x),_.getComponentMethod(\"errorbars\",\"hoverInfo\")(x,l,c),[c]}}function a(i,s,h,f,v){var c=i.cd,T=c[0].trace,l=c[0].t,x=f===\"closest\",w=T.type===\"waterfall\",S=i.maxHoverDistance,M=i.maxSpikeDistance,m,b,p,u,g,y,D;T.orientation===\"h\"?(m=h,b=s,p=\"y\",u=\"x\",g=de,y=$):(m=s,b=h,p=\"x\",u=\"y\",y=de,g=$);var L=T[p+\"period\"],z=x||L;function F(we){return O(we,-1)}function B(we){return O(we,1)}function O(we,Se){var Ie=we.w;return we[p]+Se*Ie/2}function P(we){return we[p+\"End\"]-we[p+\"Start\"]}var U=x?F:L?function(we){return we.p-P(we)/2}:function(we){return Math.min(F(we),we.p-l.bardelta/2)},N=x?B:L?function(we){return we.p+P(we)/2}:function(we){return Math.max(B(we),we.p+l.bardelta/2)};function X(we,Se,Ie){return v.finiteRange&&(Ie=0),d.inbox(we-m,Se-m,Ie+Math.min(1,Math.abs(Se-we)/D)-1)}function $(we){return X(U(we),N(we),S)}function ue(we){return X(F(we),B(we),M)}function ce(we){var Se=we[u];if(w){var Ie=Math.abs(we.rawS)||0;b>0?Se+=Ie:b<0&&(Se-=Ie)}return Se}function de(we){var Se=b,Ie=we.b,Re=ce(we);return d.inbox(Ie-Se,Re-Se,S+(Re-Se)/(Re-Ie)-1)}function V(we){var Se=b,Ie=we.b,Re=ce(we);return d.inbox(Ie-Se,Re-Se,M+(Re-Se)/(Re-Ie)-1)}var Y=i[p+\"a\"],ee=i[u+\"a\"];D=Math.abs(Y.r2c(Y.range[1])-Y.r2c(Y.range[0]));function q(we){return(g(we)+y(we))/2}var se=d.getDistanceFunction(f,g,y,q);if(d.getClosest(c,se,i),i.index!==!1&&c[i.index].p!==r){z||(U=function(we){return Math.min(F(we),we.p-l.bargroupwidth/2)},N=function(we){return Math.max(B(we),we.p+l.bargroupwidth/2)});var ae=i.index,j=c[ae],Q=T.base?j.b+j.s:j.s;i[u+\"0\"]=i[u+\"1\"]=ee.c2p(j[u],!0),i[u+\"LabelVal\"]=Q;var re=l.extents[l.extents.round(j.p)];i[p+\"0\"]=Y.c2p(x?U(j):re[0],!0),i[p+\"1\"]=Y.c2p(x?N(j):re[1],!0);var pe=j.orig_p!==void 0;return i[p+\"LabelVal\"]=pe?j.orig_p:j.p,i.labelLabel=t(Y,i[p+\"LabelVal\"],T[p+\"hoverformat\"]),i.valueLabel=t(ee,i[u+\"LabelVal\"],T[u+\"hoverformat\"]),i.baseLabel=t(ee,j.b,T[u+\"hoverformat\"]),i.spikeDistance=(V(j)+ue(j))/2,i[p+\"Spike\"]=Y.c2p(j.p,!0),E(j,T,i),i.hovertemplate=T.hovertemplate,i}}function n(i,s){var h=s.mcc||i.marker.color,f=s.mlcc||i.marker.line.color,v=e(i,s);if(A.opacity(h))return h;if(A.opacity(f)&&v)return f}G.exports={hoverPoints:o,hoverOnBars:a,getTraceColor:n}}}),Y9=Ge({\"src/traces/bar/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A,E){return _.x=\"xVal\"in A?A.xVal:A.x,_.y=\"yVal\"in A?A.yVal:A.y,A.xa&&(_.xaxis=A.xa),A.ya&&(_.yaxis=A.ya),E.orientation===\"h\"?(_.label=_.y,_.value=_.x):(_.label=_.x,_.value=_.y),_}}}),h1=Ge({\"src/traces/bar/select.js\"(Z,G){\"use strict\";G.exports=function(A,E){var e=A.cd,t=A.xaxis,r=A.yaxis,o=e[0].trace,a=o.type===\"funnel\",n=o.orientation===\"h\",i=[],s;if(E===!1)for(s=0;s0?(L=\"v\",p>0?z=Math.min(g,u):z=Math.min(u)):p>0?(L=\"h\",z=Math.min(g)):z=0;if(!z){h.visible=!1;return}h._length=z;var U=f(\"orientation\",L);h._hasPreCompStats?U===\"v\"&&p===0?(f(\"x0\",0),f(\"dx\",1)):U===\"h\"&&b===0&&(f(\"y0\",0),f(\"dy\",1)):U===\"v\"&&p===0?f(\"x0\"):U===\"h\"&&b===0&&f(\"y0\");var N=_.getComponentMethod(\"calendars\",\"handleTraceDefaults\");N(s,h,[\"x\",\"y\"],v)}function n(s,h,f,v){var c=v.prefix,T=d.coerce2(s,h,r,\"marker.outliercolor\"),l=f(\"marker.line.outliercolor\"),x=\"outliers\";h._hasPreCompStats?x=\"all\":(T||l)&&(x=\"suspectedoutliers\");var w=f(c+\"points\",x);w?(f(\"jitter\",w===\"all\"?.3:0),f(\"pointpos\",w===\"all\"?-1.5:0),f(\"marker.symbol\"),f(\"marker.opacity\"),f(\"marker.size\"),f(\"marker.angle\"),f(\"marker.color\",h.line.color),f(\"marker.line.color\"),f(\"marker.line.width\"),w===\"suspectedoutliers\"&&(f(\"marker.line.outliercolor\",h.marker.color),f(\"marker.line.outlierwidth\")),f(\"selected.marker.color\"),f(\"unselected.marker.color\"),f(\"selected.marker.size\"),f(\"unselected.marker.size\"),f(\"text\"),f(\"hovertext\")):delete h.marker;var S=f(\"hoveron\");(S===\"all\"||S.indexOf(\"points\")!==-1)&&(f(\"hovertemplate\"),f(\"hovertemplatefallback\")),d.coerceSelectionMarkerOpacity(h,f)}function i(s,h){var f,v;function c(w){return d.coerce(v._input,v,r,w)}for(var T=0;Tce.uf};if(M._hasPreCompStats){var ae=M[z],j=function(mr){return L.d2c((M[mr]||[])[y])},Q=1/0,re=-1/0;for(y=0;y=ce.q1&&ce.q3>=ce.med){var we=j(\"lowerfence\");ce.lf=we!==e&&we<=ce.q1?we:v(ce,V,Y);var Se=j(\"upperfence\");ce.uf=Se!==e&&Se>=ce.q3?Se:c(ce,V,Y);var Ie=j(\"mean\");ce.mean=Ie!==e?Ie:Y?E.mean(V,Y):(ce.q1+ce.q3)/2;var Re=j(\"sd\");ce.sd=Ie!==e&&Re>=0?Re:Y?E.stdev(V,Y,ce.mean):ce.q3-ce.q1,ce.lo=T(ce),ce.uo=l(ce);var He=j(\"notchspan\");He=He!==e&&He>0?He:x(ce,Y),ce.ln=ce.med-He,ce.un=ce.med+He;var at=ce.lf,nt=ce.uf;M.boxpoints&&V.length&&(at=Math.min(at,V[0]),nt=Math.max(nt,V[Y-1])),M.notched&&(at=Math.min(at,ce.ln),nt=Math.max(nt,ce.un)),ce.min=at,ce.max=nt}else{E.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+ce.q1,\"median = \"+ce.med,\"q3 = \"+ce.q3].join(`\n`));var tt;ce.med!==e?tt=ce.med:ce.q1!==e?ce.q3!==e?tt=(ce.q1+ce.q3)/2:tt=ce.q1:ce.q3!==e?tt=ce.q3:tt=0,ce.med=tt,ce.q1=ce.q3=tt,ce.lf=ce.uf=tt,ce.mean=ce.sd=tt,ce.ln=ce.un=tt,ce.min=ce.max=tt}Q=Math.min(Q,ce.min),re=Math.max(re,ce.max),ce.pts2=de.filter(se),u.push(ce)}}M._extremes[L._id]=_.findExtremes(L,[Q,re],{padded:!0})}else{var Ue=L.makeCalcdata(M,z),he=o($,ue),le=$.length,ne=a(le);for(y=0;y=0&&Ce0){if(ce={},ce.pos=ce[B]=$[y],de=ce.pts=ne[y].sort(h),V=ce[z]=de.map(f),Y=V.length,ce.min=V[0],ce.max=V[Y-1],ce.mean=E.mean(V,Y),ce.sd=E.stdev(V,Y,ce.mean)*M.sdmultiple,ce.med=E.interp(V,.5),Y%2&&(St||kt)){var qt,Gt;St?(qt=V.slice(0,Y/2),Gt=V.slice(Y/2+1)):kt&&(qt=V.slice(0,Y/2+1),Gt=V.slice(Y/2)),ce.q1=E.interp(qt,.5),ce.q3=E.interp(Gt,.5)}else ce.q1=E.interp(V,.25),ce.q3=E.interp(V,.75);ce.lf=v(ce,V,Y),ce.uf=c(ce,V,Y),ce.lo=T(ce),ce.uo=l(ce);var Tr=x(ce,Y);ce.ln=ce.med-Tr,ce.un=ce.med+Tr,Ze=Math.min(Ze,ce.ln),rt=Math.max(rt,ce.un),ce.pts2=de.filter(se),u.push(ce)}M.notched&&E.isTypedArray(Ue)&&(Ue=Array.from(Ue)),M._extremes[L._id]=_.findExtremes(L,M.notched?Ue.concat([Ze,rt]):Ue,{padded:!0})}return s(u,M),u.length>0?(u[0].t={num:m[g],dPos:ue,posLetter:B,valLetter:z,labels:{med:t(S,\"median:\"),min:t(S,\"min:\"),q1:t(S,\"q1:\"),q3:t(S,\"q3:\"),max:t(S,\"max:\"),mean:M.boxmean===\"sd\"||M.sizemode===\"sd\"?t(S,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",M.sdmultiple===1?\"\\u03C3\":M.sdmultiple+\"\\u03C3\"):t(S,\"mean:\"),lf:t(S,\"lower fence:\"),uf:t(S,\"upper fence:\")}},m[g]++,u):[{t:{empty:!0}}]};function r(w,S,M,m){var b=S in w,p=S+\"0\"in w,u=\"d\"+S in w;if(b||p&&u){var g=M.makeCalcdata(w,S),y=A(w,M,S,g).vals;return[y,g]}var D;p?D=w[S+\"0\"]:\"name\"in w&&(M.type===\"category\"||d(w.name)&&[\"linear\",\"log\"].indexOf(M.type)!==-1||E.isDateTime(w.name)&&M.type===\"date\")?D=w.name:D=m;for(var L=M.type===\"multicategory\"?M.r2c_just_indices(D):M.d2c(D,0,w[S+\"calendar\"]),z=w._length,F=new Array(z),B=0;B1,p=1-s[r+\"gap\"],u=1-s[r+\"groupgap\"];for(v=0;v0;if(L===\"positive\"?(ce=z*(D?1:.5),Y=V,de=Y=B):L===\"negative\"?(ce=Y=B,de=z*(D?1:.5),ee=V):(ce=de=z,Y=ee=V),re){var pe=g.pointpos,we=g.jitter,Se=g.marker.size/2,Ie=0;pe+we>=0&&(Ie=V*(pe+we),Ie>ce?(Q=!0,ae=Se,q=Ie):Ie>Y&&(ae=Se,q=ce)),Ie<=ce&&(q=ce);var Re=0;pe-we<=0&&(Re=-V*(pe-we),Re>de?(Q=!0,j=Se,se=Re):Re>ee&&(j=Se,se=de)),Re<=de&&(se=de)}else q=ce,se=de;var He=new Array(T.length);for(c=0;cM.lo&&(U.so=!0)}return b});S.enter().append(\"path\").classed(\"point\",!0),S.exit().remove(),S.call(A.translatePoints,f,v)}function a(n,i,s,h){var f=i.val,v=i.pos,c=!!v.rangebreaks,T=h.bPos,l=h.bPosPxOffset||0,x=s.boxmean||(s.meanline||{}).visible,w,S;Array.isArray(h.bdPos)?(w=h.bdPos[0],S=h.bdPos[1]):(w=h.bdPos,S=h.bdPos);var M=n.selectAll(\"path.mean\").data(s.type===\"box\"&&s.boxmean||s.type===\"violin\"&&s.box.visible&&s.meanline.visible?_.identity:[]);M.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),M.exit().remove(),M.each(function(m){var b=v.c2l(m.pos+T,!0),p=v.l2p(b-w)+l,u=v.l2p(b+S)+l,g=c?(p+u)/2:v.l2p(b)+l,y=f.c2p(m.mean,!0),D=f.c2p(m.mean-m.sd,!0),L=f.c2p(m.mean+m.sd,!0);s.orientation===\"h\"?d.select(this).attr(\"d\",\"M\"+y+\",\"+p+\"V\"+u+(x===\"sd\"?\"m0,0L\"+D+\",\"+g+\"L\"+y+\",\"+p+\"L\"+L+\",\"+g+\"Z\":\"\")):d.select(this).attr(\"d\",\"M\"+p+\",\"+y+\"H\"+u+(x===\"sd\"?\"m0,0L\"+g+\",\"+D+\"L\"+p+\",\"+y+\"L\"+g+\",\"+L+\"Z\":\"\"))})}G.exports={plot:t,plotBoxAndWhiskers:r,plotPoints:o,plotBoxMean:a}}}),W2=Ge({\"src/traces/box/style.js\"(Z,G){\"use strict\";var d=Vn(),_=$n(),A=as();function E(t,r,o){var a=o||d.select(t).selectAll(\"g.trace.boxes\");a.style(\"opacity\",function(n){return n[0].trace.opacity}),a.each(function(n){var i=d.select(this),s=n[0].trace,h=s.line.width;function f(T,l,x,w){T.style(\"stroke-width\",l+\"px\").call(_.stroke,x).call(_.fill,w)}var v=i.selectAll(\"path.box\");if(s.type===\"candlestick\")v.each(function(T){if(!T.empty){var l=d.select(this),x=s[T.dir];f(l,x.line.width,x.line.color,x.fillcolor),l.style(\"opacity\",s.selectedpoints&&!T.selected?.3:1)}});else{f(v,h,s.line.color,s.fillcolor),i.selectAll(\"path.mean\").style({\"stroke-width\":h,\"stroke-dasharray\":2*h+\"px,\"+h+\"px\"}).call(_.stroke,s.line.color);var c=i.selectAll(\"path.point\");A.pointStyle(c,s,t)}})}function e(t,r,o){var a=r[0].trace,n=o.selectAll(\"path.point\");a.selectedpoints?A.selectedPointStyle(n,a):A.pointStyle(n,a,t)}G.exports={style:E,styleOnSelect:e}}}),Q5=Ge({\"src/traces/box/hover.js\"(Z,G){\"use strict\";var d=Wo(),_=sa(),A=Hc(),E=$n(),e=_.fillText;function t(a,n,i,s){var h=a.cd,f=h[0].trace,v=f.hoveron,c=[],T;return v.indexOf(\"boxes\")!==-1&&(c=c.concat(r(a,n,i,s))),v.indexOf(\"points\")!==-1&&(T=o(a,n,i)),s===\"closest\"?T?[T]:c:(T&&c.push(T),c)}function r(a,n,i,s){var h=a.cd,f=a.xa,v=a.ya,c=h[0].trace,T=h[0].t,l=c.type===\"violin\",x,w,S,M,m,b,p,u,g,y,D,L=T.bdPos,z,F,B=T.wHover,O=function(Re){return S.c2l(Re.pos)+T.bPos-S.c2l(b)};l&&c.side!==\"both\"?(c.side===\"positive\"&&(g=function(Re){var He=O(Re);return A.inbox(He,He+B,y)},z=L,F=0),c.side===\"negative\"&&(g=function(Re){var He=O(Re);return A.inbox(He-B,He,y)},z=0,F=L)):(g=function(Re){var He=O(Re);return A.inbox(He-B,He+B,y)},z=F=L);var P;l?P=function(Re){return A.inbox(Re.span[0]-m,Re.span[1]-m,y)}:P=function(Re){return A.inbox(Re.min-m,Re.max-m,y)},c.orientation===\"h\"?(m=n,b=i,p=P,u=g,x=\"y\",S=v,w=\"x\",M=f):(m=i,b=n,p=g,u=P,x=\"x\",S=f,w=\"y\",M=v);var U=Math.min(1,L/Math.abs(S.r2c(S.range[1])-S.r2c(S.range[0])));y=a.maxHoverDistance-U,D=a.maxSpikeDistance-U;function N(Re){return(p(Re)+u(Re))/2}var X=A.getDistanceFunction(s,p,u,N);if(A.getClosest(h,X,a),a.index===!1)return[];var $=h[a.index],ue=c.line.color,ce=(c.marker||{}).color;E.opacity(ue)&&c.line.width?a.color=ue:E.opacity(ce)&&c.boxpoints?a.color=ce:a.color=c.fillcolor,a[x+\"0\"]=S.c2p($.pos+T.bPos-F,!0),a[x+\"1\"]=S.c2p($.pos+T.bPos+z,!0),a[x+\"LabelVal\"]=$.orig_p!==void 0?$.orig_p:$.pos;var de=x+\"Spike\";a.spikeDistance=N($)*D/y,a[de]=S.c2p($.pos,!0);var V=c.boxmean||c.sizemode===\"sd\"||(c.meanline||{}).visible,Y=c.boxpoints||c.points,ee=Y&&V?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:Y&&!V?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!Y&&V?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],q=M.range[1]0&&(o=!0);for(var s=0;st){var r=t-E[_];return E[_]=t,r}}else return E[_]=t,t;return 0},max:function(_,A,E,e){var t=e[A];if(d(t))if(t=Number(t),d(E[_])){if(E[_]p&&pE){var y=u===_?1:6,D=u===_?\"M12\":\"M1\";return function(L,z){var F=T.c2d(L,_,l),B=F.indexOf(\"-\",y);B>0&&(F=F.slice(0,B));var O=T.d2c(F,0,l);if(Or?h>E?h>_*1.1?_:h>A*1.1?A:E:h>e?e:h>t?t:r:Math.pow(10,Math.floor(Math.log(h)/Math.LN10))}function i(h,f,v,c,T,l){if(c&&h>E){var x=s(f,T,l),w=s(v,T,l),S=h===_?0:1;return x[S]!==w[S]}return Math.floor(v/h)-Math.floor(f/h)>.1}function s(h,f,v){var c=f.c2d(h,_,v).split(\"-\");return c[0]===\"\"&&(c.unshift(),c[0]=\"-\"+c[0]),c}}}),oS=Ge({\"src/traces/histogram/calc.js\"(Z,G){\"use strict\";var d=ns(),_=sa(),A=so(),E=Wo(),{hasColorscale:e}=wp(),t=Tp(),r=B_(),o=rS(),a=aS(),n=iS(),i=nS();function s(T,l){var x=[],w=[],S=l.orientation===\"h\",M=E.getFromId(T,S?l.yaxis:l.xaxis),m=S?\"y\":\"x\",b={x:\"y\",y:\"x\"}[m],p=l[m+\"calendar\"],u=l.cumulative,g,y=h(T,l,M,m),D=y[0],L=y[1],z=typeof D.size==\"string\",F=[],B=z?F:D,O=[],P=[],U=[],N=0,X=l.histnorm,$=l.histfunc,ue=X.indexOf(\"density\")!==-1,ce,de,V;u.enabled&&ue&&(X=X.replace(/ ?density$/,\"\"),ue=!1);var Y=$===\"max\"||$===\"min\",ee=Y?null:0,q=o.count,se=a[X],ae=!1,j=function(Ce){return M.r2c(Ce,0,p)},Q;for(_.isArrayOrTypedArray(l[b])&&$!==\"count\"&&(Q=l[b],ae=$===\"avg\",q=o[$]),g=j(D.start),de=j(D.end)+(g-E.tickIncrement(g,D.size,!1,p))/1e6;g=0&&V=he;g--)if(w[g]){le=g;break}for(g=he;g<=le;g++)if(d(x[g])&&d(w[g])){var ne={p:x[g],s:w[g],b:0};u.enabled||(ne.pts=U[g],Se?ne.ph0=ne.ph1=U[g].length?L[U[g][0]]:x[g]:(l._computePh=!0,ne.ph0=nt(F[g]),ne.ph1=nt(F[g+1],!0))),Ue.push(ne)}return Ue.length===1&&(Ue[0].width1=E.tickIncrement(Ue[0].p,D.size,!1,p)-Ue[0].p),e(l,\"marker\")&&t(T,l,{vals:l.marker.color,containerStr:\"marker\",cLetter:\"c\"}),e(l,\"marker.line\")&&t(T,l,{vals:l.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),r(Ue,l),_.isArrayOrTypedArray(l.selectedpoints)&&_.tagSelected(Ue,l,He),Ue}function h(T,l,x,w,S){var M=w+\"bins\",m=T._fullLayout,b=l[\"_\"+w+\"bingroup\"],p=m._histogramBinOpts[b],u=m.barmode===\"overlay\",g,y,D,L,z,F,B,O=function(at){return x.r2c(at,0,L)},P=function(at){return x.c2r(at,0,L)},U=x.type===\"date\"?function(at){return at||at===0?_.cleanDate(at,null,L):null}:function(at){return d(at)?Number(at):null};function N(at,nt,tt){nt[at+\"Found\"]?(nt[at]=U(nt[at]),nt[at]===null&&(nt[at]=tt[at])):(F[at]=nt[at]=tt[at],_.nestedProperty(y[0],M+\".\"+at).set(tt[at]))}if(l[\"_\"+w+\"autoBinFinished\"])delete l[\"_\"+w+\"autoBinFinished\"];else{y=p.traces;var X=[],$=!0,ue=!1,ce=!1;for(g=0;g\"u\"){if(S)return[V,z,!0];V=f(T,l,x,w,M)}B=D.cumulative||{},B.enabled&&B.currentbin!==\"include\"&&(B.direction===\"decreasing\"?V.start=P(E.tickIncrement(O(V.start),V.size,!0,L)):V.end=P(E.tickIncrement(O(V.end),V.size,!1,L))),p.size=V.size,p.sizeFound||(F.size=V.size,_.nestedProperty(y[0],M+\".size\").set(V.size)),N(\"start\",p,V),N(\"end\",p,V)}z=l[\"_\"+w+\"pos0\"],delete l[\"_\"+w+\"pos0\"];var ee=l._input[M]||{},q=_.extendFlat({},p),se=p.start,ae=x.r2l(ee.start),j=ae!==void 0;if((p.startFound||j)&&ae!==x.r2l(se)){var Q=j?ae:_.aggNums(Math.min,null,z),re={type:x.type===\"category\"||x.type===\"multicategory\"?\"linear\":x.type,r2l:x.r2l,dtick:p.size,tick0:se,calendar:L,range:[Q,E.tickIncrement(Q,p.size,!1,L)].map(x.l2r)},pe=E.tickFirst(re);pe>x.r2l(Q)&&(pe=E.tickIncrement(pe,p.size,!0,L)),q.start=x.l2r(pe),j||_.nestedProperty(l,M+\".start\").set(q.start)}var we=p.end,Se=x.r2l(ee.end),Ie=Se!==void 0;if((p.endFound||Ie)&&Se!==x.r2l(we)){var Re=Ie?Se:_.aggNums(Math.max,null,z);q.end=x.l2r(Re),Ie||_.nestedProperty(l,M+\".start\").set(q.end)}var He=\"autobin\"+w;return l._input[He]===!1&&(l._input[M]=_.extendFlat({},l[M]||{}),delete l._input[He],delete l[He]),[q,z]}function f(T,l,x,w,S){var M=T._fullLayout,m=v(T,l),b=!1,p=1/0,u=[l],g,y,D;for(g=0;g=0;w--)b(w);else if(l===\"increasing\"){for(w=1;w=0;w--)T[w]+=T[w+1];x===\"exclude\"&&(T.push(0),T.shift())}}G.exports={calc:s,calcAllAutoBins:h}}}),rF=Ge({\"src/traces/histogram2d/calc.js\"(Z,G){\"use strict\";var d=sa(),_=Wo(),A=rS(),E=aS(),e=iS(),t=nS(),r=oS().calcAllAutoBins;G.exports=function(s,h){var f=_.getFromId(s,h.xaxis),v=_.getFromId(s,h.yaxis),c=h.xcalendar,T=h.ycalendar,l=function(Oe){return f.r2c(Oe,0,c)},x=function(Oe){return v.r2c(Oe,0,T)},w=function(Oe){return f.c2r(Oe,0,c)},S=function(Oe){return v.c2r(Oe,0,T)},M,m,b,p,u=r(s,h,f,\"x\"),g=u[0],y=u[1],D=r(s,h,v,\"y\"),L=D[0],z=D[1],F=h._length;y.length>F&&y.splice(F,y.length-F),z.length>F&&z.splice(F,z.length-F);var B=[],O=[],P=[],U=typeof g.size==\"string\",N=typeof L.size==\"string\",X=[],$=[],ue=U?X:g,ce=N?$:L,de=0,V=[],Y=[],ee=h.histnorm,q=h.histfunc,se=ee.indexOf(\"density\")!==-1,ae=q===\"max\"||q===\"min\",j=ae?null:0,Q=A.count,re=E[ee],pe=!1,we=[],Se=[],Ie=\"z\"in h?h.z:\"marker\"in h&&Array.isArray(h.marker.color)?h.marker.color:\"\";Ie&&q!==\"count\"&&(pe=q===\"avg\",Q=A[q]);var Re=g.size,He=l(g.start),at=l(g.end)+(He-_.tickIncrement(He,Re,!1,c))/1e6;for(M=He;M=0&&b=0&&p_;n++)a=e(r,o,E(a));return a>_&&d.log(\"interp2d didn't converge quickly\",a),r};function e(t,r,o){var a=0,n,i,s,h,f,v,c,T,l,x,w,S,M;for(h=0;hS&&(a=Math.max(a,Math.abs(t[i][s]-w)/(M-S))))}return a}}}),J2=Ge({\"src/traces/heatmap/find_empties.js\"(Z,G){\"use strict\";var d=sa().maxRowLength;G.exports=function(A){var E=[],e={},t=[],r=A[0],o=[],a=[0,0,0],n=d(A),i,s,h,f,v,c,T,l;for(s=0;s=0;v--)f=t[v],s=f[0],h=f[1],c=((e[[s-1,h]]||a)[2]+(e[[s+1,h]]||a)[2]+(e[[s,h-1]]||a)[2]+(e[[s,h+1]]||a)[2])/20,c&&(T[f]=[s,h,c],t.splice(v,1),l=!0);if(!l)throw\"findEmpties iterated with no new neighbors\";for(f in T)e[f]=T[f],E.push(T[f])}return E.sort(function(x,w){return w[2]-x[2]})}}}),sS=Ge({\"src/traces/heatmap/make_bound_array.js\"(Z,G){\"use strict\";var d=so(),_=sa().isArrayOrTypedArray;G.exports=function(E,e,t,r,o,a){var n=[],i=d.traceIs(E,\"contour\"),s=d.traceIs(E,\"histogram\"),h,f,v,c=_(e)&&e.length>1;if(c&&!s&&a.type!==\"category\"){var T=e.length;if(T<=o){if(i)n=Array.from(e).slice(0,o);else if(o===1)a.type===\"log\"?n=[.5*e[0],2*e[0]]:n=[e[0]-.5,e[0]+.5];else if(a.type===\"log\"){for(n=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],v=1;v1){var ee=(Y[Y.length-1]-Y[0])/(Y.length-1),q=Math.abs(ee/100);for(F=0;Fq)return!1}return!0}T._islinear=!1,l.type===\"log\"||x.type===\"log\"?M===\"fast\"&&P(\"log axis found\"):U(m)?U(g)?T._islinear=!0:M===\"fast\"&&P(\"y scale is not linear\"):M===\"fast\"&&P(\"x scale is not linear\");var N=_.maxRowLength(z),X=T.xtype===\"scaled\"?\"\":m,$=i(T,X,b,p,N,l),ue=T.ytype===\"scaled\"?\"\":g,ce=i(T,ue,y,D,z.length,x);T._extremes[l._id]=A.findExtremes(l,$),T._extremes[x._id]=A.findExtremes(x,ce);var de={x:$,y:ce,z,text:T._text||T.text,hovertext:T._hovertext||T.hovertext};if(T.xperiodalignment&&u&&(de.orig_x=u),T.yperiodalignment&&L&&(de.orig_y=L),X&&X.length===$.length-1&&(de.xCenter=X),ue&&ue.length===ce.length-1&&(de.yCenter=ue),S&&(de.xRanges=B.xRanges,de.yRanges=B.yRanges,de.pts=B.pts),w||t(c,T,{vals:z,cLetter:\"z\"}),w&&T.contours&&T.contours.coloring===\"heatmap\"){var V={type:T.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:T.xcalendar,ycalendar:T.ycalendar};de.xfill=i(V,X,b,p,N,l),de.yfill=i(V,ue,y,D,z.length,x)}return[de]};function h(v){for(var c=[],T=v.length,l=0;l0;)se=g.c2p(U[re]),re--;for(se0;)Q=y.c2p(N[re]),re--;Q=g._length||se<=0||j>=y._length||Q<=0;if(at){var nt=L.selectAll(\"image\").data([]);nt.exit().remove(),x(L);return}var tt,Ue;Se===\"fast\"?(tt=V,Ue=de):(tt=Re,Ue=He);var he=document.createElement(\"canvas\");he.width=tt,he.height=Ue;var le=he.getContext(\"2d\",{willReadFrequently:!0}),ne=i(F,{noNumericCheck:!0,returnArray:!0}),Ce,Ze;Se===\"fast\"?(Ce=Y?function(ba){return V-1-ba}:t.identity,Ze=ee?function(ba){return de-1-ba}:t.identity):(Ce=function(ba){return t.constrain(Math.round(g.c2p(U[ba])-q),0,Re)},Ze=function(ba){return t.constrain(Math.round(y.c2p(N[ba])-j),0,He)});var rt=Ze(0),Ye=[rt,rt],St=Y?0:1,kt=ee?0:1,qt=0,Gt=0,Tr=0,mr=0,qr,Er,Dr,xt,Oe;function Ke(ba,Ai){if(ba!==void 0){var ki=ne(ba);return ki[0]=Math.round(ki[0]),ki[1]=Math.round(ki[1]),ki[2]=Math.round(ki[2]),qt+=Ai,Gt+=ki[0]*Ai,Tr+=ki[1]*Ai,mr+=ki[2]*Ai,ki}return[0,0,0,0]}function Ae(ba,Ai,ki,Ki){var Mn=ba[ki.bin0];if(Mn===void 0)return Ke(void 0,1);var wn=ba[ki.bin1],On=Ai[ki.bin0],En=Ai[ki.bin1],ao=wn-Mn||0,Co=On-Mn||0,bo;return wn===void 0?En===void 0?bo=0:On===void 0?bo=2*(En-Mn):bo=(2*En-On-Mn)*2/3:En===void 0?On===void 0?bo=0:bo=(2*Mn-wn-On)*2/3:On===void 0?bo=(2*En-wn-Mn)*2/3:bo=En+Mn-wn-On,Ke(Mn+ki.frac*ao+Ki.frac*(Co+ki.frac*bo))}if(Se!==\"default\"){var Le=0,We;try{We=new Uint8Array(tt*Ue*4)}catch{We=new Array(tt*Ue*4)}if(Se===\"smooth\"){var Je=X||U,st=$||N,ot=new Array(Je.length),Ut=new Array(st.length),Ct=new Array(Re),Pt=X?S:w,Nt=$?S:w,cr,lr,sr;for(re=0;re$a||$a>y._length))for(pe=ta;peri||ri>g._length)){var pi=o({x:Za,y:Ba},F,m._fullLayout);pi.x=Za,pi.y=Ba;var Ia=z.z[re][pe];Ia===void 0?(pi.z=\"\",pi.zLabel=\"\"):(pi.z=Ia,pi.zLabel=e.tickText(Yt,Ia,\"hover\").text);var rn=z.text&&z.text[re]&&z.text[re][pe];(rn===void 0||rn===!1)&&(rn=\"\"),pi.text=rn;var tn=t.texttemplateString({data:[pi,F._meta],fallback:F.texttemplatefallback,labels:pi,locale:m._fullLayout._d3locale,template:hi});if(tn){var cn=tn.split(\"
\"),_t=cn.length,ut=0;for(we=0;we<_t;we++)ut=Math.max(ut,cn[we].length);ca.push({l:_t,c:ut,t:tn,x:ri,y:$a,z:Ia})}}}}var Br=F.textfont,Cr=Br.size,wr=m._fullLayout.font.size;if(!Cr||Cr===\"auto\"){var Rr=1/0,Ur=1/0,Hr=0,gt=0;for(we=0;we=x[0].length||D<0||D>x.length)return}else{if(d.inbox(o-T[0],o-T[T.length-1],0)>0||d.inbox(a-l[0],a-l[l.length-1],0)>0)return;if(s){var L;for(b=[2*T[0]-T[1]],L=1;L=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}}}),V_=Ge({\"src/traces/contour/attributes.js\"(Z,G){\"use strict\";var d=p1(),_=af(),A=rf(),E=A.axisHoverFormat,e=A.descriptionOnlyNumbers,t=ku(),r=Gh().dash,o=tc(),a=rs().extendFlat,n=o3(),i=n.COMPARISON_OPS2,s=n.INTERVAL_OPS,h=_.line;G.exports=a({z:d.z,x:d.x,x0:d.x0,dx:d.dx,y:d.y,y0:d.y0,dy:d.dy,xperiod:d.xperiod,yperiod:d.yperiod,xperiod0:_.xperiod0,yperiod0:_.yperiod0,xperiodalignment:d.xperiodalignment,yperiodalignment:d.yperiodalignment,text:d.text,hovertext:d.hovertext,transpose:d.transpose,xtype:d.xtype,ytype:d.ytype,xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),zhoverformat:E(\"z\",1),hovertemplate:d.hovertemplate,hovertemplatefallback:d.hovertemplatefallback,texttemplate:a({},d.texttemplate,{}),texttemplatefallback:d.texttemplatefallback,textfont:a({},d.textfont,{}),hoverongaps:d.hoverongaps,connectgaps:a({},d.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:o({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:e(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(i).concat(s),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:a({},h.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:r,smoothing:a({},h.smoothing,{}),editType:\"plot\"},zorder:_.zorder},t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))}}),hS=Ge({\"src/traces/histogram2dcontour/attributes.js\"(Z,G){\"use strict\";var d=n3(),_=V_(),A=ku(),E=rf().axisHoverFormat,e=rs().extendFlat;G.exports=e({x:d.x,y:d.y,z:d.z,marker:d.marker,histnorm:d.histnorm,histfunc:d.histfunc,nbinsx:d.nbinsx,xbins:d.xbins,nbinsy:d.nbinsy,ybins:d.ybins,autobinx:d.autobinx,autobiny:d.autobiny,bingroup:d.bingroup,xbingroup:d.xbingroup,ybingroup:d.ybingroup,autocontour:_.autocontour,ncontours:_.ncontours,contours:_.contours,line:{color:_.line.color,width:e({},_.line.width,{dflt:.5}),dash:_.line.dash,smoothing:_.line.smoothing,editType:\"plot\"},xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),zhoverformat:E(\"z\",1),hovertemplate:d.hovertemplate,hovertemplatefallback:d.hovertemplatefallback,texttemplate:_.texttemplate,texttemplatefallback:_.texttemplatefallback,textfont:_.textfont},A(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))}}),s3=Ge({\"src/traces/contour/contours_defaults.js\"(Z,G){\"use strict\";G.exports=function(_,A,E,e){var t=e(\"contours.start\"),r=e(\"contours.end\"),o=t===!1||r===!1,a=E(\"contours.size\"),n;o?n=A.autocontour=!0:n=E(\"autocontour\",!1),(n||!a)&&E(\"ncontours\")}}}),pS=Ge({\"src/traces/contour/label_defaults.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E,e,t){t||(t={});var r=A(\"contours.showlabels\");if(r){var o=E.font;d.coerceFont(A,\"contours.labelfont\",o,{overrideDflt:{color:e}}),A(\"contours.labelformat\")}t.hasHover!==!1&&A(\"zhoverformat\")}}}),l3=Ge({\"src/traces/contour/style_defaults.js\"(Z,G){\"use strict\";var d=_h(),_=pS();G.exports=function(E,e,t,r,o){var a=t(\"contours.coloring\"),n,i=\"\";a===\"fill\"&&(n=t(\"contours.showlines\")),n!==!1&&(a!==\"lines\"&&(i=t(\"line.color\",\"#000\")),t(\"line.width\",.5),t(\"line.dash\")),a!==\"none\"&&(E.showlegend!==!0&&(e.showlegend=!1),e._dfltShowLegend=!1,d(E,e,r,t,{prefix:\"\",cLetter:\"z\"})),t(\"line.smoothing\"),_(t,r,i,o)}}}),dF=Ge({\"src/traces/histogram2dcontour/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=fS(),A=s3(),E=l3(),e=q_(),t=hS();G.exports=function(o,a,n,i){function s(f,v){return d.coerce(o,a,t,f,v)}function h(f){return d.coerce2(o,a,t,f)}_(o,a,s,i),a.visible!==!1&&(A(o,a,s,h),E(o,a,s,i),s(\"xhoverformat\"),s(\"yhoverformat\"),s(\"hovertemplate\"),s(\"hovertemplatefallback\"),a.contours&&a.contours.coloring===\"heatmap\"&&e(s,i))}}}),dS=Ge({\"src/traces/contour/set_contours.js\"(Z,G){\"use strict\";var d=Wo(),_=sa();G.exports=function(e,t){var r=e.contours;if(e.autocontour){var o=e.zmin,a=e.zmax;(e.zauto||o===void 0)&&(o=_.aggNums(Math.min,null,t)),(e.zauto||a===void 0)&&(a=_.aggNums(Math.max,null,t));var n=A(o,a,e.ncontours);r.size=n.dtick,r.start=d.tickFirst(n),n.range.reverse(),r.end=d.tickFirst(n),r.start===o&&(r.start+=r.size),r.end===a&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),e._input.contours||(e._input.contours={}),_.extendFlat(e._input.contours,{start:r.start,end:r.end,size:r.size}),e._input.autocontour=!0}else if(r.type!==\"constraint\"){var i=r.start,s=r.end,h=e._input.contours;if(i>s&&(r.start=h.start=s,s=r.end=h.end=i,i=r.start),!(r.size>0)){var f;i===s?f=1:f=A(i,s,e.ncontours).dtick,h.size=r.size=f}}};function A(E,e,t){var r={type:\"linear\",range:[E,e]};return d.autoTicks(r,(e-E)/(t||15)),r}}}),G_=Ge({\"src/traces/contour/end_plus.js\"(Z,G){\"use strict\";G.exports=function(_){return _.end+_.size/1e6}}}),vS=Ge({\"src/traces/contour/calc.js\"(Z,G){\"use strict\";var d=rc(),_=$2(),A=dS(),E=G_();G.exports=function(t,r){var o=_(t,r),a=o[0].z;A(r,a);var n=r.contours,i=d.extractOpts(r),s;if(n.coloring===\"heatmap\"&&i.auto&&r.autocontour===!1){var h=n.start,f=E(n),v=n.size||1,c=Math.floor((f-h)/v)+1;isFinite(v)||(v=1,c=1);var T=h-v/2,l=T+c*v;s=[T,l]}else s=a;return d.calc(t,r,{vals:s,cLetter:\"z\"}),o}}}),H_=Ge({\"src/traces/contour/constants.js\"(Z,G){\"use strict\";G.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}}}}),mS=Ge({\"src/traces/contour/make_crossings.js\"(Z,G){\"use strict\";var d=H_();G.exports=function(E){var e=E[0].z,t=e.length,r=e[0].length,o=t===2||r===2,a,n,i,s,h,f,v,c,T;for(n=0;nA?0:1)+(E[0][1]>A?0:2)+(E[1][1]>A?0:4)+(E[1][0]>A?0:8);if(e===5||e===10){var t=(E[0][0]+E[0][1]+E[1][0]+E[1][1])/4;return A>t?e===5?713:1114:e===5?104:208}return e===15?0:e}}}),gS=Ge({\"src/traces/contour/find_all_paths.js\"(Z,G){\"use strict\";var d=sa(),_=H_();G.exports=function(a,n,i){var s,h,f,v,c;for(n=n||.01,i=i||.01,f=0;f20?(f=_.CHOOSESADDLE[f][(v[0]||v[1])<0?0:1],o.crossings[h]=_.SADDLEREMAINDER[f]):delete o.crossings[h],v=_.NEWDELTA[f],!v){d.log(\"Found bad marching index:\",f,a,o.level);break}c.push(r(o,a,v)),a[0]+=v[0],a[1]+=v[1],h=a.join(\",\"),A(c[c.length-1],c[c.length-2],i,s)&&c.pop();var M=v[0]&&(a[0]<0||a[0]>l-2)||v[1]&&(a[1]<0||a[1]>T-2),m=a[0]===x[0]&&a[1]===x[1]&&v[0]===w[0]&&v[1]===w[1];if(m||n&&M)break;f=o.crossings[h]}S===1e4&&d.log(\"Infinite loop in contour?\");var b=A(c[0],c[c.length-1],i,s),p=0,u=.2*o.smoothing,g=[],y=0,D,L,z,F,B,O,P,U,N,X,$;for(S=1;S=y;S--)if(D=g[S],D=y&&D+g[L]U&&N--,o.edgepaths[N]=$.concat(c,X));break}V||(o.edgepaths[U]=c.concat(X))}for(U=0;U20&&a?o===208||o===1114?i=n[0]===0?1:-1:s=n[1]===0?1:-1:_.BOTTOMSTART.indexOf(o)!==-1?s=1:_.LEFTSTART.indexOf(o)!==-1?i=1:_.TOPSTART.indexOf(o)!==-1?s=-1:i=-1,[i,s]}function r(o,a,n){var i=a[0]+Math.max(n[0],0),s=a[1]+Math.max(n[1],0),h=o.z[s][i],f=o.xaxis,v=o.yaxis;if(n[1]){var c=(o.level-h)/(o.z[s][i+1]-h),T=(c!==1?(1-c)*f.c2l(o.x[i]):0)+(c!==0?c*f.c2l(o.x[i+1]):0);return[f.c2p(f.l2c(T),!0),v.c2p(o.y[s],!0),i+c,s]}else{var l=(o.level-h)/(o.z[s+1][i]-h),x=(l!==1?(1-l)*v.c2l(o.y[s]):0)+(l!==0?l*v.c2l(o.y[s+1]):0);return[f.c2p(o.x[i],!0),v.c2p(v.l2c(x),!0),i,s+l]}}}}),vF=Ge({\"src/traces/contour/constraint_mapping.js\"(Z,G){\"use strict\";var d=o3(),_=ns();G.exports={\"[]\":E(\"[]\"),\"][\":E(\"][\"),\">\":e(\">\"),\"<\":e(\"<\"),\"=\":e(\"=\")};function A(t,r){var o=Array.isArray(r),a;function n(i){return _(i)?+i:null}return d.COMPARISON_OPS2.indexOf(t)!==-1?a=n(o?r[0]:r):d.INTERVAL_OPS.indexOf(t)!==-1?a=o?[n(r[0]),n(r[1])]:[n(r),n(r)]:d.SET_OPS.indexOf(t)!==-1&&(a=o?r.map(n):[n(r)]),a}function E(t){return function(r){r=A(t,r);var o=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);return{start:o,end:a,size:a-o}}}function e(t){return function(r){return r=A(t,r),{start:r,end:1/0,size:1/0}}}}}),yS=Ge({\"src/traces/contour/empty_pathinfo.js\"(Z,G){\"use strict\";var d=sa(),_=vF(),A=G_();G.exports=function(e,t,r){for(var o=e.type===\"constraint\"?_[e._operation](e.value):e,a=o.size,n=[],i=A(o),s=r.trace._carpetTrace,h=s?{xaxis:s.aaxis,yaxis:s.baxis,x:r.a,y:r.b}:{xaxis:t.xaxis,yaxis:t.yaxis,x:r.x,y:r.y},f=o.start;f1e3){d.warn(\"Too many contours, clipping at 1000\",e);break}return n}}}),_S=Ge({\"src/traces/contour/convert_to_constraints.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E){var e,t,r,o=function(i){return i.reverse()},a=function(i){return i};switch(E){case\"=\":case\"<\":return A;case\">\":for(A.length!==1&&d.warn(\"Contour data invalid for the specified inequality operation.\"),t=A[0],e=0;er.level||r.starts.length&&t===r.level)}break;case\"constraint\":if(A.prefixBoundary=!1,A.edgepaths.length)return;var o=A.x.length,a=A.y.length,n=-1/0,i=1/0;for(e=0;e\":s>n&&(A.prefixBoundary=!0);break;case\"<\":(sn||A.starts.length&&f===i)&&(A.prefixBoundary=!0);break;case\"][\":h=Math.min(s[0],s[1]),f=Math.max(s[0],s[1]),hn&&(A.prefixBoundary=!0);break}break}}}}),u3=Ge({\"src/traces/contour/plot.js\"(Z){\"use strict\";var G=Vn(),d=sa(),_=as(),A=rc(),E=su(),e=Wo(),t=wv(),r=e3(),o=mS(),a=gS(),n=yS(),i=_S(),s=xS(),h=H_(),f=h.LABELOPTIMIZER;Z.plot=function(m,b,p,u){var g=b.xaxis,y=b.yaxis;d.makeTraceGroups(u,p,\"contour\").each(function(D){var L=G.select(this),z=D[0],F=z.trace,B=z.x,O=z.y,P=F.contours,U=n(P,b,z),N=d.ensureSingle(L,\"g\",\"heatmapcoloring\"),X=[];P.coloring===\"heatmap\"&&(X=[D]),r(m,b,X,N),o(U),a(U);var $=g.c2p(B[0],!0),ue=g.c2p(B[B.length-1],!0),ce=y.c2p(O[0],!0),de=y.c2p(O[O.length-1],!0),V=[[$,de],[ue,de],[ue,ce],[$,ce]],Y=U;P.type===\"constraint\"&&(Y=i(U,P._operation)),v(L,V,P),c(L,Y,V,P),l(L,U,m,z,P),w(L,b,m,z,V)})};function v(M,m,b){var p=d.ensureSingle(M,\"g\",\"contourbg\"),u=p.selectAll(\"path\").data(b.coloring===\"fill\"?[0]:[]);u.enter().append(\"path\"),u.exit().remove(),u.attr(\"d\",\"M\"+m.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function c(M,m,b,p){var u=p.coloring===\"fill\"||p.type===\"constraint\"&&p._operation!==\"=\",g=\"M\"+b.join(\"L\")+\"Z\";u&&s(m,p);var y=d.ensureSingle(M,\"g\",\"contourfill\"),D=y.selectAll(\"path\").data(u?m:[]);D.enter().append(\"path\"),D.exit().remove(),D.each(function(L){var z=(L.prefixBoundary?g:\"\")+T(L,b);z?G.select(this).attr(\"d\",z).style(\"stroke\",\"none\"):G.select(this).remove()})}function T(M,m){var b=\"\",p=0,u=M.edgepaths.map(function($,ue){return ue}),g=!0,y,D,L,z,F,B;function O($){return Math.abs($[1]-m[0][1])<.01}function P($){return Math.abs($[1]-m[2][1])<.01}function U($){return Math.abs($[0]-m[0][0])<.01}function N($){return Math.abs($[0]-m[2][0])<.01}for(;u.length;){for(B=_.smoothopen(M.edgepaths[p],M.smoothing),b+=g?B:B.replace(/^M/,\"L\"),u.splice(u.indexOf(p),1),y=M.edgepaths[p][M.edgepaths[p].length-1],z=-1,L=0;L<4;L++){if(!y){d.log(\"Missing end?\",p,M);break}for(O(y)&&!N(y)?D=m[1]:U(y)?D=m[0]:P(y)?D=m[3]:N(y)&&(D=m[2]),F=0;F=0&&(D=X,z=F):Math.abs(y[1]-D[1])<.01?Math.abs(y[1]-X[1])<.01&&(X[0]-y[0])*(D[0]-X[0])>=0&&(D=X,z=F):d.log(\"endpt to newendpt is not vert. or horz.\",y,D,X)}if(y=D,z>=0)break;b+=\"L\"+D}if(z===M.edgepaths.length){d.log(\"unclosed perimeter path\");break}p=z,g=u.indexOf(p)===-1,g&&(p=u[0],b+=\"Z\")}for(p=0;pf.MAXCOST*2)break;O&&(D/=2),y=z-D/2,L=y+D*1.5}if(B<=f.MAXCOST)return F};function x(M,m,b,p){var u=m.width/2,g=m.height/2,y=M.x,D=M.y,L=M.theta,z=Math.cos(L)*u,F=Math.sin(L)*u,B=(y>p.center?p.right-y:y-p.left)/(z+Math.abs(Math.sin(L)*g)),O=(D>p.middle?p.bottom-D:D-p.top)/(Math.abs(F)+Math.cos(L)*g);if(B<1||O<1)return 1/0;var P=f.EDGECOST*(1/(B-1)+1/(O-1));P+=f.ANGLECOST*L*L;for(var U=y-z,N=D-F,X=y+z,$=D+F,ue=0;ue=w)&&(r<=x&&(r=x),o>=w&&(o=w),n=Math.floor((o-r)/a)+1,i=0),l=0;lx&&(v.unshift(x),c.unshift(c[0])),v[v.length-1]2?s.value=s.value.slice(2):s.length===0?s.value=[0,1]:s.length<2?(h=parseFloat(s.value[0]),s.value=[h,h+1]):s.value=[parseFloat(s.value[0]),parseFloat(s.value[1])]:d(s.value)&&(h=parseFloat(s.value),s.value=[h,h+1])):(i(\"contours.value\",0),d(s.value)||(r(s.value)?s.value=parseFloat(s.value[0]):s.value=0))}}}),yF=Ge({\"src/traces/contour/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=X2(),A=Qd(),E=TS(),e=s3(),t=l3(),r=q_(),o=V_();G.exports=function(n,i,s,h){function f(l,x){return d.coerce(n,i,o,l,x)}function v(l){return d.coerce2(n,i,o,l)}var c=_(n,i,f,h);if(!c){i.visible=!1;return}A(n,i,h,f),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"text\"),f(\"hovertext\"),f(\"hoverongaps\"),f(\"hovertemplate\"),f(\"hovertemplatefallback\");var T=f(\"contours.type\")===\"constraint\";f(\"connectgaps\",d.isArray1D(i.z)),T?E(n,i,f,h,s):(e(n,i,f,v),t(n,i,f,h)),i.contours&&i.contours.coloring===\"heatmap\"&&r(f,h),f(\"zorder\")}}}),_F=Ge({\"src/traces/contour/index.js\"(Z,G){\"use strict\";G.exports={attributes:V_(),supplyDefaults:yF(),calc:vS(),plot:u3().plot,style:c3(),colorbar:f3(),hoverPoints:wS(),moduleType:\"trace\",name:\"contour\",basePlotModule:Kf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}}}),xF=Ge({\"lib/contour.js\"(Z,G){\"use strict\";G.exports=_F()}}),AS=Ge({\"src/traces/scatterternary/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:d,texttemplateAttrs:_,templatefallbackAttrs:A}=$l(),E=$d(),e=af(),t=au(),r=ku(),o=Gh().dash,a=rs().extendFlat,n=e.marker,i=e.line,s=n.line;G.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:a({},e.mode,{dflt:\"markers\"}),text:a({},e.text,{}),texttemplate:_({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),texttemplatefallback:A({editType:\"plot\"}),hovertext:a({},e.hovertext,{}),line:{color:i.color,width:i.width,dash:o,backoff:i.backoff,shape:a({},i.shape,{values:[\"linear\",\"spline\"]}),smoothing:i.smoothing,editType:\"calc\"},connectgaps:e.connectgaps,cliponaxis:e.cliponaxis,fill:a({},e.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:E(),marker:a({symbol:n.symbol,opacity:n.opacity,angle:n.angle,angleref:n.angleref,standoff:n.standoff,maxdisplayed:n.maxdisplayed,size:n.size,sizeref:n.sizeref,sizemin:n.sizemin,sizemode:n.sizemode,line:a({width:s.width,dash:s.dash,editType:\"calc\"},r(\"marker.line\")),gradient:n.gradient,editType:\"calc\"},r(\"marker\")),textfont:e.textfont,textposition:e.textposition,selected:e.selected,unselected:e.unselected,hoverinfo:a({},t.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:e.hoveron,hovertemplate:d(),hovertemplatefallback:A()}}}),bF=Ge({\"src/traces/scatterternary/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Tv(),A=Fu(),E=md(),e=Dd(),t=o1(),r=zd(),o=ev(),a=AS();G.exports=function(i,s,h,f){function v(M,m){return d.coerce(i,s,a,M,m)}var c=v(\"a\"),T=v(\"b\"),l=v(\"c\"),x;if(c?(x=c.length,T?(x=Math.min(x,T.length),l&&(x=Math.min(x,l.length))):l?x=Math.min(x,l.length):x=0):T&&l&&(x=Math.min(T.length,l.length)),!x){s.visible=!1;return}s._length=x,v(\"sum\"),v(\"text\"),v(\"hovertext\"),s.hoveron!==\"fills\"&&(v(\"hovertemplate\"),v(\"hovertemplatefallback\"));var w=x<_.PTS_LINESONLY?\"lines+markers\":\"lines\";v(\"mode\",w),A.hasMarkers(s)&&E(i,s,h,f,v,{gradient:!0}),A.hasLines(s)&&(e(i,s,h,f,v,{backoff:!0}),t(i,s,v),v(\"connectgaps\")),A.hasText(s)&&(v(\"texttemplate\"),v(\"texttemplatefallback\"),r(i,s,f,v));var S=[];(A.hasMarkers(s)||A.hasText(s))&&(v(\"cliponaxis\"),v(\"marker.maxdisplayed\"),S.push(\"points\")),v(\"fill\"),s.fill!==\"none\"&&(o(i,s,h,v),A.hasLines(s)||t(i,s,v)),(s.fill===\"tonext\"||s.fill===\"toself\")&&S.push(\"fills\"),v(\"hoveron\",S.join(\"+\")||\"points\"),d.coerceSelectionMarkerOpacity(s,v)}}}),wF=Ge({\"src/traces/scatterternary/format_labels.js\"(Z,G){\"use strict\";var d=Wo();G.exports=function(A,E,e){var t={},r=e[E.subplot]._subplot;return t.aLabel=d.tickText(r.aaxis,A.a,!0).text,t.bLabel=d.tickText(r.baxis,A.b,!0).text,t.cLabel=d.tickText(r.caxis,A.c,!0).text,t}}}),TF=Ge({\"src/traces/scatterternary/calc.js\"(Z,G){\"use strict\";var d=ns(),_=Fd(),A=Av(),E=Od(),e=Bd().calcMarkerSize,t=[\"a\",\"b\",\"c\"],r={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};G.exports=function(a,n){var i=a._fullLayout[n.subplot],s=i.sum,h=n.sum||s,f={a:n.a,b:n.b,c:n.c},v=n.ids,c,T,l,x,w,S;for(c=0;c\"),o.hovertemplate=f.hovertemplate,r}}}),MF=Ge({\"src/traces/scatterternary/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A,E,e,t){if(A.xa&&(_.xaxis=A.xa),A.ya&&(_.yaxis=A.ya),e[t]){var r=e[t];_.a=r.a,_.b=r.b,_.c=r.c}else _.a=A.a,_.b=A.b,_.c=A.c;return _}}}),EF=Ge({\"src/plots/ternary/ternary.js\"(Z,G){\"use strict\";var d=Vn(),_=Ch(),A=so(),E=sa(),e=E.strTranslate,t=E._,r=$n(),o=as(),a=wv(),n=rs().extendFlat,i=bc(),s=Wo(),h=Ap(),f=Hc(),v=Jd(),c=v.freeMode,T=v.rectMode,l=K0(),x=Af().prepSelect,w=Af().selectOnClick,S=Af().clearOutline,M=Af().clearSelectionsCache,m=lh();function b(P,U){this.id=P.id,this.graphDiv=P.graphDiv,this.init(U),this.makeFramework(U),this.updateFx(U),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}G.exports=b;var p=b.prototype;p.init=function(P){this.container=P._ternarylayer,this.defs=P._defs,this.layoutId=P._uid,this.traceHash={},this.layers={}},p.plot=function(P,U){var N=this,X=U[N.id],$=U._size;N._hasClipOnAxisFalse=!1;for(var ue=0;ueu*Y?(pe=Y,re=pe*u):(re=V,pe=re/u),we=ce*re/V,Se=de*pe/Y,j=U.l+U.w*$-re/2,Q=U.t+U.h*(1-ue)-pe/2,N.x0=j,N.y0=Q,N.w=re,N.h=pe,N.sum=ee,N.xaxis={type:\"linear\",range:[q+2*ae-ee,ee-q-2*se],domain:[$-we/2,$+we/2],_id:\"x\"},a(N.xaxis,N.graphDiv._fullLayout),N.xaxis.setScale(),N.xaxis.isPtWithinRange=function(Ce){return Ce.a>=N.aaxis.range[0]&&Ce.a<=N.aaxis.range[1]&&Ce.b>=N.baxis.range[1]&&Ce.b<=N.baxis.range[0]&&Ce.c>=N.caxis.range[1]&&Ce.c<=N.caxis.range[0]},N.yaxis={type:\"linear\",range:[q,ee-se-ae],domain:[ue-Se/2,ue+Se/2],_id:\"y\"},a(N.yaxis,N.graphDiv._fullLayout),N.yaxis.setScale(),N.yaxis.isPtWithinRange=function(){return!0};var Ie=N.yaxis.domain[0],Re=N.aaxis=n({},P.aaxis,{range:[q,ee-se-ae],side:\"left\",tickangle:(+P.aaxis.tickangle||0)-30,domain:[Ie,Ie+Se*u],anchor:\"free\",position:0,_id:\"y\",_length:re});a(Re,N.graphDiv._fullLayout),Re.setScale();var He=N.baxis=n({},P.baxis,{range:[ee-q-ae,se],side:\"bottom\",domain:N.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:re});a(He,N.graphDiv._fullLayout),He.setScale();var at=N.caxis=n({},P.caxis,{range:[ee-q-se,ae],side:\"right\",tickangle:(+P.caxis.tickangle||0)+30,domain:[Ie,Ie+Se*u],anchor:\"free\",position:0,_id:\"y\",_length:re});a(at,N.graphDiv._fullLayout),at.setScale();var nt=\"M\"+j+\",\"+(Q+pe)+\"h\"+re+\"l-\"+re/2+\",-\"+pe+\"Z\";N.clipDef.select(\"path\").attr(\"d\",nt),N.layers.plotbg.select(\"path\").attr(\"d\",nt);var tt=\"M0,\"+pe+\"h\"+re+\"l-\"+re/2+\",-\"+pe+\"Z\";N.clipDefRelative.select(\"path\").attr(\"d\",tt);var Ue=e(j,Q);N.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",Ue),N.clipDefRelative.select(\"path\").attr(\"transform\",null);var he=e(j-He._offset,Q+pe);N.layers.baxis.attr(\"transform\",he),N.layers.bgrid.attr(\"transform\",he);var le=e(j+re/2,Q)+\"rotate(30)\"+e(0,-Re._offset);N.layers.aaxis.attr(\"transform\",le),N.layers.agrid.attr(\"transform\",le);var ne=e(j+re/2,Q)+\"rotate(-30)\"+e(0,-at._offset);N.layers.caxis.attr(\"transform\",ne),N.layers.cgrid.attr(\"transform\",ne),N.drawAxes(!0),N.layers.aline.select(\"path\").attr(\"d\",Re.showline?\"M\"+j+\",\"+(Q+pe)+\"l\"+re/2+\",-\"+pe:\"M0,0\").call(r.stroke,Re.linecolor||\"#000\").style(\"stroke-width\",(Re.linewidth||0)+\"px\"),N.layers.bline.select(\"path\").attr(\"d\",He.showline?\"M\"+j+\",\"+(Q+pe)+\"h\"+re:\"M0,0\").call(r.stroke,He.linecolor||\"#000\").style(\"stroke-width\",(He.linewidth||0)+\"px\"),N.layers.cline.select(\"path\").attr(\"d\",at.showline?\"M\"+(j+re/2)+\",\"+Q+\"l\"+re/2+\",\"+pe:\"M0,0\").call(r.stroke,at.linecolor||\"#000\").style(\"stroke-width\",(at.linewidth||0)+\"px\"),N.graphDiv._context.staticPlot||N.initInteractions(),o.setClipUrl(N.layers.frontplot,N._hasClipOnAxisFalse?null:N.clipId,N.graphDiv)},p.drawAxes=function(P){var U=this,N=U.graphDiv,X=U.id.slice(7)+\"title\",$=U.layers,ue=U.aaxis,ce=U.baxis,de=U.caxis;if(U.drawAx(ue),U.drawAx(ce),U.drawAx(de),P){var V=Math.max(ue.showticklabels?ue.tickfont.size/2:0,(de.showticklabels?de.tickfont.size*.75:0)+(de.ticks===\"outside\"?de.ticklen*.87:0)),Y=(ce.showticklabels?ce.tickfont.size:0)+(ce.ticks===\"outside\"?ce.ticklen:0)+3;$[\"a-title\"]=l.draw(N,\"a\"+X,{propContainer:ue,propName:U.id+\".aaxis.title.text\",placeholder:t(N,\"Click to enter Component A title\"),attributes:{x:U.x0+U.w/2,y:U.y0-ue.title.font.size/3-V,\"text-anchor\":\"middle\"}}),$[\"b-title\"]=l.draw(N,\"b\"+X,{propContainer:ce,propName:U.id+\".baxis.title.text\",placeholder:t(N,\"Click to enter Component B title\"),attributes:{x:U.x0-Y,y:U.y0+U.h+ce.title.font.size*.83+Y,\"text-anchor\":\"middle\"}}),$[\"c-title\"]=l.draw(N,\"c\"+X,{propContainer:de,propName:U.id+\".caxis.title.text\",placeholder:t(N,\"Click to enter Component C title\"),attributes:{x:U.x0+U.w+Y,y:U.y0+U.h+de.title.font.size*.83+Y,\"text-anchor\":\"middle\"}})}},p.drawAx=function(P){var U=this,N=U.graphDiv,X=P._name,$=X.charAt(0),ue=P._id,ce=U.layers[X],de=30,V=$+\"tickLayout\",Y=g(P);U[V]!==Y&&(ce.selectAll(\".\"+ue+\"tick\").remove(),U[V]=Y),P.setScale();var ee=s.calcTicks(P),q=s.clipEnds(P,ee),se=s.makeTransTickFn(P),ae=s.getTickSigns(P)[2],j=E.deg2rad(de),Q=ae*(P.linewidth||1)/2,re=ae*P.ticklen,pe=U.w,we=U.h,Se=$===\"b\"?\"M0,\"+Q+\"l\"+Math.sin(j)*re+\",\"+Math.cos(j)*re:\"M\"+Q+\",0l\"+Math.cos(j)*re+\",\"+-Math.sin(j)*re,Ie={a:\"M0,0l\"+we+\",-\"+pe/2,b:\"M0,0l-\"+pe/2+\",-\"+we,c:\"M0,0l-\"+we+\",\"+pe/2}[$];s.drawTicks(N,P,{vals:P.ticks===\"inside\"?q:ee,layer:ce,path:Se,transFn:se,crisp:!1}),s.drawGrid(N,P,{vals:q,layer:U.layers[$+\"grid\"],path:Ie,transFn:se,crisp:!1}),s.drawLabels(N,P,{vals:ee,layer:ce,transFn:se,labelFns:s.makeLabelFns(P,0,de)})};function g(P){return P.ticks+String(P.ticklen)+String(P.showticklabels)}var y=m.MINZOOM/2+.87,D=\"m-0.87,.5h\"+y+\"v3h-\"+(y+5.2)+\"l\"+(y/2+2.6)+\",-\"+(y*.87+4.5)+\"l2.6,1.5l-\"+y/2+\",\"+y*.87+\"Z\",L=\"m0.87,.5h-\"+y+\"v3h\"+(y+5.2)+\"l-\"+(y/2+2.6)+\",-\"+(y*.87+4.5)+\"l-2.6,1.5l\"+y/2+\",\"+y*.87+\"Z\",z=\"m0,1l\"+y/2+\",\"+y*.87+\"l2.6,-1.5l-\"+(y/2+2.6)+\",-\"+(y*.87+4.5)+\"l-\"+(y/2+2.6)+\",\"+(y*.87+4.5)+\"l2.6,1.5l\"+y/2+\",-\"+y*.87+\"Z\",F=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",B=!0;p.clearOutline=function(){M(this.dragOptions),S(this.dragOptions.gd)},p.initInteractions=function(){var P=this,U=P.layers.plotbg.select(\"path\").node(),N=P.graphDiv,X=N._fullLayout._zoomlayer,$,ue;this.dragOptions={element:U,gd:N,plotinfo:{id:P.id,domain:N._fullLayout[P.id].domain,xaxis:P.xaxis,yaxis:P.yaxis},subplot:P.id,prepFn:function(he,le,ne){P.dragOptions.xaxes=[P.xaxis],P.dragOptions.yaxes=[P.yaxis],$=N._fullLayout._invScaleX,ue=N._fullLayout._invScaleY;var Ce=P.dragOptions.dragmode=N._fullLayout.dragmode;c(Ce)?P.dragOptions.minDrag=1:P.dragOptions.minDrag=void 0,Ce===\"zoom\"?(P.dragOptions.moveFn=He,P.dragOptions.clickFn=pe,P.dragOptions.doneFn=at,we(he,le,ne)):Ce===\"pan\"?(P.dragOptions.moveFn=tt,P.dragOptions.clickFn=pe,P.dragOptions.doneFn=Ue,nt(),P.clearOutline(N)):(T(Ce)||c(Ce))&&x(he,le,ne,P.dragOptions,Ce)}};var ce,de,V,Y,ee,q,se,ae,j,Q;function re(he){var le={};return le[P.id+\".aaxis.min\"]=he.a,le[P.id+\".baxis.min\"]=he.b,le[P.id+\".caxis.min\"]=he.c,le}function pe(he,le){var ne=N._fullLayout.clickmode;O(N),he===2&&(N.emit(\"plotly_doubleclick\",null),A.call(\"_guiRelayout\",N,re({a:0,b:0,c:0}))),ne.indexOf(\"select\")>-1&&he===1&&w(le,N,[P.xaxis],[P.yaxis],P.id,P.dragOptions),ne.indexOf(\"event\")>-1&&f.click(N,le,P.id)}function we(he,le,ne){var Ce=U.getBoundingClientRect();ce=le-Ce.left,de=ne-Ce.top,N._fullLayout._calcInverseTransform(N);var Ze=N._fullLayout._invTransform,rt=E.apply3DTransform(Ze)(ce,de);ce=rt[0],de=rt[1],V={a:P.aaxis.range[0],b:P.baxis.range[1],c:P.caxis.range[1]},ee=V,Y=P.aaxis.range[1]-V.a,q=_(P.graphDiv._fullLayout[P.id].bgcolor).getLuminance(),se=\"M0,\"+P.h+\"L\"+P.w/2+\", 0L\"+P.w+\",\"+P.h+\"Z\",ae=!1,j=X.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",e(P.x0,P.y0)).style({fill:q>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",se),Q=X.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",e(P.x0,P.y0)).style({fill:r.background,stroke:r.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),P.clearOutline(N)}function Se(he,le){return 1-le/P.h}function Ie(he,le){return 1-(he+(P.h-le)/Math.sqrt(3))/P.w}function Re(he,le){return(he-(P.h-le)/Math.sqrt(3))/P.w}function He(he,le){var ne=ce+he*$,Ce=de+le*ue,Ze=Math.max(0,Math.min(1,Se(ce,de),Se(ne,Ce))),rt=Math.max(0,Math.min(1,Ie(ce,de),Ie(ne,Ce))),Ye=Math.max(0,Math.min(1,Re(ce,de),Re(ne,Ce))),St=(Ze/2+Ye)*P.w,kt=(1-Ze/2-rt)*P.w,qt=(St+kt)/2,Gt=kt-St,Tr=(1-Ze)*P.h,mr=Tr-Gt/u;Gt.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),Q.transition().style(\"opacity\",1).duration(200),ae=!0),N.emit(\"plotly_relayouting\",re(ee))}function at(){O(N),ee!==V&&(A.call(\"_guiRelayout\",N,re(ee)),B&&N.data&&N._context.showTips&&(E.notifier(t(N,\"Double-click to zoom back out\"),\"long\",N),B=!1))}function nt(){V={a:P.aaxis.range[0],b:P.baxis.range[1],c:P.caxis.range[1]},ee=V}function tt(he,le){var ne=he/P.xaxis._m,Ce=le/P.yaxis._m;ee={a:V.a-Ce,b:V.b+(ne+Ce)/2,c:V.c-(ne-Ce)/2};var Ze=[ee.a,ee.b,ee.c].sort(E.sorterAsc),rt={a:Ze.indexOf(ee.a),b:Ze.indexOf(ee.b),c:Ze.indexOf(ee.c)};Ze[0]<0&&(Ze[1]+Ze[0]/2<0?(Ze[2]+=Ze[0]+Ze[1],Ze[0]=Ze[1]=0):(Ze[2]+=Ze[0]/2,Ze[1]+=Ze[0]/2,Ze[0]=0),ee={a:Ze[rt.a],b:Ze[rt.b],c:Ze[rt.c]},le=(V.a-ee.a)*P.yaxis._m,he=(V.c-ee.c-V.b+ee.b)*P.xaxis._m);var Ye=e(P.x0+he,P.y0+le);P.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",Ye);var St=e(-he,-le);P.clipDefRelative.select(\"path\").attr(\"transform\",St),P.aaxis.range=[ee.a,P.sum-ee.b-ee.c],P.baxis.range=[P.sum-ee.a-ee.c,ee.b],P.caxis.range=[P.sum-ee.a-ee.b,ee.c],P.drawAxes(!1),P._hasClipOnAxisFalse&&P.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(o.hideOutsideRangePoints,P),N.emit(\"plotly_relayouting\",re(ee))}function Ue(){A.call(\"_guiRelayout\",N,re(ee))}U.onmousemove=function(he){f.hover(N,he,P.id),N._fullLayout._lasthover=U,N._fullLayout._hoversubplot=P.id},U.onmouseout=function(he){N._dragging||h.unhover(N,he)},h.init(this.dragOptions)};function O(P){d.select(P).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}}}),SS=Ge({\"src/plots/ternary/layout_attributes.js\"(Z,G){\"use strict\";var d=sh(),_=wc().attributes,A=Wh(),E=pc().overrideAll,e=rs().extendFlat,t={title:{text:A.title.text,font:A.title.font},color:A.color,tickmode:A.minor.tickmode,nticks:e({},A.nticks,{dflt:6,min:1}),tick0:A.tick0,dtick:A.dtick,tickvals:A.tickvals,ticktext:A.ticktext,ticks:A.ticks,ticklen:A.ticklen,tickwidth:A.tickwidth,tickcolor:A.tickcolor,ticklabelstep:A.ticklabelstep,showticklabels:A.showticklabels,labelalias:A.labelalias,showtickprefix:A.showtickprefix,tickprefix:A.tickprefix,showticksuffix:A.showticksuffix,ticksuffix:A.ticksuffix,showexponent:A.showexponent,exponentformat:A.exponentformat,minexponent:A.minexponent,separatethousands:A.separatethousands,tickfont:A.tickfont,tickangle:A.tickangle,tickformat:A.tickformat,tickformatstops:A.tickformatstops,hoverformat:A.hoverformat,showline:e({},A.showline,{dflt:!0}),linecolor:A.linecolor,linewidth:A.linewidth,showgrid:e({},A.showgrid,{dflt:!0}),gridcolor:A.gridcolor,gridwidth:A.gridwidth,griddash:A.griddash,layer:A.layer,min:{valType:\"number\",dflt:0,min:0}},r=G.exports=E({domain:_({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:d.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:t,baxis:t,caxis:t},\"plot\",\"from-root\");r.uirevision={valType:\"any\",editType:\"none\"},r.aaxis.uirevision=r.baxis.uirevision=r.caxis.uirevision={valType:\"any\",editType:\"none\"}}}),o0=Ge({\"src/plots/subplot_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=zl(),A=wc().defaults;G.exports=function(e,t,r,o){var a=o.type,n=o.attributes,i=o.handleDefaults,s=o.partition||\"x\",h=t._subplots[a],f=h.length,v=f&&h[0].replace(/\\d+$/,\"\"),c,T;function l(M,m){return d.coerce(c,T,n,M,m)}for(var x=0;x=x&&(b.min=0,p.min=0,u.min=0,f.aaxis&&delete f.aaxis.min,f.baxis&&delete f.baxis.min,f.caxis&&delete f.caxis.min)}function h(f,v,c,T){var l=n[v._name];function x(g,y){return A.coerce(f,v,l,g,y)}x(\"uirevision\",T.uirevision),v.type=\"linear\";var w=x(\"color\"),S=w!==l.color.dflt?w:c.font.color,M=v._name,m=M.charAt(0).toUpperCase(),b=\"Component \"+m,p=x(\"title.text\",b);v._hovertitle=p===b?p:m,A.coerceFont(x,\"title.font\",c.font,{overrideDflt:{size:A.bigFont(c.font.size),color:S}}),x(\"min\"),o(f,v,x,\"linear\"),t(f,v,x,\"linear\"),e(f,v,x,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),r(f,v,x,{outerTicks:!0});var u=x(\"showticklabels\");u&&(A.coerceFont(x,\"tickfont\",c.font,{overrideDflt:{color:S}}),x(\"tickangle\"),x(\"tickformat\")),a(f,v,x,{dfltColor:w,bgColor:c.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:l}),x(\"hoverformat\"),x(\"layer\")}}}),CF=Ge({\"src/plots/ternary/index.js\"(Z){\"use strict\";var G=EF(),d=Hh().getSubplotCalcData,_=sa().counterRegex,A=\"ternary\";Z.name=A;var E=Z.attr=\"subplot\";Z.idRoot=A,Z.idRegex=Z.attrRegex=_(A);var e=Z.attributes={};e[E]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"},Z.layoutAttributes=SS(),Z.supplyLayoutDefaults=kF(),Z.plot=function(r){for(var o=r._fullLayout,a=r.calcdata,n=o._subplots[A],i=0;i0){var M=r.xa,m=r.ya,b,p,u,g,y;f.orientation===\"h\"?(y=o,b=\"y\",u=m,p=\"x\",g=M):(y=a,b=\"x\",u=M,p=\"y\",g=m);var D=h[r.index];if(y>=D.span[0]&&y<=D.span[1]){var L=_.extendFlat({},r),z=g.c2p(y,!0),F=e.getKdeValue(D,f,y),B=e.getPositionOnKdePath(D,f,z),O=u._offset,P=u._length;L[b+\"0\"]=B[0],L[b+\"1\"]=B[1],L[p+\"0\"]=L[p+\"1\"]=z,L[p+\"Label\"]=p+\": \"+A.hoverLabelText(g,y,f[p+\"hoverformat\"])+\", \"+h[0].t.labels.kde+\" \"+F.toFixed(3);for(var U=0,N=0;N path\").each(function(c){if(!c.isBlank){var T=v.marker;d.select(this).call(A.fill,c.mc||T.color).call(A.stroke,c.mlc||T.line.color).call(_.dashLine,T.line.dash,c.mlw||T.line.width).style(\"opacity\",v.selectedpoints&&!c.selected?E:1)}}),r(f,v,a),f.selectAll(\".regions\").each(function(){d.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(A.fill,v.connector.fillcolor)}),f.selectAll(\".lines\").each(function(){var c=v.connector.line;_.lineGroupStyle(d.select(this).selectAll(\"path\"),c.width,c.color,c.dash)})})}G.exports={style:o}}}),ZF=Ge({\"src/traces/funnel/hover.js\"(Z,G){\"use strict\";var d=$n().opacity,_=f1().hoverOnBars,A=sa().formatPercent;G.exports=function(t,r,o,a,n){var i=_(t,r,o,a,n);if(i){var s=i.cd,h=s[0].trace,f=h.orientation===\"h\",v=i.index,c=s[v],T=f?\"x\":\"y\";i[T+\"LabelVal\"]=c.s,i.percentInitial=c.begR,i.percentInitialLabel=A(c.begR,1),i.percentPrevious=c.difR,i.percentPreviousLabel=A(c.difR,1),i.percentTotal=c.sumR,i.percentTotalLabel=A(c.sumR,1);var l=c.hi||h.hoverinfo,x=[];if(l&&l!==\"none\"&&l!==\"skip\"){var w=l===\"all\",S=l.split(\"+\"),M=function(m){return w||S.indexOf(m)!==-1};M(\"percent initial\")&&x.push(i.percentInitialLabel+\" of initial\"),M(\"percent previous\")&&x.push(i.percentPreviousLabel+\" of previous\"),M(\"percent total\")&&x.push(i.percentTotalLabel+\" of total\")}return i.extraText=x.join(\"
\"),i.color=E(h,c),[i]}};function E(e,t){var r=e.marker,o=t.mc||r.color,a=t.mlc||r.line.color,n=t.mlw||r.line.width;if(d(o))return o;if(d(a)&&n)return a}}}),YF=Ge({\"src/traces/funnel/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A){return _.x=\"xVal\"in A?A.xVal:A.x,_.y=\"yVal\"in A?A.yVal:A.y,\"percentInitial\"in A&&(_.percentInitial=A.percentInitial),\"percentPrevious\"in A&&(_.percentPrevious=A.percentPrevious),\"percentTotal\"in A&&(_.percentTotal=A.percentTotal),A.xa&&(_.xaxis=A.xa),A.ya&&(_.yaxis=A.ya),_}}}),KF=Ge({\"src/traces/funnel/index.js\"(Z,G){\"use strict\";G.exports={attributes:kS(),layoutAttributes:CS(),supplyDefaults:LS().supplyDefaults,crossTraceDefaults:LS().crossTraceDefaults,supplyLayoutDefaults:qF(),calc:GF(),crossTraceCalc:HF(),plot:WF(),style:XF().style,hoverPoints:ZF(),eventData:YF(),selectPoints:h1(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Kf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}}}),JF=Ge({\"lib/funnel.js\"(Z,G){\"use strict\";G.exports=KF()}}),$F=Ge({\"src/traces/waterfall/constants.js\"(Z,G){\"use strict\";G.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}}}),PS=Ge({\"src/traces/waterfall/attributes.js\"(Z,G){\"use strict\";var d=Sv(),_=af().line,A=au(),E=rf().axisHoverFormat,{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=$l(),o=$F(),a=rs().extendFlat,n=$n();function i(s){return{marker:{color:a({},d.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:a({},d.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:a({},d.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}G.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:d.x,x0:d.x0,dx:d.dx,y:d.y,y0:d.y0,dy:d.dy,xperiod:d.xperiod,yperiod:d.yperiod,xperiod0:d.xperiod0,yperiod0:d.yperiod0,xperiodalignment:d.xperiodalignment,yperiodalignment:d.yperiodalignment,xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),hovertext:d.hovertext,hovertemplate:e({},{keys:o.eventDataKeys}),hovertemplatefallback:r(),hoverinfo:a({},A.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:t({editType:\"plot\"},{keys:o.eventDataKeys.concat([\"label\"])}),texttemplatefallback:r({editType:\"plot\"}),text:d.text,textposition:d.textposition,insidetextanchor:d.insidetextanchor,textangle:d.textangle,textfont:d.textfont,insidetextfont:d.insidetextfont,outsidetextfont:d.outsidetextfont,constraintext:d.constraintext,cliponaxis:d.cliponaxis,orientation:d.orientation,offset:d.offset,width:d.width,increasing:i(\"increasing\"),decreasing:i(\"decreasing\"),totals:i(\"intermediate sums and total\"),connector:{line:{color:a({},_.color,{dflt:n.defaultLine}),width:a({},_.width,{editType:\"plot\"}),dash:_.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:d.offsetgroup,alignmentgroup:d.alignmentgroup,zorder:d.zorder}}}),IS=Ge({\"src/traces/waterfall/layout_attributes.js\"(Z,G){\"use strict\";G.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\"}}}}),d1=Ge({\"src/constants/delta.js\"(Z,G){\"use strict\";G.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}}}),RS=Ge({\"src/traces/waterfall/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Q0(),A=gd().handleText,E=n1(),e=Qd(),t=PS(),r=$n(),o=d1(),a=o.INCREASING.COLOR,n=o.DECREASING.COLOR,i=\"#4499FF\";function s(v,c,T){v(c+\".marker.color\",T),v(c+\".marker.line.color\",r.defaultLine),v(c+\".marker.line.width\")}function h(v,c,T,l){function x(b,p){return d.coerce(v,c,t,b,p)}var w=E(v,c,l,x);if(!w){c.visible=!1;return}e(v,c,l,x),x(\"xhoverformat\"),x(\"yhoverformat\"),x(\"measure\"),x(\"orientation\",c.x&&!c.y?\"h\":\"v\"),x(\"base\"),x(\"offset\"),x(\"width\"),x(\"text\"),x(\"hovertext\"),x(\"hovertemplate\"),x(\"hovertemplatefallback\");var S=x(\"textposition\");A(v,c,l,x,S,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),c.textposition!==\"none\"&&(x(\"texttemplate\"),x(\"texttemplatefallback\"),c.texttemplate||x(\"textinfo\")),s(x,\"increasing\",a),s(x,\"decreasing\",n),s(x,\"totals\",i);var M=x(\"connector.visible\");if(M){x(\"connector.mode\");var m=x(\"connector.line.width\");m&&(x(\"connector.line.color\"),x(\"connector.line.dash\"))}x(\"zorder\")}function f(v,c){var T,l;function x(S){return d.coerce(l._input,l,t,S)}if(c.waterfallmode===\"group\")for(var w=0;w0&&(x?y+=\"M\"+u[0]+\",\"+g[1]+\"V\"+g[0]:y+=\"M\"+u[1]+\",\"+g[0]+\"H\"+u[0]),w!==\"between\"&&(m.isSum||b path\").each(function(c){if(!c.isBlank){var T=v[c.dir].marker;d.select(this).call(A.fill,T.color).call(A.stroke,T.line.color).call(_.dashLine,T.line.dash,T.line.width).style(\"opacity\",v.selectedpoints&&!c.selected?E:1)}}),r(f,v,a),f.selectAll(\".lines\").each(function(){var c=v.connector.line;_.lineGroupStyle(d.select(this).selectAll(\"path\"),c.width,c.color,c.dash)})})}G.exports={style:o}}}),iO=Ge({\"src/traces/waterfall/hover.js\"(Z,G){\"use strict\";var d=Wo().hoverLabelText,_=$n().opacity,A=f1().hoverOnBars,E=d1(),e={increasing:E.INCREASING.SYMBOL,decreasing:E.DECREASING.SYMBOL};G.exports=function(o,a,n,i,s){var h=A(o,a,n,i,s);if(!h)return;var f=h.cd,v=f[0].trace,c=v.orientation===\"h\",T=c?\"x\":\"y\",l=c?o.xa:o.ya;function x(D){return d(l,D,v[T+\"hoverformat\"])}var w=h.index,S=f[w],M=S.isSum?S.b+S.s:S.rawS;h.initial=S.b+S.s-M,h.delta=M,h.final=h.initial+h.delta;var m=x(Math.abs(h.delta));h.deltaLabel=M<0?\"(\"+m+\")\":m,h.finalLabel=x(h.final),h.initialLabel=x(h.initial);var b=S.hi||v.hoverinfo,p=[];if(b&&b!==\"none\"&&b!==\"skip\"){var u=b===\"all\",g=b.split(\"+\"),y=function(D){return u||g.indexOf(D)!==-1};S.isSum||(y(\"final\")&&(c?!y(\"x\"):!y(\"y\"))&&p.push(h.finalLabel),y(\"delta\")&&(M<0?p.push(h.deltaLabel+\" \"+e.decreasing):p.push(h.deltaLabel+\" \"+e.increasing)),y(\"initial\")&&p.push(\"Initial: \"+h.initialLabel))}return p.length&&(h.extraText=p.join(\"
\")),h.color=t(v,S),[h]};function t(r,o){var a=r[o.dir].marker,n=a.color,i=a.line.color,s=a.line.width;if(_(n))return n;if(_(i)&&s)return i}}}),nO=Ge({\"src/traces/waterfall/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A){return _.x=\"xVal\"in A?A.xVal:A.x,_.y=\"yVal\"in A?A.yVal:A.y,\"initial\"in A&&(_.initial=A.initial),\"delta\"in A&&(_.delta=A.delta),\"final\"in A&&(_.final=A.final),A.xa&&(_.xaxis=A.xa),A.ya&&(_.yaxis=A.ya),_}}}),oO=Ge({\"src/traces/waterfall/index.js\"(Z,G){\"use strict\";G.exports={attributes:PS(),layoutAttributes:IS(),supplyDefaults:RS().supplyDefaults,crossTraceDefaults:RS().crossTraceDefaults,supplyLayoutDefaults:QF(),calc:eO(),crossTraceCalc:tO(),plot:rO(),style:aO().style,hoverPoints:iO(),eventData:nO(),selectPoints:h1(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Kf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}}}),sO=Ge({\"lib/waterfall.js\"(Z,G){\"use strict\";G.exports=oO()}}),v1=Ge({\"src/traces/image/constants.js\"(Z,G){\"use strict\";G.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(d){return d.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(d){return d.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(d){return d.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(d){var _=d.slice(0,3);return _[1]=_[1]+\"%\",_[2]=_[2]+\"%\",_},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(d){var _=d.slice(0,4);return _[1]=_[1]+\"%\",_[2]=_[2]+\"%\",_},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}}}),DS=Ge({\"src/traces/image/attributes.js\"(Z,G){\"use strict\";var d=au(),_=af().zorder,{hovertemplateAttrs:A,templatefallbackAttrs:E}=$l(),e=rs().extendFlat,t=v1().colormodel,r=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],o=[],a=[];for(i=0;i0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var v=h.indexOf(\"=\");v===-1&&(v=f);var c=v===f?0:4-v%4;return[v,c]}function r(h){var f=t(h),v=f[0],c=f[1];return(v+c)*3/4-c}function o(h,f,v){return(f+v)*3/4-v}function a(h){var f,v=t(h),c=v[0],T=v[1],l=new _(o(h,c,T)),x=0,w=T>0?c-4:c,S;for(S=0;S>16&255,l[x++]=f>>8&255,l[x++]=f&255;return T===2&&(f=d[h.charCodeAt(S)]<<2|d[h.charCodeAt(S+1)]>>4,l[x++]=f&255),T===1&&(f=d[h.charCodeAt(S)]<<10|d[h.charCodeAt(S+1)]<<4|d[h.charCodeAt(S+2)]>>2,l[x++]=f>>8&255,l[x++]=f&255),l}function n(h){return G[h>>18&63]+G[h>>12&63]+G[h>>6&63]+G[h&63]}function i(h,f,v){for(var c,T=[],l=f;lw?w:x+l));return c===1?(f=h[v-1],T.push(G[f>>2]+G[f<<4&63]+\"==\")):c===2&&(f=(h[v-2]<<8)+h[v-1],T.push(G[f>>10]+G[f>>4&63]+G[f<<2&63]+\"=\")),T.join(\"\")}}}),cO=Ge({\"node_modules/ieee754/index.js\"(Z){Z.read=function(G,d,_,A,E){var e,t,r=E*8-A-1,o=(1<>1,n=-7,i=_?E-1:0,s=_?-1:1,h=G[d+i];for(i+=s,e=h&(1<<-n)-1,h>>=-n,n+=r;n>0;e=e*256+G[d+i],i+=s,n-=8);for(t=e&(1<<-n)-1,e>>=-n,n+=A;n>0;t=t*256+G[d+i],i+=s,n-=8);if(e===0)e=1-a;else{if(e===o)return t?NaN:(h?-1:1)*(1/0);t=t+Math.pow(2,A),e=e-a}return(h?-1:1)*t*Math.pow(2,e-A)},Z.write=function(G,d,_,A,E,e){var t,r,o,a=e*8-E-1,n=(1<>1,s=E===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=A?0:e-1,f=A?1:-1,v=d<0||d===0&&1/d<0?1:0;for(d=Math.abs(d),isNaN(d)||d===1/0?(r=isNaN(d)?1:0,t=n):(t=Math.floor(Math.log(d)/Math.LN2),d*(o=Math.pow(2,-t))<1&&(t--,o*=2),t+i>=1?d+=s/o:d+=s*Math.pow(2,1-i),d*o>=2&&(t++,o/=2),t+i>=n?(r=0,t=n):t+i>=1?(r=(d*o-1)*Math.pow(2,E),t=t+i):(r=d*Math.pow(2,i-1)*Math.pow(2,E),t=0));E>=8;G[_+h]=r&255,h+=f,r/=256,E-=8);for(t=t<0;G[_+h]=t&255,h+=f,t/=256,a-=8);G[_+h-f]|=v*128}}}),rg=Ge({\"node_modules/buffer/index.js\"(Z){\"use strict\";var G=uO(),d=cO(),_=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;Z.Buffer=t,Z.SlowBuffer=T,Z.INSPECT_MAX_BYTES=50;var A=2147483647;Z.kMaxLength=A,t.TYPED_ARRAY_SUPPORT=E(),!t.TYPED_ARRAY_SUPPORT&&typeof console<\"u\"&&typeof console.error==\"function\"&&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.\");function E(){try{let he=new Uint8Array(1),le={foo:function(){return 42}};return Object.setPrototypeOf(le,Uint8Array.prototype),Object.setPrototypeOf(he,le),he.foo()===42}catch{return!1}}Object.defineProperty(t.prototype,\"parent\",{enumerable:!0,get:function(){if(t.isBuffer(this))return this.buffer}}),Object.defineProperty(t.prototype,\"offset\",{enumerable:!0,get:function(){if(t.isBuffer(this))return this.byteOffset}});function e(he){if(he>A)throw new RangeError('The value \"'+he+'\" is invalid for option \"size\"');let le=new Uint8Array(he);return Object.setPrototypeOf(le,t.prototype),le}function t(he,le,ne){if(typeof he==\"number\"){if(typeof le==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return n(he)}return r(he,le,ne)}t.poolSize=8192;function r(he,le,ne){if(typeof he==\"string\")return i(he,le);if(ArrayBuffer.isView(he))return h(he);if(he==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof he);if(He(he,ArrayBuffer)||he&&He(he.buffer,ArrayBuffer)||typeof SharedArrayBuffer<\"u\"&&(He(he,SharedArrayBuffer)||he&&He(he.buffer,SharedArrayBuffer)))return f(he,le,ne);if(typeof he==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let Ce=he.valueOf&&he.valueOf();if(Ce!=null&&Ce!==he)return t.from(Ce,le,ne);let Ze=v(he);if(Ze)return Ze;if(typeof Symbol<\"u\"&&Symbol.toPrimitive!=null&&typeof he[Symbol.toPrimitive]==\"function\")return t.from(he[Symbol.toPrimitive](\"string\"),le,ne);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof he)}t.from=function(he,le,ne){return r(he,le,ne)},Object.setPrototypeOf(t.prototype,Uint8Array.prototype),Object.setPrototypeOf(t,Uint8Array);function o(he){if(typeof he!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(he<0)throw new RangeError('The value \"'+he+'\" is invalid for option \"size\"')}function a(he,le,ne){return o(he),he<=0?e(he):le!==void 0?typeof ne==\"string\"?e(he).fill(le,ne):e(he).fill(le):e(he)}t.alloc=function(he,le,ne){return a(he,le,ne)};function n(he){return o(he),e(he<0?0:c(he)|0)}t.allocUnsafe=function(he){return n(he)},t.allocUnsafeSlow=function(he){return n(he)};function i(he,le){if((typeof le!=\"string\"||le===\"\")&&(le=\"utf8\"),!t.isEncoding(le))throw new TypeError(\"Unknown encoding: \"+le);let ne=l(he,le)|0,Ce=e(ne),Ze=Ce.write(he,le);return Ze!==ne&&(Ce=Ce.slice(0,Ze)),Ce}function s(he){let le=he.length<0?0:c(he.length)|0,ne=e(le);for(let Ce=0;Ce=A)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+A.toString(16)+\" bytes\");return he|0}function T(he){return+he!=he&&(he=0),t.alloc(+he)}t.isBuffer=function(le){return le!=null&&le._isBuffer===!0&&le!==t.prototype},t.compare=function(le,ne){if(He(le,Uint8Array)&&(le=t.from(le,le.offset,le.byteLength)),He(ne,Uint8Array)&&(ne=t.from(ne,ne.offset,ne.byteLength)),!t.isBuffer(le)||!t.isBuffer(ne))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(le===ne)return 0;let Ce=le.length,Ze=ne.length;for(let rt=0,Ye=Math.min(Ce,Ze);rtZe.length?(t.isBuffer(Ye)||(Ye=t.from(Ye)),Ye.copy(Ze,rt)):Uint8Array.prototype.set.call(Ze,Ye,rt);else if(t.isBuffer(Ye))Ye.copy(Ze,rt);else throw new TypeError('\"list\" argument must be an Array of Buffers');rt+=Ye.length}return Ze};function l(he,le){if(t.isBuffer(he))return he.length;if(ArrayBuffer.isView(he)||He(he,ArrayBuffer))return he.byteLength;if(typeof he!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof he);let ne=he.length,Ce=arguments.length>2&&arguments[2]===!0;if(!Ce&&ne===0)return 0;let Ze=!1;for(;;)switch(le){case\"ascii\":case\"latin1\":case\"binary\":return ne;case\"utf8\":case\"utf-8\":return pe(he).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ne*2;case\"hex\":return ne>>>1;case\"base64\":return Ie(he).length;default:if(Ze)return Ce?-1:pe(he).length;le=(\"\"+le).toLowerCase(),Ze=!0}}t.byteLength=l;function x(he,le,ne){let Ce=!1;if((le===void 0||le<0)&&(le=0),le>this.length||((ne===void 0||ne>this.length)&&(ne=this.length),ne<=0)||(ne>>>=0,le>>>=0,ne<=le))return\"\";for(he||(he=\"utf8\");;)switch(he){case\"hex\":return O(this,le,ne);case\"utf8\":case\"utf-8\":return D(this,le,ne);case\"ascii\":return F(this,le,ne);case\"latin1\":case\"binary\":return B(this,le,ne);case\"base64\":return y(this,le,ne);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return P(this,le,ne);default:if(Ce)throw new TypeError(\"Unknown encoding: \"+he);he=(he+\"\").toLowerCase(),Ce=!0}}t.prototype._isBuffer=!0;function w(he,le,ne){let Ce=he[le];he[le]=he[ne],he[ne]=Ce}t.prototype.swap16=function(){let le=this.length;if(le%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let ne=0;nene&&(le+=\" ... \"),\"\"},_&&(t.prototype[_]=t.prototype.inspect),t.prototype.compare=function(le,ne,Ce,Ze,rt){if(He(le,Uint8Array)&&(le=t.from(le,le.offset,le.byteLength)),!t.isBuffer(le))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof le);if(ne===void 0&&(ne=0),Ce===void 0&&(Ce=le?le.length:0),Ze===void 0&&(Ze=0),rt===void 0&&(rt=this.length),ne<0||Ce>le.length||Ze<0||rt>this.length)throw new RangeError(\"out of range index\");if(Ze>=rt&&ne>=Ce)return 0;if(Ze>=rt)return-1;if(ne>=Ce)return 1;if(ne>>>=0,Ce>>>=0,Ze>>>=0,rt>>>=0,this===le)return 0;let Ye=rt-Ze,St=Ce-ne,kt=Math.min(Ye,St),qt=this.slice(Ze,rt),Gt=le.slice(ne,Ce);for(let Tr=0;Tr2147483647?ne=2147483647:ne<-2147483648&&(ne=-2147483648),ne=+ne,at(ne)&&(ne=Ze?0:he.length-1),ne<0&&(ne=he.length+ne),ne>=he.length){if(Ze)return-1;ne=he.length-1}else if(ne<0)if(Ze)ne=0;else return-1;if(typeof le==\"string\"&&(le=t.from(le,Ce)),t.isBuffer(le))return le.length===0?-1:M(he,le,ne,Ce,Ze);if(typeof le==\"number\")return le=le&255,typeof Uint8Array.prototype.indexOf==\"function\"?Ze?Uint8Array.prototype.indexOf.call(he,le,ne):Uint8Array.prototype.lastIndexOf.call(he,le,ne):M(he,[le],ne,Ce,Ze);throw new TypeError(\"val must be string, number or Buffer\")}function M(he,le,ne,Ce,Ze){let rt=1,Ye=he.length,St=le.length;if(Ce!==void 0&&(Ce=String(Ce).toLowerCase(),Ce===\"ucs2\"||Ce===\"ucs-2\"||Ce===\"utf16le\"||Ce===\"utf-16le\")){if(he.length<2||le.length<2)return-1;rt=2,Ye/=2,St/=2,ne/=2}function kt(Gt,Tr){return rt===1?Gt[Tr]:Gt.readUInt16BE(Tr*rt)}let qt;if(Ze){let Gt=-1;for(qt=ne;qtYe&&(ne=Ye-St),qt=ne;qt>=0;qt--){let Gt=!0;for(let Tr=0;TrZe&&(Ce=Ze)):Ce=Ze;let rt=le.length;Ce>rt/2&&(Ce=rt/2);let Ye;for(Ye=0;Ye>>0,isFinite(Ce)?(Ce=Ce>>>0,Ze===void 0&&(Ze=\"utf8\")):(Ze=Ce,Ce=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let rt=this.length-ne;if((Ce===void 0||Ce>rt)&&(Ce=rt),le.length>0&&(Ce<0||ne<0)||ne>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Ze||(Ze=\"utf8\");let Ye=!1;for(;;)switch(Ze){case\"hex\":return m(this,le,ne,Ce);case\"utf8\":case\"utf-8\":return b(this,le,ne,Ce);case\"ascii\":case\"latin1\":case\"binary\":return p(this,le,ne,Ce);case\"base64\":return u(this,le,ne,Ce);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return g(this,le,ne,Ce);default:if(Ye)throw new TypeError(\"Unknown encoding: \"+Ze);Ze=(\"\"+Ze).toLowerCase(),Ye=!0}},t.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function y(he,le,ne){return le===0&&ne===he.length?G.fromByteArray(he):G.fromByteArray(he.slice(le,ne))}function D(he,le,ne){ne=Math.min(he.length,ne);let Ce=[],Ze=le;for(;Ze239?4:rt>223?3:rt>191?2:1;if(Ze+St<=ne){let kt,qt,Gt,Tr;switch(St){case 1:rt<128&&(Ye=rt);break;case 2:kt=he[Ze+1],(kt&192)===128&&(Tr=(rt&31)<<6|kt&63,Tr>127&&(Ye=Tr));break;case 3:kt=he[Ze+1],qt=he[Ze+2],(kt&192)===128&&(qt&192)===128&&(Tr=(rt&15)<<12|(kt&63)<<6|qt&63,Tr>2047&&(Tr<55296||Tr>57343)&&(Ye=Tr));break;case 4:kt=he[Ze+1],qt=he[Ze+2],Gt=he[Ze+3],(kt&192)===128&&(qt&192)===128&&(Gt&192)===128&&(Tr=(rt&15)<<18|(kt&63)<<12|(qt&63)<<6|Gt&63,Tr>65535&&Tr<1114112&&(Ye=Tr))}}Ye===null?(Ye=65533,St=1):Ye>65535&&(Ye-=65536,Ce.push(Ye>>>10&1023|55296),Ye=56320|Ye&1023),Ce.push(Ye),Ze+=St}return z(Ce)}var L=4096;function z(he){let le=he.length;if(le<=L)return String.fromCharCode.apply(String,he);let ne=\"\",Ce=0;for(;CeCe)&&(ne=Ce);let Ze=\"\";for(let rt=le;rtCe&&(le=Ce),ne<0?(ne+=Ce,ne<0&&(ne=0)):ne>Ce&&(ne=Ce),nene)throw new RangeError(\"Trying to access beyond buffer length\")}t.prototype.readUintLE=t.prototype.readUIntLE=function(le,ne,Ce){le=le>>>0,ne=ne>>>0,Ce||U(le,ne,this.length);let Ze=this[le],rt=1,Ye=0;for(;++Ye>>0,ne=ne>>>0,Ce||U(le,ne,this.length);let Ze=this[le+--ne],rt=1;for(;ne>0&&(rt*=256);)Ze+=this[le+--ne]*rt;return Ze},t.prototype.readUint8=t.prototype.readUInt8=function(le,ne){return le=le>>>0,ne||U(le,1,this.length),this[le]},t.prototype.readUint16LE=t.prototype.readUInt16LE=function(le,ne){return le=le>>>0,ne||U(le,2,this.length),this[le]|this[le+1]<<8},t.prototype.readUint16BE=t.prototype.readUInt16BE=function(le,ne){return le=le>>>0,ne||U(le,2,this.length),this[le]<<8|this[le+1]},t.prototype.readUint32LE=t.prototype.readUInt32LE=function(le,ne){return le=le>>>0,ne||U(le,4,this.length),(this[le]|this[le+1]<<8|this[le+2]<<16)+this[le+3]*16777216},t.prototype.readUint32BE=t.prototype.readUInt32BE=function(le,ne){return le=le>>>0,ne||U(le,4,this.length),this[le]*16777216+(this[le+1]<<16|this[le+2]<<8|this[le+3])},t.prototype.readBigUInt64LE=tt(function(le){le=le>>>0,ae(le,\"offset\");let ne=this[le],Ce=this[le+7];(ne===void 0||Ce===void 0)&&j(le,this.length-8);let Ze=ne+this[++le]*2**8+this[++le]*2**16+this[++le]*2**24,rt=this[++le]+this[++le]*2**8+this[++le]*2**16+Ce*2**24;return BigInt(Ze)+(BigInt(rt)<>>0,ae(le,\"offset\");let ne=this[le],Ce=this[le+7];(ne===void 0||Ce===void 0)&&j(le,this.length-8);let Ze=ne*2**24+this[++le]*2**16+this[++le]*2**8+this[++le],rt=this[++le]*2**24+this[++le]*2**16+this[++le]*2**8+Ce;return(BigInt(Ze)<>>0,ne=ne>>>0,Ce||U(le,ne,this.length);let Ze=this[le],rt=1,Ye=0;for(;++Ye=rt&&(Ze-=Math.pow(2,8*ne)),Ze},t.prototype.readIntBE=function(le,ne,Ce){le=le>>>0,ne=ne>>>0,Ce||U(le,ne,this.length);let Ze=ne,rt=1,Ye=this[le+--Ze];for(;Ze>0&&(rt*=256);)Ye+=this[le+--Ze]*rt;return rt*=128,Ye>=rt&&(Ye-=Math.pow(2,8*ne)),Ye},t.prototype.readInt8=function(le,ne){return le=le>>>0,ne||U(le,1,this.length),this[le]&128?(255-this[le]+1)*-1:this[le]},t.prototype.readInt16LE=function(le,ne){le=le>>>0,ne||U(le,2,this.length);let Ce=this[le]|this[le+1]<<8;return Ce&32768?Ce|4294901760:Ce},t.prototype.readInt16BE=function(le,ne){le=le>>>0,ne||U(le,2,this.length);let Ce=this[le+1]|this[le]<<8;return Ce&32768?Ce|4294901760:Ce},t.prototype.readInt32LE=function(le,ne){return le=le>>>0,ne||U(le,4,this.length),this[le]|this[le+1]<<8|this[le+2]<<16|this[le+3]<<24},t.prototype.readInt32BE=function(le,ne){return le=le>>>0,ne||U(le,4,this.length),this[le]<<24|this[le+1]<<16|this[le+2]<<8|this[le+3]},t.prototype.readBigInt64LE=tt(function(le){le=le>>>0,ae(le,\"offset\");let ne=this[le],Ce=this[le+7];(ne===void 0||Ce===void 0)&&j(le,this.length-8);let Ze=this[le+4]+this[le+5]*2**8+this[le+6]*2**16+(Ce<<24);return(BigInt(Ze)<>>0,ae(le,\"offset\");let ne=this[le],Ce=this[le+7];(ne===void 0||Ce===void 0)&&j(le,this.length-8);let Ze=(ne<<24)+this[++le]*2**16+this[++le]*2**8+this[++le];return(BigInt(Ze)<>>0,ne||U(le,4,this.length),d.read(this,le,!0,23,4)},t.prototype.readFloatBE=function(le,ne){return le=le>>>0,ne||U(le,4,this.length),d.read(this,le,!1,23,4)},t.prototype.readDoubleLE=function(le,ne){return le=le>>>0,ne||U(le,8,this.length),d.read(this,le,!0,52,8)},t.prototype.readDoubleBE=function(le,ne){return le=le>>>0,ne||U(le,8,this.length),d.read(this,le,!1,52,8)};function N(he,le,ne,Ce,Ze,rt){if(!t.isBuffer(he))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(le>Ze||lehe.length)throw new RangeError(\"Index out of range\")}t.prototype.writeUintLE=t.prototype.writeUIntLE=function(le,ne,Ce,Ze){if(le=+le,ne=ne>>>0,Ce=Ce>>>0,!Ze){let St=Math.pow(2,8*Ce)-1;N(this,le,ne,Ce,St,0)}let rt=1,Ye=0;for(this[ne]=le&255;++Ye>>0,Ce=Ce>>>0,!Ze){let St=Math.pow(2,8*Ce)-1;N(this,le,ne,Ce,St,0)}let rt=Ce-1,Ye=1;for(this[ne+rt]=le&255;--rt>=0&&(Ye*=256);)this[ne+rt]=le/Ye&255;return ne+Ce},t.prototype.writeUint8=t.prototype.writeUInt8=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,1,255,0),this[ne]=le&255,ne+1},t.prototype.writeUint16LE=t.prototype.writeUInt16LE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,2,65535,0),this[ne]=le&255,this[ne+1]=le>>>8,ne+2},t.prototype.writeUint16BE=t.prototype.writeUInt16BE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,2,65535,0),this[ne]=le>>>8,this[ne+1]=le&255,ne+2},t.prototype.writeUint32LE=t.prototype.writeUInt32LE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,4,4294967295,0),this[ne+3]=le>>>24,this[ne+2]=le>>>16,this[ne+1]=le>>>8,this[ne]=le&255,ne+4},t.prototype.writeUint32BE=t.prototype.writeUInt32BE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,4,4294967295,0),this[ne]=le>>>24,this[ne+1]=le>>>16,this[ne+2]=le>>>8,this[ne+3]=le&255,ne+4};function X(he,le,ne,Ce,Ze){se(le,Ce,Ze,he,ne,7);let rt=Number(le&BigInt(4294967295));he[ne++]=rt,rt=rt>>8,he[ne++]=rt,rt=rt>>8,he[ne++]=rt,rt=rt>>8,he[ne++]=rt;let Ye=Number(le>>BigInt(32)&BigInt(4294967295));return he[ne++]=Ye,Ye=Ye>>8,he[ne++]=Ye,Ye=Ye>>8,he[ne++]=Ye,Ye=Ye>>8,he[ne++]=Ye,ne}function $(he,le,ne,Ce,Ze){se(le,Ce,Ze,he,ne,7);let rt=Number(le&BigInt(4294967295));he[ne+7]=rt,rt=rt>>8,he[ne+6]=rt,rt=rt>>8,he[ne+5]=rt,rt=rt>>8,he[ne+4]=rt;let Ye=Number(le>>BigInt(32)&BigInt(4294967295));return he[ne+3]=Ye,Ye=Ye>>8,he[ne+2]=Ye,Ye=Ye>>8,he[ne+1]=Ye,Ye=Ye>>8,he[ne]=Ye,ne+8}t.prototype.writeBigUInt64LE=tt(function(le,ne=0){return X(this,le,ne,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),t.prototype.writeBigUInt64BE=tt(function(le,ne=0){return $(this,le,ne,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),t.prototype.writeIntLE=function(le,ne,Ce,Ze){if(le=+le,ne=ne>>>0,!Ze){let kt=Math.pow(2,8*Ce-1);N(this,le,ne,Ce,kt-1,-kt)}let rt=0,Ye=1,St=0;for(this[ne]=le&255;++rt>0)-St&255;return ne+Ce},t.prototype.writeIntBE=function(le,ne,Ce,Ze){if(le=+le,ne=ne>>>0,!Ze){let kt=Math.pow(2,8*Ce-1);N(this,le,ne,Ce,kt-1,-kt)}let rt=Ce-1,Ye=1,St=0;for(this[ne+rt]=le&255;--rt>=0&&(Ye*=256);)le<0&&St===0&&this[ne+rt+1]!==0&&(St=1),this[ne+rt]=(le/Ye>>0)-St&255;return ne+Ce},t.prototype.writeInt8=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,1,127,-128),le<0&&(le=255+le+1),this[ne]=le&255,ne+1},t.prototype.writeInt16LE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,2,32767,-32768),this[ne]=le&255,this[ne+1]=le>>>8,ne+2},t.prototype.writeInt16BE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,2,32767,-32768),this[ne]=le>>>8,this[ne+1]=le&255,ne+2},t.prototype.writeInt32LE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,4,2147483647,-2147483648),this[ne]=le&255,this[ne+1]=le>>>8,this[ne+2]=le>>>16,this[ne+3]=le>>>24,ne+4},t.prototype.writeInt32BE=function(le,ne,Ce){return le=+le,ne=ne>>>0,Ce||N(this,le,ne,4,2147483647,-2147483648),le<0&&(le=4294967295+le+1),this[ne]=le>>>24,this[ne+1]=le>>>16,this[ne+2]=le>>>8,this[ne+3]=le&255,ne+4},t.prototype.writeBigInt64LE=tt(function(le,ne=0){return X(this,le,ne,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),t.prototype.writeBigInt64BE=tt(function(le,ne=0){return $(this,le,ne,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function ue(he,le,ne,Ce,Ze,rt){if(ne+Ce>he.length)throw new RangeError(\"Index out of range\");if(ne<0)throw new RangeError(\"Index out of range\")}function ce(he,le,ne,Ce,Ze){return le=+le,ne=ne>>>0,Ze||ue(he,le,ne,4,34028234663852886e22,-34028234663852886e22),d.write(he,le,ne,Ce,23,4),ne+4}t.prototype.writeFloatLE=function(le,ne,Ce){return ce(this,le,ne,!0,Ce)},t.prototype.writeFloatBE=function(le,ne,Ce){return ce(this,le,ne,!1,Ce)};function de(he,le,ne,Ce,Ze){return le=+le,ne=ne>>>0,Ze||ue(he,le,ne,8,17976931348623157e292,-17976931348623157e292),d.write(he,le,ne,Ce,52,8),ne+8}t.prototype.writeDoubleLE=function(le,ne,Ce){return de(this,le,ne,!0,Ce)},t.prototype.writeDoubleBE=function(le,ne,Ce){return de(this,le,ne,!1,Ce)},t.prototype.copy=function(le,ne,Ce,Ze){if(!t.isBuffer(le))throw new TypeError(\"argument should be a Buffer\");if(Ce||(Ce=0),!Ze&&Ze!==0&&(Ze=this.length),ne>=le.length&&(ne=le.length),ne||(ne=0),Ze>0&&Ze=this.length)throw new RangeError(\"Index out of range\");if(Ze<0)throw new RangeError(\"sourceEnd out of bounds\");Ze>this.length&&(Ze=this.length),le.length-ne>>0,Ce=Ce===void 0?this.length:Ce>>>0,le||(le=0);let rt;if(typeof le==\"number\")for(rt=ne;rt2**32?Ze=ee(String(ne)):typeof ne==\"bigint\"&&(Ze=String(ne),(ne>BigInt(2)**BigInt(32)||ne<-(BigInt(2)**BigInt(32)))&&(Ze=ee(Ze)),Ze+=\"n\"),Ce+=` It must be ${le}. Received ${Ze}`,Ce},RangeError);function ee(he){let le=\"\",ne=he.length,Ce=he[0]===\"-\"?1:0;for(;ne>=Ce+4;ne-=3)le=`_${he.slice(ne-3,ne)}${le}`;return`${he.slice(0,ne)}${le}`}function q(he,le,ne){ae(le,\"offset\"),(he[le]===void 0||he[le+ne]===void 0)&&j(le,he.length-(ne+1))}function se(he,le,ne,Ce,Ze,rt){if(he>ne||he3?le===0||le===BigInt(0)?St=`>= 0${Ye} and < 2${Ye} ** ${(rt+1)*8}${Ye}`:St=`>= -(2${Ye} ** ${(rt+1)*8-1}${Ye}) and < 2 ** ${(rt+1)*8-1}${Ye}`:St=`>= ${le}${Ye} and <= ${ne}${Ye}`,new V.ERR_OUT_OF_RANGE(\"value\",St,he)}q(Ce,Ze,rt)}function ae(he,le){if(typeof he!=\"number\")throw new V.ERR_INVALID_ARG_TYPE(le,\"number\",he)}function j(he,le,ne){throw Math.floor(he)!==he?(ae(he,ne),new V.ERR_OUT_OF_RANGE(ne||\"offset\",\"an integer\",he)):le<0?new V.ERR_BUFFER_OUT_OF_BOUNDS:new V.ERR_OUT_OF_RANGE(ne||\"offset\",`>= ${ne?1:0} and <= ${le}`,he)}var Q=/[^+/0-9A-Za-z-_]/g;function re(he){if(he=he.split(\"=\")[0],he=he.trim().replace(Q,\"\"),he.length<2)return\"\";for(;he.length%4!==0;)he=he+\"=\";return he}function pe(he,le){le=le||1/0;let ne,Ce=he.length,Ze=null,rt=[];for(let Ye=0;Ye55295&&ne<57344){if(!Ze){if(ne>56319){(le-=3)>-1&&rt.push(239,191,189);continue}else if(Ye+1===Ce){(le-=3)>-1&&rt.push(239,191,189);continue}Ze=ne;continue}if(ne<56320){(le-=3)>-1&&rt.push(239,191,189),Ze=ne;continue}ne=(Ze-55296<<10|ne-56320)+65536}else Ze&&(le-=3)>-1&&rt.push(239,191,189);if(Ze=null,ne<128){if((le-=1)<0)break;rt.push(ne)}else if(ne<2048){if((le-=2)<0)break;rt.push(ne>>6|192,ne&63|128)}else if(ne<65536){if((le-=3)<0)break;rt.push(ne>>12|224,ne>>6&63|128,ne&63|128)}else if(ne<1114112){if((le-=4)<0)break;rt.push(ne>>18|240,ne>>12&63|128,ne>>6&63|128,ne&63|128)}else throw new Error(\"Invalid code point\")}return rt}function we(he){let le=[];for(let ne=0;ne>8,Ze=ne%256,rt.push(Ze),rt.push(Ce);return rt}function Ie(he){return G.toByteArray(re(he))}function Re(he,le,ne,Ce){let Ze;for(Ze=0;Ze=le.length||Ze>=he.length);++Ze)le[Ze+ne]=he[Ze];return Ze}function He(he,le){return he instanceof le||he!=null&&he.constructor!=null&&he.constructor.name!=null&&he.constructor.name===le.name}function at(he){return he!==he}var nt=function(){let he=\"0123456789abcdef\",le=new Array(256);for(let ne=0;ne<16;++ne){let Ce=ne*16;for(let Ze=0;Ze<16;++Ze)le[Ce+Ze]=he[ne]+he[Ze]}return le}();function tt(he){return typeof BigInt>\"u\"?Ue:he}function Ue(){throw new Error(\"BigInt not supported\")}}}),p3=Ge({\"node_modules/has-symbols/shams.js\"(Z,G){\"use strict\";G.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var _={},A=Symbol(\"test\"),E=Object(A);if(typeof A==\"string\"||Object.prototype.toString.call(A)!==\"[object Symbol]\"||Object.prototype.toString.call(E)!==\"[object Symbol]\")return!1;var e=42;_[A]=e;for(var t in _)return!1;if(typeof Object.keys==\"function\"&&Object.keys(_).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(_).length!==0)return!1;var r=Object.getOwnPropertySymbols(_);if(r.length!==1||r[0]!==A||!Object.prototype.propertyIsEnumerable.call(_,A))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(_,A);if(o.value!==e||o.enumerable!==!0)return!1}return!0}}}),W_=Ge({\"node_modules/has-tostringtag/shams.js\"(Z,G){\"use strict\";var d=p3();G.exports=function(){return d()&&!!Symbol.toStringTag}}}),FS=Ge({\"node_modules/es-object-atoms/index.js\"(Z,G){\"use strict\";G.exports=Object}}),fO=Ge({\"node_modules/es-errors/index.js\"(Z,G){\"use strict\";G.exports=Error}}),hO=Ge({\"node_modules/es-errors/eval.js\"(Z,G){\"use strict\";G.exports=EvalError}}),pO=Ge({\"node_modules/es-errors/range.js\"(Z,G){\"use strict\";G.exports=RangeError}}),dO=Ge({\"node_modules/es-errors/ref.js\"(Z,G){\"use strict\";G.exports=ReferenceError}}),OS=Ge({\"node_modules/es-errors/syntax.js\"(Z,G){\"use strict\";G.exports=SyntaxError}}),m1=Ge({\"node_modules/es-errors/type.js\"(Z,G){\"use strict\";G.exports=TypeError}}),vO=Ge({\"node_modules/es-errors/uri.js\"(Z,G){\"use strict\";G.exports=URIError}}),mO=Ge({\"node_modules/math-intrinsics/abs.js\"(Z,G){\"use strict\";G.exports=Math.abs}}),gO=Ge({\"node_modules/math-intrinsics/floor.js\"(Z,G){\"use strict\";G.exports=Math.floor}}),yO=Ge({\"node_modules/math-intrinsics/max.js\"(Z,G){\"use strict\";G.exports=Math.max}}),_O=Ge({\"node_modules/math-intrinsics/min.js\"(Z,G){\"use strict\";G.exports=Math.min}}),xO=Ge({\"node_modules/math-intrinsics/pow.js\"(Z,G){\"use strict\";G.exports=Math.pow}}),bO=Ge({\"node_modules/math-intrinsics/round.js\"(Z,G){\"use strict\";G.exports=Math.round}}),wO=Ge({\"node_modules/math-intrinsics/isNaN.js\"(Z,G){\"use strict\";G.exports=Number.isNaN||function(_){return _!==_}}}),TO=Ge({\"node_modules/math-intrinsics/sign.js\"(Z,G){\"use strict\";var d=wO();G.exports=function(A){return d(A)||A===0?A:A<0?-1:1}}}),AO=Ge({\"node_modules/gopd/gOPD.js\"(Z,G){\"use strict\";G.exports=Object.getOwnPropertyDescriptor}}),ag=Ge({\"node_modules/gopd/index.js\"(Z,G){\"use strict\";var d=AO();if(d)try{d([],\"length\")}catch{d=null}G.exports=d}}),X_=Ge({\"node_modules/es-define-property/index.js\"(Z,G){\"use strict\";var d=Object.defineProperty||!1;if(d)try{d({},\"a\",{value:1})}catch{d=!1}G.exports=d}}),SO=Ge({\"node_modules/has-symbols/index.js\"(Z,G){\"use strict\";var d=typeof Symbol<\"u\"&&Symbol,_=p3();G.exports=function(){return typeof d!=\"function\"||typeof Symbol!=\"function\"||typeof d(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:_()}}}),BS=Ge({\"node_modules/get-proto/Reflect.getPrototypeOf.js\"(Z,G){\"use strict\";G.exports=typeof Reflect<\"u\"&&Reflect.getPrototypeOf||null}}),NS=Ge({\"node_modules/get-proto/Object.getPrototypeOf.js\"(Z,G){\"use strict\";var d=FS();G.exports=d.getPrototypeOf||null}}),MO=Ge({\"node_modules/function-bind/implementation.js\"(Z,G){\"use strict\";var d=\"Function.prototype.bind called on incompatible \",_=Object.prototype.toString,A=Math.max,E=\"[object Function]\",e=function(a,n){for(var i=[],s=0;s\"u\"||!b?d:b(Uint8Array),z={__proto__:null,\"%AggregateError%\":typeof AggregateError>\"u\"?d:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer>\"u\"?d:ArrayBuffer,\"%ArrayIteratorPrototype%\":m&&b?b([][Symbol.iterator]()):d,\"%AsyncFromSyncIteratorPrototype%\":d,\"%AsyncFunction%\":D,\"%AsyncGenerator%\":D,\"%AsyncGeneratorFunction%\":D,\"%AsyncIteratorPrototype%\":D,\"%Atomics%\":typeof Atomics>\"u\"?d:Atomics,\"%BigInt%\":typeof BigInt>\"u\"?d:BigInt,\"%BigInt64Array%\":typeof BigInt64Array>\"u\"?d:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array>\"u\"?d:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView>\"u\"?d:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":A,\"%eval%\":eval,\"%EvalError%\":E,\"%Float16Array%\":typeof Float16Array>\"u\"?d:Float16Array,\"%Float32Array%\":typeof Float32Array>\"u\"?d:Float32Array,\"%Float64Array%\":typeof Float64Array>\"u\"?d:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry>\"u\"?d:FinalizationRegistry,\"%Function%\":T,\"%GeneratorFunction%\":D,\"%Int8Array%\":typeof Int8Array>\"u\"?d:Int8Array,\"%Int16Array%\":typeof Int16Array>\"u\"?d:Int16Array,\"%Int32Array%\":typeof Int32Array>\"u\"?d:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":m&&b?b(b([][Symbol.iterator]())):d,\"%JSON%\":typeof JSON==\"object\"?JSON:d,\"%Map%\":typeof Map>\"u\"?d:Map,\"%MapIteratorPrototype%\":typeof Map>\"u\"||!m||!b?d:b(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":_,\"%Object.getOwnPropertyDescriptor%\":x,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise>\"u\"?d:Promise,\"%Proxy%\":typeof Proxy>\"u\"?d:Proxy,\"%RangeError%\":e,\"%ReferenceError%\":t,\"%Reflect%\":typeof Reflect>\"u\"?d:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set>\"u\"?d:Set,\"%SetIteratorPrototype%\":typeof Set>\"u\"||!m||!b?d:b(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer>\"u\"?d:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":m&&b?b(\"\"[Symbol.iterator]()):d,\"%Symbol%\":m?Symbol:d,\"%SyntaxError%\":r,\"%ThrowTypeError%\":M,\"%TypedArray%\":L,\"%TypeError%\":o,\"%Uint8Array%\":typeof Uint8Array>\"u\"?d:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray>\"u\"?d:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array>\"u\"?d:Uint16Array,\"%Uint32Array%\":typeof Uint32Array>\"u\"?d:Uint32Array,\"%URIError%\":a,\"%WeakMap%\":typeof WeakMap>\"u\"?d:WeakMap,\"%WeakRef%\":typeof WeakRef>\"u\"?d:WeakRef,\"%WeakSet%\":typeof WeakSet>\"u\"?d:WeakSet,\"%Function.prototype.call%\":y,\"%Function.prototype.apply%\":g,\"%Object.defineProperty%\":w,\"%Object.getPrototypeOf%\":p,\"%Math.abs%\":n,\"%Math.floor%\":i,\"%Math.max%\":s,\"%Math.min%\":h,\"%Math.pow%\":f,\"%Math.round%\":v,\"%Math.sign%\":c,\"%Reflect.getPrototypeOf%\":u};if(b)try{null.error}catch(q){F=b(b(q)),z[\"%Error.prototype%\"]=F}var F,B=function q(se){var ae;if(se===\"%AsyncFunction%\")ae=l(\"async function () {}\");else if(se===\"%GeneratorFunction%\")ae=l(\"function* () {}\");else if(se===\"%AsyncGeneratorFunction%\")ae=l(\"async function* () {}\");else if(se===\"%AsyncGenerator%\"){var j=q(\"%AsyncGeneratorFunction%\");j&&(ae=j.prototype)}else if(se===\"%AsyncIteratorPrototype%\"){var Q=q(\"%AsyncGenerator%\");Q&&b&&(ae=b(Q.prototype))}return z[se]=ae,ae},O={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},P=g1(),U=IO(),N=P.call(y,Array.prototype.concat),X=P.call(g,Array.prototype.splice),$=P.call(y,String.prototype.replace),ue=P.call(y,String.prototype.slice),ce=P.call(y,RegExp.prototype.exec),de=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,V=/\\\\(\\\\)?/g,Y=function(se){var ae=ue(se,0,1),j=ue(se,-1);if(ae===\"%\"&&j!==\"%\")throw new r(\"invalid intrinsic syntax, expected closing `%`\");if(j===\"%\"&&ae!==\"%\")throw new r(\"invalid intrinsic syntax, expected opening `%`\");var Q=[];return $(se,de,function(re,pe,we,Se){Q[Q.length]=we?$(Se,V,\"$1\"):pe||re}),Q},ee=function(se,ae){var j=se,Q;if(U(O,j)&&(Q=O[j],j=\"%\"+Q[0]+\"%\"),U(z,j)){var re=z[j];if(re===D&&(re=B(j)),typeof re>\"u\"&&!ae)throw new o(\"intrinsic \"+se+\" exists, but is not available. Please file an issue!\");return{alias:Q,name:j,value:re}}throw new r(\"intrinsic \"+se+\" does not exist!\")};G.exports=function(se,ae){if(typeof se!=\"string\"||se.length===0)throw new o(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof ae!=\"boolean\")throw new o('\"allowMissing\" argument must be a boolean');if(ce(/^%?[^%]*%?$/,se)===null)throw new r(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var j=Y(se),Q=j.length>0?j[0]:\"\",re=ee(\"%\"+Q+\"%\",ae),pe=re.name,we=re.value,Se=!1,Ie=re.alias;Ie&&(Q=Ie[0],X(j,N([0,1],Ie)));for(var Re=1,He=!0;Re=j.length){var Ue=x(we,at);He=!!Ue,He&&\"get\"in Ue&&!(\"originalValue\"in Ue.get)?we=Ue.get:we=we[at]}else He=U(we,at),we=we[at];He&&!Se&&(z[pe]=we)}}return we}}}),RO=Ge({\"node_modules/define-data-property/index.js\"(Z,G){\"use strict\";var d=X_(),_=OS(),A=m1(),E=ag();G.exports=function(t,r,o){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new A(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new A(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new A(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new A(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new A(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new A(\"`loose`, if provided, must be a boolean\");var a=arguments.length>3?arguments[3]:null,n=arguments.length>4?arguments[4]:null,i=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,h=!!E&&E(t,r);if(d)d(t,r,{configurable:i===null&&h?h.configurable:!i,enumerable:a===null&&h?h.enumerable:!a,value:o,writable:n===null&&h?h.writable:!n});else if(s||!a&&!n&&!i)t[r]=o;else throw new _(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}}}),jS=Ge({\"node_modules/has-property-descriptors/index.js\"(Z,G){\"use strict\";var d=X_(),_=function(){return!!d};_.hasArrayLengthDefineBug=function(){if(!d)return null;try{return d([],\"length\",{value:1}).length!==1}catch{return!0}},G.exports=_}}),DO=Ge({\"node_modules/set-function-length/index.js\"(Z,G){\"use strict\";var d=v3(),_=RO(),A=jS()(),E=ag(),e=m1(),t=d(\"%Math.floor%\");G.exports=function(o,a){if(typeof o!=\"function\")throw new e(\"`fn` is not a function\");if(typeof a!=\"number\"||a<0||a>4294967295||t(a)!==a)throw new e(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,s=!0;if(\"length\"in o&&E){var h=E(o,\"length\");h&&!h.configurable&&(i=!1),h&&!h.writable&&(s=!1)}return(i||s||!n)&&(A?_(o,\"length\",a,!0,!0):_(o,\"length\",a)),o}}}),Z_=Ge({\"node_modules/call-bind/index.js\"(Z,G){\"use strict\";var d=g1(),_=v3(),A=DO(),E=m1(),e=_(\"%Function.prototype.apply%\"),t=_(\"%Function.prototype.call%\"),r=_(\"%Reflect.apply%\",!0)||d.call(t,e),o=X_(),a=_(\"%Math.max%\");G.exports=function(s){if(typeof s!=\"function\")throw new E(\"a function is required\");var h=r(d,t,arguments);return A(h,1+a(0,s.length-(arguments.length-1)),!0)};var n=function(){return r(d,e,arguments)};o?o(G.exports,\"apply\",{value:n}):G.exports.apply=n}}),y1=Ge({\"node_modules/call-bind/callBound.js\"(Z,G){\"use strict\";var d=v3(),_=Z_(),A=_(d(\"String.prototype.indexOf\"));G.exports=function(e,t){var r=d(e,!!t);return typeof r==\"function\"&&A(e,\".prototype.\")>-1?_(r):r}}}),zO=Ge({\"node_modules/is-arguments/index.js\"(Z,G){\"use strict\";var d=W_()(),_=y1(),A=_(\"Object.prototype.toString\"),E=function(o){return d&&o&&typeof o==\"object\"&&Symbol.toStringTag in o?!1:A(o)===\"[object Arguments]\"},e=function(o){return E(o)?!0:o!==null&&typeof o==\"object\"&&typeof o.length==\"number\"&&o.length>=0&&A(o)!==\"[object Array]\"&&A(o.callee)===\"[object Function]\"},t=function(){return E(arguments)}();E.isLegacyArguments=e,G.exports=t?E:e}}),FO=Ge({\"node_modules/is-generator-function/index.js\"(Z,G){\"use strict\";var d=Object.prototype.toString,_=Function.prototype.toString,A=/^\\s*(?:function)?\\*/,E=W_()(),e=Object.getPrototypeOf,t=function(){if(!E)return!1;try{return Function(\"return function*() {}\")()}catch{}},r;G.exports=function(a){if(typeof a!=\"function\")return!1;if(A.test(_.call(a)))return!0;if(!E){var n=d.call(a);return n===\"[object GeneratorFunction]\"}if(!e)return!1;if(typeof r>\"u\"){var i=t();r=i?e(i):!1}return e(a)===r}}}),OO=Ge({\"node_modules/is-callable/index.js\"(Z,G){\"use strict\";var d=Function.prototype.toString,_=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,A,E;if(typeof _==\"function\"&&typeof Object.defineProperty==\"function\")try{A=Object.defineProperty({},\"length\",{get:function(){throw E}}),E={},_(function(){throw 42},null,A)}catch(x){x!==E&&(_=null)}else _=null;var e=/^\\s*class\\b/,t=function(w){try{var S=d.call(w);return e.test(S)}catch{return!1}},r=function(w){try{return t(w)?!1:(d.call(w),!0)}catch{return!1}},o=Object.prototype.toString,a=\"[object Object]\",n=\"[object Function]\",i=\"[object GeneratorFunction]\",s=\"[object HTMLAllCollection]\",h=\"[object HTML document.all class]\",f=\"[object HTMLCollection]\",v=typeof Symbol==\"function\"&&!!Symbol.toStringTag,c=!(0 in[,]),T=function(){return!1};typeof document==\"object\"&&(l=document.all,o.call(l)===o.call(document.all)&&(T=function(w){if((c||!w)&&(typeof w>\"u\"||typeof w==\"object\"))try{var S=o.call(w);return(S===s||S===h||S===f||S===a)&&w(\"\")==null}catch{}return!1}));var l;G.exports=_?function(w){if(T(w))return!0;if(!w||typeof w!=\"function\"&&typeof w!=\"object\")return!1;try{_(w,null,A)}catch(S){if(S!==E)return!1}return!t(w)&&r(w)}:function(w){if(T(w))return!0;if(!w||typeof w!=\"function\"&&typeof w!=\"object\")return!1;if(v)return r(w);if(t(w))return!1;var S=o.call(w);return S!==n&&S!==i&&!/^\\[object HTML/.test(S)?!1:r(w)}}}),qS=Ge({\"node_modules/for-each/index.js\"(Z,G){\"use strict\";var d=OO(),_=Object.prototype.toString,A=Object.prototype.hasOwnProperty,E=function(a,n,i){for(var s=0,h=a.length;s=3&&(s=i),_.call(a)===\"[object Array]\"?E(a,n,s):typeof a==\"string\"?e(a,n,s):t(a,n,s)};G.exports=r}}),VS=Ge({\"node_modules/available-typed-arrays/index.js\"(Z,G){\"use strict\";var d=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],_=typeof globalThis>\"u\"?window:globalThis;G.exports=function(){for(var E=[],e=0;e\"u\"?window:globalThis,a=_(),n=E(\"String.prototype.slice\"),i=Object.getPrototypeOf,s=E(\"Array.prototype.indexOf\",!0)||function(T,l){for(var x=0;x-1?l:l!==\"Object\"?!1:v(T)}return e?f(T):null}}}),NO=Ge({\"node_modules/is-typed-array/index.js\"(Z,G){\"use strict\";var d=qS(),_=VS(),A=y1(),E=A(\"Object.prototype.toString\"),e=W_()(),t=ag(),r=typeof globalThis>\"u\"?window:globalThis,o=_(),a=A(\"Array.prototype.indexOf\",!0)||function(v,c){for(var T=0;T-1}return t?h(v):!1}}}),GS=Ge({\"node_modules/util/support/types.js\"(Z){\"use strict\";var G=zO(),d=FO(),_=BO(),A=NO();function E(Se){return Se.call.bind(Se)}var e=typeof BigInt<\"u\",t=typeof Symbol<\"u\",r=E(Object.prototype.toString),o=E(Number.prototype.valueOf),a=E(String.prototype.valueOf),n=E(Boolean.prototype.valueOf);e&&(i=E(BigInt.prototype.valueOf));var i;t&&(s=E(Symbol.prototype.valueOf));var s;function h(Se,Ie){if(typeof Se!=\"object\")return!1;try{return Ie(Se),!0}catch{return!1}}Z.isArgumentsObject=G,Z.isGeneratorFunction=d,Z.isTypedArray=A;function f(Se){return typeof Promise<\"u\"&&Se instanceof Promise||Se!==null&&typeof Se==\"object\"&&typeof Se.then==\"function\"&&typeof Se.catch==\"function\"}Z.isPromise=f;function v(Se){return typeof ArrayBuffer<\"u\"&&ArrayBuffer.isView?ArrayBuffer.isView(Se):A(Se)||X(Se)}Z.isArrayBufferView=v;function c(Se){return _(Se)===\"Uint8Array\"}Z.isUint8Array=c;function T(Se){return _(Se)===\"Uint8ClampedArray\"}Z.isUint8ClampedArray=T;function l(Se){return _(Se)===\"Uint16Array\"}Z.isUint16Array=l;function x(Se){return _(Se)===\"Uint32Array\"}Z.isUint32Array=x;function w(Se){return _(Se)===\"Int8Array\"}Z.isInt8Array=w;function S(Se){return _(Se)===\"Int16Array\"}Z.isInt16Array=S;function M(Se){return _(Se)===\"Int32Array\"}Z.isInt32Array=M;function m(Se){return _(Se)===\"Float32Array\"}Z.isFloat32Array=m;function b(Se){return _(Se)===\"Float64Array\"}Z.isFloat64Array=b;function p(Se){return _(Se)===\"BigInt64Array\"}Z.isBigInt64Array=p;function u(Se){return _(Se)===\"BigUint64Array\"}Z.isBigUint64Array=u;function g(Se){return r(Se)===\"[object Map]\"}g.working=typeof Map<\"u\"&&g(new Map);function y(Se){return typeof Map>\"u\"?!1:g.working?g(Se):Se instanceof Map}Z.isMap=y;function D(Se){return r(Se)===\"[object Set]\"}D.working=typeof Set<\"u\"&&D(new Set);function L(Se){return typeof Set>\"u\"?!1:D.working?D(Se):Se instanceof Set}Z.isSet=L;function z(Se){return r(Se)===\"[object WeakMap]\"}z.working=typeof WeakMap<\"u\"&&z(new WeakMap);function F(Se){return typeof WeakMap>\"u\"?!1:z.working?z(Se):Se instanceof WeakMap}Z.isWeakMap=F;function B(Se){return r(Se)===\"[object WeakSet]\"}B.working=typeof WeakSet<\"u\"&&B(new WeakSet);function O(Se){return B(Se)}Z.isWeakSet=O;function P(Se){return r(Se)===\"[object ArrayBuffer]\"}P.working=typeof ArrayBuffer<\"u\"&&P(new ArrayBuffer);function U(Se){return typeof ArrayBuffer>\"u\"?!1:P.working?P(Se):Se instanceof ArrayBuffer}Z.isArrayBuffer=U;function N(Se){return r(Se)===\"[object DataView]\"}N.working=typeof ArrayBuffer<\"u\"&&typeof DataView<\"u\"&&N(new DataView(new ArrayBuffer(1),0,1));function X(Se){return typeof DataView>\"u\"?!1:N.working?N(Se):Se instanceof DataView}Z.isDataView=X;var $=typeof SharedArrayBuffer<\"u\"?SharedArrayBuffer:void 0;function ue(Se){return r(Se)===\"[object SharedArrayBuffer]\"}function ce(Se){return typeof $>\"u\"?!1:(typeof ue.working>\"u\"&&(ue.working=ue(new $)),ue.working?ue(Se):Se instanceof $)}Z.isSharedArrayBuffer=ce;function de(Se){return r(Se)===\"[object AsyncFunction]\"}Z.isAsyncFunction=de;function V(Se){return r(Se)===\"[object Map Iterator]\"}Z.isMapIterator=V;function Y(Se){return r(Se)===\"[object Set Iterator]\"}Z.isSetIterator=Y;function ee(Se){return r(Se)===\"[object Generator]\"}Z.isGeneratorObject=ee;function q(Se){return r(Se)===\"[object WebAssembly.Module]\"}Z.isWebAssemblyCompiledModule=q;function se(Se){return h(Se,o)}Z.isNumberObject=se;function ae(Se){return h(Se,a)}Z.isStringObject=ae;function j(Se){return h(Se,n)}Z.isBooleanObject=j;function Q(Se){return e&&h(Se,i)}Z.isBigIntObject=Q;function re(Se){return t&&h(Se,s)}Z.isSymbolObject=re;function pe(Se){return se(Se)||ae(Se)||j(Se)||Q(Se)||re(Se)}Z.isBoxedPrimitive=pe;function we(Se){return typeof Uint8Array<\"u\"&&(U(Se)||ce(Se))}Z.isAnyArrayBuffer=we,[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(Se){Object.defineProperty(Z,Se,{enumerable:!1,value:function(){throw new Error(Se+\" is not supported in userland\")}})})}}),HS=Ge({\"node_modules/util/support/isBufferBrowser.js\"(Z,G){G.exports=function(_){return _&&typeof _==\"object\"&&typeof _.copy==\"function\"&&typeof _.fill==\"function\"&&typeof _.readUInt8==\"function\"}}}),WS=Ge({\"(disabled):node_modules/util/util.js\"(Z){var G=Object.getOwnPropertyDescriptors||function(X){for(var $=Object.keys(X),ue={},ce=0;ce<$.length;ce++)ue[$[ce]]=Object.getOwnPropertyDescriptor(X,$[ce]);return ue},d=/%[sdj%]/g;Z.format=function(N){if(!w(N)){for(var X=[],$=0;$=ce)return Y;switch(Y){case\"%s\":return String(ue[$++]);case\"%d\":return Number(ue[$++]);case\"%j\":try{return JSON.stringify(ue[$++])}catch{return\"[Circular]\"}default:return Y}}),V=ue[$];$\"u\")return function(){return Z.deprecate(N,X).apply(this,arguments)};var $=!1;function ue(){if(!$){if(process.throwDeprecation)throw new Error(X);process.traceDeprecation?console.trace(X):console.error(X),$=!0}return N.apply(this,arguments)}return ue};var _={},A=/^$/;E=\"false\",E=E.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),A=new RegExp(\"^\"+E+\"$\",\"i\");var E;Z.debuglog=function(N){if(N=N.toUpperCase(),!_[N])if(A.test(N)){var X=process.pid;_[N]=function(){var $=Z.format.apply(Z,arguments);console.error(\"%s %d: %s\",N,X,$)}}else _[N]=function(){};return _[N]};function e(N,X){var $={seen:[],stylize:r};return arguments.length>=3&&($.depth=arguments[2]),arguments.length>=4&&($.colors=arguments[3]),c(X)?$.showHidden=X:X&&Z._extend($,X),M($.showHidden)&&($.showHidden=!1),M($.depth)&&($.depth=2),M($.colors)&&($.colors=!1),M($.customInspect)&&($.customInspect=!0),$.colors&&($.stylize=t),a($,N,$.depth)}Z.inspect=e,e.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]},e.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function t(N,X){var $=e.styles[X];return $?\"\\x1B[\"+e.colors[$][0]+\"m\"+N+\"\\x1B[\"+e.colors[$][1]+\"m\":N}function r(N,X){return N}function o(N){var X={};return N.forEach(function($,ue){X[$]=!0}),X}function a(N,X,$){if(N.customInspect&&X&&g(X.inspect)&&X.inspect!==Z.inspect&&!(X.constructor&&X.constructor.prototype===X)){var ue=X.inspect($,N);return w(ue)||(ue=a(N,ue,$)),ue}var ce=n(N,X);if(ce)return ce;var de=Object.keys(X),V=o(de);if(N.showHidden&&(de=Object.getOwnPropertyNames(X)),u(X)&&(de.indexOf(\"message\")>=0||de.indexOf(\"description\")>=0))return i(X);if(de.length===0){if(g(X)){var Y=X.name?\": \"+X.name:\"\";return N.stylize(\"[Function\"+Y+\"]\",\"special\")}if(m(X))return N.stylize(RegExp.prototype.toString.call(X),\"regexp\");if(p(X))return N.stylize(Date.prototype.toString.call(X),\"date\");if(u(X))return i(X)}var ee=\"\",q=!1,se=[\"{\",\"}\"];if(v(X)&&(q=!0,se=[\"[\",\"]\"]),g(X)){var ae=X.name?\": \"+X.name:\"\";ee=\" [Function\"+ae+\"]\"}if(m(X)&&(ee=\" \"+RegExp.prototype.toString.call(X)),p(X)&&(ee=\" \"+Date.prototype.toUTCString.call(X)),u(X)&&(ee=\" \"+i(X)),de.length===0&&(!q||X.length==0))return se[0]+ee+se[1];if($<0)return m(X)?N.stylize(RegExp.prototype.toString.call(X),\"regexp\"):N.stylize(\"[Object]\",\"special\");N.seen.push(X);var j;return q?j=s(N,X,$,V,de):j=de.map(function(Q){return h(N,X,$,V,Q,q)}),N.seen.pop(),f(j,ee,se)}function n(N,X){if(M(X))return N.stylize(\"undefined\",\"undefined\");if(w(X)){var $=\"'\"+JSON.stringify(X).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return N.stylize($,\"string\")}if(x(X))return N.stylize(\"\"+X,\"number\");if(c(X))return N.stylize(\"\"+X,\"boolean\");if(T(X))return N.stylize(\"null\",\"null\")}function i(N){return\"[\"+Error.prototype.toString.call(N)+\"]\"}function s(N,X,$,ue,ce){for(var de=[],V=0,Y=X.length;V-1&&(de?Y=Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`).slice(2):Y=`\n`+Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`))):Y=N.stylize(\"[Circular]\",\"special\")),M(V)){if(de&&ce.match(/^\\d+$/))return Y;V=JSON.stringify(\"\"+ce),V.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(V=V.slice(1,-1),V=N.stylize(V,\"name\")):(V=V.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),V=N.stylize(V,\"string\"))}return V+\": \"+Y}function f(N,X,$){var ue=0,ce=N.reduce(function(de,V){return ue++,V.indexOf(`\n`)>=0&&ue++,de+V.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return ce>60?$[0]+(X===\"\"?\"\":X+`\n `)+\" \"+N.join(`,\n `)+\" \"+$[1]:$[0]+X+\" \"+N.join(\", \")+\" \"+$[1]}Z.types=GS();function v(N){return Array.isArray(N)}Z.isArray=v;function c(N){return typeof N==\"boolean\"}Z.isBoolean=c;function T(N){return N===null}Z.isNull=T;function l(N){return N==null}Z.isNullOrUndefined=l;function x(N){return typeof N==\"number\"}Z.isNumber=x;function w(N){return typeof N==\"string\"}Z.isString=w;function S(N){return typeof N==\"symbol\"}Z.isSymbol=S;function M(N){return N===void 0}Z.isUndefined=M;function m(N){return b(N)&&D(N)===\"[object RegExp]\"}Z.isRegExp=m,Z.types.isRegExp=m;function b(N){return typeof N==\"object\"&&N!==null}Z.isObject=b;function p(N){return b(N)&&D(N)===\"[object Date]\"}Z.isDate=p,Z.types.isDate=p;function u(N){return b(N)&&(D(N)===\"[object Error]\"||N instanceof Error)}Z.isError=u,Z.types.isNativeError=u;function g(N){return typeof N==\"function\"}Z.isFunction=g;function y(N){return N===null||typeof N==\"boolean\"||typeof N==\"number\"||typeof N==\"string\"||typeof N==\"symbol\"||typeof N>\"u\"}Z.isPrimitive=y,Z.isBuffer=HS();function D(N){return Object.prototype.toString.call(N)}function L(N){return N<10?\"0\"+N.toString(10):N.toString(10)}var z=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function F(){var N=new Date,X=[L(N.getHours()),L(N.getMinutes()),L(N.getSeconds())].join(\":\");return[N.getDate(),z[N.getMonth()],X].join(\" \")}Z.log=function(){console.log(\"%s - %s\",F(),Z.format.apply(Z,arguments))},Z.inherits=Kv(),Z._extend=function(N,X){if(!X||!b(X))return N;for(var $=Object.keys(X),ue=$.length;ue--;)N[$[ue]]=X[$[ue]];return N};function B(N,X){return Object.prototype.hasOwnProperty.call(N,X)}var O=typeof Symbol<\"u\"?Symbol(\"util.promisify.custom\"):void 0;Z.promisify=function(X){if(typeof X!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(O&&X[O]){var $=X[O];if(typeof $!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty($,O,{value:$,enumerable:!1,writable:!1,configurable:!0}),$}function $(){for(var ue,ce,de=new Promise(function(ee,q){ue=ee,ce=q}),V=[],Y=0;Y0?this.tail.next=c:this.head=c,this.tail=c,++this.length}},{key:\"unshift\",value:function(v){var c={data:v,next:this.head};this.length===0&&(this.tail=c),this.head=c,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var v=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,v}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(v){if(this.length===0)return\"\";for(var c=this.head,T=\"\"+c.data;c=c.next;)T+=v+c.data;return T}},{key:\"concat\",value:function(v){if(this.length===0)return o.alloc(0);for(var c=o.allocUnsafe(v>>>0),T=this.head,l=0;T;)s(T.data,c,l),l+=T.data.length,T=T.next;return c}},{key:\"consume\",value:function(v,c){var T;return vx.length?x.length:v;if(w===x.length?l+=x:l+=x.slice(0,v),v-=w,v===0){w===x.length?(++T,c.next?this.head=c.next:this.head=this.tail=null):(this.head=c,c.data=x.slice(w));break}++T}return this.length-=T,l}},{key:\"_getBuffer\",value:function(v){var c=o.allocUnsafe(v),T=this.head,l=1;for(T.data.copy(c),v-=T.data.length;T=T.next;){var x=T.data,w=v>x.length?x.length:v;if(x.copy(c,c.length-v,0,w),v-=w,v===0){w===x.length?(++l,T.next?this.head=T.next:this.head=this.tail=null):(this.head=T,T.data=x.slice(w));break}++l}return this.length-=l,c}},{key:i,value:function(v,c){return n(this,_({},c,{depth:0,customInspect:!1}))}}]),h}()}}),XS=Ge({\"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js\"(Z,G){\"use strict\";function d(r,o){var a=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(o?o(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(e,this,r)):process.nextTick(e,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!o&&s?a._writableState?a._writableState.errorEmitted?process.nextTick(A,a):(a._writableState.errorEmitted=!0,process.nextTick(_,a,s)):process.nextTick(_,a,s):o?(process.nextTick(A,a),o(s)):process.nextTick(A,a)}),this)}function _(r,o){e(r,o),A(r)}function A(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit(\"close\")}function E(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function e(r,o){r.emit(\"error\",o)}function t(r,o){var a=r._readableState,n=r._writableState;a&&a.autoDestroy||n&&n.autoDestroy?r.destroy(o):r.emit(\"error\",o)}G.exports={destroy:d,undestroy:E,errorOrDestroy:t}}}),ig=Ge({\"node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\"(Z,G){\"use strict\";function d(o,a){o.prototype=Object.create(a.prototype),o.prototype.constructor=o,o.__proto__=a}var _={};function A(o,a,n){n||(n=Error);function i(h,f,v){return typeof a==\"string\"?a:a(h,f,v)}var s=function(h){d(f,h);function f(v,c,T){return h.call(this,i(v,c,T))||this}return f}(n);s.prototype.name=n.name,s.prototype.code=o,_[o]=s}function E(o,a){if(Array.isArray(o)){var n=o.length;return o=o.map(function(i){return String(i)}),n>2?\"one of \".concat(a,\" \").concat(o.slice(0,n-1).join(\", \"),\", or \")+o[n-1]:n===2?\"one of \".concat(a,\" \").concat(o[0],\" or \").concat(o[1]):\"of \".concat(a,\" \").concat(o[0])}else return\"of \".concat(a,\" \").concat(String(o))}function e(o,a,n){return o.substr(!n||n<0?0:+n,a.length)===a}function t(o,a,n){return(n===void 0||n>o.length)&&(n=o.length),o.substring(n-a.length,n)===a}function r(o,a,n){return typeof n!=\"number\"&&(n=0),n+a.length>o.length?!1:o.indexOf(a,n)!==-1}A(\"ERR_INVALID_OPT_VALUE\",function(o,a){return'The value \"'+a+'\" is invalid for option \"'+o+'\"'},TypeError),A(\"ERR_INVALID_ARG_TYPE\",function(o,a,n){var i;typeof a==\"string\"&&e(a,\"not \")?(i=\"must not be\",a=a.replace(/^not /,\"\")):i=\"must be\";var s;if(t(o,\" argument\"))s=\"The \".concat(o,\" \").concat(i,\" \").concat(E(a,\"type\"));else{var h=r(o,\".\")?\"property\":\"argument\";s='The \"'.concat(o,'\" ').concat(h,\" \").concat(i,\" \").concat(E(a,\"type\"))}return s+=\". Received type \".concat(typeof n),s},TypeError),A(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),A(\"ERR_METHOD_NOT_IMPLEMENTED\",function(o){return\"The \"+o+\" method is not implemented\"}),A(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),A(\"ERR_STREAM_DESTROYED\",function(o){return\"Cannot call \"+o+\" after a stream was destroyed\"}),A(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),A(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),A(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),A(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),A(\"ERR_UNKNOWN_ENCODING\",function(o){return\"Unknown encoding: \"+o},TypeError),A(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),G.exports.codes=_}}),ZS=Ge({\"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js\"(Z,G){\"use strict\";var d=ig().codes.ERR_INVALID_OPT_VALUE;function _(E,e,t){return E.highWaterMark!=null?E.highWaterMark:e?E[t]:null}function A(E,e,t,r){var o=_(e,r,t);if(o!=null){if(!(isFinite(o)&&Math.floor(o)===o)||o<0){var a=r?t:\"highWaterMark\";throw new d(a,o)}return Math.floor(o)}return E.objectMode?16:16*1024}G.exports={getHighWaterMark:A}}}),jO=Ge({\"node_modules/util-deprecate/browser.js\"(Z,G){G.exports=d;function d(A,E){if(_(\"noDeprecation\"))return A;var e=!1;function t(){if(!e){if(_(\"throwDeprecation\"))throw new Error(E);_(\"traceDeprecation\")?console.trace(E):console.warn(E),e=!0}return A.apply(this,arguments)}return t}function _(A){try{if(!window.localStorage)return!1}catch{return!1}var E=window.localStorage[A];return E==null?!1:String(E).toLowerCase()===\"true\"}}}),YS=Ge({\"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js\"(Z,G){\"use strict\";G.exports=p;function d(V){var Y=this;this.next=null,this.entry=null,this.finish=function(){de(Y,V)}}var _;p.WritableState=m;var A={deprecate:jO()},E=zS(),e=rg().Buffer,t=window.Uint8Array||function(){};function r(V){return e.from(V)}function o(V){return e.isBuffer(V)||V instanceof t}var a=XS(),n=ZS(),i=n.getHighWaterMark,s=ig().codes,h=s.ERR_INVALID_ARG_TYPE,f=s.ERR_METHOD_NOT_IMPLEMENTED,v=s.ERR_MULTIPLE_CALLBACK,c=s.ERR_STREAM_CANNOT_PIPE,T=s.ERR_STREAM_DESTROYED,l=s.ERR_STREAM_NULL_VALUES,x=s.ERR_STREAM_WRITE_AFTER_END,w=s.ERR_UNKNOWN_ENCODING,S=a.errorOrDestroy;Kv()(p,E);function M(){}function m(V,Y,ee){_=_||ng(),V=V||{},typeof ee!=\"boolean\"&&(ee=Y instanceof _),this.objectMode=!!V.objectMode,ee&&(this.objectMode=this.objectMode||!!V.writableObjectMode),this.highWaterMark=i(this,V,\"writableHighWaterMark\",ee),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var q=V.decodeStrings===!1;this.decodeStrings=!q,this.defaultEncoding=V.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(se){B(Y,se)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=V.emitClose!==!1,this.autoDestroy=!!V.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new d(this)}m.prototype.getBuffer=function(){for(var Y=this.bufferedRequest,ee=[];Y;)ee.push(Y),Y=Y.next;return ee},function(){try{Object.defineProperty(m.prototype,\"buffer\",{get:A.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch{}}();var b;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(b=Function.prototype[Symbol.hasInstance],Object.defineProperty(p,Symbol.hasInstance,{value:function(Y){return b.call(this,Y)?!0:this!==p?!1:Y&&Y._writableState instanceof m}})):b=function(Y){return Y instanceof this};function p(V){_=_||ng();var Y=this instanceof _;if(!Y&&!b.call(p,this))return new p(V);this._writableState=new m(V,this,Y),this.writable=!0,V&&(typeof V.write==\"function\"&&(this._write=V.write),typeof V.writev==\"function\"&&(this._writev=V.writev),typeof V.destroy==\"function\"&&(this._destroy=V.destroy),typeof V.final==\"function\"&&(this._final=V.final)),E.call(this)}p.prototype.pipe=function(){S(this,new c)};function u(V,Y){var ee=new x;S(V,ee),process.nextTick(Y,ee)}function g(V,Y,ee,q){var se;return ee===null?se=new l:typeof ee!=\"string\"&&!Y.objectMode&&(se=new h(\"chunk\",[\"string\",\"Buffer\"],ee)),se?(S(V,se),process.nextTick(q,se),!1):!0}p.prototype.write=function(V,Y,ee){var q=this._writableState,se=!1,ae=!q.objectMode&&o(V);return ae&&!e.isBuffer(V)&&(V=r(V)),typeof Y==\"function\"&&(ee=Y,Y=null),ae?Y=\"buffer\":Y||(Y=q.defaultEncoding),typeof ee!=\"function\"&&(ee=M),q.ending?u(this,ee):(ae||g(this,q,V,ee))&&(q.pendingcb++,se=D(this,q,ae,V,Y,ee)),se},p.prototype.cork=function(){this._writableState.corked++},p.prototype.uncork=function(){var V=this._writableState;V.corked&&(V.corked--,!V.writing&&!V.corked&&!V.bufferProcessing&&V.bufferedRequest&&U(this,V))},p.prototype.setDefaultEncoding=function(Y){if(typeof Y==\"string\"&&(Y=Y.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((Y+\"\").toLowerCase())>-1))throw new w(Y);return this._writableState.defaultEncoding=Y,this},Object.defineProperty(p.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function y(V,Y,ee){return!V.objectMode&&V.decodeStrings!==!1&&typeof Y==\"string\"&&(Y=e.from(Y,ee)),Y}Object.defineProperty(p.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function D(V,Y,ee,q,se,ae){if(!ee){var j=y(Y,q,se);q!==j&&(ee=!0,se=\"buffer\",q=j)}var Q=Y.objectMode?1:q.length;Y.length+=Q;var re=Y.length>5===6?2:T>>4===14?3:T>>3===30?4:T>>6===2?-1:-2}function t(T,l,x){var w=l.length-1;if(w=0?(S>0&&(T.lastNeed=S-1),S):--w=0?(S>0&&(T.lastNeed=S-2),S):--w=0?(S>0&&(S===2?S=0:T.lastNeed=S-3),S):0))}function r(T,l,x){if((l[0]&192)!==128)return T.lastNeed=0,\"\\uFFFD\";if(T.lastNeed>1&&l.length>1){if((l[1]&192)!==128)return T.lastNeed=1,\"\\uFFFD\";if(T.lastNeed>2&&l.length>2&&(l[2]&192)!==128)return T.lastNeed=2,\"\\uFFFD\"}}function o(T){var l=this.lastTotal-this.lastNeed,x=r(this,T,l);if(x!==void 0)return x;if(this.lastNeed<=T.length)return T.copy(this.lastChar,l,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);T.copy(this.lastChar,l,0,T.length),this.lastNeed-=T.length}function a(T,l){var x=t(this,T,l);if(!this.lastNeed)return T.toString(\"utf8\",l);this.lastTotal=x;var w=T.length-(x-this.lastNeed);return T.copy(this.lastChar,0,w),T.toString(\"utf8\",l,w)}function n(T){var l=T&&T.length?this.write(T):\"\";return this.lastNeed?l+\"\\uFFFD\":l}function i(T,l){if((T.length-l)%2===0){var x=T.toString(\"utf16le\",l);if(x){var w=x.charCodeAt(x.length-1);if(w>=55296&&w<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1],x.slice(0,-1)}return x}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=T[T.length-1],T.toString(\"utf16le\",l,T.length-1)}function s(T){var l=T&&T.length?this.write(T):\"\";if(this.lastNeed){var x=this.lastTotal-this.lastNeed;return l+this.lastChar.toString(\"utf16le\",0,x)}return l}function h(T,l){var x=(T.length-l)%3;return x===0?T.toString(\"base64\",l):(this.lastNeed=3-x,this.lastTotal=3,x===1?this.lastChar[0]=T[T.length-1]:(this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1]),T.toString(\"base64\",l,T.length-x))}function f(T){var l=T&&T.length?this.write(T):\"\";return this.lastNeed?l+this.lastChar.toString(\"base64\",0,3-this.lastNeed):l}function v(T){return T.toString(this.encoding)}function c(T){return T&&T.length?this.write(T):\"\"}}}),m3=Ge({\"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(Z,G){\"use strict\";var d=ig().codes.ERR_STREAM_PREMATURE_CLOSE;function _(t){var r=!1;return function(){if(!r){r=!0;for(var o=arguments.length,a=new Array(o),n=0;n0)if(typeof Q!=\"string\"&&!Se.objectMode&&Object.getPrototypeOf(Q)!==e.prototype&&(Q=r(Q)),pe)Se.endEmitted?m(j,new x):D(j,Se,Q,!0);else if(Se.ended)m(j,new T);else{if(Se.destroyed)return!1;Se.reading=!1,Se.decoder&&!re?(Q=Se.decoder.write(Q),Se.objectMode||Q.length!==0?D(j,Se,Q,!1):N(j,Se)):D(j,Se,Q,!1)}else pe||(Se.reading=!1,N(j,Se))}return!Se.ended&&(Se.length=z?j=z:(j--,j|=j>>>1,j|=j>>>2,j|=j>>>4,j|=j>>>8,j|=j>>>16,j++),j}function B(j,Q){return j<=0||Q.length===0&&Q.ended?0:Q.objectMode?1:j!==j?Q.flowing&&Q.length?Q.buffer.head.data.length:Q.length:(j>Q.highWaterMark&&(Q.highWaterMark=F(j)),j<=Q.length?j:Q.ended?Q.length:(Q.needReadable=!0,0))}g.prototype.read=function(j){n(\"read\",j),j=parseInt(j,10);var Q=this._readableState,re=j;if(j!==0&&(Q.emittedReadable=!1),j===0&&Q.needReadable&&((Q.highWaterMark!==0?Q.length>=Q.highWaterMark:Q.length>0)||Q.ended))return n(\"read: emitReadable\",Q.length,Q.ended),Q.length===0&&Q.ended?q(this):P(this),null;if(j=B(j,Q),j===0&&Q.ended)return Q.length===0&&q(this),null;var pe=Q.needReadable;n(\"need readable\",pe),(Q.length===0||Q.length-j0?we=ee(j,Q):we=null,we===null?(Q.needReadable=Q.length<=Q.highWaterMark,j=0):(Q.length-=j,Q.awaitDrain=0),Q.length===0&&(Q.ended||(Q.needReadable=!0),re!==j&&Q.ended&&q(this)),we!==null&&this.emit(\"data\",we),we};function O(j,Q){if(n(\"onEofChunk\"),!Q.ended){if(Q.decoder){var re=Q.decoder.end();re&&re.length&&(Q.buffer.push(re),Q.length+=Q.objectMode?1:re.length)}Q.ended=!0,Q.sync?P(j):(Q.needReadable=!1,Q.emittedReadable||(Q.emittedReadable=!0,U(j)))}}function P(j){var Q=j._readableState;n(\"emitReadable\",Q.needReadable,Q.emittedReadable),Q.needReadable=!1,Q.emittedReadable||(n(\"emitReadable\",Q.flowing),Q.emittedReadable=!0,process.nextTick(U,j))}function U(j){var Q=j._readableState;n(\"emitReadable_\",Q.destroyed,Q.length,Q.ended),!Q.destroyed&&(Q.length||Q.ended)&&(j.emit(\"readable\"),Q.emittedReadable=!1),Q.needReadable=!Q.flowing&&!Q.ended&&Q.length<=Q.highWaterMark,Y(j)}function N(j,Q){Q.readingMore||(Q.readingMore=!0,process.nextTick(X,j,Q))}function X(j,Q){for(;!Q.reading&&!Q.ended&&(Q.length1&&ae(pe.pipes,j)!==-1)&&!at&&(n(\"false write response, pause\",pe.awaitDrain),pe.awaitDrain++),re.pause())}function Ue(Ce){n(\"onerror\",Ce),ne(),j.removeListener(\"error\",Ue),A(j,\"error\")===0&&m(j,Ce)}p(j,\"error\",Ue);function he(){j.removeListener(\"finish\",le),ne()}j.once(\"close\",he);function le(){n(\"onfinish\"),j.removeListener(\"close\",he),ne()}j.once(\"finish\",le);function ne(){n(\"unpipe\"),re.unpipe(j)}return j.emit(\"pipe\",re),pe.flowing||(n(\"pipe resume\"),re.resume()),j};function $(j){return function(){var re=j._readableState;n(\"pipeOnDrain\",re.awaitDrain),re.awaitDrain&&re.awaitDrain--,re.awaitDrain===0&&A(j,\"data\")&&(re.flowing=!0,Y(j))}}g.prototype.unpipe=function(j){var Q=this._readableState,re={hasUnpiped:!1};if(Q.pipesCount===0)return this;if(Q.pipesCount===1)return j&&j!==Q.pipes?this:(j||(j=Q.pipes),Q.pipes=null,Q.pipesCount=0,Q.flowing=!1,j&&j.emit(\"unpipe\",this,re),this);if(!j){var pe=Q.pipes,we=Q.pipesCount;Q.pipes=null,Q.pipesCount=0,Q.flowing=!1;for(var Se=0;Se0,pe.flowing!==!1&&this.resume()):j===\"readable\"&&!pe.endEmitted&&!pe.readableListening&&(pe.readableListening=pe.needReadable=!0,pe.flowing=!1,pe.emittedReadable=!1,n(\"on readable\",pe.length,pe.reading),pe.length?P(this):pe.reading||process.nextTick(ce,this)),re},g.prototype.addListener=g.prototype.on,g.prototype.removeListener=function(j,Q){var re=E.prototype.removeListener.call(this,j,Q);return j===\"readable\"&&process.nextTick(ue,this),re},g.prototype.removeAllListeners=function(j){var Q=E.prototype.removeAllListeners.apply(this,arguments);return(j===\"readable\"||j===void 0)&&process.nextTick(ue,this),Q};function ue(j){var Q=j._readableState;Q.readableListening=j.listenerCount(\"readable\")>0,Q.resumeScheduled&&!Q.paused?Q.flowing=!0:j.listenerCount(\"data\")>0&&j.resume()}function ce(j){n(\"readable nexttick read 0\"),j.read(0)}g.prototype.resume=function(){var j=this._readableState;return j.flowing||(n(\"resume\"),j.flowing=!j.readableListening,de(this,j)),j.paused=!1,this};function de(j,Q){Q.resumeScheduled||(Q.resumeScheduled=!0,process.nextTick(V,j,Q))}function V(j,Q){n(\"resume\",Q.reading),Q.reading||j.read(0),Q.resumeScheduled=!1,j.emit(\"resume\"),Y(j),Q.flowing&&!Q.reading&&j.read(0)}g.prototype.pause=function(){return n(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(n(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function Y(j){var Q=j._readableState;for(n(\"flow\",Q.flowing);Q.flowing&&j.read()!==null;);}g.prototype.wrap=function(j){var Q=this,re=this._readableState,pe=!1;j.on(\"end\",function(){if(n(\"wrapped end\"),re.decoder&&!re.ended){var Ie=re.decoder.end();Ie&&Ie.length&&Q.push(Ie)}Q.push(null)}),j.on(\"data\",function(Ie){if(n(\"wrapped data\"),re.decoder&&(Ie=re.decoder.write(Ie)),!(re.objectMode&&Ie==null)&&!(!re.objectMode&&(!Ie||!Ie.length))){var Re=Q.push(Ie);Re||(pe=!0,j.pause())}});for(var we in j)this[we]===void 0&&typeof j[we]==\"function\"&&(this[we]=function(Re){return function(){return j[Re].apply(j,arguments)}}(we));for(var Se=0;Se=Q.length?(Q.decoder?re=Q.buffer.join(\"\"):Q.buffer.length===1?re=Q.buffer.first():re=Q.buffer.concat(Q.length),Q.buffer.clear()):re=Q.buffer.consume(j,Q.decoder),re}function q(j){var Q=j._readableState;n(\"endReadable\",Q.endEmitted),Q.endEmitted||(Q.ended=!0,process.nextTick(se,Q,j))}function se(j,Q){if(n(\"endReadableNT\",j.endEmitted,j.length),!j.endEmitted&&j.length===0&&(j.endEmitted=!0,Q.readable=!1,Q.emit(\"end\"),j.autoDestroy)){var re=Q._writableState;(!re||re.autoDestroy&&re.finished)&&Q.destroy()}}typeof Symbol==\"function\"&&(g.from=function(j,Q){return M===void 0&&(M=GO()),M(g,j,Q)});function ae(j,Q){for(var re=0,pe=j.length;re0;return o(x,S,M,function(m){T||(T=m),m&&l.forEach(a),!S&&(l.forEach(a),c(T))})});return f.reduce(n)}G.exports=s}}),XO=Ge({\"node_modules/stream-browserify/index.js\"(Z,G){G.exports=A;var d=Z0().EventEmitter,_=Kv();_(A,d),A.Readable=JS(),A.Writable=YS(),A.Duplex=ng(),A.Transform=$S(),A.PassThrough=HO(),A.finished=m3(),A.pipeline=WO(),A.Stream=A;function A(){d.call(this)}A.prototype.pipe=function(E,e){var t=this;function r(f){E.writable&&E.write(f)===!1&&t.pause&&t.pause()}t.on(\"data\",r);function o(){t.readable&&t.resume&&t.resume()}E.on(\"drain\",o),!E._isStdio&&(!e||e.end!==!1)&&(t.on(\"end\",n),t.on(\"close\",i));var a=!1;function n(){a||(a=!0,E.end())}function i(){a||(a=!0,typeof E.destroy==\"function\"&&E.destroy())}function s(f){if(h(),d.listenerCount(this,\"error\")===0)throw f}t.on(\"error\",s),E.on(\"error\",s);function h(){t.removeListener(\"data\",r),E.removeListener(\"drain\",o),t.removeListener(\"end\",n),t.removeListener(\"close\",i),t.removeListener(\"error\",s),E.removeListener(\"error\",s),t.removeListener(\"end\",h),t.removeListener(\"close\",h),E.removeListener(\"close\",h)}return t.on(\"end\",h),t.on(\"close\",h),E.on(\"close\",h),E.emit(\"pipe\",t),E}}}),_1=Ge({\"node_modules/util/util.js\"(Z){var G=Object.getOwnPropertyDescriptors||function(X){for(var $=Object.keys(X),ue={},ce=0;ce<$.length;ce++)ue[$[ce]]=Object.getOwnPropertyDescriptor(X,$[ce]);return ue},d=/%[sdj%]/g;Z.format=function(N){if(!w(N)){for(var X=[],$=0;$=ce)return Y;switch(Y){case\"%s\":return String(ue[$++]);case\"%d\":return Number(ue[$++]);case\"%j\":try{return JSON.stringify(ue[$++])}catch{return\"[Circular]\"}default:return Y}}),V=ue[$];$\"u\")return function(){return Z.deprecate(N,X).apply(this,arguments)};var $=!1;function ue(){if(!$){if(process.throwDeprecation)throw new Error(X);process.traceDeprecation?console.trace(X):console.error(X),$=!0}return N.apply(this,arguments)}return ue};var _={},A=/^$/;E=\"false\",E=E.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),A=new RegExp(\"^\"+E+\"$\",\"i\");var E;Z.debuglog=function(N){if(N=N.toUpperCase(),!_[N])if(A.test(N)){var X=process.pid;_[N]=function(){var $=Z.format.apply(Z,arguments);console.error(\"%s %d: %s\",N,X,$)}}else _[N]=function(){};return _[N]};function e(N,X){var $={seen:[],stylize:r};return arguments.length>=3&&($.depth=arguments[2]),arguments.length>=4&&($.colors=arguments[3]),c(X)?$.showHidden=X:X&&Z._extend($,X),M($.showHidden)&&($.showHidden=!1),M($.depth)&&($.depth=2),M($.colors)&&($.colors=!1),M($.customInspect)&&($.customInspect=!0),$.colors&&($.stylize=t),a($,N,$.depth)}Z.inspect=e,e.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]},e.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function t(N,X){var $=e.styles[X];return $?\"\\x1B[\"+e.colors[$][0]+\"m\"+N+\"\\x1B[\"+e.colors[$][1]+\"m\":N}function r(N,X){return N}function o(N){var X={};return N.forEach(function($,ue){X[$]=!0}),X}function a(N,X,$){if(N.customInspect&&X&&g(X.inspect)&&X.inspect!==Z.inspect&&!(X.constructor&&X.constructor.prototype===X)){var ue=X.inspect($,N);return w(ue)||(ue=a(N,ue,$)),ue}var ce=n(N,X);if(ce)return ce;var de=Object.keys(X),V=o(de);if(N.showHidden&&(de=Object.getOwnPropertyNames(X)),u(X)&&(de.indexOf(\"message\")>=0||de.indexOf(\"description\")>=0))return i(X);if(de.length===0){if(g(X)){var Y=X.name?\": \"+X.name:\"\";return N.stylize(\"[Function\"+Y+\"]\",\"special\")}if(m(X))return N.stylize(RegExp.prototype.toString.call(X),\"regexp\");if(p(X))return N.stylize(Date.prototype.toString.call(X),\"date\");if(u(X))return i(X)}var ee=\"\",q=!1,se=[\"{\",\"}\"];if(v(X)&&(q=!0,se=[\"[\",\"]\"]),g(X)){var ae=X.name?\": \"+X.name:\"\";ee=\" [Function\"+ae+\"]\"}if(m(X)&&(ee=\" \"+RegExp.prototype.toString.call(X)),p(X)&&(ee=\" \"+Date.prototype.toUTCString.call(X)),u(X)&&(ee=\" \"+i(X)),de.length===0&&(!q||X.length==0))return se[0]+ee+se[1];if($<0)return m(X)?N.stylize(RegExp.prototype.toString.call(X),\"regexp\"):N.stylize(\"[Object]\",\"special\");N.seen.push(X);var j;return q?j=s(N,X,$,V,de):j=de.map(function(Q){return h(N,X,$,V,Q,q)}),N.seen.pop(),f(j,ee,se)}function n(N,X){if(M(X))return N.stylize(\"undefined\",\"undefined\");if(w(X)){var $=\"'\"+JSON.stringify(X).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return N.stylize($,\"string\")}if(x(X))return N.stylize(\"\"+X,\"number\");if(c(X))return N.stylize(\"\"+X,\"boolean\");if(T(X))return N.stylize(\"null\",\"null\")}function i(N){return\"[\"+Error.prototype.toString.call(N)+\"]\"}function s(N,X,$,ue,ce){for(var de=[],V=0,Y=X.length;V-1&&(de?Y=Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`).slice(2):Y=`\n`+Y.split(`\n`).map(function(q){return\" \"+q}).join(`\n`))):Y=N.stylize(\"[Circular]\",\"special\")),M(V)){if(de&&ce.match(/^\\d+$/))return Y;V=JSON.stringify(\"\"+ce),V.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(V=V.slice(1,-1),V=N.stylize(V,\"name\")):(V=V.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),V=N.stylize(V,\"string\"))}return V+\": \"+Y}function f(N,X,$){var ue=0,ce=N.reduce(function(de,V){return ue++,V.indexOf(`\n`)>=0&&ue++,de+V.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return ce>60?$[0]+(X===\"\"?\"\":X+`\n `)+\" \"+N.join(`,\n `)+\" \"+$[1]:$[0]+X+\" \"+N.join(\", \")+\" \"+$[1]}Z.types=GS();function v(N){return Array.isArray(N)}Z.isArray=v;function c(N){return typeof N==\"boolean\"}Z.isBoolean=c;function T(N){return N===null}Z.isNull=T;function l(N){return N==null}Z.isNullOrUndefined=l;function x(N){return typeof N==\"number\"}Z.isNumber=x;function w(N){return typeof N==\"string\"}Z.isString=w;function S(N){return typeof N==\"symbol\"}Z.isSymbol=S;function M(N){return N===void 0}Z.isUndefined=M;function m(N){return b(N)&&D(N)===\"[object RegExp]\"}Z.isRegExp=m,Z.types.isRegExp=m;function b(N){return typeof N==\"object\"&&N!==null}Z.isObject=b;function p(N){return b(N)&&D(N)===\"[object Date]\"}Z.isDate=p,Z.types.isDate=p;function u(N){return b(N)&&(D(N)===\"[object Error]\"||N instanceof Error)}Z.isError=u,Z.types.isNativeError=u;function g(N){return typeof N==\"function\"}Z.isFunction=g;function y(N){return N===null||typeof N==\"boolean\"||typeof N==\"number\"||typeof N==\"string\"||typeof N==\"symbol\"||typeof N>\"u\"}Z.isPrimitive=y,Z.isBuffer=HS();function D(N){return Object.prototype.toString.call(N)}function L(N){return N<10?\"0\"+N.toString(10):N.toString(10)}var z=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function F(){var N=new Date,X=[L(N.getHours()),L(N.getMinutes()),L(N.getSeconds())].join(\":\");return[N.getDate(),z[N.getMonth()],X].join(\" \")}Z.log=function(){console.log(\"%s - %s\",F(),Z.format.apply(Z,arguments))},Z.inherits=Kv(),Z._extend=function(N,X){if(!X||!b(X))return N;for(var $=Object.keys(X),ue=$.length;ue--;)N[$[ue]]=X[$[ue]];return N};function B(N,X){return Object.prototype.hasOwnProperty.call(N,X)}var O=typeof Symbol<\"u\"?Symbol(\"util.promisify.custom\"):void 0;Z.promisify=function(X){if(typeof X!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(O&&X[O]){var $=X[O];if(typeof $!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty($,O,{value:$,enumerable:!1,writable:!1,configurable:!0}),$}function $(){for(var ue,ce,de=new Promise(function(ee,q){ue=ee,ce=q}),V=[],Y=0;Y\"u\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function h(M){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(b){return b.__proto__||Object.getPrototypeOf(b)},h(M)}var f={},v,c;function T(M,m,b){b||(b=Error);function p(g,y,D){return typeof m==\"string\"?m:m(g,y,D)}var u=function(g){r(D,g);var y=a(D);function D(L,z,F){var B;return t(this,D),B=y.call(this,p(L,z,F)),B.code=M,B}return A(D)}(b);f[M]=u}function l(M,m){if(Array.isArray(M)){var b=M.length;return M=M.map(function(p){return String(p)}),b>2?\"one of \".concat(m,\" \").concat(M.slice(0,b-1).join(\", \"),\", or \")+M[b-1]:b===2?\"one of \".concat(m,\" \").concat(M[0],\" or \").concat(M[1]):\"of \".concat(m,\" \").concat(M[0])}else return\"of \".concat(m,\" \").concat(String(M))}function x(M,m,b){return M.substr(!b||b<0?0:+b,m.length)===m}function w(M,m,b){return(b===void 0||b>M.length)&&(b=M.length),M.substring(b-m.length,b)===m}function S(M,m,b){return typeof b!=\"number\"&&(b=0),b+m.length>M.length?!1:M.indexOf(m,b)!==-1}T(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),T(\"ERR_INVALID_ARG_TYPE\",function(M,m,b){v===void 0&&(v=K_()),v(typeof M==\"string\",\"'name' must be a string\");var p;typeof m==\"string\"&&x(m,\"not \")?(p=\"must not be\",m=m.replace(/^not /,\"\")):p=\"must be\";var u;if(w(M,\" argument\"))u=\"The \".concat(M,\" \").concat(p,\" \").concat(l(m,\"type\"));else{var g=S(M,\".\")?\"property\":\"argument\";u='The \"'.concat(M,'\" ').concat(g,\" \").concat(p,\" \").concat(l(m,\"type\"))}return u+=\". Received type \".concat(d(b)),u},TypeError),T(\"ERR_INVALID_ARG_VALUE\",function(M,m){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";c===void 0&&(c=_1());var p=c.inspect(m);return p.length>128&&(p=\"\".concat(p.slice(0,128),\"...\")),\"The argument '\".concat(M,\"' \").concat(b,\". Received \").concat(p)},TypeError,RangeError),T(\"ERR_INVALID_RETURN_VALUE\",function(M,m,b){var p;return b&&b.constructor&&b.constructor.name?p=\"instance of \".concat(b.constructor.name):p=\"type \".concat(d(b)),\"Expected \".concat(M,' to be returned from the \"').concat(m,'\"')+\" function but got \".concat(p,\".\")},TypeError),T(\"ERR_MISSING_ARGS\",function(){for(var M=arguments.length,m=new Array(M),b=0;b0,\"At least one arg needs to be specified\");var p=\"The \",u=m.length;switch(m=m.map(function(g){return'\"'.concat(g,'\"')}),u){case 1:p+=\"\".concat(m[0],\" argument\");break;case 2:p+=\"\".concat(m[0],\" and \").concat(m[1],\" arguments\");break;default:p+=m.slice(0,u-1).join(\", \"),p+=\", and \".concat(m[u-1],\" arguments\");break}return\"\".concat(p,\" must be specified\")},TypeError),G.exports.codes=f}}),ZO=Ge({\"node_modules/assert/build/internal/assert/assertion_error.js\"(Z,G){\"use strict\";function d(U,N){var X=Object.keys(U);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(U);N&&($=$.filter(function(ue){return Object.getOwnPropertyDescriptor(U,ue).enumerable})),X.push.apply(X,$)}return X}function _(U){for(var N=1;N\"u\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function c(U){return Function.toString.call(U).indexOf(\"[native code]\")!==-1}function T(U,N){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function($,ue){return $.__proto__=ue,$},T(U,N)}function l(U){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},l(U)}function x(U){\"@babel/helpers - typeof\";return x=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(N){return typeof N}:function(N){return N&&typeof Symbol==\"function\"&&N.constructor===Symbol&&N!==Symbol.prototype?\"symbol\":typeof N},x(U)}var w=_1(),S=w.inspect,M=QS(),m=M.codes.ERR_INVALID_ARG_TYPE;function b(U,N,X){return(X===void 0||X>U.length)&&(X=U.length),U.substring(X-N.length,X)===N}function p(U,N){if(N=Math.floor(N),U.length==0||N==0)return\"\";var X=U.length*N;for(N=Math.floor(Math.log(N)/Math.log(2));N;)U+=U,N--;return U+=U.substring(0,X-U.length),U}var u=\"\",g=\"\",y=\"\",D=\"\",L={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"},z=10;function F(U){var N=Object.keys(U),X=Object.create(Object.getPrototypeOf(U));return N.forEach(function($){X[$]=U[$]}),Object.defineProperty(X,\"message\",{value:U.message}),X}function B(U){return S(U,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function O(U,N,X){var $=\"\",ue=\"\",ce=0,de=\"\",V=!1,Y=B(U),ee=Y.split(`\n`),q=B(N).split(`\n`),se=0,ae=\"\";if(X===\"strictEqual\"&&x(U)===\"object\"&&x(N)===\"object\"&&U!==null&&N!==null&&(X=\"strictEqualObject\"),ee.length===1&&q.length===1&&ee[0]!==q[0]){var j=ee[0].length+q[0].length;if(j<=z){if((x(U)!==\"object\"||U===null)&&(x(N)!==\"object\"||N===null)&&(U!==0||N!==0))return\"\".concat(L[X],`\n\n`)+\"\".concat(ee[0],\" !== \").concat(q[0],`\n`)}else if(X!==\"strictEqualObject\"){var Q=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(j2&&(ae=`\n `.concat(p(\" \",se),\"^\"),se=0)}}}for(var re=ee[ee.length-1],pe=q[q.length-1];re===pe&&(se++<2?de=`\n `.concat(re).concat(de):$=re,ee.pop(),q.pop(),!(ee.length===0||q.length===0));)re=ee[ee.length-1],pe=q[q.length-1];var we=Math.max(ee.length,q.length);if(we===0){var Se=Y.split(`\n`);if(Se.length>30)for(Se[26]=\"\".concat(u,\"...\").concat(D);Se.length>27;)Se.pop();return\"\".concat(L.notIdentical,`\n\n`).concat(Se.join(`\n`),`\n`)}se>3&&(de=`\n`.concat(u,\"...\").concat(D).concat(de),V=!0),$!==\"\"&&(de=`\n `.concat($).concat(de),$=\"\");var Ie=0,Re=L[X]+`\n`.concat(g,\"+ actual\").concat(D,\" \").concat(y,\"- expected\").concat(D),He=\" \".concat(u,\"...\").concat(D,\" Lines skipped\");for(se=0;se1&&se>2&&(at>4?(ue+=`\n`.concat(u,\"...\").concat(D),V=!0):at>3&&(ue+=`\n `.concat(q[se-2]),Ie++),ue+=`\n `.concat(q[se-1]),Ie++),ce=se,$+=`\n`.concat(y,\"-\").concat(D,\" \").concat(q[se]),Ie++;else if(q.length1&&se>2&&(at>4?(ue+=`\n`.concat(u,\"...\").concat(D),V=!0):at>3&&(ue+=`\n `.concat(ee[se-2]),Ie++),ue+=`\n `.concat(ee[se-1]),Ie++),ce=se,ue+=`\n`.concat(g,\"+\").concat(D,\" \").concat(ee[se]),Ie++;else{var nt=q[se],tt=ee[se],Ue=tt!==nt&&(!b(tt,\",\")||tt.slice(0,-1)!==nt);Ue&&b(nt,\",\")&&nt.slice(0,-1)===tt&&(Ue=!1,tt+=\",\"),Ue?(at>1&&se>2&&(at>4?(ue+=`\n`.concat(u,\"...\").concat(D),V=!0):at>3&&(ue+=`\n `.concat(ee[se-2]),Ie++),ue+=`\n `.concat(ee[se-1]),Ie++),ce=se,ue+=`\n`.concat(g,\"+\").concat(D,\" \").concat(tt),$+=`\n`.concat(y,\"-\").concat(D,\" \").concat(nt),Ie+=2):(ue+=$,$=\"\",(at===1||se===0)&&(ue+=`\n `.concat(tt),Ie++))}if(Ie>20&&se30)for(j[26]=\"\".concat(u,\"...\").concat(D);j.length>27;)j.pop();j.length===1?ce=X.call(this,\"\".concat(ae,\" \").concat(j[0])):ce=X.call(this,\"\".concat(ae,`\n\n`).concat(j.join(`\n`),`\n`))}else{var Q=B(ee),re=\"\",pe=L[V];V===\"notDeepEqual\"||V===\"notEqual\"?(Q=\"\".concat(L[V],`\n\n`).concat(Q),Q.length>1024&&(Q=\"\".concat(Q.slice(0,1021),\"...\"))):(re=\"\".concat(B(q)),Q.length>512&&(Q=\"\".concat(Q.slice(0,509),\"...\")),re.length>512&&(re=\"\".concat(re.slice(0,509),\"...\")),V===\"deepEqual\"||V===\"equal\"?Q=\"\".concat(pe,`\n\n`).concat(Q,`\n\nshould equal\n\n`):re=\" \".concat(V,\" \").concat(re)),ce=X.call(this,\"\".concat(Q).concat(re))}return Error.stackTraceLimit=se,ce.generatedMessage=!de,Object.defineProperty(s(ce),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),ce.code=\"ERR_ASSERTION\",ce.actual=ee,ce.expected=q,ce.operator=V,Error.captureStackTrace&&Error.captureStackTrace(s(ce),Y),ce.stack,ce.name=\"AssertionError\",i(ce)}return t($,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:N,value:function(ce,de){return S(this,_(_({},de),{},{customInspect:!1,depth:0}))}}]),$}(h(Error),S.custom);G.exports=P}}),eM=Ge({\"node_modules/object-keys/isArguments.js\"(Z,G){\"use strict\";var d=Object.prototype.toString;G.exports=function(A){var E=d.call(A),e=E===\"[object Arguments]\";return e||(e=E!==\"[object Array]\"&&A!==null&&typeof A==\"object\"&&typeof A.length==\"number\"&&A.length>=0&&d.call(A.callee)===\"[object Function]\"),e}}}),YO=Ge({\"node_modules/object-keys/implementation.js\"(Z,G){\"use strict\";var d;Object.keys||(_=Object.prototype.hasOwnProperty,A=Object.prototype.toString,E=eM(),e=Object.prototype.propertyIsEnumerable,t=!e.call({toString:null},\"toString\"),r=e.call(function(){},\"prototype\"),o=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],a=function(h){var f=h.constructor;return f&&f.prototype===h},n={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},i=function(){if(typeof window>\"u\")return!1;for(var h in window)try{if(!n[\"$\"+h]&&_.call(window,h)&&window[h]!==null&&typeof window[h]==\"object\")try{a(window[h])}catch{return!0}}catch{return!0}return!1}(),s=function(h){if(typeof window>\"u\"||!i)return a(h);try{return a(h)}catch{return!1}},d=function(f){var v=f!==null&&typeof f==\"object\",c=A.call(f)===\"[object Function]\",T=E(f),l=v&&A.call(f)===\"[object String]\",x=[];if(!v&&!c&&!T)throw new TypeError(\"Object.keys called on a non-object\");var w=r&&c;if(l&&f.length>0&&!_.call(f,0))for(var S=0;S0)for(var M=0;M2?arguments[2]:{},f=d(s);_&&(f=E.call(f,Object.getOwnPropertySymbols(s)));for(var v=0;vhe.length)&&(le=he.length);for(var ne=0,Ce=new Array(le);ne10)return!0;for(var le=0;le57)return!0}return he.length===10&&he>=Math.pow(2,32)}function P(he){return Object.keys(he).filter(O).concat(s(he).filter(Object.prototype.propertyIsEnumerable.bind(he)))}function U(he,le){if(he===le)return 0;for(var ne=he.length,Ce=le.length,Ze=0,rt=Math.min(ne,Ce);Ze1?q-1:0),ae=1;ae1?q-1:0),ae=1;ae1?q-1:0),ae=1;ae1?q-1:0),ae=1;ae0)return t(n);if(s===\"number\"&&isNaN(n)===!1)return i.long?o(n):r(n);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(n))};function t(n){if(n=String(n),!(n.length>100)){var i=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(n);if(i){var s=parseFloat(i[1]),h=(i[2]||\"ms\").toLowerCase();switch(h){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return s*e;case\"days\":case\"day\":case\"d\":return s*E;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return s*A;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return s*_;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return s*d;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return s;default:return}}}}function r(n){return n>=E?Math.round(n/E)+\"d\":n>=A?Math.round(n/A)+\"h\":n>=_?Math.round(n/_)+\"m\":n>=d?Math.round(n/d)+\"s\":n+\"ms\"}function o(n){return a(n,E,\"day\")||a(n,A,\"hour\")||a(n,_,\"minute\")||a(n,d,\"second\")||n+\" ms\"}function a(n,i,s){if(!(n=31||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}Z.formatters.j=function(r){try{return JSON.stringify(r)}catch(o){return\"[UnexpectedJSONParseError]: \"+o.message}};function _(r){var o=this.useColors;if(r[0]=(o?\"%c\":\"\")+this.namespace+(o?\" %c\":\" \")+r[0]+(o?\"%c \":\" \")+\"+\"+Z.humanize(this.diff),!!o){var a=\"color: \"+this.color;r.splice(1,0,a,\"color: inherit\");var n=0,i=0;r[0].replace(/%[a-zA-Z%]/g,function(s){s!==\"%%\"&&(n++,s===\"%c\"&&(i=n))}),r.splice(i,0,a)}}function A(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function E(r){try{r==null?Z.storage.removeItem(\"debug\"):Z.storage.debug=r}catch{}}function e(){var r;try{r=Z.storage.debug}catch{}return!r&&typeof process<\"u\"&&\"env\"in process&&(r=process.env.DEBUG),r}Z.enable(e());function t(){try{return window.localStorage}catch{}}}}),oB=Ge({\"node_modules/stream-parser/index.js\"(Z,G){var d=K_(),_=nB()(\"stream-parser\");G.exports=r;var A=-1,E=0,e=1,t=2;function r(l){var x=l&&typeof l._transform==\"function\",w=l&&typeof l._write==\"function\";if(!x&&!w)throw new Error(\"must pass a Writable or Transform stream in\");_(\"extending Parser into stream\"),l._bytes=a,l._skipBytes=n,x&&(l._passthrough=i),x?l._transform=h:l._write=s}function o(l){_(\"initializing parser stream\"),l._parserBytesLeft=0,l._parserBuffers=[],l._parserBuffered=0,l._parserState=A,l._parserCallback=null,typeof l.push==\"function\"&&(l._parserOutput=l.push.bind(l)),l._parserInit=!0}function a(l,x){d(!this._parserCallback,'there is already a \"callback\" set!'),d(isFinite(l)&&l>0,'can only buffer a finite number of bytes > 0, got \"'+l+'\"'),this._parserInit||o(this),_(\"buffering %o bytes\",l),this._parserBytesLeft=l,this._parserCallback=x,this._parserState=E}function n(l,x){d(!this._parserCallback,'there is already a \"callback\" set!'),d(l>0,'can only skip > 0 bytes, got \"'+l+'\"'),this._parserInit||o(this),_(\"skipping %o bytes\",l),this._parserBytesLeft=l,this._parserCallback=x,this._parserState=e}function i(l,x){d(!this._parserCallback,'There is already a \"callback\" set!'),d(l>0,'can only pass through > 0 bytes, got \"'+l+'\"'),this._parserInit||o(this),_(\"passing through %o bytes\",l),this._parserBytesLeft=l,this._parserCallback=x,this._parserState=t}function s(l,x,w){this._parserInit||o(this),_(\"write(%o bytes)\",l.length),typeof x==\"function\"&&(w=x),c(this,l,null,w)}function h(l,x,w){this._parserInit||o(this),_(\"transform(%o bytes)\",l.length),typeof x!=\"function\"&&(x=this._parserOutput),c(this,l,x,w)}function f(l,x,w,S){return l._parserBytesLeft<=0?S(new Error(\"got data but not currently parsing anything\")):x.length<=l._parserBytesLeft?function(){return v(l,x,w,S)}:function(){var M=x.slice(0,l._parserBytesLeft);return v(l,M,w,function(m){if(m)return S(m);if(x.length>M.length)return function(){return f(l,x.slice(M.length),w,S)}})}}function v(l,x,w,S){if(l._parserBytesLeft-=x.length,_(\"%o bytes left for stream piece\",l._parserBytesLeft),l._parserState===E?(l._parserBuffers.push(x),l._parserBuffered+=x.length):l._parserState===t&&w(x),l._parserBytesLeft===0){var M=l._parserCallback;if(M&&l._parserState===E&&l._parserBuffers.length>1&&(x=Buffer.concat(l._parserBuffers,l._parserBuffered)),l._parserState!==E&&(x=null),l._parserCallback=null,l._parserBuffered=0,l._parserState=A,l._parserBuffers.splice(0),M){var m=[];x&&m.push(x),w&&m.push(w);var b=M.length>m.length;b&&m.push(T(S));var p=M.apply(l,m);if(!b||S===p)return S}}else return S}var c=T(f);function T(l){return function(){for(var x=l.apply(this,arguments);typeof x==\"function\";)x=x();return x}}}}),ac=Ge({\"node_modules/probe-image-size/lib/common.js\"(Z){\"use strict\";var G=XO().Transform,d=oB();function _(){G.call(this,{readableObjectMode:!0})}_.prototype=Object.create(G.prototype),_.prototype.constructor=_,d(_.prototype),Z.ParserStream=_,Z.sliceEq=function(E,e,t){for(var r=e,o=0;o>4&15,f=i[4]&15,v=i[5]>>4&15,c=d(i,6),T=8,l=0;lc.width||v.width===c.width&&v.height>c.height?v:c}),h=i.reduce(function(v,c){return v.height>c.height||v.height===c.height&&v.width>c.width?v:c}),f;return s.width>h.height||s.width===h.height&&s.height>h.width?f=s:f=h,f}G.exports.readSizeFromMeta=function(i){var s={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(a(i,s),!!s.sizes.length){var h=n(s.sizes),f=1;s.transforms.forEach(function(c){var T={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},l={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(c.type===\"imir\"&&(c.value===0?f=l[f]:(f=l[f],f=T[f],f=T[f])),c.type===\"irot\")for(var x=0;x0&&!this.aborted;){var t=this.ifds_to_read.shift();t.offset&&this.scan_ifd(t.id,t.offset,E)}},A.prototype.read_uint16=function(E){var e=this.input;if(E+2>e.length)throw d(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?e[E]*256+e[E+1]:e[E]+e[E+1]*256},A.prototype.read_uint32=function(E){var e=this.input;if(E+4>e.length)throw d(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?e[E]*16777216+e[E+1]*65536+e[E+2]*256+e[E+3]:e[E]+e[E+1]*256+e[E+2]*65536+e[E+3]*16777216},A.prototype.is_subifd_link=function(E,e){return E===0&&e===34665||E===0&&e===34853||E===34665&&e===40965},A.prototype.exif_format_length=function(E){switch(E){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},A.prototype.exif_format_read=function(E,e){var t;switch(E){case 1:case 2:return t=this.input[e],t;case 6:return t=this.input[e],t|(t&128)*33554430;case 3:return t=this.read_uint16(e),t;case 8:return t=this.read_uint16(e),t|(t&32768)*131070;case 4:return t=this.read_uint32(e),t;case 9:return t=this.read_uint32(e),t|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}},A.prototype.scan_ifd=function(E,e,t){var r=this.read_uint16(e);e+=2;for(var o=0;othis.input.length)throw d(\"unexpected EOF\",\"EBADDATA\");for(var c=[],T=f,l=0;l0&&(this.ifds_to_read.push({id:a,offset:c[0]}),v=!0);var w={is_big_endian:this.big_endian,ifd:E,tag:a,format:n,count:i,entry_offset:e+this.start,data_length:h,data_offset:f+this.start,value:c,is_subifd_link:v};if(t(w)===!1){this.aborted=!0;return}e+=12}E===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(e)})},G.exports.ExifParser=A,G.exports.get_orientation=function(E){var e=0;try{return new A(E,0,E.length).each(function(t){if(t.ifd===0&&t.tag===274&&Array.isArray(t.value))return e=t.value[0],!1}),e}catch{return-1}}}}),lB=Ge({\"node_modules/probe-image-size/lib/parse_sync/avif.js\"(Z,G){\"use strict\";var d=ac().str2arr,_=ac().sliceEq,A=ac().readUInt32BE,E=sB(),e=y3(),t=d(\"ftyp\");G.exports=function(r){if(_(r,4,t)){var o=E.unbox(r,0);if(o){var a=E.getMimeType(o.data);if(a){for(var n,i=o.end;;){var s=E.unbox(r,i);if(!s)break;if(i=s.end,s.boxtype===\"mdat\")return;if(s.boxtype===\"meta\"){n=s.data;break}}if(n){var h=E.readSizeFromMeta(n);if(h){var f={width:h.width,height:h.height,type:a.type,mime:a.mime,wUnits:\"px\",hUnits:\"px\"};if(h.variants.length>1&&(f.variants=h.variants),h.orientation&&(f.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=r.length){var v=A(r,h.exif_location.offset),c=r.slice(h.exif_location.offset+v+4,h.exif_location.offset+h.exif_location.length),T=e.get_orientation(c);T>0&&(f.orientation=T)}return f}}}}}}}}),uB=Ge({\"node_modules/probe-image-size/lib/parse_sync/bmp.js\"(Z,G){\"use strict\";var d=ac().str2arr,_=ac().sliceEq,A=ac().readUInt16LE,E=d(\"BM\");G.exports=function(e){if(!(e.length<26)&&_(e,0,E))return{width:A(e,18),height:A(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}}}),cB=Ge({\"node_modules/probe-image-size/lib/parse_sync/gif.js\"(Z,G){\"use strict\";var d=ac().str2arr,_=ac().sliceEq,A=ac().readUInt16LE,E=d(\"GIF87a\"),e=d(\"GIF89a\");G.exports=function(t){if(!(t.length<10)&&!(!_(t,0,E)&&!_(t,0,e)))return{width:A(t,6),height:A(t,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}}}),fB=Ge({\"node_modules/probe-image-size/lib/parse_sync/ico.js\"(Z,G){\"use strict\";var d=ac().readUInt16LE,_=0,A=1,E=16;G.exports=function(e){var t=d(e,0),r=d(e,2),o=d(e,4);if(!(t!==_||r!==A||!o)){for(var a=[],n={width:0,height:0},i=0;in.width||h>n.height)&&(n=f)}return{width:n.width,height:n.height,variants:a,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}}}),hB=Ge({\"node_modules/probe-image-size/lib/parse_sync/jpeg.js\"(Z,G){\"use strict\";var d=ac().readUInt16BE,_=ac().str2arr,A=ac().sliceEq,E=y3(),e=_(\"Exif\\0\\0\");G.exports=function(t){if(!(t.length<2)&&!(t[0]!==255||t[1]!==216||t[2]!==255))for(var r=2;;){for(;;){if(t.length-r<2)return;if(t[r++]===255)break}for(var o=t[r++],a;o===255;)o=t[r++];if(208<=o&&o<=217||o===1)a=0;else if(192<=o&&o<=254){if(t.length-r<2)return;a=d(t,r)-2,r+=2}else return;if(o===217||o===218)return;var n;if(o===225&&a>=10&&A(t,r,e)&&(n=E.get_orientation(t.slice(r+6,r+a))),a>=5&&192<=o&&o<=207&&o!==196&&o!==200&&o!==204){if(t.length-r0&&(i.orientation=n),i}r+=a}}}}),pB=Ge({\"node_modules/probe-image-size/lib/parse_sync/png.js\"(Z,G){\"use strict\";var d=ac().str2arr,_=ac().sliceEq,A=ac().readUInt32BE,E=d(`\\x89PNG\\r\n\u001a\n`),e=d(\"IHDR\");G.exports=function(t){if(!(t.length<24)&&_(t,0,E)&&_(t,12,e))return{width:A(t,16),height:A(t,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}}}),dB=Ge({\"node_modules/probe-image-size/lib/parse_sync/psd.js\"(Z,G){\"use strict\";var d=ac().str2arr,_=ac().sliceEq,A=ac().readUInt32BE,E=d(\"8BPS\\0\u0001\");G.exports=function(e){if(!(e.length<22)&&_(e,0,E))return{width:A(e,18),height:A(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}}}),vB=Ge({\"node_modules/probe-image-size/lib/parse_sync/svg.js\"(Z,G){\"use strict\";function d(s){return s===32||s===9||s===13||s===10}function _(s){return typeof s==\"number\"&&isFinite(s)&&s>0}function A(s){var h=0,f=s.length;for(s[0]===239&&s[1]===187&&s[2]===191&&(h=3);h]*>/,e=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,r=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,o=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,a=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function n(s){var h=s.match(t),f=s.match(r),v=s.match(o);return{width:h&&(h[1]||h[2]),height:f&&(f[1]||f[2]),viewbox:v&&(v[1]||v[2])}}function i(s){return a.test(s)?s.match(a)[0]:\"px\"}G.exports=function(s){if(A(s)){for(var h=\"\",f=0;f>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function n(i,s){return{width:(i[s+6]<<16|i[s+5]<<8|i[s+4])+1,height:(i[s+9]<i.length)){for(;s+8=10?h=h||o(i,s+8):c===\"VP8L\"&&T>=9?h=h||a(i,s+8):c===\"VP8X\"&&T>=10?h=h||n(i,s+8):c===\"EXIF\"&&(f=e.get_orientation(i.slice(s+8,s+8+T)),s=1/0),s+=8+T}if(h)return f>0&&(h.orientation=f),h}}}}}),yB=Ge({\"node_modules/probe-image-size/lib/parsers_sync.js\"(Z,G){\"use strict\";G.exports={avif:lB(),bmp:uB(),gif:cB(),ico:fB(),jpeg:hB(),png:pB(),psd:dB(),svg:vB(),tiff:mB(),webp:gB()}}}),_B=Ge({\"node_modules/probe-image-size/sync.js\"(Z,G){\"use strict\";var d=yB();function _(A){for(var E=Object.keys(d),e=0;e0;)D=h.c2p(M+B*u),B--;for(B=0;z===void 0&&B0;)F=f.c2p(m+B*g),B--;if(DV[0];if(Y||ee){var q=y+P/2,se=z+U/2;ce+=\"transform:\"+A(q+\"px\",se+\"px\")+\"scale(\"+(Y?-1:1)+\",\"+(ee?-1:1)+\")\"+A(-q+\"px\",-se+\"px\")+\";\"}}ue.attr(\"style\",ce);var ae=new Promise(function(j){if(x._hasZ)j();else if(x._hasSource)if(x._canvas&&x._canvas.el.width===b&&x._canvas.el.height===p&&x._canvas.source===x.source)j();else{var Q=document.createElement(\"canvas\");Q.width=b,Q.height=p;var re=Q.getContext(\"2d\",{willReadFrequently:!0});x._image=x._image||new Image;var pe=x._image;pe.onload=function(){re.drawImage(pe,0,0),x._canvas={el:Q,source:x.source},j()},pe.setAttribute(\"src\",x.source)}}).then(function(){var j,Q;if(x._hasZ)Q=$(function(we,Se){var Ie=S[Se][we];return _.isTypedArray(Ie)&&(Ie=Array.from(Ie)),Ie}),j=Q.toDataURL(\"image/png\");else if(x._hasSource)if(w)j=x.source;else{var re=x._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),pe=re.getImageData(0,0,b,p).data;Q=$(function(we,Se){var Ie=4*(Se*b+we);return[pe[Ie],pe[Ie+1],pe[Ie+2],pe[Ie+3]]}),j=Q.toDataURL(\"image/png\")}ue.attr({\"xlink:href\":j,height:U,width:P,x:y,y:z})});a._promises.push(ae)})}}}),TB=Ge({\"src/traces/image/style.js\"(Z,G){\"use strict\";var d=Vn();G.exports=function(A){d.select(A).selectAll(\".im image\").style(\"opacity\",function(E){return E[0].trace.opacity})}}}),AB=Ge({\"src/traces/image/hover.js\"(Z,G){\"use strict\";var d=Hc(),_=sa(),A=_.isArrayOrTypedArray,E=v1();G.exports=function(t,r,o){var a=t.cd[0],n=a.trace,i=t.xa,s=t.ya;if(!(d.inbox(r-a.x0,r-(a.x0+a.w*n.dx),0)>0||d.inbox(o-a.y0,o-(a.y0+a.h*n.dy),0)>0)){var h=Math.floor((r-a.x0)/n.dx),f=Math.floor(Math.abs(o-a.y0)/n.dy),v;if(n._hasZ?v=a.z[f][h]:n._hasSource&&(v=n._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(h,f,1,1).data),!!v){var c=a.hi||n.hoverinfo,T;if(c){var l=c.split(\"+\");l.indexOf(\"all\")!==-1&&(l=[\"color\"]),l.indexOf(\"color\")!==-1&&(T=!0)}var x=E.colormodel[n.colormodel],w=x.colormodel||n.colormodel,S=w.length,M=n._scaler(v),m=x.suffix,b=[];(n.hovertemplate||T)&&(b.push(\"[\"+[M[0]+m[0],M[1]+m[1],M[2]+m[2]].join(\", \")),S===4&&b.push(\", \"+M[3]+m[3]),b.push(\"]\"),b=b.join(\"\"),t.extraText=w.toUpperCase()+\": \"+b);var p;A(n.hovertext)&&A(n.hovertext[f])?p=n.hovertext[f][h]:A(n.text)&&A(n.text[f])&&(p=n.text[f][h]);var u=s.c2p(a.y0+(f+.5)*n.dy),g=a.x0+(h+.5)*n.dx,y=a.y0+(f+.5)*n.dy,D=\"[\"+v.slice(0,n.colormodel.length).join(\", \")+\"]\";return[_.extendFlat(t,{index:[f,h],x0:i.c2p(a.x0+h*n.dx),x1:i.c2p(a.x0+(h+1)*n.dx),y0:u,y1:u,color:M,xVal:g,xLabelVal:g,yVal:y,yLabelVal:y,zLabelVal:D,text:p,hovertemplateLabels:{zLabel:D,colorLabel:b,\"color[0]Label\":M[0]+m[0],\"color[1]Label\":M[1]+m[1],\"color[2]Label\":M[2]+m[2],\"color[3]Label\":M[3]+m[3]}})]}}}}}),SB=Ge({\"src/traces/image/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A){return\"xVal\"in A&&(_.x=A.xVal),\"yVal\"in A&&(_.y=A.yVal),A.xa&&(_.xaxis=A.xa),A.ya&&(_.yaxis=A.ya),_.color=A.color,_.colormodel=A.trace.colormodel,_.z||(_.z=A.color),_}}}),MB=Ge({\"src/traces/image/index.js\"(Z,G){\"use strict\";G.exports={attributes:DS(),supplyDefaults:lO(),calc:bB(),plot:wB(),style:TB(),hoverPoints:AB(),eventData:SB(),moduleType:\"trace\",name:\"image\",basePlotModule:Kf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}}}),EB=Ge({\"lib/image.js\"(Z,G){\"use strict\";G.exports=MB()}}),og=Ge({\"src/traces/pie/attributes.js\"(Z,G){\"use strict\";var d=au(),_=wc().attributes,A=tc(),E=sh(),{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=$l(),o=rs().extendFlat,a=Gh().pattern,n=A({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});G.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:E.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:a,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:o({},d.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:e({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),hovertemplatefallback:r(),texttemplate:t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplatefallback:r({editType:\"plot\"}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:o({},n,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:o({},n,{}),outsidetextfont:o({},n,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:o({},d.showlegend,{arrayOk:!0}),legend:o({},d.legend,{arrayOk:!0}),legendrank:o({},d.legendrank,{arrayOk:!0}),title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:o({},n,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:_({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:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}}}}),sg=Ge({\"src/traces/pie/defaults.js\"(Z,G){\"use strict\";var d=ns(),_=sa(),A=og(),E=wc().defaults,e=gd().handleText,t=sa().coercePattern;function r(n,i){var s=_.isArrayOrTypedArray(n),h=_.isArrayOrTypedArray(i),f=Math.min(s?n.length:1/0,h?i.length:1/0);if(isFinite(f)||(f=0),f&&h){for(var v,c=0;c0){v=!0;break}}v||(f=0)}return{hasLabels:s,hasValues:h,len:f}}function o(n,i,s,h,f){var v=h(\"marker.line.width\");v&&h(\"marker.line.color\",f?void 0:s.paper_bgcolor);var c=h(\"marker.colors\");t(h,\"marker.pattern\",c),n.marker&&!i.marker.pattern.fgcolor&&(i.marker.pattern.fgcolor=n.marker.colors),i.marker.pattern.bgcolor||(i.marker.pattern.bgcolor=s.paper_bgcolor)}function a(n,i,s,h){function f(y,D){return _.coerce(n,i,A,y,D)}var v=f(\"labels\"),c=f(\"values\"),T=r(v,c),l=T.len;if(i._hasLabels=T.hasLabels,i._hasValues=T.hasValues,!i._hasLabels&&i._hasValues&&(f(\"label0\"),f(\"dlabel\")),!l){i.visible=!1;return}i._length=l,o(n,i,h,f,!0),f(\"scalegroup\");var x=f(\"text\"),w=f(\"texttemplate\");f(\"texttemplatefallback\");var S;if(w||(S=f(\"textinfo\",_.isArrayOrTypedArray(x)?\"text+percent\":\"percent\")),f(\"hovertext\"),f(\"hovertemplate\"),f(\"hovertemplatefallback\"),w||S&&S!==\"none\"){var M=f(\"textposition\");e(n,i,h,f,M,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var m=Array.isArray(M)||M===\"auto\",b=m||M===\"outside\";b&&f(\"automargin\"),(M===\"inside\"||M===\"auto\"||Array.isArray(M))&&f(\"insidetextorientation\")}else S===\"none\"&&f(\"textposition\",\"none\");E(i,h,f);var p=f(\"hole\"),u=f(\"title.text\");if(u){var g=f(\"title.position\",p?\"middle center\":\"top center\");!p&&g===\"middle center\"&&(i.title.position=\"top center\"),_.coerceFont(f,\"title.font\",h.font)}f(\"sort\"),f(\"direction\"),f(\"rotation\"),f(\"pull\")}G.exports={handleLabelsAndValues:r,handleMarkerDefaults:o,supplyDefaults:a}}}),_3=Ge({\"src/traces/pie/layout_attributes.js\"(Z,G){\"use strict\";G.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),kB=Ge({\"src/traces/pie/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=_3();G.exports=function(E,e){function t(r,o){return d.coerce(E,e,_,r,o)}t(\"hiddenlabels\"),t(\"piecolorway\",e.colorway),t(\"extendpiecolors\")}}}),x1=Ge({\"src/traces/pie/calc.js\"(Z,G){\"use strict\";var d=ns(),_=Ch(),A=$n(),E={};function e(a,n){var i=[],s=a._fullLayout,h=s.hiddenlabels||[],f=n.labels,v=n.marker.colors||[],c=n.values,T=n._length,l=n._hasValues&&T,x,w;if(n.dlabel)for(f=new Array(T),x=0;x=0});var D=n.type===\"funnelarea\"?b:n.sort;return D&&i.sort(function(L,z){return z.v-L.v}),i[0]&&(i[0].vTotal=m),i}function t(a){return function(i,s){return!i||(i=_(i),!i.isValid())?!1:(i=A.addOpacity(i,i.getAlpha()),a[s]||(a[s]=i),i)}}function r(a,n){var i=(n||{}).type;i||(i=\"pie\");var s=a._fullLayout,h=a.calcdata,f=s[i+\"colorway\"],v=s[\"_\"+i+\"colormap\"];s[\"extend\"+i+\"colors\"]&&(f=o(f,E));for(var c=0,T=0;T0&&(Ze+=kt*ne.pxmid[0],rt+=kt*ne.pxmid[1])}ne.cxFinal=Ze,ne.cyFinal=rt;function qt(xt,Oe,Ke,Ae){var Le=Ae*(Oe[0]-xt[0]),We=Ae*(Oe[1]-xt[1]);return\"a\"+Ae*pe.r+\",\"+Ae*pe.r+\" 0 \"+ne.largeArc+(Ke?\" 1 \":\" 0 \")+Le+\",\"+We}var Gt=we.hole;if(ne.v===pe.vTotal){var Tr=\"M\"+(Ze+ne.px0[0])+\",\"+(rt+ne.px0[1])+qt(ne.px0,ne.pxmid,!0,1)+qt(ne.pxmid,ne.px0,!0,1)+\"Z\";Gt?St.attr(\"d\",\"M\"+(Ze+Gt*ne.px0[0])+\",\"+(rt+Gt*ne.px0[1])+qt(ne.px0,ne.pxmid,!1,Gt)+qt(ne.pxmid,ne.px0,!1,Gt)+\"Z\"+Tr):St.attr(\"d\",Tr)}else{var mr=qt(ne.px0,ne.px1,!0,1);if(Gt){var qr=1-Gt;St.attr(\"d\",\"M\"+(Ze+Gt*ne.px1[0])+\",\"+(rt+Gt*ne.px1[1])+qt(ne.px1,ne.px0,!1,Gt)+\"l\"+qr*ne.px0[0]+\",\"+qr*ne.px0[1]+mr+\"Z\")}else St.attr(\"d\",\"M\"+Ze+\",\"+rt+\"l\"+ne.px0[0]+\",\"+ne.px0[1]+mr+\"Z\")}de(Y,ne,pe);var Er=f.castOption(we.textposition,ne.pts),Dr=Ye.selectAll(\"g.slicetext\").data(ne.text&&Er!==\"none\"?[0]:[]);Dr.enter().append(\"g\").classed(\"slicetext\",!0),Dr.exit().remove(),Dr.each(function(){var xt=t.ensureSingle(d.select(this),\"text\",\"\",function(ot){ot.attr(\"data-notex\",1)}),Oe=t.ensureUniformFontSize(Y,Er===\"outside\"?w(we,ne,se.font):S(we,ne,se.font));xt.text(ne.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(e.font,Oe).call(a.convertToTspans,Y);var Ke=e.bBox(xt.node()),Ae;if(Er===\"outside\")Ae=z(Ke,ne);else if(Ae=m(Ke,ne,pe),Er===\"auto\"&&Ae.scale<1){var Le=t.ensureUniformFontSize(Y,we.outsidetextfont);xt.call(e.font,Le),Ke=e.bBox(xt.node()),Ae=z(Ke,ne)}var We=Ae.textPosAngle,Je=We===void 0?ne.pxmid:ce(pe.r,We);if(Ae.targetX=Ze+Je[0]*Ae.rCenter+(Ae.x||0),Ae.targetY=rt+Je[1]*Ae.rCenter+(Ae.y||0),V(Ae,Ke),Ae.outside){var st=Ae.targetY;ne.yLabelMin=st-Ke.height/2,ne.yLabelMid=st,ne.yLabelMax=st+Ke.height/2,ne.labelExtraX=0,ne.labelExtraY=0,Re=!0}Ae.fontSize=Oe.size,i(we.type,Ae,se),Q[Ce].transform=Ae,t.setTransormAndDisplay(xt,Ae)})});var He=d.select(this).selectAll(\"g.titletext\").data(we.title.text?[0]:[]);if(He.enter().append(\"g\").classed(\"titletext\",!0),He.exit().remove(),He.each(function(){var ne=t.ensureSingle(d.select(this),\"text\",\"\",function(rt){rt.attr(\"data-notex\",1)}),Ce=we.title.text;we._meta&&(Ce=t.templateString(Ce,we._meta)),ne.text(Ce).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(e.font,we.title.font).call(a.convertToTspans,Y);var Ze;we.title.position===\"middle center\"?Ze=F(pe):Ze=B(pe,ae),ne.attr(\"transform\",o(Ze.x,Ze.y)+r(Math.min(1,Ze.scale))+o(Ze.tx,Ze.ty))}),Re&&N(Ie,we),l(Se,we),Re&&we.automargin){var at=e.bBox(re.node()),nt=we.domain,tt=ae.w*(nt.x[1]-nt.x[0]),Ue=ae.h*(nt.y[1]-nt.y[0]),he=(.5*tt-pe.r)/ae.w,le=(.5*Ue-pe.r)/ae.h;_.autoMargin(Y,\"pie.\"+we.uid+\".automargin\",{xl:nt.x[0]-he,xr:nt.x[1]+he,yb:nt.y[0]-le,yt:nt.y[1]+le,l:Math.max(pe.cx-pe.r-at.left,0),r:Math.max(at.right-(pe.cx+pe.r),0),b:Math.max(at.bottom-(pe.cy+pe.r),0),t:Math.max(pe.cy-pe.r-at.top,0),pad:5})}})});setTimeout(function(){j.selectAll(\"tspan\").each(function(){var Q=d.select(this);Q.attr(\"dy\")&&Q.attr(\"dy\",Q.attr(\"dy\"))})},0)}function l(Y,ee){Y.each(function(q){var se=d.select(this);if(!q.labelExtraX&&!q.labelExtraY){se.select(\"path.textline\").remove();return}var ae=se.select(\"g.slicetext text\");q.transform.targetX+=q.labelExtraX,q.transform.targetY+=q.labelExtraY,t.setTransormAndDisplay(ae,q.transform);var j=q.cxFinal+q.pxmid[0],Q=q.cyFinal+q.pxmid[1],re=\"M\"+j+\",\"+Q,pe=(q.yLabelMax-q.yLabelMin)*(q.pxmid[0]<0?-1:1)/4;if(q.labelExtraX){var we=q.labelExtraX*q.pxmid[1]/q.pxmid[0],Se=q.yLabelMid+q.labelExtraY-(q.cyFinal+q.pxmid[1]);Math.abs(we)>Math.abs(Se)?re+=\"l\"+Se*q.pxmid[0]/q.pxmid[1]+\",\"+Se+\"H\"+(j+q.labelExtraX+pe):re+=\"l\"+q.labelExtraX+\",\"+we+\"v\"+(Se-we)+\"h\"+pe}else re+=\"V\"+(q.yLabelMid+q.labelExtraY)+\"h\"+pe;t.ensureSingle(se,\"path\",\"textline\").call(E.stroke,ee.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,ee.outsidetextfont.size/8),d:re,fill:\"none\"})})}function x(Y,ee,q){var se=q[0],ae=se.cx,j=se.cy,Q=se.trace,re=Q.type===\"funnelarea\";\"_hasHoverLabel\"in Q||(Q._hasHoverLabel=!1),\"_hasHoverEvent\"in Q||(Q._hasHoverEvent=!1),Y.on(\"mouseover\",function(pe){var we=ee._fullLayout,Se=ee._fullData[Q.index];if(!(ee._dragging||we.hovermode===!1)){var Ie=Se.hoverinfo;if(Array.isArray(Ie)&&(Ie=A.castHoverinfo({hoverinfo:[f.castOption(Ie,pe.pts)],_module:Q._module},we,0)),Ie===\"all\"&&(Ie=\"label+text+value+percent+name\"),Se.hovertemplate||Ie!==\"none\"&&Ie!==\"skip\"&&Ie){var Re=pe.rInscribed||0,He=ae+pe.pxmid[0]*(1-Re),at=j+pe.pxmid[1]*(1-Re),nt=we.separators,tt=[];if(Ie&&Ie.indexOf(\"label\")!==-1&&tt.push(pe.label),pe.text=f.castOption(Se.hovertext||Se.text,pe.pts),Ie&&Ie.indexOf(\"text\")!==-1){var Ue=pe.text;t.isValidTextValue(Ue)&&tt.push(Ue)}pe.value=pe.v,pe.valueLabel=f.formatPieValue(pe.v,nt),Ie&&Ie.indexOf(\"value\")!==-1&&tt.push(pe.valueLabel),pe.percent=pe.v/se.vTotal,pe.percentLabel=f.formatPiePercent(pe.percent,nt),Ie&&Ie.indexOf(\"percent\")!==-1&&tt.push(pe.percentLabel);var he=Se.hoverlabel,le=he.font,ne=[];A.loneHover({trace:Q,x0:He-Re*se.r,x1:He+Re*se.r,y:at,_x0:re?ae+pe.TL[0]:He-Re*se.r,_x1:re?ae+pe.TR[0]:He+Re*se.r,_y0:re?j+pe.TL[1]:at-Re*se.r,_y1:re?j+pe.BL[1]:at+Re*se.r,text:tt.join(\"
\"),name:Se.hovertemplate||Ie.indexOf(\"name\")!==-1?Se.name:void 0,idealAlign:pe.pxmid[0]<0?\"left\":\"right\",color:f.castOption(he.bgcolor,pe.pts)||pe.color,borderColor:f.castOption(he.bordercolor,pe.pts),fontFamily:f.castOption(le.family,pe.pts),fontSize:f.castOption(le.size,pe.pts),fontColor:f.castOption(le.color,pe.pts),nameLength:f.castOption(he.namelength,pe.pts),textAlign:f.castOption(he.align,pe.pts),hovertemplate:f.castOption(Se.hovertemplate,pe.pts),hovertemplateLabels:pe,eventData:[v(pe,Se)]},{container:we._hoverlayer.node(),outerContainer:we._paper.node(),gd:ee,inOut_bbox:ne}),pe.bbox=ne[0],Q._hasHoverLabel=!0}Q._hasHoverEvent=!0,ee.emit(\"plotly_hover\",{points:[v(pe,Se)],event:d.event})}}),Y.on(\"mouseout\",function(pe){var we=ee._fullLayout,Se=ee._fullData[Q.index],Ie=d.select(this).datum();Q._hasHoverEvent&&(pe.originalEvent=d.event,ee.emit(\"plotly_unhover\",{points:[v(Ie,Se)],event:d.event}),Q._hasHoverEvent=!1),Q._hasHoverLabel&&(A.loneUnhover(we._hoverlayer.node()),Q._hasHoverLabel=!1)}),Y.on(\"click\",function(pe){var we=ee._fullLayout,Se=ee._fullData[Q.index];ee._dragging||we.hovermode===!1||(ee._hoverdata=[v(pe,Se)],A.click(ee,d.event))})}function w(Y,ee,q){var se=f.castOption(Y.outsidetextfont.color,ee.pts)||f.castOption(Y.textfont.color,ee.pts)||q.color,ae=f.castOption(Y.outsidetextfont.family,ee.pts)||f.castOption(Y.textfont.family,ee.pts)||q.family,j=f.castOption(Y.outsidetextfont.size,ee.pts)||f.castOption(Y.textfont.size,ee.pts)||q.size,Q=f.castOption(Y.outsidetextfont.weight,ee.pts)||f.castOption(Y.textfont.weight,ee.pts)||q.weight,re=f.castOption(Y.outsidetextfont.style,ee.pts)||f.castOption(Y.textfont.style,ee.pts)||q.style,pe=f.castOption(Y.outsidetextfont.variant,ee.pts)||f.castOption(Y.textfont.variant,ee.pts)||q.variant,we=f.castOption(Y.outsidetextfont.textcase,ee.pts)||f.castOption(Y.textfont.textcase,ee.pts)||q.textcase,Se=f.castOption(Y.outsidetextfont.lineposition,ee.pts)||f.castOption(Y.textfont.lineposition,ee.pts)||q.lineposition,Ie=f.castOption(Y.outsidetextfont.shadow,ee.pts)||f.castOption(Y.textfont.shadow,ee.pts)||q.shadow;return{color:se,family:ae,size:j,weight:Q,style:re,variant:pe,textcase:we,lineposition:Se,shadow:Ie}}function S(Y,ee,q){var se=f.castOption(Y.insidetextfont.color,ee.pts);!se&&Y._input.textfont&&(se=f.castOption(Y._input.textfont.color,ee.pts));var ae=f.castOption(Y.insidetextfont.family,ee.pts)||f.castOption(Y.textfont.family,ee.pts)||q.family,j=f.castOption(Y.insidetextfont.size,ee.pts)||f.castOption(Y.textfont.size,ee.pts)||q.size,Q=f.castOption(Y.insidetextfont.weight,ee.pts)||f.castOption(Y.textfont.weight,ee.pts)||q.weight,re=f.castOption(Y.insidetextfont.style,ee.pts)||f.castOption(Y.textfont.style,ee.pts)||q.style,pe=f.castOption(Y.insidetextfont.variant,ee.pts)||f.castOption(Y.textfont.variant,ee.pts)||q.variant,we=f.castOption(Y.insidetextfont.textcase,ee.pts)||f.castOption(Y.textfont.textcase,ee.pts)||q.textcase,Se=f.castOption(Y.insidetextfont.lineposition,ee.pts)||f.castOption(Y.textfont.lineposition,ee.pts)||q.lineposition,Ie=f.castOption(Y.insidetextfont.shadow,ee.pts)||f.castOption(Y.textfont.shadow,ee.pts)||q.shadow;return{color:se||E.contrast(ee.color),family:ae,size:j,weight:Q,style:re,variant:pe,textcase:we,lineposition:Se,shadow:Ie}}function M(Y,ee){for(var q,se,ae=0;ae=-4;he-=2)Ue(Math.PI*he,\"tan\");for(he=4;he>=-4;he-=2)Ue(Math.PI*(he+1),\"tan\")}if(Ie||He){for(he=4;he>=-4;he-=2)Ue(Math.PI*(he+1.5),\"rad\");for(he=4;he>=-4;he-=2)Ue(Math.PI*(he+.5),\"rad\")}}if(re||at||Ie){var le=Math.sqrt(Y.width*Y.width+Y.height*Y.height);if(tt={scale:ae*se*2/le,rCenter:1-ae,rotate:0},tt.textPosAngle=(ee.startangle+ee.stopangle)/2,tt.scale>=1)return tt;nt.push(tt)}(at||He)&&(tt=p(Y,se,Q,pe,we),tt.textPosAngle=(ee.startangle+ee.stopangle)/2,nt.push(tt)),(at||Re)&&(tt=u(Y,se,Q,pe,we),tt.textPosAngle=(ee.startangle+ee.stopangle)/2,nt.push(tt));for(var ne=0,Ce=0,Ze=0;Ze=1)break}return nt[ne]}function b(Y,ee){var q=Y.startangle,se=Y.stopangle;return q>ee&&ee>se||q0?1:-1)/2,y:j/(1+q*q/(se*se)),outside:!0}}function F(Y){var ee=Math.sqrt(Y.titleBox.width*Y.titleBox.width+Y.titleBox.height*Y.titleBox.height);return{x:Y.cx,y:Y.cy,scale:Y.trace.hole*Y.r*2/ee,tx:0,ty:-Y.titleBox.height/2+Y.trace.title.font.size}}function B(Y,ee){var q=1,se=1,ae,j=Y.trace,Q={x:Y.cx,y:Y.cy},re={tx:0,ty:0};re.ty+=j.title.font.size,ae=U(j),j.title.position.indexOf(\"top\")!==-1?(Q.y-=(1+ae)*Y.r,re.ty-=Y.titleBox.height):j.title.position.indexOf(\"bottom\")!==-1&&(Q.y+=(1+ae)*Y.r);var pe=O(Y.r,Y.trace.aspectratio),we=ee.w*(j.domain.x[1]-j.domain.x[0])/2;return j.title.position.indexOf(\"left\")!==-1?(we=we+pe,Q.x-=(1+ae)*pe,re.tx+=Y.titleBox.width/2):j.title.position.indexOf(\"center\")!==-1?we*=2:j.title.position.indexOf(\"right\")!==-1&&(we=we+pe,Q.x+=(1+ae)*pe,re.tx-=Y.titleBox.width/2),q=we/Y.titleBox.width,se=P(Y,ee)/Y.titleBox.height,{x:Q.x,y:Q.y,scale:Math.min(q,se),tx:re.tx,ty:re.ty}}function O(Y,ee){return Y/(ee===void 0?1:ee)}function P(Y,ee){var q=Y.trace,se=ee.h*(q.domain.y[1]-q.domain.y[0]);return Math.min(Y.titleBox.height,se/2)}function U(Y){var ee=Y.pull;if(!ee)return 0;var q;if(t.isArrayOrTypedArray(ee))for(ee=0,q=0;qee&&(ee=Y.pull[q]);return ee}function N(Y,ee){var q,se,ae,j,Q,re,pe,we,Se,Ie,Re,He,at;function nt(le,ne){return le.pxmid[1]-ne.pxmid[1]}function tt(le,ne){return ne.pxmid[1]-le.pxmid[1]}function Ue(le,ne){ne||(ne={});var Ce=ne.labelExtraY+(se?ne.yLabelMax:ne.yLabelMin),Ze=se?le.yLabelMin:le.yLabelMax,rt=se?le.yLabelMax:le.yLabelMin,Ye=le.cyFinal+Q(le.px0[1],le.px1[1]),St=Ce-Ze,kt,qt,Gt,Tr,mr,qr;if(St*pe>0&&(le.labelExtraY=St),!!t.isArrayOrTypedArray(ee.pull))for(qt=0;qt=(f.castOption(ee.pull,Gt.pts)||0))&&((le.pxmid[1]-Gt.pxmid[1])*pe>0?(Tr=Gt.cyFinal+Q(Gt.px0[1],Gt.px1[1]),St=Tr-Ze-le.labelExtraY,St*pe>0&&(le.labelExtraY+=St)):(rt+le.labelExtraY-Ye)*pe>0&&(kt=3*re*Math.abs(qt-Ie.indexOf(le)),mr=Gt.cxFinal+j(Gt.px0[0],Gt.px1[0]),qr=mr+kt-(le.cxFinal+le.pxmid[0])-le.labelExtraX,qr*re>0&&(le.labelExtraX+=qr)))}for(se=0;se<2;se++)for(ae=se?nt:tt,Q=se?Math.max:Math.min,pe=se?1:-1,q=0;q<2;q++){for(j=q?Math.max:Math.min,re=q?1:-1,we=Y[se][q],we.sort(ae),Se=Y[1-se][q],Ie=Se.concat(we),He=[],Re=0;Re1?(we=q.r,Se=we/ae.aspectratio):(Se=q.r,we=Se*ae.aspectratio),we*=(1+ae.baseratio)/2,pe=we*Se}Q=Math.min(Q,pe/q.vTotal)}for(se=0;seee.vTotal/2?1:0,we.halfangle=Math.PI*Math.min(we.v/ee.vTotal,.5),we.ring=1-se.hole,we.rInscribed=L(we,ee))}function ce(Y,ee){return[Y*Math.sin(ee),-Y*Math.cos(ee)]}function de(Y,ee,q){var se=Y._fullLayout,ae=q.trace,j=ae.texttemplate,Q=ae.textinfo;if(!j&&Q&&Q!==\"none\"){var re=Q.split(\"+\"),pe=function(ne){return re.indexOf(ne)!==-1},we=pe(\"label\"),Se=pe(\"text\"),Ie=pe(\"value\"),Re=pe(\"percent\"),He=se.separators,at;if(at=we?[ee.label]:[],Se){var nt=f.getFirstFilled(ae.text,ee.pts);c(nt)&&at.push(nt)}Ie&&at.push(f.formatPieValue(ee.v,He)),Re&&at.push(f.formatPiePercent(ee.v/q.vTotal,He)),ee.text=at.join(\"
\")}function tt(ne){return{label:ne.label,value:ne.v,valueLabel:f.formatPieValue(ne.v,se.separators),percent:ne.v/q.vTotal,percentLabel:f.formatPiePercent(ne.v/q.vTotal,se.separators),color:ne.color,text:ne.text,customdata:t.castOption(ae,ne.i,\"customdata\")}}if(j){var Ue=t.castOption(ae,ee.i,\"texttemplate\");if(!Ue)ee.text=\"\";else{var he=tt(ee),le=f.getFirstFilled(ae.text,ee.pts);(c(le)||le===\"\")&&(he.text=le),ee.text=t.texttemplateString({data:[he,ae._meta],fallback:ae.texttemplatefallback,labels:he,locale:Y._fullLayout._d3locale,template:Ue})}}}function V(Y,ee){var q=Y.rotate*Math.PI/180,se=Math.cos(q),ae=Math.sin(q),j=(ee.left+ee.right)/2,Q=(ee.top+ee.bottom)/2;Y.textX=j*se-Q*ae,Y.textY=j*ae+Q*se,Y.noCenter=!0}G.exports={plot:T,formatSliceLabel:de,transformInsideText:m,determineInsideTextFont:S,positionTitleOutside:B,prerenderTitles:M,layoutAreas:X,attachFxHandlers:x,computeTransform:V}}}),LB=Ge({\"src/traces/pie/style.js\"(Z,G){\"use strict\";var d=Vn(),_=i1(),A=Sp().resizeText;G.exports=function(e){var t=e._fullLayout._pielayer.selectAll(\".trace\");A(e,t,\"pie\"),t.each(function(r){var o=r[0],a=o.trace,n=d.select(this);n.style({opacity:a.opacity}),n.selectAll(\"path.surface\").each(function(i){d.select(this).call(_,i,a,e)})})}}}),PB=Ge({\"src/traces/pie/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"pie\",Z.plot=function(d,_,A,E){G.plotBasePlot(Z.name,d,_,A,E)},Z.clean=function(d,_,A,E){G.cleanBasePlot(Z.name,d,_,A,E)}}}),IB=Ge({\"src/traces/pie/index.js\"(Z,G){\"use strict\";G.exports={attributes:og(),supplyDefaults:sg().supplyDefaults,supplyLayoutDefaults:kB(),layoutAttributes:_3(),calc:x1().calc,crossTraceCalc:x1().crossTraceCalc,plot:x3().plot,style:LB(),styleOne:i1(),moduleType:\"trace\",name:\"pie\",basePlotModule:PB(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}}}),RB=Ge({\"lib/pie.js\"(Z,G){\"use strict\";G.exports=IB()}}),DB=Ge({\"src/traces/sunburst/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"sunburst\",Z.plot=function(d,_,A,E){G.plotBasePlot(Z.name,d,_,A,E)},Z.clean=function(d,_,A,E){G.cleanBasePlot(Z.name,d,_,A,E)}}}),nM=Ge({\"src/traces/sunburst/constants.js\"(Z,G){\"use strict\";G.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}}}),J_=Ge({\"src/traces/sunburst/attributes.js\"(Z,G){\"use strict\";var d=au(),{hovertemplateAttrs:_,texttemplateAttrs:A,templatefallbackAttrs:E}=$l(),e=ku(),t=wc().attributes,r=og(),o=nM(),a=rs().extendFlat,n=Gh().pattern;G.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:a({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:a({},r.marker.line.color,{dflt:null}),width:a({},r.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:n,editType:\"calc\"},e(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:r.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:A({editType:\"plot\"},{keys:o.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:E({editType:\"plot\"}),hovertext:r.hovertext,hoverinfo:a({},d.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:_({},{keys:o.eventDataKeys}),hovertemplatefallback:E(),textfont:r.textfont,insidetextorientation:r.insidetextorientation,insidetextfont:r.insidetextfont,outsidetextfont:a({},r.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:r.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:t({name:\"sunburst\",trace:!0,editType:\"calc\"})}}}),oM=Ge({\"src/traces/sunburst/layout_attributes.js\"(Z,G){\"use strict\";G.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),zB=Ge({\"src/traces/sunburst/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=J_(),A=wc().defaults,E=gd().handleText,e=sg().handleMarkerDefaults,t=rc(),r=t.hasColorscale,o=t.handleDefaults;G.exports=function(n,i,s,h){function f(S,M){return d.coerce(n,i,_,S,M)}var v=f(\"labels\"),c=f(\"parents\");if(!v||!v.length||!c||!c.length){i.visible=!1;return}var T=f(\"values\");T&&T.length?f(\"branchvalues\"):f(\"count\"),f(\"level\"),f(\"maxdepth\"),e(n,i,h,f);var l=i._hasColorscale=r(n,\"marker\",\"colors\")||(n.marker||{}).coloraxis;l&&o(n,i,h,f,{prefix:\"marker.\",cLetter:\"c\"}),f(\"leaf.opacity\",l?1:.7);var x=f(\"text\");f(\"texttemplate\"),f(\"texttemplatefallback\"),i.texttemplate||f(\"textinfo\",d.isArrayOrTypedArray(x)?\"text+label\":\"label\"),f(\"hovertext\"),f(\"hovertemplate\"),f(\"hovertemplatefallback\");var w=\"auto\";E(n,i,h,f,w,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f(\"insidetextorientation\"),f(\"sort\"),f(\"rotation\"),f(\"root.color\"),A(i,h,f),i._length=null}}}),FB=Ge({\"src/traces/sunburst/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=oM();G.exports=function(E,e){function t(r,o){return d.coerce(E,e,_,r,o)}t(\"sunburstcolorway\",e.colorway),t(\"extendsunburstcolors\")}}}),$_=Ge({\"node_modules/d3-hierarchy/dist/d3-hierarchy.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z):(d=d||self,_(d.d3=d.d3||{}))})(Z,function(d){\"use strict\";function _(Ae,Le){return Ae.parent===Le.parent?1:2}function A(Ae){return Ae.reduce(E,0)/Ae.length}function E(Ae,Le){return Ae+Le.x}function e(Ae){return 1+Ae.reduce(t,0)}function t(Ae,Le){return Math.max(Ae,Le.y)}function r(Ae){for(var Le;Le=Ae.children;)Ae=Le[0];return Ae}function o(Ae){for(var Le;Le=Ae.children;)Ae=Le[Le.length-1];return Ae}function a(){var Ae=_,Le=1,We=1,Je=!1;function st(ot){var Ut,Ct=0;ot.eachAfter(function(sr){var Pr=sr.children;Pr?(sr.x=A(Pr),sr.y=e(Pr)):(sr.x=Ut?Ct+=Ae(sr,Ut):0,sr.y=0,Ut=sr)});var Pt=r(ot),Nt=o(ot),cr=Pt.x-Ae(Pt,Nt)/2,lr=Nt.x+Ae(Nt,Pt)/2;return ot.eachAfter(Je?function(sr){sr.x=(sr.x-ot.x)*Le,sr.y=(ot.y-sr.y)*We}:function(sr){sr.x=(sr.x-cr)/(lr-cr)*Le,sr.y=(1-(ot.y?sr.y/ot.y:1))*We})}return st.separation=function(ot){return arguments.length?(Ae=ot,st):Ae},st.size=function(ot){return arguments.length?(Je=!1,Le=+ot[0],We=+ot[1],st):Je?null:[Le,We]},st.nodeSize=function(ot){return arguments.length?(Je=!0,Le=+ot[0],We=+ot[1],st):Je?[Le,We]:null},st}function n(Ae){var Le=0,We=Ae.children,Je=We&&We.length;if(!Je)Le=1;else for(;--Je>=0;)Le+=We[Je].value;Ae.value=Le}function i(){return this.eachAfter(n)}function s(Ae){var Le=this,We,Je=[Le],st,ot,Ut;do for(We=Je.reverse(),Je=[];Le=We.pop();)if(Ae(Le),st=Le.children,st)for(ot=0,Ut=st.length;ot=0;--st)We.push(Je[st]);return this}function f(Ae){for(var Le=this,We=[Le],Je=[],st,ot,Ut;Le=We.pop();)if(Je.push(Le),st=Le.children,st)for(ot=0,Ut=st.length;ot=0;)We+=Je[st].value;Le.value=We})}function c(Ae){return this.eachBefore(function(Le){Le.children&&Le.children.sort(Ae)})}function T(Ae){for(var Le=this,We=l(Le,Ae),Je=[Le];Le!==We;)Le=Le.parent,Je.push(Le);for(var st=Je.length;Ae!==We;)Je.splice(st,0,Ae),Ae=Ae.parent;return Je}function l(Ae,Le){if(Ae===Le)return Ae;var We=Ae.ancestors(),Je=Le.ancestors(),st=null;for(Ae=We.pop(),Le=Je.pop();Ae===Le;)st=Ae,Ae=We.pop(),Le=Je.pop();return st}function x(){for(var Ae=this,Le=[Ae];Ae=Ae.parent;)Le.push(Ae);return Le}function w(){var Ae=[];return this.each(function(Le){Ae.push(Le)}),Ae}function S(){var Ae=[];return this.eachBefore(function(Le){Le.children||Ae.push(Le)}),Ae}function M(){var Ae=this,Le=[];return Ae.each(function(We){We!==Ae&&Le.push({source:We.parent,target:We})}),Le}function m(Ae,Le){var We=new y(Ae),Je=+Ae.value&&(We.value=Ae.value),st,ot=[We],Ut,Ct,Pt,Nt;for(Le==null&&(Le=p);st=ot.pop();)if(Je&&(st.value=+st.data.value),(Ct=Le(st.data))&&(Nt=Ct.length))for(st.children=new Array(Nt),Pt=Nt-1;Pt>=0;--Pt)ot.push(Ut=st.children[Pt]=new y(Ct[Pt])),Ut.parent=st,Ut.depth=st.depth+1;return We.eachBefore(g)}function b(){return m(this).eachBefore(u)}function p(Ae){return Ae.children}function u(Ae){Ae.data=Ae.data.data}function g(Ae){var Le=0;do Ae.height=Le;while((Ae=Ae.parent)&&Ae.height<++Le)}function y(Ae){this.data=Ae,this.depth=this.height=0,this.parent=null}y.prototype=m.prototype={constructor:y,count:i,each:s,eachAfter:f,eachBefore:h,sum:v,sort:c,path:T,ancestors:x,descendants:w,leaves:S,links:M,copy:b};var D=Array.prototype.slice;function L(Ae){for(var Le=Ae.length,We,Je;Le;)Je=Math.random()*Le--|0,We=Ae[Le],Ae[Le]=Ae[Je],Ae[Je]=We;return Ae}function z(Ae){for(var Le=0,We=(Ae=L(D.call(Ae))).length,Je=[],st,ot;Le0&&We*We>Je*Je+st*st}function P(Ae,Le){for(var We=0;WePt?(st=(Nt+Pt-ot)/(2*Nt),Ct=Math.sqrt(Math.max(0,Pt/Nt-st*st)),We.x=Ae.x-st*Je-Ct*Ut,We.y=Ae.y-st*Ut+Ct*Je):(st=(Nt+ot-Pt)/(2*Nt),Ct=Math.sqrt(Math.max(0,ot/Nt-st*st)),We.x=Le.x+st*Je-Ct*Ut,We.y=Le.y+st*Ut+Ct*Je)):(We.x=Le.x+We.r,We.y=Le.y)}function ce(Ae,Le){var We=Ae.r+Le.r-1e-6,Je=Le.x-Ae.x,st=Le.y-Ae.y;return We>0&&We*We>Je*Je+st*st}function de(Ae){var Le=Ae._,We=Ae.next._,Je=Le.r+We.r,st=(Le.x*We.r+We.x*Le.r)/Je,ot=(Le.y*We.r+We.y*Le.r)/Je;return st*st+ot*ot}function V(Ae){this._=Ae,this.next=null,this.previous=null}function Y(Ae){if(!(st=Ae.length))return 0;var Le,We,Je,st,ot,Ut,Ct,Pt,Nt,cr,lr;if(Le=Ae[0],Le.x=0,Le.y=0,!(st>1))return Le.r;if(We=Ae[1],Le.x=-We.r,We.x=Le.r,We.y=0,!(st>2))return Le.r+We.r;ue(We,Le,Je=Ae[2]),Le=new V(Le),We=new V(We),Je=new V(Je),Le.next=Je.previous=We,We.next=Le.previous=Je,Je.next=We.previous=Le;e:for(Ct=3;Ct0)throw new Error(\"cycle\");return Ct}return We.id=function(Je){return arguments.length?(Ae=se(Je),We):Ae},We.parentId=function(Je){return arguments.length?(Le=se(Je),We):Le},We}function ne(Ae,Le){return Ae.parent===Le.parent?1:2}function Ce(Ae){var Le=Ae.children;return Le?Le[0]:Ae.t}function Ze(Ae){var Le=Ae.children;return Le?Le[Le.length-1]:Ae.t}function rt(Ae,Le,We){var Je=We/(Le.i-Ae.i);Le.c-=Je,Le.s+=We,Ae.c+=Je,Le.z+=We,Le.m+=We}function Ye(Ae){for(var Le=0,We=0,Je=Ae.children,st=Je.length,ot;--st>=0;)ot=Je[st],ot.z+=Le,ot.m+=Le,Le+=ot.s+(We+=ot.c)}function St(Ae,Le,We){return Ae.a.parent===Le.parent?Ae.a:We}function kt(Ae,Le){this._=Ae,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=Le}kt.prototype=Object.create(y.prototype);function qt(Ae){for(var Le=new kt(Ae,0),We,Je=[Le],st,ot,Ut,Ct;We=Je.pop();)if(ot=We._.children)for(We.children=new Array(Ct=ot.length),Ut=Ct-1;Ut>=0;--Ut)Je.push(st=We.children[Ut]=new kt(ot[Ut],Ut)),st.parent=We;return(Le.parent=new kt(null,0)).children=[Le],Le}function Gt(){var Ae=ne,Le=1,We=1,Je=null;function st(Nt){var cr=qt(Nt);if(cr.eachAfter(ot),cr.parent.m=-cr.z,cr.eachBefore(Ut),Je)Nt.eachBefore(Pt);else{var lr=Nt,sr=Nt,Pr=Nt;Nt.eachBefore(function(Wa){Wa.xsr.x&&(sr=Wa),Wa.depth>Pr.depth&&(Pr=Wa)});var _a=lr===sr?1:Ae(lr,sr)/2,Fa=_a-lr.x,Ra=Le/(sr.x+_a+Fa),qa=We/(Pr.depth||1);Nt.eachBefore(function(Wa){Wa.x=(Wa.x+Fa)*Ra,Wa.y=Wa.depth*qa})}return Nt}function ot(Nt){var cr=Nt.children,lr=Nt.parent.children,sr=Nt.i?lr[Nt.i-1]:null;if(cr){Ye(Nt);var Pr=(cr[0].z+cr[cr.length-1].z)/2;sr?(Nt.z=sr.z+Ae(Nt._,sr._),Nt.m=Nt.z-Pr):Nt.z=Pr}else sr&&(Nt.z=sr.z+Ae(Nt._,sr._));Nt.parent.A=Ct(Nt,sr,Nt.parent.A||lr[0])}function Ut(Nt){Nt._.x=Nt.z+Nt.parent.m,Nt.m+=Nt.parent.m}function Ct(Nt,cr,lr){if(cr){for(var sr=Nt,Pr=Nt,_a=cr,Fa=sr.parent.children[0],Ra=sr.m,qa=Pr.m,Wa=_a.m,Ca=Fa.m,hi;_a=Ze(_a),sr=Ce(sr),_a&&sr;)Fa=Ce(Fa),Pr=Ze(Pr),Pr.a=Nt,hi=_a.z+Wa-sr.z-Ra+Ae(_a._,sr._),hi>0&&(rt(St(_a,Nt,lr),Nt,hi),Ra+=hi,qa+=hi),Wa+=_a.m,Ra+=sr.m,Ca+=Fa.m,qa+=Pr.m;_a&&!Ze(Pr)&&(Pr.t=_a,Pr.m+=Wa-qa),sr&&!Ce(Fa)&&(Fa.t=sr,Fa.m+=Ra-Ca,lr=Nt)}return lr}function Pt(Nt){Nt.x*=Le,Nt.y=Nt.depth*We}return st.separation=function(Nt){return arguments.length?(Ae=Nt,st):Ae},st.size=function(Nt){return arguments.length?(Je=!1,Le=+Nt[0],We=+Nt[1],st):Je?null:[Le,We]},st.nodeSize=function(Nt){return arguments.length?(Je=!0,Le=+Nt[0],We=+Nt[1],st):Je?[Le,We]:null},st}function Tr(Ae,Le,We,Je,st){for(var ot=Ae.children,Ut,Ct=-1,Pt=ot.length,Nt=Ae.value&&(st-We)/Ae.value;++CtWa&&(Wa=Nt),Yt=Ra*Ra*wi,Ca=Math.max(Wa/Yt,Yt/qa),Ca>hi){Ra-=Nt;break}hi=Ca}Ut.push(Pt={value:Ra,dice:Pr<_a,children:Ct.slice(cr,lr)}),Pt.dice?Re(Pt,We,Je,st,Fa?Je+=_a*Ra/Fa:ot):Tr(Pt,We,Je,Fa?We+=Pr*Ra/Fa:st,ot),Fa-=Ra,cr=lr}return Ut}var Er=function Ae(Le){function We(Je,st,ot,Ut,Ct){qr(Le,Je,st,ot,Ut,Ct)}return We.ratio=function(Je){return Ae((Je=+Je)>1?Je:1)},We}(mr);function Dr(){var Ae=Er,Le=!1,We=1,Je=1,st=[0],ot=ae,Ut=ae,Ct=ae,Pt=ae,Nt=ae;function cr(sr){return sr.x0=sr.y0=0,sr.x1=We,sr.y1=Je,sr.eachBefore(lr),st=[0],Le&&sr.eachBefore(Ie),sr}function lr(sr){var Pr=st[sr.depth],_a=sr.x0+Pr,Fa=sr.y0+Pr,Ra=sr.x1-Pr,qa=sr.y1-Pr;Ra<_a&&(_a=Ra=(_a+Ra)/2),qa=sr-1){var Wa=ot[lr];Wa.x0=_a,Wa.y0=Fa,Wa.x1=Ra,Wa.y1=qa;return}for(var Ca=Nt[lr],hi=Pr/2+Ca,wi=lr+1,Yt=sr-1;wi>>1;Nt[Rt]qa-Fa){var Or=(_a*Jt+Ra*Zt)/Pr;cr(lr,wi,Zt,_a,Fa,Or,qa),cr(wi,sr,Jt,Or,Fa,Ra,qa)}else{var ta=(Fa*Jt+qa*Zt)/Pr;cr(lr,wi,Zt,_a,Fa,Ra,ta),cr(wi,sr,Jt,_a,ta,Ra,qa)}}}function Oe(Ae,Le,We,Je,st){(Ae.depth&1?Tr:Re)(Ae,Le,We,Je,st)}var Ke=function Ae(Le){function We(Je,st,ot,Ut,Ct){if((Pt=Je._squarify)&&Pt.ratio===Le)for(var Pt,Nt,cr,lr,sr=-1,Pr,_a=Pt.length,Fa=Je.value;++sr<_a;){for(Nt=Pt[sr],cr=Nt.children,lr=Nt.value=0,Pr=cr.length;lr1?Je:1)},We}(mr);d.cluster=a,d.hierarchy=m,d.pack=re,d.packEnclose=z,d.packSiblings=ee,d.partition=He,d.stratify=le,d.tree=Gt,d.treemap=Dr,d.treemapBinary=xt,d.treemapDice=Re,d.treemapResquarify=Ke,d.treemapSlice=Tr,d.treemapSliceDice=Oe,d.treemapSquarify=Er,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),Q_=Ge({\"src/traces/sunburst/calc.js\"(Z){\"use strict\";var G=$_(),d=ns(),_=sa(),A=rc().makeColorScaleFuncFromTrace,E=x1().makePullColorFn,e=x1().generateExtendedColors,t=rc().calc,r=Gs().ALMOST_EQUAL,o={},a={},n={};Z.calc=function(s,h){var f=s._fullLayout,v=h.ids,c=_.isArrayOrTypedArray(v),T=h.labels,l=h.parents,x=h.values,w=_.isArrayOrTypedArray(x),S=[],M={},m={},b=function(ee,q){M[ee]?M[ee].push(q):M[ee]=[q],m[q]=1},p=function(ee){return ee||typeof ee==\"number\"},u=function(ee){return!w||d(x[ee])&&x[ee]>=0},g,y,D;c?(g=Math.min(v.length,l.length),y=function(ee){return p(v[ee])&&u(ee)},D=function(ee){return String(v[ee])}):(g=Math.min(T.length,l.length),y=function(ee){return p(T[ee])&&u(ee)},D=function(ee){return String(T[ee])}),w&&(g=Math.min(g,x.length));for(var L=0;L1){for(var U=_.randstr(),N=0;N>8&15|G>>4&240,G>>4&15|G&240,(G&15)<<4|G&15,1):d===8?ex(G>>24&255,G>>16&255,G>>8&255,(G&255)/255):d===4?ex(G>>12&15|G>>8&240,G>>8&15|G>>4&240,G>>4&15|G&240,((G&15)<<4|G&15)/255):null):(G=mM.exec(Z))?new Xh(G[1],G[2],G[3],1):(G=gM.exec(Z))?new Xh(G[1]*255/100,G[2]*255/100,G[3]*255/100,1):(G=yM.exec(Z))?ex(G[1],G[2],G[3],G[4]):(G=_M.exec(Z))?ex(G[1]*255/100,G[2]*255/100,G[3]*255/100,G[4]):(G=xM.exec(Z))?hM(G[1],G[2]/100,G[3]/100,1):(G=bM.exec(Z))?hM(G[1],G[2]/100,G[3]/100,G[4]):S3.hasOwnProperty(Z)?uM(S3[Z]):Z===\"transparent\"?new Xh(NaN,NaN,NaN,0):null}function uM(Z){return new Xh(Z>>16&255,Z>>8&255,Z&255,1)}function ex(Z,G,d,_){return _<=0&&(Z=G=d=NaN),new Xh(Z,G,d,_)}function w3(Z){return Z instanceof Jv||(Z=w1(Z)),Z?(Z=Z.rgb(),new Xh(Z.r,Z.g,Z.b,Z.opacity)):new Xh}function tx(Z,G,d,_){return arguments.length===1?w3(Z):new Xh(Z,G,d,_??1)}function Xh(Z,G,d,_){this.r=+Z,this.g=+G,this.b=+d,this.opacity=+_}function cM(){return`#${l0(this.r)}${l0(this.g)}${l0(this.b)}`}function NB(){return`#${l0(this.r)}${l0(this.g)}${l0(this.b)}${l0((isNaN(this.opacity)?1:this.opacity)*255)}`}function fM(){let Z=rx(this.opacity);return`${Z===1?\"rgb(\":\"rgba(\"}${s0(this.r)}, ${s0(this.g)}, ${s0(this.b)}${Z===1?\")\":`, ${Z})`}`}function rx(Z){return isNaN(Z)?1:Math.max(0,Math.min(1,Z))}function s0(Z){return Math.max(0,Math.min(255,Math.round(Z)||0))}function l0(Z){return Z=s0(Z),(Z<16?\"0\":\"\")+Z.toString(16)}function hM(Z,G,d,_){return _<=0?Z=G=d=NaN:d<=0||d>=1?Z=G=NaN:G<=0&&(Z=NaN),new Ud(Z,G,d,_)}function pM(Z){if(Z instanceof Ud)return new Ud(Z.h,Z.s,Z.l,Z.opacity);if(Z instanceof Jv||(Z=w1(Z)),!Z)return new Ud;if(Z instanceof Ud)return Z;Z=Z.rgb();var G=Z.r/255,d=Z.g/255,_=Z.b/255,A=Math.min(G,d,_),E=Math.max(G,d,_),e=NaN,t=E-A,r=(E+A)/2;return t?(G===E?e=(d-_)/t+(d<_)*6:d===E?e=(_-G)/t+2:e=(G-d)/t+4,t/=r<.5?E+A:2-E-A,e*=60):t=r>0&&r<1?0:e,new Ud(e,t,r,Z.opacity)}function T3(Z,G,d,_){return arguments.length===1?pM(Z):new Ud(Z,G,d,_??1)}function Ud(Z,G,d,_){this.h=+Z,this.s=+G,this.l=+d,this.opacity=+_}function dM(Z){return Z=(Z||0)%360,Z<0?Z+360:Z}function ax(Z){return Math.max(0,Math.min(1,Z||0))}function A3(Z,G,d){return(Z<60?G+(d-G)*Z/60:Z<180?d:Z<240?G+(d-G)*(240-Z)/60:G)*255}var $v,u0,c0,ug,jd,vM,mM,gM,yM,_M,xM,bM,S3,M3=Ho({\"node_modules/d3-color/src/color.js\"(){b3(),$v=.7,u0=1/$v,c0=\"\\\\s*([+-]?\\\\d+)\\\\s*\",ug=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",jd=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",vM=/^#([0-9a-f]{3,8})$/,mM=new RegExp(`^rgb\\\\(${c0},${c0},${c0}\\\\)$`),gM=new RegExp(`^rgb\\\\(${jd},${jd},${jd}\\\\)$`),yM=new RegExp(`^rgba\\\\(${c0},${c0},${c0},${ug}\\\\)$`),_M=new RegExp(`^rgba\\\\(${jd},${jd},${jd},${ug}\\\\)$`),xM=new RegExp(`^hsl\\\\(${ug},${jd},${jd}\\\\)$`),bM=new RegExp(`^hsla\\\\(${ug},${jd},${jd},${ug}\\\\)$`),S3={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},lg(Jv,w1,{copy(Z){return Object.assign(new this.constructor,this,Z)},displayable(){return this.rgb().displayable()},hex:sM,formatHex:sM,formatHex8:OB,formatHsl:BB,formatRgb:lM,toString:lM}),lg(Xh,tx,b1(Jv,{brighter(Z){return Z=Z==null?u0:Math.pow(u0,Z),new Xh(this.r*Z,this.g*Z,this.b*Z,this.opacity)},darker(Z){return Z=Z==null?$v:Math.pow($v,Z),new Xh(this.r*Z,this.g*Z,this.b*Z,this.opacity)},rgb(){return this},clamp(){return new Xh(s0(this.r),s0(this.g),s0(this.b),rx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:cM,formatHex:cM,formatHex8:NB,formatRgb:fM,toString:fM})),lg(Ud,T3,b1(Jv,{brighter(Z){return Z=Z==null?u0:Math.pow(u0,Z),new Ud(this.h,this.s,this.l*Z,this.opacity)},darker(Z){return Z=Z==null?$v:Math.pow($v,Z),new Ud(this.h,this.s,this.l*Z,this.opacity)},rgb(){var Z=this.h%360+(this.h<0)*360,G=isNaN(Z)||isNaN(this.s)?0:this.s,d=this.l,_=d+(d<.5?d:1-d)*G,A=2*d-_;return new Xh(A3(Z>=240?Z-240:Z+120,A,_),A3(Z,A,_),A3(Z<120?Z+240:Z-120,A,_),this.opacity)},clamp(){return new Ud(dM(this.h),ax(this.s),ax(this.l),rx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let Z=rx(this.opacity);return`${Z===1?\"hsl(\":\"hsla(\"}${dM(this.h)}, ${ax(this.s)*100}%, ${ax(this.l)*100}%${Z===1?\")\":`, ${Z})`}`}}))}}),E3,k3,wM=Ho({\"node_modules/d3-color/src/math.js\"(){E3=Math.PI/180,k3=180/Math.PI}});function TM(Z){if(Z instanceof rv)return new rv(Z.l,Z.a,Z.b,Z.opacity);if(Z instanceof Mv)return AM(Z);Z instanceof Xh||(Z=w3(Z));var G=R3(Z.r),d=R3(Z.g),_=R3(Z.b),A=L3((.2225045*G+.7168786*d+.0606169*_)/F3),E,e;return G===d&&d===_?E=e=A:(E=L3((.4360747*G+.3850649*d+.1430804*_)/z3),e=L3((.0139322*G+.0971045*d+.7141733*_)/O3)),new rv(116*A-16,500*(E-A),200*(A-e),Z.opacity)}function C3(Z,G,d,_){return arguments.length===1?TM(Z):new rv(Z,G,d,_??1)}function rv(Z,G,d,_){this.l=+Z,this.a=+G,this.b=+d,this.opacity=+_}function L3(Z){return Z>SM?Math.pow(Z,.3333333333333333):Z/N3+B3}function P3(Z){return Z>f0?Z*Z*Z:N3*(Z-B3)}function I3(Z){return 255*(Z<=.0031308?12.92*Z:1.055*Math.pow(Z,.4166666666666667)-.055)}function R3(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function UB(Z){if(Z instanceof Mv)return new Mv(Z.h,Z.c,Z.l,Z.opacity);if(Z instanceof rv||(Z=TM(Z)),Z.a===0&&Z.b===0)return new Mv(NaN,0=1?(d=1,G-1):Math.floor(d*G),A=Z[_],E=Z[_+1],e=_>0?Z[_-1]:2*A-E,t=_()=>Z}});function PM(Z,G){return function(d){return Z+d*G}}function GB(Z,G,d){return Z=Math.pow(Z,d),G=Math.pow(G,d)-Z,d=1/d,function(_){return Math.pow(Z+_*G,d)}}function ox(Z,G){var d=G-Z;return d?PM(Z,d>180||d<-180?d-360*Math.round(d/360):d):S1(isNaN(Z)?G:Z)}function HB(Z){return(Z=+Z)==1?Zh:function(G,d){return d-G?GB(G,d,Z):S1(isNaN(G)?d:G)}}function Zh(Z,G){var d=G-Z;return d?PM(Z,d):S1(isNaN(Z)?G:Z)}var hg=Ho({\"node_modules/d3-interpolate/src/color.js\"(){LM()}});function IM(Z){return function(G){var d=G.length,_=new Array(d),A=new Array(d),E=new Array(d),e,t;for(e=0;ed&&(E=G.slice(d,E),t[e]?t[e]+=E:t[++e]=E),(_=_[0])===(A=A[0])?t[e]?t[e]+=A:t[++e]=A:(t[++e]=null,r.push({i:e,x:av(_,A)})),d=cx.lastIndex;return d180?a+=360:a-o>180&&(o+=360),i.push({i:n.push(A(n)+\"rotate(\",null,_)-2,x:av(o,a)})):a&&n.push(A(n)+\"rotate(\"+a+_)}function t(o,a,n,i){o!==a?i.push({i:n.push(A(n)+\"skewX(\",null,_)-2,x:av(o,a)}):a&&n.push(A(n)+\"skewX(\"+a+_)}function r(o,a,n,i,s,h){if(o!==n||a!==i){var f=s.push(A(s)+\"scale(\",null,\",\",null,\")\");h.push({i:f-4,x:av(o,n)},{i:f-2,x:av(a,i)})}else(n!==1||i!==1)&&s.push(A(s)+\"scale(\"+n+\",\"+i+\")\")}return function(o,a){var n=[],i=[];return o=Z(o),a=Z(a),E(o.translateX,o.translateY,a.translateX,a.translateY,n,i),e(o.rotate,a.rotate,n,i),t(o.skewX,a.skewX,n,i),r(o.scaleX,o.scaleY,a.scaleX,a.scaleY,n,i),o=a=null,function(s){for(var h=-1,f=i.length,v;++hfx,interpolateArray:()=>WB,interpolateBasis:()=>EM,interpolateBasisClosed:()=>kM,interpolateCubehelix:()=>nE,interpolateCubehelixLong:()=>oE,interpolateDate:()=>NM,interpolateDiscrete:()=>YB,interpolateHcl:()=>rE,interpolateHclLong:()=>aE,interpolateHsl:()=>QM,interpolateHslLong:()=>eE,interpolateHue:()=>JB,interpolateLab:()=>cN,interpolateNumber:()=>av,interpolateNumberArray:()=>W3,interpolateObject:()=>jM,interpolateRgb:()=>sx,interpolateRgbBasis:()=>RM,interpolateRgbBasisClosed:()=>DM,interpolateRound:()=>QB,interpolateString:()=>VM,interpolateTransformCss:()=>XM,interpolateTransformSvg:()=>ZM,interpolateZoom:()=>JM,piecewise:()=>dN,quantize:()=>mN});var pg=Ho({\"node_modules/d3-interpolate/src/index.js\"(){hx(),BM(),H3(),CM(),UM(),KB(),$B(),lx(),X3(),qM(),eN(),GM(),nN(),lN(),zM(),uN(),fN(),hN(),pN(),vN(),gN()}}),Y3=Ge({\"src/traces/sunburst/fill_one.js\"(Z,G){\"use strict\";var d=as(),_=$n();G.exports=function(E,e,t,r,o){var a=e.data.data,n=a.i,i=o||a.color;if(n>=0){e.i=a.i;var s=t.marker;s.pattern?(!s.colors||!s.pattern.shape)&&(s.color=i,e.color=i):(s.color=i,e.color=i),d.pointStyle(E,t,r,e)}else _.fill(E,i)}}}),sE=Ge({\"src/traces/sunburst/style.js\"(Z,G){\"use strict\";var d=Vn(),_=$n(),A=sa(),E=Sp().resizeText,e=Y3();function t(o){var a=o._fullLayout._sunburstlayer.selectAll(\".trace\");E(o,a,\"sunburst\"),a.each(function(n){var i=d.select(this),s=n[0],h=s.trace;i.style(\"opacity\",h.opacity),i.selectAll(\"path.surface\").each(function(f){d.select(this).call(r,f,h,o)})})}function r(o,a,n,i){var s=a.data.data,h=!a.children,f=s.i,v=A.castOption(n,f,\"marker.line.color\")||_.defaultLine,c=A.castOption(n,f,\"marker.line.width\")||0;o.call(e,a,n,i).style(\"stroke-width\",c).call(_.stroke,v).style(\"opacity\",h?n.leaf.opacity:null)}G.exports={style:t,styleOne:r}}}),Qv=Ge({\"src/traces/sunburst/helpers.js\"(Z){\"use strict\";var G=sa(),d=$n(),_=Kd(),A=t0();Z.findEntryWithLevel=function(r,o){var a;return o&&r.eachAfter(function(n){if(Z.getPtId(n)===o)return a=n.copy()}),a||r},Z.findEntryWithChild=function(r,o){var a;return r.eachAfter(function(n){for(var i=n.children||[],s=0;s0)},Z.getMaxDepth=function(r){return r.maxdepth>=0?r.maxdepth:1/0},Z.isHeader=function(r,o){return!(Z.isLeaf(r)||r.depth===o._maxDepth-1)};function t(r){return r.data.data.pid}Z.getParent=function(r,o){return Z.findEntryWithLevel(r,t(o))},Z.listPath=function(r,o){var a=r.parent;if(!a)return[];var n=o?[a.data[o]]:[a];return Z.listPath(a,o).concat(n)},Z.getPath=function(r){return Z.listPath(r,\"label\").join(\"/\")+\"/\"},Z.formatValue=A.formatPieValue,Z.formatPercent=function(r,o){var a=G.formatPercent(r,0);return a===\"0%\"&&(a=A.formatPiePercent(r,o)),a}}}),vx=Ge({\"src/traces/sunburst/fx.js\"(Z,G){\"use strict\";var d=Vn(),_=so(),A=$p().appendArrayPointValue,E=Hc(),e=sa(),t=Qy(),r=Qv(),o=t0(),a=o.formatPieValue;G.exports=function(s,h,f,v,c){var T=v[0],l=T.trace,x=T.hierarchy,w=l.type===\"sunburst\",S=l.type===\"treemap\"||l.type===\"icicle\";\"_hasHoverLabel\"in l||(l._hasHoverLabel=!1),\"_hasHoverEvent\"in l||(l._hasHoverEvent=!1);var M=function(p){var u=f._fullLayout;if(!(f._dragging||u.hovermode===!1)){var g=f._fullData[l.index],y=p.data.data,D=y.i,L=r.isHierarchyRoot(p),z=r.getParent(x,p),F=r.getValue(p),B=function(Q){return e.castOption(g,D,Q)},O=B(\"hovertemplate\"),P=E.castHoverinfo(g,u,D),U=u.separators,N;if(O||P&&P!==\"none\"&&P!==\"skip\"){var X,$;w&&(X=T.cx+p.pxmid[0]*(1-p.rInscribed),$=T.cy+p.pxmid[1]*(1-p.rInscribed)),S&&(X=p._hoverX,$=p._hoverY);var ue={},ce=[],de=[],V=function(Q){return ce.indexOf(Q)!==-1};P&&(ce=P===\"all\"?g._module.attributes.hoverinfo.flags:P.split(\"+\")),ue.label=y.label,V(\"label\")&&ue.label&&de.push(ue.label),y.hasOwnProperty(\"v\")&&(ue.value=y.v,ue.valueLabel=a(ue.value,U),V(\"value\")&&de.push(ue.valueLabel)),ue.currentPath=p.currentPath=r.getPath(p.data),V(\"current path\")&&!L&&de.push(ue.currentPath);var Y,ee=[],q=function(){ee.indexOf(Y)===-1&&(de.push(Y),ee.push(Y))};ue.percentParent=p.percentParent=F/r.getValue(z),ue.parent=p.parentString=r.getPtLabel(z),V(\"percent parent\")&&(Y=r.formatPercent(ue.percentParent,U)+\" of \"+ue.parent,q()),ue.percentEntry=p.percentEntry=F/r.getValue(h),ue.entry=p.entry=r.getPtLabel(h),V(\"percent entry\")&&!L&&!p.onPathbar&&(Y=r.formatPercent(ue.percentEntry,U)+\" of \"+ue.entry,q()),ue.percentRoot=p.percentRoot=F/r.getValue(x),ue.root=p.root=r.getPtLabel(x),V(\"percent root\")&&!L&&(Y=r.formatPercent(ue.percentRoot,U)+\" of \"+ue.root,q()),ue.text=B(\"hovertext\")||B(\"text\"),V(\"text\")&&(Y=ue.text,e.isValidTextValue(Y)&&de.push(Y)),N=[n(p,g,c.eventDataKeys)];var se={trace:g,y:$,_x0:p._x0,_x1:p._x1,_y0:p._y0,_y1:p._y1,text:de.join(\"
\"),name:O||V(\"name\")?g.name:void 0,color:B(\"hoverlabel.bgcolor\")||y.color,borderColor:B(\"hoverlabel.bordercolor\"),fontFamily:B(\"hoverlabel.font.family\"),fontSize:B(\"hoverlabel.font.size\"),fontColor:B(\"hoverlabel.font.color\"),fontWeight:B(\"hoverlabel.font.weight\"),fontStyle:B(\"hoverlabel.font.style\"),fontVariant:B(\"hoverlabel.font.variant\"),nameLength:B(\"hoverlabel.namelength\"),textAlign:B(\"hoverlabel.align\"),hovertemplate:O,hovertemplateLabels:ue,eventData:N};w&&(se.x0=X-p.rInscribed*p.rpx1,se.x1=X+p.rInscribed*p.rpx1,se.idealAlign=p.pxmid[0]<0?\"left\":\"right\"),S&&(se.x=X,se.idealAlign=X<0?\"left\":\"right\");var ae=[];E.loneHover(se,{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:f,inOut_bbox:ae}),N[0].bbox=ae[0],l._hasHoverLabel=!0}if(S){var j=s.select(\"path.surface\");c.styleOne(j,p,g,f,{hovered:!0})}l._hasHoverEvent=!0,f.emit(\"plotly_hover\",{points:N||[n(p,g,c.eventDataKeys)],event:d.event})}},m=function(p){var u=f._fullLayout,g=f._fullData[l.index],y=d.select(this).datum();if(l._hasHoverEvent&&(p.originalEvent=d.event,f.emit(\"plotly_unhover\",{points:[n(y,g,c.eventDataKeys)],event:d.event}),l._hasHoverEvent=!1),l._hasHoverLabel&&(E.loneUnhover(u._hoverlayer.node()),l._hasHoverLabel=!1),S){var D=s.select(\"path.surface\");c.styleOne(D,y,g,f,{hovered:!1})}},b=function(p){var u=f._fullLayout,g=f._fullData[l.index],y=w&&(r.isHierarchyRoot(p)||r.isLeaf(p)),D=r.getPtId(p),L=r.isEntry(p)?r.findEntryWithChild(x,D):r.findEntryWithLevel(x,D),z=r.getPtId(L),F={points:[n(p,g,c.eventDataKeys)],event:d.event};y||(F.nextLevel=z);var B=t.triggerHandler(f,\"plotly_\"+l.type+\"click\",F);if(B!==!1&&u.hovermode&&(f._hoverdata=[n(p,g,c.eventDataKeys)],E.click(f,d.event)),!y&&B!==!1&&!f._dragging&&!f._transitioning){_.call(\"_storeDirectGUIEdit\",g,u._tracePreGUI[g.uid],{level:g.level});var O={data:[{level:z}],traces:[l.index]},P={frame:{redraw:!1,duration:c.transitionTime},transition:{duration:c.transitionTime,easing:c.transitionEasing},mode:\"immediate\",fromcurrent:!0};E.loneUnhover(u._hoverlayer.node()),_.call(\"animate\",f,O,P)}};s.on(\"mouseover\",M),s.on(\"mouseout\",m),s.on(\"click\",b)};function n(i,s,h){for(var f=i.data.data,v={curveNumber:s.index,pointNumber:f.i,data:s._input,fullData:s},c=0;crt.x1?2*Math.PI:0)+Q;Ye=ne.rpx1He?2*Math.PI:0)+Q;Ze={x0:Ye,x1:Ye}}else Ze={rpx0:ce,rpx1:ce},E.extendFlat(Ze,le(ne));else Ze={rpx0:0,rpx1:0};else Ze={x0:Q,x1:Q};return _(Ze,rt)}function he(ne){var Ce=ee[T.getPtId(ne)],Ze,rt=ne.transform;if(Ce)Ze=Ce;else if(Ze={rpx1:ne.rpx1,transform:{textPosAngle:rt.textPosAngle,scale:0,rotate:rt.rotate,rCenter:rt.rCenter,x:rt.x,y:rt.y}},Y)if(ne.parent)if(He){var Ye=ne.x1>He?2*Math.PI:0;Ze.x0=Ze.x1=Ye}else E.extendFlat(Ze,le(ne));else Ze.x0=Ze.x1=Q;else Ze.x0=Ze.x1=Q;var St=_(Ze.transform.textPosAngle,ne.transform.textPosAngle),kt=_(Ze.rpx1,ne.rpx1),qt=_(Ze.x0,ne.x0),Gt=_(Ze.x1,ne.x1),Tr=_(Ze.transform.scale,rt.scale),mr=_(Ze.transform.rotate,rt.rotate),qr=rt.rCenter===0?3:Ze.transform.rCenter===0?1/3:1,Er=_(Ze.transform.rCenter,rt.rCenter),Dr=function(xt){return Er(Math.pow(xt,qr))};return function(xt){var Oe=kt(xt),Ke=qt(xt),Ae=Gt(xt),Le=Dr(xt),We=we(Oe,(Ke+Ae)/2),Je=St(xt),st={pxmid:We,rpx1:Oe,transform:{textPosAngle:Je,rCenter:Le,x:rt.x,y:rt.y}};return r(B.type,rt,y),{transform:{targetX:Ie(st),targetY:Re(st),scale:Tr(xt),rotate:mr(xt),rCenter:Le}}}}function le(ne){var Ce=ne.parent,Ze=ee[T.getPtId(Ce)],rt={};if(Ze){var Ye=Ce.children,St=Ye.indexOf(ne),kt=Ye.length,qt=_(Ze.x0,Ze.x1);rt.x0=qt(St/kt),rt.x1=qt(St/kt)}else rt.x0=rt.x1=0;return rt}}function x(m){return d.partition().size([2*Math.PI,m.height+1])(m)}Z.formatSliceLabel=function(m,b,p,u,g){var y=p.texttemplate,D=p.textinfo;if(!y&&(!D||D===\"none\"))return\"\";var L=g.separators,z=u[0],F=m.data.data,B=z.hierarchy,O=T.isHierarchyRoot(m),P=T.getParent(B,m),U=T.getValue(m);if(!y){var N=D.split(\"+\"),X=function(ae){return N.indexOf(ae)!==-1},$=[],ue;if(X(\"label\")&&F.label&&$.push(F.label),F.hasOwnProperty(\"v\")&&X(\"value\")&&$.push(T.formatValue(F.v,L)),!O){X(\"current path\")&&$.push(T.getPath(m.data));var ce=0;X(\"percent parent\")&&ce++,X(\"percent entry\")&&ce++,X(\"percent root\")&&ce++;var de=ce>1;if(ce){var V,Y=function(ae){ue=T.formatPercent(V,L),de&&(ue+=\" of \"+ae),$.push(ue)};X(\"percent parent\")&&!O&&(V=U/T.getValue(P),Y(\"parent\")),X(\"percent entry\")&&(V=U/T.getValue(b),Y(\"entry\")),X(\"percent root\")&&(V=U/T.getValue(B),Y(\"root\"))}}return X(\"text\")&&(ue=E.castOption(p,F.i,\"text\"),E.isValidTextValue(ue)&&$.push(ue)),$.join(\"
\")}var ee=E.castOption(p,F.i,\"texttemplate\");if(!ee)return\"\";var q={};F.label&&(q.label=F.label),F.hasOwnProperty(\"v\")&&(q.value=F.v,q.valueLabel=T.formatValue(F.v,L)),q.currentPath=T.getPath(m.data),O||(q.percentParent=U/T.getValue(P),q.percentParentLabel=T.formatPercent(q.percentParent,L),q.parent=T.getPtLabel(P)),q.percentEntry=U/T.getValue(b),q.percentEntryLabel=T.formatPercent(q.percentEntry,L),q.entry=T.getPtLabel(b),q.percentRoot=U/T.getValue(B),q.percentRootLabel=T.formatPercent(q.percentRoot,L),q.root=T.getPtLabel(B),F.hasOwnProperty(\"color\")&&(q.color=F.color);var se=E.castOption(p,F.i,\"text\");return(E.isValidTextValue(se)||se===\"\")&&(q.text=se),q.customdata=E.castOption(p,F.i,\"customdata\"),E.texttemplateString({data:[q,p._meta],fallback:p.texttemplatefallback,labels:q,locale:g._d3locale,template:ee})};function w(m){return m.rpx0===0&&E.isFullCircle([m.x0,m.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(m.halfangle)),m.ring/2))}function S(m){return M(m.rpx1,m.transform.textPosAngle)}function M(m,b){return[m*Math.sin(b),-m*Math.cos(b)]}}}),yN=Ge({\"src/traces/sunburst/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:DB(),categories:[],animatable:!0,attributes:J_(),layoutAttributes:oM(),supplyDefaults:zB(),supplyLayoutDefaults:FB(),calc:Q_().calc,crossTraceCalc:Q_().crossTraceCalc,plot:K3().plot,style:sE().style,colorbar:dp(),meta:{}}}}),_N=Ge({\"lib/sunburst.js\"(Z,G){\"use strict\";G.exports=yN()}}),xN=Ge({\"src/traces/treemap/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"treemap\",Z.plot=function(d,_,A,E){G.plotBasePlot(Z.name,d,_,A,E)},Z.clean=function(d,_,A,E){G.cleanBasePlot(Z.name,d,_,A,E)}}}),dg=Ge({\"src/traces/treemap/constants.js\"(Z,G){\"use strict\";G.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}}}),J3=Ge({\"src/traces/treemap/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:d,texttemplateAttrs:_,templatefallbackAttrs:A}=$l(),E=ku(),e=wc().attributes,t=og(),r=J_(),o=dg(),a=rs().extendFlat,n=Gh().pattern;G.exports={labels:r.labels,parents:r.parents,values:r.values,branchvalues:r.branchvalues,count:r.count,level:r.level,maxdepth:r.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:a({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:r.marker.colors,pattern:n,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:r.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},E(\"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:a({},t.textfont,{}),editType:\"calc\"},text:t.text,textinfo:r.textinfo,texttemplate:_({editType:\"plot\"},{keys:o.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:A({editType:\"plot\"}),hovertext:t.hovertext,hoverinfo:r.hoverinfo,hovertemplate:d({},{keys:o.eventDataKeys}),hovertemplatefallback:A(),textfont:t.textfont,insidetextfont:t.insidetextfont,outsidetextfont:a({},t.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\"},sort:t.sort,root:r.root,domain:e({name:\"treemap\",trace:!0,editType:\"calc\"})}}}),lE=Ge({\"src/traces/treemap/layout_attributes.js\"(Z,G){\"use strict\";G.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),bN=Ge({\"src/traces/treemap/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=J3(),A=$n(),E=wc().defaults,e=gd().handleText,t=i0().TEXTPAD,r=sg().handleMarkerDefaults,o=rc(),a=o.hasColorscale,n=o.handleDefaults;G.exports=function(s,h,f,v){function c(g,y){return d.coerce(s,h,_,g,y)}var T=c(\"labels\"),l=c(\"parents\");if(!T||!T.length||!l||!l.length){h.visible=!1;return}var x=c(\"values\");x&&x.length?c(\"branchvalues\"):c(\"count\"),c(\"level\"),c(\"maxdepth\");var w=c(\"tiling.packing\");w===\"squarify\"&&c(\"tiling.squarifyratio\"),c(\"tiling.flip\"),c(\"tiling.pad\");var S=c(\"text\");c(\"texttemplate\"),c(\"texttemplatefallback\"),h.texttemplate||c(\"textinfo\",d.isArrayOrTypedArray(S)?\"text+label\":\"label\"),c(\"hovertext\"),c(\"hovertemplate\"),c(\"hovertemplatefallback\");var M=c(\"pathbar.visible\"),m=\"auto\";e(s,h,v,c,m,{hasPathbar:M,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),c(\"textposition\");var b=h.textposition.indexOf(\"bottom\")!==-1;r(s,h,v,c);var p=h._hasColorscale=a(s,\"marker\",\"colors\")||(s.marker||{}).coloraxis;p?n(s,h,v,c,{prefix:\"marker.\",cLetter:\"c\"}):c(\"marker.depthfade\",!(h.marker.colors||[]).length);var u=h.textfont.size*2;c(\"marker.pad.t\",b?u/4:u),c(\"marker.pad.l\",u/4),c(\"marker.pad.r\",u/4),c(\"marker.pad.b\",b?u:u/4),c(\"marker.cornerradius\"),h._hovered={marker:{line:{width:2,color:A.contrast(v.paper_bgcolor)}}},M&&(c(\"pathbar.thickness\",h.pathbar.textfont.size+2*t),c(\"pathbar.side\"),c(\"pathbar.edgeshape\")),c(\"sort\"),c(\"root.color\"),E(h,v,c),h._length=null}}}),wN=Ge({\"src/traces/treemap/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=lE();G.exports=function(E,e){function t(r,o){return d.coerce(E,e,_,r,o)}t(\"treemapcolorway\",e.colorway),t(\"extendtreemapcolors\")}}}),uE=Ge({\"src/traces/treemap/calc.js\"(Z){\"use strict\";var G=Q_();Z.calc=function(d,_){return G.calc(d,_)},Z.crossTraceCalc=function(d){return G._runCrossTraceCalc(\"treemap\",d)}}}),cE=Ge({\"src/traces/treemap/flip_tree.js\"(Z,G){\"use strict\";G.exports=function d(_,A,E){var e;E.swapXY&&(e=_.x0,_.x0=_.y0,_.y0=e,e=_.x1,_.x1=_.y1,_.y1=e),E.flipX&&(e=_.x0,_.x0=A[0]-_.x1,_.x1=A[0]-e),E.flipY&&(e=_.y0,_.y0=A[1]-_.y1,_.y1=A[1]-e);var t=_.children;if(t)for(var r=0;r0)for(var u=0;u\").join(\" \")||\"\";var de=_.ensureSingle(ue,\"g\",\"slicetext\"),V=_.ensureSingle(de,\"text\",\"\",function(ee){ee.attr(\"data-notex\",1)}),Y=_.ensureUniformFontSize(s,o.determineTextFont(B,$,z.font,{onPathbar:!0}));V.text($._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(A.font,Y).call(E.convertToTspans,s),$.textBB=A.bBox(V.node()),$.transform=m($,{fontSize:Y.size,onPathbar:!0}),$.transform.fontSize=Y.size,p?V.transition().attrTween(\"transform\",function(ee){var q=y(ee,n,D,[l,x]);return function(se){return b(q(se))}}):V.attr(\"transform\",b($))})}}}),AN=Ge({\"src/traces/treemap/plot_one.js\"(Z,G){\"use strict\";var d=Vn(),_=(pg(),zf(p0)).interpolate,A=Qv(),E=sa(),e=i0().TEXTPAD,t=tg(),r=t.toMoveInsideBar,o=Sp(),a=o.recordMinTextSize,n=dg(),i=TN();function s(h){return A.isHierarchyRoot(h)?\"\":A.getPtId(h)}G.exports=function(f,v,c,T,l){var x=f._fullLayout,w=v[0],S=w.trace,M=S.type,m=M===\"icicle\",b=w.hierarchy,p=A.findEntryWithLevel(b,S.level),u=d.select(c),g=u.selectAll(\"g.pathbar\"),y=u.selectAll(\"g.slice\");if(!p){g.remove(),y.remove();return}var D=A.isHierarchyRoot(p),L=!x.uniformtext.mode&&A.hasTransition(T),z=A.getMaxDepth(S),F=function(Er){return Er.data.depth-p.data.depth-1?U+$:-(X+$):0,ce={x0:N,x1:N,y0:ue,y1:ue+X},de=function(Er,Dr,xt){var Oe=S.tiling.pad,Ke=function(Je){return Je-Oe<=Dr.x0},Ae=function(Je){return Je+Oe>=Dr.x1},Le=function(Je){return Je-Oe<=Dr.y0},We=function(Je){return Je+Oe>=Dr.y1};return Er.x0===Dr.x0&&Er.x1===Dr.x1&&Er.y0===Dr.y0&&Er.y1===Dr.y1?{x0:Er.x0,x1:Er.x1,y0:Er.y0,y1:Er.y1}:{x0:Ke(Er.x0-Oe)?0:Ae(Er.x0-Oe)?xt[0]:Er.x0,x1:Ke(Er.x1+Oe)?0:Ae(Er.x1+Oe)?xt[0]:Er.x1,y0:Le(Er.y0-Oe)?0:We(Er.y0-Oe)?xt[1]:Er.y0,y1:Le(Er.y1+Oe)?0:We(Er.y1+Oe)?xt[1]:Er.y1}},V=null,Y={},ee={},q=null,se=function(Er,Dr){return Dr?Y[s(Er)]:ee[s(Er)]},ae=function(Er,Dr,xt,Oe){if(Dr)return Y[s(b)]||ce;var Ke=ee[S.level]||xt;return F(Er)?de(Er,Ke,Oe):{}};w.hasMultipleRoots&&D&&z++,S._maxDepth=z,S._backgroundColor=x.paper_bgcolor,S._entryDepth=p.data.depth,S._atRootLevel=D;var j=-P/2+B.l+B.w*(O.x[1]+O.x[0])/2,Q=-U/2+B.t+B.h*(1-(O.y[1]+O.y[0])/2),re=function(Er){return j+Er},pe=function(Er){return Q+Er},we=pe(0),Se=re(0),Ie=function(Er){return Se+Er},Re=function(Er){return we+Er};function He(Er,Dr){return Er+\",\"+Dr}var at=Ie(0),nt=function(Er){Er.x=Math.max(at,Er.x)},tt=S.pathbar.edgeshape,Ue=function(Er){var Dr=Ie(Math.max(Math.min(Er.x0,Er.x0),0)),xt=Ie(Math.min(Math.max(Er.x1,Er.x1),N)),Oe=Re(Er.y0),Ke=Re(Er.y1),Ae=X/2,Le={},We={};Le.x=Dr,We.x=xt,Le.y=We.y=(Oe+Ke)/2;var Je={x:Dr,y:Oe},st={x:xt,y:Oe},ot={x:xt,y:Ke},Ut={x:Dr,y:Ke};return tt===\">\"?(Je.x-=Ae,st.x-=Ae,ot.x-=Ae,Ut.x-=Ae):tt===\"/\"?(ot.x-=Ae,Ut.x-=Ae,Le.x-=Ae/2,We.x-=Ae/2):tt===\"\\\\\"?(Je.x-=Ae,st.x-=Ae,Le.x-=Ae/2,We.x-=Ae/2):tt===\"<\"&&(Le.x-=Ae,We.x-=Ae),nt(Je),nt(Ut),nt(Le),nt(st),nt(ot),nt(We),\"M\"+He(Je.x,Je.y)+\"L\"+He(st.x,st.y)+\"L\"+He(We.x,We.y)+\"L\"+He(ot.x,ot.y)+\"L\"+He(Ut.x,Ut.y)+\"L\"+He(Le.x,Le.y)+\"Z\"},he=S[m?\"tiling\":\"marker\"].pad,le=function(Er){return S.textposition.indexOf(Er)!==-1},ne=le(\"top\"),Ce=le(\"left\"),Ze=le(\"right\"),rt=le(\"bottom\"),Ye=function(Er){var Dr=re(Er.x0),xt=re(Er.x1),Oe=pe(Er.y0),Ke=pe(Er.y1),Ae=xt-Dr,Le=Ke-Oe;if(!Ae||!Le)return\"\";var We=S.marker.cornerradius||0,Je=Math.min(We,Ae/2,Le/2);Je&&Er.data&&Er.data.data&&Er.data.data.label&&(ne&&(Je=Math.min(Je,he.t)),Ce&&(Je=Math.min(Je,he.l)),Ze&&(Je=Math.min(Je,he.r)),rt&&(Je=Math.min(Je,he.b)));var st=function(ot,Ut){return Je?\"a\"+He(Je,Je)+\" 0 0 1 \"+He(ot,Ut):\"\"};return\"M\"+He(Dr,Oe+Je)+st(Je,-Je)+\"L\"+He(xt-Je,Oe)+st(Je,Je)+\"L\"+He(xt,Ke-Je)+st(-Je,Je)+\"L\"+He(Dr+Je,Ke)+st(-Je,-Je)+\"Z\"},St=function(Er,Dr){var xt=Er.x0,Oe=Er.x1,Ke=Er.y0,Ae=Er.y1,Le=Er.textBB,We=ne||Dr.isHeader&&!rt,Je=We?\"start\":rt?\"end\":\"middle\",st=le(\"right\"),ot=le(\"left\")||Dr.onPathbar,Ut=ot?-1:st?1:0;if(Dr.isHeader){if(xt+=(m?he:he.l)-e,Oe-=(m?he:he.r)-e,xt>=Oe){var Ct=(xt+Oe)/2;xt=Ct,Oe=Ct}var Pt;rt?(Pt=Ae-(m?he:he.b),Ke-1,flipY:O.tiling.flip.indexOf(\"y\")>-1,pad:{inner:O.tiling.pad,top:O.marker.pad.t,left:O.marker.pad.l,right:O.marker.pad.r,bottom:O.marker.pad.b}}),ue=$.descendants(),ce=1/0,de=-1/0;ue.forEach(function(se){var ae=se.depth;ae>=O._maxDepth?(se.x0=se.x1=(se.x0+se.x1)/2,se.y0=se.y1=(se.y0+se.y1)/2):(ce=Math.min(ce,ae),de=Math.max(de,ae))}),c=c.data(ue,o.getPtId),O._maxVisibleLayers=isFinite(de)?de-ce+1:0,c.enter().append(\"g\").classed(\"slice\",!0),u(c,i,L,[l,x],M),c.order();var V=null;if(p&&D){var Y=o.getPtId(D);c.each(function(se){V===null&&o.getPtId(se)===Y&&(V={x0:se.x0,x1:se.x1,y0:se.y0,y1:se.y1})})}var ee=function(){return V||{x0:0,x1:l,y0:0,y1:x}},q=c;return p&&(q=q.transition().each(\"end\",function(){var se=d.select(this);o.setSliceCursor(se,h,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),q.each(function(se){var ae=o.isHeader(se,O);se._x0=w(se.x0),se._x1=w(se.x1),se._y0=S(se.y0),se._y1=S(se.y1),se._hoverX=w(se.x1-O.marker.pad.r),se._hoverY=S(N?se.y1-O.marker.pad.b/2:se.y0+O.marker.pad.t/2);var j=d.select(this),Q=_.ensureSingle(j,\"path\",\"surface\",function(Re){Re.style(\"pointer-events\",z?\"none\":\"all\")});p?Q.transition().attrTween(\"d\",function(Re){var He=g(Re,i,ee(),[l,x]);return function(at){return M(He(at))}}):Q.attr(\"d\",M),j.call(a,v,h,f,{styleOne:t,eventDataKeys:r.eventDataKeys,transitionTime:r.CLICK_TRANSITION_TIME,transitionEasing:r.CLICK_TRANSITION_EASING}).call(o.setSliceCursor,h,{isTransitioning:h._transitioning}),Q.call(t,se,O,h,{hovered:!1}),se.x0===se.x1||se.y0===se.y1?se._text=\"\":ae?se._text=X?\"\":o.getPtLabel(se)||\"\":se._text=n(se,v,O,f,F)||\"\";var re=_.ensureSingle(j,\"g\",\"slicetext\"),pe=_.ensureSingle(re,\"text\",\"\",function(Re){Re.attr(\"data-notex\",1)}),we=_.ensureUniformFontSize(h,o.determineTextFont(O,se,F.font)),Se=se._text||\" \",Ie=ae&&Se.indexOf(\"
\")===-1;pe.text(Se).classed(\"slicetext\",!0).attr(\"text-anchor\",U?\"end\":P||Ie?\"start\":\"middle\").call(A.font,we).call(E.convertToTspans,h),se.textBB=A.bBox(pe.node()),se.transform=m(se,{fontSize:we.size,isHeader:ae}),se.transform.fontSize=we.size,p?pe.transition().attrTween(\"transform\",function(Re){var He=y(Re,i,ee(),[l,x]);return function(at){return b(He(at))}}):pe.attr(\"transform\",b(se))}),V}}}),MN=Ge({\"src/traces/treemap/plot.js\"(Z,G){\"use strict\";var d=hE(),_=SN();G.exports=function(E,e,t,r){return d(E,e,t,r,{type:\"treemap\",drawDescendants:_})}}}),EN=Ge({\"src/traces/treemap/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:xN(),categories:[],animatable:!0,attributes:J3(),layoutAttributes:lE(),supplyDefaults:bN(),supplyLayoutDefaults:wN(),calc:uE().calc,crossTraceCalc:uE().crossTraceCalc,plot:MN(),style:$3().style,colorbar:dp(),meta:{}}}}),kN=Ge({\"lib/treemap.js\"(Z,G){\"use strict\";G.exports=EN()}}),CN=Ge({\"src/traces/icicle/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"icicle\",Z.plot=function(d,_,A,E){G.plotBasePlot(Z.name,d,_,A,E)},Z.clean=function(d,_,A,E){G.cleanBasePlot(Z.name,d,_,A,E)}}}),pE=Ge({\"src/traces/icicle/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:d,texttemplateAttrs:_,templatefallbackAttrs:A}=$l(),E=ku(),e=wc().attributes,t=og(),r=J_(),o=J3(),a=dg(),n=rs().extendFlat,i=Gh().pattern;G.exports={labels:r.labels,parents:r.parents,values:r.values,branchvalues:r.branchvalues,count:r.count,level:r.level,maxdepth:r.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:o.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:n({colors:r.marker.colors,line:r.marker.line,pattern:i,editType:\"calc\"},E(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:r.leaf,pathbar:o.pathbar,text:t.text,textinfo:r.textinfo,texttemplate:_({editType:\"plot\"},{keys:a.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:A({editType:\"plot\"}),hovertext:t.hovertext,hoverinfo:r.hoverinfo,hovertemplate:d({},{keys:a.eventDataKeys}),hovertemplatefallback:A(),textfont:t.textfont,insidetextfont:t.insidetextfont,outsidetextfont:o.outsidetextfont,textposition:o.textposition,sort:t.sort,root:r.root,domain:e({name:\"icicle\",trace:!0,editType:\"calc\"})}}}),dE=Ge({\"src/traces/icicle/layout_attributes.js\"(Z,G){\"use strict\";G.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),LN=Ge({\"src/traces/icicle/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=pE(),A=$n(),E=wc().defaults,e=gd().handleText,t=i0().TEXTPAD,r=sg().handleMarkerDefaults,o=rc(),a=o.hasColorscale,n=o.handleDefaults;G.exports=function(s,h,f,v){function c(b,p){return d.coerce(s,h,_,b,p)}var T=c(\"labels\"),l=c(\"parents\");if(!T||!T.length||!l||!l.length){h.visible=!1;return}var x=c(\"values\");x&&x.length?c(\"branchvalues\"):c(\"count\"),c(\"level\"),c(\"maxdepth\"),c(\"tiling.orientation\"),c(\"tiling.flip\"),c(\"tiling.pad\");var w=c(\"text\");c(\"texttemplate\"),c(\"texttemplatefallback\"),h.texttemplate||c(\"textinfo\",d.isArrayOrTypedArray(w)?\"text+label\":\"label\"),c(\"hovertext\"),c(\"hovertemplate\"),c(\"hovertemplatefallback\");var S=c(\"pathbar.visible\"),M=\"auto\";e(s,h,v,c,M,{hasPathbar:S,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),c(\"textposition\"),r(s,h,v,c);var m=h._hasColorscale=a(s,\"marker\",\"colors\")||(s.marker||{}).coloraxis;m&&n(s,h,v,c,{prefix:\"marker.\",cLetter:\"c\"}),c(\"leaf.opacity\",m?1:.7),h._hovered={marker:{line:{width:2,color:A.contrast(v.paper_bgcolor)}}},S&&(c(\"pathbar.thickness\",h.pathbar.textfont.size+2*t),c(\"pathbar.side\"),c(\"pathbar.edgeshape\")),c(\"sort\"),c(\"root.color\"),E(h,v,c),h._length=null}}}),PN=Ge({\"src/traces/icicle/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=dE();G.exports=function(E,e){function t(r,o){return d.coerce(E,e,_,r,o)}t(\"iciclecolorway\",e.colorway),t(\"extendiciclecolors\")}}}),vE=Ge({\"src/traces/icicle/calc.js\"(Z){\"use strict\";var G=Q_();Z.calc=function(d,_){return G.calc(d,_)},Z.crossTraceCalc=function(d){return G._runCrossTraceCalc(\"icicle\",d)}}}),IN=Ge({\"src/traces/icicle/partition.js\"(Z,G){\"use strict\";var d=$_(),_=cE();G.exports=function(E,e,t){var r=t.flipX,o=t.flipY,a=t.orientation===\"h\",n=t.maxDepth,i=e[0],s=e[1];n&&(i=(E.height+1)*e[0]/Math.min(E.height+1,n),s=(E.height+1)*e[1]/Math.min(E.height+1,n));var h=d.partition().padding(t.pad.inner).size(a?[e[1],i]:[e[0],s])(E);return(a||r||o)&&_(h,e,{swapXY:a,flipX:r,flipY:o}),h}}}),mE=Ge({\"src/traces/icicle/style.js\"(Z,G){\"use strict\";var d=Vn(),_=$n(),A=sa(),E=Sp().resizeText,e=Y3();function t(o){var a=o._fullLayout._iciclelayer.selectAll(\".trace\");E(o,a,\"icicle\"),a.each(function(n){var i=d.select(this),s=n[0],h=s.trace;i.style(\"opacity\",h.opacity),i.selectAll(\"path.surface\").each(function(f){d.select(this).call(r,f,h,o)})})}function r(o,a,n,i){var s=a.data.data,h=!a.children,f=s.i,v=A.castOption(n,f,\"marker.line.color\")||_.defaultLine,c=A.castOption(n,f,\"marker.line.width\")||0;o.call(e,a,n,i).style(\"stroke-width\",c).call(_.stroke,v).style(\"opacity\",h?n.leaf.opacity:null)}G.exports={style:t,styleOne:r}}}),RN=Ge({\"src/traces/icicle/draw_descendants.js\"(Z,G){\"use strict\";var d=Vn(),_=sa(),A=as(),E=su(),e=IN(),t=mE().styleOne,r=dg(),o=Qv(),a=vx(),n=K3().formatSliceLabel,i=!1;G.exports=function(h,f,v,c,T){var l=T.width,x=T.height,w=T.viewX,S=T.viewY,M=T.pathSlice,m=T.toMoveInsideSlice,b=T.strTransform,p=T.hasTransition,u=T.handleSlicesExit,g=T.makeUpdateSliceInterpolator,y=T.makeUpdateTextInterpolator,D=T.prevEntry,L={},z=h._context.staticPlot,F=h._fullLayout,B=f[0],O=B.trace,P=O.textposition.indexOf(\"left\")!==-1,U=O.textposition.indexOf(\"right\")!==-1,N=O.textposition.indexOf(\"bottom\")!==-1,X=e(v,[l,x],{flipX:O.tiling.flip.indexOf(\"x\")>-1,flipY:O.tiling.flip.indexOf(\"y\")>-1,orientation:O.tiling.orientation,pad:{inner:O.tiling.pad},maxDepth:O._maxDepth}),$=X.descendants(),ue=1/0,ce=-1/0;$.forEach(function(q){var se=q.depth;se>=O._maxDepth?(q.x0=q.x1=(q.x0+q.x1)/2,q.y0=q.y1=(q.y0+q.y1)/2):(ue=Math.min(ue,se),ce=Math.max(ce,se))}),c=c.data($,o.getPtId),O._maxVisibleLayers=isFinite(ce)?ce-ue+1:0,c.enter().append(\"g\").classed(\"slice\",!0),u(c,i,L,[l,x],M),c.order();var de=null;if(p&&D){var V=o.getPtId(D);c.each(function(q){de===null&&o.getPtId(q)===V&&(de={x0:q.x0,x1:q.x1,y0:q.y0,y1:q.y1})})}var Y=function(){return de||{x0:0,x1:l,y0:0,y1:x}},ee=c;return p&&(ee=ee.transition().each(\"end\",function(){var q=d.select(this);o.setSliceCursor(q,h,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),ee.each(function(q){q._x0=w(q.x0),q._x1=w(q.x1),q._y0=S(q.y0),q._y1=S(q.y1),q._hoverX=w(q.x1-O.tiling.pad),q._hoverY=S(N?q.y1-O.tiling.pad/2:q.y0+O.tiling.pad/2);var se=d.select(this),ae=_.ensureSingle(se,\"path\",\"surface\",function(pe){pe.style(\"pointer-events\",z?\"none\":\"all\")});p?ae.transition().attrTween(\"d\",function(pe){var we=g(pe,i,Y(),[l,x],{orientation:O.tiling.orientation,flipX:O.tiling.flip.indexOf(\"x\")>-1,flipY:O.tiling.flip.indexOf(\"y\")>-1});return function(Se){return M(we(Se))}}):ae.attr(\"d\",M),se.call(a,v,h,f,{styleOne:t,eventDataKeys:r.eventDataKeys,transitionTime:r.CLICK_TRANSITION_TIME,transitionEasing:r.CLICK_TRANSITION_EASING}).call(o.setSliceCursor,h,{isTransitioning:h._transitioning}),ae.call(t,q,O,h,{hovered:!1}),q.x0===q.x1||q.y0===q.y1?q._text=\"\":q._text=n(q,v,O,f,F)||\"\";var j=_.ensureSingle(se,\"g\",\"slicetext\"),Q=_.ensureSingle(j,\"text\",\"\",function(pe){pe.attr(\"data-notex\",1)}),re=_.ensureUniformFontSize(h,o.determineTextFont(O,q,F.font));Q.text(q._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",U?\"end\":P?\"start\":\"middle\").call(A.font,re).call(E.convertToTspans,h),q.textBB=A.bBox(Q.node()),q.transform=m(q,{fontSize:re.size}),q.transform.fontSize=re.size,p?Q.transition().attrTween(\"transform\",function(pe){var we=y(pe,i,Y(),[l,x]);return function(Se){return b(we(Se))}}):Q.attr(\"transform\",b(q))}),de}}}),DN=Ge({\"src/traces/icicle/plot.js\"(Z,G){\"use strict\";var d=hE(),_=RN();G.exports=function(E,e,t,r){return d(E,e,t,r,{type:\"icicle\",drawDescendants:_})}}}),zN=Ge({\"src/traces/icicle/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:CN(),categories:[],animatable:!0,attributes:pE(),layoutAttributes:dE(),supplyDefaults:LN(),supplyLayoutDefaults:PN(),calc:vE().calc,crossTraceCalc:vE().crossTraceCalc,plot:DN(),style:mE().style,colorbar:dp(),meta:{}}}}),FN=Ge({\"lib/icicle.js\"(Z,G){\"use strict\";G.exports=zN()}}),ON=Ge({\"src/traces/funnelarea/base_plot.js\"(Z){\"use strict\";var G=bc();Z.name=\"funnelarea\",Z.plot=function(d,_,A,E){G.plotBasePlot(Z.name,d,_,A,E)},Z.clean=function(d,_,A,E){G.cleanBasePlot(Z.name,d,_,A,E)}}}),gE=Ge({\"src/traces/funnelarea/attributes.js\"(Z,G){\"use strict\";var d=og(),_=au(),A=wc().attributes,{hovertemplateAttrs:E,texttemplateAttrs:e,templatefallbackAttrs:t}=$l(),r=rs().extendFlat;G.exports={labels:d.labels,label0:d.label0,dlabel:d.dlabel,values:d.values,marker:{colors:d.marker.colors,line:{color:r({},d.marker.line.color,{dflt:null}),width:r({},d.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:d.marker.pattern,editType:\"calc\"},text:d.text,hovertext:d.hovertext,scalegroup:r({},d.scalegroup,{}),textinfo:r({},d.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:e({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),texttemplatefallback:t({editType:\"plot\"}),hoverinfo:r({},_.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:E({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hovertemplatefallback:t(),textposition:r({},d.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:d.textfont,insidetextfont:d.insidetextfont,title:{text:d.title.text,font:d.title.font,position:r({},d.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:A({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\"}}}}),yE=Ge({\"src/traces/funnelarea/layout_attributes.js\"(Z,G){\"use strict\";var d=_3().hiddenlabels;G.exports={hiddenlabels:d,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}}}),BN=Ge({\"src/traces/funnelarea/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=gE(),A=wc().defaults,E=gd().handleText,e=sg().handleLabelsAndValues,t=sg().handleMarkerDefaults;G.exports=function(o,a,n,i){function s(M,m){return d.coerce(o,a,_,M,m)}var h=s(\"labels\"),f=s(\"values\"),v=e(h,f),c=v.len;if(a._hasLabels=v.hasLabels,a._hasValues=v.hasValues,!a._hasLabels&&a._hasValues&&(s(\"label0\"),s(\"dlabel\")),!c){a.visible=!1;return}a._length=c,t(o,a,i,s),s(\"scalegroup\");var T=s(\"text\"),l=s(\"texttemplate\");s(\"texttemplatefallback\");var x;if(l||(x=s(\"textinfo\",Array.isArray(T)?\"text+percent\":\"percent\")),s(\"hovertext\"),s(\"hovertemplate\"),s(\"hovertemplatefallback\"),l||x&&x!==\"none\"){var w=s(\"textposition\");E(o,a,i,s,w,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else x===\"none\"&&s(\"textposition\",\"none\");A(a,i,s);var S=s(\"title.text\");S&&(s(\"title.position\"),d.coerceFont(s,\"title.font\",i.font)),s(\"aspectratio\"),s(\"baseratio\")}}}),NN=Ge({\"src/traces/funnelarea/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=yE();G.exports=function(E,e){function t(r,o){return d.coerce(E,e,_,r,o)}t(\"hiddenlabels\"),t(\"funnelareacolorway\",e.colorway),t(\"extendfunnelareacolors\")}}}),_E=Ge({\"src/traces/funnelarea/calc.js\"(Z,G){\"use strict\";var d=x1();function _(E,e){return d.calc(E,e)}function A(E){d.crossTraceCalc(E,{type:\"funnelarea\"})}G.exports={calc:_,crossTraceCalc:A}}}),UN=Ge({\"src/traces/funnelarea/plot.js\"(Z,G){\"use strict\";var d=Vn(),_=as(),A=sa(),E=A.strScale,e=A.strTranslate,t=su(),r=tg(),o=r.toMoveInsideBar,a=Sp(),n=a.recordMinTextSize,i=a.clearMinTextSize,s=t0(),h=x3(),f=h.attachFxHandlers,v=h.determineInsideTextFont,c=h.layoutAreas,T=h.prerenderTitles,l=h.positionTitleOutside,x=h.formatSliceLabel;G.exports=function(b,p){var u=b._context.staticPlot,g=b._fullLayout;i(\"funnelarea\",g),T(p,b),c(p,g._size),A.makeTraceGroups(g._funnelarealayer,p,\"trace\").each(function(y){var D=d.select(this),L=y[0],z=L.trace;M(y),D.each(function(){var F=d.select(this).selectAll(\"g.slice\").data(y);F.enter().append(\"g\").classed(\"slice\",!0),F.exit().remove(),F.each(function(O,P){if(O.hidden){d.select(this).selectAll(\"path,g\").remove();return}O.pointNumber=O.i,O.curveNumber=z.index;var U=L.cx,N=L.cy,X=d.select(this),$=X.selectAll(\"path.surface\").data([O]);$.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":u?\"none\":\"all\"}),X.call(f,b,y);var ue=\"M\"+(U+O.TR[0])+\",\"+(N+O.TR[1])+w(O.TR,O.BR)+w(O.BR,O.BL)+w(O.BL,O.TL)+\"Z\";$.attr(\"d\",ue),x(b,O,L);var ce=s.castOption(z.textposition,O.pts),de=X.selectAll(\"g.slicetext\").data(O.text&&ce!==\"none\"?[0]:[]);de.enter().append(\"g\").classed(\"slicetext\",!0),de.exit().remove(),de.each(function(){var V=A.ensureSingle(d.select(this),\"text\",\"\",function(re){re.attr(\"data-notex\",1)}),Y=A.ensureUniformFontSize(b,v(z,O,g.font));V.text(O.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(_.font,Y).call(t.convertToTspans,b);var ee=_.bBox(V.node()),q,se,ae,j=Math.min(O.BL[1],O.BR[1])+N,Q=Math.max(O.TL[1],O.TR[1])+N;se=Math.max(O.TL[0],O.BL[0])+U,ae=Math.min(O.TR[0],O.BR[0])+U,q=o(se,ae,j,Q,ee,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),q.fontSize=Y.size,n(z.type,q,g),y[P].transform=q,A.setTransormAndDisplay(V,q)})});var B=d.select(this).selectAll(\"g.titletext\").data(z.title.text?[0]:[]);B.enter().append(\"g\").classed(\"titletext\",!0),B.exit().remove(),B.each(function(){var O=A.ensureSingle(d.select(this),\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),P=z.title.text;z._meta&&(P=A.templateString(P,z._meta)),O.text(P).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(_.font,z.title.font).call(t.convertToTspans,b);var U=l(L,g._size);O.attr(\"transform\",e(U.x,U.y)+E(Math.min(1,U.scale))+e(U.tx,U.ty))})})})};function w(m,b){var p=b[0]-m[0],u=b[1]-m[1];return\"l\"+p+\",\"+u}function S(m,b){return[.5*(m[0]+b[0]),.5*(m[1]+b[1])]}function M(m){if(!m.length)return;var b=m[0],p=b.trace,u=p.aspectratio,g=p.baseratio;g>.999&&(g=.999);var y=Math.pow(g,2),D=b.vTotal,L=D*y/(1-y),z=D,F=L/D;function B(){var pe=Math.sqrt(F);return{x:pe,y:-pe}}function O(){var pe=B();return[pe.x,pe.y]}var P,U=[];U.push(O());var N,X;for(N=m.length-1;N>-1;N--)if(X=m[N],!X.hidden){var $=X.v/z;F+=$,U.push(O())}var ue=1/0,ce=-1/0;for(N=0;N-1;N--)if(X=m[N],!X.hidden){j+=1;var Q=U[j][0],re=U[j][1];X.TL=[-Q,re],X.TR=[Q,re],X.BL=se,X.BR=ae,X.pxmid=S(X.TR,X.BR),se=X.TL,ae=X.TR}}}}),jN=Ge({\"src/traces/funnelarea/style.js\"(Z,G){\"use strict\";var d=Vn(),_=i1(),A=Sp().resizeText;G.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(\".trace\");A(e,t,\"funnelarea\"),t.each(function(r){var o=r[0],a=o.trace,n=d.select(this);n.style({opacity:a.opacity}),n.selectAll(\"path.surface\").each(function(i){d.select(this).call(_,i,a,e)})})}}}),qN=Ge({\"src/traces/funnelarea/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:ON(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:gE(),layoutAttributes:yE(),supplyDefaults:BN(),supplyLayoutDefaults:NN(),calc:_E().calc,crossTraceCalc:_E().crossTraceCalc,plot:UN(),style:jN(),styleOne:i1(),meta:{}}}}),VN=Ge({\"lib/funnelarea.js\"(Z,G){\"use strict\";G.exports=qN()}}),Yh=Ge({\"stackgl_modules/index.js\"(Z,G){(function(){var d={1964:function(e,t,r){e.exports={alpha_shape:r(3502),convex_hull:r(7352),delaunay_triangulate:r(7642),gl_cone3d:r(6405),gl_error3d:r(9165),gl_line3d:r(5714),gl_mesh3d:r(7201),gl_plot3d:r(4100),gl_scatter3d:r(8418),gl_streamtube3d:r(7815),gl_surface3d:r(9499),ndarray:r(9618),ndarray_linear_interpolate:r(4317)}},4793:function(e,t,r){\"use strict\";var o;function a(Ue){\"@babel/helpers - typeof\";return a=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(he){return typeof he}:function(he){return he&&typeof Symbol==\"function\"&&he.constructor===Symbol&&he!==Symbol.prototype?\"symbol\":typeof he},a(Ue)}var n=r(7507),i=r(3778),s=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;t.hp=c,o=g,t.IS=50;var h=2147483647;o=h,c.TYPED_ARRAY_SUPPORT=f(),!c.TYPED_ARRAY_SUPPORT&&typeof console<\"u\"&&typeof console.error==\"function\"&&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.\");function f(){try{var Ue=new Uint8Array(1),he={foo:function(){return 42}};return Object.setPrototypeOf(he,Uint8Array.prototype),Object.setPrototypeOf(Ue,he),Ue.foo()===42}catch{return!1}}Object.defineProperty(c.prototype,\"parent\",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,\"offset\",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}});function v(Ue){if(Ue>h)throw new RangeError('The value \"'+Ue+'\" is invalid for option \"size\"');var he=new Uint8Array(Ue);return Object.setPrototypeOf(he,c.prototype),he}function c(Ue,he,le){if(typeof Ue==\"number\"){if(typeof he==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return w(Ue)}return T(Ue,he,le)}c.poolSize=8192;function T(Ue,he,le){if(typeof Ue==\"string\")return S(Ue,he);if(ArrayBuffer.isView(Ue))return m(Ue);if(Ue==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+a(Ue));if(at(Ue,ArrayBuffer)||Ue&&at(Ue.buffer,ArrayBuffer)||typeof SharedArrayBuffer<\"u\"&&(at(Ue,SharedArrayBuffer)||Ue&&at(Ue.buffer,SharedArrayBuffer)))return b(Ue,he,le);if(typeof Ue==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var ne=Ue.valueOf&&Ue.valueOf();if(ne!=null&&ne!==Ue)return c.from(ne,he,le);var Ce=p(Ue);if(Ce)return Ce;if(typeof Symbol<\"u\"&&Symbol.toPrimitive!=null&&typeof Ue[Symbol.toPrimitive]==\"function\")return c.from(Ue[Symbol.toPrimitive](\"string\"),he,le);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+a(Ue))}c.from=function(Ue,he,le){return T(Ue,he,le)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array);function l(Ue){if(typeof Ue!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Ue<0)throw new RangeError('The value \"'+Ue+'\" is invalid for option \"size\"')}function x(Ue,he,le){return l(Ue),Ue<=0?v(Ue):he!==void 0?typeof le==\"string\"?v(Ue).fill(he,le):v(Ue).fill(he):v(Ue)}c.alloc=function(Ue,he,le){return x(Ue,he,le)};function w(Ue){return l(Ue),v(Ue<0?0:u(Ue)|0)}c.allocUnsafe=function(Ue){return w(Ue)},c.allocUnsafeSlow=function(Ue){return w(Ue)};function S(Ue,he){if((typeof he!=\"string\"||he===\"\")&&(he=\"utf8\"),!c.isEncoding(he))throw new TypeError(\"Unknown encoding: \"+he);var le=y(Ue,he)|0,ne=v(le),Ce=ne.write(Ue,he);return Ce!==le&&(ne=ne.slice(0,Ce)),ne}function M(Ue){for(var he=Ue.length<0?0:u(Ue.length)|0,le=v(he),ne=0;ne=h)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+h.toString(16)+\" bytes\");return Ue|0}function g(Ue){return+Ue!=Ue&&(Ue=0),c.alloc(+Ue)}c.isBuffer=function(he){return he!=null&&he._isBuffer===!0&&he!==c.prototype},c.compare=function(he,le){if(at(he,Uint8Array)&&(he=c.from(he,he.offset,he.byteLength)),at(le,Uint8Array)&&(le=c.from(le,le.offset,le.byteLength)),!c.isBuffer(he)||!c.isBuffer(le))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(he===le)return 0;for(var ne=he.length,Ce=le.length,Ze=0,rt=Math.min(ne,Ce);ZeCe.length?c.from(rt).copy(Ce,Ze):Uint8Array.prototype.set.call(Ce,rt,Ze);else if(c.isBuffer(rt))rt.copy(Ce,Ze);else throw new TypeError('\"list\" argument must be an Array of Buffers');Ze+=rt.length}return Ce};function y(Ue,he){if(c.isBuffer(Ue))return Ue.length;if(ArrayBuffer.isView(Ue)||at(Ue,ArrayBuffer))return Ue.byteLength;if(typeof Ue!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+a(Ue));var le=Ue.length,ne=arguments.length>2&&arguments[2]===!0;if(!ne&&le===0)return 0;for(var Ce=!1;;)switch(he){case\"ascii\":case\"latin1\":case\"binary\":return le;case\"utf8\":case\"utf-8\":return we(Ue).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return le*2;case\"hex\":return le>>>1;case\"base64\":return Re(Ue).length;default:if(Ce)return ne?-1:we(Ue).length;he=(\"\"+he).toLowerCase(),Ce=!0}}c.byteLength=y;function D(Ue,he,le){var ne=!1;if((he===void 0||he<0)&&(he=0),he>this.length||((le===void 0||le>this.length)&&(le=this.length),le<=0)||(le>>>=0,he>>>=0,le<=he))return\"\";for(Ue||(Ue=\"utf8\");;)switch(Ue){case\"hex\":return Y(this,he,le);case\"utf8\":case\"utf-8\":return $(this,he,le);case\"ascii\":return de(this,he,le);case\"latin1\":case\"binary\":return V(this,he,le);case\"base64\":return X(this,he,le);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ee(this,he,le);default:if(ne)throw new TypeError(\"Unknown encoding: \"+Ue);Ue=(Ue+\"\").toLowerCase(),ne=!0}}c.prototype._isBuffer=!0;function L(Ue,he,le){var ne=Ue[he];Ue[he]=Ue[le],Ue[le]=ne}c.prototype.swap16=function(){var he=this.length;if(he%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var le=0;lele&&(he+=\" ... \"),\"\"},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(he,le,ne,Ce,Ze){if(at(he,Uint8Array)&&(he=c.from(he,he.offset,he.byteLength)),!c.isBuffer(he))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+a(he));if(le===void 0&&(le=0),ne===void 0&&(ne=he?he.length:0),Ce===void 0&&(Ce=0),Ze===void 0&&(Ze=this.length),le<0||ne>he.length||Ce<0||Ze>this.length)throw new RangeError(\"out of range index\");if(Ce>=Ze&&le>=ne)return 0;if(Ce>=Ze)return-1;if(le>=ne)return 1;if(le>>>=0,ne>>>=0,Ce>>>=0,Ze>>>=0,this===he)return 0;for(var rt=Ze-Ce,Ye=ne-le,St=Math.min(rt,Ye),kt=this.slice(Ce,Ze),qt=he.slice(le,ne),Gt=0;Gt2147483647?le=2147483647:le<-2147483648&&(le=-2147483648),le=+le,nt(le)&&(le=Ce?0:Ue.length-1),le<0&&(le=Ue.length+le),le>=Ue.length){if(Ce)return-1;le=Ue.length-1}else if(le<0)if(Ce)le=0;else return-1;if(typeof he==\"string\"&&(he=c.from(he,ne)),c.isBuffer(he))return he.length===0?-1:F(Ue,he,le,ne,Ce);if(typeof he==\"number\")return he=he&255,typeof Uint8Array.prototype.indexOf==\"function\"?Ce?Uint8Array.prototype.indexOf.call(Ue,he,le):Uint8Array.prototype.lastIndexOf.call(Ue,he,le):F(Ue,[he],le,ne,Ce);throw new TypeError(\"val must be string, number or Buffer\")}function F(Ue,he,le,ne,Ce){var Ze=1,rt=Ue.length,Ye=he.length;if(ne!==void 0&&(ne=String(ne).toLowerCase(),ne===\"ucs2\"||ne===\"ucs-2\"||ne===\"utf16le\"||ne===\"utf-16le\")){if(Ue.length<2||he.length<2)return-1;Ze=2,rt/=2,Ye/=2,le/=2}function St(mr,qr){return Ze===1?mr[qr]:mr.readUInt16BE(qr*Ze)}var kt;if(Ce){var qt=-1;for(kt=le;ktrt&&(le=rt-Ye),kt=le;kt>=0;kt--){for(var Gt=!0,Tr=0;TrCe&&(ne=Ce)):ne=Ce;var Ze=he.length;ne>Ze/2&&(ne=Ze/2);for(var rt=0;rt>>0,isFinite(ne)?(ne=ne>>>0,Ce===void 0&&(Ce=\"utf8\")):(Ce=ne,ne=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var Ze=this.length-le;if((ne===void 0||ne>Ze)&&(ne=Ze),he.length>0&&(ne<0||le<0)||le>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Ce||(Ce=\"utf8\");for(var rt=!1;;)switch(Ce){case\"hex\":return B(this,he,le,ne);case\"utf8\":case\"utf-8\":return O(this,he,le,ne);case\"ascii\":case\"latin1\":case\"binary\":return P(this,he,le,ne);case\"base64\":return U(this,he,le,ne);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return N(this,he,le,ne);default:if(rt)throw new TypeError(\"Unknown encoding: \"+Ce);Ce=(\"\"+Ce).toLowerCase(),rt=!0}},c.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function X(Ue,he,le){return he===0&&le===Ue.length?n.fromByteArray(Ue):n.fromByteArray(Ue.slice(he,le))}function $(Ue,he,le){le=Math.min(Ue.length,le);for(var ne=[],Ce=he;Ce239?4:Ze>223?3:Ze>191?2:1;if(Ce+Ye<=le){var St,kt,qt,Gt;switch(Ye){case 1:Ze<128&&(rt=Ze);break;case 2:St=Ue[Ce+1],(St&192)===128&&(Gt=(Ze&31)<<6|St&63,Gt>127&&(rt=Gt));break;case 3:St=Ue[Ce+1],kt=Ue[Ce+2],(St&192)===128&&(kt&192)===128&&(Gt=(Ze&15)<<12|(St&63)<<6|kt&63,Gt>2047&&(Gt<55296||Gt>57343)&&(rt=Gt));break;case 4:St=Ue[Ce+1],kt=Ue[Ce+2],qt=Ue[Ce+3],(St&192)===128&&(kt&192)===128&&(qt&192)===128&&(Gt=(Ze&15)<<18|(St&63)<<12|(kt&63)<<6|qt&63,Gt>65535&&Gt<1114112&&(rt=Gt))}}rt===null?(rt=65533,Ye=1):rt>65535&&(rt-=65536,ne.push(rt>>>10&1023|55296),rt=56320|rt&1023),ne.push(rt),Ce+=Ye}return ce(ne)}var ue=4096;function ce(Ue){var he=Ue.length;if(he<=ue)return String.fromCharCode.apply(String,Ue);for(var le=\"\",ne=0;nene)&&(le=ne);for(var Ce=\"\",Ze=he;Zene&&(he=ne),le<0?(le+=ne,le<0&&(le=0)):le>ne&&(le=ne),lele)throw new RangeError(\"Trying to access beyond buffer length\")}c.prototype.readUintLE=c.prototype.readUIntLE=function(he,le,ne){he=he>>>0,le=le>>>0,ne||q(he,le,this.length);for(var Ce=this[he],Ze=1,rt=0;++rt>>0,le=le>>>0,ne||q(he,le,this.length);for(var Ce=this[he+--le],Ze=1;le>0&&(Ze*=256);)Ce+=this[he+--le]*Ze;return Ce},c.prototype.readUint8=c.prototype.readUInt8=function(he,le){return he=he>>>0,le||q(he,1,this.length),this[he]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(he,le){return he=he>>>0,le||q(he,2,this.length),this[he]|this[he+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(he,le){return he=he>>>0,le||q(he,2,this.length),this[he]<<8|this[he+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(he,le){return he=he>>>0,le||q(he,4,this.length),(this[he]|this[he+1]<<8|this[he+2]<<16)+this[he+3]*16777216},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(he,le){return he=he>>>0,le||q(he,4,this.length),this[he]*16777216+(this[he+1]<<16|this[he+2]<<8|this[he+3])},c.prototype.readIntLE=function(he,le,ne){he=he>>>0,le=le>>>0,ne||q(he,le,this.length);for(var Ce=this[he],Ze=1,rt=0;++rt=Ze&&(Ce-=Math.pow(2,8*le)),Ce},c.prototype.readIntBE=function(he,le,ne){he=he>>>0,le=le>>>0,ne||q(he,le,this.length);for(var Ce=le,Ze=1,rt=this[he+--Ce];Ce>0&&(Ze*=256);)rt+=this[he+--Ce]*Ze;return Ze*=128,rt>=Ze&&(rt-=Math.pow(2,8*le)),rt},c.prototype.readInt8=function(he,le){return he=he>>>0,le||q(he,1,this.length),this[he]&128?(255-this[he]+1)*-1:this[he]},c.prototype.readInt16LE=function(he,le){he=he>>>0,le||q(he,2,this.length);var ne=this[he]|this[he+1]<<8;return ne&32768?ne|4294901760:ne},c.prototype.readInt16BE=function(he,le){he=he>>>0,le||q(he,2,this.length);var ne=this[he+1]|this[he]<<8;return ne&32768?ne|4294901760:ne},c.prototype.readInt32LE=function(he,le){return he=he>>>0,le||q(he,4,this.length),this[he]|this[he+1]<<8|this[he+2]<<16|this[he+3]<<24},c.prototype.readInt32BE=function(he,le){return he=he>>>0,le||q(he,4,this.length),this[he]<<24|this[he+1]<<16|this[he+2]<<8|this[he+3]},c.prototype.readFloatLE=function(he,le){return he=he>>>0,le||q(he,4,this.length),i.read(this,he,!0,23,4)},c.prototype.readFloatBE=function(he,le){return he=he>>>0,le||q(he,4,this.length),i.read(this,he,!1,23,4)},c.prototype.readDoubleLE=function(he,le){return he=he>>>0,le||q(he,8,this.length),i.read(this,he,!0,52,8)},c.prototype.readDoubleBE=function(he,le){return he=he>>>0,le||q(he,8,this.length),i.read(this,he,!1,52,8)};function se(Ue,he,le,ne,Ce,Ze){if(!c.isBuffer(Ue))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(he>Ce||heUe.length)throw new RangeError(\"Index out of range\")}c.prototype.writeUintLE=c.prototype.writeUIntLE=function(he,le,ne,Ce){if(he=+he,le=le>>>0,ne=ne>>>0,!Ce){var Ze=Math.pow(2,8*ne)-1;se(this,he,le,ne,Ze,0)}var rt=1,Ye=0;for(this[le]=he&255;++Ye>>0,ne=ne>>>0,!Ce){var Ze=Math.pow(2,8*ne)-1;se(this,he,le,ne,Ze,0)}var rt=ne-1,Ye=1;for(this[le+rt]=he&255;--rt>=0&&(Ye*=256);)this[le+rt]=he/Ye&255;return le+ne},c.prototype.writeUint8=c.prototype.writeUInt8=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,1,255,0),this[le]=he&255,le+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,2,65535,0),this[le]=he&255,this[le+1]=he>>>8,le+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,2,65535,0),this[le]=he>>>8,this[le+1]=he&255,le+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,4,4294967295,0),this[le+3]=he>>>24,this[le+2]=he>>>16,this[le+1]=he>>>8,this[le]=he&255,le+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,4,4294967295,0),this[le]=he>>>24,this[le+1]=he>>>16,this[le+2]=he>>>8,this[le+3]=he&255,le+4},c.prototype.writeIntLE=function(he,le,ne,Ce){if(he=+he,le=le>>>0,!Ce){var Ze=Math.pow(2,8*ne-1);se(this,he,le,ne,Ze-1,-Ze)}var rt=0,Ye=1,St=0;for(this[le]=he&255;++rt>0)-St&255;return le+ne},c.prototype.writeIntBE=function(he,le,ne,Ce){if(he=+he,le=le>>>0,!Ce){var Ze=Math.pow(2,8*ne-1);se(this,he,le,ne,Ze-1,-Ze)}var rt=ne-1,Ye=1,St=0;for(this[le+rt]=he&255;--rt>=0&&(Ye*=256);)he<0&&St===0&&this[le+rt+1]!==0&&(St=1),this[le+rt]=(he/Ye>>0)-St&255;return le+ne},c.prototype.writeInt8=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,1,127,-128),he<0&&(he=255+he+1),this[le]=he&255,le+1},c.prototype.writeInt16LE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,2,32767,-32768),this[le]=he&255,this[le+1]=he>>>8,le+2},c.prototype.writeInt16BE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,2,32767,-32768),this[le]=he>>>8,this[le+1]=he&255,le+2},c.prototype.writeInt32LE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,4,2147483647,-2147483648),this[le]=he&255,this[le+1]=he>>>8,this[le+2]=he>>>16,this[le+3]=he>>>24,le+4},c.prototype.writeInt32BE=function(he,le,ne){return he=+he,le=le>>>0,ne||se(this,he,le,4,2147483647,-2147483648),he<0&&(he=4294967295+he+1),this[le]=he>>>24,this[le+1]=he>>>16,this[le+2]=he>>>8,this[le+3]=he&255,le+4};function ae(Ue,he,le,ne,Ce,Ze){if(le+ne>Ue.length)throw new RangeError(\"Index out of range\");if(le<0)throw new RangeError(\"Index out of range\")}function j(Ue,he,le,ne,Ce){return he=+he,le=le>>>0,Ce||ae(Ue,he,le,4,34028234663852886e22,-34028234663852886e22),i.write(Ue,he,le,ne,23,4),le+4}c.prototype.writeFloatLE=function(he,le,ne){return j(this,he,le,!0,ne)},c.prototype.writeFloatBE=function(he,le,ne){return j(this,he,le,!1,ne)};function Q(Ue,he,le,ne,Ce){return he=+he,le=le>>>0,Ce||ae(Ue,he,le,8,17976931348623157e292,-17976931348623157e292),i.write(Ue,he,le,ne,52,8),le+8}c.prototype.writeDoubleLE=function(he,le,ne){return Q(this,he,le,!0,ne)},c.prototype.writeDoubleBE=function(he,le,ne){return Q(this,he,le,!1,ne)},c.prototype.copy=function(he,le,ne,Ce){if(!c.isBuffer(he))throw new TypeError(\"argument should be a Buffer\");if(ne||(ne=0),!Ce&&Ce!==0&&(Ce=this.length),le>=he.length&&(le=he.length),le||(le=0),Ce>0&&Ce=this.length)throw new RangeError(\"Index out of range\");if(Ce<0)throw new RangeError(\"sourceEnd out of bounds\");Ce>this.length&&(Ce=this.length),he.length-le>>0,ne=ne===void 0?this.length:ne>>>0,he||(he=0);var rt;if(typeof he==\"number\")for(rt=le;rt55295&&le<57344){if(!Ce){if(le>56319){(he-=3)>-1&&Ze.push(239,191,189);continue}else if(rt+1===ne){(he-=3)>-1&&Ze.push(239,191,189);continue}Ce=le;continue}if(le<56320){(he-=3)>-1&&Ze.push(239,191,189),Ce=le;continue}le=(Ce-55296<<10|le-56320)+65536}else Ce&&(he-=3)>-1&&Ze.push(239,191,189);if(Ce=null,le<128){if((he-=1)<0)break;Ze.push(le)}else if(le<2048){if((he-=2)<0)break;Ze.push(le>>6|192,le&63|128)}else if(le<65536){if((he-=3)<0)break;Ze.push(le>>12|224,le>>6&63|128,le&63|128)}else if(le<1114112){if((he-=4)<0)break;Ze.push(le>>18|240,le>>12&63|128,le>>6&63|128,le&63|128)}else throw new Error(\"Invalid code point\")}return Ze}function Se(Ue){for(var he=[],le=0;le>8,Ce=le%256,Ze.push(Ce),Ze.push(ne);return Ze}function Re(Ue){return n.toByteArray(pe(Ue))}function He(Ue,he,le,ne){for(var Ce=0;Ce=he.length||Ce>=Ue.length);++Ce)he[Ce+le]=Ue[Ce];return Ce}function at(Ue,he){return Ue instanceof he||Ue!=null&&Ue.constructor!=null&&Ue.constructor.name!=null&&Ue.constructor.name===he.name}function nt(Ue){return Ue!==Ue}var tt=function(){for(var Ue=\"0123456789abcdef\",he=new Array(256),le=0;le<16;++le)for(var ne=le*16,Ce=0;Ce<16;++Ce)he[ne+Ce]=Ue[le]+Ue[Ce];return he}()},9216:function(e){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var t=/(android|bb\\d+|meego).+mobile|armv7l|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|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,o=/android|ipad|playbook|silk/i;function a(n){n||(n={});var i=n.ua;if(!i&&typeof navigator<\"u\"&&(i=navigator.userAgent),i&&i.headers&&typeof i.headers[\"user-agent\"]==\"string\"&&(i=i.headers[\"user-agent\"]),typeof i!=\"string\")return!1;var s=t.test(i)&&!r.test(i)||!!n.tablet&&o.test(i);return!s&&n.tablet&&n.featureDetect&&navigator&&navigator.maxTouchPoints>1&&i.indexOf(\"Macintosh\")!==-1&&i.indexOf(\"Safari\")!==-1&&(s=!0),s}},6296:function(e,t,r){\"use strict\";e.exports=h;var o=r(7261),a=r(9977),n=r(1811);function i(f,v){this._controllerNames=Object.keys(f),this._controllerList=this._controllerNames.map(function(c){return f[c]}),this._mode=v,this._active=f[v],this._active||(this._mode=\"turntable\",this._active=f.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=i.prototype;s.flush=function(f){for(var v=this._controllerList,c=0;c\"u\"?r(1538):WeakMap,a=r(2762),n=r(8116),i=new o;function s(h){var f=i.get(h),v=f&&(f._triangleBuffer.handle||f._triangleBuffer.buffer);if(!v||!h.isBuffer(v)){var c=a(h,new Float32Array([-1,-1,-1,4,4,-1]));f=n(h,[{buffer:c,type:h.FLOAT,size:2}]),f._triangleBuffer=c,i.set(h,f)}f.bind(),h.drawArrays(h.TRIANGLES,0,3),f.unbind()}e.exports=s},1085:function(e,t,r){var o=r(1371);e.exports=a;function a(n,i,s){i=typeof i==\"number\"?i:1,s=s||\": \";var h=n.split(/\\r?\\n/),f=String(h.length+i-1).length;return h.map(function(v,c){var T=c+i,l=String(T).length,x=o(T,f-l);return x+s+v}).join(`\n`)}},3952:function(e,t,r){\"use strict\";e.exports=n;var o=r(3250);function a(i,s){for(var h=new Array(s+1),f=0;f0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var M=w.indexOf(\"=\");M===-1&&(M=S);var m=M===S?0:4-M%4;return[M,m]}function f(w){var S=h(w),M=S[0],m=S[1];return(M+m)*3/4-m}function v(w,S,M){return(S+M)*3/4-M}function c(w){var S,M=h(w),m=M[0],b=M[1],p=new a(v(w,m,b)),u=0,g=b>0?m-4:m,y;for(y=0;y>16&255,p[u++]=S>>8&255,p[u++]=S&255;return b===2&&(S=o[w.charCodeAt(y)]<<2|o[w.charCodeAt(y+1)]>>4,p[u++]=S&255),b===1&&(S=o[w.charCodeAt(y)]<<10|o[w.charCodeAt(y+1)]<<4|o[w.charCodeAt(y+2)]>>2,p[u++]=S>>8&255,p[u++]=S&255),p}function T(w){return r[w>>18&63]+r[w>>12&63]+r[w>>6&63]+r[w&63]}function l(w,S,M){for(var m,b=[],p=S;pg?g:u+p));return m===1?(S=w[M-1],b.push(r[S>>2]+r[S<<4&63]+\"==\")):m===2&&(S=(w[M-2]<<8)+w[M-1],b.push(r[S>>10]+r[S>>4&63]+r[S<<2&63]+\"=\")),b.join(\"\")}},3865:function(e,t,r){\"use strict\";var o=r(869);e.exports=a;function a(n,i){return o(n[0].mul(i[1]).add(i[0].mul(n[1])),n[1].mul(i[1]))}},1318:function(e){\"use strict\";e.exports=t;function t(r,o){return r[0].mul(o[1]).cmp(o[0].mul(r[1]))}},8697:function(e,t,r){\"use strict\";var o=r(869);e.exports=a;function a(n,i){return o(n[0].mul(i[1]),n[1].mul(i[0]))}},7842:function(e,t,r){\"use strict\";var o=r(6330),a=r(1533),n=r(2651),i=r(6768),s=r(869),h=r(8697);e.exports=f;function f(v,c){if(o(v))return c?h(v,f(c)):[v[0].clone(),v[1].clone()];var T=0,l,x;if(a(v))l=v.clone();else if(typeof v==\"string\")l=i(v);else{if(v===0)return[n(0),n(1)];if(v===Math.floor(v))l=n(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),T-=256;l=n(v)}}if(o(c))l.mul(c[1]),x=c[0].clone();else if(a(c))x=c.clone();else if(typeof c==\"string\")x=i(c);else if(!c)x=n(1);else if(c===Math.floor(c))x=n(c);else{for(;c!==Math.floor(c);)c=c*Math.pow(2,256),T+=256;x=n(c)}return T>0?l=l.ushln(T):T<0&&(x=x.ushln(-T)),s(l,x)}},6330:function(e,t,r){\"use strict\";var o=r(1533);e.exports=a;function a(n){return Array.isArray(n)&&n.length===2&&o(n[0])&&o(n[1])}},5716:function(e,t,r){\"use strict\";var o=r(6859);e.exports=a;function a(n){return n.cmp(new o(0))}},1369:function(e,t,r){\"use strict\";var o=r(5716);e.exports=a;function a(n){var i=n.length,s=n.words,h=0;if(i===1)h=s[0];else if(i===2)h=s[0]+s[1]*67108864;else for(var f=0;f20?52:h+32}},1533:function(e,t,r){\"use strict\";var o=r(6859);e.exports=a;function a(n){return n&&typeof n==\"object\"&&!!n.words}},2651:function(e,t,r){\"use strict\";var o=r(6859),a=r(2361);e.exports=n;function n(i){var s=a.exponent(i);return s<52?new o(i):new o(i*Math.pow(2,52-s)).ushln(s-52)}},869:function(e,t,r){\"use strict\";var o=r(2651),a=r(5716);e.exports=n;function n(i,s){var h=a(i),f=a(s);if(h===0)return[o(0),o(1)];if(f===0)return[o(0),o(0)];f<0&&(i=i.neg(),s=s.neg());var v=i.gcd(s);return v.cmpn(1)?[i.div(v),s.div(v)]:[i,s]}},6768:function(e,t,r){\"use strict\";var o=r(6859);e.exports=a;function a(n){return new o(n)}},6504:function(e,t,r){\"use strict\";var o=r(869);e.exports=a;function a(n,i){return o(n[0].mul(i[0]),n[1].mul(i[1]))}},7721:function(e,t,r){\"use strict\";var o=r(5716);e.exports=a;function a(n){return o(n[0])*o(n[1])}},5572:function(e,t,r){\"use strict\";var o=r(869);e.exports=a;function a(n,i){return o(n[0].mul(i[1]).sub(n[1].mul(i[0])),n[1].mul(i[1]))}},946:function(e,t,r){\"use strict\";var o=r(1369),a=r(4025);e.exports=n;function n(i){var s=i[0],h=i[1];if(s.cmpn(0)===0)return 0;var f=s.abs().divmod(h.abs()),v=f.div,c=o(v),T=f.mod,l=s.negative!==h.negative?-1:1;if(T.cmpn(0)===0)return l*c;if(c){var x=a(c)+4,w=o(T.ushln(x).divRound(h));return l*(c+w*Math.pow(2,-x))}else{var S=h.bitLength()-T.bitLength()+53,w=o(T.ushln(S).divRound(h));return S<1023?l*w*Math.pow(2,-S):(w*=Math.pow(2,-1023),l*w*Math.pow(2,1023-S))}}},2478:function(e){\"use strict\";function t(s,h,f,v,c){for(var T=c+1;v<=c;){var l=v+c>>>1,x=s[l],w=f!==void 0?f(x,h):x-h;w>=0?(T=l,c=l-1):v=l+1}return T}function r(s,h,f,v,c){for(var T=c+1;v<=c;){var l=v+c>>>1,x=s[l],w=f!==void 0?f(x,h):x-h;w>0?(T=l,c=l-1):v=l+1}return T}function o(s,h,f,v,c){for(var T=v-1;v<=c;){var l=v+c>>>1,x=s[l],w=f!==void 0?f(x,h):x-h;w<0?(T=l,v=l+1):c=l-1}return T}function a(s,h,f,v,c){for(var T=v-1;v<=c;){var l=v+c>>>1,x=s[l],w=f!==void 0?f(x,h):x-h;w<=0?(T=l,v=l+1):c=l-1}return T}function n(s,h,f,v,c){for(;v<=c;){var T=v+c>>>1,l=s[T],x=f!==void 0?f(l,h):l-h;if(x===0)return T;x<=0?v=T+1:c=T-1}return-1}function i(s,h,f,v,c,T){return typeof f==\"function\"?T(s,h,f,v===void 0?0:v|0,c===void 0?s.length-1:c|0):T(s,h,void 0,f===void 0?0:f|0,v===void 0?s.length-1:v|0)}e.exports={ge:function(s,h,f,v,c){return i(s,h,f,v,c,t)},gt:function(s,h,f,v,c){return i(s,h,f,v,c,r)},lt:function(s,h,f,v,c){return i(s,h,f,v,c,o)},le:function(s,h,f,v,c){return i(s,h,f,v,c,a)},eq:function(s,h,f,v,c){return i(s,h,f,v,c,n)}}},8828:function(e,t){\"use strict\";\"use restrict\";var r=32;t.INT_BITS=r,t.INT_MAX=2147483647,t.INT_MIN=-1<0)-(n<0)},t.abs=function(n){var i=n>>r-1;return(n^i)-i},t.min=function(n,i){return i^(n^i)&-(n65535)<<4,n>>>=i,s=(n>255)<<3,n>>>=s,i|=s,s=(n>15)<<2,n>>>=s,i|=s,s=(n>3)<<1,n>>>=s,i|=s,i|n>>1},t.log10=function(n){return n>=1e9?9:n>=1e8?8:n>=1e7?7:n>=1e6?6:n>=1e5?5:n>=1e4?4:n>=1e3?3:n>=100?2:n>=10?1:0},t.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function o(n){var i=32;return n&=-n,n&&i--,n&65535&&(i-=16),n&16711935&&(i-=8),n&252645135&&(i-=4),n&858993459&&(i-=2),n&1431655765&&(i-=1),i}t.countTrailingZeros=o,t.nextPow2=function(n){return n+=n===0,--n,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n+1},t.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},t.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var a=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,h=i,f=7;for(s>>>=1;s;s>>>=1)h<<=1,h|=s&1,--f;n[i]=h<>>8&255]<<16|a[n>>>16&255]<<8|a[n>>>24&255]},t.interleave2=function(n,i){return n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,i&=65535,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,n|i<<1},t.deinterleave2=function(n,i){return n=n>>>i&1431655765,n=(n|n>>>1)&858993459,n=(n|n>>>2)&252645135,n=(n|n>>>4)&16711935,n=(n|n>>>16)&65535,n<<16>>16},t.interleave3=function(n,i,s){return n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,i&=1023,i=(i|i<<16)&4278190335,i=(i|i<<8)&251719695,i=(i|i<<4)&3272356035,i=(i|i<<2)&1227133513,n|=i<<1,s&=1023,s=(s|s<<16)&4278190335,s=(s|s<<8)&251719695,s=(s|s<<4)&3272356035,s=(s|s<<2)&1227133513,n|s<<2},t.deinterleave3=function(n,i){return n=n>>>i&1227133513,n=(n|n>>>2)&3272356035,n=(n|n>>>4)&251719695,n=(n|n>>>8)&4278190335,n=(n|n>>>16)&1023,n<<22>>22},t.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>o(n)+1}},6859:function(e,t,r){e=r.nmd(e),function(o,a){\"use strict\";function n(O,P){if(!O)throw new Error(P||\"Assertion failed\")}function i(O,P){O.super_=P;var U=function(){};U.prototype=P.prototype,O.prototype=new U,O.prototype.constructor=O}function s(O,P,U){if(s.isBN(O))return O;this.negative=0,this.words=null,this.length=0,this.red=null,O!==null&&((P===\"le\"||P===\"be\")&&(U=P,P=10),this._init(O||0,P||10,U||\"be\"))}typeof o==\"object\"?o.exports=s:a.BN=s,s.BN=s,s.wordSize=26;var h;try{typeof window<\"u\"&&typeof window.Buffer<\"u\"?h=window.Buffer:h=r(7790).Buffer}catch{}s.isBN=function(P){return P instanceof s?!0:P!==null&&typeof P==\"object\"&&P.constructor.wordSize===s.wordSize&&Array.isArray(P.words)},s.max=function(P,U){return P.cmp(U)>0?P:U},s.min=function(P,U){return P.cmp(U)<0?P:U},s.prototype._init=function(P,U,N){if(typeof P==\"number\")return this._initNumber(P,U,N);if(typeof P==\"object\")return this._initArray(P,U,N);U===\"hex\"&&(U=16),n(U===(U|0)&&U>=2&&U<=36),P=P.toString().replace(/\\s+/g,\"\");var X=0;P[0]===\"-\"&&(X++,this.negative=1),X=0;X-=3)ue=P[X]|P[X-1]<<8|P[X-2]<<16,this.words[$]|=ue<>>26-ce&67108863,ce+=24,ce>=26&&(ce-=26,$++);else if(N===\"le\")for(X=0,$=0;X>>26-ce&67108863,ce+=24,ce>=26&&(ce-=26,$++);return this.strip()};function f(O,P){var U=O.charCodeAt(P);return U>=65&&U<=70?U-55:U>=97&&U<=102?U-87:U-48&15}function v(O,P,U){var N=f(O,U);return U-1>=P&&(N|=f(O,U-1)<<4),N}s.prototype._parseHex=function(P,U,N){this.length=Math.ceil((P.length-U)/6),this.words=new Array(this.length);for(var X=0;X=U;X-=2)ce=v(P,U,X)<<$,this.words[ue]|=ce&67108863,$>=18?($-=18,ue+=1,this.words[ue]|=ce>>>26):$+=8;else{var de=P.length-U;for(X=de%2===0?U+1:U;X=18?($-=18,ue+=1,this.words[ue]|=ce>>>26):$+=8}this.strip()};function c(O,P,U,N){for(var X=0,$=Math.min(O.length,U),ue=P;ue<$;ue++){var ce=O.charCodeAt(ue)-48;X*=N,ce>=49?X+=ce-49+10:ce>=17?X+=ce-17+10:X+=ce}return X}s.prototype._parseBase=function(P,U,N){this.words=[0],this.length=1;for(var X=0,$=1;$<=67108863;$*=U)X++;X--,$=$/U|0;for(var ue=P.length-N,ce=ue%X,de=Math.min(ue,ue-ce)+N,V=0,Y=N;Y1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?\"\"};var T=[\"\",\"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\"],l=[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],x=[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];s.prototype.toString=function(P,U){P=P||10,U=U|0||1;var N;if(P===16||P===\"hex\"){N=\"\";for(var X=0,$=0,ue=0;ue>>24-X&16777215,X+=2,X>=26&&(X-=26,ue--),$!==0||ue!==this.length-1?N=T[6-de.length]+de+N:N=de+N}for($!==0&&(N=$.toString(16)+N);N.length%U!==0;)N=\"0\"+N;return this.negative!==0&&(N=\"-\"+N),N}if(P===(P|0)&&P>=2&&P<=36){var V=l[P],Y=x[P];N=\"\";var ee=this.clone();for(ee.negative=0;!ee.isZero();){var q=ee.modn(Y).toString(P);ee=ee.idivn(Y),ee.isZero()?N=q+N:N=T[V-q.length]+q+N}for(this.isZero()&&(N=\"0\"+N);N.length%U!==0;)N=\"0\"+N;return this.negative!==0&&(N=\"-\"+N),N}n(!1,\"Base should be between 2 and 36\")},s.prototype.toNumber=function(){var P=this.words[0];return this.length===2?P+=this.words[1]*67108864:this.length===3&&this.words[2]===1?P+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-P:P},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(P,U){return n(typeof h<\"u\"),this.toArrayLike(h,P,U)},s.prototype.toArray=function(P,U){return this.toArrayLike(Array,P,U)},s.prototype.toArrayLike=function(P,U,N){var X=this.byteLength(),$=N||Math.max(1,X);n(X<=$,\"byte array longer than desired length\"),n($>0,\"Requested array length <= 0\"),this.strip();var ue=U===\"le\",ce=new P($),de,V,Y=this.clone();if(ue){for(V=0;!Y.isZero();V++)de=Y.andln(255),Y.iushrn(8),ce[V]=de;for(;V<$;V++)ce[V]=0}else{for(V=0;V<$-X;V++)ce[V]=0;for(V=0;!Y.isZero();V++)de=Y.andln(255),Y.iushrn(8),ce[$-V-1]=de}return ce},Math.clz32?s.prototype._countBits=function(P){return 32-Math.clz32(P)}:s.prototype._countBits=function(P){var U=P,N=0;return U>=4096&&(N+=13,U>>>=13),U>=64&&(N+=7,U>>>=7),U>=8&&(N+=4,U>>>=4),U>=2&&(N+=2,U>>>=2),N+U},s.prototype._zeroBits=function(P){if(P===0)return 26;var U=P,N=0;return U&8191||(N+=13,U>>>=13),U&127||(N+=7,U>>>=7),U&15||(N+=4,U>>>=4),U&3||(N+=2,U>>>=2),U&1||N++,N},s.prototype.bitLength=function(){var P=this.words[this.length-1],U=this._countBits(P);return(this.length-1)*26+U};function w(O){for(var P=new Array(O.bitLength()),U=0;U>>X}return P}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var P=0,U=0;UP.length?this.clone().ior(P):P.clone().ior(this)},s.prototype.uor=function(P){return this.length>P.length?this.clone().iuor(P):P.clone().iuor(this)},s.prototype.iuand=function(P){var U;this.length>P.length?U=P:U=this;for(var N=0;NP.length?this.clone().iand(P):P.clone().iand(this)},s.prototype.uand=function(P){return this.length>P.length?this.clone().iuand(P):P.clone().iuand(this)},s.prototype.iuxor=function(P){var U,N;this.length>P.length?(U=this,N=P):(U=P,N=this);for(var X=0;XP.length?this.clone().ixor(P):P.clone().ixor(this)},s.prototype.uxor=function(P){return this.length>P.length?this.clone().iuxor(P):P.clone().iuxor(this)},s.prototype.inotn=function(P){n(typeof P==\"number\"&&P>=0);var U=Math.ceil(P/26)|0,N=P%26;this._expand(U),N>0&&U--;for(var X=0;X0&&(this.words[X]=~this.words[X]&67108863>>26-N),this.strip()},s.prototype.notn=function(P){return this.clone().inotn(P)},s.prototype.setn=function(P,U){n(typeof P==\"number\"&&P>=0);var N=P/26|0,X=P%26;return this._expand(N+1),U?this.words[N]=this.words[N]|1<P.length?(N=this,X=P):(N=P,X=this);for(var $=0,ue=0;ue>>26;for(;$!==0&&ue>>26;if(this.length=N.length,$!==0)this.words[this.length]=$,this.length++;else if(N!==this)for(;ueP.length?this.clone().iadd(P):P.clone().iadd(this)},s.prototype.isub=function(P){if(P.negative!==0){P.negative=0;var U=this.iadd(P);return P.negative=1,U._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(P),this.negative=1,this._normSign();var N=this.cmp(P);if(N===0)return this.negative=0,this.length=1,this.words[0]=0,this;var X,$;N>0?(X=this,$=P):(X=P,$=this);for(var ue=0,ce=0;ce<$.length;ce++)U=(X.words[ce]|0)-($.words[ce]|0)+ue,ue=U>>26,this.words[ce]=U&67108863;for(;ue!==0&&ce>26,this.words[ce]=U&67108863;if(ue===0&&ce>>26,ee=de&67108863,q=Math.min(V,P.length-1),se=Math.max(0,V-O.length+1);se<=q;se++){var ae=V-se|0;X=O.words[ae]|0,$=P.words[se]|0,ue=X*$+ee,Y+=ue/67108864|0,ee=ue&67108863}U.words[V]=ee|0,de=Y|0}return de!==0?U.words[V]=de|0:U.length--,U.strip()}var M=function(P,U,N){var X=P.words,$=U.words,ue=N.words,ce=0,de,V,Y,ee=X[0]|0,q=ee&8191,se=ee>>>13,ae=X[1]|0,j=ae&8191,Q=ae>>>13,re=X[2]|0,pe=re&8191,we=re>>>13,Se=X[3]|0,Ie=Se&8191,Re=Se>>>13,He=X[4]|0,at=He&8191,nt=He>>>13,tt=X[5]|0,Ue=tt&8191,he=tt>>>13,le=X[6]|0,ne=le&8191,Ce=le>>>13,Ze=X[7]|0,rt=Ze&8191,Ye=Ze>>>13,St=X[8]|0,kt=St&8191,qt=St>>>13,Gt=X[9]|0,Tr=Gt&8191,mr=Gt>>>13,qr=$[0]|0,Er=qr&8191,Dr=qr>>>13,xt=$[1]|0,Oe=xt&8191,Ke=xt>>>13,Ae=$[2]|0,Le=Ae&8191,We=Ae>>>13,Je=$[3]|0,st=Je&8191,ot=Je>>>13,Ut=$[4]|0,Ct=Ut&8191,Pt=Ut>>>13,Nt=$[5]|0,cr=Nt&8191,lr=Nt>>>13,sr=$[6]|0,Pr=sr&8191,_a=sr>>>13,Fa=$[7]|0,Ra=Fa&8191,qa=Fa>>>13,Wa=$[8]|0,Ca=Wa&8191,hi=Wa>>>13,wi=$[9]|0,Yt=wi&8191,Rt=wi>>>13;N.negative=P.negative^U.negative,N.length=19,de=Math.imul(q,Er),V=Math.imul(q,Dr),V=V+Math.imul(se,Er)|0,Y=Math.imul(se,Dr);var Zt=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,de=Math.imul(j,Er),V=Math.imul(j,Dr),V=V+Math.imul(Q,Er)|0,Y=Math.imul(Q,Dr),de=de+Math.imul(q,Oe)|0,V=V+Math.imul(q,Ke)|0,V=V+Math.imul(se,Oe)|0,Y=Y+Math.imul(se,Ke)|0;var Jt=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(Jt>>>26)|0,Jt&=67108863,de=Math.imul(pe,Er),V=Math.imul(pe,Dr),V=V+Math.imul(we,Er)|0,Y=Math.imul(we,Dr),de=de+Math.imul(j,Oe)|0,V=V+Math.imul(j,Ke)|0,V=V+Math.imul(Q,Oe)|0,Y=Y+Math.imul(Q,Ke)|0,de=de+Math.imul(q,Le)|0,V=V+Math.imul(q,We)|0,V=V+Math.imul(se,Le)|0,Y=Y+Math.imul(se,We)|0;var Or=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(Or>>>26)|0,Or&=67108863,de=Math.imul(Ie,Er),V=Math.imul(Ie,Dr),V=V+Math.imul(Re,Er)|0,Y=Math.imul(Re,Dr),de=de+Math.imul(pe,Oe)|0,V=V+Math.imul(pe,Ke)|0,V=V+Math.imul(we,Oe)|0,Y=Y+Math.imul(we,Ke)|0,de=de+Math.imul(j,Le)|0,V=V+Math.imul(j,We)|0,V=V+Math.imul(Q,Le)|0,Y=Y+Math.imul(Q,We)|0,de=de+Math.imul(q,st)|0,V=V+Math.imul(q,ot)|0,V=V+Math.imul(se,st)|0,Y=Y+Math.imul(se,ot)|0;var ta=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(ta>>>26)|0,ta&=67108863,de=Math.imul(at,Er),V=Math.imul(at,Dr),V=V+Math.imul(nt,Er)|0,Y=Math.imul(nt,Dr),de=de+Math.imul(Ie,Oe)|0,V=V+Math.imul(Ie,Ke)|0,V=V+Math.imul(Re,Oe)|0,Y=Y+Math.imul(Re,Ke)|0,de=de+Math.imul(pe,Le)|0,V=V+Math.imul(pe,We)|0,V=V+Math.imul(we,Le)|0,Y=Y+Math.imul(we,We)|0,de=de+Math.imul(j,st)|0,V=V+Math.imul(j,ot)|0,V=V+Math.imul(Q,st)|0,Y=Y+Math.imul(Q,ot)|0,de=de+Math.imul(q,Ct)|0,V=V+Math.imul(q,Pt)|0,V=V+Math.imul(se,Ct)|0,Y=Y+Math.imul(se,Pt)|0;var ra=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(ra>>>26)|0,ra&=67108863,de=Math.imul(Ue,Er),V=Math.imul(Ue,Dr),V=V+Math.imul(he,Er)|0,Y=Math.imul(he,Dr),de=de+Math.imul(at,Oe)|0,V=V+Math.imul(at,Ke)|0,V=V+Math.imul(nt,Oe)|0,Y=Y+Math.imul(nt,Ke)|0,de=de+Math.imul(Ie,Le)|0,V=V+Math.imul(Ie,We)|0,V=V+Math.imul(Re,Le)|0,Y=Y+Math.imul(Re,We)|0,de=de+Math.imul(pe,st)|0,V=V+Math.imul(pe,ot)|0,V=V+Math.imul(we,st)|0,Y=Y+Math.imul(we,ot)|0,de=de+Math.imul(j,Ct)|0,V=V+Math.imul(j,Pt)|0,V=V+Math.imul(Q,Ct)|0,Y=Y+Math.imul(Q,Pt)|0,de=de+Math.imul(q,cr)|0,V=V+Math.imul(q,lr)|0,V=V+Math.imul(se,cr)|0,Y=Y+Math.imul(se,lr)|0;var ca=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(ca>>>26)|0,ca&=67108863,de=Math.imul(ne,Er),V=Math.imul(ne,Dr),V=V+Math.imul(Ce,Er)|0,Y=Math.imul(Ce,Dr),de=de+Math.imul(Ue,Oe)|0,V=V+Math.imul(Ue,Ke)|0,V=V+Math.imul(he,Oe)|0,Y=Y+Math.imul(he,Ke)|0,de=de+Math.imul(at,Le)|0,V=V+Math.imul(at,We)|0,V=V+Math.imul(nt,Le)|0,Y=Y+Math.imul(nt,We)|0,de=de+Math.imul(Ie,st)|0,V=V+Math.imul(Ie,ot)|0,V=V+Math.imul(Re,st)|0,Y=Y+Math.imul(Re,ot)|0,de=de+Math.imul(pe,Ct)|0,V=V+Math.imul(pe,Pt)|0,V=V+Math.imul(we,Ct)|0,Y=Y+Math.imul(we,Pt)|0,de=de+Math.imul(j,cr)|0,V=V+Math.imul(j,lr)|0,V=V+Math.imul(Q,cr)|0,Y=Y+Math.imul(Q,lr)|0,de=de+Math.imul(q,Pr)|0,V=V+Math.imul(q,_a)|0,V=V+Math.imul(se,Pr)|0,Y=Y+Math.imul(se,_a)|0;var Ba=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(Ba>>>26)|0,Ba&=67108863,de=Math.imul(rt,Er),V=Math.imul(rt,Dr),V=V+Math.imul(Ye,Er)|0,Y=Math.imul(Ye,Dr),de=de+Math.imul(ne,Oe)|0,V=V+Math.imul(ne,Ke)|0,V=V+Math.imul(Ce,Oe)|0,Y=Y+Math.imul(Ce,Ke)|0,de=de+Math.imul(Ue,Le)|0,V=V+Math.imul(Ue,We)|0,V=V+Math.imul(he,Le)|0,Y=Y+Math.imul(he,We)|0,de=de+Math.imul(at,st)|0,V=V+Math.imul(at,ot)|0,V=V+Math.imul(nt,st)|0,Y=Y+Math.imul(nt,ot)|0,de=de+Math.imul(Ie,Ct)|0,V=V+Math.imul(Ie,Pt)|0,V=V+Math.imul(Re,Ct)|0,Y=Y+Math.imul(Re,Pt)|0,de=de+Math.imul(pe,cr)|0,V=V+Math.imul(pe,lr)|0,V=V+Math.imul(we,cr)|0,Y=Y+Math.imul(we,lr)|0,de=de+Math.imul(j,Pr)|0,V=V+Math.imul(j,_a)|0,V=V+Math.imul(Q,Pr)|0,Y=Y+Math.imul(Q,_a)|0,de=de+Math.imul(q,Ra)|0,V=V+Math.imul(q,qa)|0,V=V+Math.imul(se,Ra)|0,Y=Y+Math.imul(se,qa)|0;var $a=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+($a>>>26)|0,$a&=67108863,de=Math.imul(kt,Er),V=Math.imul(kt,Dr),V=V+Math.imul(qt,Er)|0,Y=Math.imul(qt,Dr),de=de+Math.imul(rt,Oe)|0,V=V+Math.imul(rt,Ke)|0,V=V+Math.imul(Ye,Oe)|0,Y=Y+Math.imul(Ye,Ke)|0,de=de+Math.imul(ne,Le)|0,V=V+Math.imul(ne,We)|0,V=V+Math.imul(Ce,Le)|0,Y=Y+Math.imul(Ce,We)|0,de=de+Math.imul(Ue,st)|0,V=V+Math.imul(Ue,ot)|0,V=V+Math.imul(he,st)|0,Y=Y+Math.imul(he,ot)|0,de=de+Math.imul(at,Ct)|0,V=V+Math.imul(at,Pt)|0,V=V+Math.imul(nt,Ct)|0,Y=Y+Math.imul(nt,Pt)|0,de=de+Math.imul(Ie,cr)|0,V=V+Math.imul(Ie,lr)|0,V=V+Math.imul(Re,cr)|0,Y=Y+Math.imul(Re,lr)|0,de=de+Math.imul(pe,Pr)|0,V=V+Math.imul(pe,_a)|0,V=V+Math.imul(we,Pr)|0,Y=Y+Math.imul(we,_a)|0,de=de+Math.imul(j,Ra)|0,V=V+Math.imul(j,qa)|0,V=V+Math.imul(Q,Ra)|0,Y=Y+Math.imul(Q,qa)|0,de=de+Math.imul(q,Ca)|0,V=V+Math.imul(q,hi)|0,V=V+Math.imul(se,Ca)|0,Y=Y+Math.imul(se,hi)|0;var Za=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(Za>>>26)|0,Za&=67108863,de=Math.imul(Tr,Er),V=Math.imul(Tr,Dr),V=V+Math.imul(mr,Er)|0,Y=Math.imul(mr,Dr),de=de+Math.imul(kt,Oe)|0,V=V+Math.imul(kt,Ke)|0,V=V+Math.imul(qt,Oe)|0,Y=Y+Math.imul(qt,Ke)|0,de=de+Math.imul(rt,Le)|0,V=V+Math.imul(rt,We)|0,V=V+Math.imul(Ye,Le)|0,Y=Y+Math.imul(Ye,We)|0,de=de+Math.imul(ne,st)|0,V=V+Math.imul(ne,ot)|0,V=V+Math.imul(Ce,st)|0,Y=Y+Math.imul(Ce,ot)|0,de=de+Math.imul(Ue,Ct)|0,V=V+Math.imul(Ue,Pt)|0,V=V+Math.imul(he,Ct)|0,Y=Y+Math.imul(he,Pt)|0,de=de+Math.imul(at,cr)|0,V=V+Math.imul(at,lr)|0,V=V+Math.imul(nt,cr)|0,Y=Y+Math.imul(nt,lr)|0,de=de+Math.imul(Ie,Pr)|0,V=V+Math.imul(Ie,_a)|0,V=V+Math.imul(Re,Pr)|0,Y=Y+Math.imul(Re,_a)|0,de=de+Math.imul(pe,Ra)|0,V=V+Math.imul(pe,qa)|0,V=V+Math.imul(we,Ra)|0,Y=Y+Math.imul(we,qa)|0,de=de+Math.imul(j,Ca)|0,V=V+Math.imul(j,hi)|0,V=V+Math.imul(Q,Ca)|0,Y=Y+Math.imul(Q,hi)|0,de=de+Math.imul(q,Yt)|0,V=V+Math.imul(q,Rt)|0,V=V+Math.imul(se,Yt)|0,Y=Y+Math.imul(se,Rt)|0;var ri=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(ri>>>26)|0,ri&=67108863,de=Math.imul(Tr,Oe),V=Math.imul(Tr,Ke),V=V+Math.imul(mr,Oe)|0,Y=Math.imul(mr,Ke),de=de+Math.imul(kt,Le)|0,V=V+Math.imul(kt,We)|0,V=V+Math.imul(qt,Le)|0,Y=Y+Math.imul(qt,We)|0,de=de+Math.imul(rt,st)|0,V=V+Math.imul(rt,ot)|0,V=V+Math.imul(Ye,st)|0,Y=Y+Math.imul(Ye,ot)|0,de=de+Math.imul(ne,Ct)|0,V=V+Math.imul(ne,Pt)|0,V=V+Math.imul(Ce,Ct)|0,Y=Y+Math.imul(Ce,Pt)|0,de=de+Math.imul(Ue,cr)|0,V=V+Math.imul(Ue,lr)|0,V=V+Math.imul(he,cr)|0,Y=Y+Math.imul(he,lr)|0,de=de+Math.imul(at,Pr)|0,V=V+Math.imul(at,_a)|0,V=V+Math.imul(nt,Pr)|0,Y=Y+Math.imul(nt,_a)|0,de=de+Math.imul(Ie,Ra)|0,V=V+Math.imul(Ie,qa)|0,V=V+Math.imul(Re,Ra)|0,Y=Y+Math.imul(Re,qa)|0,de=de+Math.imul(pe,Ca)|0,V=V+Math.imul(pe,hi)|0,V=V+Math.imul(we,Ca)|0,Y=Y+Math.imul(we,hi)|0,de=de+Math.imul(j,Yt)|0,V=V+Math.imul(j,Rt)|0,V=V+Math.imul(Q,Yt)|0,Y=Y+Math.imul(Q,Rt)|0;var pi=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(pi>>>26)|0,pi&=67108863,de=Math.imul(Tr,Le),V=Math.imul(Tr,We),V=V+Math.imul(mr,Le)|0,Y=Math.imul(mr,We),de=de+Math.imul(kt,st)|0,V=V+Math.imul(kt,ot)|0,V=V+Math.imul(qt,st)|0,Y=Y+Math.imul(qt,ot)|0,de=de+Math.imul(rt,Ct)|0,V=V+Math.imul(rt,Pt)|0,V=V+Math.imul(Ye,Ct)|0,Y=Y+Math.imul(Ye,Pt)|0,de=de+Math.imul(ne,cr)|0,V=V+Math.imul(ne,lr)|0,V=V+Math.imul(Ce,cr)|0,Y=Y+Math.imul(Ce,lr)|0,de=de+Math.imul(Ue,Pr)|0,V=V+Math.imul(Ue,_a)|0,V=V+Math.imul(he,Pr)|0,Y=Y+Math.imul(he,_a)|0,de=de+Math.imul(at,Ra)|0,V=V+Math.imul(at,qa)|0,V=V+Math.imul(nt,Ra)|0,Y=Y+Math.imul(nt,qa)|0,de=de+Math.imul(Ie,Ca)|0,V=V+Math.imul(Ie,hi)|0,V=V+Math.imul(Re,Ca)|0,Y=Y+Math.imul(Re,hi)|0,de=de+Math.imul(pe,Yt)|0,V=V+Math.imul(pe,Rt)|0,V=V+Math.imul(we,Yt)|0,Y=Y+Math.imul(we,Rt)|0;var Ia=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(Ia>>>26)|0,Ia&=67108863,de=Math.imul(Tr,st),V=Math.imul(Tr,ot),V=V+Math.imul(mr,st)|0,Y=Math.imul(mr,ot),de=de+Math.imul(kt,Ct)|0,V=V+Math.imul(kt,Pt)|0,V=V+Math.imul(qt,Ct)|0,Y=Y+Math.imul(qt,Pt)|0,de=de+Math.imul(rt,cr)|0,V=V+Math.imul(rt,lr)|0,V=V+Math.imul(Ye,cr)|0,Y=Y+Math.imul(Ye,lr)|0,de=de+Math.imul(ne,Pr)|0,V=V+Math.imul(ne,_a)|0,V=V+Math.imul(Ce,Pr)|0,Y=Y+Math.imul(Ce,_a)|0,de=de+Math.imul(Ue,Ra)|0,V=V+Math.imul(Ue,qa)|0,V=V+Math.imul(he,Ra)|0,Y=Y+Math.imul(he,qa)|0,de=de+Math.imul(at,Ca)|0,V=V+Math.imul(at,hi)|0,V=V+Math.imul(nt,Ca)|0,Y=Y+Math.imul(nt,hi)|0,de=de+Math.imul(Ie,Yt)|0,V=V+Math.imul(Ie,Rt)|0,V=V+Math.imul(Re,Yt)|0,Y=Y+Math.imul(Re,Rt)|0;var rn=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(rn>>>26)|0,rn&=67108863,de=Math.imul(Tr,Ct),V=Math.imul(Tr,Pt),V=V+Math.imul(mr,Ct)|0,Y=Math.imul(mr,Pt),de=de+Math.imul(kt,cr)|0,V=V+Math.imul(kt,lr)|0,V=V+Math.imul(qt,cr)|0,Y=Y+Math.imul(qt,lr)|0,de=de+Math.imul(rt,Pr)|0,V=V+Math.imul(rt,_a)|0,V=V+Math.imul(Ye,Pr)|0,Y=Y+Math.imul(Ye,_a)|0,de=de+Math.imul(ne,Ra)|0,V=V+Math.imul(ne,qa)|0,V=V+Math.imul(Ce,Ra)|0,Y=Y+Math.imul(Ce,qa)|0,de=de+Math.imul(Ue,Ca)|0,V=V+Math.imul(Ue,hi)|0,V=V+Math.imul(he,Ca)|0,Y=Y+Math.imul(he,hi)|0,de=de+Math.imul(at,Yt)|0,V=V+Math.imul(at,Rt)|0,V=V+Math.imul(nt,Yt)|0,Y=Y+Math.imul(nt,Rt)|0;var tn=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(tn>>>26)|0,tn&=67108863,de=Math.imul(Tr,cr),V=Math.imul(Tr,lr),V=V+Math.imul(mr,cr)|0,Y=Math.imul(mr,lr),de=de+Math.imul(kt,Pr)|0,V=V+Math.imul(kt,_a)|0,V=V+Math.imul(qt,Pr)|0,Y=Y+Math.imul(qt,_a)|0,de=de+Math.imul(rt,Ra)|0,V=V+Math.imul(rt,qa)|0,V=V+Math.imul(Ye,Ra)|0,Y=Y+Math.imul(Ye,qa)|0,de=de+Math.imul(ne,Ca)|0,V=V+Math.imul(ne,hi)|0,V=V+Math.imul(Ce,Ca)|0,Y=Y+Math.imul(Ce,hi)|0,de=de+Math.imul(Ue,Yt)|0,V=V+Math.imul(Ue,Rt)|0,V=V+Math.imul(he,Yt)|0,Y=Y+Math.imul(he,Rt)|0;var cn=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(cn>>>26)|0,cn&=67108863,de=Math.imul(Tr,Pr),V=Math.imul(Tr,_a),V=V+Math.imul(mr,Pr)|0,Y=Math.imul(mr,_a),de=de+Math.imul(kt,Ra)|0,V=V+Math.imul(kt,qa)|0,V=V+Math.imul(qt,Ra)|0,Y=Y+Math.imul(qt,qa)|0,de=de+Math.imul(rt,Ca)|0,V=V+Math.imul(rt,hi)|0,V=V+Math.imul(Ye,Ca)|0,Y=Y+Math.imul(Ye,hi)|0,de=de+Math.imul(ne,Yt)|0,V=V+Math.imul(ne,Rt)|0,V=V+Math.imul(Ce,Yt)|0,Y=Y+Math.imul(Ce,Rt)|0;var _t=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(_t>>>26)|0,_t&=67108863,de=Math.imul(Tr,Ra),V=Math.imul(Tr,qa),V=V+Math.imul(mr,Ra)|0,Y=Math.imul(mr,qa),de=de+Math.imul(kt,Ca)|0,V=V+Math.imul(kt,hi)|0,V=V+Math.imul(qt,Ca)|0,Y=Y+Math.imul(qt,hi)|0,de=de+Math.imul(rt,Yt)|0,V=V+Math.imul(rt,Rt)|0,V=V+Math.imul(Ye,Yt)|0,Y=Y+Math.imul(Ye,Rt)|0;var ut=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(ut>>>26)|0,ut&=67108863,de=Math.imul(Tr,Ca),V=Math.imul(Tr,hi),V=V+Math.imul(mr,Ca)|0,Y=Math.imul(mr,hi),de=de+Math.imul(kt,Yt)|0,V=V+Math.imul(kt,Rt)|0,V=V+Math.imul(qt,Yt)|0,Y=Y+Math.imul(qt,Rt)|0;var Br=(ce+de|0)+((V&8191)<<13)|0;ce=(Y+(V>>>13)|0)+(Br>>>26)|0,Br&=67108863,de=Math.imul(Tr,Yt),V=Math.imul(Tr,Rt),V=V+Math.imul(mr,Yt)|0,Y=Math.imul(mr,Rt);var Cr=(ce+de|0)+((V&8191)<<13)|0;return ce=(Y+(V>>>13)|0)+(Cr>>>26)|0,Cr&=67108863,ue[0]=Zt,ue[1]=Jt,ue[2]=Or,ue[3]=ta,ue[4]=ra,ue[5]=ca,ue[6]=Ba,ue[7]=$a,ue[8]=Za,ue[9]=ri,ue[10]=pi,ue[11]=Ia,ue[12]=rn,ue[13]=tn,ue[14]=cn,ue[15]=_t,ue[16]=ut,ue[17]=Br,ue[18]=Cr,ce!==0&&(ue[19]=ce,N.length++),N};Math.imul||(M=S);function m(O,P,U){U.negative=P.negative^O.negative,U.length=O.length+P.length;for(var N=0,X=0,$=0;$>>26)|0,X+=ue>>>26,ue&=67108863}U.words[$]=ce,N=ue,ue=X}return N!==0?U.words[$]=N:U.length--,U.strip()}function b(O,P,U){var N=new p;return N.mulp(O,P,U)}s.prototype.mulTo=function(P,U){var N,X=this.length+P.length;return this.length===10&&P.length===10?N=M(this,P,U):X<63?N=S(this,P,U):X<1024?N=m(this,P,U):N=b(this,P,U),N};function p(O,P){this.x=O,this.y=P}p.prototype.makeRBT=function(P){for(var U=new Array(P),N=s.prototype._countBits(P)-1,X=0;X>=1;return X},p.prototype.permute=function(P,U,N,X,$,ue){for(var ce=0;ce>>1)$++;return 1<<$+1+X},p.prototype.conjugate=function(P,U,N){if(!(N<=1))for(var X=0;X>>13,N[2*ue+1]=$&8191,$=$>>>13;for(ue=2*U;ue>=26,U+=X/67108864|0,U+=$>>>26,this.words[N]=$&67108863}return U!==0&&(this.words[N]=U,this.length++),this.length=P===0?1:this.length,this},s.prototype.muln=function(P){return this.clone().imuln(P)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(P){var U=w(P);if(U.length===0)return new s(1);for(var N=this,X=0;X=0);var U=P%26,N=(P-U)/26,X=67108863>>>26-U<<26-U,$;if(U!==0){var ue=0;for($=0;$>>26-U}ue&&(this.words[$]=ue,this.length++)}if(N!==0){for($=this.length-1;$>=0;$--)this.words[$+N]=this.words[$];for($=0;$=0);var X;U?X=(U-U%26)/26:X=0;var $=P%26,ue=Math.min((P-$)/26,this.length),ce=67108863^67108863>>>$<<$,de=N;if(X-=ue,X=Math.max(0,X),de){for(var V=0;Vue)for(this.length-=ue,V=0;V=0&&(Y!==0||V>=X);V--){var ee=this.words[V]|0;this.words[V]=Y<<26-$|ee>>>$,Y=ee&ce}return de&&Y!==0&&(de.words[de.length++]=Y),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(P,U,N){return n(this.negative===0),this.iushrn(P,U,N)},s.prototype.shln=function(P){return this.clone().ishln(P)},s.prototype.ushln=function(P){return this.clone().iushln(P)},s.prototype.shrn=function(P){return this.clone().ishrn(P)},s.prototype.ushrn=function(P){return this.clone().iushrn(P)},s.prototype.testn=function(P){n(typeof P==\"number\"&&P>=0);var U=P%26,N=(P-U)/26,X=1<=0);var U=P%26,N=(P-U)/26;if(n(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=N)return this;if(U!==0&&N++,this.length=Math.min(N,this.length),U!==0){var X=67108863^67108863>>>U<=67108864;U++)this.words[U]-=67108864,U===this.length-1?this.words[U+1]=1:this.words[U+1]++;return this.length=Math.max(this.length,U+1),this},s.prototype.isubn=function(P){if(n(typeof P==\"number\"),n(P<67108864),P<0)return this.iaddn(-P);if(this.negative!==0)return this.negative=0,this.iaddn(P),this.negative=1,this;if(this.words[0]-=P,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var U=0;U>26)-(de/67108864|0),this.words[$+N]=ue&67108863}for(;$>26,this.words[$+N]=ue&67108863;if(ce===0)return this.strip();for(n(ce===-1),ce=0,$=0;$>26,this.words[$]=ue&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(P,U){var N=this.length-P.length,X=this.clone(),$=P,ue=$.words[$.length-1]|0,ce=this._countBits(ue);N=26-ce,N!==0&&($=$.ushln(N),X.iushln(N),ue=$.words[$.length-1]|0);var de=X.length-$.length,V;if(U!==\"mod\"){V=new s(null),V.length=de+1,V.words=new Array(V.length);for(var Y=0;Y=0;q--){var se=(X.words[$.length+q]|0)*67108864+(X.words[$.length+q-1]|0);for(se=Math.min(se/ue|0,67108863),X._ishlnsubmul($,se,q);X.negative!==0;)se--,X.negative=0,X._ishlnsubmul($,1,q),X.isZero()||(X.negative^=1);V&&(V.words[q]=se)}return V&&V.strip(),X.strip(),U!==\"div\"&&N!==0&&X.iushrn(N),{div:V||null,mod:X}},s.prototype.divmod=function(P,U,N){if(n(!P.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var X,$,ue;return this.negative!==0&&P.negative===0?(ue=this.neg().divmod(P,U),U!==\"mod\"&&(X=ue.div.neg()),U!==\"div\"&&($=ue.mod.neg(),N&&$.negative!==0&&$.iadd(P)),{div:X,mod:$}):this.negative===0&&P.negative!==0?(ue=this.divmod(P.neg(),U),U!==\"mod\"&&(X=ue.div.neg()),{div:X,mod:ue.mod}):this.negative&P.negative?(ue=this.neg().divmod(P.neg(),U),U!==\"div\"&&($=ue.mod.neg(),N&&$.negative!==0&&$.isub(P)),{div:ue.div,mod:$}):P.length>this.length||this.cmp(P)<0?{div:new s(0),mod:this}:P.length===1?U===\"div\"?{div:this.divn(P.words[0]),mod:null}:U===\"mod\"?{div:null,mod:new s(this.modn(P.words[0]))}:{div:this.divn(P.words[0]),mod:new s(this.modn(P.words[0]))}:this._wordDiv(P,U)},s.prototype.div=function(P){return this.divmod(P,\"div\",!1).div},s.prototype.mod=function(P){return this.divmod(P,\"mod\",!1).mod},s.prototype.umod=function(P){return this.divmod(P,\"mod\",!0).mod},s.prototype.divRound=function(P){var U=this.divmod(P);if(U.mod.isZero())return U.div;var N=U.div.negative!==0?U.mod.isub(P):U.mod,X=P.ushrn(1),$=P.andln(1),ue=N.cmp(X);return ue<0||$===1&&ue===0?U.div:U.div.negative!==0?U.div.isubn(1):U.div.iaddn(1)},s.prototype.modn=function(P){n(P<=67108863);for(var U=(1<<26)%P,N=0,X=this.length-1;X>=0;X--)N=(U*N+(this.words[X]|0))%P;return N},s.prototype.idivn=function(P){n(P<=67108863);for(var U=0,N=this.length-1;N>=0;N--){var X=(this.words[N]|0)+U*67108864;this.words[N]=X/P|0,U=X%P}return this.strip()},s.prototype.divn=function(P){return this.clone().idivn(P)},s.prototype.egcd=function(P){n(P.negative===0),n(!P.isZero());var U=this,N=P.clone();U.negative!==0?U=U.umod(P):U=U.clone();for(var X=new s(1),$=new s(0),ue=new s(0),ce=new s(1),de=0;U.isEven()&&N.isEven();)U.iushrn(1),N.iushrn(1),++de;for(var V=N.clone(),Y=U.clone();!U.isZero();){for(var ee=0,q=1;!(U.words[0]&q)&&ee<26;++ee,q<<=1);if(ee>0)for(U.iushrn(ee);ee-- >0;)(X.isOdd()||$.isOdd())&&(X.iadd(V),$.isub(Y)),X.iushrn(1),$.iushrn(1);for(var se=0,ae=1;!(N.words[0]&ae)&&se<26;++se,ae<<=1);if(se>0)for(N.iushrn(se);se-- >0;)(ue.isOdd()||ce.isOdd())&&(ue.iadd(V),ce.isub(Y)),ue.iushrn(1),ce.iushrn(1);U.cmp(N)>=0?(U.isub(N),X.isub(ue),$.isub(ce)):(N.isub(U),ue.isub(X),ce.isub($))}return{a:ue,b:ce,gcd:N.iushln(de)}},s.prototype._invmp=function(P){n(P.negative===0),n(!P.isZero());var U=this,N=P.clone();U.negative!==0?U=U.umod(P):U=U.clone();for(var X=new s(1),$=new s(0),ue=N.clone();U.cmpn(1)>0&&N.cmpn(1)>0;){for(var ce=0,de=1;!(U.words[0]&de)&&ce<26;++ce,de<<=1);if(ce>0)for(U.iushrn(ce);ce-- >0;)X.isOdd()&&X.iadd(ue),X.iushrn(1);for(var V=0,Y=1;!(N.words[0]&Y)&&V<26;++V,Y<<=1);if(V>0)for(N.iushrn(V);V-- >0;)$.isOdd()&&$.iadd(ue),$.iushrn(1);U.cmp(N)>=0?(U.isub(N),X.isub($)):(N.isub(U),$.isub(X))}var ee;return U.cmpn(1)===0?ee=X:ee=$,ee.cmpn(0)<0&&ee.iadd(P),ee},s.prototype.gcd=function(P){if(this.isZero())return P.abs();if(P.isZero())return this.abs();var U=this.clone(),N=P.clone();U.negative=0,N.negative=0;for(var X=0;U.isEven()&&N.isEven();X++)U.iushrn(1),N.iushrn(1);do{for(;U.isEven();)U.iushrn(1);for(;N.isEven();)N.iushrn(1);var $=U.cmp(N);if($<0){var ue=U;U=N,N=ue}else if($===0||N.cmpn(1)===0)break;U.isub(N)}while(!0);return N.iushln(X)},s.prototype.invm=function(P){return this.egcd(P).a.umod(P)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(P){return this.words[0]&P},s.prototype.bincn=function(P){n(typeof P==\"number\");var U=P%26,N=(P-U)/26,X=1<>>26,ce&=67108863,this.words[ue]=ce}return $!==0&&(this.words[ue]=$,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(P){var U=P<0;if(this.negative!==0&&!U)return-1;if(this.negative===0&&U)return 1;this.strip();var N;if(this.length>1)N=1;else{U&&(P=-P),n(P<=67108863,\"Number is too big\");var X=this.words[0]|0;N=X===P?0:XP.length)return 1;if(this.length=0;N--){var X=this.words[N]|0,$=P.words[N]|0;if(X!==$){X<$?U=-1:X>$&&(U=1);break}}return U},s.prototype.gtn=function(P){return this.cmpn(P)===1},s.prototype.gt=function(P){return this.cmp(P)===1},s.prototype.gten=function(P){return this.cmpn(P)>=0},s.prototype.gte=function(P){return this.cmp(P)>=0},s.prototype.ltn=function(P){return this.cmpn(P)===-1},s.prototype.lt=function(P){return this.cmp(P)===-1},s.prototype.lten=function(P){return this.cmpn(P)<=0},s.prototype.lte=function(P){return this.cmp(P)<=0},s.prototype.eqn=function(P){return this.cmpn(P)===0},s.prototype.eq=function(P){return this.cmp(P)===0},s.red=function(P){return new F(P)},s.prototype.toRed=function(P){return n(!this.red,\"Already a number in reduction context\"),n(this.negative===0,\"red works only with positives\"),P.convertTo(this)._forceRed(P)},s.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},s.prototype._forceRed=function(P){return this.red=P,this},s.prototype.forceRed=function(P){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(P)},s.prototype.redAdd=function(P){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,P)},s.prototype.redIAdd=function(P){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,P)},s.prototype.redSub=function(P){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,P)},s.prototype.redISub=function(P){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,P)},s.prototype.redShl=function(P){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,P)},s.prototype.redMul=function(P){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,P),this.red.mul(this,P)},s.prototype.redIMul=function(P){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,P),this.red.imul(this,P)},s.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(P){return n(this.red&&!P.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,P)};var u={k256:null,p224:null,p192:null,p25519:null};function g(O,P){this.name=O,this.p=new s(P,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}g.prototype._tmp=function(){var P=new s(null);return P.words=new Array(Math.ceil(this.n/13)),P},g.prototype.ireduce=function(P){var U=P,N;do this.split(U,this.tmp),U=this.imulK(U),U=U.iadd(this.tmp),N=U.bitLength();while(N>this.n);var X=N0?U.isub(this.p):U.strip!==void 0?U.strip():U._strip(),U},g.prototype.split=function(P,U){P.iushrn(this.n,0,U)},g.prototype.imulK=function(P){return P.imul(this.k)};function y(){g.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}i(y,g),y.prototype.split=function(P,U){for(var N=4194303,X=Math.min(P.length,9),$=0;$>>22,ue=ce}ue>>>=22,P.words[$-10]=ue,ue===0&&P.length>10?P.length-=10:P.length-=9},y.prototype.imulK=function(P){P.words[P.length]=0,P.words[P.length+1]=0,P.length+=2;for(var U=0,N=0;N>>=26,P.words[N]=$,U=X}return U!==0&&(P.words[P.length++]=U),P},s._prime=function(P){if(u[P])return u[P];var U;if(P===\"k256\")U=new y;else if(P===\"p224\")U=new D;else if(P===\"p192\")U=new L;else if(P===\"p25519\")U=new z;else throw new Error(\"Unknown prime \"+P);return u[P]=U,U};function F(O){if(typeof O==\"string\"){var P=s._prime(O);this.m=P.p,this.prime=P}else n(O.gtn(1),\"modulus must be greater than 1\"),this.m=O,this.prime=null}F.prototype._verify1=function(P){n(P.negative===0,\"red works only with positives\"),n(P.red,\"red works only with red numbers\")},F.prototype._verify2=function(P,U){n((P.negative|U.negative)===0,\"red works only with positives\"),n(P.red&&P.red===U.red,\"red works only with red numbers\")},F.prototype.imod=function(P){return this.prime?this.prime.ireduce(P)._forceRed(this):P.umod(this.m)._forceRed(this)},F.prototype.neg=function(P){return P.isZero()?P.clone():this.m.sub(P)._forceRed(this)},F.prototype.add=function(P,U){this._verify2(P,U);var N=P.add(U);return N.cmp(this.m)>=0&&N.isub(this.m),N._forceRed(this)},F.prototype.iadd=function(P,U){this._verify2(P,U);var N=P.iadd(U);return N.cmp(this.m)>=0&&N.isub(this.m),N},F.prototype.sub=function(P,U){this._verify2(P,U);var N=P.sub(U);return N.cmpn(0)<0&&N.iadd(this.m),N._forceRed(this)},F.prototype.isub=function(P,U){this._verify2(P,U);var N=P.isub(U);return N.cmpn(0)<0&&N.iadd(this.m),N},F.prototype.shl=function(P,U){return this._verify1(P),this.imod(P.ushln(U))},F.prototype.imul=function(P,U){return this._verify2(P,U),this.imod(P.imul(U))},F.prototype.mul=function(P,U){return this._verify2(P,U),this.imod(P.mul(U))},F.prototype.isqr=function(P){return this.imul(P,P.clone())},F.prototype.sqr=function(P){return this.mul(P,P)},F.prototype.sqrt=function(P){if(P.isZero())return P.clone();var U=this.m.andln(3);if(n(U%2===1),U===3){var N=this.m.add(new s(1)).iushrn(2);return this.pow(P,N)}for(var X=this.m.subn(1),$=0;!X.isZero()&&X.andln(1)===0;)$++,X.iushrn(1);n(!X.isZero());var ue=new s(1).toRed(this),ce=ue.redNeg(),de=this.m.subn(1).iushrn(1),V=this.m.bitLength();for(V=new s(2*V*V).toRed(this);this.pow(V,de).cmp(ce)!==0;)V.redIAdd(ce);for(var Y=this.pow(V,X),ee=this.pow(P,X.addn(1).iushrn(1)),q=this.pow(P,X),se=$;q.cmp(ue)!==0;){for(var ae=q,j=0;ae.cmp(ue)!==0;j++)ae=ae.redSqr();n(j=0;$--){for(var Y=U.words[$],ee=V-1;ee>=0;ee--){var q=Y>>ee&1;if(ue!==X[0]&&(ue=this.sqr(ue)),q===0&&ce===0){de=0;continue}ce<<=1,ce|=q,de++,!(de!==N&&($!==0||ee!==0))&&(ue=this.mul(ue,X[ce]),de=0,ce=0)}V=26}return ue},F.prototype.convertTo=function(P){var U=P.umod(this.m);return U===P?U.clone():U},F.prototype.convertFrom=function(P){var U=P.clone();return U.red=null,U},s.mont=function(P){return new B(P)};function B(O){F.call(this,O),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(B,F),B.prototype.convertTo=function(P){return this.imod(P.ushln(this.shift))},B.prototype.convertFrom=function(P){var U=this.imod(P.mul(this.rinv));return U.red=null,U},B.prototype.imul=function(P,U){if(P.isZero()||U.isZero())return P.words[0]=0,P.length=1,P;var N=P.imul(U),X=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),$=N.isub(X).iushrn(this.shift),ue=$;return $.cmp(this.m)>=0?ue=$.isub(this.m):$.cmpn(0)<0&&(ue=$.iadd(this.m)),ue._forceRed(this)},B.prototype.mul=function(P,U){if(P.isZero()||U.isZero())return new s(0)._forceRed(this);var N=P.mul(U),X=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),$=N.isub(X).iushrn(this.shift),ue=$;return $.cmp(this.m)>=0?ue=$.isub(this.m):$.cmpn(0)<0&&(ue=$.iadd(this.m)),ue._forceRed(this)},B.prototype.invm=function(P){var U=this.imod(P._invmp(this.m).mul(this.r2));return U._forceRed(this)}}(e,this)},6204:function(e){\"use strict\";e.exports=t;function t(r){var o,a,n,i=r.length,s=0;for(o=0;o>>1;if(!(p<=0)){var u,g=o.mallocDouble(2*p*m),y=o.mallocInt32(m);if(m=s(x,p,g,y),m>0){if(p===1&&M)a.init(m),u=a.sweepComplete(p,S,0,m,g,y,0,m,g,y);else{var D=o.mallocDouble(2*p*b),L=o.mallocInt32(b);b=s(w,p,D,L),b>0&&(a.init(m+b),p===1?u=a.sweepBipartite(p,S,0,m,g,y,0,b,D,L):u=n(p,S,M,m,g,y,b,D,L),o.free(D),o.free(L))}o.free(g),o.free(y)}return u}}}var f;function v(x,w){f.push([x,w])}function c(x){return f=[],h(x,x,v,!0),f}function T(x,w){return f=[],h(x,w,v,!1),f}function l(x,w,S){switch(arguments.length){case 1:return c(x);case 2:return typeof w==\"function\"?h(x,x,w,!0):T(x,w);case 3:return h(x,w,S,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(e,t){\"use strict\";function r(){function n(h,f,v,c,T,l,x,w,S,M,m){for(var b=2*h,p=c,u=b*c;pS-w?n(h,f,v,c,T,l,x,w,S,M,m):i(h,f,v,c,T,l,x,w,S,M,m)}return s}function o(){function n(v,c,T,l,x,w,S,M,m,b,p){for(var u=2*v,g=l,y=u*l;gb-m?l?n(v,c,T,x,w,S,M,m,b,p,u):i(v,c,T,x,w,S,M,m,b,p,u):l?s(v,c,T,x,w,S,M,m,b,p,u):h(v,c,T,x,w,S,M,m,b,p,u)}return f}function a(n){return n?r():o()}t.partial=a(!1),t.full=a(!0)},7150:function(e,t,r){\"use strict\";e.exports=O;var o=r(1888),a=r(8828),n=r(2455),i=n.partial,s=n.full,h=r(855),f=r(3545),v=r(8105),c=128,T=1<<22,l=1<<22,x=v(\"!(lo>=p0)&&!(p1>=hi)\"),w=v(\"lo===p0\"),S=v(\"lo0;){Y-=1;var se=Y*p,ae=y[se],j=y[se+1],Q=y[se+2],re=y[se+3],pe=y[se+4],we=y[se+5],Se=Y*u,Ie=D[Se],Re=D[Se+1],He=we&1,at=!!(we&16),nt=$,tt=ue,Ue=de,he=V;if(He&&(nt=de,tt=V,Ue=$,he=ue),!(we&2&&(Q=S(P,ae,j,Q,nt,tt,Re),j>=Q))&&!(we&4&&(j=M(P,ae,j,Q,nt,tt,Ie),j>=Q))){var le=Q-j,ne=pe-re;if(at){if(P*le*(le+ne)v&&T[b+f]>M;--m,b-=x){for(var p=b,u=b+x,g=0;g>>1,M=2*h,m=S,b=T[M*S+f];x=D?(m=y,b=D):g>=z?(m=u,b=g):(m=L,b=z):D>=z?(m=y,b=D):z>=g?(m=u,b=g):(m=L,b=z);for(var O=M*(w-1),P=M*m,F=0;F=p0)&&!(p1>=hi)\":f};function r(v){return t[v]}function o(v,c,T,l,x,w,S){for(var M=2*v,m=M*T,b=m,p=T,u=c,g=v+c,y=T;l>y;++y,m+=M){var D=x[m+u];if(D===S)if(p===y)p+=1,b+=M;else{for(var L=0;M>L;++L){var z=x[m+L];x[m+L]=x[b],x[b++]=z}var F=w[y];w[y]=w[p],w[p++]=F}}return p}function a(v,c,T,l,x,w,S){for(var M=2*v,m=M*T,b=m,p=T,u=c,g=v+c,y=T;l>y;++y,m+=M){var D=x[m+u];if(DL;++L){var z=x[m+L];x[m+L]=x[b],x[b++]=z}var F=w[y];w[y]=w[p],w[p++]=F}}return p}function n(v,c,T,l,x,w,S){for(var M=2*v,m=M*T,b=m,p=T,u=c,g=v+c,y=T;l>y;++y,m+=M){var D=x[m+g];if(D<=S)if(p===y)p+=1,b+=M;else{for(var L=0;M>L;++L){var z=x[m+L];x[m+L]=x[b],x[b++]=z}var F=w[y];w[y]=w[p],w[p++]=F}}return p}function i(v,c,T,l,x,w,S){for(var M=2*v,m=M*T,b=m,p=T,u=c,g=v+c,y=T;l>y;++y,m+=M){var D=x[m+g];if(D<=S)if(p===y)p+=1,b+=M;else{for(var L=0;M>L;++L){var z=x[m+L];x[m+L]=x[b],x[b++]=z}var F=w[y];w[y]=w[p],w[p++]=F}}return p}function s(v,c,T,l,x,w,S){for(var M=2*v,m=M*T,b=m,p=T,u=c,g=v+c,y=T;l>y;++y,m+=M){var D=x[m+u],L=x[m+g];if(D<=S&&S<=L)if(p===y)p+=1,b+=M;else{for(var z=0;M>z;++z){var F=x[m+z];x[m+z]=x[b],x[b++]=F}var B=w[y];w[y]=w[p],w[p++]=B}}return p}function h(v,c,T,l,x,w,S){for(var M=2*v,m=M*T,b=m,p=T,u=c,g=v+c,y=T;l>y;++y,m+=M){var D=x[m+u],L=x[m+g];if(Dz;++z){var F=x[m+z];x[m+z]=x[b],x[b++]=F}var B=w[y];w[y]=w[p],w[p++]=B}}return p}function f(v,c,T,l,x,w,S,M){for(var m=2*v,b=m*T,p=b,u=T,g=c,y=v+c,D=T;l>D;++D,b+=m){var L=x[b+g],z=x[b+y];if(!(L>=S)&&!(M>=z))if(u===D)u+=1,p+=m;else{for(var F=0;m>F;++F){var B=x[b+F];x[b+F]=x[p],x[p++]=B}var O=w[D];w[D]=w[u],w[u++]=O}}return u}},4192:function(e){\"use strict\";e.exports=r;var t=32;function r(c,T){T<=4*t?o(0,T-1,c):v(0,T-1,c)}function o(c,T,l){for(var x=2*(c+1),w=c+1;w<=T;++w){for(var S=l[x++],M=l[x++],m=w,b=x-2;m-- >c;){var p=l[b-2],u=l[b-1];if(pl[T+1]:!0}function f(c,T,l,x){c*=2;var w=x[c];return w>1,m=M-x,b=M+x,p=w,u=m,g=M,y=b,D=S,L=c+1,z=T-1,F=0;h(p,u,l)&&(F=p,p=u,u=F),h(y,D,l)&&(F=y,y=D,D=F),h(p,g,l)&&(F=p,p=g,g=F),h(u,g,l)&&(F=u,u=g,g=F),h(p,y,l)&&(F=p,p=y,y=F),h(g,y,l)&&(F=g,g=y,y=F),h(u,D,l)&&(F=u,u=D,D=F),h(u,g,l)&&(F=u,u=g,g=F),h(y,D,l)&&(F=y,y=D,D=F);for(var B=l[2*u],O=l[2*u+1],P=l[2*y],U=l[2*y+1],N=2*p,X=2*g,$=2*D,ue=2*w,ce=2*M,de=2*S,V=0;V<2;++V){var Y=l[N+V],ee=l[X+V],q=l[$+V];l[ue+V]=Y,l[ce+V]=ee,l[de+V]=q}n(m,c,l),n(b,T,l);for(var se=L;se<=z;++se)if(f(se,B,O,l))se!==L&&a(se,L,l),++L;else if(!f(se,P,U,l))for(;;)if(f(z,P,U,l)){f(z,B,O,l)?(i(se,L,z,l),++L,--z):(a(se,z,l),--z);break}else{if(--z>>1;n(x,ee);for(var q=0,se=0,ce=0;ce=i)ae=ae-i|0,S(v,c,se--,ae);else if(ae>=0)S(h,f,q--,ae);else if(ae<=-i){ae=-ae-i|0;for(var j=0;j>>1;n(x,ee);for(var q=0,se=0,ae=0,ce=0;ce>1===x[2*ce+3]>>1&&(Q=2,ce+=1),j<0){for(var re=-(j>>1)-1,pe=0;pe>1)-1;Q===0?S(h,f,q--,re):Q===1?S(v,c,se--,re):Q===2&&S(T,l,ae--,re)}}}function p(g,y,D,L,z,F,B,O,P,U,N,X){var $=0,ue=2*g,ce=y,de=y+g,V=1,Y=1;L?Y=i:V=i;for(var ee=z;ee>>1;n(x,j);for(var Q=0,ee=0;ee=i?(pe=!L,q-=i):(pe=!!L,q-=1),pe)M(h,f,Q++,q);else{var we=X[q],Se=ue*q,Ie=N[Se+y+1],Re=N[Se+y+1+g];e:for(var He=0;He>>1;n(x,q);for(var se=0,de=0;de=i)h[se++]=V-i;else{V-=1;var j=N[V],Q=$*V,re=U[Q+y+1],pe=U[Q+y+1+g];e:for(var we=0;we=0;--we)if(h[we]===V){for(var He=we+1;He0;){for(var w=f.pop(),T=f.pop(),S=-1,M=-1,l=c[T],b=1;b=0||(h.flip(T,w),n(s,h,f,S,T,M),n(s,h,f,T,M,S),n(s,h,f,M,w,S),n(s,h,f,w,S,M))}}},5023:function(e,t,r){\"use strict\";var o=r(2478);e.exports=f;function a(v,c,T,l,x,w,S){this.cells=v,this.neighbor=c,this.flags=l,this.constraint=T,this.active=x,this.next=w,this.boundary=S}var n=a.prototype;function i(v,c){return v[0]-c[0]||v[1]-c[1]||v[2]-c[2]}n.locate=function(){var v=[0,0,0];return function(c,T,l){var x=c,w=T,S=l;return T0||S.length>0;){for(;w.length>0;){var u=w.pop();if(M[u]!==-x){M[u]=x;for(var g=m[u],y=0;y<3;++y){var D=p[3*u+y];D>=0&&M[D]===0&&(b[3*u+y]?S.push(D):(w.push(D),M[D]=x))}}}var L=S;S=w,w=L,S.length=0,x=-x}var z=h(m,M,c);return T?z.concat(l.boundary):z}},8902:function(e,t,r){\"use strict\";var o=r(2478),a=r(3250)[3],n=0,i=1,s=2;e.exports=S;function h(M,m,b,p,u){this.a=M,this.b=m,this.idx=b,this.lowerIds=p,this.upperIds=u}function f(M,m,b,p){this.a=M,this.b=m,this.type=b,this.idx=p}function v(M,m){var b=M.a[0]-m.a[0]||M.a[1]-m.a[1]||M.type-m.type;return b||M.type!==n&&(b=a(M.a,M.b,m.b),b)?b:M.idx-m.idx}function c(M,m){return a(M.a,M.b,m)}function T(M,m,b,p,u){for(var g=o.lt(m,p,c),y=o.gt(m,p,c),D=g;D1&&a(b[z[B-2]],b[z[B-1]],p)>0;)M.push([z[B-1],z[B-2],u]),B-=1;z.length=B,z.push(u);for(var F=L.upperIds,B=F.length;B>1&&a(b[F[B-2]],b[F[B-1]],p)<0;)M.push([F[B-2],F[B-1],u]),B-=1;F.length=B,F.push(u)}}function l(M,m){var b;return M.a[0]L[0]&&u.push(new f(L,D,s,g),new f(D,L,i,g))}u.sort(v);for(var z=u[0].a[0]-(1+Math.abs(u[0].a[0]))*Math.pow(2,-52),F=[new h([z,1],[z,0],-1,[],[],[],[])],B=[],g=0,O=u.length;g=0}}(),n.removeTriangle=function(h,f,v){var c=this.stars;i(c[h],f,v),i(c[f],v,h),i(c[v],h,f)},n.addTriangle=function(h,f,v){var c=this.stars;c[h].push(f,v),c[f].push(v,h),c[v].push(h,f)},n.opposite=function(h,f){for(var v=this.stars[f],c=1,T=v.length;c=0;--P){var Y=B[P];U=Y[0];var ee=z[U],q=ee[0],se=ee[1],ae=L[q],j=L[se];if((ae[0]-j[0]||ae[1]-j[1])<0){var Q=q;q=se,se=Q}ee[0]=q;var re=ee[1]=Y[1],pe;for(O&&(pe=ee[2]);P>0&&B[P-1][0]===U;){var Y=B[--P],we=Y[1];O?z.push([re,we,pe]):z.push([re,we]),re=we}O?z.push([re,se,pe]):z.push([re,se])}return N}function m(L,z,F){for(var B=z.length,O=new o(B),P=[],U=0;Uz[2]?1:0)}function u(L,z,F){if(L.length!==0){if(z)for(var B=0;B0||U.length>0}function D(L,z,F){var B;if(F){B=z;for(var O=new Array(z.length),P=0;PM+1)throw new Error(w+\" map requires nshades to be at least size \"+x.length);Array.isArray(f.alpha)?f.alpha.length!==2?m=[1,1]:m=f.alpha.slice():typeof f.alpha==\"number\"?m=[f.alpha,f.alpha]:m=[1,1],v=x.map(function(D){return Math.round(D.index*M)}),m[0]=Math.min(Math.max(m[0],0),1),m[1]=Math.min(Math.max(m[1],0),1);var p=x.map(function(D,L){var z=x[L].index,F=x[L].rgb.slice();return F.length===4&&F[3]>=0&&F[3]<=1||(F[3]=m[0]+(m[1]-m[0])*z),F}),u=[];for(b=0;b=0}function f(v,c,T,l){var x=o(c,T,l);if(x===0){var w=a(o(v,c,T)),S=a(o(v,c,l));if(w===S){if(w===0){var M=h(v,c,T),m=h(v,c,l);return M===m?0:M?1:-1}return 0}else{if(S===0)return w>0||h(v,c,l)?-1:1;if(w===0)return S>0||h(v,c,T)?1:-1}return a(S-w)}var b=o(v,c,T);if(b>0)return x>0&&o(v,c,l)>0?1:-1;if(b<0)return x>0||o(v,c,l)>0?1:-1;var p=o(v,c,l);return p>0||h(v,c,T)?1:-1}},8572:function(e){\"use strict\";e.exports=function(r){return r<0?-1:r>0?1:0}},8507:function(e){e.exports=o;var t=Math.min;function r(a,n){return a-n}function o(a,n){var i=a.length,s=a.length-n.length;if(s)return s;switch(i){case 0:return 0;case 1:return a[0]-n[0];case 2:return a[0]+a[1]-n[0]-n[1]||t(a[0],a[1])-t(n[0],n[1]);case 3:var h=a[0]+a[1],f=n[0]+n[1];if(s=h+a[2]-(f+n[2]),s)return s;var v=t(a[0],a[1]),c=t(n[0],n[1]);return t(v,a[2])-t(c,n[2])||t(v+a[2],h)-t(c+n[2],f);case 4:var T=a[0],l=a[1],x=a[2],w=a[3],S=n[0],M=n[1],m=n[2],b=n[3];return T+l+x+w-(S+M+m+b)||t(T,l,x,w)-t(S,M,m,b,S)||t(T+l,T+x,T+w,l+x,l+w,x+w)-t(S+M,S+m,S+b,M+m,M+b,m+b)||t(T+l+x,T+l+w,T+x+w,l+x+w)-t(S+M+m,S+M+b,S+m+b,M+m+b);default:for(var p=a.slice().sort(r),u=n.slice().sort(r),g=0;gr[a][0]&&(a=n);return oa?[[a],[o]]:[[o]]}},4750:function(e,t,r){\"use strict\";e.exports=a;var o=r(3090);function a(n){var i=o(n),s=i.length;if(s<=2)return[];for(var h=new Array(s),f=i[s-1],v=0;v=f[S]&&(w+=1);l[x]=w}}return h}function s(h,f){try{return o(h,!0)}catch{var v=a(h);if(v.length<=f)return[];var c=n(h,v),T=o(c,!0);return i(T,v)}}},4769:function(e){\"use strict\";function t(o,a,n,i,s,h){var f=6*s*s-6*s,v=3*s*s-4*s+1,c=-6*s*s+6*s,T=3*s*s-2*s;if(o.length){h||(h=new Array(o.length));for(var l=o.length-1;l>=0;--l)h[l]=f*o[l]+v*a[l]+c*n[l]+T*i[l];return h}return f*o+v*a+c*n[l]+T*i}function r(o,a,n,i,s,h){var f=s-1,v=s*s,c=f*f,T=(1+2*s)*c,l=s*c,x=v*(3-2*s),w=v*f;if(o.length){h||(h=new Array(o.length));for(var S=o.length-1;S>=0;--S)h[S]=T*o[S]+l*a[S]+x*n[S]+w*i[S];return h}return T*o+l*a+x*n+w*i}e.exports=r,e.exports.derivative=t},7642:function(e,t,r){\"use strict\";var o=r(8954),a=r(1682);e.exports=h;function n(f,v){this.point=f,this.index=v}function i(f,v){for(var c=f.point,T=v.point,l=c.length,x=0;x=2)return!1;F[O]=P}return!0}):z=z.filter(function(F){for(var B=0;B<=T;++B){var O=g[F[B]];if(O<0)return!1;F[B]=O}return!0}),T&1)for(var w=0;w>>31},e.exports.exponent=function(x){var w=e.exports.hi(x);return(w<<1>>>21)-1023},e.exports.fraction=function(x){var w=e.exports.lo(x),S=e.exports.hi(x),M=S&(1<<20)-1;return S&2146435072&&(M+=1048576),[w,M]},e.exports.denormalized=function(x){var w=e.exports.hi(x);return!(w&2146435072)}},1338:function(e){\"use strict\";function t(a,n,i){var s=a[i]|0;if(s<=0)return[];var h=new Array(s),f;if(i===a.length-1)for(f=0;f\"u\"&&(n=0),typeof a){case\"number\":if(a>0)return r(a|0,n);break;case\"object\":if(typeof a.length==\"number\")return t(a,n,0);break}return[]}e.exports=o},3134:function(e,t,r){\"use strict\";e.exports=a;var o=r(1682);function a(n,i){var s=n.length;if(typeof i!=\"number\"){i=0;for(var h=0;h=T-1)for(var b=w.length-1,u=v-c[T-1],p=0;p=T-1)for(var m=w.length-1,b=v-c[T-1],p=0;p=0;--T)if(v[--c])return!1;return!0},s.jump=function(v){var c=this.lastT(),T=this.dimension;if(!(v0;--p)l.push(n(M[p-1],m[p-1],arguments[p])),x.push(0)}},s.push=function(v){var c=this.lastT(),T=this.dimension;if(!(v1e-6?1/S:0;this._time.push(v);for(var u=T;u>0;--u){var g=n(m[u-1],b[u-1],arguments[u]);l.push(g),x.push((g-l[w++])*p)}}},s.set=function(v){var c=this.dimension;if(!(v0;--M)T.push(n(w[M-1],S[M-1],arguments[M])),l.push(0)}},s.move=function(v){var c=this.lastT(),T=this.dimension;if(!(v<=c||arguments.length!==T+1)){var l=this._state,x=this._velocity,w=l.length-this.dimension,S=this.bounds,M=S[0],m=S[1],b=v-c,p=b>1e-6?1/b:0;this._time.push(v);for(var u=T;u>0;--u){var g=arguments[u];l.push(n(M[u-1],m[u-1],l[w++]+g)),x.push(g*p)}}},s.idle=function(v){var c=this.lastT();if(!(v=0;--p)l.push(n(M[p],m[p],l[w]+b*x[w])),x.push(0),w+=1}};function h(v){for(var c=new Array(v),T=0;T=0;--L){var u=g[L];y[L]<=0?g[L]=new o(u._color,u.key,u.value,g[L+1],u.right,u._count+1):g[L]=new o(u._color,u.key,u.value,u.left,g[L+1],u._count+1)}for(var L=g.length-1;L>1;--L){var z=g[L-1],u=g[L];if(z._color===r||u._color===r)break;var F=g[L-2];if(F.left===z)if(z.left===u){var B=F.right;if(B&&B._color===t)z._color=r,F.right=n(r,B),F._color=t,L-=1;else{if(F._color=t,F.left=z.right,z._color=r,z.right=F,g[L-2]=z,g[L-1]=u,i(F),i(z),L>=3){var O=g[L-3];O.left===F?O.left=z:O.right=z}break}}else{var B=F.right;if(B&&B._color===t)z._color=r,F.right=n(r,B),F._color=t,L-=1;else{if(z.right=u.left,F._color=t,F.left=u.right,u._color=r,u.left=z,u.right=F,g[L-2]=u,g[L-1]=z,i(F),i(z),i(u),L>=3){var O=g[L-3];O.left===F?O.left=u:O.right=u}break}}else if(z.right===u){var B=F.left;if(B&&B._color===t)z._color=r,F.left=n(r,B),F._color=t,L-=1;else{if(F._color=t,F.right=z.left,z._color=r,z.left=F,g[L-2]=z,g[L-1]=u,i(F),i(z),L>=3){var O=g[L-3];O.right===F?O.right=z:O.left=z}break}}else{var B=F.left;if(B&&B._color===t)z._color=r,F.left=n(r,B),F._color=t,L-=1;else{if(z.left=u.right,F._color=t,F.right=u.left,u._color=r,u.right=z,u.left=F,g[L-2]=u,g[L-1]=z,i(F),i(z),i(u),L>=3){var O=g[L-3];O.right===F?O.right=u:O.left=u}break}}}return g[0]._color=r,new s(p,g[0])};function f(m,b){if(b.left){var p=f(m,b.left);if(p)return p}var p=m(b.key,b.value);if(p)return p;if(b.right)return f(m,b.right)}function v(m,b,p,u){var g=b(m,u.key);if(g<=0){if(u.left){var y=v(m,b,p,u.left);if(y)return y}var y=p(u.key,u.value);if(y)return y}if(u.right)return v(m,b,p,u.right)}function c(m,b,p,u,g){var y=p(m,g.key),D=p(b,g.key),L;if(y<=0&&(g.left&&(L=c(m,b,p,u,g.left),L)||D>0&&(L=u(g.key,g.value),L)))return L;if(D>0&&g.right)return c(m,b,p,u,g.right)}h.forEach=function(b,p,u){if(this.root)switch(arguments.length){case 1:return f(b,this.root);case 2:return v(p,this._compare,b,this.root);case 3:return this._compare(p,u)>=0?void 0:c(p,u,this._compare,b,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var m=[],b=this.root;b;)m.push(b),b=b.left;return new T(this,m)}}),Object.defineProperty(h,\"end\",{get:function(){for(var m=[],b=this.root;b;)m.push(b),b=b.right;return new T(this,m)}}),h.at=function(m){if(m<0)return new T(this,[]);for(var b=this.root,p=[];;){if(p.push(b),b.left){if(m=b.right._count)break;b=b.right}else break}return new T(this,[])},h.ge=function(m){for(var b=this._compare,p=this.root,u=[],g=0;p;){var y=b(m,p.key);u.push(p),y<=0&&(g=u.length),y<=0?p=p.left:p=p.right}return u.length=g,new T(this,u)},h.gt=function(m){for(var b=this._compare,p=this.root,u=[],g=0;p;){var y=b(m,p.key);u.push(p),y<0&&(g=u.length),y<0?p=p.left:p=p.right}return u.length=g,new T(this,u)},h.lt=function(m){for(var b=this._compare,p=this.root,u=[],g=0;p;){var y=b(m,p.key);u.push(p),y>0&&(g=u.length),y<=0?p=p.left:p=p.right}return u.length=g,new T(this,u)},h.le=function(m){for(var b=this._compare,p=this.root,u=[],g=0;p;){var y=b(m,p.key);u.push(p),y>=0&&(g=u.length),y<0?p=p.left:p=p.right}return u.length=g,new T(this,u)},h.find=function(m){for(var b=this._compare,p=this.root,u=[];p;){var g=b(m,p.key);if(u.push(p),g===0)return new T(this,u);g<=0?p=p.left:p=p.right}return new T(this,[])},h.remove=function(m){var b=this.find(m);return b?b.remove():this},h.get=function(m){for(var b=this._compare,p=this.root;p;){var u=b(m,p.key);if(u===0)return p.value;u<=0?p=p.left:p=p.right}};function T(m,b){this.tree=m,this._stack=b}var l=T.prototype;Object.defineProperty(l,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(l,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),l.clone=function(){return new T(this.tree,this._stack.slice())};function x(m,b){m.key=b.key,m.value=b.value,m.left=b.left,m.right=b.right,m._color=b._color,m._count=b._count}function w(m){for(var b,p,u,g,y=m.length-1;y>=0;--y){if(b=m[y],y===0){b._color=r;return}if(p=m[y-1],p.left===b){if(u=p.right,u.right&&u.right._color===t){if(u=p.right=a(u),g=u.right=a(u.right),p.right=u.left,u.left=p,u.right=g,u._color=p._color,b._color=r,p._color=r,g._color=r,i(p),i(u),y>1){var D=m[y-2];D.left===p?D.left=u:D.right=u}m[y-1]=u;return}else if(u.left&&u.left._color===t){if(u=p.right=a(u),g=u.left=a(u.left),p.right=g.left,u.left=g.right,g.left=p,g.right=u,g._color=p._color,p._color=r,u._color=r,b._color=r,i(p),i(u),i(g),y>1){var D=m[y-2];D.left===p?D.left=g:D.right=g}m[y-1]=g;return}if(u._color===r)if(p._color===t){p._color=r,p.right=n(t,u);return}else{p.right=n(t,u);continue}else{if(u=a(u),p.right=u.left,u.left=p,u._color=p._color,p._color=t,i(p),i(u),y>1){var D=m[y-2];D.left===p?D.left=u:D.right=u}m[y-1]=u,m[y]=p,y+11){var D=m[y-2];D.right===p?D.right=u:D.left=u}m[y-1]=u;return}else if(u.right&&u.right._color===t){if(u=p.left=a(u),g=u.right=a(u.right),p.left=g.right,u.right=g.left,g.right=p,g.left=u,g._color=p._color,p._color=r,u._color=r,b._color=r,i(p),i(u),i(g),y>1){var D=m[y-2];D.right===p?D.right=g:D.left=g}m[y-1]=g;return}if(u._color===r)if(p._color===t){p._color=r,p.left=n(t,u);return}else{p.left=n(t,u);continue}else{if(u=a(u),p.left=u.right,u.right=p,u._color=p._color,p._color=t,i(p),i(u),y>1){var D=m[y-2];D.right===p?D.right=u:D.left=u}m[y-1]=u,m[y]=p,y+1=0;--u){var p=m[u];p.left===m[u+1]?b[u]=new o(p._color,p.key,p.value,b[u+1],p.right,p._count):b[u]=new o(p._color,p.key,p.value,p.left,b[u+1],p._count)}if(p=b[b.length-1],p.left&&p.right){var g=b.length;for(p=p.left;p.right;)b.push(p),p=p.right;var y=b[g-1];b.push(new o(p._color,y.key,y.value,p.left,p.right,p._count)),b[g-1].key=p.key,b[g-1].value=p.value;for(var u=b.length-2;u>=g;--u)p=b[u],b[u]=new o(p._color,p.key,p.value,p.left,b[u+1],p._count);b[g-1].left=b[g]}if(p=b[b.length-1],p._color===t){var D=b[b.length-2];D.left===p?D.left=null:D.right===p&&(D.right=null),b.pop();for(var u=0;u0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(l,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(l,\"index\",{get:function(){var m=0,b=this._stack;if(b.length===0){var p=this.tree.root;return p?p._count:0}else b[b.length-1].left&&(m=b[b.length-1].left._count);for(var u=b.length-2;u>=0;--u)b[u+1]===b[u].right&&(++m,b[u].left&&(m+=b[u].left._count));return m},enumerable:!0}),l.next=function(){var m=this._stack;if(m.length!==0){var b=m[m.length-1];if(b.right)for(b=b.right;b;)m.push(b),b=b.left;else for(m.pop();m.length>0&&m[m.length-1].right===b;)b=m[m.length-1],m.pop()}},Object.defineProperty(l,\"hasNext\",{get:function(){var m=this._stack;if(m.length===0)return!1;if(m[m.length-1].right)return!0;for(var b=m.length-1;b>0;--b)if(m[b-1].left===m[b])return!0;return!1}}),l.update=function(m){var b=this._stack;if(b.length===0)throw new Error(\"Can't update empty node!\");var p=new Array(b.length),u=b[b.length-1];p[p.length-1]=new o(u._color,u.key,m,u.left,u.right,u._count);for(var g=b.length-2;g>=0;--g)u=b[g],u.left===b[g+1]?p[g]=new o(u._color,u.key,u.value,p[g+1],u.right,u._count):p[g]=new o(u._color,u.key,u.value,u.left,p[g+1],u._count);return new s(this.tree._compare,p[0])},l.prev=function(){var m=this._stack;if(m.length!==0){var b=m[m.length-1];if(b.left)for(b=b.left;b;)m.push(b),b=b.right;else for(m.pop();m.length>0&&m[m.length-1].left===b;)b=m[m.length-1],m.pop()}},Object.defineProperty(l,\"hasPrev\",{get:function(){var m=this._stack;if(m.length===0)return!1;if(m[m.length-1].left)return!0;for(var b=m.length-1;b>0;--b)if(m[b-1].right===m[b])return!0;return!1}});function S(m,b){return mb?1:0}function M(m){return new s(m||S,null)}},3837:function(e,t,r){\"use strict\";e.exports=L;var o=r(4935),a=r(501),n=r(5304),i=r(6429),s=r(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),f=ArrayBuffer,v=DataView;function c(z){return f.isView(z)&&!(z instanceof v)}function T(z){return Array.isArray(z)||c(z)}function l(z,F){return z[0]=F[0],z[1]=F[1],z[2]=F[2],z}function x(z){this.gl=z,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.tickFontStyle=[\"normal\",\"normal\",\"normal\"],this.tickFontWeight=[\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\"],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\",\"sans-serif\",\"sans-serif\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\"],this.labelFontWeight=[\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\"],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=n(z)}var w=x.prototype;w.update=function(z){z=z||{};function F(q,se,ae){if(ae in z){var j=z[ae],Q=this[ae],re;(q?T(j)&&T(j[0]):T(j))?this[ae]=re=[se(j[0]),se(j[1]),se(j[2])]:this[ae]=re=[se(j),se(j),se(j)];for(var pe=0;pe<3;++pe)if(re[pe]!==Q[pe])return!0}return!1}var B=F.bind(this,!1,Number),O=F.bind(this,!1,Boolean),P=F.bind(this,!1,String),U=F.bind(this,!0,function(q){if(T(q)){if(q.length===3)return[+q[0],+q[1],+q[2],1];if(q.length===4)return[+q[0],+q[1],+q[2],+q[3]]}return[0,0,0,1]}),N,X=!1,$=!1;if(\"bounds\"in z)for(var ue=z.bounds,ce=0;ce<2;++ce)for(var de=0;de<3;++de)ue[ce][de]!==this.bounds[ce][de]&&($=!0),this.bounds[ce][de]=ue[ce][de];if(\"ticks\"in z){N=z.ticks,X=!0,this.autoTicks=!1;for(var ce=0;ce<3;++ce)this.tickSpacing[ce]=0}else B(\"tickSpacing\")&&(this.autoTicks=!0,$=!0);if(this._firstInit&&(\"ticks\"in z||\"tickSpacing\"in z||(this.autoTicks=!0),$=!0,X=!0,this._firstInit=!1),$&&this.autoTicks&&(N=s.create(this.bounds,this.tickSpacing),X=!0),X){for(var ce=0;ce<3;++ce)N[ce].sort(function(se,ae){return se.x-ae.x});s.equal(N,this.ticks)?X=!1:this.ticks=N}O(\"tickEnable\"),P(\"tickFont\")&&(X=!0),P(\"tickFontStyle\")&&(X=!0),P(\"tickFontWeight\")&&(X=!0),P(\"tickFontVariant\")&&(X=!0),B(\"tickSize\"),B(\"tickAngle\"),B(\"tickPad\"),U(\"tickColor\");var V=P(\"labels\");P(\"labelFont\")&&(V=!0),P(\"labelFontStyle\")&&(V=!0),P(\"labelFontWeight\")&&(V=!0),P(\"labelFontVariant\")&&(V=!0),O(\"labelEnable\"),B(\"labelSize\"),B(\"labelPad\"),U(\"labelColor\"),O(\"lineEnable\"),O(\"lineMirror\"),B(\"lineWidth\"),U(\"lineColor\"),O(\"lineTickEnable\"),O(\"lineTickMirror\"),B(\"lineTickLength\"),B(\"lineTickWidth\"),U(\"lineTickColor\"),O(\"gridEnable\"),B(\"gridWidth\"),U(\"gridColor\"),O(\"zeroEnable\"),U(\"zeroLineColor\"),B(\"zeroLineWidth\"),O(\"backgroundEnable\"),U(\"backgroundColor\");var Y=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],ee=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(V||X)&&this._text.update(this.bounds,this.labels,Y,this.ticks,ee):this._text=o(this.gl,this.bounds,this.labels,Y,this.ticks,ee),this._lines&&X&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=a(this.gl,this.bounds,this.ticks))};function S(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var M=[new S,new S,new S];function m(z,F,B,O,P){for(var U=z.primalOffset,N=z.primalMinor,X=z.mirrorOffset,$=z.mirrorMinor,ue=O[F],ce=0;ce<3;++ce)if(F!==ce){var de=U,V=X,Y=N,ee=$;ue&1<0?(Y[ce]=-1,ee[ce]=0):(Y[ce]=0,ee[ce]=1)}}var b=[0,0,0],p={model:h,view:h,projection:h,_ortho:!1};w.isOpaque=function(){return!0},w.isTransparent=function(){return!1},w.drawTransparent=function(z){};var u=0,g=[0,0,0],y=[0,0,0],D=[0,0,0];w.draw=function(z){z=z||p;for(var ae=this.gl,F=z.model||h,B=z.view||h,O=z.projection||h,P=this.bounds,U=z._ortho||!1,N=i(F,B,O,P,U),X=N.cubeEdges,$=N.axis,ue=B[12],ce=B[13],de=B[14],V=B[15],Y=U?2:1,ee=Y*this.pixelRatio*(O[3]*ue+O[7]*ce+O[11]*de+O[15]*V)/ae.drawingBufferHeight,q=0;q<3;++q)this.lastCubeProps.cubeEdges[q]=X[q],this.lastCubeProps.axis[q]=$[q];for(var se=M,q=0;q<3;++q)m(M[q],q,this.bounds,X,$);for(var ae=this.gl,j=b,q=0;q<3;++q)this.backgroundEnable[q]?j[q]=$[q]:j[q]=0;this._background.draw(F,B,O,P,j,this.backgroundColor),this._lines.bind(F,B,O,this);for(var q=0;q<3;++q){var Q=[0,0,0];$[q]>0?Q[q]=P[1][q]:Q[q]=P[0][q];for(var re=0;re<2;++re){var pe=(q+1+re)%3,we=(q+1+(re^1))%3;this.gridEnable[pe]&&this._lines.drawGrid(pe,we,this.bounds,Q,this.gridColor[pe],this.gridWidth[pe]*this.pixelRatio)}for(var re=0;re<2;++re){var pe=(q+1+re)%3,we=(q+1+(re^1))%3;this.zeroEnable[we]&&Math.min(P[0][we],P[1][we])<=0&&Math.max(P[0][we],P[1][we])>=0&&this._lines.drawZero(pe,we,this.bounds,Q,this.zeroLineColor[we],this.zeroLineWidth[we]*this.pixelRatio)}}for(var q=0;q<3;++q){this.lineEnable[q]&&this._lines.drawAxisLine(q,this.bounds,se[q].primalOffset,this.lineColor[q],this.lineWidth[q]*this.pixelRatio),this.lineMirror[q]&&this._lines.drawAxisLine(q,this.bounds,se[q].mirrorOffset,this.lineColor[q],this.lineWidth[q]*this.pixelRatio);for(var Se=l(g,se[q].primalMinor),Ie=l(y,se[q].mirrorMinor),Re=this.lineTickLength,re=0;re<3;++re){var He=ee/F[5*re];Se[re]*=Re[re]*He,Ie[re]*=Re[re]*He}this.lineTickEnable[q]&&this._lines.drawAxisTicks(q,se[q].primalOffset,Se,this.lineTickColor[q],this.lineTickWidth[q]*this.pixelRatio),this.lineTickMirror[q]&&this._lines.drawAxisTicks(q,se[q].mirrorOffset,Ie,this.lineTickColor[q],this.lineTickWidth[q]*this.pixelRatio)}this._lines.unbind(),this._text.bind(F,B,O,this.pixelRatio);var at,nt=.5,tt,Ue;function he(Ye){Ue=[0,0,0],Ue[Ye]=1}function le(Ye,St,kt){var qt=(Ye+1)%3,Gt=(Ye+2)%3,Tr=St[qt],mr=St[Gt],qr=kt[qt],Er=kt[Gt];if(Tr>0&&Er>0){he(qt);return}else if(Tr>0&&Er<0){he(qt);return}else if(Tr<0&&Er>0){he(qt);return}else if(Tr<0&&Er<0){he(qt);return}else if(mr>0&&qr>0){he(Gt);return}else if(mr>0&&qr<0){he(Gt);return}else if(mr<0&&qr>0){he(Gt);return}else if(mr<0&&qr<0){he(Gt);return}}for(var q=0;q<3;++q){for(var ne=se[q].primalMinor,Ce=se[q].mirrorMinor,Ze=l(D,se[q].primalOffset),re=0;re<3;++re)this.lineTickEnable[q]&&(Ze[re]+=ee*ne[re]*Math.max(this.lineTickLength[re],0)/F[5*re]);var rt=[0,0,0];if(rt[q]=1,this.tickEnable[q]){this.tickAngle[q]===-3600?(this.tickAngle[q]=0,this.tickAlign[q]=\"auto\"):this.tickAlign[q]=-1,tt=1,at=[this.tickAlign[q],nt,tt],at[0]===\"auto\"?at[0]=u:at[0]=parseInt(\"\"+at[0]),Ue=[0,0,0],le(q,ne,Ce);for(var re=0;re<3;++re)Ze[re]+=ee*ne[re]*this.tickPad[re]/F[5*re];this._text.drawTicks(q,this.tickSize[q],this.tickAngle[q],Ze,this.tickColor[q],rt,Ue,at)}if(this.labelEnable[q]){tt=0,Ue=[0,0,0],this.labels[q].length>4&&(he(q),tt=1),at=[this.labelAlign[q],nt,tt],at[0]===\"auto\"?at[0]=u:at[0]=parseInt(\"\"+at[0]);for(var re=0;re<3;++re)Ze[re]+=ee*ne[re]*this.labelPad[re]/F[5*re];Ze[q]+=.5*(P[0][q]+P[1][q]),this._text.drawLabel(q,this.labelSize[q],this.labelAngle[q],Ze,this.labelColor[q],[0,0,0],Ue,at)}}this._text.unbind()},w.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function L(z,F){var B=new x(z);return B.update(F),B}},5304:function(e,t,r){\"use strict\";e.exports=h;var o=r(2762),a=r(8116),n=r(1879).bg;function i(f,v,c,T){this.gl=f,this.buffer=v,this.vao=c,this.shader=T}var s=i.prototype;s.draw=function(f,v,c,T,l,x){for(var w=!1,S=0;S<3;++S)w=w||l[S];if(w){var M=this.gl;M.enable(M.POLYGON_OFFSET_FILL),M.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:f,view:v,projection:c,bounds:T,enable:l,colors:x},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),M.disable(M.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(f){for(var v=[],c=[],T=0,l=0;l<3;++l)for(var x=(l+1)%3,w=(l+2)%3,S=[0,0,0],M=[0,0,0],m=-1;m<=1;m+=2){c.push(T,T+2,T+1,T+1,T+2,T+3),S[l]=m,M[l]=m;for(var b=-1;b<=1;b+=2){S[x]=b;for(var p=-1;p<=1;p+=2)S[w]=p,v.push(S[0],S[1],S[2],M[0],M[1],M[2]),T+=1}var u=x;x=w,w=u}var g=o(f,new Float32Array(v)),y=o(f,new Uint16Array(c),f.ELEMENT_ARRAY_BUFFER),D=a(f,[{buffer:g,type:f.FLOAT,size:3,offset:0,stride:24},{buffer:g,type:f.FLOAT,size:3,offset:12,stride:24}],y),L=n(f);return L.attributes.position.location=0,L.attributes.normal.location=1,new i(f,g,D,L)}},6429:function(e,t,r){\"use strict\";e.exports=m;var o=r(8828),a=r(6760),n=r(5202),i=r(3250),s=new Array(16),h=new Array(8),f=new Array(8),v=new Array(3),c=[0,0,0];(function(){for(var b=0;b<8;++b)h[b]=[1,1,1,1],f[b]=[1,1,1]})();function T(b,p,u){for(var g=0;g<4;++g){b[g]=u[12+g];for(var y=0;y<3;++y)b[g]+=p[y]*u[4*y+g]}}var l=[[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 x(b){for(var p=0;p$&&(B|=1<$){B|=1<f[L][1])&&(se=L);for(var ae=-1,L=0;L<3;++L){var j=se^1<f[Q][0]&&(Q=j)}}var re=w;re[0]=re[1]=re[2]=0,re[o.log2(ae^se)]=se&ae,re[o.log2(se^Q)]=se&Q;var pe=Q^7;pe===B||pe===q?(pe=ae^7,re[o.log2(Q^pe)]=pe&Q):re[o.log2(ae^pe)]=pe&ae;for(var we=S,Se=B,U=0;U<3;++U)Se&1< 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}\n`]),h=o([`precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}`]);t.Q=function(c){return a(c,s,h,null,[{name:\"position\",type:\"vec3\"}])};var f=o([`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}\n`]),v=o([`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}`]);t.bg=function(c){return a(c,f,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(e,t,r){\"use strict\";e.exports=x;var o=r(2762),a=r(8116),n=r(4359),i=r(1879).Q,s=window||process.global||{},h=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};var f=3;function v(w,S,M,m){this.gl=w,this.shader=S,this.buffer=M,this.vao=m,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var c=v.prototype,T=[0,0];c.bind=function(w,S,M,m){this.vao.bind(),this.shader.bind();var b=this.shader.uniforms;b.model=w,b.view=S,b.projection=M,b.pixelScale=m,T[0]=this.gl.drawingBufferWidth,T[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=T},c.unbind=function(){this.vao.unbind()},c.update=function(w,S,M,m,b){var p=[];function u(U,N,X,$,ue,ce){var de=[X.style,X.weight,X.variant,X.family].join(\"_\"),V=h[de];V||(V=h[de]={});var Y=V[N];Y||(Y=V[N]=l(N,{triangles:!0,font:X.family,fontStyle:X.style,fontWeight:X.weight,fontVariant:X.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:ue,styletags:ce}));for(var ee=($||12)/12,q=Y.positions,se=Y.cells,ae=0,j=se.length;ae=0;--re){var pe=q[Q[re]];p.push(ee*pe[0],-ee*pe[1],U)}}for(var g=[0,0,0],y=[0,0,0],D=[0,0,0],L=[0,0,0],z=1.25,F={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},B=0;B<3;++B){D[B]=p.length/f|0,u(.5*(w[0][B]+w[1][B]),S[B],M[B],12,z,F),L[B]=(p.length/f|0)-D[B],g[B]=p.length/f|0;for(var O=0;O=0&&(f=s.length-h-1);var v=Math.pow(10,f),c=Math.round(n*i*v),T=c+\"\";if(T.indexOf(\"e\")>=0)return T;var l=c/v,x=c%v;c<0?(l=-Math.ceil(l)|0,x=-x|0):(l=Math.floor(l)|0,x=x|0);var w=\"\"+l;if(c<0&&(w=\"-\"+w),f){for(var S=\"\"+x;S.length=n[0][h];--c)f.push({x:c*i[h],text:r(i[h],c)});s.push(f)}return s}function a(n,i){for(var s=0;s<3;++s){if(n[s].length!==i[s].length)return!1;for(var h=0;hw)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return l.bufferSubData(x,m,M),w}function v(l,x){for(var w=o.malloc(l.length,x),S=l.length,M=0;M=0;--S){if(x[S]!==w)return!1;w*=l[S]}return!0}h.update=function(l,x){if(typeof x!=\"number\"&&(x=-1),this.bind(),typeof l==\"object\"&&typeof l.shape<\"u\"){var w=l.dtype;if(i.indexOf(w)<0&&(w=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var S=gl.getExtension(\"OES_element_index_uint\");S&&w!==\"uint16\"?w=\"uint32\":w=\"uint16\"}if(w===l.dtype&&c(l.shape,l.stride))l.offset===0&&l.data.length===l.shape[0]?this.length=f(this.gl,this.type,this.length,this.usage,l.data,x):this.length=f(this.gl,this.type,this.length,this.usage,l.data.subarray(l.offset,l.shape[0]),x);else{var M=o.malloc(l.size,w),m=n(M,l.shape);a.assign(m,l),x<0?this.length=f(this.gl,this.type,this.length,this.usage,M,x):this.length=f(this.gl,this.type,this.length,this.usage,M.subarray(0,l.size),x),o.free(M)}}else if(Array.isArray(l)){var b;this.type===this.gl.ELEMENT_ARRAY_BUFFER?b=v(l,\"uint16\"):b=v(l,\"float32\"),x<0?this.length=f(this.gl,this.type,this.length,this.usage,b,x):this.length=f(this.gl,this.type,this.length,this.usage,b.subarray(0,l.length),x),o.free(b)}else if(typeof l==\"object\"&&typeof l.length==\"number\")this.length=f(this.gl,this.type,this.length,this.usage,l,x);else if(typeof l==\"number\"||l===void 0){if(x>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");l=l|0,l<=0&&(l=1),this.gl.bufferData(this.type,l|0,this.usage),this.length=l}else throw new Error(\"gl-buffer: Invalid data type\")};function T(l,x,w,S){if(w=w||l.ARRAY_BUFFER,S=S||l.DYNAMIC_DRAW,w!==l.ARRAY_BUFFER&&w!==l.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(S!==l.DYNAMIC_DRAW&&S!==l.STATIC_DRAW&&S!==l.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 M=l.createBuffer(),m=new s(l,w,M,0,S);return m.update(x),m}e.exports=T},6405:function(e,t,r){\"use strict\";var o=r(2931);e.exports=function(n,i){var s=n.positions,h=n.vectors,f={positions:[],vertexIntensity:[],vertexIntensityBounds:n.vertexIntensityBounds,vectors:[],cells:[],coneOffset:n.coneOffset,colormap:n.colormap};if(n.positions.length===0)return i&&(i[0]=[0,0,0],i[1]=[0,0,0]),f;for(var v=0,c=1/0,T=-1/0,l=1/0,x=-1/0,w=1/0,S=-1/0,M=null,m=null,b=[],p=1/0,u=!1,g=n.coneSizemode===\"raw\",y=0;yv&&(v=o.length(L)),y&&!g){var z=2*o.distance(M,D)/(o.length(m)+o.length(L));z?(p=Math.min(p,z),u=!1):u=!0}u||(M=D,m=L),b.push(L)}var F=[c,l,w],B=[T,x,S];i&&(i[0]=F,i[1]=B),v===0&&(v=1);var O=1/v;isFinite(p)||(p=1),f.vectorScale=p;var P=n.coneSize||(g?1:.5);n.absoluteConeSize&&(P=n.absoluteConeSize*O),f.coneScale=P;for(var y=0,U=0;y=1},l.isTransparent=function(){return this.opacity<1},l.pickSlots=1,l.setPickBase=function(b){this.pickId=b};function x(b){for(var p=v({colormap:b,nshades:256,format:\"rgba\"}),u=new Uint8Array(256*4),g=0;g<256;++g){for(var y=p[g],D=0;D<3;++D)u[4*g+D]=y[D];u[4*g+3]=y[3]*255}return f(u,[256,256,4],[4,0,1])}function w(b){for(var p=b.length,u=new Array(p),g=0;g0){var U=this.triShader;U.bind(),U.uniforms=z,this.triangleVAO.bind(),p.drawArrays(p.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},l.drawPick=function(b){b=b||{};for(var p=this.gl,u=b.model||c,g=b.view||c,y=b.projection||c,D=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],L=0;L<3;++L)D[0][L]=Math.max(D[0][L],this.clipBounds[0][L]),D[1][L]=Math.min(D[1][L],this.clipBounds[1][L]);this._model=[].slice.call(u),this._view=[].slice.call(g),this._projection=[].slice.call(y),this._resolution=[p.drawingBufferWidth,p.drawingBufferHeight];var z={model:u,view:g,projection:y,clipBounds:D,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},F=this.pickShader;F.bind(),F.uniforms=z,this.triangleCount>0&&(this.triangleVAO.bind(),p.drawArrays(p.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},l.pick=function(b){if(!b||b.id!==this.pickId)return null;var p=b.value[0]+256*b.value[1]+65536*b.value[2],u=this.cells[p],g=this.positions[u[1]].slice(0,3),y={position:g,dataCoordinate:g,index:Math.floor(u[1]/48)};return this.traceType===\"cone\"?y.index=Math.floor(u[1]/48):this.traceType===\"streamtube\"&&(y.intensity=this.intensity[u[1]],y.velocity=this.vectors[u[1]].slice(0,3),y.divergence=this.vectors[u[1]][3],y.index=p),y},l.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()};function S(b,p){var u=o(b,p.meshShader.vertex,p.meshShader.fragment,null,p.meshShader.attributes);return u.attributes.position.location=0,u.attributes.color.location=2,u.attributes.uv.location=3,u.attributes.vector.location=4,u}function M(b,p){var u=o(b,p.pickShader.vertex,p.pickShader.fragment,null,p.pickShader.attributes);return u.attributes.position.location=0,u.attributes.id.location=1,u.attributes.vector.location=4,u}function m(b,p,u){var g=u.shaders;arguments.length===1&&(p=b,b=p.gl);var y=S(b,g),D=M(b,g),L=i(b,f(new Uint8Array([255,255,255,255]),[1,1,4]));L.generateMipmap(),L.minFilter=b.LINEAR_MIPMAP_LINEAR,L.magFilter=b.LINEAR;var z=a(b),F=a(b),B=a(b),O=a(b),P=a(b),U=n(b,[{buffer:z,type:b.FLOAT,size:4},{buffer:P,type:b.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:B,type:b.FLOAT,size:4},{buffer:O,type:b.FLOAT,size:2},{buffer:F,type:b.FLOAT,size:4}]),N=new T(b,L,y,D,z,F,P,B,O,U,u.traceType||\"cone\");return N.update(p),N}e.exports=m},614:function(e,t,r){var o=r(3236),a=o([`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`]),n=o([`#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`]),i=o([`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=o([`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}`]);t.meshShader={vertex:a,fragment:n,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},t.pickShader={vertex:i,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(e){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\",34e3:\"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\"}},5171:function(e,t,r){var o=r(737);e.exports=function(n){return o[n]}},9165:function(e,t,r){\"use strict\";e.exports=T;var o=r(2762),a=r(8116),n=r(3436),i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(l,x,w,S){this.gl=l,this.shader=S,this.buffer=x,this.vao=w,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 h=s.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(l){var x=this.gl,w=this.shader.uniforms;this.shader.bind();var S=w.view=l.view||i,M=w.projection=l.projection||i;w.model=l.model||i,w.clipBounds=this.clipBounds,w.opacity=this.opacity;var m=S[12],b=S[13],p=S[14],u=S[15],g=l._ortho||!1,y=g?2:1,D=y*this.pixelRatio*(M[3]*m+M[7]*b+M[11]*p+M[15]*u)/x.drawingBufferHeight;this.vao.bind();for(var L=0;L<3;++L)x.lineWidth(this.lineWidth[L]*this.pixelRatio),w.capSize=this.capSize[L]*D,this.lineCount[L]&&x.drawArrays(x.LINES,this.lineOffset[L],this.lineCount[L]);this.vao.unbind()};function f(l,x){for(var w=0;w<3;++w)l[0][w]=Math.min(l[0][w],x[w]),l[1][w]=Math.max(l[1][w],x[w])}var v=function(){for(var l=new Array(3),x=0;x<3;++x){for(var w=[],S=1;S<=2;++S)for(var M=-1;M<=1;M+=2){var m=(S+x)%3,b=[0,0,0];b[m]=M,w.push(b)}l[x]=w}return l}();function c(l,x,w,S){for(var M=v[S],m=0;m0){var z=g.slice();z[p]+=D[1][p],M.push(g[0],g[1],g[2],L[0],L[1],L[2],L[3],0,0,0,z[0],z[1],z[2],L[0],L[1],L[2],L[3],0,0,0),f(this.bounds,z),b+=2+c(M,z,L,p)}}}this.lineCount[p]=b-this.lineOffset[p]}this.buffer.update(M)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function T(l){var x=l.gl,w=o(x),S=a(x,[{buffer:w,type:x.FLOAT,size:3,offset:0,stride:40},{buffer:w,type:x.FLOAT,size:4,offset:12,stride:40},{buffer:w,type:x.FLOAT,size:3,offset:28,stride:40}]),M=n(x);M.attributes.position.location=0,M.attributes.color.location=1,M.attributes.offset.location=2;var m=new s(x,w,S,M);return m.update(l),m}},3436:function(e,t,r){\"use strict\";var o=r(3236),a=r(9405),n=o([`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}`]),i=o([`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(s){return a(s,n,i,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(e,t,r){\"use strict\";var o=r(7766);e.exports=b;var a=null,n,i,s,h;function f(p){var u=p.getParameter(p.FRAMEBUFFER_BINDING),g=p.getParameter(p.RENDERBUFFER_BINDING),y=p.getParameter(p.TEXTURE_BINDING_2D);return[u,g,y]}function v(p,u){p.bindFramebuffer(p.FRAMEBUFFER,u[0]),p.bindRenderbuffer(p.RENDERBUFFER,u[1]),p.bindTexture(p.TEXTURE_2D,u[2])}function c(p,u){var g=p.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL);a=new Array(g+1);for(var y=0;y<=g;++y){for(var D=new Array(g),L=0;L1&&F.drawBuffersWEBGL(a[z]);var N=g.getExtension(\"WEBGL_depth_texture\");N?B?p.depth=l(g,D,L,N.UNSIGNED_INT_24_8_WEBGL,g.DEPTH_STENCIL,g.DEPTH_STENCIL_ATTACHMENT):O&&(p.depth=l(g,D,L,g.UNSIGNED_SHORT,g.DEPTH_COMPONENT,g.DEPTH_ATTACHMENT)):O&&B?p._depth_rb=x(g,D,L,g.DEPTH_STENCIL,g.DEPTH_STENCIL_ATTACHMENT):O?p._depth_rb=x(g,D,L,g.DEPTH_COMPONENT16,g.DEPTH_ATTACHMENT):B&&(p._depth_rb=x(g,D,L,g.STENCIL_INDEX,g.STENCIL_ATTACHMENT));var X=g.checkFramebufferStatus(g.FRAMEBUFFER);if(X!==g.FRAMEBUFFER_COMPLETE){p._destroyed=!0,g.bindFramebuffer(g.FRAMEBUFFER,null),g.deleteFramebuffer(p.handle),p.handle=null,p.depth&&(p.depth.dispose(),p.depth=null),p._depth_rb&&(g.deleteRenderbuffer(p._depth_rb),p._depth_rb=null);for(var U=0;UD||g<0||g>D)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");p._shape[0]=u,p._shape[1]=g;for(var L=f(y),z=0;zL||g<0||g>L)throw new Error(\"gl-fbo: Parameters are too large for FBO\");y=y||{};var z=1;if(\"color\"in y){if(z=Math.max(y.color|0,0),z<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(z>1)if(D){if(z>p.getParameter(D.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+z+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var F=p.UNSIGNED_BYTE,B=p.getExtension(\"OES_texture_float\");if(y.float&&z>0){if(!B)throw new Error(\"gl-fbo: Context does not support floating point textures\");F=p.FLOAT}else y.preferFloat&&z>0&&B&&(F=p.FLOAT);var O=!0;\"depth\"in y&&(O=!!y.depth);var P=!1;return\"stencil\"in y&&(P=!!y.stencil),new S(p,u,g,F,z,O,P,D)}},2992:function(e,t,r){var o=r(3387).sprintf,a=r(5171),n=r(1848),i=r(1085);e.exports=s;function s(h,f,v){\"use strict\";var c=n(f)||\"of unknown name (see npm glsl-shader-name)\",T=\"unknown type\";v!==void 0&&(T=v===a.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var l=o(`Error compiling %s shader %s:\n`,T,c),x=o(\"%s%s\",l,h),w=h.split(`\n`),S={},M=0;M 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=o([`precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n 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 vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n 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 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, packFloat(pixelArcLength).xyz);\n}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];t.createShader=function(f){return a(f,n,i,null,h)},t.createPickShader=function(f){return a(f,n,s,null,h)}},5714:function(e,t,r){\"use strict\";e.exports=p;var o=r(2762),a=r(8116),n=r(7766),i=new Uint8Array(4),s=new Float32Array(i.buffer);function h(u,g,y,D){return i[0]=D,i[1]=y,i[2]=g,i[3]=u,s[0]}var f=r(2478),v=r(9618),c=r(7319),T=c.createShader,l=c.createPickShader,x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function w(u,g){for(var y=0,D=0;D<3;++D){var L=u[D]-g[D];y+=L*L}return Math.sqrt(y)}function S(u){for(var g=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],y=0;y<3;++y)g[0][y]=Math.max(u[0][y],g[0][y]),g[1][y]=Math.min(u[1][y],g[1][y]);return g}function M(u,g,y,D){this.arcLength=u,this.position=g,this.index=y,this.dataCoordinate=D}function m(u,g,y,D,L,z){this.gl=u,this.shader=g,this.pickShader=y,this.buffer=D,this.vao=L,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=z,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var b=m.prototype;b.isTransparent=function(){return this.hasAlpha},b.isOpaque=function(){return!this.hasAlpha},b.pickSlots=1,b.setPickBase=function(u){this.pickId=u},b.drawTransparent=b.draw=function(u){if(this.vertexCount){var g=this.gl,y=this.shader,D=this.vao;y.bind(),y.uniforms={model:u.model||x,view:u.view||x,projection:u.projection||x,clipBounds:S(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[g.drawingBufferWidth,g.drawingBufferHeight],pixelRatio:this.pixelRatio},D.bind(),D.draw(g.TRIANGLE_STRIP,this.vertexCount),D.unbind()}},b.drawPick=function(u){if(this.vertexCount){var g=this.gl,y=this.pickShader,D=this.vao;y.bind(),y.uniforms={model:u.model||x,view:u.view||x,projection:u.projection||x,pickId:this.pickId,clipBounds:S(this.clipBounds),screenShape:[g.drawingBufferWidth,g.drawingBufferHeight],pixelRatio:this.pixelRatio},D.bind(),D.draw(g.TRIANGLE_STRIP,this.vertexCount),D.unbind()}},b.update=function(u){var g,y;this.dirty=!0;var D=!!u.connectGaps;\"dashScale\"in u&&(this.dashScale=u.dashScale),this.hasAlpha=!1,\"opacity\"in u&&(this.opacity=+u.opacity,this.opacity<1&&(this.hasAlpha=!0));var L=[],z=[],F=[],B=0,O=0,P=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],U=u.position||u.positions;if(U){var N=u.color||u.colors||[0,0,0,1],X=u.lineWidth||1,$=!1;e:for(g=1;g0){for(var de=0;de<24;++de)L.push(L[L.length-12]);O+=2,$=!0}continue e}P[0][y]=Math.min(P[0][y],ue[y],ce[y]),P[1][y]=Math.max(P[1][y],ue[y],ce[y])}var V,Y;Array.isArray(N[0])?(V=N.length>g-1?N[g-1]:N.length>0?N[N.length-1]:[0,0,0,1],Y=N.length>g?N[g]:N.length>0?N[N.length-1]:[0,0,0,1]):V=Y=N,V.length===3&&(V=[V[0],V[1],V[2],1]),Y.length===3&&(Y=[Y[0],Y[1],Y[2],1]),!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0);var ee;Array.isArray(X)?ee=X.length>g-1?X[g-1]:X.length>0?X[X.length-1]:[0,0,0,1]:ee=X;var q=B;if(B+=w(ue,ce),$){for(y=0;y<2;++y)L.push(ue[0],ue[1],ue[2],ce[0],ce[1],ce[2],q,ee,V[0],V[1],V[2],V[3]);O+=2,$=!1}L.push(ue[0],ue[1],ue[2],ce[0],ce[1],ce[2],q,ee,V[0],V[1],V[2],V[3],ue[0],ue[1],ue[2],ce[0],ce[1],ce[2],q,-ee,V[0],V[1],V[2],V[3],ce[0],ce[1],ce[2],ue[0],ue[1],ue[2],B,-ee,Y[0],Y[1],Y[2],Y[3],ce[0],ce[1],ce[2],ue[0],ue[1],ue[2],B,ee,Y[0],Y[1],Y[2],Y[3]),O+=4}}if(this.buffer.update(L),z.push(B),F.push(U[U.length-1].slice()),this.bounds=P,this.vertexCount=O,this.points=F,this.arcLength=z,\"dashes\"in u){var se=u.dashes,ae=se.slice();for(ae.unshift(0),g=1;g1.0001)return null;y+=g[M]}return Math.abs(y-1)>.001?null:[m,h(v,g),g]}},840:function(e,t,r){var o=r(3236),a=o([`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`]),n=o([`#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`]),i=o([`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=o([`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}`]),h=o([`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}`]),f=o([`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}`]),v=o([`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}`]),c=o([`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}`]),T=o([`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}`]),l=o([`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}`]),x=o([`precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n`]);t.meshShader={vertex:a,fragment:n,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},t.wireShader={vertex:i,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},t.pointShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},t.pickShader={vertex:v,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},t.pointPickShader={vertex:T,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},t.contourShader={vertex:l,fragment:x,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(e,t,r){\"use strict\";var o=1e-6,a=1e-6,n=r(9405),i=r(2762),s=r(8116),h=r(7766),f=r(8406),v=r(6760),c=r(7608),T=r(9618),l=r(6729),x=r(7765),w=r(1888),S=r(840),M=r(7626),m=S.meshShader,b=S.wireShader,p=S.pointShader,u=S.pickShader,g=S.pointPickShader,y=S.contourShader,D=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function L(de,V,Y,ee,q,se,ae,j,Q,re,pe,we,Se,Ie,Re,He,at,nt,tt,Ue,he,le,ne,Ce,Ze,rt,Ye){this.gl=de,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=V,this.dirty=!0,this.triShader=Y,this.lineShader=ee,this.pointShader=q,this.pickShader=se,this.pointPickShader=ae,this.contourShader=j,this.trianglePositions=Q,this.triangleColors=pe,this.triangleNormals=Se,this.triangleUVs=we,this.triangleIds=re,this.triangleVAO=Ie,this.triangleCount=0,this.lineWidth=1,this.edgePositions=Re,this.edgeColors=at,this.edgeUVs=nt,this.edgeIds=He,this.edgeVAO=tt,this.edgeCount=0,this.pointPositions=Ue,this.pointColors=le,this.pointUVs=ne,this.pointSizes=Ce,this.pointIds=he,this.pointVAO=Ze,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=rt,this.contourVAO=Ye,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!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=D,this._view=D,this._projection=D,this._resolution=[1,1]}var z=L.prototype;z.isOpaque=function(){return!this.hasAlpha},z.isTransparent=function(){return this.hasAlpha},z.pickSlots=1,z.setPickBase=function(de){this.pickId=de};function F(de,V){if(!V||!V.length)return 1;for(var Y=0;Yde&&Y>0){var ee=(V[Y][0]-de)/(V[Y][0]-V[Y-1][0]);return V[Y][1]*(1-ee)+ee*V[Y-1][1]}}return 1}function B(de,V){for(var Y=l({colormap:de,nshades:256,format:\"rgba\"}),ee=new Uint8Array(256*4),q=0;q<256;++q){for(var se=Y[q],ae=0;ae<3;++ae)ee[4*q+ae]=se[ae];V?ee[4*q+3]=255*F(q/255,V):ee[4*q+3]=255*se[3]}return T(ee,[256,256,4],[4,0,1])}function O(de){for(var V=de.length,Y=new Array(V),ee=0;ee0){var Se=this.triShader;Se.bind(),Se.uniforms=j,this.triangleVAO.bind(),V.drawArrays(V.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var Se=this.lineShader;Se.bind(),Se.uniforms=j,this.edgeVAO.bind(),V.lineWidth(this.lineWidth*this.pixelRatio),V.drawArrays(V.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var Se=this.pointShader;Se.bind(),Se.uniforms=j,this.pointVAO.bind(),V.drawArrays(V.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var Se=this.contourShader;Se.bind(),Se.uniforms=j,this.contourVAO.bind(),V.drawArrays(V.LINES,0,this.contourCount),this.contourVAO.unbind()}},z.drawPick=function(de){de=de||{};for(var V=this.gl,Y=de.model||D,ee=de.view||D,q=de.projection||D,se=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],ae=0;ae<3;++ae)se[0][ae]=Math.max(se[0][ae],this.clipBounds[0][ae]),se[1][ae]=Math.min(se[1][ae],this.clipBounds[1][ae]);this._model=[].slice.call(Y),this._view=[].slice.call(ee),this._projection=[].slice.call(q),this._resolution=[V.drawingBufferWidth,V.drawingBufferHeight];var j={model:Y,view:ee,projection:q,clipBounds:se,pickId:this.pickId/255},Q=this.pickShader;if(Q.bind(),Q.uniforms=j,this.triangleCount>0&&(this.triangleVAO.bind(),V.drawArrays(V.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),V.lineWidth(this.lineWidth*this.pixelRatio),V.drawArrays(V.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Q=this.pointPickShader;Q.bind(),Q.uniforms=j,this.pointVAO.bind(),V.drawArrays(V.POINTS,0,this.pointCount),this.pointVAO.unbind()}},z.pick=function(de){if(!de||de.id!==this.pickId)return null;for(var V=de.value[0]+256*de.value[1]+65536*de.value[2],Y=this.cells[V],ee=this.positions,q=new Array(Y.length),se=0;seMath.abs(u))l.rotate(D,0,0,-p*g*Math.PI*m.rotateSpeed/window.innerWidth);else if(!m._ortho){var L=-m.zoomSpeed*y*u/window.innerHeight*(D-l.lastT())/20;l.pan(D,0,0,w*(Math.exp(L)-1))}}},!0)},m.enableMouseListeners(),m}},799:function(e,t,r){var o=r(3236),a=r(9405),n=o([`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}`]),i=o([`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(s){return a(s,n,i,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(e,t,r){\"use strict\";var o=r(4437),a=r(3837),n=r(5445),i=r(4449),s=r(3589),h=r(2260),f=r(7169),v=r(351),c=r(4772),T=r(4040),l=r(799),x=r(9216)({tablet:!0,featureDetect:!0});e.exports={createScene:b,createCamera:o};function w(){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 S(u,g){var y=null;try{y=u.getContext(\"webgl\",g),y||(y=u.getContext(\"experimental-webgl\",g))}catch{return null}return y}function M(u){var g=Math.round(Math.log(Math.abs(u))/Math.log(10));if(g<0){var y=Math.round(Math.pow(10,-g));return Math.ceil(u*y)/y}else if(g>0){var y=Math.round(Math.pow(10,g));return Math.ceil(u/y)*y}return Math.ceil(u)}function m(u){return typeof u==\"boolean\"?u:!0}function b(u){u=u||{},u.camera=u.camera||{};var g=u.canvas;if(!g)if(g=document.createElement(\"canvas\"),u.container){var y=u.container;y.appendChild(g)}else document.body.appendChild(g);var D=u.gl;if(D||(u.glOptions&&(x=!!u.glOptions.preserveDrawingBuffer),D=S(g,u.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:x})),!D)throw new Error(\"webgl not supported\");var L=u.bounds||[[-10,-10,-10],[10,10,10]],z=new w,F=h(D,D.drawingBufferWidth,D.drawingBufferHeight,{preferFloat:!x}),B=l(D),O=u.cameraObject&&u.cameraObject._ortho===!0||u.camera.projection&&u.camera.projection.type===\"orthographic\"||!1,P={eye:u.camera.eye||[2,0,0],center:u.camera.center||[0,0,0],up:u.camera.up||[0,1,0],zoomMin:u.camera.zoomMax||.1,zoomMax:u.camera.zoomMin||100,mode:u.camera.mode||\"turntable\",_ortho:O},U=u.axes||{},N=a(D,U);N.enable=!U.disable;var X=u.spikes||{},$=i(D,X),ue=[],ce=[],de=[],V=[],Y=!0,ae=!0,ee=new Array(16),q=new Array(16),se={view:null,projection:ee,model:q,_ortho:!1},ae=!0,j=[D.drawingBufferWidth,D.drawingBufferHeight],Q=u.cameraObject||o(g,P),re={gl:D,contextLost:!1,pixelRatio:u.pixelRatio||1,canvas:g,selection:z,camera:Q,axes:N,axesPixels:null,spikes:$,bounds:L,objects:ue,shape:j,aspect:u.aspectRatio||[1,1,1],pickRadius:u.pickRadius||10,zNear:u.zNear||.01,zFar:u.zFar||1e3,fovy:u.fovy||Math.PI/4,clearColor:u.clearColor||[0,0,0,0],autoResize:m(u.autoResize),autoBounds:m(u.autoBounds),autoScale:!!u.autoScale,autoCenter:m(u.autoCenter),clipToBounds:m(u.clipToBounds),snapToData:!!u.snapToData,onselect:u.onselect||null,onrender:u.onrender||null,onclick:u.onclick||null,cameraParams:se,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Ue){this.aspect[0]=Ue.x,this.aspect[1]=Ue.y,this.aspect[2]=Ue.z,ae=!0},setBounds:function(Ue,he){this.bounds[0][Ue]=he.min,this.bounds[1][Ue]=he.max},setClearColor:function(Ue){this.clearColor=Ue},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},pe=[D.drawingBufferWidth/re.pixelRatio|0,D.drawingBufferHeight/re.pixelRatio|0];function we(){if(!re._stopped&&re.autoResize){var Ue=g.parentNode,he=1,le=1;Ue&&Ue!==document.body?(he=Ue.clientWidth,le=Ue.clientHeight):(he=window.innerWidth,le=window.innerHeight);var ne=Math.ceil(he*re.pixelRatio)|0,Ce=Math.ceil(le*re.pixelRatio)|0;if(ne!==g.width||Ce!==g.height){g.width=ne,g.height=Ce;var Ze=g.style;Ze.position=Ze.position||\"absolute\",Ze.left=\"0px\",Ze.top=\"0px\",Ze.width=he+\"px\",Ze.height=le+\"px\",Y=!0}}}re.autoResize&&we(),window.addEventListener(\"resize\",we);function Se(){for(var Ue=ue.length,he=V.length,le=0;le0&&de[he-1]===0;)de.pop(),V.pop().dispose()}re.update=function(Ue){re._stopped||(Ue=Ue||{},Y=!0,ae=!0)},re.add=function(Ue){re._stopped||(Ue.axes=N,ue.push(Ue),ce.push(-1),Y=!0,ae=!0,Se())},re.remove=function(Ue){if(!re._stopped){var he=ue.indexOf(Ue);he<0||(ue.splice(he,1),ce.pop(),Y=!0,ae=!0,Se())}},re.dispose=function(){if(!re._stopped&&(re._stopped=!0,window.removeEventListener(\"resize\",we),g.removeEventListener(\"webglcontextlost\",Ie),re.mouseListener.enabled=!1,!re.contextLost)){N.dispose(),$.dispose();for(var Ue=0;Uez.distance)continue;for(var kt=0;kt1e-6?(x=Math.acos(w),S=Math.sin(x),M=Math.sin((1-n)*x)/S,m=Math.sin(n*x)/S):(M=1-n,m=n),r[0]=M*i+m*v,r[1]=M*s+m*c,r[2]=M*h+m*T,r[3]=M*f+m*l,r}},5964:function(e){\"use strict\";e.exports=function(t){return!t&&t!==0?\"\":t.toString()}},9366:function(e,t,r){\"use strict\";var o=r(4359);e.exports=n;var a={};function n(i,s,h){var f=[s.style,s.weight,s.variant,s.family].join(\"_\"),v=a[f];if(v||(v=a[f]={}),i in v)return v[i];var c={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:s.family,fontStyle:s.style,fontWeight:s.weight,fontVariant:s.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};c.triangles=!0;var T=o(i,c);c.triangles=!1;var l=o(i,c),x,w;if(h&&h!==1){for(x=0;x 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}`]),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 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`]),h=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`]),f=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}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],c={vertex:n,fragment:h,attributes:v},T={vertex:i,fragment:h,attributes:v},l={vertex:s,fragment:h,attributes:v},x={vertex:n,fragment:f,attributes:v},w={vertex:i,fragment:f,attributes:v},S={vertex:s,fragment:f,attributes:v};function M(m,b){var p=o(m,b),u=p.attributes;return u.position.location=0,u.color.location=1,u.glyph.location=2,u.id.location=3,p}t.createPerspective=function(m){return M(m,c)},t.createOrtho=function(m){return M(m,T)},t.createProject=function(m){return M(m,l)},t.createPickPerspective=function(m){return M(m,x)},t.createPickOrtho=function(m){return M(m,w)},t.createPickProject=function(m){return M(m,S)}},8418:function(e,t,r){\"use strict\";var o=r(5219),a=r(2762),n=r(8116),i=r(1888),s=r(6760),h=r(1283),f=r(9366),v=r(5964),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=ArrayBuffer,l=DataView;function x(q){return T.isView(q)&&!(q instanceof l)}function w(q){return Array.isArray(q)||x(q)}e.exports=ee;function S(q,se){var ae=q[0],j=q[1],Q=q[2],re=q[3];return q[0]=se[0]*ae+se[4]*j+se[8]*Q+se[12]*re,q[1]=se[1]*ae+se[5]*j+se[9]*Q+se[13]*re,q[2]=se[2]*ae+se[6]*j+se[10]*Q+se[14]*re,q[3]=se[3]*ae+se[7]*j+se[11]*Q+se[15]*re,q}function M(q,se,ae,j){return S(j,j,ae),S(j,j,se),S(j,j,q)}function m(q,se){this.index=q,this.dataCoordinate=this.position=se}function b(q){return q===!0||q>1?1:q}function p(q,se,ae,j,Q,re,pe,we,Se,Ie,Re,He){this.gl=q,this.pixelRatio=1,this.shader=se,this.orthoShader=ae,this.projectShader=j,this.pointBuffer=Q,this.colorBuffer=re,this.glyphBuffer=pe,this.idBuffer=we,this.vao=Se,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=Ie,this.pickOrthoShader=Re,this.pickProjectShader=He,this.points=[],this._selectResult=new m(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}var u=p.prototype;u.pickSlots=1,u.setPickBase=function(q){this.pickId=q},u.isTransparent=function(){if(this.hasAlpha)return!0;for(var q=0;q<3;++q)if(this.axesProject[q]&&this.projectHasAlpha)return!0;return!1},u.isOpaque=function(){if(!this.hasAlpha)return!0;for(var q=0;q<3;++q)if(this.axesProject[q]&&!this.projectHasAlpha)return!0;return!1};var g=[0,0],y=[0,0,0],D=[0,0,0],L=[0,0,0,1],z=[0,0,0,1],F=c.slice(),B=[0,0,0],O=[[0,0,0],[0,0,0]];function P(q){return q[0]=q[1]=q[2]=0,q}function U(q,se){return q[0]=se[0],q[1]=se[1],q[2]=se[2],q[3]=1,q}function N(q,se,ae,j){return q[0]=se[0],q[1]=se[1],q[2]=se[2],q[ae]=j,q}function X(q){for(var se=O,ae=0;ae<2;++ae)for(var j=0;j<3;++j)se[ae][j]=Math.max(Math.min(q[ae][j],1e8),-1e8);return se}function $(q,se,ae,j){var Q=se.axesProject,re=se.gl,pe=q.uniforms,we=ae.model||c,Se=ae.view||c,Ie=ae.projection||c,Re=se.axesBounds,He=X(se.clipBounds),at;se.axes&&se.axes.lastCubeProps?at=se.axes.lastCubeProps.axis:at=[1,1,1],g[0]=2/re.drawingBufferWidth,g[1]=2/re.drawingBufferHeight,q.bind(),pe.view=Se,pe.projection=Ie,pe.screenSize=g,pe.highlightId=se.highlightId,pe.highlightScale=se.highlightScale,pe.clipBounds=He,pe.pickGroup=se.pickId/255,pe.pixelRatio=j;for(var nt=0;nt<3;++nt)if(Q[nt]){pe.scale=se.projectScale[nt],pe.opacity=se.projectOpacity[nt];for(var tt=F,Ue=0;Ue<16;++Ue)tt[Ue]=0;for(var Ue=0;Ue<4;++Ue)tt[5*Ue]=1;tt[5*nt]=0,at[nt]<0?tt[12+nt]=Re[0][nt]:tt[12+nt]=Re[1][nt],s(tt,we,tt),pe.model=tt;var he=(nt+1)%3,le=(nt+2)%3,ne=P(y),Ce=P(D);ne[he]=1,Ce[le]=1;var Ze=M(Ie,Se,we,U(L,ne)),rt=M(Ie,Se,we,U(z,Ce));if(Math.abs(Ze[1])>Math.abs(rt[1])){var Ye=Ze;Ze=rt,rt=Ye,Ye=ne,ne=Ce,Ce=Ye;var St=he;he=le,le=St}Ze[0]<0&&(ne[he]=-1),rt[1]>0&&(Ce[le]=-1);for(var kt=0,qt=0,Ue=0;Ue<4;++Ue)kt+=Math.pow(we[4*he+Ue],2),qt+=Math.pow(we[4*le+Ue],2);ne[he]/=Math.sqrt(kt),Ce[le]/=Math.sqrt(qt),pe.axes[0]=ne,pe.axes[1]=Ce,pe.fragClipBounds[0]=N(B,He[0],nt,-1e8),pe.fragClipBounds[1]=N(B,He[1],nt,1e8),se.vao.bind(),se.vao.draw(re.TRIANGLES,se.vertexCount),se.lineWidth>0&&(re.lineWidth(se.lineWidth*j),se.vao.draw(re.LINES,se.lineVertexCount,se.vertexCount)),se.vao.unbind()}}var ue=[-1e8,-1e8,-1e8],ce=[1e8,1e8,1e8],de=[ue,ce];function V(q,se,ae,j,Q,re,pe){var we=ae.gl;if((re===ae.projectHasAlpha||pe)&&$(se,ae,j,Q),re===ae.hasAlpha||pe){q.bind();var Se=q.uniforms;Se.model=j.model||c,Se.view=j.view||c,Se.projection=j.projection||c,g[0]=2/we.drawingBufferWidth,g[1]=2/we.drawingBufferHeight,Se.screenSize=g,Se.highlightId=ae.highlightId,Se.highlightScale=ae.highlightScale,Se.fragClipBounds=de,Se.clipBounds=ae.axes.bounds,Se.opacity=ae.opacity,Se.pickGroup=ae.pickId/255,Se.pixelRatio=Q,ae.vao.bind(),ae.vao.draw(we.TRIANGLES,ae.vertexCount),ae.lineWidth>0&&(we.lineWidth(ae.lineWidth*Q),ae.vao.draw(we.LINES,ae.lineVertexCount,ae.vertexCount)),ae.vao.unbind()}}u.draw=function(q){var se=this.useOrtho?this.orthoShader:this.shader;V(se,this.projectShader,this,q,this.pixelRatio,!1,!1)},u.drawTransparent=function(q){var se=this.useOrtho?this.orthoShader:this.shader;V(se,this.projectShader,this,q,this.pixelRatio,!0,!1)},u.drawPick=function(q){var se=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;V(se,this.pickProjectShader,this,q,1,!0,!0)},u.pick=function(q){if(!q||q.id!==this.pickId)return null;var se=q.value[2]+(q.value[1]<<8)+(q.value[0]<<16);if(se>=this.pointCount||se<0)return null;var ae=this.points[se],j=this._selectResult;j.index=se;for(var Q=0;Q<3;++Q)j.position[Q]=j.dataCoordinate[Q]=ae[Q];return j},u.highlight=function(q){if(!q)this.highlightId=[1,1,1,1];else{var se=q.index,ae=se&255,j=se>>8&255,Q=se>>16&255;this.highlightId=[ae/255,j/255,Q/255,0]}};function Y(q,se,ae,j){var Q;w(q)?se0){var Dr=0,xt=le,Oe=[0,0,0,1],Ke=[0,0,0,1],Ae=w(at)&&w(at[0]),Le=w(Ue)&&w(Ue[0]);e:for(var j=0;j0?1-qt[0][0]:Pt<0?1+qt[1][0]:1,Nt*=Nt>0?1-qt[0][1]:Nt<0?1+qt[1][1]:1;for(var cr=[Pt,Nt],Fa=St.cells||[],Ra=St.positions||[],rt=0;rtthis.buffer.length){a.free(this.buffer);for(var w=this.buffer=a.mallocUint8(i(x*l*4)),S=0;Sw)for(l=w;lx)for(l=x;l=0){for(var O=B.type.charAt(B.type.length-1)|0,P=new Array(O),U=0;U=0;)N+=1;z[F]=N}var X=new Array(w.length);function $(){m.program=i.program(b,m._vref,m._fref,L,z);for(var ue=0;ue=0){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new o(\"\",\"Invalid data type for attribute \"+m+\": \"+b);s(v,c,p[0],l,u,x,m)}else if(b.indexOf(\"mat\")>=0){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new o(\"\",\"Invalid data type for attribute \"+m+\": \"+b);h(v,c,p,l,u,x,m)}else throw new o(\"\",\"Unknown data type for attribute \"+m+\": \"+b);break}}return x}},3327:function(e,t,r){\"use strict\";var o=r(216),a=r(8866);e.exports=s;function n(h){return function(){return h}}function i(h,f){for(var v=new Array(h),c=0;c4)throw new a(\"\",\"Invalid data type\");switch(N.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+X+\"iv\"](c[z],F);break;case\"v\":h[\"uniform\"+X+\"fv\"](c[z],F);break;default:throw new a(\"\",\"Unrecognized data type for vector \"+name+\": \"+N)}}else if(N.indexOf(\"mat\")===0&&N.length===4){if(X=N.charCodeAt(N.length-1)-48,X<2||X>4)throw new a(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+N);h[\"uniformMatrix\"+X+\"fv\"](c[z],!1,F);break}else throw new a(\"\",\"Unknown uniform data type for \"+name+\": \"+N)}}}}}function x(b,p){if(typeof p!=\"object\")return[[b,p]];var u=[];for(var g in p){var y=p[g],D=b;parseInt(g)+\"\"===g?D+=\"[\"+g+\"]\":D+=\".\"+g,typeof y==\"object\"?u.push.apply(u,x(D,y)):u.push([D,y])}return u}function w(b){switch(b){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var p=b.indexOf(\"vec\");if(0<=p&&p<=1&&b.length===4+p){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new a(\"\",\"Invalid data type\");return b.charAt(0)===\"b\"?i(u,!1):i(u,0)}else if(b.indexOf(\"mat\")===0&&b.length===4){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new a(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+b);return i(u*u,0)}else throw new a(\"\",\"Unknown uniform data type for \"+name+\": \"+b)}}function S(b,p,u){if(typeof u==\"object\"){var g=M(u);Object.defineProperty(b,p,{get:n(g),set:l(u),enumerable:!0,configurable:!1})}else c[u]?Object.defineProperty(b,p,{get:T(u),set:l(u),enumerable:!0,configurable:!1}):b[p]=w(v[u].type)}function M(b){var p;if(Array.isArray(b)){p=new Array(b.length);for(var u=0;u1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var c=1;c1)for(var x=0;x\"u\"?r(606):WeakMap,i=new n,s=0;function h(S,M,m,b,p,u,g){this.id=S,this.src=M,this.type=m,this.shader=b,this.count=u,this.programs=[],this.cache=g}h.prototype.dispose=function(){if(--this.count===0){for(var S=this.cache,M=S.gl,m=this.programs,b=0,p=m.length;b 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`]),n=o([`#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`]),i=o([`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=o([`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}`]);t.meshShader={vertex:a,fragment:n,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},t.pickShader={vertex:i,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(e,t,r){\"use strict\";var o=r(2931),a=r(9970),n=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],i=function(S,M,m,b){for(var p=S.points,u=S.velocities,g=S.divergences,y=[],D=[],L=[],z=[],F=[],B=[],O=0,P=0,U=a.create(),N=a.create(),X=8,$=0;$0)for(var V=0;VM)return b-1}return b},f=function(S,M,m){return Sm?m:S},v=function(S,M,m){var b=M.vectors,p=M.meshgrid,u=S[0],g=S[1],y=S[2],D=p[0].length,L=p[1].length,z=p[2].length,F=h(p[0],u),B=h(p[1],g),O=h(p[2],y),P=F+1,U=B+1,N=O+1;if(F=f(F,0,D-1),P=f(P,0,D-1),B=f(B,0,L-1),U=f(U,0,L-1),O=f(O,0,z-1),N=f(N,0,z-1),F<0||B<0||O<0||P>D-1||U>L-1||N>z-1)return o.create();var X=p[0][F],$=p[0][P],ue=p[1][B],ce=p[1][U],de=p[2][O],V=p[2][N],Y=(u-X)/($-X),ee=(g-ue)/(ce-ue),q=(y-de)/(V-de);isFinite(Y)||(Y=.5),isFinite(ee)||(ee=.5),isFinite(q)||(q=.5);var se,ae,j,Q,re,pe;switch(m.reversedX&&(F=D-1-F,P=D-1-P),m.reversedY&&(B=L-1-B,U=L-1-U),m.reversedZ&&(O=z-1-O,N=z-1-N),m.filled){case 5:re=O,pe=N,j=B*z,Q=U*z,se=F*z*L,ae=P*z*L;break;case 4:re=O,pe=N,se=F*z,ae=P*z,j=B*z*D,Q=U*z*D;break;case 3:j=B,Q=U,re=O*L,pe=N*L,se=F*L*z,ae=P*L*z;break;case 2:j=B,Q=U,se=F*L,ae=P*L,re=O*L*D,pe=N*L*D;break;case 1:se=F,ae=P,re=O*D,pe=N*D,j=B*D*z,Q=U*D*z;break;default:se=F,ae=P,j=B*D,Q=U*D,re=O*D*L,pe=N*D*L;break}var we=b[se+j+re],Se=b[se+j+pe],Ie=b[se+Q+re],Re=b[se+Q+pe],He=b[ae+j+re],at=b[ae+j+pe],nt=b[ae+Q+re],tt=b[ae+Q+pe],Ue=o.create(),he=o.create(),le=o.create(),ne=o.create();o.lerp(Ue,we,He,Y),o.lerp(he,Se,at,Y),o.lerp(le,Ie,nt,Y),o.lerp(ne,Re,tt,Y);var Ce=o.create(),Ze=o.create();o.lerp(Ce,Ue,le,ee),o.lerp(Ze,he,ne,ee);var rt=o.create();return o.lerp(rt,Ce,Ze,q),rt},c=function(S,M){var m=M[0],b=M[1],p=M[2];return S[0]=m<0?-m:m,S[1]=b<0?-b:b,S[2]=p<0?-p:p,S},T=function(S){var M=1/0;S.sort(function(u,g){return u-g});for(var m=S.length,b=1;bP||ttU||UeN)},$=o.distance(M[0],M[1]),ue=10*$/b,ce=ue*ue,de=1,V=0,Y=m.length;Y>1&&(de=l(m));for(var ee=0;eeV&&(V=we),re.push(we),z.push({points:se,velocities:ae,divergences:re});for(var Se=0;Sece&&o.scale(Ie,Ie,ue/Math.sqrt(Re)),o.add(Ie,Ie,q),j=D(Ie),o.squaredDistance(Q,Ie)-ce>-1e-4*ce){se.push(Ie),Q=Ie,ae.push(j);var pe=L(Ie,j),we=o.length(pe);isFinite(we)&&we>V&&(V=we),re.push(we)}q=Ie}}var He=s(z,S.colormap,V,de);return u?He.tubeScale=u:(V===0&&(V=1),He.tubeScale=p*.5*de/V),He};var x=r(6740),w=r(6405).createMesh;e.exports.createTubeMesh=function(S,M){return w(S,M,{shaders:x,traceType:\"streamtube\"})}},990:function(e,t,r){var o=r(9405),a=r(3236),n=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 mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 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`]),i=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 (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) 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 mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 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`]),h=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`]);t.createShader=function(f){var v=o(f,n,i,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},t.createPickShader=function(f){var v=o(f,n,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},t.createContourShader=function(f){var v=o(f,s,i,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},t.createPickContourShader=function(f){var v=o(f,s,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(e,t,r){\"use strict\";e.exports=se;var o=r(8828),a=r(2762),n=r(8116),i=r(7766),s=r(1888),h=r(6729),f=r(5298),v=r(9994),c=r(9618),T=r(3711),l=r(6760),x=r(7608),w=r(2478),S=r(6199),M=r(990),m=M.createShader,b=M.createContourShader,p=M.createPickShader,u=M.createPickContourShader,g=4*10,y=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],D=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],L=[[0,0,0,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(){for(var ae=0;ae<3;++ae){var j=L[ae],Q=(ae+1)%3,re=(ae+2)%3;j[Q+0]=1,j[re+3]=1,j[ae+6]=1}})();function z(ae,j,Q,re,pe){this.position=ae,this.index=j,this.uv=Q,this.level=re,this.dataCoordinate=pe}var F=256;function B(ae,j,Q,re,pe,we,Se,Ie,Re,He,at,nt,tt,Ue,he){this.gl=ae,this.shape=j,this.bounds=Q,this.objectOffset=he,this.intensityBounds=[],this._shader=re,this._pickShader=pe,this._coordinateBuffer=we,this._vao=Se,this._colorMap=Ie,this._contourShader=Re,this._contourPickShader=He,this._contourBuffer=at,this._contourVAO=nt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new z([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=tt,this._dynamicVAO=Ue,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=[c(s.mallocFloat(1024),[0,0]),c(s.mallocFloat(1024),[0,0]),c(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 O=B.prototype;O.genColormap=function(ae,j){var Q=!1,re=v([h({colormap:ae,nshades:F,format:\"rgba\"}).map(function(pe,we){var Se=j?P(we/255,j):pe[3];return Se<1&&(Q=!0),[pe[0],pe[1],pe[2],255*Se]})]);return f.divseq(re,255),this.hasAlphaScale=Q,re},O.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},O.isOpaque=function(){return!this.isTransparent()},O.pickSlots=1,O.setPickBase=function(ae){this.pickId=ae};function P(ae,j){if(!j||!j.length)return 1;for(var Q=0;Qae&&Q>0){var re=(j[Q][0]-ae)/(j[Q][0]-j[Q-1][0]);return j[Q][1]*(1-re)+re*j[Q-1][1]}}return 1}var U=[0,0,0],N={showSurface:!1,showContour:!1,projections:[y.slice(),y.slice(),y.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function X(ae,j){var Q,re,pe,we=j.axes&&j.axes.lastCubeProps.axis||U,Se=j.showSurface,Ie=j.showContour;for(Q=0;Q<3;++Q)for(Se=Se||j.surfaceProject[Q],re=0;re<3;++re)Ie=Ie||j.contourProject[Q][re];for(Q=0;Q<3;++Q){var Re=N.projections[Q];for(re=0;re<16;++re)Re[re]=0;for(re=0;re<4;++re)Re[5*re]=1;Re[5*Q]=0,Re[12+Q]=j.axesBounds[+(we[Q]>0)][Q],l(Re,ae.model,Re);var He=N.clipBounds[Q];for(pe=0;pe<2;++pe)for(re=0;re<3;++re)He[pe][re]=ae.clipBounds[pe][re];He[0][Q]=-1e8,He[1][Q]=1e8}return N.showSurface=Se,N.showContour=Ie,N}var $={model:y,view:y,projection:y,inverseModel:y.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},ue=y.slice(),ce=[1,0,0,0,1,0,0,0,1];function de(ae,j){ae=ae||{};var Q=this.gl;Q.disable(Q.CULL_FACE),this._colorMap.bind(0);var re=$;re.model=ae.model||y,re.view=ae.view||y,re.projection=ae.projection||y,re.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],re.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],re.objectOffset=this.objectOffset,re.contourColor=this.contourColor[0],re.inverseModel=x(re.inverseModel,re.model);for(var pe=0;pe<2;++pe)for(var we=re.clipBounds[pe],Se=0;Se<3;++Se)we[Se]=Math.min(Math.max(this.clipBounds[pe][Se],-1e8),1e8);re.kambient=this.ambientLight,re.kdiffuse=this.diffuseLight,re.kspecular=this.specularLight,re.roughness=this.roughness,re.fresnel=this.fresnel,re.opacity=this.opacity,re.height=0,re.permutation=ce,re.vertexColor=this.vertexColor;var Ie=ue;for(l(Ie,re.view,re.model),l(Ie,re.projection,Ie),x(Ie,Ie),pe=0;pe<3;++pe)re.eyePosition[pe]=Ie[12+pe]/Ie[15];var Re=Ie[15];for(pe=0;pe<3;++pe)Re+=this.lightPosition[pe]*Ie[4*pe+3];for(pe=0;pe<3;++pe){var He=Ie[12+pe];for(Se=0;Se<3;++Se)He+=Ie[4*Se+pe]*this.lightPosition[Se];re.lightPosition[pe]=He/Re}var at=X(re,this);if(at.showSurface){for(this._shader.bind(),this._shader.uniforms=re,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Q.TRIANGLES,this._vertexCount),pe=0;pe<3;++pe)!this.surfaceProject[pe]||!this.vertexCount||(this._shader.uniforms.model=at.projections[pe],this._shader.uniforms.clipBounds=at.clipBounds[pe],this._vao.draw(Q.TRIANGLES,this._vertexCount));this._vao.unbind()}if(at.showContour){var nt=this._contourShader;re.kambient=1,re.kdiffuse=0,re.kspecular=0,re.opacity=1,nt.bind(),nt.uniforms=re;var tt=this._contourVAO;for(tt.bind(),pe=0;pe<3;++pe)for(nt.uniforms.permutation=L[pe],Q.lineWidth(this.contourWidth[pe]*this.pixelRatio),Se=0;Se>4)/16)/255,pe=Math.floor(re),we=re-pe,Se=j[1]*(ae.value[1]+(ae.value[2]&15)/16)/255,Ie=Math.floor(Se),Re=Se-Ie;pe+=1,Ie+=1;var He=Q.position;He[0]=He[1]=He[2]=0;for(var at=0;at<2;++at)for(var nt=at?we:1-we,tt=0;tt<2;++tt)for(var Ue=tt?Re:1-Re,he=pe+at,le=Ie+tt,ne=nt*Ue,Ce=0;Ce<3;++Ce)He[Ce]+=this._field[Ce].get(he,le)*ne;for(var Ze=this._pickResult.level,rt=0;rt<3;++rt)if(Ze[rt]=w.le(this.contourLevels[rt],He[rt]),Ze[rt]<0)this.contourLevels[rt].length>0&&(Ze[rt]=0);else if(Ze[rt]Math.abs(St-He[rt])&&(Ze[rt]+=1)}for(Q.index[0]=we<.5?pe:pe+1,Q.index[1]=Re<.5?Ie:Ie+1,Q.uv[0]=re/j[0],Q.uv[1]=Se/j[1],Ce=0;Ce<3;++Ce)Q.dataCoordinate[Ce]=this._field[Ce].get(Q.index[0],Q.index[1]);return Q},O.padField=function(ae,j){var Q=j.shape.slice(),re=ae.shape.slice();f.assign(ae.lo(1,1).hi(Q[0],Q[1]),j),f.assign(ae.lo(1).hi(Q[0],1),j.hi(Q[0],1)),f.assign(ae.lo(1,re[1]-1).hi(Q[0],1),j.lo(0,Q[1]-1).hi(Q[0],1)),f.assign(ae.lo(0,1).hi(1,Q[1]),j.hi(1)),f.assign(ae.lo(re[0]-1,1).hi(1,Q[1]),j.lo(Q[0]-1)),ae.set(0,0,j.get(0,0)),ae.set(0,re[1]-1,j.get(0,Q[1]-1)),ae.set(re[0]-1,0,j.get(Q[0]-1,0)),ae.set(re[0]-1,re[1]-1,j.get(Q[0]-1,Q[1]-1))};function Y(ae,j){return Array.isArray(ae)?[j(ae[0]),j(ae[1]),j(ae[2])]:[j(ae),j(ae),j(ae)]}function ee(ae){return Array.isArray(ae)?ae.length===3?[ae[0],ae[1],ae[2],1]:[ae[0],ae[1],ae[2],ae[3]]:[0,0,0,1]}function q(ae){if(Array.isArray(ae)){if(Array.isArray(ae))return[ee(ae[0]),ee(ae[1]),ee(ae[2])];var j=ee(ae);return[j.slice(),j.slice(),j.slice()]}}O.update=function(ae){ae=ae||{},this.objectOffset=ae.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in ae&&(this.contourWidth=Y(ae.contourWidth,Number)),\"showContour\"in ae&&(this.showContour=Y(ae.showContour,Boolean)),\"showSurface\"in ae&&(this.showSurface=!!ae.showSurface),\"contourTint\"in ae&&(this.contourTint=Y(ae.contourTint,Boolean)),\"contourColor\"in ae&&(this.contourColor=q(ae.contourColor)),\"contourProject\"in ae&&(this.contourProject=Y(ae.contourProject,function(pi){return Y(pi,Boolean)})),\"surfaceProject\"in ae&&(this.surfaceProject=ae.surfaceProject),\"dynamicColor\"in ae&&(this.dynamicColor=q(ae.dynamicColor)),\"dynamicTint\"in ae&&(this.dynamicTint=Y(ae.dynamicTint,Number)),\"dynamicWidth\"in ae&&(this.dynamicWidth=Y(ae.dynamicWidth,Number)),\"opacity\"in ae&&(this.opacity=ae.opacity),\"opacityscale\"in ae&&(this.opacityscale=ae.opacityscale),\"colorBounds\"in ae&&(this.colorBounds=ae.colorBounds),\"vertexColor\"in ae&&(this.vertexColor=ae.vertexColor?1:0),\"colormap\"in ae&&this._colorMap.setPixels(this.genColormap(ae.colormap,this.opacityscale));var j=ae.field||ae.coords&&ae.coords[2]||null,Q=!1;if(j||(this._field[2].shape[0]||this._field[2].shape[2]?j=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):j=this._field[2].hi(0,0)),\"field\"in ae||\"coords\"in ae){var re=(j.shape[0]+2)*(j.shape[1]+2);re>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(o.nextPow2(re))),this._field[2]=c(this._field[2].data,[j.shape[0]+2,j.shape[1]+2]),this.padField(this._field[2],j),this.shape=j.shape.slice();for(var pe=this.shape,we=0;we<2;++we)this._field[2].size>this._field[we].data.length&&(s.freeFloat(this._field[we].data),this._field[we].data=s.mallocFloat(this._field[2].size)),this._field[we]=c(this._field[we].data,[pe[0]+2,pe[1]+2]);if(ae.coords){var Se=ae.coords;if(!Array.isArray(Se)||Se.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(we=0;we<2;++we){var Ie=Se[we];for(tt=0;tt<2;++tt)if(Ie.shape[tt]!==pe[tt])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[we],Ie)}}else if(ae.ticks){var Re=ae.ticks;if(!Array.isArray(Re)||Re.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(we=0;we<2;++we){var He=Re[we];if((Array.isArray(He)||He.length)&&(He=c(He)),He.shape[0]!==pe[we])throw new Error(\"gl-surface: invalid tick length\");var at=c(He.data,pe);at.stride[we]=He.stride[0],at.stride[we^1]=0,this.padField(this._field[we],at)}}else{for(we=0;we<2;++we){var nt=[0,0];nt[we]=1,this._field[we]=c(this._field[we].data,[pe[0]+2,pe[1]+2],nt,0)}this._field[0].set(0,0,0);for(var tt=0;tt0){for(var Za=0;Za<5;++Za)lr.pop();Ae-=1}continue e}}}Fa.push(Ae)}this._contourOffsets[sr]=_a,this._contourCounts[sr]=Fa}var ri=s.mallocFloat(lr.length);for(we=0;wez||D<0||D>z)throw new Error(\"gl-texture2d: Invalid texture size\");return g._shape=[y,D],g.bind(),L.texImage2D(L.TEXTURE_2D,0,g.format,y,D,0,g.format,g.type,null),g._mipLevels=[0],g}function l(g,y,D,L,z,F){this.gl=g,this.handle=y,this.format=z,this.type=F,this._shape=[D,L],this._mipLevels=[0],this._magFilter=g.NEAREST,this._minFilter=g.NEAREST,this._wrapS=g.CLAMP_TO_EDGE,this._wrapT=g.CLAMP_TO_EDGE,this._anisoSamples=1;var B=this,O=[this._wrapS,this._wrapT];Object.defineProperties(O,[{get:function(){return B._wrapS},set:function(U){return B.wrapS=U}},{get:function(){return B._wrapT},set:function(U){return B.wrapT=U}}]),this._wrapVector=O;var P=[this._shape[0],this._shape[1]];Object.defineProperties(P,[{get:function(){return B._shape[0]},set:function(U){return B.width=U}},{get:function(){return B._shape[1]},set:function(U){return B.height=U}}]),this._shapeVector=P}var x=l.prototype;Object.defineProperties(x,{minFilter:{get:function(){return this._minFilter},set:function(g){this.bind();var y=this.gl;if(this.type===y.FLOAT&&i.indexOf(g)>=0&&(y.getExtension(\"OES_texture_float_linear\")||(g=y.NEAREST)),s.indexOf(g)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+g);return y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MIN_FILTER,g),this._minFilter=g}},magFilter:{get:function(){return this._magFilter},set:function(g){this.bind();var y=this.gl;if(this.type===y.FLOAT&&i.indexOf(g)>=0&&(y.getExtension(\"OES_texture_float_linear\")||(g=y.NEAREST)),s.indexOf(g)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+g);return y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MAG_FILTER,g),this._magFilter=g}},mipSamples:{get:function(){return this._anisoSamples},set:function(g){var y=this._anisoSamples;if(this._anisoSamples=Math.max(g,1)|0,y!==this._anisoSamples){var D=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");D&&this.gl.texParameterf(this.gl.TEXTURE_2D,D.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(g){if(this.bind(),h.indexOf(g)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+g);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,g),this._wrapS=g}},wrapT:{get:function(){return this._wrapT},set:function(g){if(this.bind(),h.indexOf(g)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+g);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,g),this._wrapT=g}},wrap:{get:function(){return this._wrapVector},set:function(g){if(Array.isArray(g)||(g=[g,g]),g.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var y=0;y<2;++y)if(h.indexOf(g[y])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+g);this._wrapS=g[0],this._wrapT=g[1];var D=this.gl;return this.bind(),D.texParameteri(D.TEXTURE_2D,D.TEXTURE_WRAP_S,this._wrapS),D.texParameteri(D.TEXTURE_2D,D.TEXTURE_WRAP_T,this._wrapT),g}},shape:{get:function(){return this._shapeVector},set:function(g){if(!Array.isArray(g))g=[g|0,g|0];else if(g.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return T(this,g[0]|0,g[1]|0),[g[0]|0,g[1]|0]}},width:{get:function(){return this._shape[0]},set:function(g){return g=g|0,T(this,g,this._shape[1]),g}},height:{get:function(){return this._shape[1]},set:function(g){return g=g|0,T(this,this._shape[0],g),g}}}),x.bind=function(g){var y=this.gl;return g!==void 0&&y.activeTexture(y.TEXTURE0+(g|0)),y.bindTexture(y.TEXTURE_2D,this.handle),g!==void 0?g|0:y.getParameter(y.ACTIVE_TEXTURE)-y.TEXTURE0},x.dispose=function(){this.gl.deleteTexture(this.handle)},x.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var g=Math.min(this._shape[0],this._shape[1]),y=0;g>0;++y,g>>>=1)this._mipLevels.indexOf(y)<0&&this._mipLevels.push(y)},x.setPixels=function(g,y,D,L){var z=this.gl;this.bind(),Array.isArray(y)?(L=D,D=y[1]|0,y=y[0]|0):(y=y||0,D=D||0),L=L||0;var F=v(g)?g:g.raw;if(F){var B=this._mipLevels.indexOf(L)<0;B?(z.texImage2D(z.TEXTURE_2D,0,this.format,this.format,this.type,F),this._mipLevels.push(L)):z.texSubImage2D(z.TEXTURE_2D,L,y,D,this.format,this.type,F)}else if(g.shape&&g.stride&&g.data){if(g.shape.length<2||y+g.shape[1]>this._shape[1]>>>L||D+g.shape[0]>this._shape[0]>>>L||y<0||D<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");S(z,y,D,L,this.format,this.type,this._mipLevels,g)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function w(g,y){return g.length===3?y[2]===1&&y[1]===g[0]*g[2]&&y[0]===g[2]:y[0]===1&&y[1]===g[0]}function S(g,y,D,L,z,F,B,O){var P=O.dtype,U=O.shape.slice();if(U.length<2||U.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var N=0,X=0,$=w(U,O.stride.slice());P===\"float32\"?N=g.FLOAT:P===\"float64\"?(N=g.FLOAT,$=!1,P=\"float32\"):P===\"uint8\"?N=g.UNSIGNED_BYTE:(N=g.UNSIGNED_BYTE,$=!1,P=\"uint8\");var ue=1;if(U.length===2)X=g.LUMINANCE,U=[U[0],U[1],1],O=o(O.data,U,[O.stride[0],O.stride[1],1],O.offset);else if(U.length===3){if(U[2]===1)X=g.ALPHA;else if(U[2]===2)X=g.LUMINANCE_ALPHA;else if(U[2]===3)X=g.RGB;else if(U[2]===4)X=g.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");ue=U[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((X===g.LUMINANCE||X===g.ALPHA)&&(z===g.LUMINANCE||z===g.ALPHA)&&(X=z),X!==z)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var ce=O.size,de=B.indexOf(L)<0;if(de&&B.push(L),N===F&&$)O.offset===0&&O.data.length===ce?de?g.texImage2D(g.TEXTURE_2D,L,z,U[0],U[1],0,z,F,O.data):g.texSubImage2D(g.TEXTURE_2D,L,y,D,U[0],U[1],z,F,O.data):de?g.texImage2D(g.TEXTURE_2D,L,z,U[0],U[1],0,z,F,O.data.subarray(O.offset,O.offset+ce)):g.texSubImage2D(g.TEXTURE_2D,L,y,D,U[0],U[1],z,F,O.data.subarray(O.offset,O.offset+ce));else{var V;F===g.FLOAT?V=n.mallocFloat32(ce):V=n.mallocUint8(ce);var Y=o(V,U,[U[2],U[2]*U[0],1]);N===g.FLOAT&&F===g.UNSIGNED_BYTE?c(Y,O):a.assign(Y,O),de?g.texImage2D(g.TEXTURE_2D,L,z,U[0],U[1],0,z,F,V.subarray(0,ce)):g.texSubImage2D(g.TEXTURE_2D,L,y,D,U[0],U[1],z,F,V.subarray(0,ce)),F===g.FLOAT?n.freeFloat32(V):n.freeUint8(V)}}function M(g){var y=g.createTexture();return g.bindTexture(g.TEXTURE_2D,y),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,g.NEAREST),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MAG_FILTER,g.NEAREST),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_S,g.CLAMP_TO_EDGE),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_T,g.CLAMP_TO_EDGE),y}function m(g,y,D,L,z){var F=g.getParameter(g.MAX_TEXTURE_SIZE);if(y<0||y>F||D<0||D>F)throw new Error(\"gl-texture2d: Invalid texture shape\");if(z===g.FLOAT&&!g.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var B=M(g);return g.texImage2D(g.TEXTURE_2D,0,L,y,D,0,L,z,null),new l(g,B,y,D,L,z)}function b(g,y,D,L,z,F){var B=M(g);return g.texImage2D(g.TEXTURE_2D,0,z,z,F,y),new l(g,B,D,L,z,F)}function p(g,y){var D=y.dtype,L=y.shape.slice(),z=g.getParameter(g.MAX_TEXTURE_SIZE);if(L[0]<0||L[0]>z||L[1]<0||L[1]>z)throw new Error(\"gl-texture2d: Invalid texture size\");var F=w(L,y.stride.slice()),B=0;D===\"float32\"?B=g.FLOAT:D===\"float64\"?(B=g.FLOAT,F=!1,D=\"float32\"):D===\"uint8\"?B=g.UNSIGNED_BYTE:(B=g.UNSIGNED_BYTE,F=!1,D=\"uint8\");var O=0;if(L.length===2)O=g.LUMINANCE,L=[L[0],L[1],1],y=o(y.data,L,[y.stride[0],y.stride[1],1],y.offset);else if(L.length===3)if(L[2]===1)O=g.ALPHA;else if(L[2]===2)O=g.LUMINANCE_ALPHA;else if(L[2]===3)O=g.RGB;else if(L[2]===4)O=g.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");B===g.FLOAT&&!g.getExtension(\"OES_texture_float\")&&(B=g.UNSIGNED_BYTE,F=!1);var P,U,N=y.size;if(F)y.offset===0&&y.data.length===N?P=y.data:P=y.data.subarray(y.offset,y.offset+N);else{var X=[L[2],L[2]*L[0],1];U=n.malloc(N,D);var $=o(U,L,X,0);(D===\"float32\"||D===\"float64\")&&B===g.UNSIGNED_BYTE?c($,y):a.assign($,y),P=U.subarray(0,N)}var ue=M(g);return g.texImage2D(g.TEXTURE_2D,0,O,L[0],L[1],0,O,B,P),F||n.free(U),new l(g,ue,L[0],L[1],O,B)}function u(g){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(i||f(g),typeof arguments[1]==\"number\")return m(g,arguments[1],arguments[2],arguments[3]||g.RGBA,arguments[4]||g.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return m(g,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||g.RGBA,arguments[3]||g.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var y=arguments[1],D=v(y)?y:y.raw;if(D)return b(g,D,y.width|0,y.height|0,arguments[2]||g.RGBA,arguments[3]||g.UNSIGNED_BYTE);if(y.shape&&y.data&&y.stride)return p(g,y)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(e){\"use strict\";function t(r,o,a){o?o.bind():r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,null);var n=r.getParameter(r.MAX_VERTEX_ATTRIBS)|0;if(a){if(a.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i1?0:Math.acos(c)}},9226:function(e){e.exports=t;function t(r,o){return r[0]=Math.ceil(o[0]),r[1]=Math.ceil(o[1]),r[2]=Math.ceil(o[2]),r}},3126:function(e){e.exports=t;function t(r){var o=new Float32Array(3);return o[0]=r[0],o[1]=r[1],o[2]=r[2],o}},3990:function(e){e.exports=t;function t(r,o){return r[0]=o[0],r[1]=o[1],r[2]=o[2],r}},1091:function(e){e.exports=t;function t(){var r=new Float32Array(3);return r[0]=0,r[1]=0,r[2]=0,r}},5911:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=a[0],f=a[1],v=a[2];return r[0]=i*v-s*f,r[1]=s*h-n*v,r[2]=n*f-i*h,r}},5455:function(e,t,r){e.exports=r(7056)},7056:function(e){e.exports=t;function t(r,o){var a=o[0]-r[0],n=o[1]-r[1],i=o[2]-r[2];return Math.sqrt(a*a+n*n+i*i)}},4008:function(e,t,r){e.exports=r(6690)},6690:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]/a[0],r[1]=o[1]/a[1],r[2]=o[2]/a[2],r}},244:function(e){e.exports=t;function t(r,o){return r[0]*o[0]+r[1]*o[1]+r[2]*o[2]}},2613:function(e){e.exports=1e-6},9922:function(e,t,r){e.exports=a;var o=r(2613);function a(n,i){var s=n[0],h=n[1],f=n[2],v=i[0],c=i[1],T=i[2];return Math.abs(s-v)<=o*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(h-c)<=o*Math.max(1,Math.abs(h),Math.abs(c))&&Math.abs(f-T)<=o*Math.max(1,Math.abs(f),Math.abs(T))}},9265:function(e){e.exports=t;function t(r,o){return r[0]===o[0]&&r[1]===o[1]&&r[2]===o[2]}},2681:function(e){e.exports=t;function t(r,o){return r[0]=Math.floor(o[0]),r[1]=Math.floor(o[1]),r[2]=Math.floor(o[2]),r}},5137:function(e,t,r){e.exports=a;var o=r(1091)();function a(n,i,s,h,f,v){var c,T;for(i||(i=3),s||(s=0),h?T=Math.min(h*i+s,n.length):T=n.length,c=s;c0&&(s=1/Math.sqrt(s),r[0]=o[0]*s,r[1]=o[1]*s,r[2]=o[2]*s),r}},7636:function(e){e.exports=t;function t(r,o){o=o||1;var a=Math.random()*2*Math.PI,n=Math.random()*2-1,i=Math.sqrt(1-n*n)*o;return r[0]=Math.cos(a)*i,r[1]=Math.sin(a)*i,r[2]=n*o,r}},6894:function(e){e.exports=t;function t(r,o,a,n){var i=a[1],s=a[2],h=o[1]-i,f=o[2]-s,v=Math.sin(n),c=Math.cos(n);return r[0]=o[0],r[1]=i+h*c-f*v,r[2]=s+h*v+f*c,r}},109:function(e){e.exports=t;function t(r,o,a,n){var i=a[0],s=a[2],h=o[0]-i,f=o[2]-s,v=Math.sin(n),c=Math.cos(n);return r[0]=i+f*v+h*c,r[1]=o[1],r[2]=s+f*c-h*v,r}},8692:function(e){e.exports=t;function t(r,o,a,n){var i=a[0],s=a[1],h=o[0]-i,f=o[1]-s,v=Math.sin(n),c=Math.cos(n);return r[0]=i+h*c-f*v,r[1]=s+h*v+f*c,r[2]=o[2],r}},2447:function(e){e.exports=t;function t(r,o){return r[0]=Math.round(o[0]),r[1]=Math.round(o[1]),r[2]=Math.round(o[2]),r}},6621:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]*a,r[1]=o[1]*a,r[2]=o[2]*a,r}},8489:function(e){e.exports=t;function t(r,o,a,n){return r[0]=o[0]+a[0]*n,r[1]=o[1]+a[1]*n,r[2]=o[2]+a[2]*n,r}},1463:function(e){e.exports=t;function t(r,o,a,n){return r[0]=o,r[1]=a,r[2]=n,r}},6141:function(e,t,r){e.exports=r(2953)},5486:function(e,t,r){e.exports=r(3066)},2953:function(e){e.exports=t;function t(r,o){var a=o[0]-r[0],n=o[1]-r[1],i=o[2]-r[2];return a*a+n*n+i*i}},3066:function(e){e.exports=t;function t(r){var o=r[0],a=r[1],n=r[2];return o*o+a*a+n*n}},2229:function(e,t,r){e.exports=r(6843)},6843:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]-a[0],r[1]=o[1]-a[1],r[2]=o[2]-a[2],r}},492:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2];return r[0]=n*a[0]+i*a[3]+s*a[6],r[1]=n*a[1]+i*a[4]+s*a[7],r[2]=n*a[2]+i*a[5]+s*a[8],r}},5673:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=a[3]*n+a[7]*i+a[11]*s+a[15];return h=h||1,r[0]=(a[0]*n+a[4]*i+a[8]*s+a[12])/h,r[1]=(a[1]*n+a[5]*i+a[9]*s+a[13])/h,r[2]=(a[2]*n+a[6]*i+a[10]*s+a[14])/h,r}},264:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=a[0],f=a[1],v=a[2],c=a[3],T=c*n+f*s-v*i,l=c*i+v*n-h*s,x=c*s+h*i-f*n,w=-h*n-f*i-v*s;return r[0]=T*c+w*-h+l*-v-x*-f,r[1]=l*c+w*-f+x*-h-T*-v,r[2]=x*c+w*-v+T*-f-l*-h,r}},4361:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]+a[0],r[1]=o[1]+a[1],r[2]=o[2]+a[2],r[3]=o[3]+a[3],r}},2335:function(e){e.exports=t;function t(r){var o=new Float32Array(4);return o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],o}},2933:function(e){e.exports=t;function t(r,o){return r[0]=o[0],r[1]=o[1],r[2]=o[2],r[3]=o[3],r}},7536:function(e){e.exports=t;function t(){var r=new Float32Array(4);return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r}},4691:function(e){e.exports=t;function t(r,o){var a=o[0]-r[0],n=o[1]-r[1],i=o[2]-r[2],s=o[3]-r[3];return Math.sqrt(a*a+n*n+i*i+s*s)}},1373:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]/a[0],r[1]=o[1]/a[1],r[2]=o[2]/a[2],r[3]=o[3]/a[3],r}},3750:function(e){e.exports=t;function t(r,o){return r[0]*o[0]+r[1]*o[1]+r[2]*o[2]+r[3]*o[3]}},3390:function(e){e.exports=t;function t(r,o,a,n){var i=new Float32Array(4);return i[0]=r,i[1]=o,i[2]=a,i[3]=n,i}},9970:function(e,t,r){e.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(e){e.exports=t;function t(r,o){return r[0]=1/o[0],r[1]=1/o[1],r[2]=1/o[2],r[3]=1/o[3],r}},6808:function(e){e.exports=t;function t(r){var o=r[0],a=r[1],n=r[2],i=r[3];return Math.sqrt(o*o+a*a+n*n+i*i)}},2573:function(e){e.exports=t;function t(r,o,a,n){var i=o[0],s=o[1],h=o[2],f=o[3];return r[0]=i+n*(a[0]-i),r[1]=s+n*(a[1]-s),r[2]=h+n*(a[2]-h),r[3]=f+n*(a[3]-f),r}},160:function(e){e.exports=t;function t(r,o,a){return r[0]=Math.max(o[0],a[0]),r[1]=Math.max(o[1],a[1]),r[2]=Math.max(o[2],a[2]),r[3]=Math.max(o[3],a[3]),r}},2334:function(e){e.exports=t;function t(r,o,a){return r[0]=Math.min(o[0],a[0]),r[1]=Math.min(o[1],a[1]),r[2]=Math.min(o[2],a[2]),r[3]=Math.min(o[3],a[3]),r}},3576:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]*a[0],r[1]=o[1]*a[1],r[2]=o[2]*a[2],r[3]=o[3]*a[3],r}},1498:function(e){e.exports=t;function t(r,o){return r[0]=-o[0],r[1]=-o[1],r[2]=-o[2],r[3]=-o[3],r}},5177:function(e){e.exports=t;function t(r,o){var a=o[0],n=o[1],i=o[2],s=o[3],h=a*a+n*n+i*i+s*s;return h>0&&(h=1/Math.sqrt(h),r[0]=a*h,r[1]=n*h,r[2]=i*h,r[3]=s*h),r}},9131:function(e,t,r){var o=r(5177),a=r(9288);e.exports=n;function n(i,s){return s=s||1,i[0]=Math.random(),i[1]=Math.random(),i[2]=Math.random(),i[3]=Math.random(),o(i,i),a(i,i,s),i}},9288:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]*a,r[1]=o[1]*a,r[2]=o[2]*a,r[3]=o[3]*a,r}},4844:function(e){e.exports=t;function t(r,o,a,n){return r[0]=o[0]+a[0]*n,r[1]=o[1]+a[1]*n,r[2]=o[2]+a[2]*n,r[3]=o[3]+a[3]*n,r}},4578:function(e){e.exports=t;function t(r,o,a,n,i){return r[0]=o,r[1]=a,r[2]=n,r[3]=i,r}},7960:function(e){e.exports=t;function t(r,o){var a=o[0]-r[0],n=o[1]-r[1],i=o[2]-r[2],s=o[3]-r[3];return a*a+n*n+i*i+s*s}},483:function(e){e.exports=t;function t(r){var o=r[0],a=r[1],n=r[2],i=r[3];return o*o+a*a+n*n+i*i}},6860:function(e){e.exports=t;function t(r,o,a){return r[0]=o[0]-a[0],r[1]=o[1]-a[1],r[2]=o[2]-a[2],r[3]=o[3]-a[3],r}},5352:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=o[3];return r[0]=a[0]*n+a[4]*i+a[8]*s+a[12]*h,r[1]=a[1]*n+a[5]*i+a[9]*s+a[13]*h,r[2]=a[2]*n+a[6]*i+a[10]*s+a[14]*h,r[3]=a[3]*n+a[7]*i+a[11]*s+a[15]*h,r}},4041:function(e){e.exports=t;function t(r,o,a){var n=o[0],i=o[1],s=o[2],h=a[0],f=a[1],v=a[2],c=a[3],T=c*n+f*s-v*i,l=c*i+v*n-h*s,x=c*s+h*i-f*n,w=-h*n-f*i-v*s;return r[0]=T*c+w*-h+l*-v-x*-f,r[1]=l*c+w*-f+x*-h-T*-v,r[2]=x*c+w*-v+T*-f-l*-h,r[3]=o[3],r}},1848:function(e,t,r){var o=r(4905),a=r(6468);e.exports=n;function n(i){for(var s=Array.isArray(i)?i:o(i),h=0;h0)continue;rt=ne.slice(0,1).join(\"\")}return Q(rt),ce+=rt.length,P=P.slice(rt.length),P.length}while(!0)}function tt(){return/[^a-fA-F0-9]/.test(B)?(Q(P.join(\"\")),F=h,L):(P.push(B),O=B,L+1)}function Ue(){return B===\".\"||/[eE]/.test(B)?(P.push(B),F=w,O=B,L+1):B===\"x\"&&P.length===1&&P[0]===\"0\"?(F=u,P.push(B),O=B,L+1):/[^\\d]/.test(B)?(Q(P.join(\"\")),F=h,L):(P.push(B),O=B,L+1)}function he(){return B===\"f\"&&(P.push(B),O=B,L+=1),/[eE]/.test(B)||(B===\"-\"||B===\"+\")&&/[eE]/.test(O)?(P.push(B),O=B,L+1):/[^\\d]/.test(B)?(Q(P.join(\"\")),F=h,L):(P.push(B),O=B,L+1)}function le(){if(/[^\\d\\w_]/.test(B)){var ne=P.join(\"\");return j[ne]?F=m:ae[ne]?F=M:F=S,Q(P.join(\"\")),F=h,L}return P.push(B),O=B,L+1}}},3508:function(e,t,r){var o=r(6852);o=o.slice().filter(function(a){return!/^(gl\\_|texture)/.test(a)}),e.exports=o.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\"])},6852:function(e){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\"]},7932:function(e,t,r){var o=r(620);e.exports=o.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"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\"])},620:function(e){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"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\"]},7827:function(e){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(e,t,r){var o=r(5874);e.exports=a;function a(n,i){var s=o(i),h=[];return h=h.concat(s(n)),h=h.concat(s(null)),h}},3236:function(e){e.exports=function(t){typeof t==\"string\"&&(t=[t]);for(var r=[].slice.call(arguments,1),o=[],a=0;a>1,T=-7,l=a?i-1:0,x=a?-1:1,w=r[o+l];for(l+=x,s=w&(1<<-T)-1,w>>=-T,T+=f;T>0;s=s*256+r[o+l],l+=x,T-=8);for(h=s&(1<<-T)-1,s>>=-T,T+=n;T>0;h=h*256+r[o+l],l+=x,T-=8);if(s===0)s=1-c;else{if(s===v)return h?NaN:(w?-1:1)*(1/0);h=h+Math.pow(2,n),s=s-c}return(w?-1:1)*h*Math.pow(2,s-n)},t.write=function(r,o,a,n,i,s){var h,f,v,c=s*8-i-1,T=(1<>1,x=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=n?0:s-1,S=n?1:-1,M=o<0||o===0&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(f=isNaN(o)?1:0,h=T):(h=Math.floor(Math.log(o)/Math.LN2),o*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+l>=1?o+=x/v:o+=x*Math.pow(2,1-l),o*v>=2&&(h++,v/=2),h+l>=T?(f=0,h=T):h+l>=1?(f=(o*v-1)*Math.pow(2,i),h=h+l):(f=o*Math.pow(2,l-1)*Math.pow(2,i),h=0));i>=8;r[a+w]=f&255,w+=S,f/=256,i-=8);for(h=h<0;r[a+w]=h&255,w+=S,h/=256,c-=8);r[a+w-S]|=M*128}},8954:function(e,t,r){\"use strict\";e.exports=l;var o=r(3250),a=r(6803).Fw;function n(x,w,S){this.vertices=x,this.adjacent=w,this.boundary=S,this.lastVisited=-1}n.prototype.flip=function(){var x=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=x;var w=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=w};function i(x,w,S){this.vertices=x,this.cell=w,this.index=S}function s(x,w){return a(x.vertices,w.vertices)}function h(x){return function(){var w=this.tuple;return x.apply(this,w)}}function f(x){var w=o[x+1];return w||(w=o),h(w)}var v=[];function c(x,w,S){this.dimension=x,this.vertices=w,this.simplices=S,this.interior=S.filter(function(b){return!b.boundary}),this.tuple=new Array(x+1);for(var M=0;M<=x;++M)this.tuple[M]=this.vertices[M];var m=v[x];m||(m=v[x]=f(x)),this.orient=m}var T=c.prototype;T.handleBoundaryDegeneracy=function(x,w){var S=this.dimension,M=this.vertices.length-1,m=this.tuple,b=this.vertices,p=[x];for(x.lastVisited=-M;p.length>0;){x=p.pop();for(var u=x.adjacent,g=0;g<=S;++g){var y=u[g];if(!(!y.boundary||y.lastVisited<=-M)){for(var D=y.vertices,L=0;L<=S;++L){var z=D[L];z<0?m[L]=w:m[L]=b[z]}var F=this.orient();if(F>0)return y;y.lastVisited=-M,F===0&&p.push(y)}}}return null},T.walk=function(x,w){var S=this.vertices.length-1,M=this.dimension,m=this.vertices,b=this.tuple,p=w?this.interior.length*Math.random()|0:this.interior.length-1,u=this.interior[p];e:for(;!u.boundary;){for(var g=u.vertices,y=u.adjacent,D=0;D<=M;++D)b[D]=m[g[D]];u.lastVisited=S;for(var D=0;D<=M;++D){var L=y[D];if(!(L.lastVisited>=S)){var z=b[D];b[D]=x;var F=this.orient();if(b[D]=z,F<0){u=L;continue e}else L.boundary?L.lastVisited=-S:L.lastVisited=S}}return}return u},T.addPeaks=function(x,w){var S=this.vertices.length-1,M=this.dimension,m=this.vertices,b=this.tuple,p=this.interior,u=this.simplices,g=[w];w.lastVisited=S,w.vertices[w.vertices.indexOf(-1)]=S,w.boundary=!1,p.push(w);for(var y=[];g.length>0;){var w=g.pop(),D=w.vertices,L=w.adjacent,z=D.indexOf(S);if(!(z<0)){for(var F=0;F<=M;++F)if(F!==z){var B=L[F];if(!(!B.boundary||B.lastVisited>=S)){var O=B.vertices;if(B.lastVisited!==-S){for(var P=0,U=0;U<=M;++U)O[U]<0?(P=U,b[U]=x):b[U]=m[O[U]];var N=this.orient();if(N>0){O[P]=S,B.boundary=!1,p.push(B),g.push(B),B.lastVisited=S;continue}else B.lastVisited=-S}var X=B.adjacent,$=D.slice(),ue=L.slice(),ce=new n($,ue,!0);u.push(ce);var de=X.indexOf(w);if(!(de<0)){X[de]=ce,ue[z]=B,$[F]=-1,ue[F]=w,L[F]=ce,ce.flip();for(var U=0;U<=M;++U){var V=$[U];if(!(V<0||V===S)){for(var Y=new Array(M-1),ee=0,q=0;q<=M;++q){var se=$[q];se<0||q===U||(Y[ee++]=se)}y.push(new i(Y,ce,U))}}}}}}}y.sort(s);for(var F=0;F+1=0?p[g++]=u[D]:y=D&1;if(y===(x&1)){var L=p[0];p[0]=p[1],p[1]=L}w.push(p)}}return w};function l(x,w){var S=x.length;if(S===0)throw new Error(\"Must have at least d+1 points\");var M=x[0].length;if(S<=M)throw new Error(\"Must input at least d+1 points\");var m=x.slice(0,M+1),b=o.apply(void 0,m);if(b===0)throw new Error(\"Input not in general position\");for(var p=new Array(M+1),u=0;u<=M;++u)p[u]=u;b<0&&(p[0]=1,p[1]=0);for(var g=new n(p,new Array(M+1),!1),y=g.adjacent,D=new Array(M+2),u=0;u<=M;++u){for(var L=p.slice(),z=0;z<=M;++z)z===u&&(L[z]=-1);var F=L[0];L[0]=L[1],L[1]=F;var B=new n(L,new Array(M+1),!0);y[u]=B,D[u]=B}D[M+1]=g;for(var u=0;u<=M;++u)for(var L=y[u].vertices,O=y[u].adjacent,z=0;z<=M;++z){var P=L[z];if(P<0){O[z]=g;continue}for(var U=0;U<=M;++U)y[U].vertices.indexOf(P)<0&&(O[z]=y[U])}for(var N=new c(M,m,D),X=!!w,u=M+1;u3*(D+1)?c(this,y):this.left.insert(y):this.left=b([y]);else if(y[0]>this.mid)this.right?4*(this.right.count+1)>3*(D+1)?c(this,y):this.right.insert(y):this.right=b([y]);else{var L=o.ge(this.leftPoints,y,M),z=o.ge(this.rightPoints,y,m);this.leftPoints.splice(L,0,y),this.rightPoints.splice(z,0,y)}},h.remove=function(y){var D=this.count-this.leftPoints;if(y[1]3*(D-1))return T(this,y);var z=this.left.remove(y);return z===i?(this.left=null,this.count-=1,n):(z===n&&(this.count-=1),z)}else if(y[0]>this.mid){if(!this.right)return a;var F=this.left?this.left.count:0;if(4*F>3*(D-1))return T(this,y);var z=this.right.remove(y);return z===i?(this.right=null,this.count-=1,n):(z===n&&(this.count-=1),z)}else{if(this.count===1)return this.leftPoints[0]===y?i:a;if(this.leftPoints.length===1&&this.leftPoints[0]===y){if(this.left&&this.right){for(var B=this,O=this.left;O.right;)B=O,O=O.right;if(B===this)O.right=this.right;else{var P=this.left,z=this.right;B.count-=O.count,B.right=O.left,O.left=P,O.right=z}f(this,O),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?f(this,this.left):f(this,this.right);return n}for(var P=o.ge(this.leftPoints,y,M);P=0&&y[z][1]>=D;--z){var F=L(y[z]);if(F)return F}}function w(y,D){for(var L=0;Lthis.mid){if(this.right){var L=this.right.queryPoint(y,D);if(L)return L}return x(this.rightPoints,y,D)}else return w(this.leftPoints,D)},h.queryInterval=function(y,D,L){if(ythis.mid&&this.right){var z=this.right.queryInterval(y,D,L);if(z)return z}return Dthis.mid?x(this.rightPoints,y,L):w(this.leftPoints,L)};function S(y,D){return y-D}function M(y,D){var L=y[0]-D[0];return L||y[1]-D[1]}function m(y,D){var L=y[1]-D[1];return L||y[0]-D[0]}function b(y){if(y.length===0)return null;for(var D=[],L=0;L>1],F=[],B=[],O=[],L=0;L13)&&o!==32&&o!==133&&o!==160&&o!==5760&&o!==6158&&(o<8192||o>8205)&&o!==8232&&o!==8233&&o!==8239&&o!==8287&&o!==8288&&o!==12288&&o!==65279)return!1;return!0}},395:function(e){function t(r,o,a){return r*(1-a)+o*a}e.exports=t},2652:function(e,t,r){var o=r(4335),a=r(6864),n=r(1903),i=r(9921),s=r(7608),h=r(5665),f={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},v=a(),c=a(),T=[0,0,0,0],l=[[0,0,0],[0,0,0],[0,0,0]],x=[0,0,0];e.exports=function(b,p,u,g,y,D){if(p||(p=[0,0,0]),u||(u=[0,0,0]),g||(g=[0,0,0]),y||(y=[0,0,0,1]),D||(D=[0,0,0,1]),!o(v,b)||(n(c,v),c[3]=0,c[7]=0,c[11]=0,c[15]=1,Math.abs(i(c)<1e-8)))return!1;var L=v[3],z=v[7],F=v[11],B=v[12],O=v[13],P=v[14],U=v[15];if(L!==0||z!==0||F!==0){T[0]=L,T[1]=z,T[2]=F,T[3]=U;var N=s(c,c);if(!N)return!1;h(c,c),w(y,T,c)}else y[0]=y[1]=y[2]=0,y[3]=1;if(p[0]=B,p[1]=O,p[2]=P,S(l,v),u[0]=f.length(l[0]),f.normalize(l[0],l[0]),g[0]=f.dot(l[0],l[1]),M(l[1],l[1],l[0],1,-g[0]),u[1]=f.length(l[1]),f.normalize(l[1],l[1]),g[0]/=u[1],g[1]=f.dot(l[0],l[2]),M(l[2],l[2],l[0],1,-g[1]),g[2]=f.dot(l[1],l[2]),M(l[2],l[2],l[1],1,-g[2]),u[2]=f.length(l[2]),f.normalize(l[2],l[2]),g[1]/=u[2],g[2]/=u[2],f.cross(x,l[1],l[2]),f.dot(l[0],x)<0)for(var X=0;X<3;X++)u[X]*=-1,l[X][0]*=-1,l[X][1]*=-1,l[X][2]*=-1;return D[0]=.5*Math.sqrt(Math.max(1+l[0][0]-l[1][1]-l[2][2],0)),D[1]=.5*Math.sqrt(Math.max(1-l[0][0]+l[1][1]-l[2][2],0)),D[2]=.5*Math.sqrt(Math.max(1-l[0][0]-l[1][1]+l[2][2],0)),D[3]=.5*Math.sqrt(Math.max(1+l[0][0]+l[1][1]+l[2][2],0)),l[2][1]>l[1][2]&&(D[0]=-D[0]),l[0][2]>l[2][0]&&(D[1]=-D[1]),l[1][0]>l[0][1]&&(D[2]=-D[2]),!0};function w(m,b,p){var u=b[0],g=b[1],y=b[2],D=b[3];return m[0]=p[0]*u+p[4]*g+p[8]*y+p[12]*D,m[1]=p[1]*u+p[5]*g+p[9]*y+p[13]*D,m[2]=p[2]*u+p[6]*g+p[10]*y+p[14]*D,m[3]=p[3]*u+p[7]*g+p[11]*y+p[15]*D,m}function S(m,b){m[0][0]=b[0],m[0][1]=b[1],m[0][2]=b[2],m[1][0]=b[4],m[1][1]=b[5],m[1][2]=b[6],m[2][0]=b[8],m[2][1]=b[9],m[2][2]=b[10]}function M(m,b,p,u,g){m[0]=b[0]*u+p[0]*g,m[1]=b[1]*u+p[1]*g,m[2]=b[2]*u+p[2]*g}},4335:function(e){e.exports=function(r,o){var a=o[15];if(a===0)return!1;for(var n=1/a,i=0;i<16;i++)r[i]=o[i]*n;return!0}},7442:function(e,t,r){var o=r(6658),a=r(7182),n=r(2652),i=r(9921),s=r(8648),h=T(),f=T(),v=T();e.exports=c;function c(w,S,M,m){if(i(S)===0||i(M)===0)return!1;var b=n(S,h.translate,h.scale,h.skew,h.perspective,h.quaternion),p=n(M,f.translate,f.scale,f.skew,f.perspective,f.quaternion);return!b||!p?!1:(o(v.translate,h.translate,f.translate,m),o(v.skew,h.skew,f.skew,m),o(v.scale,h.scale,f.scale,m),o(v.perspective,h.perspective,f.perspective,m),s(v.quaternion,h.quaternion,f.quaternion,m),a(w,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function T(){return{translate:l(),scale:l(1),skew:l(),perspective:x(),quaternion:x()}}function l(w){return[w||0,w||0,w||0]}function x(){return[0,0,0,1]}},7182:function(e,t,r){var o={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},a=o.create(),n=o.create();e.exports=function(s,h,f,v,c,T){return o.identity(s),o.fromRotationTranslation(s,T,h),s[3]=c[0],s[7]=c[1],s[11]=c[2],s[15]=c[3],o.identity(n),v[2]!==0&&(n[9]=v[2],o.multiply(s,s,n)),v[1]!==0&&(n[9]=0,n[8]=v[1],o.multiply(s,s,n)),v[0]!==0&&(n[8]=0,n[4]=v[0],o.multiply(s,s,n)),o.scale(s,s,f),s}},1811:function(e,t,r){\"use strict\";var o=r(2478),a=r(7442),n=r(7608),i=r(5567),s=r(2408),h=r(7089),f=r(6582),v=r(7656),c=r(2504),T=r(3536),l=[0,0,0];e.exports=M;function x(m){this._components=m.slice(),this._time=[0],this.prevMatrix=m.slice(),this.nextMatrix=m.slice(),this.computedMatrix=m.slice(),this.computedInverse=m.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]}var w=x.prototype;w.recalcMatrix=function(m){var b=this._time,p=o.le(b,m),u=this.computedMatrix;if(!(p<0)){var g=this._components;if(p===b.length-1)for(var y=16*p,D=0;D<16;++D)u[D]=g[y++];else{for(var L=b[p+1]-b[p],y=16*p,z=this.prevMatrix,F=!0,D=0;D<16;++D)z[D]=g[y++];for(var B=this.nextMatrix,D=0;D<16;++D)B[D]=g[y++],F=F&&z[D]===B[D];if(L<1e-6||F)for(var D=0;D<16;++D)u[D]=z[D];else a(u,z,B,(m-b[p])/L)}var O=this.computedUp;O[0]=u[1],O[1]=u[5],O[2]=u[9],T(O,O);var P=this.computedInverse;n(P,u);var U=this.computedEye,N=P[15];U[0]=P[12]/N,U[1]=P[13]/N,U[2]=P[14]/N;for(var X=this.computedCenter,$=Math.exp(this.computedRadius[0]),D=0;D<3;++D)X[D]=U[D]-u[2+4*D]*$}},w.idle=function(m){if(!(m1&&o(n[f[l-2]],n[f[l-1]],T)<=0;)l-=1,f.pop();for(f.push(c),l=v.length;l>1&&o(n[v[l-2]],n[v[l-1]],T)>=0;)l-=1,v.pop();v.push(c)}for(var x=new Array(v.length+f.length-2),w=0,s=0,S=f.length;s0;--M)x[w++]=v[M];return x}},351:function(e,t,r){\"use strict\";e.exports=a;var o=r(4687);function a(n,i){i||(i=n,n=window);var s=0,h=0,f=0,v={shift:!1,alt:!1,control:!1,meta:!1},c=!1;function T(y){var D=!1;return\"altKey\"in y&&(D=D||y.altKey!==v.alt,v.alt=!!y.altKey),\"shiftKey\"in y&&(D=D||y.shiftKey!==v.shift,v.shift=!!y.shiftKey),\"ctrlKey\"in y&&(D=D||y.ctrlKey!==v.control,v.control=!!y.ctrlKey),\"metaKey\"in y&&(D=D||y.metaKey!==v.meta,v.meta=!!y.metaKey),D}function l(y,D){var L=o.x(D),z=o.y(D);\"buttons\"in D&&(y=D.buttons|0),(y!==s||L!==h||z!==f||T(D))&&(s=y|0,h=L||0,f=z||0,i&&i(s,h,f,v))}function x(y){l(0,y)}function w(){(s||h||f||v.shift||v.alt||v.meta||v.control)&&(h=f=0,s=0,v.shift=v.alt=v.control=v.meta=!1,i&&i(0,0,0,v))}function S(y){T(y)&&i&&i(s,h,f,v)}function M(y){o.buttons(y)===0?l(0,y):l(s,y)}function m(y){l(s|o.buttons(y),y)}function b(y){l(s&~o.buttons(y),y)}function p(){c||(c=!0,n.addEventListener(\"mousemove\",M),n.addEventListener(\"mousedown\",m),n.addEventListener(\"mouseup\",b),n.addEventListener(\"mouseleave\",x),n.addEventListener(\"mouseenter\",x),n.addEventListener(\"mouseout\",x),n.addEventListener(\"mouseover\",x),n.addEventListener(\"blur\",w),n.addEventListener(\"keyup\",S),n.addEventListener(\"keydown\",S),n.addEventListener(\"keypress\",S),n!==window&&(window.addEventListener(\"blur\",w),window.addEventListener(\"keyup\",S),window.addEventListener(\"keydown\",S),window.addEventListener(\"keypress\",S)))}function u(){c&&(c=!1,n.removeEventListener(\"mousemove\",M),n.removeEventListener(\"mousedown\",m),n.removeEventListener(\"mouseup\",b),n.removeEventListener(\"mouseleave\",x),n.removeEventListener(\"mouseenter\",x),n.removeEventListener(\"mouseout\",x),n.removeEventListener(\"mouseover\",x),n.removeEventListener(\"blur\",w),n.removeEventListener(\"keyup\",S),n.removeEventListener(\"keydown\",S),n.removeEventListener(\"keypress\",S),n!==window&&(window.removeEventListener(\"blur\",w),window.removeEventListener(\"keyup\",S),window.removeEventListener(\"keydown\",S),window.removeEventListener(\"keypress\",S)))}p();var g={element:n};return Object.defineProperties(g,{enabled:{get:function(){return c},set:function(y){y?p():u()},enumerable:!0},buttons:{get:function(){return s},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return f},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),g}},24:function(e){var t={left:0,top:0};e.exports=r;function r(a,n,i){n=n||a.currentTarget||a.srcElement,Array.isArray(i)||(i=[0,0]);var s=a.clientX||0,h=a.clientY||0,f=o(n);return i[0]=s-f.left,i[1]=h-f.top,i}function o(a){return a===window||a===document||a===document.body?t:a.getBoundingClientRect()}},4687:function(e,t){\"use strict\";function r(i){if(typeof i==\"object\"){if(\"buttons\"in i)return i.buttons;if(\"which\"in i){var s=i.which;if(s===2)return 4;if(s===3)return 2;if(s>0)return 1<=0)return 1<0){if(ue=1,V[ee++]=v(p[D],w,S,M),D+=N,m>0)for($=1,L=p[D],q=V[ee]=v(L,w,S,M),j=V[ee+se],pe=V[ee+Q],Ie=V[ee+we],(q!==j||q!==pe||q!==Ie)&&(F=p[D+z],O=p[D+B],U=p[D+P],h($,ue,L,F,O,U,q,j,pe,Ie,w,S,M),Re=Y[ee]=ce++),ee+=1,D+=N,$=2;$0)for($=1,L=p[D],q=V[ee]=v(L,w,S,M),j=V[ee+se],pe=V[ee+Q],Ie=V[ee+we],(q!==j||q!==pe||q!==Ie)&&(F=p[D+z],O=p[D+B],U=p[D+P],h($,ue,L,F,O,U,q,j,pe,Ie,w,S,M),Re=Y[ee]=ce++,Ie!==pe&&f(Y[ee+Q],Re,O,U,pe,Ie,w,S,M)),ee+=1,D+=N,$=2;$0){if($=1,V[ee++]=v(p[D],w,S,M),D+=N,b>0)for(ue=1,L=p[D],q=V[ee]=v(L,w,S,M),pe=V[ee+Q],j=V[ee+se],Ie=V[ee+we],(q!==pe||q!==j||q!==Ie)&&(F=p[D+z],O=p[D+B],U=p[D+P],h($,ue,L,F,O,U,q,pe,j,Ie,w,S,M),Re=Y[ee]=ce++),ee+=1,D+=N,ue=2;ue0)for(ue=1,L=p[D],q=V[ee]=v(L,w,S,M),pe=V[ee+Q],j=V[ee+se],Ie=V[ee+we],(q!==pe||q!==j||q!==Ie)&&(F=p[D+z],O=p[D+B],U=p[D+P],h($,ue,L,F,O,U,q,pe,j,Ie,w,S,M),Re=Y[ee]=ce++,Ie!==pe&&f(Y[ee+Q],Re,U,F,Ie,pe,w,S,M)),ee+=1,D+=N,ue=2;ue 0\"),typeof s.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof s.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof s.phase!=\"function\"&&h(\"Must specify phase function\");for(var T=s.getters||[],l=new Array(v),x=0;x=0?l[x]=!0:l[x]=!1;return n(s.vertex,s.cell,s.phase,c,f,l)}},6199:function(e,t,r){\"use strict\";var o=r(1338),a={zero:function(M,m,b,p){var u=M[0],g=b[0];p|=0;var y=0,D=g;for(y=0;y2&&y[1]>2&&p(g.pick(-1,-1).lo(1,1).hi(y[0]-2,y[1]-2),u.pick(-1,-1,0).lo(1,1).hi(y[0]-2,y[1]-2),u.pick(-1,-1,1).lo(1,1).hi(y[0]-2,y[1]-2)),y[1]>2&&(b(g.pick(0,-1).lo(1).hi(y[1]-2),u.pick(0,-1,1).lo(1).hi(y[1]-2)),m(u.pick(0,-1,0).lo(1).hi(y[1]-2))),y[1]>2&&(b(g.pick(y[0]-1,-1).lo(1).hi(y[1]-2),u.pick(y[0]-1,-1,1).lo(1).hi(y[1]-2)),m(u.pick(y[0]-1,-1,0).lo(1).hi(y[1]-2))),y[0]>2&&(b(g.pick(-1,0).lo(1).hi(y[0]-2),u.pick(-1,0,0).lo(1).hi(y[0]-2)),m(u.pick(-1,0,1).lo(1).hi(y[0]-2))),y[0]>2&&(b(g.pick(-1,y[1]-1).lo(1).hi(y[0]-2),u.pick(-1,y[1]-1,0).lo(1).hi(y[0]-2)),m(u.pick(-1,y[1]-1,1).lo(1).hi(y[0]-2))),u.set(0,0,0,0),u.set(0,0,1,0),u.set(y[0]-1,0,0,0),u.set(y[0]-1,0,1,0),u.set(0,y[1]-1,0,0),u.set(0,y[1]-1,1,0),u.set(y[0]-1,y[1]-1,0,0),u.set(y[0]-1,y[1]-1,1,0),u}}function S(M){var m=M.join(),y=v[m];if(y)return y;for(var b=M.length,p=[T,l],u=1;u<=b;++u)p.push(x(u));var g=w,y=g.apply(void 0,p);return v[m]=y,y}e.exports=function(m,b,p){if(Array.isArray(p)||(typeof p==\"string\"?p=o(b.dimension,p):p=o(b.dimension,\"clamp\")),b.size===0)return m;if(b.dimension===0)return m.set(0),m;var u=S(p);return u(m,b)}},4317:function(e){\"use strict\";function t(i,s){var h=Math.floor(s),f=s-h,v=0<=h&&h0;){O<64?(m=O,O=0):(m=64,O-=64);for(var P=v[1]|0;P>0;){P<64?(b=P,P=0):(b=64,P-=64),l=F+O*u+P*g,S=B+O*D+P*L;var U=0,N=0,X=0,$=y,ue=u-p*y,ce=g-m*u,de=z,V=D-p*z,Y=L-m*D;for(X=0;X0;){L<64?(m=L,L=0):(m=64,L-=64);for(var z=v[0]|0;z>0;){z<64?(M=z,z=0):(M=64,z-=64),l=y+L*p+z*b,S=D+L*g+z*u;var F=0,B=0,O=p,P=b-m*p,U=g,N=u-m*g;for(B=0;B0;){B<64?(b=B,B=0):(b=64,B-=64);for(var O=v[0]|0;O>0;){O<64?(M=O,O=0):(M=64,O-=64);for(var P=v[1]|0;P>0;){P<64?(m=P,P=0):(m=64,P-=64),l=z+B*g+O*p+P*u,S=F+B*L+O*y+P*D;var U=0,N=0,X=0,$=g,ue=p-b*g,ce=u-M*p,de=L,V=y-b*L,Y=D-M*y;for(X=0;Xx;){U=0,N=F-m;t:for(O=0;O$)break t;N+=y,U+=D}for(U=F,N=F-m,O=0;O>1,P=O-z,U=O+z,N=F,X=P,$=O,ue=U,ce=B,de=w+1,V=S-1,Y=!0,ee,q,se,ae,j,Q,re,pe,we,Se=0,Ie=0,Re=0,He,at,nt,tt,Ue,he,le,ne,Ce,Ze,rt,Ye,St,kt,qt,Gt,Tr=g,mr=T(Tr),qr=T(Tr);at=b*N,nt=b*X,Gt=m;e:for(He=0;He0){q=N,N=X,X=q;break e}if(Re<0)break e;Gt+=D}at=b*ue,nt=b*ce,Gt=m;e:for(He=0;He0){q=ue,ue=ce,ce=q;break e}if(Re<0)break e;Gt+=D}at=b*N,nt=b*$,Gt=m;e:for(He=0;He0){q=N,N=$,$=q;break e}if(Re<0)break e;Gt+=D}at=b*X,nt=b*$,Gt=m;e:for(He=0;He0){q=X,X=$,$=q;break e}if(Re<0)break e;Gt+=D}at=b*N,nt=b*ue,Gt=m;e:for(He=0;He0){q=N,N=ue,ue=q;break e}if(Re<0)break e;Gt+=D}at=b*$,nt=b*ue,Gt=m;e:for(He=0;He0){q=$,$=ue,ue=q;break e}if(Re<0)break e;Gt+=D}at=b*X,nt=b*ce,Gt=m;e:for(He=0;He0){q=X,X=ce,ce=q;break e}if(Re<0)break e;Gt+=D}at=b*X,nt=b*$,Gt=m;e:for(He=0;He0){q=X,X=$,$=q;break e}if(Re<0)break e;Gt+=D}at=b*ue,nt=b*ce,Gt=m;e:for(He=0;He0){q=ue,ue=ce,ce=q;break e}if(Re<0)break e;Gt+=D}for(at=b*N,nt=b*X,tt=b*$,Ue=b*ue,he=b*ce,le=b*F,ne=b*O,Ce=b*B,qt=0,Gt=m,He=0;He0)V--;else if(Re<0){for(at=b*Q,nt=b*de,tt=b*V,Gt=m,He=0;He0)for(;;){re=m+V*b,qt=0;e:for(He=0;He0){if(--VB){e:for(;;){for(re=m+de*b,qt=0,Gt=m,He=0;He1&&x?S(l,x[0],x[1]):S(l)}var f={\"uint32,1,0\":function(c,T){return function(l){var x=l.data,w=l.offset|0,S=l.shape,M=l.stride,m=M[0]|0,b=S[0]|0,p=M[1]|0,u=S[1]|0,g=p,y=p,D=1;b<=32?c(0,b-1,x,w,m,p,b,u,g,y,D):T(0,b-1,x,w,m,p,b,u,g,y,D)}}};function v(c,T){var l=[T,c].join(\",\"),x=f[l],w=i(c,T),S=h(c,T,w);return x(w,S)}e.exports=v},446:function(e,t,r){\"use strict\";var o=r(7640),a={};function n(i){var s=i.order,h=i.dtype,f=[s,h],v=f.join(\":\"),c=a[v];return c||(a[v]=c=o(s,h)),c(i),i}e.exports=n},9618:function(e,t,r){var o=r(7163),a=typeof Float64Array<\"u\";function n(T,l){return T[0]-l[0]}function i(){var T=this.stride,l=new Array(T.length),x;for(x=0;x=0&&(p=m|0,b+=g*p,u-=p),new w(this.data,u,g,b)},S.step=function(m){var b=this.shape[0],p=this.stride[0],u=this.offset,g=0,y=Math.ceil;return typeof m==\"number\"&&(g=m|0,g<0?(u+=p*(b-1),b=y(-b/g)):b=y(b/g),p*=g),new w(this.data,b,p,u)},S.transpose=function(m){m=m===void 0?0:m|0;var b=this.shape,p=this.stride;return new w(this.data,b[m],p[m],this.offset)},S.pick=function(m){var b=[],p=[],u=this.offset;typeof m==\"number\"&&m>=0?u=u+this.stride[0]*m|0:(b.push(this.shape[0]),p.push(this.stride[0]));var g=l[b.length+1];return g(this.data,b,p,u)},function(m,b,p,u){return new w(m,b[0],p[0],u)}},2:function(T,l,x){function w(M,m,b,p,u,g){this.data=M,this.shape=[m,b],this.stride=[p,u],this.offset=g|0}var S=w.prototype;return S.dtype=T,S.dimension=2,Object.defineProperty(S,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(S,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),S.set=function(m,b,p){return T===\"generic\"?this.data.set(this.offset+this.stride[0]*m+this.stride[1]*b,p):this.data[this.offset+this.stride[0]*m+this.stride[1]*b]=p},S.get=function(m,b){return T===\"generic\"?this.data.get(this.offset+this.stride[0]*m+this.stride[1]*b):this.data[this.offset+this.stride[0]*m+this.stride[1]*b]},S.index=function(m,b){return this.offset+this.stride[0]*m+this.stride[1]*b},S.hi=function(m,b){return new w(this.data,typeof m!=\"number\"||m<0?this.shape[0]:m|0,typeof b!=\"number\"||b<0?this.shape[1]:b|0,this.stride[0],this.stride[1],this.offset)},S.lo=function(m,b){var p=this.offset,u=0,g=this.shape[0],y=this.shape[1],D=this.stride[0],L=this.stride[1];return typeof m==\"number\"&&m>=0&&(u=m|0,p+=D*u,g-=u),typeof b==\"number\"&&b>=0&&(u=b|0,p+=L*u,y-=u),new w(this.data,g,y,D,L,p)},S.step=function(m,b){var p=this.shape[0],u=this.shape[1],g=this.stride[0],y=this.stride[1],D=this.offset,L=0,z=Math.ceil;return typeof m==\"number\"&&(L=m|0,L<0?(D+=g*(p-1),p=z(-p/L)):p=z(p/L),g*=L),typeof b==\"number\"&&(L=b|0,L<0?(D+=y*(u-1),u=z(-u/L)):u=z(u/L),y*=L),new w(this.data,p,u,g,y,D)},S.transpose=function(m,b){m=m===void 0?0:m|0,b=b===void 0?1:b|0;var p=this.shape,u=this.stride;return new w(this.data,p[m],p[b],u[m],u[b],this.offset)},S.pick=function(m,b){var p=[],u=[],g=this.offset;typeof m==\"number\"&&m>=0?g=g+this.stride[0]*m|0:(p.push(this.shape[0]),u.push(this.stride[0])),typeof b==\"number\"&&b>=0?g=g+this.stride[1]*b|0:(p.push(this.shape[1]),u.push(this.stride[1]));var y=l[p.length+1];return y(this.data,p,u,g)},function(m,b,p,u){return new w(m,b[0],b[1],p[0],p[1],u)}},3:function(T,l,x){function w(M,m,b,p,u,g,y,D){this.data=M,this.shape=[m,b,p],this.stride=[u,g,y],this.offset=D|0}var S=w.prototype;return S.dtype=T,S.dimension=3,Object.defineProperty(S,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(S,\"order\",{get:function(){var m=Math.abs(this.stride[0]),b=Math.abs(this.stride[1]),p=Math.abs(this.stride[2]);return m>b?b>p?[2,1,0]:m>p?[1,2,0]:[1,0,2]:m>p?[2,0,1]:p>b?[0,1,2]:[0,2,1]}}),S.set=function(m,b,p,u){return T===\"generic\"?this.data.set(this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p,u):this.data[this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p]=u},S.get=function(m,b,p){return T===\"generic\"?this.data.get(this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p):this.data[this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p]},S.index=function(m,b,p){return this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p},S.hi=function(m,b,p){return new w(this.data,typeof m!=\"number\"||m<0?this.shape[0]:m|0,typeof b!=\"number\"||b<0?this.shape[1]:b|0,typeof p!=\"number\"||p<0?this.shape[2]:p|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},S.lo=function(m,b,p){var u=this.offset,g=0,y=this.shape[0],D=this.shape[1],L=this.shape[2],z=this.stride[0],F=this.stride[1],B=this.stride[2];return typeof m==\"number\"&&m>=0&&(g=m|0,u+=z*g,y-=g),typeof b==\"number\"&&b>=0&&(g=b|0,u+=F*g,D-=g),typeof p==\"number\"&&p>=0&&(g=p|0,u+=B*g,L-=g),new w(this.data,y,D,L,z,F,B,u)},S.step=function(m,b,p){var u=this.shape[0],g=this.shape[1],y=this.shape[2],D=this.stride[0],L=this.stride[1],z=this.stride[2],F=this.offset,B=0,O=Math.ceil;return typeof m==\"number\"&&(B=m|0,B<0?(F+=D*(u-1),u=O(-u/B)):u=O(u/B),D*=B),typeof b==\"number\"&&(B=b|0,B<0?(F+=L*(g-1),g=O(-g/B)):g=O(g/B),L*=B),typeof p==\"number\"&&(B=p|0,B<0?(F+=z*(y-1),y=O(-y/B)):y=O(y/B),z*=B),new w(this.data,u,g,y,D,L,z,F)},S.transpose=function(m,b,p){m=m===void 0?0:m|0,b=b===void 0?1:b|0,p=p===void 0?2:p|0;var u=this.shape,g=this.stride;return new w(this.data,u[m],u[b],u[p],g[m],g[b],g[p],this.offset)},S.pick=function(m,b,p){var u=[],g=[],y=this.offset;typeof m==\"number\"&&m>=0?y=y+this.stride[0]*m|0:(u.push(this.shape[0]),g.push(this.stride[0])),typeof b==\"number\"&&b>=0?y=y+this.stride[1]*b|0:(u.push(this.shape[1]),g.push(this.stride[1])),typeof p==\"number\"&&p>=0?y=y+this.stride[2]*p|0:(u.push(this.shape[2]),g.push(this.stride[2]));var D=l[u.length+1];return D(this.data,u,g,y)},function(m,b,p,u){return new w(m,b[0],b[1],b[2],p[0],p[1],p[2],u)}},4:function(T,l,x){function w(M,m,b,p,u,g,y,D,L,z){this.data=M,this.shape=[m,b,p,u],this.stride=[g,y,D,L],this.offset=z|0}var S=w.prototype;return S.dtype=T,S.dimension=4,Object.defineProperty(S,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(S,\"order\",{get:x}),S.set=function(m,b,p,u,g){return T===\"generic\"?this.data.set(this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p+this.stride[3]*u,g):this.data[this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p+this.stride[3]*u]=g},S.get=function(m,b,p,u){return T===\"generic\"?this.data.get(this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p+this.stride[3]*u):this.data[this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p+this.stride[3]*u]},S.index=function(m,b,p,u){return this.offset+this.stride[0]*m+this.stride[1]*b+this.stride[2]*p+this.stride[3]*u},S.hi=function(m,b,p,u){return new w(this.data,typeof m!=\"number\"||m<0?this.shape[0]:m|0,typeof b!=\"number\"||b<0?this.shape[1]:b|0,typeof p!=\"number\"||p<0?this.shape[2]:p|0,typeof u!=\"number\"||u<0?this.shape[3]:u|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},S.lo=function(m,b,p,u){var g=this.offset,y=0,D=this.shape[0],L=this.shape[1],z=this.shape[2],F=this.shape[3],B=this.stride[0],O=this.stride[1],P=this.stride[2],U=this.stride[3];return typeof m==\"number\"&&m>=0&&(y=m|0,g+=B*y,D-=y),typeof b==\"number\"&&b>=0&&(y=b|0,g+=O*y,L-=y),typeof p==\"number\"&&p>=0&&(y=p|0,g+=P*y,z-=y),typeof u==\"number\"&&u>=0&&(y=u|0,g+=U*y,F-=y),new w(this.data,D,L,z,F,B,O,P,U,g)},S.step=function(m,b,p,u){var g=this.shape[0],y=this.shape[1],D=this.shape[2],L=this.shape[3],z=this.stride[0],F=this.stride[1],B=this.stride[2],O=this.stride[3],P=this.offset,U=0,N=Math.ceil;return typeof m==\"number\"&&(U=m|0,U<0?(P+=z*(g-1),g=N(-g/U)):g=N(g/U),z*=U),typeof b==\"number\"&&(U=b|0,U<0?(P+=F*(y-1),y=N(-y/U)):y=N(y/U),F*=U),typeof p==\"number\"&&(U=p|0,U<0?(P+=B*(D-1),D=N(-D/U)):D=N(D/U),B*=U),typeof u==\"number\"&&(U=u|0,U<0?(P+=O*(L-1),L=N(-L/U)):L=N(L/U),O*=U),new w(this.data,g,y,D,L,z,F,B,O,P)},S.transpose=function(m,b,p,u){m=m===void 0?0:m|0,b=b===void 0?1:b|0,p=p===void 0?2:p|0,u=u===void 0?3:u|0;var g=this.shape,y=this.stride;return new w(this.data,g[m],g[b],g[p],g[u],y[m],y[b],y[p],y[u],this.offset)},S.pick=function(m,b,p,u){var g=[],y=[],D=this.offset;typeof m==\"number\"&&m>=0?D=D+this.stride[0]*m|0:(g.push(this.shape[0]),y.push(this.stride[0])),typeof b==\"number\"&&b>=0?D=D+this.stride[1]*b|0:(g.push(this.shape[1]),y.push(this.stride[1])),typeof p==\"number\"&&p>=0?D=D+this.stride[2]*p|0:(g.push(this.shape[2]),y.push(this.stride[2])),typeof u==\"number\"&&u>=0?D=D+this.stride[3]*u|0:(g.push(this.shape[3]),y.push(this.stride[3]));var L=l[g.length+1];return L(this.data,g,y,D)},function(m,b,p,u){return new w(m,b[0],b[1],b[2],b[3],p[0],p[1],p[2],p[3],u)}},5:function(l,x,w){function S(m,b,p,u,g,y,D,L,z,F,B,O){this.data=m,this.shape=[b,p,u,g,y],this.stride=[D,L,z,F,B],this.offset=O|0}var M=S.prototype;return M.dtype=l,M.dimension=5,Object.defineProperty(M,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(M,\"order\",{get:w}),M.set=function(b,p,u,g,y,D){return l===\"generic\"?this.data.set(this.offset+this.stride[0]*b+this.stride[1]*p+this.stride[2]*u+this.stride[3]*g+this.stride[4]*y,D):this.data[this.offset+this.stride[0]*b+this.stride[1]*p+this.stride[2]*u+this.stride[3]*g+this.stride[4]*y]=D},M.get=function(b,p,u,g,y){return l===\"generic\"?this.data.get(this.offset+this.stride[0]*b+this.stride[1]*p+this.stride[2]*u+this.stride[3]*g+this.stride[4]*y):this.data[this.offset+this.stride[0]*b+this.stride[1]*p+this.stride[2]*u+this.stride[3]*g+this.stride[4]*y]},M.index=function(b,p,u,g,y){return this.offset+this.stride[0]*b+this.stride[1]*p+this.stride[2]*u+this.stride[3]*g+this.stride[4]*y},M.hi=function(b,p,u,g,y){return new S(this.data,typeof b!=\"number\"||b<0?this.shape[0]:b|0,typeof p!=\"number\"||p<0?this.shape[1]:p|0,typeof u!=\"number\"||u<0?this.shape[2]:u|0,typeof g!=\"number\"||g<0?this.shape[3]:g|0,typeof y!=\"number\"||y<0?this.shape[4]:y|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},M.lo=function(b,p,u,g,y){var D=this.offset,L=0,z=this.shape[0],F=this.shape[1],B=this.shape[2],O=this.shape[3],P=this.shape[4],U=this.stride[0],N=this.stride[1],X=this.stride[2],$=this.stride[3],ue=this.stride[4];return typeof b==\"number\"&&b>=0&&(L=b|0,D+=U*L,z-=L),typeof p==\"number\"&&p>=0&&(L=p|0,D+=N*L,F-=L),typeof u==\"number\"&&u>=0&&(L=u|0,D+=X*L,B-=L),typeof g==\"number\"&&g>=0&&(L=g|0,D+=$*L,O-=L),typeof y==\"number\"&&y>=0&&(L=y|0,D+=ue*L,P-=L),new S(this.data,z,F,B,O,P,U,N,X,$,ue,D)},M.step=function(b,p,u,g,y){var D=this.shape[0],L=this.shape[1],z=this.shape[2],F=this.shape[3],B=this.shape[4],O=this.stride[0],P=this.stride[1],U=this.stride[2],N=this.stride[3],X=this.stride[4],$=this.offset,ue=0,ce=Math.ceil;return typeof b==\"number\"&&(ue=b|0,ue<0?($+=O*(D-1),D=ce(-D/ue)):D=ce(D/ue),O*=ue),typeof p==\"number\"&&(ue=p|0,ue<0?($+=P*(L-1),L=ce(-L/ue)):L=ce(L/ue),P*=ue),typeof u==\"number\"&&(ue=u|0,ue<0?($+=U*(z-1),z=ce(-z/ue)):z=ce(z/ue),U*=ue),typeof g==\"number\"&&(ue=g|0,ue<0?($+=N*(F-1),F=ce(-F/ue)):F=ce(F/ue),N*=ue),typeof y==\"number\"&&(ue=y|0,ue<0?($+=X*(B-1),B=ce(-B/ue)):B=ce(B/ue),X*=ue),new S(this.data,D,L,z,F,B,O,P,U,N,X,$)},M.transpose=function(b,p,u,g,y){b=b===void 0?0:b|0,p=p===void 0?1:p|0,u=u===void 0?2:u|0,g=g===void 0?3:g|0,y=y===void 0?4:y|0;var D=this.shape,L=this.stride;return new S(this.data,D[b],D[p],D[u],D[g],D[y],L[b],L[p],L[u],L[g],L[y],this.offset)},M.pick=function(b,p,u,g,y){var D=[],L=[],z=this.offset;typeof b==\"number\"&&b>=0?z=z+this.stride[0]*b|0:(D.push(this.shape[0]),L.push(this.stride[0])),typeof p==\"number\"&&p>=0?z=z+this.stride[1]*p|0:(D.push(this.shape[1]),L.push(this.stride[1])),typeof u==\"number\"&&u>=0?z=z+this.stride[2]*u|0:(D.push(this.shape[2]),L.push(this.stride[2])),typeof g==\"number\"&&g>=0?z=z+this.stride[3]*g|0:(D.push(this.shape[3]),L.push(this.stride[3])),typeof y==\"number\"&&y>=0?z=z+this.stride[4]*y|0:(D.push(this.shape[4]),L.push(this.stride[4]));var F=x[D.length+1];return F(this.data,D,L,z)},function(b,p,u,g){return new S(b,p[0],p[1],p[2],p[3],p[4],u[0],u[1],u[2],u[3],u[4],g)}}};function h(T,l){var x=l===-1?\"T\":String(l),w=s[x];return l===-1?w(T):l===0?w(T,v[T][0]):w(T,v[T],i)}function f(T){if(o(T))return\"buffer\";if(a)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 Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(T)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function c(T,l,x,w){if(T===void 0){var u=v.array[0];return u([])}else typeof T==\"number\"&&(T=[T]);l===void 0&&(l=[T.length]);var S=l.length;if(x===void 0){x=new Array(S);for(var M=S-1,m=1;M>=0;--M)x[M]=m,m*=l[M]}if(w===void 0){w=0;for(var M=0;M>>0;e.exports=i;function i(s,h){if(isNaN(s)||isNaN(h))return NaN;if(s===h)return s;if(s===0)return h<0?-a:a;var f=o.hi(s),v=o.lo(s);return h>s==s>0?v===n?(f+=1,v=0):v+=1:v===0?(v=n,f-=1):v-=1,o.pack(v,f)}},8406:function(e,t){var r=1e-6,o=1e-6;t.vertexNormals=function(a,n,i){for(var s=n.length,h=new Array(s),f=i===void 0?r:i,v=0;vf)for(var D=h[l],L=1/Math.sqrt(p*g),y=0;y<3;++y){var z=(y+1)%3,F=(y+2)%3;D[y]+=L*(u[z]*b[F]-u[F]*b[z])}}for(var v=0;vf)for(var L=1/Math.sqrt(B),y=0;y<3;++y)D[y]*=L;else for(var y=0;y<3;++y)D[y]=0}return h},t.faceNormals=function(a,n,i){for(var s=a.length,h=new Array(s),f=i===void 0?o:i,v=0;vf?M=1/Math.sqrt(M):M=0;for(var l=0;l<3;++l)S[l]*=M;h[v]=S}return h}},4081:function(e){\"use strict\";e.exports=t;function t(r,o,a,n,i,s,h,f,v,c){var T=o+s+c;if(l>0){var l=Math.sqrt(T+1);r[0]=.5*(h-v)/l,r[1]=.5*(f-n)/l,r[2]=.5*(a-s)/l,r[3]=.5*l}else{var x=Math.max(o,s,c),l=Math.sqrt(2*x-T+1);o>=x?(r[0]=.5*l,r[1]=.5*(i+a)/l,r[2]=.5*(f+n)/l,r[3]=.5*(h-v)/l):s>=x?(r[0]=.5*(a+i)/l,r[1]=.5*l,r[2]=.5*(v+h)/l,r[3]=.5*(f-n)/l):(r[0]=.5*(n+f)/l,r[1]=.5*(h+v)/l,r[2]=.5*l,r[3]=.5*(a-i)/l)}return r}},9977:function(e,t,r){\"use strict\";e.exports=l;var o=r(9215),a=r(6582),n=r(7399),i=r(7608),s=r(4081);function h(x,w,S){return Math.sqrt(Math.pow(x,2)+Math.pow(w,2)+Math.pow(S,2))}function f(x,w,S,M){return Math.sqrt(Math.pow(x,2)+Math.pow(w,2)+Math.pow(S,2)+Math.pow(M,2))}function v(x,w){var S=w[0],M=w[1],m=w[2],b=w[3],p=f(S,M,m,b);p>1e-6?(x[0]=S/p,x[1]=M/p,x[2]=m/p,x[3]=b/p):(x[0]=x[1]=x[2]=0,x[3]=1)}function c(x,w,S){this.radius=o([S]),this.center=o(w),this.rotation=o(x),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 T=c.prototype;T.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},T.recalcMatrix=function(x){this.radius.curve(x),this.center.curve(x),this.rotation.curve(x);var w=this.computedRotation;v(w,w);var S=this.computedMatrix;n(S,w);var M=this.computedCenter,m=this.computedEye,b=this.computedUp,p=Math.exp(this.computedRadius[0]);m[0]=M[0]+p*S[2],m[1]=M[1]+p*S[6],m[2]=M[2]+p*S[10],b[0]=S[1],b[1]=S[5],b[2]=S[9];for(var u=0;u<3;++u){for(var g=0,y=0;y<3;++y)g+=S[u+4*y]*m[y];S[12+u]=-g}},T.getMatrix=function(x,w){this.recalcMatrix(x);var S=this.computedMatrix;if(w){for(var M=0;M<16;++M)w[M]=S[M];return w}return S},T.idle=function(x){this.center.idle(x),this.radius.idle(x),this.rotation.idle(x)},T.flush=function(x){this.center.flush(x),this.radius.flush(x),this.rotation.flush(x)},T.pan=function(x,w,S,M){w=w||0,S=S||0,M=M||0,this.recalcMatrix(x);var m=this.computedMatrix,b=m[1],p=m[5],u=m[9],g=h(b,p,u);b/=g,p/=g,u/=g;var y=m[0],D=m[4],L=m[8],z=y*b+D*p+L*u;y-=b*z,D-=p*z,L-=u*z;var F=h(y,D,L);y/=F,D/=F,L/=F;var B=m[2],O=m[6],P=m[10],U=B*b+O*p+P*u,N=B*y+O*D+P*L;B-=U*b+N*y,O-=U*p+N*D,P-=U*u+N*L;var X=h(B,O,P);B/=X,O/=X,P/=X;var $=y*w+b*S,ue=D*w+p*S,ce=L*w+u*S;this.center.move(x,$,ue,ce);var de=Math.exp(this.computedRadius[0]);de=Math.max(1e-4,de+M),this.radius.set(x,Math.log(de))},T.rotate=function(x,w,S,M){this.recalcMatrix(x),w=w||0,S=S||0;var m=this.computedMatrix,b=m[0],p=m[4],u=m[8],g=m[1],y=m[5],D=m[9],L=m[2],z=m[6],F=m[10],B=w*b+S*g,O=w*p+S*y,P=w*u+S*D,U=-(z*P-F*O),N=-(F*B-L*P),X=-(L*O-z*B),$=Math.sqrt(Math.max(0,1-Math.pow(U,2)-Math.pow(N,2)-Math.pow(X,2))),ue=f(U,N,X,$);ue>1e-6?(U/=ue,N/=ue,X/=ue,$/=ue):(U=N=X=0,$=1);var ce=this.computedRotation,de=ce[0],V=ce[1],Y=ce[2],ee=ce[3],q=de*$+ee*U+V*X-Y*N,se=V*$+ee*N+Y*U-de*X,ae=Y*$+ee*X+de*N-V*U,j=ee*$-de*U-V*N-Y*X;if(M){U=L,N=z,X=F;var Q=Math.sin(M)/h(U,N,X);U*=Q,N*=Q,X*=Q,$=Math.cos(w),q=q*$+j*U+se*X-ae*N,se=se*$+j*N+ae*U-q*X,ae=ae*$+j*X+q*N-se*U,j=j*$-q*U-se*N-ae*X}var re=f(q,se,ae,j);re>1e-6?(q/=re,se/=re,ae/=re,j/=re):(q=se=ae=0,j=1),this.rotation.set(x,q,se,ae,j)},T.lookAt=function(x,w,S,M){this.recalcMatrix(x),S=S||this.computedCenter,w=w||this.computedEye,M=M||this.computedUp;var m=this.computedMatrix;a(m,w,S,M);var b=this.computedRotation;s(b,m[0],m[1],m[2],m[4],m[5],m[6],m[8],m[9],m[10]),v(b,b),this.rotation.set(x,b[0],b[1],b[2],b[3]);for(var p=0,u=0;u<3;++u)p+=Math.pow(S[u]-w[u],2);this.radius.set(x,.5*Math.log(Math.max(p,1e-6))),this.center.set(x,S[0],S[1],S[2])},T.translate=function(x,w,S,M){this.center.move(x,w||0,S||0,M||0)},T.setMatrix=function(x,w){var S=this.computedRotation;s(S,w[0],w[1],w[2],w[4],w[5],w[6],w[8],w[9],w[10]),v(S,S),this.rotation.set(x,S[0],S[1],S[2],S[3]);var M=this.computedMatrix;i(M,w);var m=M[15];if(Math.abs(m)>1e-6){var b=M[12]/m,p=M[13]/m,u=M[14]/m;this.recalcMatrix(x);var g=Math.exp(this.computedRadius[0]);this.center.set(x,b-M[2]*g,p-M[6]*g,u-M[10]*g),this.radius.idle(x)}else this.center.idle(x),this.radius.idle(x)},T.setDistance=function(x,w){w>0&&this.radius.set(x,Math.log(w))},T.setDistanceLimits=function(x,w){x>0?x=Math.log(x):x=-1/0,w>0?w=Math.log(w):w=1/0,w=Math.max(w,x),this.radius.bounds[0][0]=x,this.radius.bounds[1][0]=w},T.getDistanceLimits=function(x){var w=this.radius.bounds;return x?(x[0]=Math.exp(w[0][0]),x[1]=Math.exp(w[1][0]),x):[Math.exp(w[0][0]),Math.exp(w[1][0])]},T.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]}},T.fromJSON=function(x){var w=this.lastT(),S=x.center;S&&this.center.set(w,S[0],S[1],S[2]);var M=x.rotation;M&&this.rotation.set(w,M[0],M[1],M[2],M[3]);var m=x.distance;m&&m>0&&this.radius.set(w,Math.log(m)),this.setDistanceLimits(x.zoomMin,x.zoomMax)};function l(x){x=x||{};var w=x.center||[0,0,0],S=x.rotation||[0,0,0,1],M=x.radius||1;w=[].slice.call(w,0,3),S=[].slice.call(S,0,4),v(S,S);var m=new c(S,w,Math.log(M));return m.setDistanceLimits(x.zoomMin,x.zoomMax),(\"eye\"in x||\"up\"in x)&&m.lookAt(0,x.eye,x.center,x.up),m}},1371:function(e,t,r){\"use strict\";var o=r(3233);e.exports=function(n,i,s){return s=typeof s<\"u\"?s+\"\":\" \",o(s,i)+n}},3202:function(e){e.exports=function(r,o){o||(o=[0,\"\"]),r=String(r);var a=parseFloat(r,10);return o[0]=a,o[1]=r.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",o}},3088:function(e,t,r){\"use strict\";e.exports=a;var o=r(3140);function a(n,i){for(var s=i.length|0,h=n.length,f=[new Array(s),new Array(s)],v=0;v0){D=f[F][g][0],z=F;break}L=D[z^1];for(var B=0;B<2;++B)for(var O=f[B][g],P=0;P0&&(D=U,L=N,z=B)}return y||D&&l(D,z),L}function w(u,g){var y=f[g][u][0],D=[u];l(y,g);for(var L=y[g^1],z=g;;){for(;L!==u;)D.push(L),L=x(D[D.length-2],L,!1);if(f[0][u].length+f[1][u].length===0)break;var F=D[D.length-1],B=u,O=D[1],P=x(F,B,!0);if(o(i[F],i[B],i[O],i[P])<0)break;D.push(u),L=x(F,B)}return D}function S(u,g){return g[1]===g[g.length-1]}for(var v=0;v0;){var b=f[0][v].length,p=w(v,M);S(m,p)?m.push.apply(m,p):(m.length>0&&T.push(m),m=p)}m.length>0&&T.push(m)}return T}},5609:function(e,t,r){\"use strict\";e.exports=a;var o=r(3134);function a(n,i){for(var s=o(n,i.length),h=new Array(i.length),f=new Array(i.length),v=[],c=0;c0;){var l=v.pop();h[l]=!1;for(var x=s[l],c=0;c0}b=b.filter(p);for(var u=b.length,g=new Array(u),y=new Array(u),m=0;m0;){var re=ae.pop(),pe=ue[re];h(pe,function(He,at){return He-at});var we=pe.length,Se=j[re],Ie;if(Se===0){var O=b[re];Ie=[O]}for(var m=0;m=0)&&(j[Re]=Se^1,ae.push(Re),Se===0)){var O=b[Re];se(O)||(O.reverse(),Ie.push(O))}}Se===0&&Q.push(Ie)}return Q}},5085:function(e,t,r){e.exports=x;var o=r(3250)[3],a=r(4209),n=r(3352),i=r(2478);function s(){return!0}function h(w){return function(S,M){var m=w[S];return m?!!m.queryPoint(M,s):!1}}function f(w){for(var S={},M=0;M0&&S[m]===M[0])b=w[m-1];else return 1;for(var p=1;b;){var u=b.key,g=o(M,u[0],u[1]);if(u[0][0]0)p=-1,b=b.right;else return 0;else if(g>0)b=b.left;else if(g<0)p=1,b=b.right;else return 0}return p}}function c(w){return 1}function T(w){return function(M){return w(M[0],M[1])?0:1}}function l(w,S){return function(m){return w(m[0],m[1])?0:S(m)}}function x(w){for(var S=w.length,M=[],m=[],b=0,p=0;p=c?(u=1,y=c+2*x+S):(u=-x/c,y=x*u+S)):(u=0,w>=0?(g=0,y=S):-w>=l?(g=1,y=l+2*w+S):(g=-w/l,y=w*g+S));else if(g<0)g=0,x>=0?(u=0,y=S):-x>=c?(u=1,y=c+2*x+S):(u=-x/c,y=x*u+S);else{var D=1/p;u*=D,g*=D,y=u*(c*u+T*g+2*x)+g*(T*u+l*g+2*w)+S}else{var L,z,F,B;u<0?(L=T+x,z=l+w,z>L?(F=z-L,B=c-2*T+l,F>=B?(u=1,g=0,y=c+2*x+S):(u=F/B,g=1-u,y=u*(c*u+T*g+2*x)+g*(T*u+l*g+2*w)+S)):(u=0,z<=0?(g=1,y=l+2*w+S):w>=0?(g=0,y=S):(g=-w/l,y=w*g+S))):g<0?(L=T+w,z=c+x,z>L?(F=z-L,B=c-2*T+l,F>=B?(g=1,u=0,y=l+2*w+S):(g=F/B,u=1-g,y=u*(c*u+T*g+2*x)+g*(T*u+l*g+2*w)+S)):(g=0,z<=0?(u=1,y=c+2*x+S):x>=0?(u=0,y=S):(u=-x/c,y=x*u+S))):(F=l+w-T-x,F<=0?(u=0,g=1,y=l+2*w+S):(B=c-2*T+l,F>=B?(u=1,g=0,y=c+2*x+S):(u=F/B,g=1-u,y=u*(c*u+T*g+2*x)+g*(T*u+l*g+2*w)+S)))}for(var O=1-u-g,v=0;v0){var l=s[f-1];if(o(c,l)===0&&n(l)!==T){f-=1;continue}}s[f++]=c}}return s.length=f,s}},3233:function(e){\"use strict\";var t=\"\",r;e.exports=o;function o(a,n){if(typeof a!=\"string\")throw new TypeError(\"expected a string\");if(n===1)return a;if(n===2)return a+a;var i=a.length*n;if(r!==a||typeof r>\"u\")r=a,t=\"\";else if(t.length>=i)return t.substr(0,i);for(;i>t.length&&n>1;)n&1&&(t+=a),n>>=1,a+=a;return t+=a,t=t.substr(0,i),t}},3025:function(e,t,r){e.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(e){\"use strict\";e.exports=t;function t(r){for(var o=r.length,a=r[r.length-1],n=o,i=o-2;i>=0;--i){var s=a,h=r[i];a=s+h;var f=a-s,v=h-f;v&&(r[--n]=a,a=v)}for(var c=0,i=n;i0){if(z<=0)return F;B=L+z}else if(L<0){if(z>=0)return F;B=-(L+z)}else return F;var O=f*B;return F>=O||F<=-O?F:w(g,y,D)},function(g,y,D,L){var z=g[0]-L[0],F=y[0]-L[0],B=D[0]-L[0],O=g[1]-L[1],P=y[1]-L[1],U=D[1]-L[1],N=g[2]-L[2],X=y[2]-L[2],$=D[2]-L[2],ue=F*U,ce=B*P,de=B*O,V=z*U,Y=z*P,ee=F*O,q=N*(ue-ce)+X*(de-V)+$*(Y-ee),se=(Math.abs(ue)+Math.abs(ce))*Math.abs(N)+(Math.abs(de)+Math.abs(V))*Math.abs(X)+(Math.abs(Y)+Math.abs(ee))*Math.abs($),ae=v*se;return q>ae||-q>ae?q:S(g,y,D,L)}];function m(u){var g=M[u.length];return g||(g=M[u.length]=x(u.length)),g.apply(void 0,u)}function b(u,g,y,D,L,z,F){return function(O,P,U,N,X){switch(arguments.length){case 0:case 1:return 0;case 2:return D(O,P);case 3:return L(O,P,U);case 4:return z(O,P,U,N);case 5:return F(O,P,U,N,X)}for(var $=new Array(arguments.length),ue=0;ue0&&c>0||v<0&&c<0)return!1;var T=o(h,i,s),l=o(f,i,s);return T>0&&l>0||T<0&&l<0?!1:v===0&&c===0&&T===0&&l===0?a(i,s,h,f):!0}},8545:function(e){\"use strict\";e.exports=r;function t(o,a){var n=o+a,i=n-o,s=n-i,h=a-i,f=o-s,v=f+h;return v?[v,n]:[n]}function r(o,a){var n=o.length|0,i=a.length|0;if(n===1&&i===1)return t(o[0],-a[0]);var s=n+i,h=new Array(s),f=0,v=0,c=0,T=Math.abs,l=o[v],x=T(l),w=-a[c],S=T(w),M,m;x=i?(M=l,v+=1,v=i?(M=l,v+=1,v\"u\"&&(M=s(x));var m=x.length;if(m===0||M<1)return{cells:[],vertexIds:[],vertexWeights:[]};var b=h(w,+S),p=f(x,M),u=v(p,w,b,+S),g=c(p,w.length|0),y=i(M)(x,p.data,g,b),D=T(p),L=[].slice.call(u.data,0,u.shape[0]);return a.free(b),a.free(p.data),a.free(u.data),a.free(g),{cells:y,vertexIds:D,vertexWeights:L}}},1570:function(e){\"use strict\";e.exports=r;var t=[function(){function a(i,s,h,f){for(var v=Math.min(h,f)|0,c=Math.max(h,f)|0,T=i[2*v],l=i[2*v+1];T>1,w=s[2*x+1];if(w===c)return x;c>1,w=s[2*x+1];if(w===c)return x;c>1,w=s[2*x+1];if(w===c)return x;c>1,w=s[2*x+1];if(w===c)return x;c>1,B=f(g[F],y);B<=0?(B===0&&(z=F),D=F+1):B>0&&(L=F-1)}return z}o=l;function x(g,y){for(var D=new Array(g.length),L=0,z=D.length;L=g.length||f(g[ue],F)!==0););}return D}o=x;function w(g,y){if(!y)return x(T(M(g,0)),g,0);for(var D=new Array(y),L=0;L>>U&1&&P.push(z[U]);y.push(P)}return c(y)}o=S;function M(g,y){if(y<0)return[];for(var D=[],L=(1<0)-(n<0)},t.abs=function(n){var i=n>>r-1;return(n^i)-i},t.min=function(n,i){return i^(n^i)&-(n65535)<<4,n>>>=i,s=(n>255)<<3,n>>>=s,i|=s,s=(n>15)<<2,n>>>=s,i|=s,s=(n>3)<<1,n>>>=s,i|=s,i|n>>1},t.log10=function(n){return n>=1e9?9:n>=1e8?8:n>=1e7?7:n>=1e6?6:n>=1e5?5:n>=1e4?4:n>=1e3?3:n>=100?2:n>=10?1:0},t.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function o(n){var i=32;return n&=-n,n&&i--,n&65535&&(i-=16),n&16711935&&(i-=8),n&252645135&&(i-=4),n&858993459&&(i-=2),n&1431655765&&(i-=1),i}t.countTrailingZeros=o,t.nextPow2=function(n){return n+=n===0,--n,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n+1},t.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},t.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var a=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,h=i,f=7;for(s>>>=1;s;s>>>=1)h<<=1,h|=s&1,--f;n[i]=h<>>8&255]<<16|a[n>>>16&255]<<8|a[n>>>24&255]},t.interleave2=function(n,i){return n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,i&=65535,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,n|i<<1},t.deinterleave2=function(n,i){return n=n>>>i&1431655765,n=(n|n>>>1)&858993459,n=(n|n>>>2)&252645135,n=(n|n>>>4)&16711935,n=(n|n>>>16)&65535,n<<16>>16},t.interleave3=function(n,i,s){return n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,i&=1023,i=(i|i<<16)&4278190335,i=(i|i<<8)&251719695,i=(i|i<<4)&3272356035,i=(i|i<<2)&1227133513,n|=i<<1,s&=1023,s=(s|s<<16)&4278190335,s=(s|s<<8)&251719695,s=(s|s<<4)&3272356035,s=(s|s<<2)&1227133513,n|s<<2},t.deinterleave3=function(n,i){return n=n>>>i&1227133513,n=(n|n>>>2)&3272356035,n=(n|n>>>4)&251719695,n=(n|n>>>8)&4278190335,n=(n|n>>>16)&1023,n<<22>>22},t.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>o(n)+1}},2014:function(e,t,r){\"use strict\";\"use restrict\";var o=r(3105),a=r(4623);function n(u){for(var g=0,y=Math.max,D=0,L=u.length;D>1,F=h(u[z],g);F<=0?(F===0&&(L=z),y=z+1):F>0&&(D=z-1)}return L}t.findCell=T;function l(u,g){for(var y=new Array(u.length),D=0,L=y.length;D=u.length||h(u[$],z)!==0););}return y}t.incidence=l;function x(u,g){if(!g)return l(c(S(u,0)),u,0);for(var y=new Array(g),D=0;D>>P&1&&O.push(L[P]);g.push(O)}return v(g)}t.explode=w;function S(u,g){if(g<0)return[];for(var y=[],D=(1<>1:(V>>1)-1}function D(V){for(var Y=g(V);;){var ee=Y,q=2*V+1,se=2*(V+1),ae=V;if(q0;){var ee=y(V);if(ee>=0){var q=g(ee);if(Y0){var V=O[0];return u(0,N-1),N-=1,D(0),V}return-1}function F(V,Y){var ee=O[V];return x[ee]===Y?V:(x[ee]=-1/0,L(V),z(),x[ee]=Y,N+=1,L(N-1))}function B(V){if(!w[V]){w[V]=!0;var Y=T[V],ee=l[V];T[ee]>=0&&(T[ee]=Y),l[Y]>=0&&(l[Y]=ee),P[Y]>=0&&F(P[Y],p(Y)),P[ee]>=0&&F(P[ee],p(ee))}}for(var O=[],P=new Array(v),S=0;S>1;S>=0;--S)D(S);for(;;){var X=z();if(X<0||x[X]>f)break;B(X)}for(var $=[],S=0;S=0&&ee>=0&&Y!==ee){var q=P[Y],se=P[ee];q!==se&&de.push([q,se])}}),a.unique(a.normalize(de)),{positions:$,edges:de}}},1303:function(e,t,r){\"use strict\";e.exports=n;var o=r(3250);function a(i,s){var h,f;if(s[0][0]s[1][0])h=s[1],f=s[0];else{var v=Math.min(i[0][1],i[1][1]),c=Math.max(i[0][1],i[1][1]),T=Math.min(s[0][1],s[1][1]),l=Math.max(s[0][1],s[1][1]);return cl?v-l:c-l}var x,w;i[0][1]s[1][0])h=s[1],f=s[0];else return a(s,i);var v,c;if(i[0][0]i[1][0])v=i[1],c=i[0];else return-a(i,s);var T=o(h,f,c),l=o(h,f,v);if(T<0){if(l<=0)return T}else if(T>0){if(l>=0)return T}else if(l)return l;if(T=o(c,v,f),l=o(c,v,h),T<0){if(l<=0)return T}else if(T>0){if(l>=0)return T}else if(l)return l;return f[0]-c[0]}},4209:function(e,t,r){\"use strict\";e.exports=l;var o=r(2478),a=r(3840),n=r(3250),i=r(1303);function s(x,w,S){this.slabs=x,this.coordinates=w,this.horizontal=S}var h=s.prototype;function f(x,w){return x.y-w}function v(x,w){for(var S=null;x;){var M=x.key,m,b;M[0][0]0)if(w[0]!==M[1][0])S=x,x=x.right;else{var u=v(x.right,w);if(u)return u;x=x.left}else{if(w[0]!==M[1][0])return x;var u=v(x.right,w);if(u)return u;x=x.left}}return S}h.castUp=function(x){var w=o.le(this.coordinates,x[0]);if(w<0)return-1;var S=this.slabs[w],M=v(this.slabs[w],x),m=-1;if(M&&(m=M.value),this.coordinates[w]===x[0]){var b=null;if(M&&(b=M.key),w>0){var p=v(this.slabs[w-1],x);p&&(b?i(p.key,b)>0&&(b=p.key,m=p.value):(m=p.value,b=p.key))}var u=this.horizontal[w];if(u.length>0){var g=o.ge(u,x[1],f);if(g=u.length)return m;y=u[g]}}if(y.start)if(b){var D=n(b[0],b[1],[x[0],y.y]);b[0][0]>b[1][0]&&(D=-D),D>0&&(m=y.index)}else m=y.index;else y.y!==x[1]&&(m=y.index)}}}return m};function c(x,w,S,M){this.y=x,this.index=w,this.start=S,this.closed=M}function T(x,w,S,M){this.x=x,this.segment=w,this.create=S,this.index=M}function l(x){for(var w=x.length,S=2*w,M=new Array(S),m=0;m1&&(w=1);for(var S=1-w,M=v.length,m=new Array(M),b=0;b0||x>0&&m<0){var b=i(w,m,S,x);T.push(b),l.push(b.slice())}m<0?l.push(S.slice()):m>0?T.push(S.slice()):(T.push(S.slice()),l.push(S.slice())),x=m}return{positive:T,negative:l}}function h(v,c){for(var T=[],l=n(v[v.length-1],c),x=v[v.length-1],w=v[0],S=0;S0||l>0&&M<0)&&T.push(i(x,M,w,l)),M>=0&&T.push(w.slice()),l=M}return T}function f(v,c){for(var T=[],l=n(v[v.length-1],c),x=v[v.length-1],w=v[0],S=0;S0||l>0&&M<0)&&T.push(i(x,M,w,l)),M<=0&&T.push(w.slice()),l=M}return T}},3387:function(e,t,r){var o;(function(){\"use strict\";var a={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function n(v){return s(f(v),arguments)}function i(v,c){return n.apply(null,[v].concat(c||[]))}function s(v,c){var T=1,l=v.length,x,w=\"\",S,M,m,b,p,u,g,y;for(S=0;S=0),m.type){case\"b\":x=parseInt(x,10).toString(2);break;case\"c\":x=String.fromCharCode(parseInt(x,10));break;case\"d\":case\"i\":x=parseInt(x,10);break;case\"j\":x=JSON.stringify(x,null,m.width?parseInt(m.width):0);break;case\"e\":x=m.precision?parseFloat(x).toExponential(m.precision):parseFloat(x).toExponential();break;case\"f\":x=m.precision?parseFloat(x).toFixed(m.precision):parseFloat(x);break;case\"g\":x=m.precision?String(Number(x.toPrecision(m.precision))):parseFloat(x);break;case\"o\":x=(parseInt(x,10)>>>0).toString(8);break;case\"s\":x=String(x),x=m.precision?x.substring(0,m.precision):x;break;case\"t\":x=String(!!x),x=m.precision?x.substring(0,m.precision):x;break;case\"T\":x=Object.prototype.toString.call(x).slice(8,-1).toLowerCase(),x=m.precision?x.substring(0,m.precision):x;break;case\"u\":x=parseInt(x,10)>>>0;break;case\"v\":x=x.valueOf(),x=m.precision?x.substring(0,m.precision):x;break;case\"x\":x=(parseInt(x,10)>>>0).toString(16);break;case\"X\":x=(parseInt(x,10)>>>0).toString(16).toUpperCase();break}a.json.test(m.type)?w+=x:(a.number.test(m.type)&&(!g||m.sign)?(y=g?\"+\":\"-\",x=x.toString().replace(a.sign,\"\")):y=\"\",p=m.pad_char?m.pad_char===\"0\"?\"0\":m.pad_char.charAt(1):\" \",u=m.width-(y+x).length,b=m.width&&u>0?p.repeat(u):\"\",w+=m.align?y+x+b:p===\"0\"?y+b+x:b+y+x)}return w}var h=Object.create(null);function f(v){if(h[v])return h[v];for(var c=v,T,l=[],x=0;c;){if((T=a.text.exec(c))!==null)l.push(T[0]);else if((T=a.modulo.exec(c))!==null)l.push(\"%\");else if((T=a.placeholder.exec(c))!==null){if(T[2]){x|=1;var w=[],S=T[2],M=[];if((M=a.key.exec(S))!==null)for(w.push(M[1]);(S=S.substring(M[0].length))!==\"\";)if((M=a.key_access.exec(S))!==null)w.push(M[1]);else if((M=a.index_access.exec(S))!==null)w.push(M[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");T[2]=w}else x|=2;if(x===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");l.push({placeholder:T[0],param_no:T[1],keys:T[2],sign:T[3],pad_char:T[4],align:T[5],width:T[6],precision:T[7],type:T[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");c=c.substring(T[0].length)}return h[v]=l}t.sprintf=n,t.vsprintf=i,typeof window<\"u\"&&(window.sprintf=n,window.vsprintf=i,o=function(){return{sprintf:n,vsprintf:i}}.call(t,r,t,e),o!==void 0&&(e.exports=o))})()},3711:function(e,t,r){\"use strict\";e.exports=f;var o=r(2640),a=r(781),n={\"2d\":function(v,c,T){var l=v({order:c,scalarArguments:3,getters:T===\"generic\"?[0]:void 0,phase:function(w,S,M,m){return w>m|0},vertex:function(w,S,M,m,b,p,u,g,y,D,L,z,F){var B=(u<<0)+(g<<1)+(y<<2)+(D<<3)|0;if(!(B===0||B===15))switch(B){case 0:L.push([w-.5,S-.5]);break;case 1:L.push([w-.25-.25*(m+M-2*F)/(M-m),S-.25-.25*(b+M-2*F)/(M-b)]);break;case 2:L.push([w-.75-.25*(-m-M+2*F)/(m-M),S-.25-.25*(p+m-2*F)/(m-p)]);break;case 3:L.push([w-.5,S-.5-.5*(b+M+p+m-4*F)/(M-b+m-p)]);break;case 4:L.push([w-.25-.25*(p+b-2*F)/(b-p),S-.75-.25*(-b-M+2*F)/(b-M)]);break;case 5:L.push([w-.5-.5*(m+M+p+b-4*F)/(M-m+b-p),S-.5]);break;case 6:L.push([w-.5-.25*(-m-M+p+b)/(m-M+b-p),S-.5-.25*(-b-M+p+m)/(b-M+m-p)]);break;case 7:L.push([w-.75-.25*(p+b-2*F)/(b-p),S-.75-.25*(p+m-2*F)/(m-p)]);break;case 8:L.push([w-.75-.25*(-p-b+2*F)/(p-b),S-.75-.25*(-p-m+2*F)/(p-m)]);break;case 9:L.push([w-.5-.25*(m+M+-p-b)/(M-m+p-b),S-.5-.25*(b+M+-p-m)/(M-b+p-m)]);break;case 10:L.push([w-.5-.5*(-m-M+-p-b+4*F)/(m-M+p-b),S-.5]);break;case 11:L.push([w-.25-.25*(-p-b+2*F)/(p-b),S-.75-.25*(b+M-2*F)/(M-b)]);break;case 12:L.push([w-.5,S-.5-.5*(-b-M+-p-m+4*F)/(b-M+p-m)]);break;case 13:L.push([w-.75-.25*(m+M-2*F)/(M-m),S-.25-.25*(-p-m+2*F)/(p-m)]);break;case 14:L.push([w-.25-.25*(-m-M+2*F)/(m-M),S-.25-.25*(-b-M+2*F)/(b-M)]);break;case 15:L.push([w-.5,S-.5]);break}},cell:function(w,S,M,m,b,p,u,g,y){b?g.push([w,S]):g.push([S,w])}});return function(x,w){var S=[],M=[];return l(x,S,M,w),{positions:S,cells:M}}}};function i(v,c){var T=v.length+\"d\",l=n[T];if(l)return l(o,v,c)}function s(v,c){for(var T=a(v,c),l=T.length,x=new Array(l),w=new Array(l),S=0;SMath.max(m,b)?p[2]=1:m>Math.max(M,b)?p[0]=1:p[1]=1;for(var u=0,g=0,y=0;y<3;++y)u+=S[y]*S[y],g+=p[y]*S[y];for(var y=0;y<3;++y)p[y]-=g/u*S[y];return s(p,p),p}function T(S,M,m,b,p,u,g,y){this.center=o(m),this.up=o(b),this.right=o(p),this.radius=o([u]),this.angle=o([g,y]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(S,M),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 D=0;D<16;++D)this.computedMatrix[D]=.5;this.recalcMatrix(0)}var l=T.prototype;l.setDistanceLimits=function(S,M){S>0?S=Math.log(S):S=-1/0,M>0?M=Math.log(M):M=1/0,M=Math.max(M,S),this.radius.bounds[0][0]=S,this.radius.bounds[1][0]=M},l.getDistanceLimits=function(S){var M=this.radius.bounds[0];return S?(S[0]=Math.exp(M[0][0]),S[1]=Math.exp(M[1][0]),S):[Math.exp(M[0][0]),Math.exp(M[1][0])]},l.recalcMatrix=function(S){this.center.curve(S),this.up.curve(S),this.right.curve(S),this.radius.curve(S),this.angle.curve(S);for(var M=this.computedUp,m=this.computedRight,b=0,p=0,u=0;u<3;++u)p+=M[u]*m[u],b+=M[u]*M[u];for(var g=Math.sqrt(b),y=0,u=0;u<3;++u)m[u]-=M[u]*p/b,y+=m[u]*m[u],M[u]/=g;for(var D=Math.sqrt(y),u=0;u<3;++u)m[u]/=D;var L=this.computedToward;i(L,M,m),s(L,L);for(var z=Math.exp(this.computedRadius[0]),F=this.computedAngle[0],B=this.computedAngle[1],O=Math.cos(F),P=Math.sin(F),U=Math.cos(B),N=Math.sin(B),X=this.computedCenter,$=O*U,ue=P*U,ce=N,de=-O*N,V=-P*N,Y=U,ee=this.computedEye,q=this.computedMatrix,u=0;u<3;++u){var se=$*m[u]+ue*L[u]+ce*M[u];q[4*u+1]=de*m[u]+V*L[u]+Y*M[u],q[4*u+2]=se,q[4*u+3]=0}var ae=q[1],j=q[5],Q=q[9],re=q[2],pe=q[6],we=q[10],Se=j*we-Q*pe,Ie=Q*re-ae*we,Re=ae*pe-j*re,He=f(Se,Ie,Re);Se/=He,Ie/=He,Re/=He,q[0]=Se,q[4]=Ie,q[8]=Re;for(var u=0;u<3;++u)ee[u]=X[u]+q[2+4*u]*z;for(var u=0;u<3;++u){for(var y=0,at=0;at<3;++at)y+=q[u+4*at]*ee[at];q[12+u]=-y}q[15]=1},l.getMatrix=function(S,M){this.recalcMatrix(S);var m=this.computedMatrix;if(M){for(var b=0;b<16;++b)M[b]=m[b];return M}return m};var x=[0,0,0];l.rotate=function(S,M,m,b){if(this.angle.move(S,M,m),b){this.recalcMatrix(S);var p=this.computedMatrix;x[0]=p[2],x[1]=p[6],x[2]=p[10];for(var u=this.computedUp,g=this.computedRight,y=this.computedToward,D=0;D<3;++D)p[4*D]=u[D],p[4*D+1]=g[D],p[4*D+2]=y[D];n(p,p,b,x);for(var D=0;D<3;++D)u[D]=p[4*D],g[D]=p[4*D+1];this.up.set(S,u[0],u[1],u[2]),this.right.set(S,g[0],g[1],g[2])}},l.pan=function(S,M,m,b){M=M||0,m=m||0,b=b||0,this.recalcMatrix(S);var p=this.computedMatrix,u=Math.exp(this.computedRadius[0]),g=p[1],y=p[5],D=p[9],L=f(g,y,D);g/=L,y/=L,D/=L;var z=p[0],F=p[4],B=p[8],O=z*g+F*y+B*D;z-=g*O,F-=y*O,B-=D*O;var P=f(z,F,B);z/=P,F/=P,B/=P;var U=z*M+g*m,N=F*M+y*m,X=B*M+D*m;this.center.move(S,U,N,X);var $=Math.exp(this.computedRadius[0]);$=Math.max(1e-4,$+b),this.radius.set(S,Math.log($))},l.translate=function(S,M,m,b){this.center.move(S,M||0,m||0,b||0)},l.setMatrix=function(S,M,m,b){var p=1;typeof m==\"number\"&&(p=m|0),(p<0||p>3)&&(p=1);var u=(p+2)%3,g=(p+1)%3;M||(this.recalcMatrix(S),M=this.computedMatrix);var y=M[p],D=M[p+4],L=M[p+8];if(b){var F=Math.abs(y),B=Math.abs(D),O=Math.abs(L),P=Math.max(F,B,O);F===P?(y=y<0?-1:1,D=L=0):O===P?(L=L<0?-1:1,y=D=0):(D=D<0?-1:1,y=L=0)}else{var z=f(y,D,L);y/=z,D/=z,L/=z}var U=M[u],N=M[u+4],X=M[u+8],$=U*y+N*D+X*L;U-=y*$,N-=D*$,X-=L*$;var ue=f(U,N,X);U/=ue,N/=ue,X/=ue;var ce=D*X-L*N,de=L*U-y*X,V=y*N-D*U,Y=f(ce,de,V);ce/=Y,de/=Y,V/=Y,this.center.jump(S,le,ne,Ce),this.radius.idle(S),this.up.jump(S,y,D,L),this.right.jump(S,U,N,X);var ee,q;if(p===2){var se=M[1],ae=M[5],j=M[9],Q=se*U+ae*N+j*X,re=se*ce+ae*de+j*V;Ie<0?ee=-Math.PI/2:ee=Math.PI/2,q=Math.atan2(re,Q)}else{var pe=M[2],we=M[6],Se=M[10],Ie=pe*y+we*D+Se*L,Re=pe*U+we*N+Se*X,He=pe*ce+we*de+Se*V;ee=Math.asin(v(Ie)),q=Math.atan2(He,Re)}this.angle.jump(S,q,ee),this.recalcMatrix(S);var at=M[2],nt=M[6],tt=M[10],Ue=this.computedMatrix;a(Ue,M);var he=Ue[15],le=Ue[12]/he,ne=Ue[13]/he,Ce=Ue[14]/he,Ze=Math.exp(this.computedRadius[0]);this.center.jump(S,le-at*Ze,ne-nt*Ze,Ce-tt*Ze)},l.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},l.idle=function(S){this.center.idle(S),this.up.idle(S),this.right.idle(S),this.radius.idle(S),this.angle.idle(S)},l.flush=function(S){this.center.flush(S),this.up.flush(S),this.right.flush(S),this.radius.flush(S),this.angle.flush(S)},l.setDistance=function(S,M){M>0&&this.radius.set(S,Math.log(M))},l.lookAt=function(S,M,m,b){this.recalcMatrix(S),M=M||this.computedEye,m=m||this.computedCenter,b=b||this.computedUp;var p=b[0],u=b[1],g=b[2],y=f(p,u,g);if(!(y<1e-6)){p/=y,u/=y,g/=y;var D=M[0]-m[0],L=M[1]-m[1],z=M[2]-m[2],F=f(D,L,z);if(!(F<1e-6)){D/=F,L/=F,z/=F;var B=this.computedRight,O=B[0],P=B[1],U=B[2],N=p*O+u*P+g*U;O-=N*p,P-=N*u,U-=N*g;var X=f(O,P,U);if(!(X<.01&&(O=u*z-g*L,P=g*D-p*z,U=p*L-u*D,X=f(O,P,U),X<1e-6))){O/=X,P/=X,U/=X,this.up.set(S,p,u,g),this.right.set(S,O,P,U),this.center.set(S,m[0],m[1],m[2]),this.radius.set(S,Math.log(F));var $=u*U-g*P,ue=g*O-p*U,ce=p*P-u*O,de=f($,ue,ce);$/=de,ue/=de,ce/=de;var V=p*D+u*L+g*z,Y=O*D+P*L+U*z,ee=$*D+ue*L+ce*z,q=Math.asin(v(V)),se=Math.atan2(ee,Y),ae=this.angle._state,j=ae[ae.length-1],Q=ae[ae.length-2];j=j%(2*Math.PI);var re=Math.abs(j+2*Math.PI-se),pe=Math.abs(j-se),we=Math.abs(j-2*Math.PI-se);re0?U.pop():new ArrayBuffer(O)}t.mallocArrayBuffer=x;function w(B){return new Uint8Array(x(B),0,B)}t.mallocUint8=w;function S(B){return new Uint16Array(x(2*B),0,B)}t.mallocUint16=S;function M(B){return new Uint32Array(x(4*B),0,B)}t.mallocUint32=M;function m(B){return new Int8Array(x(B),0,B)}t.mallocInt8=m;function b(B){return new Int16Array(x(2*B),0,B)}t.mallocInt16=b;function p(B){return new Int32Array(x(4*B),0,B)}t.mallocInt32=p;function u(B){return new Float32Array(x(4*B),0,B)}t.mallocFloat32=t.mallocFloat=u;function g(B){return new Float64Array(x(8*B),0,B)}t.mallocFloat64=t.mallocDouble=g;function y(B){return i?new Uint8ClampedArray(x(B),0,B):w(B)}t.mallocUint8Clamped=y;function D(B){return s?new BigUint64Array(x(8*B),0,B):null}t.mallocBigUint64=D;function L(B){return h?new BigInt64Array(x(8*B),0,B):null}t.mallocBigInt64=L;function z(B){return new DataView(x(B),0,B)}t.mallocDataView=z;function F(B){B=o.nextPow2(B);var O=o.log2(B),P=c[O];return P.length>0?P.pop():new n(B)}t.mallocBuffer=F,t.clearCache=function(){for(var O=0;O<32;++O)f.UINT8[O].length=0,f.UINT16[O].length=0,f.UINT32[O].length=0,f.INT8[O].length=0,f.INT16[O].length=0,f.INT32[O].length=0,f.FLOAT[O].length=0,f.DOUBLE[O].length=0,f.BIGUINT64[O].length=0,f.BIGINT64[O].length=0,f.UINT8C[O].length=0,v[O].length=0,c[O].length=0}},1755:function(e){\"use strict\";\"use restrict\";e.exports=t;function t(o){this.roots=new Array(o),this.ranks=new Array(o);for(var a=0;a\",U=\"\",N=P.length,X=U.length,$=F[0]===x||F[0]===M,ue=0,ce=-X;ue>-1&&(ue=B.indexOf(P,ue),!(ue===-1||(ce=B.indexOf(U,ue+N),ce===-1)||ce<=ue));){for(var de=ue;de=ce)O[de]=null,B=B.substr(0,de)+\" \"+B.substr(de+1);else if(O[de]!==null){var V=O[de].indexOf(F[0]);V===-1?O[de]+=F:$&&(O[de]=O[de].substr(0,V+1)+(1+parseInt(O[de][V+1]))+O[de].substr(V+2))}var Y=ue+N,ee=B.substr(Y,ce-Y),q=ee.indexOf(P);q!==-1?ue=q:ue=ce+X}return O}function p(z,F,B){for(var O=F.textAlign||\"start\",P=F.textBaseline||\"alphabetic\",U=[1<<30,1<<30],N=[0,0],X=z.length,$=0;$/g,`\n`):B=B.replace(/\\/g,\" \");var N=\"\",X=[];for(j=0;j-1?parseInt(ne[1+rt]):0,kt=Ye>-1?parseInt(Ce[1+Ye]):0;St!==kt&&(Ze=Ze.replace(Re(),\"?px \"),pe*=Math.pow(.75,kt-St),Ze=Ze.replace(\"?px \",Re())),re+=.25*V*(kt-St)}if(U.superscripts===!0){var qt=ne.indexOf(x),Gt=Ce.indexOf(x),Tr=qt>-1?parseInt(ne[1+qt]):0,mr=Gt>-1?parseInt(Ce[1+Gt]):0;Tr!==mr&&(Ze=Ze.replace(Re(),\"?px \"),pe*=Math.pow(.75,mr-Tr),Ze=Ze.replace(\"?px \",Re())),re-=.25*V*(mr-Tr)}if(U.bolds===!0){var qr=ne.indexOf(v)>-1,Er=Ce.indexOf(v)>-1;!qr&&Er&&(Dr?Ze=Ze.replace(\"italic \",\"italic bold \"):Ze=\"bold \"+Ze),qr&&!Er&&(Ze=Ze.replace(\"bold \",\"\"))}if(U.italics===!0){var Dr=ne.indexOf(T)>-1,xt=Ce.indexOf(T)>-1;!Dr&&xt&&(Ze=\"italic \"+Ze),Dr&&!xt&&(Ze=Ze.replace(\"italic \",\"\"))}F.font=Ze}for(ae=0;ae0&&(P=O.size),O.lineSpacing&&O.lineSpacing>0&&(U=O.lineSpacing),O.styletags&&O.styletags.breaklines&&(N.breaklines=!!O.styletags.breaklines),O.styletags&&O.styletags.bolds&&(N.bolds=!!O.styletags.bolds),O.styletags&&O.styletags.italics&&(N.italics=!!O.styletags.italics),O.styletags&&O.styletags.subscripts&&(N.subscripts=!!O.styletags.subscripts),O.styletags&&O.styletags.superscripts&&(N.superscripts=!!O.styletags.superscripts)),B.font=[O.fontStyle,O.fontVariant,O.fontWeight,P+\"px\",O.font].filter(function($){return $}).join(\" \"),B.textAlign=\"start\",B.textBaseline=\"alphabetic\",B.direction=\"ltr\";var X=u(F,B,z,P,U,N);return D(X,O,P)}},1538:function(e){(function(){\"use strict\";if(typeof ses<\"u\"&&ses.ok&&!ses.ok())return;function r(y){y.permitHostObjects___&&y.permitHostObjects___(r)}typeof ses<\"u\"&&(ses.weakMapPermitHostObjects=r);var o=!1;if(typeof WeakMap==\"function\"){var a=WeakMap;if(!(typeof navigator<\"u\"&&/Firefox/.test(navigator.userAgent))){var n=new a,i=Object.freeze({});if(n.set(i,1),n.get(i)!==1)o=!0;else{e.exports=WeakMap;return}}}var s=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,f=Object.defineProperty,v=Object.isExtensible,c=\"weakmap:\",T=c+\"ident:\"+Math.random()+\"___\";if(typeof crypto<\"u\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var l=new ArrayBuffer(25),x=new Uint8Array(l);crypto.getRandomValues(x),T=c+\"rand:\"+Array.prototype.map.call(x,function(y){return(y%36).toString(36)}).join(\"\")+\"___\"}function w(y){return!(y.substr(0,c.length)==c&&y.substr(y.length-3)===\"___\")}if(f(Object,\"getOwnPropertyNames\",{value:function(D){return h(D).filter(w)}}),\"getPropertyNames\"in Object){var S=Object.getPropertyNames;f(Object,\"getPropertyNames\",{value:function(D){return S(D).filter(w)}})}function M(y){if(y!==Object(y))throw new TypeError(\"Not an object: \"+y);var D=y[T];if(D&&D.key===y)return D;if(v(y)){D={key:y};try{return f(y,T,{value:D,writable:!1,enumerable:!1,configurable:!1}),D}catch{return}}}(function(){var y=Object.freeze;f(Object,\"freeze\",{value:function(F){return M(F),y(F)}});var D=Object.seal;f(Object,\"seal\",{value:function(F){return M(F),D(F)}});var L=Object.preventExtensions;f(Object,\"preventExtensions\",{value:function(F){return M(F),L(F)}})})();function m(y){return y.prototype=null,Object.freeze(y)}var b=!1;function p(){!b&&typeof console<\"u\"&&(b=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var u=0,g=function(){this instanceof g||p();var y=[],D=[],L=u++;function z(P,U){var N,X=M(P);return X?L in X?X[L]:U:(N=y.indexOf(P),N>=0?D[N]:U)}function F(P){var U=M(P);return U?L in U:y.indexOf(P)>=0}function B(P,U){var N,X=M(P);return X?X[L]=U:(N=y.indexOf(P),N>=0?D[N]=U:(N=y.length,D[N]=U,y[N]=P)),this}function O(P){var U=M(P),N,X;return U?L in U&&delete U[L]:(N=y.indexOf(P),N<0?!1:(X=y.length-1,y[N]=void 0,D[N]=D[X],y[N]=y[X],y.length=X,D.length=X,!0))}return Object.create(g.prototype,{get___:{value:m(z)},has___:{value:m(F)},set___:{value:m(B)},delete___:{value:m(O)}})};g.prototype=Object.create(Object.prototype,{get:{value:function(D,L){return this.get___(D,L)},writable:!0,configurable:!0},has:{value:function(D){return this.has___(D)},writable:!0,configurable:!0},set:{value:function(D,L){return this.set___(D,L)},writable:!0,configurable:!0},delete:{value:function(D){return this.delete___(D)},writable:!0,configurable:!0}}),typeof a==\"function\"?function(){o&&typeof Proxy<\"u\"&&(Proxy=void 0);function y(){this instanceof g||p();var D=new a,L=void 0,z=!1;function F(U,N){return L?D.has(U)?D.get(U):L.get___(U,N):D.get(U,N)}function B(U){return D.has(U)||(L?L.has___(U):!1)}var O;o?O=function(U,N){return D.set(U,N),D.has(U)||(L||(L=new g),L.set(U,N)),this}:O=function(U,N){if(z)try{D.set(U,N)}catch{L||(L=new g),L.set___(U,N)}else D.set(U,N);return this};function P(U){var N=!!D.delete(U);return L&&L.delete___(U)||N}return Object.create(g.prototype,{get___:{value:m(F)},has___:{value:m(B)},set___:{value:m(O)},delete___:{value:m(P)},permitHostObjects___:{value:m(function(U){if(U===r)z=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}y.prototype=g.prototype,e.exports=y,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<\"u\"&&(Proxy=void 0),e.exports=g)})()},236:function(e,t,r){var o=r(8284);e.exports=a;function a(){var n={};return function(i){if((typeof i!=\"object\"||i===null)&&typeof i!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var s=i.valueOf(n);return s&&s.identity===n?s:o(i,n)}}},8284:function(e){e.exports=t;function t(r,o){var a={identity:o},n=r.valueOf;return Object.defineProperty(r,\"valueOf\",{value:function(i){return i!==o?n.apply(this,arguments):a},writable:!0}),a}},606:function(e,t,r){var o=r(236);e.exports=a;function a(){var n=o();return{get:function(i,s){var h=n(i);return h.hasOwnProperty(\"value\")?h.value:s},set:function(i,s){return n(i).value=s,this},has:function(i){return\"value\"in n(i)},delete:function(i){return delete n(i).value}}}},3349:function(e){\"use strict\";function t(){return function(s,h,f,v,c,T){var l=s[0],x=f[0],w=[0],S=x;v|=0;var M=0,m=x;for(M=0;M=0!=p>=0&&c.push(w[0]+.5+.5*(b+p)/(b-p))}v+=m,++w[0]}}}function r(){return t()}var o=r;function a(s){var h={};return function(v,c,T){var l=v.dtype,x=v.order,w=[l,x.join()].join(),S=h[w];return S||(h[w]=S=s([l,x])),S(v.shape.slice(0),v.data,v.stride,v.offset|0,c,T)}}function n(s){return a(o.bind(void 0,s))}function i(s){return n({funcName:s.funcName})}e.exports=i({funcName:\"zeroCrossings\"})},781:function(e,t,r){\"use strict\";e.exports=a;var o=r(3349);function a(n,i){var s=[];return i=+i||0,o(n.hi(n.shape[0]-1),s,i),s}},7790:function(){}},_={};function A(e){var t=_[e];if(t!==void 0)return t.exports;var r=_[e]={id:e,loaded:!1,exports:{}};return d[e].call(r.exports,r,r.exports,A),r.loaded=!0,r.exports}(function(){A.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch{if(typeof window==\"object\")return window}}()})(),function(){A.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e}}();var E=A(1964);G.exports=E})()}}),xE=Ge({\"node_modules/color-name/index.js\"(Z,G){\"use strict\";G.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]}}}),GN=Ge({\"node_modules/color-normalize/node_modules/color-parse/index.js\"(Z,G){\"use strict\";var d=xE();G.exports=A;var _={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function A(E){var e,t=[],r=1,o;if(typeof E==\"string\")if(E=E.toLowerCase(),d[E])t=d[E].slice(),o=\"rgb\";else if(E===\"transparent\")r=0,o=\"rgb\",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(E)){var a=E.slice(1),n=a.length,i=n<=4;r=1,i?(t=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],n===4&&(r=parseInt(a[3]+a[3],16)/255)):(t=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],n===8&&(r=parseInt(a[6]+a[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),o=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(E)){var s=e[1],h=s===\"rgb\",a=s.replace(/a$/,\"\");o=a;var n=a===\"cmyk\"?4:a===\"gray\"?1:3;t=e[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(c,T){if(/%$/.test(c))return T===n?parseFloat(c)/100:a===\"rgb\"?parseFloat(c)*255/100:parseFloat(c);if(a[T]===\"h\"){if(/deg$/.test(c))return parseFloat(c);if(_[c]!==void 0)return _[c]}return parseFloat(c)}),s===a&&t.push(1),r=h||t[n]===void 0?1:t[n],t=t.slice(0,n)}else E.length>10&&/[0-9](?:\\s|\\/)/.test(E)&&(t=E.match(/([0-9]+)/g).map(function(f){return parseFloat(f)}),o=E.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(E)?Array.isArray(E)||E.length?(t=[E[0],E[1],E[2]],o=\"rgb\",r=E.length===4?E[3]:1):E instanceof Object&&(E.r!=null||E.red!=null||E.R!=null?(o=\"rgb\",t=[E.r||E.red||E.R||0,E.g||E.green||E.G||0,E.b||E.blue||E.B||0]):(o=\"hsl\",t=[E.h||E.hue||E.H||0,E.s||E.saturation||E.S||0,E.l||E.lightness||E.L||E.b||E.brightness]),r=E.a||E.alpha||E.opacity||1,E.opacity!=null&&(r/=100)):(o=\"rgb\",t=[E>>>16,(E&65280)>>>8,E&255]);return{space:o,values:t,alpha:r}}}}),HN=Ge({\"node_modules/color-normalize/node_modules/color-rgba/index.js\"(Z,G){\"use strict\";var d=GN();G.exports=function(E){Array.isArray(E)&&E.raw&&(E=String.raw.apply(null,arguments));var e,t,r,o=d(E);if(!o.space)return[];var a=[0,0,0],n=o.space[0]===\"h\"?[360,100,100]:[255,255,255];return e=Array(3),e[0]=Math.min(Math.max(o.values[0],a[0]),n[0]),e[1]=Math.min(Math.max(o.values[1],a[1]),n[1]),e[2]=Math.min(Math.max(o.values[2],a[2]),n[2]),o.space[0]===\"h\"&&(e=_(e)),e.push(Math.min(Math.max(o.alpha,0),1)),e};function _(A){var E=A[0]/360,e=A[1]/100,t=A[2]/100,r,o,a,n,i,s=0;if(e===0)return i=t*255,[i,i,i];for(o=t<.5?t*(1+e):t+e-t*e,r=2*t-o,n=[0,0,0];s<3;)a=E+1/3*-(s-1),a<0?a++:a>1&&a--,i=6*a<1?r+(o-r)*6*a:2*a<1?o:3*a<2?r+(o-r)*(2/3-a)*6:r,n[s++]=i*255;return n}}}),mx=Ge({\"node_modules/clamp/index.js\"(Z,G){G.exports=d;function d(_,A,E){return AE?E:_:_A?A:_}}}),Q3=Ge({\"node_modules/dtype/index.js\"(Z,G){G.exports=function(d){switch(d){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}}}}),d0=Ge({\"node_modules/color-normalize/index.js\"(Z,G){\"use strict\";var d=HN(),_=mx(),A=Q3();G.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var o=A(r),a=new o(4),n=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=d(t),t[0]/=255,t[1]/=255,t[2]/=255),E(t)?(a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3]!=null?t[3]:255,n&&(a[0]/=255,a[1]/=255,a[2]/=255,a[3]/=255),a):(n?(a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3]!=null?t[3]:1):(a[0]=_(Math.floor(t[0]*255),0,255),a[1]=_(Math.floor(t[1]*255),0,255),a[2]=_(Math.floor(t[2]*255),0,255),a[3]=t[3]==null?255:_(Math.floor(t[3]*255),0,255)),a)};function E(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}}}),em=Ge({\"src/lib/str2rgbarray.js\"(Z,G){\"use strict\";var d=d0();function _(A){return A?d(A):[0,0,0,1]}G.exports=_}}),tm=Ge({\"src/lib/gl_format_color.js\"(Z,G){\"use strict\";var d=ns(),_=Ch(),A=d0(),E=rc(),e=sh().defaultLine,t=hp().isArrayOrTypedArray,r=A(e),o=1;function a(f,v){var c=f;return c[3]*=v,c}function n(f){if(d(f))return r;var v=A(f);return v.length?v:r}function i(f){return d(f)?f:o}function s(f,v,c){var T=f.color;T&&T._inputArray&&(T=T._inputArray);var l=t(T),x=t(v),w=E.extractOpts(f),S=[],M,m,b,p,u;if(w.colorscale!==void 0?M=E.makeColorScaleFuncFromTrace(f):M=n,l?m=function(y,D){return y[D]===void 0?r:A(M(y[D]))}:m=n,x?b=function(y,D){return y[D]===void 0?o:i(y[D])}:b=i,l||x)for(var g=0;g0){var c=o.c2l(f);o._lowerLogErrorBound||(o._lowerLogErrorBound=c),o._lowerErrorBound=Math.min(o._lowerLogErrorBound,c)}}else n[i]=[-s[0]*r,s[1]*r]}return n}function A(e){for(var t=0;t-1?-1:D.indexOf(\"right\")>-1?1:0}function w(D){return D==null?0:D.indexOf(\"top\")>-1?-1:D.indexOf(\"bottom\")>-1?1:0}function S(D){var L=0,z=0,F=[L,z];if(Array.isArray(D))for(var B=0;B=0){var X=T(U.position,U.delaunayColor,U.delaunayAxis);X.opacity=D.opacity,this.delaunayMesh?this.delaunayMesh.update(X):(X.gl=L,this.delaunayMesh=E(X),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)},c.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())};function y(D,L){var z=new v(D,L.uid);return z.update(L),z}G.exports=y}}),wE=Ge({\"src/traces/scatter3d/attributes.js\"(Z,G){\"use strict\";var d=af(),_=tc(),A=ku(),E=rf().axisHoverFormat,{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=$l(),o=au(),a=bE(),n=eT(),i=rs().extendFlat,s=pc().overrideAll,h=Jm(),f=d.line,v=d.marker,c=v.line,T=i({width:f.width,dash:{valType:\"enumerated\",values:h(a),dflt:\"solid\"}},A(\"line\"));function l(w){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var x=G.exports=s({x:d.x,y:d.y,z:{valType:\"data_array\"},text:i({},d.text,{}),texttemplate:t(),texttemplatefallback:r({editType:\"calc\"}),hovertext:i({},d.hovertext,{}),hovertemplate:e(),hovertemplatefallback:r(),xhoverformat:E(\"x\"),yhoverformat:E(\"y\"),zhoverformat:E(\"z\"),mode:i({},d.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:l(\"x\"),y:l(\"y\"),z:l(\"z\")},connectgaps:d.connectgaps,line:T,marker:i({symbol:{valType:\"enumerated\",values:h(n),dflt:\"circle\",arrayOk:!0},size:i({},v.size,{dflt:8}),sizeref:v.sizeref,sizemin:v.sizemin,sizemode:v.sizemode,opacity:i({},v.opacity,{arrayOk:!1}),colorbar:v.colorbar,line:i({width:i({},c.width,{arrayOk:!1})},A(\"marker.line\"))},A(\"marker\")),textposition:i({},d.textposition,{dflt:\"top center\"}),textfont:_({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:o.opacity,hoverinfo:i({},o.hoverinfo)},\"calc\",\"nested\");x.x.editType=x.y.editType=x.z.editType=\"calc+clearAxisTypes\"}}),ZN=Ge({\"src/traces/scatter3d/defaults.js\"(Z,G){\"use strict\";var d=so(),_=sa(),A=Fu(),E=md(),e=Dd(),t=zd(),r=wE();G.exports=function(n,i,s,h){function f(M,m){return _.coerce(n,i,r,M,m)}var v=o(n,i,f,h);if(!v){i.visible=!1;return}f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),f(\"hovertemplatefallback\"),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"zhoverformat\"),f(\"mode\"),A.hasMarkers(i)&&E(n,i,s,h,f,{noAngle:!0,noLineDash:!0,noSelect:!0}),A.hasLines(i)&&(f(\"connectgaps\"),e(n,i,s,h,f)),A.hasText(i)&&(f(\"texttemplate\"),f(\"texttemplatefallback\"),t(n,i,h,f,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var c=(i.line||{}).color,T=(i.marker||{}).color;f(\"surfaceaxis\")>=0&&f(\"surfacecolor\",c||T);for(var l=[\"x\",\"y\",\"z\"],x=0;x<3;++x){var w=\"projection.\"+l[x];f(w+\".show\")&&(f(w+\".opacity\"),f(w+\".scale\"))}var S=d.getComponentMethod(\"errorbars\",\"supplyDefaults\");S(n,i,c||T||s,{axis:\"z\"}),S(n,i,c||T||s,{axis:\"y\",inherit:\"z\"}),S(n,i,c||T||s,{axis:\"x\",inherit:\"z\"})};function o(a,n,i,s){var h=0,f=i(\"x\"),v=i(\"y\"),c=i(\"z\"),T=d.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return T(a,n,[\"x\",\"y\",\"z\"],s),f&&v&&c&&(h=Math.min(f.length,v.length,c.length),n._length=n._xlength=n._ylength=n._zlength=h),h}}}),YN=Ge({\"src/traces/scatter3d/calc.js\"(Z,G){\"use strict\";var d=Av(),_=Fd();G.exports=function(E,e){var t=[{x:!1,y:!1,trace:e,t:{}}];return d(t,e),_(E,e),t}}}),KN=Ge({\"node_modules/get-canvas-context/index.js\"(Z,G){G.exports=d;function d(_,A){if(typeof _!=\"string\")throw new TypeError(\"must specify type string\");if(A=A||{},typeof document>\"u\"&&!A.canvas)return null;var E=A.canvas||document.createElement(\"canvas\");typeof A.width==\"number\"&&(E.width=A.width),typeof A.height==\"number\"&&(E.height=A.height);var e=A,t;try{var r=[_];_.indexOf(\"webgl\")===0&&r.push(\"experimental-\"+_);for(var o=0;o/g,\" \"));i[s]=c,h.tickmode=f}}o.ticks=i;for(var s=0;s<3;++s){E[s]=.5*(r.glplot.bounds[0][s]+r.glplot.bounds[1][s]);for(var T=0;T<2;++T)o.bounds[T][s]=r.glplot.bounds[T][s]}r.contourLevels=e(i)}}}),tU=Ge({\"src/plots/gl3d/scene.js\"(Z,G){\"use strict\";var d=Yh().gl_plot3d,_=d.createCamera,A=d.createScene,E=JN(),e=b2(),t=so(),r=sa(),o=r.preserveDrawingBuffer(),a=Wo(),n=Hc(),i=em(),s=TE(),h=U5(),f=$N(),v=QN(),c=eU(),T=Yd().applyAutorangeOptions,l,x,w=!1;function S(z,F){var B=document.createElement(\"div\"),O=z.container;this.graphDiv=z.graphDiv;var P=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");P.style.position=\"absolute\",P.style.top=P.style.left=\"0px\",P.style.width=P.style.height=\"100%\",P.style[\"z-index\"]=20,P.style[\"pointer-events\"]=\"none\",B.appendChild(P),this.svgContainer=P,B.id=z.id,B.style.position=\"absolute\",B.style.top=B.style.left=\"0px\",B.style.width=B.style.height=\"100%\",O.appendChild(B),this.fullLayout=F,this.id=z.id||\"scene\",this.fullSceneLayout=F[this.id],this.plotArgs=[[],{},{}],this.axesOptions=f(F,F[this.id]),this.spikeOptions=v(F[this.id]),this.container=B,this.staticMode=!!z.staticPlot,this.pixelRatio=this.pixelRatio||z.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=t.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=t.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var M=S.prototype;M.prepareOptions=function(){var z=this,F={canvas:z.canvas,gl:z.gl,glOptions:{preserveDrawingBuffer:o,premultipliedAlpha:!0,antialias:!0},container:z.container,axes:z.axesOptions,spikes:z.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:z.camera,pixelRatio:z.pixelRatio};if(z.staticMode){if(!x&&(l=document.createElement(\"canvas\"),x=E({canvas:l,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!x))throw new Error(\"error creating static canvas/context for image server\");F.gl=x,F.canvas=l}return F};var m=!0;M.tryCreatePlot=function(){var z=this,F=z.prepareOptions(),B=!0;try{z.glplot=A(F)}catch{if(z.staticMode||!m||o)B=!1;else{r.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{o=F.glOptions.preserveDrawingBuffer=!0,z.glplot=A(F)}catch{o=F.glOptions.preserveDrawingBuffer=!1,B=!1}}}return m=!1,B},M.initializeGLCamera=function(){var z=this,F=z.fullSceneLayout.camera,B=F.projection.type===\"orthographic\";z.camera=_(z.container,{center:[F.center.x,F.center.y,F.center.z],eye:[F.eye.x,F.eye.y,F.eye.z],up:[F.up.x,F.up.y,F.up.z],_ortho:B,zoomMin:.01,zoomMax:100,mode:\"orbit\"})},M.initializeGLPlot=function(){var z=this;z.initializeGLCamera();var F=z.tryCreatePlot();if(!F)return s(z);z.traces={},z.make4thDimension();var B=z.graphDiv,O=B.layout,P=function(){var N={};return z.isCameraChanged(O)&&(N[z.id+\".camera\"]=z.getCamera()),z.isAspectChanged(O)&&(N[z.id+\".aspectratio\"]=z.glplot.getAspectratio(),O[z.id].aspectmode!==\"manual\"&&(z.fullSceneLayout.aspectmode=O[z.id].aspectmode=N[z.id+\".aspectmode\"]=\"manual\")),N},U=function(N){if(N.fullSceneLayout.dragmode!==!1){var X=P();N.saveLayout(O),N.graphDiv.emit(\"plotly_relayout\",X)}};return z.glplot.canvas&&(z.glplot.canvas.addEventListener(\"mouseup\",function(){U(z)}),z.glplot.canvas.addEventListener(\"touchstart\",function(){w=!0}),z.glplot.canvas.addEventListener(\"wheel\",function(N){if(B._context._scrollZoom.gl3d){if(z.camera._ortho){var X=N.deltaX>N.deltaY?1.1:.9090909090909091,$=z.glplot.getAspectratio();z.glplot.setAspectratio({x:X*$.x,y:X*$.y,z:X*$.z})}U(z)}},e?{passive:!1}:!1),z.glplot.canvas.addEventListener(\"mousemove\",function(){if(z.fullSceneLayout.dragmode!==!1&&z.camera.mouseListener.buttons!==0){var N=P();z.graphDiv.emit(\"plotly_relayouting\",N)}}),z.staticMode||z.glplot.canvas.addEventListener(\"webglcontextlost\",function(N){B&&B.emit&&B.emit(\"plotly_webglcontextlost\",{event:N,layer:z.id})},!1)),z.glplot.oncontextloss=function(){z.recoverContext()},z.glplot.onrender=function(){z.render()},!0},M.render=function(){var z=this,F=z.graphDiv,B,O=z.svgContainer,P=z.container.getBoundingClientRect();F._fullLayout._calcInverseTransform(F);var U=F._fullLayout._invScaleX,N=F._fullLayout._invScaleY,X=P.width*U,$=P.height*N;O.setAttributeNS(null,\"viewBox\",\"0 0 \"+X+\" \"+$),O.setAttributeNS(null,\"width\",X),O.setAttributeNS(null,\"height\",$),c(z),z.glplot.axes.update(z.axesOptions);for(var ue=Object.keys(z.traces),ce=null,de=z.glplot.selection,V=0;V\")):B.type===\"isosurface\"||B.type===\"volume\"?(ae.valueLabel=a.hoverLabelText(z._mockAxis,z._mockAxis.d2l(de.traceCoordinate[3]),B.valuehoverformat),we.push(\"value: \"+ae.valueLabel),de.textLabel&&we.push(de.textLabel),pe=we.join(\"
\")):pe=de.textLabel;var Se={x:de.traceCoordinate[0],y:de.traceCoordinate[1],z:de.traceCoordinate[2],data:q._input,fullData:q,curveNumber:q.index,pointNumber:se};n.appendArrayPointValue(Se,q,se),B._module.eventData&&(Se=q._module.eventData(Se,de,q,{},se));var Ie={points:[Se]};if(z.fullSceneLayout.hovermode){var Re=[];n.loneHover({trace:q,x:(.5+.5*ee[0]/ee[3])*X,y:(.5-.5*ee[1]/ee[3])*$,xLabel:ae.xLabel,yLabel:ae.yLabel,zLabel:ae.zLabel,text:pe,name:ce.name,color:n.castHoverOption(q,se,\"bgcolor\")||ce.color,borderColor:n.castHoverOption(q,se,\"bordercolor\"),fontFamily:n.castHoverOption(q,se,\"font.family\"),fontSize:n.castHoverOption(q,se,\"font.size\"),fontColor:n.castHoverOption(q,se,\"font.color\"),nameLength:n.castHoverOption(q,se,\"namelength\"),textAlign:n.castHoverOption(q,se,\"align\"),hovertemplate:r.castOption(q,se,\"hovertemplate\"),hovertemplateLabels:r.extendFlat({},Se,ae),eventData:[Se]},{container:O,gd:F,inOut_bbox:Re}),Se.bbox=Re[0]}de.distance<5&&(de.buttons||w)?F.emit(\"plotly_click\",Ie):F.emit(\"plotly_hover\",Ie),this.oldEventData=Ie}else n.loneUnhover(O),this.oldEventData&&F.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;z.drawAnnotations(z)},M.recoverContext=function(){var z=this;z.glplot.dispose();var F=function(){if(z.glplot.gl.isContextLost()){requestAnimationFrame(F);return}if(!z.initializeGLPlot()){r.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}z.plot.apply(z,z.plotArgs)};requestAnimationFrame(F)};var b=[\"xaxis\",\"yaxis\",\"zaxis\"];function p(z,F,B){for(var O=z.fullSceneLayout,P=0;P<3;P++){var U=b[P],N=U.charAt(0),X=O[U],$=F[N],ue=F[N+\"calendar\"],ce=F[\"_\"+N+\"length\"];if(!r.isArrayOrTypedArray($))B[0][P]=Math.min(B[0][P],0),B[1][P]=Math.max(B[1][P],ce-1);else for(var de,V=0;V<(ce||$.length);V++)if(r.isArrayOrTypedArray($[V]))for(var Y=0;Y<$[V].length;++Y)de=X.d2l($[V][Y],0,ue),!isNaN(de)&&isFinite(de)&&(B[0][P]=Math.min(B[0][P],de),B[1][P]=Math.max(B[1][P],de));else de=X.d2l($[V],0,ue),!isNaN(de)&&isFinite(de)&&(B[0][P]=Math.min(B[0][P],de),B[1][P]=Math.max(B[1][P],de))}}function u(z,F){for(var B=z.fullSceneLayout,O=B.annotations||[],P=0;P<3;P++)for(var U=b[P],N=U.charAt(0),X=B[U],$=0;$q[1][N])q[0][N]=-1,q[1][N]=1;else{var at=q[1][N]-q[0][N];q[0][N]-=at/32,q[1][N]+=at/32}if(j=[q[0][N],q[1][N]],j=T(j,$),q[0][N]=j[0],q[1][N]=j[1],$.isReversed()){var nt=q[0][N];q[0][N]=q[1][N],q[1][N]=nt}}else j=$.range,q[0][N]=$.r2l(j[0]),q[1][N]=$.r2l(j[1]);q[0][N]===q[1][N]&&(q[0][N]-=1,q[1][N]+=1),se[N]=q[1][N]-q[0][N],$.range=[q[0][N],q[1][N]],$.limitRange(),O.glplot.setBounds(N,{min:$.range[0]*Y[N],max:$.range[1]*Y[N]})}var tt,Ue=ce.aspectmode;if(Ue===\"cube\")tt=[1,1,1];else if(Ue===\"manual\"){var he=ce.aspectratio;tt=[he.x,he.y,he.z]}else if(Ue===\"auto\"||Ue===\"data\"){var le=[1,1,1];for(N=0;N<3;++N){$=ce[b[N]],ue=$.type;var ne=ae[ue];le[N]=Math.pow(ne.acc,1/ne.count)/Y[N]}Ue===\"data\"||Math.max.apply(null,le)/Math.min.apply(null,le)<=4?tt=le:tt=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");ce.aspectratio.x=de.aspectratio.x=tt[0],ce.aspectratio.y=de.aspectratio.y=tt[1],ce.aspectratio.z=de.aspectratio.z=tt[2],O.glplot.setAspectratio(ce.aspectratio),O.viewInitial.aspectratio||(O.viewInitial.aspectratio={x:ce.aspectratio.x,y:ce.aspectratio.y,z:ce.aspectratio.z}),O.viewInitial.aspectmode||(O.viewInitial.aspectmode=ce.aspectmode);var Ce=ce.domain||null,Ze=F._size||null;if(Ce&&Ze){var rt=O.container.style;rt.position=\"absolute\",rt.left=Ze.l+Ce.x[0]*Ze.w+\"px\",rt.top=Ze.t+(1-Ce.y[1])*Ze.h+\"px\",rt.width=Ze.w*(Ce.x[1]-Ce.x[0])+\"px\",rt.height=Ze.h*(Ce.y[1]-Ce.y[0])+\"px\"}O.glplot.redraw()}},M.destroy=function(){var z=this;z.glplot&&(z.camera.mouseListener.enabled=!1,z.container.removeEventListener(\"wheel\",z.camera.wheelListener),z.camera=null,z.glplot.dispose(),z.container.parentNode.removeChild(z.container),z.glplot=null)};function g(z){return[[z.eye.x,z.eye.y,z.eye.z],[z.center.x,z.center.y,z.center.z],[z.up.x,z.up.y,z.up.z]]}function y(z){return{up:{x:z.up[0],y:z.up[1],z:z.up[2]},center:{x:z.center[0],y:z.center[1],z:z.center[2]},eye:{x:z.eye[0],y:z.eye[1],z:z.eye[2]},projection:{type:z._ortho===!0?\"orthographic\":\"perspective\"}}}M.getCamera=function(){var z=this;return z.camera.view.recalcMatrix(z.camera.view.lastT()),y(z.camera)},M.setViewport=function(z){var F=this,B=z.camera;F.camera.lookAt.apply(this,g(B)),F.glplot.setAspectratio(z.aspectratio);var O=B.projection.type===\"orthographic\",P=F.camera._ortho;O!==P&&(F.glplot.redraw(),F.glplot.clearRGBA(),F.glplot.dispose(),F.initializeGLPlot())},M.isCameraChanged=function(z){var F=this,B=F.getCamera(),O=r.nestedProperty(z,F.id+\".camera\"),P=O.get();function U(ue,ce,de,V){var Y=[\"up\",\"center\",\"eye\"],ee=[\"x\",\"y\",\"z\"];return ce[Y[de]]&&ue[Y[de]][ee[V]]===ce[Y[de]][ee[V]]}var N=!1;if(P===void 0)N=!0;else{for(var X=0;X<3;X++)for(var $=0;$<3;$++)if(!U(B,P,X,$)){N=!0;break}(!P.projection||B.projection&&B.projection.type!==P.projection.type)&&(N=!0)}return N},M.isAspectChanged=function(z){var F=this,B=F.glplot.getAspectratio(),O=r.nestedProperty(z,F.id+\".aspectratio\"),P=O.get();return P===void 0||P.x!==B.x||P.y!==B.y||P.z!==B.z},M.saveLayout=function(z){var F=this,B=F.fullLayout,O,P,U,N,X,$,ue=F.isCameraChanged(z),ce=F.isAspectChanged(z),de=ue||ce;if(de){var V={};if(ue&&(O=F.getCamera(),P=r.nestedProperty(z,F.id+\".camera\"),U=P.get(),V[F.id+\".camera\"]=U),ce&&(N=F.glplot.getAspectratio(),X=r.nestedProperty(z,F.id+\".aspectratio\"),$=X.get(),V[F.id+\".aspectratio\"]=$),t.call(\"_storeDirectGUIEdit\",z,B._preGUI,V),ue){P.set(O);var Y=r.nestedProperty(B,F.id+\".camera\");Y.set(O)}if(ce){X.set(N);var ee=r.nestedProperty(B,F.id+\".aspectratio\");ee.set(N),F.glplot.redraw()}}return de},M.updateFx=function(z,F){var B=this,O=B.camera;if(O)if(z===\"orbit\")O.mode=\"orbit\",O.keyBindingMode=\"rotate\";else if(z===\"turntable\"){O.up=[0,0,1],O.mode=\"turntable\",O.keyBindingMode=\"rotate\";var P=B.graphDiv,U=P._fullLayout,N=B.fullSceneLayout.camera,X=N.up.x,$=N.up.y,ue=N.up.z;if(ue/Math.sqrt(X*X+$*$+ue*ue)<.999){var ce=B.id+\".camera.up\",de={x:0,y:0,z:1},V={};V[ce]=de;var Y=P.layout;t.call(\"_storeDirectGUIEdit\",Y,U._preGUI,V),N.up=de,r.nestedProperty(Y,ce).set(de)}}else O.keyBindingMode=z;B.fullSceneLayout.hovermode=F};function D(z,F,B){for(var O=0,P=B-1;O0)for(var X=255/N,$=0;$<3;++$)z[U+$]=Math.min(X*z[U+$],255)}}M.toImage=function(z){var F=this;z||(z=\"png\"),F.staticMode&&F.container.appendChild(l),F.glplot.redraw();var B=F.glplot.gl,O=B.drawingBufferWidth,P=B.drawingBufferHeight;B.bindFramebuffer(B.FRAMEBUFFER,null);var U=new Uint8Array(O*P*4);B.readPixels(0,0,O,P,B.RGBA,B.UNSIGNED_BYTE,U),D(U,O,P),L(U,O,P);var N=document.createElement(\"canvas\");N.width=O,N.height=P;var X=N.getContext(\"2d\",{willReadFrequently:!0}),$=X.createImageData(O,P);$.data.set(U),X.putImageData($,0,0);var ue;switch(z){case\"jpeg\":ue=N.toDataURL(\"image/jpeg\");break;case\"webp\":ue=N.toDataURL(\"image/webp\");break;default:ue=N.toDataURL(\"image/png\")}return F.staticMode&&F.container.removeChild(l),ue},M.setConvert=function(){for(var z=this,F=0;F<3;F++){var B=z.fullSceneLayout[b[F]];a.setConvert(B,z.fullLayout),B.setScale=r.noop}},M.make4thDimension=function(){var z=this,F=z.graphDiv,B=F._fullLayout;z._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},a.setConvert(z._mockAxis,B)},G.exports=S}}),rU=Ge({\"src/plots/gl3d/layout/attributes.js\"(Z,G){\"use strict\";G.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}}}),AE=Ge({\"src/plots/gl3d/layout/axis_attributes.js\"(Z,G){\"use strict\";var d=$n(),_=Wh(),A=rs().extendFlat,E=pc().overrideAll;G.exports=E({visible:_.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:d.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:_.color,categoryorder:_.categoryorder,categoryarray:_.categoryarray,title:{text:_.title.text,font:_.title.font},type:A({},_.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:_.autotypenumbers,autorange:_.autorange,autorangeoptions:{minallowed:_.autorangeoptions.minallowed,maxallowed:_.autorangeoptions.maxallowed,clipmin:_.autorangeoptions.clipmin,clipmax:_.autorangeoptions.clipmax,include:_.autorangeoptions.include,editType:\"plot\"},rangemode:_.rangemode,minallowed:_.minallowed,maxallowed:_.maxallowed,range:A({},_.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:_.minor.tickmode,nticks:_.nticks,tick0:_.tick0,dtick:_.dtick,tickvals:_.tickvals,ticktext:_.ticktext,ticks:_.ticks,mirror:_.mirror,ticklen:_.ticklen,tickwidth:_.tickwidth,tickcolor:_.tickcolor,showticklabels:_.showticklabels,labelalias:_.labelalias,tickfont:_.tickfont,tickangle:_.tickangle,tickprefix:_.tickprefix,showtickprefix:_.showtickprefix,ticksuffix:_.ticksuffix,showticksuffix:_.showticksuffix,showexponent:_.showexponent,exponentformat:_.exponentformat,minexponent:_.minexponent,separatethousands:_.separatethousands,tickformat:_.tickformat,tickformatstops:_.tickformatstops,hoverformat:_.hoverformat,showline:_.showline,linecolor:_.linecolor,linewidth:_.linewidth,showgrid:_.showgrid,gridcolor:A({},_.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:_.gridwidth,zeroline:_.zeroline,zerolinecolor:_.zerolinecolor,zerolinewidth:_.zerolinewidth},\"plot\",\"from-root\")}}),SE=Ge({\"src/plots/gl3d/layout/layout_attributes.js\"(Z,G){\"use strict\";var d=AE(),_=wc().attributes,A=rs().extendFlat,E=sa().counterRegex;function e(t,r,o){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:r,editType:\"camera\"},z:{valType:\"number\",dflt:o,editType:\"camera\"},editType:\"camera\"}}G.exports={_arrayAttrRegexps:[E(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:A(e(0,0,1),{}),center:A(e(0,0,0),{}),eye:A(e(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:_({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:d,yaxis:d,zaxis:d,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\"}}}),aU=Ge({\"src/plots/gl3d/layout/axis_defaults.js\"(Z,G){\"use strict\";var d=Ch().mix,_=sa(),A=zl(),E=AE(),e=B5(),t=F_(),r=[\"xaxis\",\"yaxis\",\"zaxis\"],o=100*136/187;G.exports=function(n,i,s){var h,f;function v(l,x){return _.coerce(h,f,E,l,x)}for(var c=0;c1;function v(c){if(!f){var T=d.validate(i[c],t[c]);if(T)return i[c]}}E(i,s,h,{type:o,attributes:t,handleDefaults:a,fullLayout:s,font:s.font,fullData:h,getDfltFromLayout:v,autotypenumbersDflt:s.autotypenumbers,paper_bgcolor:s.paper_bgcolor,calendar:s.calendar})};function a(n,i,s,h){for(var f=s(\"bgcolor\"),v=_.combine(f,h.paper_bgcolor),c=[\"up\",\"center\",\"eye\"],T=0;T.999)&&(M=\"turntable\")}else M=\"turntable\";s(\"dragmode\",M),s(\"hovermode\",h.getDfltFromLayout(\"hovermode\"))}}}),v0=Ge({\"src/plots/gl3d/index.js\"(Z){\"use strict\";var G=pc().overrideAll,d=Zm(),_=tU(),A=Hh().getSubplotData,E=sa(),e=vd(),t=\"gl3d\",r=\"scene\";Z.name=t,Z.attr=r,Z.idRoot=r,Z.idRegex=Z.attrRegex=E.counterRegex(\"scene\"),Z.attributes=rU(),Z.layoutAttributes=SE(),Z.baseLayoutAttrOverrides=G({hoverlabel:d.hoverlabel},\"plot\",\"nested\"),Z.supplyLayoutDefaults=iU(),Z.plot=function(a){for(var n=a._fullLayout,i=a._fullData,s=n._subplots[t],h=0;h0){D=h[L];break}return D}function T(g,y){if(!(g<1||y<1)){for(var D=v(g),L=v(y),z=1,F=0;FS;)L--,L/=c(L),L++,L1?z:1};function M(g,y,D){var L=D[8]+D[2]*y[0]+D[5]*y[1];return g[0]=(D[6]+D[0]*y[0]+D[3]*y[1])/L,g[1]=(D[7]+D[1]*y[0]+D[4]*y[1])/L,g}function m(g,y,D){return b(g,y,M,D),g}function b(g,y,D,L){for(var z=[0,0],F=g.shape[0],B=g.shape[1],O=0;O0&&this.contourStart[L]!==null&&this.contourEnd[L]!==null&&this.contourEnd[L]>this.contourStart[L]))for(y[L]=!0,z=this.contourStart[L];z$&&(this.minValues[U]=$),this.maxValues[U]<$&&(this.maxValues[U]=$));for(U=0;U<3;U++)this.objectOffset[U]=.5*(this.minValues[U]+this.maxValues[U]);for(U=0;U<3;U++)for(N=0;Nh&&(o.isomin=null,o.isomax=null);var f=i(\"x\"),v=i(\"y\"),c=i(\"z\"),T=i(\"value\");if(!f||!f.length||!v||!v.length||!c||!c.length||!T||!T.length){o.visible=!1;return}var l=_.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(r,o,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(M){i(M+\"hoverformat\");var m=\"caps.\"+M,b=i(m+\".show\");b&&i(m+\".fill\");var p=\"slices.\"+M,u=i(p+\".show\");u&&(i(p+\".fill\"),i(p+\".locations\"))});var x=i(\"spaceframe.show\");x&&i(\"spaceframe.fill\");var w=i(\"surface.show\");w&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var S=i(\"contour.show\");S&&(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(M){i(M)}),E(r,o,n,i,{prefix:\"\",cLetter:\"c\"}),o._length=null}G.exports={supplyDefaults:e,supplyIsoDefaults:t}}}),rT=Ge({\"src/traces/streamtube/calc.js\"(Z,G){\"use strict\";var d=sa(),_=Tp();function A(r,o){o._len=Math.min(o.u.length,o.v.length,o.w.length,o.x.length,o.y.length,o.z.length),o._u=t(o.u,o._len),o._v=t(o.v,o._len),o._w=t(o.w,o._len),o._x=t(o.x,o._len),o._y=t(o.y,o._len),o._z=t(o.z,o._len);var a=E(o);o._gridFill=a.fill,o._Xs=a.Xs,o._Ys=a.Ys,o._Zs=a.Zs,o._len=a.len;var n=0,i,s,h;o.starts&&(i=t(o.starts.x||[]),s=t(o.starts.y||[]),h=t(o.starts.z||[]),n=Math.min(i.length,s.length,h.length)),o._startsX=i||[],o._startsY=s||[],o._startsZ=h||[];var f=0,v=1/0,c;for(c=0;c1&&(u=o[i-1],y=a[i-1],L=n[i-1]),s=0;su?\"-\":\"+\")+\"x\"),S=S.replace(\"y\",(g>y?\"-\":\"+\")+\"y\"),S=S.replace(\"z\",(D>L?\"-\":\"+\")+\"z\");var O=function(){i=0,z=[],F=[],B=[]};(!i||i0;v--){var c=Math.min(f[v],f[v-1]),T=Math.max(f[v],f[v-1]);if(T>c&&c-1}function Q(xt,Oe){return xt===null?Oe:xt}function re(xt,Oe,Ke){ue();var Ae=[Oe],Le=[Ke];if(q>=1)Ae=[Oe],Le=[Ke];else if(q>0){var We=ae(Oe,Ke);Ae=We.xyzv,Le=We.abc}for(var Je=0;Je-1?Ke[ot]:$(Ut,Ct,Pt);cr>-1?st[ot]=cr:st[ot]=de(Ut,Ct,Pt,Q(xt,Nt))}V(st[0],st[1],st[2])}}function pe(xt,Oe,Ke){var Ae=function(Le,We,Je){re(xt,[Oe[Le],Oe[We],Oe[Je]],[Ke[Le],Ke[We],Ke[Je]])};Ae(0,1,2),Ae(2,3,0)}function we(xt,Oe,Ke){var Ae=function(Le,We,Je){re(xt,[Oe[Le],Oe[We],Oe[Je]],[Ke[Le],Ke[We],Ke[Je]])};Ae(0,1,2),Ae(3,0,1),Ae(2,3,0),Ae(1,2,3)}function Se(xt,Oe,Ke,Ae){var Le=xt[3];LeAe&&(Le=Ae);for(var We=(xt[3]-Le)/(xt[3]-Oe[3]+1e-9),Je=[],st=0;st<4;st++)Je[st]=(1-We)*xt[st]+We*Oe[st];return Je}function Ie(xt,Oe,Ke){return xt>=Oe&&xt<=Ke}function Re(xt){var Oe=.001*(O-B);return xt>=B-Oe&&xt<=O+Oe}function He(xt){for(var Oe=[],Ke=0;Ke<4;Ke++){var Ae=xt[Ke];Oe.push([h._x[Ae],h._y[Ae],h._z[Ae],h._value[Ae]])}return Oe}var at=3;function nt(xt,Oe,Ke,Ae,Le,We){We||(We=1),Ke=[-1,-1,-1];var Je=!1,st=[Ie(Oe[0][3],Ae,Le),Ie(Oe[1][3],Ae,Le),Ie(Oe[2][3],Ae,Le)];if(!st[0]&&!st[1]&&!st[2])return!1;var ot=function(Ct,Pt,Nt){return Re(Pt[0][3])&&Re(Pt[1][3])&&Re(Pt[2][3])?(re(Ct,Pt,Nt),!0):West?[z,We]:[We,F];qt(Oe,ot[0],ot[1])}}var Ut=[[Math.min(B,F),Math.max(B,F)],[Math.min(z,O),Math.max(z,O)]];[\"x\",\"y\",\"z\"].forEach(function(Ct){for(var Pt=[],Nt=0;Nt0&&(Fa.push(Wa.id),Ct===\"x\"?Ra.push([Wa.distRatio,0,0]):Ct===\"y\"?Ra.push([0,Wa.distRatio,0]):Ra.push([0,0,Wa.distRatio]))}else Ct===\"x\"?_a=qr(1,u-1):Ct===\"y\"?_a=qr(1,g-1):_a=qr(1,y-1);Fa.length>0&&(Ct===\"x\"?Pt[cr]=Gt(xt,Fa,lr,sr,Ra,Pt[cr]):Ct===\"y\"?Pt[cr]=Tr(xt,Fa,lr,sr,Ra,Pt[cr]):Pt[cr]=mr(xt,Fa,lr,sr,Ra,Pt[cr]),cr++),_a.length>0&&(Ct===\"x\"?Pt[cr]=Ze(xt,_a,lr,sr,Pt[cr]):Ct===\"y\"?Pt[cr]=rt(xt,_a,lr,sr,Pt[cr]):Pt[cr]=Ye(xt,_a,lr,sr,Pt[cr]),cr++)}var Ca=h.caps[Ct];Ca.show&&Ca.fill&&(se(Ca.fill),Ct===\"x\"?Pt[cr]=Ze(xt,[0,u-1],lr,sr,Pt[cr]):Ct===\"y\"?Pt[cr]=rt(xt,[0,g-1],lr,sr,Pt[cr]):Pt[cr]=Ye(xt,[0,y-1],lr,sr,Pt[cr]),cr++)}}),w===0&&ce(),h._meshX=P,h._meshY=U,h._meshZ=N,h._meshIntensity=X,h._Xs=m,h._Ys=b,h._Zs=p}return Dr(),h}function s(h,f){var v=h.glplot.gl,c=d({gl:v}),T=new o(h,c,f.uid);return c._trace=T,T.update(f),h.glplot.add(c),T}G.exports={findNearestOnAxis:r,generateIsoMeshes:i,createIsosurfaceTrace:s}}}),fU=Ge({\"src/traces/isosurface/index.js\"(Z,G){\"use strict\";G.exports={attributes:tT(),supplyDefaults:EE().supplyDefaults,calc:kE(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:aT().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:v0(),categories:[\"gl3d\",\"showLegend\"],meta:{}}}}),hU=Ge({\"lib/isosurface.js\"(Z,G){\"use strict\";G.exports=fU()}}),CE=Ge({\"src/traces/volume/attributes.js\"(Z,G){\"use strict\";var d=ku(),_=tT(),A=gx(),E=au(),e=rs().extendFlat,t=pc().overrideAll,r=G.exports=t(e({x:_.x,y:_.y,z:_.z,value:_.value,isomin:_.isomin,isomax:_.isomax,surface:_.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:_.slices,caps:_.caps,text:_.text,hovertext:_.hovertext,xhoverformat:_.xhoverformat,yhoverformat:_.yhoverformat,zhoverformat:_.zhoverformat,valuehoverformat:_.valuehoverformat,hovertemplate:_.hovertemplate,hovertemplatefallback:_.hovertemplatefallback},d(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:_.colorbar,opacity:_.opacity,opacityscale:A.opacityscale,lightposition:_.lightposition,lighting:_.lighting,flatshading:_.flatshading,contour:_.contour,hoverinfo:e({},E.hoverinfo),showlegend:e({},E.showlegend,{dflt:!1})}),\"calc\",\"nested\");r.x.editType=r.y.editType=r.z.editType=r.value.editType=\"calc+clearAxisTypes\"}}),pU=Ge({\"src/traces/volume/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=CE(),A=EE().supplyIsoDefaults,E=ME().opacityscaleDefaults;G.exports=function(t,r,o,a){function n(i,s){return d.coerce(t,r,_,i,s)}A(t,r,o,a,n),E(t,r,a,n)}}}),dU=Ge({\"src/traces/volume/convert.js\"(Z,G){\"use strict\";var d=Yh().gl_mesh3d,_=tm().parseColorScale,A=sa().isArrayOrTypedArray,E=em(),e=rc().extractOpts,t=E1(),r=aT().findNearestOnAxis,o=aT().generateIsoMeshes;function a(s,h,f){this.scene=s,this.uid=f,this.mesh=h,this.name=\"\",this.data=null,this.showContour=!1}var n=a.prototype;n.handlePick=function(s){if(s.object===this.mesh){var h=s.data.index,f=this.data._meshX[h],v=this.data._meshY[h],c=this.data._meshZ[h],T=this.data._Ys.length,l=this.data._Zs.length,x=r(f,this.data._Xs).id,w=r(v,this.data._Ys).id,S=r(c,this.data._Zs).id,M=s.index=S+l*w+l*T*x;s.traceCoordinate=[this.data._meshX[M],this.data._meshY[M],this.data._meshZ[M],this.data._value[M]];var m=this.data.hovertext||this.data.text;return A(m)&&m[M]!==void 0?s.textLabel=m[M]:m&&(s.textLabel=m),!0}},n.update=function(s){var h=this.scene,f=h.fullSceneLayout;this.data=o(s);function v(w,S,M,m){return S.map(function(b){return w.d2l(b,0,m)*M})}var c=t(v(f.xaxis,s._meshX,h.dataScale[0],s.xcalendar),v(f.yaxis,s._meshY,h.dataScale[1],s.ycalendar),v(f.zaxis,s._meshZ,h.dataScale[2],s.zcalendar)),T=t(s._meshI,s._meshJ,s._meshK),l={positions:c,cells:T,lightPosition:[s.lightposition.x,s.lightposition.y,s.lightposition.z],ambient:s.lighting.ambient,diffuse:s.lighting.diffuse,specular:s.lighting.specular,roughness:s.lighting.roughness,fresnel:s.lighting.fresnel,vertexNormalsEpsilon:s.lighting.vertexnormalsepsilon,faceNormalsEpsilon:s.lighting.facenormalsepsilon,opacity:s.opacity,opacityscale:s.opacityscale,contourEnable:s.contour.show,contourColor:E(s.contour.color).slice(0,3),contourWidth:s.contour.width,useFacetNormals:s.flatshading},x=e(s);l.vertexIntensity=s._meshIntensity,l.vertexIntensityBounds=[x.min,x.max],l.colormap=_(s),this.mesh.update(l)},n.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function i(s,h){var f=s.glplot.gl,v=d({gl:f}),c=new a(s,v,h.uid);return v._trace=c,c.update(h),s.glplot.add(v),c}G.exports=i}}),vU=Ge({\"src/traces/volume/index.js\"(Z,G){\"use strict\";G.exports={attributes:CE(),supplyDefaults:pU(),calc:kE(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:dU(),moduleType:\"trace\",name:\"volume\",basePlotModule:v0(),categories:[\"gl3d\",\"showLegend\"],meta:{}}}}),mU=Ge({\"lib/volume.js\"(Z,G){\"use strict\";G.exports=vU()}}),gU=Ge({\"src/traces/mesh3d/defaults.js\"(Z,G){\"use strict\";var d=so(),_=sa(),A=_h(),E=M1();G.exports=function(t,r,o,a){function n(v,c){return _.coerce(t,r,E,v,c)}function i(v){var c=v.map(function(T){var l=n(T);return l&&_.isArrayOrTypedArray(l)?l:null});return c.every(function(T){return T&&T.length===c[0].length})&&c}var s=i([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(i([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var h=d.getComponentMethod(\"calendars\",\"handleTraceDefaults\");h(t,r,[\"x\",\"y\",\"z\"],a),[\"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(v){n(v)});var f=n(\"contour.show\");f&&(n(\"contour.color\"),n(\"contour.width\")),\"intensity\"in t?(n(\"intensity\"),n(\"intensitymode\"),A(t,r,a,n,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?n(\"facecolor\"):\"vertexcolor\"in t?n(\"vertexcolor\"):n(\"color\",o)),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),n(\"hovertemplatefallback\"),n(\"xhoverformat\"),n(\"yhoverformat\"),n(\"zhoverformat\"),r._length=null}}}),yU=Ge({\"src/traces/mesh3d/calc.js\"(Z,G){\"use strict\";var d=Tp();G.exports=function(A,E){E.intensity&&d(A,E,{vals:E.intensity,containerStr:\"\",cLetter:\"c\"})}}}),_U=Ge({\"src/traces/mesh3d/convert.js\"(Z,G){\"use strict\";var d=Yh().gl_mesh3d,_=Yh().delaunay_triangulate,A=Yh().alpha_shape,E=Yh().convex_hull,e=tm().parseColorScale,t=sa().isArrayOrTypedArray,r=em(),o=rc().extractOpts,a=E1();function n(l,x,w){this.scene=l,this.uid=w,this.mesh=x,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var i=n.prototype;i.handlePick=function(l){if(l.object===this.mesh){var x=l.index=l.data.index;l.data._cellCenter?l.traceCoordinate=l.data.dataCoordinate:l.traceCoordinate=[this.data.x[x],this.data.y[x],this.data.z[x]];var w=this.data.hovertext||this.data.text;return t(w)&&w[x]!==void 0?l.textLabel=w[x]:w&&(l.textLabel=w),!0}};function s(l){for(var x=[],w=l.length,S=0;S=x-.5)return!1;return!0}i.update=function(l){var x=this.scene,w=x.fullSceneLayout;this.data=l;var S=l.x.length,M=a(h(w.xaxis,l.x,x.dataScale[0],l.xcalendar),h(w.yaxis,l.y,x.dataScale[1],l.ycalendar),h(w.zaxis,l.z,x.dataScale[2],l.zcalendar)),m;if(l.i&&l.j&&l.k){if(l.i.length!==l.j.length||l.j.length!==l.k.length||!c(l.i,S)||!c(l.j,S)||!c(l.k,S))return;m=a(f(l.i),f(l.j),f(l.k))}else l.alphahull===0?m=E(M):l.alphahull>0?m=A(l.alphahull,M):m=v(l.delaunayaxis,M);var b={positions:M,cells:m,lightPosition:[l.lightposition.x,l.lightposition.y,l.lightposition.z],ambient:l.lighting.ambient,diffuse:l.lighting.diffuse,specular:l.lighting.specular,roughness:l.lighting.roughness,fresnel:l.lighting.fresnel,vertexNormalsEpsilon:l.lighting.vertexnormalsepsilon,faceNormalsEpsilon:l.lighting.facenormalsepsilon,opacity:l.opacity,contourEnable:l.contour.show,contourColor:r(l.contour.color).slice(0,3),contourWidth:l.contour.width,useFacetNormals:l.flatshading};if(l.intensity){var p=o(l);this.color=\"#fff\";var u=l.intensitymode;b[u+\"Intensity\"]=l.intensity,b[u+\"IntensityBounds\"]=[p.min,p.max],b.colormap=e(l)}else l.vertexcolor?(this.color=l.vertexcolor[0],b.vertexColors=s(l.vertexcolor)):l.facecolor?(this.color=l.facecolor[0],b.cellColors=s(l.facecolor)):(this.color=l.color,b.meshColor=r(l.color));this.mesh.update(b)},i.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function T(l,x){var w=l.glplot.gl,S=d({gl:w}),M=new n(l,S,x.uid);return S._trace=M,M.update(x),l.glplot.add(S),M}G.exports=T}}),xU=Ge({\"src/traces/mesh3d/index.js\"(Z,G){\"use strict\";G.exports={attributes:M1(),supplyDefaults:gU(),calc:yU(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:_U(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:v0(),categories:[\"gl3d\",\"showLegend\"],meta:{}}}}),bU=Ge({\"lib/mesh3d.js\"(Z,G){\"use strict\";G.exports=xU()}}),LE=Ge({\"src/traces/cone/attributes.js\"(Z,G){\"use strict\";var d=ku(),_=rf().axisHoverFormat,{hovertemplateAttrs:A,templatefallbackAttrs:E}=$l(),e=M1(),t=au(),r=rs().extendFlat,o={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\",\"raw\"],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\"]}),hovertemplatefallback:E({editType:\"calc\"}),uhoverformat:_(\"u\",1),vhoverformat:_(\"v\",1),whoverformat:_(\"w\",1),xhoverformat:_(\"x\"),yhoverformat:_(\"y\"),zhoverformat:_(\"z\"),showlegend:r({},t.showlegend,{dflt:!1})};r(o,d(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var a=[\"opacity\",\"lightposition\",\"lighting\"];a.forEach(function(n){o[n]=e[n]}),o.hoverinfo=r({},t.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),G.exports=o}}),wU=Ge({\"src/traces/cone/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=_h(),A=LE();G.exports=function(e,t,r,o){function a(T,l){return d.coerce(e,t,A,T,l)}var n=a(\"u\"),i=a(\"v\"),s=a(\"w\"),h=a(\"x\"),f=a(\"y\"),v=a(\"z\");if(!n||!n.length||!i||!i.length||!s||!s.length||!h||!h.length||!f||!f.length||!v||!v.length){t.visible=!1;return}var c=a(\"sizemode\");a(\"sizeref\",c===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),_(e,t,o,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),t._length=null}}}),TU=Ge({\"src/traces/cone/calc.js\"(Z,G){\"use strict\";var d=Tp();G.exports=function(A,E){for(var e=E.u,t=E.v,r=E.w,o=Math.min(E.x.length,E.y.length,E.z.length,e.length,t.length,r.length),a=-1/0,n=1/0,i=0;i2?c=f.slice(1,v-1):v===2?c=[(f[0]+f[1])/2]:c=f,c}function i(f){var v=f.length;return v===1?[.5,.5]:[f[1]-f[0],f[v-1]-f[v-2]]}function s(f,v){var c=f.fullSceneLayout,T=f.dataScale,l=v._len,x={};function w(de,V){var Y=c[V],ee=T[r[V]];return A.simpleMap(de,function(q){return Y.d2l(q)*ee})}if(x.vectors=t(w(v._u,\"xaxis\"),w(v._v,\"yaxis\"),w(v._w,\"zaxis\"),l),!l)return{positions:[],cells:[]};var S=w(v._Xs,\"xaxis\"),M=w(v._Ys,\"yaxis\"),m=w(v._Zs,\"zaxis\");x.meshgrid=[S,M,m],x.gridFill=v._gridFill;var b=v._slen;if(b)x.startingPositions=t(w(v._startsX,\"xaxis\"),w(v._startsY,\"yaxis\"),w(v._startsZ,\"zaxis\"));else{for(var p=M[0],u=n(S),g=n(m),y=new Array(u.length*g.length),D=0,L=0;Lp&&(p=D[0]),D[1]u&&(u=D[1])}function y(D){switch(D.type){case\"GeometryCollection\":D.geometries.forEach(y);break;case\"Point\":g(D.coordinates);break;case\"MultiPoint\":D.coordinates.forEach(g);break}}w.arcs.forEach(function(D){for(var L=-1,z=D.length,F;++Lp&&(p=F[0]),F[1]u&&(u=F[1])});for(M in w.objects)y(w.objects[M]);return[m,b,p,u]}function e(w,S){for(var M,m=w.length,b=m-S;b<--m;)M=w[b],w[b++]=w[m],w[m]=M}function t(w,S){return typeof S==\"string\"&&(S=w.objects[S]),S.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:S.geometries.map(function(M){return r(w,M)})}:r(w,S)}function r(w,S){var M=S.id,m=S.bbox,b=S.properties==null?{}:S.properties,p=o(w,S);return M==null&&m==null?{type:\"Feature\",properties:b,geometry:p}:m==null?{type:\"Feature\",id:M,properties:b,geometry:p}:{type:\"Feature\",id:M,bbox:m,properties:b,geometry:p}}function o(w,S){var M=A(w.transform),m=w.arcs;function b(L,z){z.length&&z.pop();for(var F=m[L<0?~L:L],B=0,O=F.length;B1)m=s(w,S,M);else for(b=0,m=new Array(p=w.arcs.length);b1)for(var z=1,F=g(D[0]),B,O;zF&&(O=D[0],D[0]=D[z],D[z]=O,F=B);return D}).filter(function(y){return y.length>0})}}function c(w,S){for(var M=0,m=w.length;M>>1;w[b]=2))throw new Error(\"n must be \\u22652\");y=w.bbox||E(w);var M=y[0],m=y[1],b=y[2],p=y[3],u;S={scale:[b-M?(b-M)/(u-1):1,p-m?(p-m)/(u-1):1],translate:[M,m]}}else y=w.bbox;var g=l(S),y,D,L=w.objects,z={};function F(P){return g(P)}function B(P){var U;switch(P.type){case\"GeometryCollection\":U={type:\"GeometryCollection\",geometries:P.geometries.map(B)};break;case\"Point\":U={type:\"Point\",coordinates:F(P.coordinates)};break;case\"MultiPoint\":U={type:\"MultiPoint\",coordinates:P.coordinates.map(F)};break;default:return P}return P.id!=null&&(U.id=P.id),P.bbox!=null&&(U.bbox=P.bbox),P.properties!=null&&(U.properties=P.properties),U}function O(P){var U=0,N=1,X=P.length,$,ue=new Array(X);for(ue[0]=g(P[0],0);++U0&&(E.push(e),e=[])}return e.length>0&&E.push(e),E},Z.makeLine=function(d){return d.length===1?{type:\"LineString\",coordinates:d[0]}:{type:\"MultiLineString\",coordinates:d}},Z.makePolygon=function(d){if(d.length===1)return{type:\"Polygon\",coordinates:d};for(var _=new Array(d.length),A=0;Ae(B,z)),F)}function r(L,z,F={}){for(let O of L){if(O.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(O[O.length-1].length!==O[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let P=0;Pr(B,z)),F)}function a(L,z,F={}){if(L.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return A({type:\"LineString\",coordinates:L},z,F)}function n(L,z,F={}){return i(L.map(B=>a(B,z)),F)}function i(L,z={}){let F={type:\"FeatureCollection\"};return z.id&&(F.id=z.id),z.bbox&&(F.bbox=z.bbox),F.features=L,F}function s(L,z,F={}){return A({type:\"MultiLineString\",coordinates:L},z,F)}function h(L,z,F={}){return A({type:\"MultiPoint\",coordinates:L},z,F)}function f(L,z,F={}){return A({type:\"MultiPolygon\",coordinates:L},z,F)}function v(L,z,F={}){return A({type:\"GeometryCollection\",geometries:L},z,F)}function c(L,z=0){if(z&&!(z>=0))throw new Error(\"precision must be a positive number\");let F=Math.pow(10,z||0);return Math.round(L*F)/F}function T(L,z=\"kilometers\"){let F=d[z];if(!F)throw new Error(z+\" units is invalid\");return L*F}function l(L,z=\"kilometers\"){let F=d[z];if(!F)throw new Error(z+\" units is invalid\");return L/F}function x(L,z){return M(l(L,z))}function w(L){let z=L%360;return z<0&&(z+=360),z}function S(L){return L=L%360,L>180?L-360:L<-180?L+360:L}function M(L){return L%(2*Math.PI)*180/Math.PI}function m(L){return L%360*Math.PI/180}function b(L,z=\"kilometers\",F=\"kilometers\"){if(!(L>=0))throw new Error(\"length must be a positive number\");return T(l(L,z),F)}function p(L,z=\"meters\",F=\"kilometers\"){if(!(L>=0))throw new Error(\"area must be a positive number\");let B=_[z];if(!B)throw new Error(\"invalid original units\");let O=_[F];if(!O)throw new Error(\"invalid final units\");return L/B*O}function u(L){return!isNaN(L)&&L!==null&&!Array.isArray(L)}function g(L){return L!==null&&typeof L==\"object\"&&!Array.isArray(L)}function y(L){if(!L)throw new Error(\"bbox is required\");if(!Array.isArray(L))throw new Error(\"bbox must be an Array\");if(L.length!==4&&L.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");L.forEach(z=>{if(!u(z))throw new Error(\"bbox must only contain numbers\")})}function D(L){if(!L)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof L)===-1)throw new Error(\"id must be a number or a string\")}Z.areaFactors=_,Z.azimuthToBearing=S,Z.bearingToAzimuth=w,Z.convertArea=p,Z.convertLength=b,Z.degreesToRadians=m,Z.earthRadius=G,Z.factors=d,Z.feature=A,Z.featureCollection=i,Z.geometry=E,Z.geometryCollection=v,Z.isNumber=u,Z.isObject=g,Z.lengthToDegrees=x,Z.lengthToRadians=l,Z.lineString=a,Z.lineStrings=n,Z.multiLineString=s,Z.multiPoint=h,Z.multiPolygon=f,Z.point=e,Z.points=t,Z.polygon=r,Z.polygons=o,Z.radiansToDegrees=M,Z.radiansToLength=T,Z.round=c,Z.validateBBox=y,Z.validateId=D}}),sT=Ge({\"node_modules/@turf/meta/dist/cjs/index.cjs\"(Z){\"use strict\";Object.defineProperty(Z,\"__esModule\",{value:!0});var G=oT();function d(l,x,w){if(l!==null)for(var S,M,m,b,p,u,g,y=0,D=0,L,z=l.type,F=z===\"FeatureCollection\",B=z===\"Feature\",O=F?l.features.length:1,P=0;Pu||F>g||B>y){p=D,u=S,g=F,y=B,m=0;return}var O=G.lineString.call(void 0,[p,D],w.properties);if(x(O,S,M,B,m)===!1)return!1;m++,p=D})===!1)return!1}}})}function h(l,x,w){var S=w,M=!1;return s(l,function(m,b,p,u,g){M===!1&&w===void 0?S=m:S=x(S,m,b,p,u,g),M=!0}),S}function f(l,x){if(!l)throw new Error(\"geojson is required\");n(l,function(w,S,M){if(w.geometry!==null){var m=w.geometry.type,b=w.geometry.coordinates;switch(m){case\"LineString\":if(x(w,S,M,0,0)===!1)return!1;break;case\"Polygon\":for(var p=0;pn+A(i),0)}function A(a){let n=0,i;switch(a.type){case\"Polygon\":return E(a.coordinates);case\"MultiPolygon\":for(i=0;i0){n+=Math.abs(r(a[0]));for(let i=1;i=n?(s+2)%n:s+2],c=h[0]*t,T=f[1]*t,l=v[0]*t;i+=(l-c)*Math.sin(T),s++}return i*e}var o=_;Z.area=_,Z.default=o}}),zU=Ge({\"node_modules/@turf/centroid/dist/cjs/index.cjs\"(Z){\"use strict\";Object.defineProperty(Z,\"__esModule\",{value:!0});var G=oT(),d=sT();function _(E,e={}){let t=0,r=0,o=0;return d.coordEach.call(void 0,E,function(a){t+=a[0],r+=a[1],o++},!0),G.point.call(void 0,[t/o,r/o],e.properties)}var A=_;Z.centroid=_,Z.default=A}}),FU=Ge({\"node_modules/@turf/bbox/dist/cjs/index.cjs\"(Z){\"use strict\";Object.defineProperty(Z,\"__esModule\",{value:!0});var G=sT();function d(A,E={}){if(A.bbox!=null&&E.recompute!==!0)return A.bbox;let e=[1/0,1/0,-1/0,-1/0];return G.coordEach.call(void 0,A,t=>{e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]0&&O[P+1][0]<0)return P;return null}switch(g===\"RUS\"||g===\"FJI\"?D=function(O){var P;if(B(O)===null)P=O;else for(P=new Array(O.length),F=0;FP?U[N++]=[O[F][0]+360,O[F][1]]:F===P?(U[N++]=O[F],U[N++]=[O[F][0],-90]):U[N++]=O[F];var X=n.tester(U);X.pts.pop(),y.push(X)}:D=function(O){y.push(n.tester(O))},p.type){case\"MultiPolygon\":for(L=0;L0?X.properties.ct=S(X):X.properties.ct=[NaN,NaN],U.fIn=O,U.fOut=X,y.push(X)}else r.log([\"Location\",U.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete g[P]}switch(u.type){case\"FeatureCollection\":var F=u.features;for(D=0;Dy&&(y=z,u=L)}else u=p;return E(u).geometry.coordinates}function M(b){var p=window.PlotlyGeoAssets||{},u=[];function g(F){return new Promise(function(B,O){d.json(F,function(P,U){if(P){delete p[F];var N=P.status===404?'GeoJSON at URL \"'+F+'\" does not exist.':\"Unexpected error while fetching from \"+F;return O(new Error(N))}return p[F]=U,B(U)})})}function y(F){return new Promise(function(B,O){var P=0,U=setInterval(function(){if(p[F]&&p[F]!==\"pending\")return clearInterval(U),B(p[F]);if(P>100)return clearInterval(U),O(\"Unexpected error while fetching from \"+F);P++},50)})}for(var D=0;D\")}}}),NU=Ge({\"src/traces/scattergeo/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A,E,e,t){_.lon=A.lon,_.lat=A.lat,_.location=A.loc?A.loc:null;var r=e[t];return r.fIn&&r.fIn.properties&&(_.properties=r.fIn.properties),_}}}),UU=Ge({\"src/traces/scattergeo/select.js\"(Z,G){\"use strict\";var d=Fu(),_=Gs().BADNUM;G.exports=function(E,e){var t=E.cd,r=E.xaxis,o=E.yaxis,a=[],n=t[0].trace,i,s,h,f,v,c=!d.hasMarkers(n)&&!d.hasText(n);if(c)return[];if(e===!1)for(v=0;vq?1:ee>=q?0:NaN}function A(ee){return ee.length===1&&(ee=E(ee)),{left:function(q,se,ae,j){for(ae==null&&(ae=0),j==null&&(j=q.length);ae>>1;ee(q[Q],se)<0?ae=Q+1:j=Q}return ae},right:function(q,se,ae,j){for(ae==null&&(ae=0),j==null&&(j=q.length);ae>>1;ee(q[Q],se)>0?j=Q:ae=Q+1}return ae}}}function E(ee){return function(q,se){return _(ee(q),se)}}var e=A(_),t=e.right,r=e.left;function o(ee,q){q==null&&(q=a);for(var se=0,ae=ee.length-1,j=ee[0],Q=new Array(ae<0?0:ae);seee?1:q>=ee?0:NaN}function s(ee){return ee===null?NaN:+ee}function h(ee,q){var se=ee.length,ae=0,j=-1,Q=0,re,pe,we=0;if(q==null)for(;++j1)return we/(ae-1)}function f(ee,q){var se=h(ee,q);return se&&Math.sqrt(se)}function v(ee,q){var se=ee.length,ae=-1,j,Q,re;if(q==null){for(;++ae=j)for(Q=re=j;++aej&&(Q=j),re=j)for(Q=re=j;++aej&&(Q=j),re0)return[ee];if((ae=q0)for(ee=Math.ceil(ee/pe),q=Math.floor(q/pe),re=new Array(Q=Math.ceil(q-ee+1));++j=0?(Q>=M?10:Q>=m?5:Q>=b?2:1)*Math.pow(10,j):-Math.pow(10,-j)/(Q>=M?10:Q>=m?5:Q>=b?2:1)}function g(ee,q,se){var ae=Math.abs(q-ee)/Math.max(0,se),j=Math.pow(10,Math.floor(Math.log(ae)/Math.LN10)),Q=ae/j;return Q>=M?j*=10:Q>=m?j*=5:Q>=b&&(j*=2),qRe;)He.pop(),--at;var nt=new Array(at+1),tt;for(Q=0;Q<=at;++Q)tt=nt[Q]=[],tt.x0=Q>0?He[Q-1]:Ie,tt.x1=Q=1)return+se(ee[ae-1],ae-1,ee);var ae,j=(ae-1)*q,Q=Math.floor(j),re=+se(ee[Q],Q,ee),pe=+se(ee[Q+1],Q+1,ee);return re+(pe-re)*(j-Q)}}function z(ee,q,se){return ee=l.call(ee,s).sort(_),Math.ceil((se-q)/(2*(L(ee,.75)-L(ee,.25))*Math.pow(ee.length,-1/3)))}function F(ee,q,se){return Math.ceil((se-q)/(3.5*f(ee)*Math.pow(ee.length,-1/3)))}function B(ee,q){var se=ee.length,ae=-1,j,Q;if(q==null){for(;++ae=j)for(Q=j;++aeQ&&(Q=j)}else for(;++ae=j)for(Q=j;++aeQ&&(Q=j);return Q}function O(ee,q){var se=ee.length,ae=se,j=-1,Q,re=0;if(q==null)for(;++j=0;)for(re=ee[q],se=re.length;--se>=0;)Q[--j]=re[se];return Q}function N(ee,q){var se=ee.length,ae=-1,j,Q;if(q==null){for(;++ae=j)for(Q=j;++aej&&(Q=j)}else for(;++ae=j)for(Q=j;++aej&&(Q=j);return Q}function X(ee,q){for(var se=q.length,ae=new Array(se);se--;)ae[se]=ee[q[se]];return ae}function $(ee,q){if(se=ee.length){var se,ae=0,j=0,Q,re=ee[j];for(q==null&&(q=_);++ae0?1:Qt<0?-1:0},p=Math.sqrt,u=Math.tan;function g(Qt){return Qt>1?0:Qt<-1?a:Math.acos(Qt)}function y(Qt){return Qt>1?n:Qt<-1?-n:Math.asin(Qt)}function D(Qt){return(Qt=m(Qt/2))*Qt}function L(){}function z(Qt,xr){Qt&&B.hasOwnProperty(Qt.type)&&B[Qt.type](Qt,xr)}var F={Feature:function(Qt,xr){z(Qt.geometry,xr)},FeatureCollection:function(Qt,xr){for(var aa=Qt.features,$r=-1,ka=aa.length;++$r=0?1:-1,ka=$r*aa,li=l(xr),Ci=m(xr),Hi=V*Ci,Qi=de*li+Hi*l(ka),pn=Hi*$r*m(ka);N.add(T(pn,Qi)),ce=Qt,de=li,V=Ci}function j(Qt){return X.reset(),U(Qt,Y),X*2}function Q(Qt){return[T(Qt[1],Qt[0]),y(Qt[2])]}function re(Qt){var xr=Qt[0],aa=Qt[1],$r=l(aa);return[$r*l(xr),$r*m(xr),m(aa)]}function pe(Qt,xr){return Qt[0]*xr[0]+Qt[1]*xr[1]+Qt[2]*xr[2]}function we(Qt,xr){return[Qt[1]*xr[2]-Qt[2]*xr[1],Qt[2]*xr[0]-Qt[0]*xr[2],Qt[0]*xr[1]-Qt[1]*xr[0]]}function Se(Qt,xr){Qt[0]+=xr[0],Qt[1]+=xr[1],Qt[2]+=xr[2]}function Ie(Qt,xr){return[Qt[0]*xr,Qt[1]*xr,Qt[2]*xr]}function Re(Qt){var xr=p(Qt[0]*Qt[0]+Qt[1]*Qt[1]+Qt[2]*Qt[2]);Qt[0]/=xr,Qt[1]/=xr,Qt[2]/=xr}var He,at,nt,tt,Ue,he,le,ne,Ce=A(),Ze,rt,Ye={point:St,lineStart:qt,lineEnd:Gt,polygonStart:function(){Ye.point=Tr,Ye.lineStart=mr,Ye.lineEnd=qr,Ce.reset(),Y.polygonStart()},polygonEnd:function(){Y.polygonEnd(),Ye.point=St,Ye.lineStart=qt,Ye.lineEnd=Gt,N<0?(He=-(nt=180),at=-(tt=90)):Ce>r?tt=90:Ce<-r&&(at=-90),rt[0]=He,rt[1]=nt},sphere:function(){He=-(nt=180),at=-(tt=90)}};function St(Qt,xr){Ze.push(rt=[He=Qt,nt=Qt]),xrtt&&(tt=xr)}function kt(Qt,xr){var aa=re([Qt*f,xr*f]);if(ne){var $r=we(ne,aa),ka=[$r[1],-$r[0],0],li=we(ka,$r);Re(li),li=Q(li);var Ci=Qt-Ue,Hi=Ci>0?1:-1,Qi=li[0]*h*Hi,pn,Pi=v(Ci)>180;Pi^(Hi*Uett&&(tt=pn)):(Qi=(Qi+360)%360-180,Pi^(Hi*Uett&&(tt=xr))),Pi?QtEr(He,nt)&&(nt=Qt):Er(Qt,nt)>Er(He,nt)&&(He=Qt):nt>=He?(Qtnt&&(nt=Qt)):Qt>Ue?Er(He,Qt)>Er(He,nt)&&(nt=Qt):Er(Qt,nt)>Er(He,nt)&&(He=Qt)}else Ze.push(rt=[He=Qt,nt=Qt]);xrtt&&(tt=xr),ne=aa,Ue=Qt}function qt(){Ye.point=kt}function Gt(){rt[0]=He,rt[1]=nt,Ye.point=St,ne=null}function Tr(Qt,xr){if(ne){var aa=Qt-Ue;Ce.add(v(aa)>180?aa+(aa>0?360:-360):aa)}else he=Qt,le=xr;Y.point(Qt,xr),kt(Qt,xr)}function mr(){Y.lineStart()}function qr(){Tr(he,le),Y.lineEnd(),v(Ce)>r&&(He=-(nt=180)),rt[0]=He,rt[1]=nt,ne=null}function Er(Qt,xr){return(xr-=Qt)<0?xr+360:xr}function Dr(Qt,xr){return Qt[0]-xr[0]}function xt(Qt,xr){return Qt[0]<=Qt[1]?Qt[0]<=xr&&xr<=Qt[1]:xrEr($r[0],$r[1])&&($r[1]=ka[1]),Er(ka[0],$r[1])>Er($r[0],$r[1])&&($r[0]=ka[0])):li.push($r=ka);for(Ci=-1/0,aa=li.length-1,xr=0,$r=li[aa];xr<=aa;$r=ka,++xr)ka=li[xr],(Hi=Er($r[1],ka[0]))>Ci&&(Ci=Hi,He=ka[0],nt=$r[1])}return Ze=rt=null,He===1/0||at===1/0?[[NaN,NaN],[NaN,NaN]]:[[He,at],[nt,tt]]}var Ke,Ae,Le,We,Je,st,ot,Ut,Ct,Pt,Nt,cr,lr,sr,Pr,_a,Fa={sphere:L,point:Ra,lineStart:Wa,lineEnd:wi,polygonStart:function(){Fa.lineStart=Yt,Fa.lineEnd=Rt},polygonEnd:function(){Fa.lineStart=Wa,Fa.lineEnd=wi}};function Ra(Qt,xr){Qt*=f,xr*=f;var aa=l(xr);qa(aa*l(Qt),aa*m(Qt),m(xr))}function qa(Qt,xr,aa){++Ke,Le+=(Qt-Le)/Ke,We+=(xr-We)/Ke,Je+=(aa-Je)/Ke}function Wa(){Fa.point=Ca}function Ca(Qt,xr){Qt*=f,xr*=f;var aa=l(xr);sr=aa*l(Qt),Pr=aa*m(Qt),_a=m(xr),Fa.point=hi,qa(sr,Pr,_a)}function hi(Qt,xr){Qt*=f,xr*=f;var aa=l(xr),$r=aa*l(Qt),ka=aa*m(Qt),li=m(xr),Ci=T(p((Ci=Pr*li-_a*ka)*Ci+(Ci=_a*$r-sr*li)*Ci+(Ci=sr*ka-Pr*$r)*Ci),sr*$r+Pr*ka+_a*li);Ae+=Ci,st+=Ci*(sr+(sr=$r)),ot+=Ci*(Pr+(Pr=ka)),Ut+=Ci*(_a+(_a=li)),qa(sr,Pr,_a)}function wi(){Fa.point=Ra}function Yt(){Fa.point=Zt}function Rt(){Jt(cr,lr),Fa.point=Ra}function Zt(Qt,xr){cr=Qt,lr=xr,Qt*=f,xr*=f,Fa.point=Jt;var aa=l(xr);sr=aa*l(Qt),Pr=aa*m(Qt),_a=m(xr),qa(sr,Pr,_a)}function Jt(Qt,xr){Qt*=f,xr*=f;var aa=l(xr),$r=aa*l(Qt),ka=aa*m(Qt),li=m(xr),Ci=Pr*li-_a*ka,Hi=_a*$r-sr*li,Qi=sr*ka-Pr*$r,pn=p(Ci*Ci+Hi*Hi+Qi*Qi),Pi=y(pn),Di=pn&&-Pi/pn;Ct+=Di*Ci,Pt+=Di*Hi,Nt+=Di*Qi,Ae+=Pi,st+=Pi*(sr+(sr=$r)),ot+=Pi*(Pr+(Pr=ka)),Ut+=Pi*(_a+(_a=li)),qa(sr,Pr,_a)}function Or(Qt){Ke=Ae=Le=We=Je=st=ot=Ut=Ct=Pt=Nt=0,U(Qt,Fa);var xr=Ct,aa=Pt,$r=Nt,ka=xr*xr+aa*aa+$r*$r;return kaa?Qt+Math.round(-Qt/s)*s:Qt,xr]}ca.invert=ca;function Ba(Qt,xr,aa){return(Qt%=s)?xr||aa?ra(Za(Qt),ri(xr,aa)):Za(Qt):xr||aa?ri(xr,aa):ca}function $a(Qt){return function(xr,aa){return xr+=Qt,[xr>a?xr-s:xr<-a?xr+s:xr,aa]}}function Za(Qt){var xr=$a(Qt);return xr.invert=$a(-Qt),xr}function ri(Qt,xr){var aa=l(Qt),$r=m(Qt),ka=l(xr),li=m(xr);function Ci(Hi,Qi){var pn=l(Qi),Pi=l(Hi)*pn,Di=m(Hi)*pn,Ni=m(Qi),mi=Ni*aa+Pi*$r;return[T(Di*ka-mi*li,Pi*aa-Ni*$r),y(mi*ka+Di*li)]}return Ci.invert=function(Hi,Qi){var pn=l(Qi),Pi=l(Hi)*pn,Di=m(Hi)*pn,Ni=m(Qi),mi=Ni*ka-Di*li;return[T(Di*ka+Ni*li,Pi*aa+mi*$r),y(mi*aa-Pi*$r)]},Ci}function pi(Qt){Qt=Ba(Qt[0]*f,Qt[1]*f,Qt.length>2?Qt[2]*f:0);function xr(aa){return aa=Qt(aa[0]*f,aa[1]*f),aa[0]*=h,aa[1]*=h,aa}return xr.invert=function(aa){return aa=Qt.invert(aa[0]*f,aa[1]*f),aa[0]*=h,aa[1]*=h,aa},xr}function Ia(Qt,xr,aa,$r,ka,li){if(aa){var Ci=l(xr),Hi=m(xr),Qi=$r*aa;ka==null?(ka=xr+$r*s,li=xr-Qi/2):(ka=rn(Ci,ka),li=rn(Ci,li),($r>0?kali)&&(ka+=$r*s));for(var pn,Pi=ka;$r>0?Pi>li:Pi1&&Qt.push(Qt.pop().concat(Qt.shift()))},result:function(){var aa=Qt;return Qt=[],xr=null,aa}}}function _t(Qt,xr){return v(Qt[0]-xr[0])=0;--Hi)ka.point((Di=Pi[Hi])[0],Di[1]);else $r(Ni.x,Ni.p.x,-1,ka);Ni=Ni.p}Ni=Ni.o,Pi=Ni.z,mi=!mi}while(!Ni.v);ka.lineEnd()}}}function Cr(Qt){if(xr=Qt.length){for(var xr,aa=0,$r=Qt[0],ka;++aa=0?1:-1,Ns=rl*Es,el=Ns>a,As=Qn*yo;if(wr.add(T(As*rl*m(Ns),io*Qo+As*l(Ns))),Ci+=el?Es+rl*s:Es,el^mi>=aa^Tn>=aa){var Fl=we(re(Ni),re(co));Re(Fl);var yl=we(li,Fl);Re(yl);var ll=(el^Es>=0?-1:1)*y(yl[2]);($r>ll||$r===ll&&(Fl[0]||Fl[1]))&&(Hi+=el^Es>=0?1:-1)}}return(Ci<-r||Ci0){for(Qi||(ka.polygonStart(),Qi=!0),ka.lineStart(),Qo=0;Qo1&&un&2&&yo.push(yo.pop().concat(yo.shift())),Pi.push(yo.filter(gt))}}return Ni}}function gt(Qt){return Qt.length>1}function Kt(Qt,xr){return((Qt=Qt.x)[0]<0?Qt[1]-n-r:n-Qt[1])-((xr=xr.x)[0]<0?xr[1]-n-r:n-xr[1])}var vr=Hr(function(){return!0},Ir,Pa,[-a,-n]);function Ir(Qt){var xr=NaN,aa=NaN,$r=NaN,ka;return{lineStart:function(){Qt.lineStart(),ka=1},point:function(li,Ci){var Hi=li>0?a:-a,Qi=v(li-xr);v(Qi-a)0?n:-n),Qt.point($r,aa),Qt.lineEnd(),Qt.lineStart(),Qt.point(Hi,aa),Qt.point(li,aa),ka=0):$r!==Hi&&Qi>=a&&(v(xr-$r)r?c((m(xr)*(li=l($r))*m(aa)-m($r)*(ka=l(xr))*m(Qt))/(ka*li*Ci)):(xr+$r)/2}function Pa(Qt,xr,aa,$r){var ka;if(Qt==null)ka=aa*n,$r.point(-a,ka),$r.point(0,ka),$r.point(a,ka),$r.point(a,0),$r.point(a,-ka),$r.point(0,-ka),$r.point(-a,-ka),$r.point(-a,0),$r.point(-a,ka);else if(v(Qt[0]-xr[0])>r){var li=Qt[0]0,ka=v(xr)>r;function li(Pi,Di,Ni,mi){Ia(mi,Qt,aa,Ni,Pi,Di)}function Ci(Pi,Di){return l(Pi)*l(Di)>xr}function Hi(Pi){var Di,Ni,mi,Sn,Qn;return{lineStart:function(){Sn=mi=!1,Qn=1},point:function(io,eo){var co=[io,eo],Tn,un=Ci(io,eo),yo=$r?un?0:pn(io,eo):un?pn(io+(io<0?a:-a),eo):0;if(!Di&&(Sn=mi=un)&&Pi.lineStart(),un!==mi&&(Tn=Qi(Di,co),(!Tn||_t(Di,Tn)||_t(co,Tn))&&(co[2]=1)),un!==mi)Qn=0,un?(Pi.lineStart(),Tn=Qi(co,Di),Pi.point(Tn[0],Tn[1])):(Tn=Qi(Di,co),Pi.point(Tn[0],Tn[1],2),Pi.lineEnd()),Di=Tn;else if(ka&&Di&&$r^un){var Qo;!(yo&Ni)&&(Qo=Qi(co,Di,!0))&&(Qn=0,$r?(Pi.lineStart(),Pi.point(Qo[0][0],Qo[0][1]),Pi.point(Qo[1][0],Qo[1][1]),Pi.lineEnd()):(Pi.point(Qo[1][0],Qo[1][1]),Pi.lineEnd(),Pi.lineStart(),Pi.point(Qo[0][0],Qo[0][1],3)))}un&&(!Di||!_t(Di,co))&&Pi.point(co[0],co[1]),Di=co,mi=un,Ni=yo},lineEnd:function(){mi&&Pi.lineEnd(),Di=null},clean:function(){return Qn|(Sn&&mi)<<1}}}function Qi(Pi,Di,Ni){var mi=re(Pi),Sn=re(Di),Qn=[1,0,0],io=we(mi,Sn),eo=pe(io,io),co=io[0],Tn=eo-co*co;if(!Tn)return!Ni&Πvar un=xr*eo/Tn,yo=-xr*co/Tn,Qo=we(Qn,io),Es=Ie(Qn,un),rl=Ie(io,yo);Se(Es,rl);var Ns=Qo,el=pe(Es,Ns),As=pe(Ns,Ns),Fl=el*el-As*(pe(Es,Es)-1);if(!(Fl<0)){var yl=p(Fl),ll=Ie(Ns,(-el-yl)/As);if(Se(ll,Es),ll=Q(ll),!Ni)return ll;var Un=Pi[0],Ro=Di[0],Js=Pi[1],Fs=Di[1],cu;Ro0^ll[1]<(v(ll[0]-Un)a^(Un<=ll[0]&&ll[0]<=Ro)){var bu=Ie(Ns,(-el+yl)/As);return Se(bu,Es),[ll,Q(bu)]}}}function pn(Pi,Di){var Ni=$r?Qt:a-Qt,mi=0;return Pi<-Ni?mi|=1:Pi>Ni&&(mi|=2),Di<-Ni?mi|=4:Di>Ni&&(mi|=8),mi}return Hr(Ci,Hi,li,$r?[0,-Qt]:[-a,Qt-a])}function la(Qt,xr,aa,$r,ka,li){var Ci=Qt[0],Hi=Qt[1],Qi=xr[0],pn=xr[1],Pi=0,Di=1,Ni=Qi-Ci,mi=pn-Hi,Sn;if(Sn=aa-Ci,!(!Ni&&Sn>0)){if(Sn/=Ni,Ni<0){if(Sn0){if(Sn>Di)return;Sn>Pi&&(Pi=Sn)}if(Sn=ka-Ci,!(!Ni&&Sn<0)){if(Sn/=Ni,Ni<0){if(Sn>Di)return;Sn>Pi&&(Pi=Sn)}else if(Ni>0){if(Sn0)){if(Sn/=mi,mi<0){if(Sn0){if(Sn>Di)return;Sn>Pi&&(Pi=Sn)}if(Sn=li-Hi,!(!mi&&Sn<0)){if(Sn/=mi,mi<0){if(Sn>Di)return;Sn>Pi&&(Pi=Sn)}else if(mi>0){if(Sn0&&(Qt[0]=Ci+Pi*Ni,Qt[1]=Hi+Pi*mi),Di<1&&(xr[0]=Ci+Di*Ni,xr[1]=Hi+Di*mi),!0}}}}}var ba=1e9,Ai=-ba;function ki(Qt,xr,aa,$r){function ka(pn,Pi){return Qt<=pn&&pn<=aa&&xr<=Pi&&Pi<=$r}function li(pn,Pi,Di,Ni){var mi=0,Sn=0;if(pn==null||(mi=Ci(pn,Di))!==(Sn=Ci(Pi,Di))||Qi(pn,Pi)<0^Di>0)do Ni.point(mi===0||mi===3?Qt:aa,mi>1?$r:xr);while((mi=(mi+Di+4)%4)!==Sn);else Ni.point(Pi[0],Pi[1])}function Ci(pn,Pi){return v(pn[0]-Qt)0?0:3:v(pn[0]-aa)0?2:1:v(pn[1]-xr)0?1:0:Pi>0?3:2}function Hi(pn,Pi){return Qi(pn.x,Pi.x)}function Qi(pn,Pi){var Di=Ci(pn,1),Ni=Ci(Pi,1);return Di!==Ni?Di-Ni:Di===0?Pi[1]-pn[1]:Di===1?pn[0]-Pi[0]:Di===2?pn[1]-Pi[1]:Pi[0]-pn[0]}return function(pn){var Pi=pn,Di=cn(),Ni,mi,Sn,Qn,io,eo,co,Tn,un,yo,Qo,Es={point:rl,lineStart:Fl,lineEnd:yl,polygonStart:el,polygonEnd:As};function rl(Un,Ro){ka(Un,Ro)&&Pi.point(Un,Ro)}function Ns(){for(var Un=0,Ro=0,Js=mi.length;Ro$r&&(Rc-Ic)*($r-bu)>(Au-bu)*(Qt-Ic)&&++Un:Au<=$r&&(Rc-Ic)*($r-bu)<(Au-bu)*(Qt-Ic)&&--Un;return Un}function el(){Pi=Di,Ni=[],mi=[],Qo=!0}function As(){var Un=Ns(),Ro=Qo&&Un,Js=(Ni=_.merge(Ni)).length;(Ro||Js)&&(pn.polygonStart(),Ro&&(pn.lineStart(),li(null,null,1,pn),pn.lineEnd()),Js&&Br(Ni,Hi,Un,li,pn),pn.polygonEnd()),Pi=pn,Ni=mi=Sn=null}function Fl(){Es.point=ll,mi&&mi.push(Sn=[]),yo=!0,un=!1,co=Tn=NaN}function yl(){Ni&&(ll(Qn,io),eo&&un&&Di.rejoin(),Ni.push(Di.result())),Es.point=rl,un&&Pi.lineEnd()}function ll(Un,Ro){var Js=ka(Un,Ro);if(mi&&Sn.push([Un,Ro]),yo)Qn=Un,io=Ro,eo=Js,yo=!1,Js&&(Pi.lineStart(),Pi.point(Un,Ro));else if(Js&&un)Pi.point(Un,Ro);else{var Fs=[co=Math.max(Ai,Math.min(ba,co)),Tn=Math.max(Ai,Math.min(ba,Tn))],cu=[Un=Math.max(Ai,Math.min(ba,Un)),Ro=Math.max(Ai,Math.min(ba,Ro))];la(Fs,cu,Qt,xr,aa,$r)?(un||(Pi.lineStart(),Pi.point(Fs[0],Fs[1])),Pi.point(cu[0],cu[1]),Js||Pi.lineEnd(),Qo=!1):Js&&(Pi.lineStart(),Pi.point(Un,Ro),Qo=!1)}co=Un,Tn=Ro,un=Js}return Es}}function Ki(){var Qt=0,xr=0,aa=960,$r=500,ka,li,Ci;return Ci={stream:function(Hi){return ka&&li===Hi?ka:ka=ki(Qt,xr,aa,$r)(li=Hi)},extent:function(Hi){return arguments.length?(Qt=+Hi[0][0],xr=+Hi[0][1],aa=+Hi[1][0],$r=+Hi[1][1],ka=li=null,Ci):[[Qt,xr],[aa,$r]]}}}var Mn=A(),wn,On,En,ao={sphere:L,point:L,lineStart:Co,lineEnd:L,polygonStart:L,polygonEnd:L};function Co(){ao.point=zs,ao.lineEnd=bo}function bo(){ao.point=ao.lineEnd=L}function zs(Qt,xr){Qt*=f,xr*=f,wn=Qt,On=m(xr),En=l(xr),ao.point=kn}function kn(Qt,xr){Qt*=f,xr*=f;var aa=m(xr),$r=l(xr),ka=v(Qt-wn),li=l(ka),Ci=m(ka),Hi=$r*Ci,Qi=En*aa-On*$r*li,pn=On*aa+En*$r*li;Mn.add(T(p(Hi*Hi+Qi*Qi),pn)),wn=Qt,On=aa,En=$r}function wo(Qt){return Mn.reset(),U(Qt,ao),+Mn}var Kn=[null,null],go={type:\"LineString\",coordinates:Kn};function os(Qt,xr){return Kn[0]=Qt,Kn[1]=xr,wo(go)}var gs={Feature:function(Qt,xr){return Zn(Qt.geometry,xr)},FeatureCollection:function(Qt,xr){for(var aa=Qt.features,$r=-1,ka=aa.length;++$r0&&(ka=os(Qt[li],Qt[li-1]),ka>0&&aa<=ka&&$r<=ka&&(aa+$r-ka)*(1-Math.pow((aa-$r)/ka,2))r}).map(Ni)).concat(_.range(x(li/pn)*pn,ka,pn).filter(function(Tn){return v(Tn%Di)>r}).map(mi))}return eo.lines=function(){return co().map(function(Tn){return{type:\"LineString\",coordinates:Tn}})},eo.outline=function(){return{type:\"Polygon\",coordinates:[Sn($r).concat(Qn(Ci).slice(1),Sn(aa).reverse().slice(1),Qn(Hi).reverse().slice(1))]}},eo.extent=function(Tn){return arguments.length?eo.extentMajor(Tn).extentMinor(Tn):eo.extentMinor()},eo.extentMajor=function(Tn){return arguments.length?($r=+Tn[0][0],aa=+Tn[1][0],Hi=+Tn[0][1],Ci=+Tn[1][1],$r>aa&&(Tn=$r,$r=aa,aa=Tn),Hi>Ci&&(Tn=Hi,Hi=Ci,Ci=Tn),eo.precision(io)):[[$r,Hi],[aa,Ci]]},eo.extentMinor=function(Tn){return arguments.length?(xr=+Tn[0][0],Qt=+Tn[1][0],li=+Tn[0][1],ka=+Tn[1][1],xr>Qt&&(Tn=xr,xr=Qt,Qt=Tn),li>ka&&(Tn=li,li=ka,ka=Tn),eo.precision(io)):[[xr,li],[Qt,ka]]},eo.step=function(Tn){return arguments.length?eo.stepMajor(Tn).stepMinor(Tn):eo.stepMinor()},eo.stepMajor=function(Tn){return arguments.length?(Pi=+Tn[0],Di=+Tn[1],eo):[Pi,Di]},eo.stepMinor=function(Tn){return arguments.length?(Qi=+Tn[0],pn=+Tn[1],eo):[Qi,pn]},eo.precision=function(Tn){return arguments.length?(io=+Tn,Ni=Gi(li,ka,90),mi=Pn(xr,Qt,io),Sn=Gi(Hi,Ci,90),Qn=Pn($r,aa,io),eo):io},eo.extentMajor([[-180,-90+r],[180,90-r]]).extentMinor([[-180,-80-r],[180,80+r]])}function xs(){return qs()()}function lo(Qt,xr){var aa=Qt[0]*f,$r=Qt[1]*f,ka=xr[0]*f,li=xr[1]*f,Ci=l($r),Hi=m($r),Qi=l(li),pn=m(li),Pi=Ci*l(aa),Di=Ci*m(aa),Ni=Qi*l(ka),mi=Qi*m(ka),Sn=2*y(p(D(li-$r)+Ci*Qi*D(ka-aa))),Qn=m(Sn),io=Sn?function(eo){var co=m(eo*=Sn)/Qn,Tn=m(Sn-eo)/Qn,un=Tn*Pi+co*Ni,yo=Tn*Di+co*mi,Qo=Tn*Hi+co*pn;return[T(yo,un)*h,T(Qo,p(un*un+yo*yo))*h]}:function(){return[aa*h,$r*h]};return io.distance=Sn,io}function Zo(Qt){return Qt}var bs=A(),Hs=A(),il,yn,Po,To,Ws={point:L,lineStart:L,lineEnd:L,polygonStart:function(){Ws.lineStart=Ll,Ws.lineEnd=Ks},polygonEnd:function(){Ws.lineStart=Ws.lineEnd=Ws.point=L,bs.add(v(Hs)),Hs.reset()},result:function(){var Qt=bs/2;return bs.reset(),Qt}};function Ll(){Ws.point=uo}function uo(Qt,xr){Ws.point=Nl,il=Po=Qt,yn=To=xr}function Nl(Qt,xr){Hs.add(To*Qt-Po*xr),Po=Qt,To=xr}function Ks(){Nl(il,yn)}var ws=1/0,Cs=ws,Jo=-ws,Ms=Jo,Ul={point:lu,lineStart:L,lineEnd:L,polygonStart:L,polygonEnd:L,result:function(){var Qt=[[ws,Cs],[Jo,Ms]];return Jo=Ms=-(Cs=ws=1/0),Qt}};function lu(Qt,xr){QtJo&&(Jo=Qt),xrMs&&(Ms=xr)}var Tc=0,du=0,Sf=0,Uc=0,Bs=0,dc=0,Wc=0,uu=0,Pl=0,ic,Ou,nl,vl,Ts={point:Xs,lineStart:nc,lineEnd:fl,polygonStart:function(){Ts.lineStart=xh,Ts.lineEnd=us},polygonEnd:function(){Ts.point=Xs,Ts.lineStart=nc,Ts.lineEnd=fl},result:function(){var Qt=Pl?[Wc/Pl,uu/Pl]:dc?[Uc/dc,Bs/dc]:Sf?[Tc/Sf,du/Sf]:[NaN,NaN];return Tc=du=Sf=Uc=Bs=dc=Wc=uu=Pl=0,Qt}};function Xs(Qt,xr){Tc+=Qt,du+=xr,++Sf}function nc(){Ts.point=jl}function jl(Qt,xr){Ts.point=qu,Xs(nl=Qt,vl=xr)}function qu(Qt,xr){var aa=Qt-nl,$r=xr-vl,ka=p(aa*aa+$r*$r);Uc+=ka*(nl+Qt)/2,Bs+=ka*(vl+xr)/2,dc+=ka,Xs(nl=Qt,vl=xr)}function fl(){Ts.point=Xs}function xh(){Ts.point=bh}function us(){Ls(ic,Ou)}function bh(Qt,xr){Ts.point=Ls,Xs(ic=nl=Qt,Ou=vl=xr)}function Ls(Qt,xr){var aa=Qt-nl,$r=xr-vl,ka=p(aa*aa+$r*$r);Uc+=ka*(nl+Qt)/2,Bs+=ka*(vl+xr)/2,dc+=ka,ka=vl*Qt-nl*xr,Wc+=ka*(nl+Qt),uu+=ka*(vl+xr),Pl+=ka*3,Xs(nl=Qt,vl=xr)}function to(Qt){this._context=Qt}to.prototype={_radius:4.5,pointRadius:function(Qt){return this._radius=Qt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(Qt,xr){switch(this._point){case 0:{this._context.moveTo(Qt,xr),this._point=1;break}case 1:{this._context.lineTo(Qt,xr);break}default:{this._context.moveTo(Qt+this._radius,xr),this._context.arc(Qt,xr,this._radius,0,s);break}}},result:L};var Xc=A(),Vu,ql,Mf,Ac,nf,Ql={point:L,lineStart:function(){Ql.point=Jf},lineEnd:function(){Vu&&Of(ql,Mf),Ql.point=L},polygonStart:function(){Vu=!0},polygonEnd:function(){Vu=null},result:function(){var Qt=+Xc;return Xc.reset(),Qt}};function Jf(Qt,xr){Ql.point=Of,ql=Ac=Qt,Mf=nf=xr}function Of(Qt,xr){Ac-=Qt,nf-=xr,Xc.add(p(Ac*Ac+nf*nf)),Ac=Qt,nf=xr}function of(){this._string=[]}of.prototype={_radius:4.5,_circle:jc(4.5),pointRadius:function(Qt){return(Qt=+Qt)!==this._radius&&(this._radius=Qt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(Qt,xr){switch(this._point){case 0:{this._string.push(\"M\",Qt,\",\",xr),this._point=1;break}case 1:{this._string.push(\"L\",Qt,\",\",xr);break}default:{this._circle==null&&(this._circle=jc(this._radius)),this._string.push(\"M\",Qt,\",\",xr,this._circle);break}}},result:function(){if(this._string.length){var Qt=this._string.join(\"\");return this._string=[],Qt}else return null}};function jc(Qt){return\"m0,\"+Qt+\"a\"+Qt+\",\"+Qt+\" 0 1,1 0,\"+-2*Qt+\"a\"+Qt+\",\"+Qt+\" 0 1,1 0,\"+2*Qt+\"z\"}function Bf(Qt,xr){var aa=4.5,$r,ka;function li(Ci){return Ci&&(typeof aa==\"function\"&&ka.pointRadius(+aa.apply(this,arguments)),U(Ci,$r(ka))),ka.result()}return li.area=function(Ci){return U(Ci,$r(Ws)),Ws.result()},li.measure=function(Ci){return U(Ci,$r(Ql)),Ql.result()},li.bounds=function(Ci){return U(Ci,$r(Ul)),Ul.result()},li.centroid=function(Ci){return U(Ci,$r(Ts)),Ts.result()},li.projection=function(Ci){return arguments.length?($r=Ci==null?(Qt=null,Zo):(Qt=Ci).stream,li):Qt},li.context=function(Ci){return arguments.length?(ka=Ci==null?(xr=null,new of):new to(xr=Ci),typeof aa!=\"function\"&&ka.pointRadius(aa),li):xr},li.pointRadius=function(Ci){return arguments.length?(aa=typeof Ci==\"function\"?Ci:(ka.pointRadius(+Ci),+Ci),li):aa},li.projection(Qt).context(xr)}function Nf(Qt){return{stream:Gu(Qt)}}function Gu(Qt){return function(xr){var aa=new Ef;for(var $r in Qt)aa[$r]=Qt[$r];return aa.stream=xr,aa}}function Ef(){}Ef.prototype={constructor:Ef,point:function(Qt,xr){this.stream.point(Qt,xr)},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()}};function oc(Qt,xr,aa){var $r=Qt.clipExtent&&Qt.clipExtent();return Qt.scale(150).translate([0,0]),$r!=null&&Qt.clipExtent(null),U(aa,Qt.stream(Ul)),xr(Ul.result()),$r!=null&&Qt.clipExtent($r),Qt}function Zc(Qt,xr,aa){return oc(Qt,function($r){var ka=xr[1][0]-xr[0][0],li=xr[1][1]-xr[0][1],Ci=Math.min(ka/($r[1][0]-$r[0][0]),li/($r[1][1]-$r[0][1])),Hi=+xr[0][0]+(ka-Ci*($r[1][0]+$r[0][0]))/2,Qi=+xr[0][1]+(li-Ci*($r[1][1]+$r[0][1]))/2;Qt.scale(150*Ci).translate([Hi,Qi])},aa)}function eu(Qt,xr,aa){return Zc(Qt,[[0,0],xr],aa)}function qc(Qt,xr,aa){return oc(Qt,function($r){var ka=+xr,li=ka/($r[1][0]-$r[0][0]),Ci=(ka-li*($r[1][0]+$r[0][0]))/2,Hi=-li*$r[0][1];Qt.scale(150*li).translate([Ci,Hi])},aa)}function Sc(Qt,xr,aa){return oc(Qt,function($r){var ka=+xr,li=ka/($r[1][1]-$r[0][1]),Ci=-li*$r[0][0],Hi=(ka-li*($r[1][1]+$r[0][1]))/2;Qt.scale(150*li).translate([Ci,Hi])},aa)}var Zs=16,kf=l(30*f);function fh(Qt,xr){return+xr?Yc(Qt,xr):Uf(Qt)}function Uf(Qt){return Gu({point:function(xr,aa){xr=Qt(xr,aa),this.stream.point(xr[0],xr[1])}})}function Yc(Qt,xr){function aa($r,ka,li,Ci,Hi,Qi,pn,Pi,Di,Ni,mi,Sn,Qn,io){var eo=pn-$r,co=Pi-ka,Tn=eo*eo+co*co;if(Tn>4*xr&&Qn--){var un=Ci+Ni,yo=Hi+mi,Qo=Qi+Sn,Es=p(un*un+yo*yo+Qo*Qo),rl=y(Qo/=Es),Ns=v(v(Qo)-1)xr||v((eo*yl+co*ll)/Tn-.5)>.3||Ci*Ni+Hi*mi+Qi*Sn2?Un[2]%360*f:0,yl()):[Hi*h,Qi*h,pn*h]},As.angle=function(Un){return arguments.length?(Di=Un%360*f,yl()):Di*h},As.reflectX=function(Un){return arguments.length?(Ni=Un?-1:1,yl()):Ni<0},As.reflectY=function(Un){return arguments.length?(mi=Un?-1:1,yl()):mi<0},As.precision=function(Un){return arguments.length?(Qo=fh(Es,yo=Un*Un),ll()):p(yo)},As.fitExtent=function(Un,Ro){return Zc(As,Un,Ro)},As.fitSize=function(Un,Ro){return eu(As,Un,Ro)},As.fitWidth=function(Un,Ro){return qc(As,Un,Ro)},As.fitHeight=function(Un,Ro){return Sc(As,Un,Ro)};function yl(){var Un=ml(aa,0,0,Ni,mi,Di).apply(null,xr(li,Ci)),Ro=(Di?ml:jf)(aa,$r-Un[0],ka-Un[1],Ni,mi,Di);return Pi=Ba(Hi,Qi,pn),Es=ra(xr,Ro),rl=ra(Pi,Es),Qo=fh(Es,yo),ll()}function ll(){return Ns=el=null,As}return function(){return xr=Qt.apply(this,arguments),As.invert=xr.invert&&Fl,yl()}}function ol(Qt){var xr=0,aa=a/3,$r=Mc(Qt),ka=$r(xr,aa);return ka.parallels=function(li){return arguments.length?$r(xr=li[0]*f,aa=li[1]*f):[xr*h,aa*h]},ka}function vc(Qt){var xr=l(Qt);function aa($r,ka){return[$r*xr,m(ka)/xr]}return aa.invert=function($r,ka){return[$r/xr,y(ka*xr)]},aa}function yu(Qt,xr){var aa=m(Qt),$r=(aa+m(xr))/2;if(v($r)=.12&&io<.234&&Qn>=-.425&&Qn<-.214?ka:io>=.166&&io<.234&&Qn>=-.214&&Qn<-.115?Ci:aa).invert(Ni)},Pi.stream=function(Ni){return Qt&&xr===Ni?Qt:Qt=qf([aa.stream(xr=Ni),ka.stream(Ni),Ci.stream(Ni)])},Pi.precision=function(Ni){return arguments.length?(aa.precision(Ni),ka.precision(Ni),Ci.precision(Ni),Di()):aa.precision()},Pi.scale=function(Ni){return arguments.length?(aa.scale(Ni),ka.scale(Ni*.35),Ci.scale(Ni),Pi.translate(aa.translate())):aa.scale()},Pi.translate=function(Ni){if(!arguments.length)return aa.translate();var mi=aa.scale(),Sn=+Ni[0],Qn=+Ni[1];return $r=aa.translate(Ni).clipExtent([[Sn-.455*mi,Qn-.238*mi],[Sn+.455*mi,Qn+.238*mi]]).stream(pn),li=ka.translate([Sn-.307*mi,Qn+.201*mi]).clipExtent([[Sn-.425*mi+r,Qn+.12*mi+r],[Sn-.214*mi-r,Qn+.234*mi-r]]).stream(pn),Hi=Ci.translate([Sn-.205*mi,Qn+.212*mi]).clipExtent([[Sn-.214*mi+r,Qn+.166*mi+r],[Sn-.115*mi-r,Qn+.234*mi-r]]).stream(pn),Di()},Pi.fitExtent=function(Ni,mi){return Zc(Pi,Ni,mi)},Pi.fitSize=function(Ni,mi){return eu(Pi,Ni,mi)},Pi.fitWidth=function(Ni,mi){return qc(Pi,Ni,mi)},Pi.fitHeight=function(Ni,mi){return Sc(Pi,Ni,mi)};function Di(){return Qt=xr=null,Pi}return Pi.scale(1070)}function Bu(Qt){return function(xr,aa){var $r=l(xr),ka=l(aa),li=Qt($r*ka);return[li*ka*m(xr),li*m(aa)]}}function Ec(Qt){return function(xr,aa){var $r=p(xr*xr+aa*aa),ka=Qt($r),li=m(ka),Ci=l(ka);return[T(xr*li,$r*Ci),y($r&&aa*li/$r)]}}var mc=Bu(function(Qt){return p(2/(1+Qt))});mc.invert=Ec(function(Qt){return 2*y(Qt/2)});function Lh(){return Lu(mc).scale(124.75).clipAngle(180-.001)}var sf=Bu(function(Qt){return(Qt=g(Qt))&&Qt/m(Qt)});sf.invert=Ec(function(Qt){return Qt});function vf(){return Lu(sf).scale(79.4188).clipAngle(180-.001)}function Nu(Qt,xr){return[Qt,S(u((n+xr)/2))]}Nu.invert=function(Qt,xr){return[Qt,2*c(w(xr))-n]};function lf(){return iu(Nu).scale(961/s)}function iu(Qt){var xr=Lu(Qt),aa=xr.center,$r=xr.scale,ka=xr.translate,li=xr.clipExtent,Ci=null,Hi,Qi,pn;xr.scale=function(Di){return arguments.length?($r(Di),Pi()):$r()},xr.translate=function(Di){return arguments.length?(ka(Di),Pi()):ka()},xr.center=function(Di){return arguments.length?(aa(Di),Pi()):aa()},xr.clipExtent=function(Di){return arguments.length?(Di==null?Ci=Hi=Qi=pn=null:(Ci=+Di[0][0],Hi=+Di[0][1],Qi=+Di[1][0],pn=+Di[1][1]),Pi()):Ci==null?null:[[Ci,Hi],[Qi,pn]]};function Pi(){var Di=a*$r(),Ni=xr(pi(xr.rotate()).invert([0,0]));return li(Ci==null?[[Ni[0]-Di,Ni[1]-Di],[Ni[0]+Di,Ni[1]+Di]]:Qt===Nu?[[Math.max(Ni[0]-Di,Ci),Hi],[Math.min(Ni[0]+Di,Qi),pn]]:[[Ci,Math.max(Ni[1]-Di,Hi)],[Qi,Math.min(Ni[1]+Di,pn)]])}return Pi()}function Kc(Qt){return u((n+Qt)/2)}function hh(Qt,xr){var aa=l(Qt),$r=Qt===xr?m(Qt):S(aa/l(xr))/S(Kc(xr)/Kc(Qt)),ka=aa*M(Kc(Qt),$r)/$r;if(!$r)return Nu;function li(Ci,Hi){ka>0?Hi<-n+r&&(Hi=-n+r):Hi>n-r&&(Hi=n-r);var Qi=ka/M(Kc(Hi),$r);return[Qi*m($r*Ci),ka-Qi*l($r*Ci)]}return li.invert=function(Ci,Hi){var Qi=ka-Hi,pn=b($r)*p(Ci*Ci+Qi*Qi),Pi=T(Ci,v(Qi))*b(Qi);return Qi*$r<0&&(Pi-=a*b(Ci)*b(Qi)),[Pi/$r,2*c(M(ka/pn,1/$r))-n]},li}function mf(){return ol(hh).scale(109.5).parallels([30,30])}function sl(Qt,xr){return[Qt,xr]}sl.invert=sl;function _u(){return Lu(sl).scale(152.63)}function Pu(Qt,xr){var aa=l(Qt),$r=Qt===xr?m(Qt):(aa-l(xr))/(xr-Qt),ka=aa/$r+Qt;if(v($r)r&&--$r>0);return[Qt/(.8707+(li=aa*aa)*(-.131979+li*(-.013791+li*li*li*(.003971-.001529*li)))),aa]};function gc(){return Lu(Cc).scale(175.295)}function Vl(Qt,xr){return[l(xr)*m(Qt),m(xr)]}Vl.invert=Ec(y);function xu(){return Lu(Vl).scale(249.5).clipAngle(90+r)}function Lc(Qt,xr){var aa=l(xr),$r=1+l(Qt)*aa;return[aa*m(Qt)/$r,m(xr)/$r]}Lc.invert=Ec(function(Qt){return 2*c(Qt)});function $c(){return Lu(Lc).scale(250).clipAngle(142)}function sc(Qt,xr){return[S(u((n+xr)/2)),-Qt]}sc.invert=function(Qt,xr){return[-xr,2*c(w(Qt))-n]};function Pc(){var Qt=iu(sc),xr=Qt.center,aa=Qt.rotate;return Qt.center=function($r){return arguments.length?xr([-$r[1],$r[0]]):($r=xr(),[$r[1],-$r[0]])},Qt.rotate=function($r){return arguments.length?aa([$r[0],$r[1],$r.length>2?$r[2]+90:90]):($r=aa(),[$r[0],$r[1],$r[2]-90])},aa([0,0,90]).scale(159.155)}d.geoAlbers=Ml,d.geoAlbersUsa=Qf,d.geoArea=j,d.geoAzimuthalEqualArea=Lh,d.geoAzimuthalEqualAreaRaw=mc,d.geoAzimuthalEquidistant=vf,d.geoAzimuthalEquidistantRaw=sf,d.geoBounds=Oe,d.geoCentroid=Or,d.geoCircle=tn,d.geoClipAntimeridian=vr,d.geoClipCircle=ga,d.geoClipExtent=Ki,d.geoClipRectangle=ki,d.geoConicConformal=mf,d.geoConicConformalRaw=hh,d.geoConicEqualArea=Tu,d.geoConicEqualAreaRaw=yu,d.geoConicEquidistant=Cf,d.geoConicEquidistantRaw=Pu,d.geoContains=Ko,d.geoDistance=os,d.geoEqualEarth=Lf,d.geoEqualEarthRaw=Jc,d.geoEquirectangular=_u,d.geoEquirectangularRaw=sl,d.geoGnomonic=Vf,d.geoGnomonicRaw=nu,d.geoGraticule=qs,d.geoGraticule10=xs,d.geoIdentity=Xu,d.geoInterpolate=lo,d.geoLength=wo,d.geoMercator=lf,d.geoMercatorRaw=Nu,d.geoNaturalEarth1=gc,d.geoNaturalEarth1Raw=Cc,d.geoOrthographic=xu,d.geoOrthographicRaw=Vl,d.geoPath=Bf,d.geoProjection=Lu,d.geoProjectionMutator=Mc,d.geoRotation=pi,d.geoStereographic=$c,d.geoStereographicRaw=Lc,d.geoStream=U,d.geoTransform=Nf,d.geoTransverseMercator=Pc,d.geoTransverseMercatorRaw=sc,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),jU=Ge({\"node_modules/d3-geo-projection/dist/d3-geo-projection.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z,zE(),_x()):_(d.d3=d.d3||{},d.d3,d.d3)})(Z,function(d,_,A){\"use strict\";var E=Math.abs,e=Math.atan,t=Math.atan2,r=Math.cos,o=Math.exp,a=Math.floor,n=Math.log,i=Math.max,s=Math.min,h=Math.pow,f=Math.round,v=Math.sign||function(qe){return qe>0?1:qe<0?-1:0},c=Math.sin,T=Math.tan,l=1e-6,x=1e-12,w=Math.PI,S=w/2,M=w/4,m=Math.SQRT1_2,b=F(2),p=F(w),u=w*2,g=180/w,y=w/180;function D(qe){return qe?qe/Math.sin(qe):1}function L(qe){return qe>1?S:qe<-1?-S:Math.asin(qe)}function z(qe){return qe>1?0:qe<-1?w:Math.acos(qe)}function F(qe){return qe>0?Math.sqrt(qe):0}function B(qe){return qe=o(2*qe),(qe-1)/(qe+1)}function O(qe){return(o(qe)-o(-qe))/2}function P(qe){return(o(qe)+o(-qe))/2}function U(qe){return n(qe+F(qe*qe+1))}function N(qe){return n(qe+F(qe*qe-1))}function X(qe){var $e=T(qe/2),lt=2*n(r(qe/2))/($e*$e);function pt(Et,bt){var Dt=r(Et),ur=r(bt),yr=c(bt),kr=ur*Dt,jr=-((1-kr?n((1+kr)/2)/(1-kr):-.5)+lt/(1+kr));return[jr*ur*c(Et),jr*yr]}return pt.invert=function(Et,bt){var Dt=F(Et*Et+bt*bt),ur=-qe/2,yr=50,kr;if(!Dt)return[0,0];do{var jr=ur/2,Qr=r(jr),ha=c(jr),Aa=ha/Qr,Da=-n(E(Qr));ur-=kr=(2/Aa*Da-lt*Aa-Dt)/(-Da/(ha*ha)+1-lt/(2*Qr*Qr))*(Qr<0?.7:1)}while(E(kr)>l&&--yr>0);var ci=c(ur);return[t(Et*ci,Dt*r(ur)),L(bt*ci/Dt)]},pt}function $(){var qe=S,$e=_.geoProjectionMutator(X),lt=$e(qe);return lt.radius=function(pt){return arguments.length?$e(qe=pt*y):qe*g},lt.scale(179.976).clipAngle(147)}function ue(qe,$e){var lt=r($e),pt=D(z(lt*r(qe/=2)));return[2*lt*c(qe)*pt,c($e)*pt]}ue.invert=function(qe,$e){if(!(qe*qe+4*$e*$e>w*w+l)){var lt=qe,pt=$e,Et=25;do{var bt=c(lt),Dt=c(lt/2),ur=r(lt/2),yr=c(pt),kr=r(pt),jr=c(2*pt),Qr=yr*yr,ha=kr*kr,Aa=Dt*Dt,Da=1-ha*ur*ur,ci=Da?z(kr*ur)*F(Vi=1/Da):Vi=0,Vi,ji=2*ci*kr*Dt-qe,on=ci*yr-$e,An=Vi*(ha*Aa+ci*kr*ur*Qr),Yn=Vi*(.5*bt*jr-ci*2*yr*Dt),Bn=Vi*.25*(jr*Dt-ci*yr*ha*bt),Ao=Vi*(Qr*ur+ci*Aa*kr),ls=Yn*Bn-Ao*An;if(!ls)break;var Mo=(on*Yn-ji*Ao)/ls,Yo=(ji*Bn-on*An)/ls;lt-=Mo,pt-=Yo}while((E(Mo)>l||E(Yo)>l)&&--Et>0);return[lt,pt]}};function ce(){return _.geoProjection(ue).scale(152.63)}function de(qe){var $e=c(qe),lt=r(qe),pt=qe>=0?1:-1,Et=T(pt*qe),bt=(1+$e-lt)/2;function Dt(ur,yr){var kr=r(yr),jr=r(ur/=2);return[(1+kr)*c(ur),(pt*yr>-t(jr,Et)-.001?0:-pt*10)+bt+c(yr)*lt-(1+kr)*$e*jr]}return Dt.invert=function(ur,yr){var kr=0,jr=0,Qr=50;do{var ha=r(kr),Aa=c(kr),Da=r(jr),ci=c(jr),Vi=1+Da,ji=Vi*Aa-ur,on=bt+ci*lt-Vi*$e*ha-yr,An=Vi*ha/2,Yn=-Aa*ci,Bn=$e*Vi*Aa/2,Ao=lt*Da+$e*ha*ci,ls=Yn*Bn-Ao*An,Mo=(on*Yn-ji*Ao)/ls/2,Yo=(ji*Bn-on*An)/ls;E(Yo)>2&&(Yo/=2),kr-=Mo,jr-=Yo}while((E(Mo)>l||E(Yo)>l)&&--Qr>0);return pt*jr>-t(r(kr),Et)-.001?[kr*2,jr]:null},Dt}function V(){var qe=20*y,$e=qe>=0?1:-1,lt=T($e*qe),pt=_.geoProjectionMutator(de),Et=pt(qe),bt=Et.stream;return Et.parallel=function(Dt){return arguments.length?(lt=T(($e=(qe=Dt*y)>=0?1:-1)*qe),pt(qe)):qe*g},Et.stream=function(Dt){var ur=Et.rotate(),yr=bt(Dt),kr=(Et.rotate([0,0]),bt(Dt)),jr=Et.precision();return Et.rotate(ur),yr.sphere=function(){kr.polygonStart(),kr.lineStart();for(var Qr=$e*-180;$e*Qr<180;Qr+=$e*90)kr.point(Qr,$e*90);if(qe)for(;$e*(Qr-=3*$e*jr)>=-180;)kr.point(Qr,$e*-t(r(Qr*y/2),lt)*g);kr.lineEnd(),kr.polygonEnd()},yr},Et.scale(218.695).center([0,28.0974])}function Y(qe,$e){var lt=T($e/2),pt=F(1-lt*lt),Et=1+pt*r(qe/=2),bt=c(qe)*pt/Et,Dt=lt/Et,ur=bt*bt,yr=Dt*Dt;return[4/3*bt*(3+ur-3*yr),4/3*Dt*(3+3*ur-yr)]}Y.invert=function(qe,$e){if(qe*=3/8,$e*=3/8,!qe&&E($e)>1)return null;var lt=qe*qe,pt=$e*$e,Et=1+lt+pt,bt=F((Et-F(Et*Et-4*$e*$e))/2),Dt=L(bt)/3,ur=bt?N(E($e/bt))/3:U(E(qe))/3,yr=r(Dt),kr=P(ur),jr=kr*kr-yr*yr;return[v(qe)*2*t(O(ur)*yr,.25-jr),v($e)*2*t(kr*c(Dt),.25+jr)]};function ee(){return _.geoProjection(Y).scale(66.1603)}var q=F(8),se=n(1+b);function ae(qe,$e){var lt=E($e);return ltx&&--pt>0);return[qe/(r(lt)*(q-1/c(lt))),v($e)*lt]};function j(){return _.geoProjection(ae).scale(112.314)}function Q(qe){var $e=2*w/qe;function lt(pt,Et){var bt=_.geoAzimuthalEquidistantRaw(pt,Et);if(E(pt)>S){var Dt=t(bt[1],bt[0]),ur=F(bt[0]*bt[0]+bt[1]*bt[1]),yr=$e*f((Dt-S)/$e)+S,kr=t(c(Dt-=yr),2-r(Dt));Dt=yr+L(w/ur*c(kr))-kr,bt[0]=ur*r(Dt),bt[1]=ur*c(Dt)}return bt}return lt.invert=function(pt,Et){var bt=F(pt*pt+Et*Et);if(bt>S){var Dt=t(Et,pt),ur=$e*f((Dt-S)/$e)+S,yr=Dt>ur?-1:1,kr=bt*r(ur-Dt),jr=1/T(yr*z((kr-w)/F(w*(w-2*kr)+bt*bt)));Dt=ur+2*e((jr+yr*F(jr*jr-3))/3),pt=bt*r(Dt),Et=bt*c(Dt)}return _.geoAzimuthalEquidistantRaw.invert(pt,Et)},lt}function re(){var qe=5,$e=_.geoProjectionMutator(Q),lt=$e(qe),pt=lt.stream,Et=.01,bt=-r(Et*y),Dt=c(Et*y);return lt.lobes=function(ur){return arguments.length?$e(qe=+ur):qe},lt.stream=function(ur){var yr=lt.rotate(),kr=pt(ur),jr=(lt.rotate([0,0]),pt(ur));return lt.rotate(yr),kr.sphere=function(){jr.polygonStart(),jr.lineStart();for(var Qr=0,ha=360/qe,Aa=2*w/qe,Da=90-180/qe,ci=S;Qr0&&E(Et)>l);return pt<0?NaN:lt}function Re(qe,$e,lt){return $e===void 0&&($e=40),lt===void 0&&(lt=x),function(pt,Et,bt,Dt){var ur,yr,kr;bt=bt===void 0?0:+bt,Dt=Dt===void 0?0:+Dt;for(var jr=0;jr<$e;jr++){var Qr=qe(bt,Dt),ha=Qr[0]-pt,Aa=Qr[1]-Et;if(E(ha)ur){bt-=yr/=2,Dt-=kr/=2;continue}ur=Da;var ci=(bt>0?-1:1)*lt,Vi=(Dt>0?-1:1)*lt,ji=qe(bt+ci,Dt),on=qe(bt,Dt+Vi),An=(ji[0]-Qr[0])/ci,Yn=(ji[1]-Qr[1])/ci,Bn=(on[0]-Qr[0])/Vi,Ao=(on[1]-Qr[1])/Vi,ls=Ao*An-Yn*Bn,Mo=(E(ls)<.5?.5:1)/ls;if(yr=(Aa*Bn-ha*Ao)*Mo,kr=(ha*Yn-Aa*An)*Mo,bt+=yr,Dt+=kr,E(yr)0&&(ur[1]*=1+yr/1.5*ur[0]*ur[0]),ur}return pt.invert=Re(pt),pt}function at(){return _.geoProjection(He()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(qe,$e){var lt=qe*c($e),pt=30,Et;do $e-=Et=($e+c($e)-lt)/(1+r($e));while(E(Et)>l&&--pt>0);return $e/2}function tt(qe,$e,lt){function pt(Et,bt){return[qe*Et*r(bt=nt(lt,bt)),$e*c(bt)]}return pt.invert=function(Et,bt){return bt=L(bt/$e),[Et/(qe*r(bt)),L((2*bt+c(2*bt))/lt)]},pt}var Ue=tt(b/S,b,w);function he(){return _.geoProjection(Ue).scale(169.529)}var le=2.00276,ne=1.11072;function Ce(qe,$e){var lt=nt(w,$e);return[le*qe/(1/r($e)+ne/r(lt)),($e+b*c(lt))/le]}Ce.invert=function(qe,$e){var lt=le*$e,pt=$e<0?-M:M,Et=25,bt,Dt;do Dt=lt-b*c(pt),pt-=bt=(c(2*pt)+2*pt-w*c(Dt))/(2*r(2*pt)+2+w*r(Dt)*b*r(pt));while(E(bt)>l&&--Et>0);return Dt=lt-b*c(pt),[qe*(1/r(Dt)+ne/r(pt))/le,Dt]};function Ze(){return _.geoProjection(Ce).scale(160.857)}function rt(qe){var $e=0,lt=_.geoProjectionMutator(qe),pt=lt($e);return pt.parallel=function(Et){return arguments.length?lt($e=Et*y):$e*g},pt}function Ye(qe,$e){return[qe*r($e),$e]}Ye.invert=function(qe,$e){return[qe/r($e),$e]};function St(){return _.geoProjection(Ye).scale(152.63)}function kt(qe){if(!qe)return Ye;var $e=1/T(qe);function lt(pt,Et){var bt=$e+qe-Et,Dt=bt&&pt*r(Et)/bt;return[bt*c(Dt),$e-bt*r(Dt)]}return lt.invert=function(pt,Et){var bt=F(pt*pt+(Et=$e-Et)*Et),Dt=$e+qe-bt;return[bt/r(Dt)*t(pt,Et),Dt]},lt}function qt(){return rt(kt).scale(123.082).center([0,26.1441]).parallel(45)}function Gt(qe){function $e(lt,pt){var Et=S-pt,bt=Et&<*qe*c(Et)/Et;return[Et*c(bt)/qe,S-Et*r(bt)]}return $e.invert=function(lt,pt){var Et=lt*qe,bt=S-pt,Dt=F(Et*Et+bt*bt),ur=t(Et,bt);return[(Dt?Dt/c(Dt):1)*ur/qe,S-Dt]},$e}function Tr(){var qe=.5,$e=_.geoProjectionMutator(Gt),lt=$e(qe);return lt.fraction=function(pt){return arguments.length?$e(qe=+pt):qe},lt.scale(158.837)}var mr=tt(1,4/w,w);function qr(){return _.geoProjection(mr).scale(152.63)}function Er(qe,$e,lt,pt,Et,bt){var Dt=r(bt),ur;if(E(qe)>1||E(bt)>1)ur=z(lt*Et+$e*pt*Dt);else{var yr=c(qe/2),kr=c(bt/2);ur=2*L(F(yr*yr+$e*pt*kr*kr))}return E(ur)>l?[ur,t(pt*c(bt),$e*Et-lt*pt*Dt)]:[0,0]}function Dr(qe,$e,lt){return z((qe*qe+$e*$e-lt*lt)/(2*qe*$e))}function xt(qe){return qe-2*w*a((qe+w)/(2*w))}function Oe(qe,$e,lt){for(var pt=[[qe[0],qe[1],c(qe[1]),r(qe[1])],[$e[0],$e[1],c($e[1]),r($e[1])],[lt[0],lt[1],c(lt[1]),r(lt[1])]],Et=pt[2],bt,Dt=0;Dt<3;++Dt,Et=bt)bt=pt[Dt],Et.v=Er(bt[1]-Et[1],Et[3],Et[2],bt[3],bt[2],bt[0]-Et[0]),Et.point=[0,0];var ur=Dr(pt[0].v[0],pt[2].v[0],pt[1].v[0]),yr=Dr(pt[0].v[0],pt[1].v[0],pt[2].v[0]),kr=w-ur;pt[2].point[1]=0,pt[0].point[0]=-(pt[1].point[0]=pt[0].v[0]/2);var jr=[pt[2].point[0]=pt[0].point[0]+pt[2].v[0]*r(ur),2*(pt[0].point[1]=pt[1].point[1]=pt[2].v[0]*c(ur))];function Qr(ha,Aa){var Da=c(Aa),ci=r(Aa),Vi=new Array(3),ji;for(ji=0;ji<3;++ji){var on=pt[ji];if(Vi[ji]=Er(Aa-on[1],on[3],on[2],ci,Da,ha-on[0]),!Vi[ji][0])return on.point;Vi[ji][1]=xt(Vi[ji][1]-on.v[1])}var An=jr.slice();for(ji=0;ji<3;++ji){var Yn=ji==2?0:ji+1,Bn=Dr(pt[ji].v[0],Vi[ji][0],Vi[Yn][0]);Vi[ji][1]<0&&(Bn=-Bn),ji?ji==1?(Bn=yr-Bn,An[0]-=Vi[ji][0]*r(Bn),An[1]-=Vi[ji][0]*c(Bn)):(Bn=kr-Bn,An[0]+=Vi[ji][0]*r(Bn),An[1]+=Vi[ji][0]*c(Bn)):(An[0]+=Vi[ji][0]*r(Bn),An[1]-=Vi[ji][0]*c(Bn))}return An[0]/=3,An[1]/=3,An}return Qr}function Ke(qe){return qe[0]*=y,qe[1]*=y,qe}function Ae(){return Le([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Le(qe,$e,lt){var pt=_.geoCentroid({type:\"MultiPoint\",coordinates:[qe,$e,lt]}),Et=[-pt[0],-pt[1]],bt=_.geoRotation(Et),Dt=Oe(Ke(bt(qe)),Ke(bt($e)),Ke(bt(lt)));Dt.invert=Re(Dt);var ur=_.geoProjection(Dt).rotate(Et),yr=ur.center;return delete ur.rotate,ur.center=function(kr){return arguments.length?yr(bt(kr)):bt.invert(yr())},ur.clipAngle(90)}function We(qe,$e){var lt=F(1-c($e));return[2/p*qe*lt,p*(1-lt)]}We.invert=function(qe,$e){var lt=(lt=$e/p-1)*lt;return[lt>0?qe*F(w/lt)/2:0,L(1-lt)]};function Je(){return _.geoProjection(We).scale(95.6464).center([0,30])}function st(qe){var $e=T(qe);function lt(pt,Et){return[pt,(pt?pt/c(pt):1)*(c(Et)*r(pt)-$e*r(Et))]}return lt.invert=$e?function(pt,Et){pt&&(Et*=c(pt)/pt);var bt=r(pt);return[pt,2*t(F(bt*bt+$e*$e-Et*Et)-bt,$e-Et)]}:function(pt,Et){return[pt,L(pt?Et*T(pt)/pt:Et)]},lt}function ot(){return rt(st).scale(249.828).clipAngle(90)}var Ut=F(3);function Ct(qe,$e){return[Ut*qe*(2*r(2*$e/3)-1)/p,Ut*p*c($e/3)]}Ct.invert=function(qe,$e){var lt=3*L($e/(Ut*p));return[p*qe/(Ut*(2*r(2*lt/3)-1)),lt]};function Pt(){return _.geoProjection(Ct).scale(156.19)}function Nt(qe){var $e=r(qe);function lt(pt,Et){return[pt*$e,c(Et)/$e]}return lt.invert=function(pt,Et){return[pt/$e,L(Et*$e)]},lt}function cr(){return rt(Nt).parallel(38.58).scale(195.044)}function lr(qe){var $e=r(qe);function lt(pt,Et){return[pt*$e,(1+$e)*T(Et/2)]}return lt.invert=function(pt,Et){return[pt/$e,e(Et/(1+$e))*2]},lt}function sr(){return rt(lr).scale(124.75)}function Pr(qe,$e){var lt=F(8/(3*w));return[lt*qe*(1-E($e)/w),lt*$e]}Pr.invert=function(qe,$e){var lt=F(8/(3*w)),pt=$e/lt;return[qe/(lt*(1-E(pt)/w)),pt]};function _a(){return _.geoProjection(Pr).scale(165.664)}function Fa(qe,$e){var lt=F(4-3*c(E($e)));return[2/F(6*w)*qe*lt,v($e)*F(2*w/3)*(2-lt)]}Fa.invert=function(qe,$e){var lt=2-E($e)/F(2*w/3);return[qe*F(6*w)/(2*lt),v($e)*L((4-lt*lt)/3)]};function Ra(){return _.geoProjection(Fa).scale(165.664)}function qa(qe,$e){var lt=F(w*(4+w));return[2/lt*qe*(1+F(1-4*$e*$e/(w*w))),4/lt*$e]}qa.invert=function(qe,$e){var lt=F(w*(4+w))/2;return[qe*lt/(1+F(1-$e*$e*(4+w)/(4*w))),$e*lt/2]};function Wa(){return _.geoProjection(qa).scale(180.739)}function Ca(qe,$e){var lt=(2+S)*c($e);$e/=2;for(var pt=0,Et=1/0;pt<10&&E(Et)>l;pt++){var bt=r($e);$e-=Et=($e+c($e)*(bt+2)-lt)/(2*bt*(1+bt))}return[2/F(w*(4+w))*qe*(1+r($e)),2*F(w/(4+w))*c($e)]}Ca.invert=function(qe,$e){var lt=$e*F((4+w)/w)/2,pt=L(lt),Et=r(pt);return[qe/(2/F(w*(4+w))*(1+Et)),L((pt+lt*(Et+2))/(2+S))]};function hi(){return _.geoProjection(Ca).scale(180.739)}function wi(qe,$e){return[qe*(1+r($e))/F(2+w),2*$e/F(2+w)]}wi.invert=function(qe,$e){var lt=F(2+w),pt=$e*lt/2;return[lt*qe/(1+r(pt)),pt]};function Yt(){return _.geoProjection(wi).scale(173.044)}function Rt(qe,$e){for(var lt=(1+S)*c($e),pt=0,Et=1/0;pt<10&&E(Et)>l;pt++)$e-=Et=($e+c($e)-lt)/(1+r($e));return lt=F(2+w),[qe*(1+r($e))/lt,2*$e/lt]}Rt.invert=function(qe,$e){var lt=1+S,pt=F(lt/2);return[qe*2*pt/(1+r($e*=pt)),L(($e+c($e))/lt)]};function Zt(){return _.geoProjection(Rt).scale(173.044)}var Jt=3+2*b;function Or(qe,$e){var lt=c(qe/=2),pt=r(qe),Et=F(r($e)),bt=r($e/=2),Dt=c($e)/(bt+b*pt*Et),ur=F(2/(1+Dt*Dt)),yr=F((b*bt+(pt+lt)*Et)/(b*bt+(pt-lt)*Et));return[Jt*(ur*(yr-1/yr)-2*n(yr)),Jt*(ur*Dt*(yr+1/yr)-2*e(Dt))]}Or.invert=function(qe,$e){if(!(bt=Y.invert(qe/1.2,$e*1.065)))return null;var lt=bt[0],pt=bt[1],Et=20,bt;qe/=Jt,$e/=Jt;do{var Dt=lt/2,ur=pt/2,yr=c(Dt),kr=r(Dt),jr=c(ur),Qr=r(ur),ha=r(pt),Aa=F(ha),Da=jr/(Qr+b*kr*Aa),ci=Da*Da,Vi=F(2/(1+ci)),ji=b*Qr+(kr+yr)*Aa,on=b*Qr+(kr-yr)*Aa,An=ji/on,Yn=F(An),Bn=Yn-1/Yn,Ao=Yn+1/Yn,ls=Vi*Bn-2*n(Yn)-qe,Mo=Vi*Da*Ao-2*e(Da)-$e,Yo=jr&&m*Aa*yr*ci/jr,ps=(b*kr*Qr+Aa)/(2*(Qr+b*kr*Aa)*(Qr+b*kr*Aa)*Aa),ul=-.5*Da*Vi*Vi*Vi,tl=ul*Yo,es=ul*ps,ts=(ts=2*Qr+b*Aa*(kr-yr))*ts*Yn,Il=(b*kr*Qr*Aa+ha)/ts,tu=-(b*yr*jr)/(Aa*ts),Ru=Bn*tl-2*Il/Yn+Vi*(Il+Il/An),vu=Bn*es-2*tu/Yn+Vi*(tu+tu/An),wl=Da*Ao*tl-2*Yo/(1+ci)+Vi*Ao*Yo+Vi*Da*(Il-Il/An),fu=Da*Ao*es-2*ps/(1+ci)+Vi*Ao*ps+Vi*Da*(tu-tu/An),uc=vu*wl-fu*Ru;if(!uc)break;var Gl=(Mo*vu-ls*fu)/uc,Hl=(ls*wl-Mo*Ru)/uc;lt-=Gl,pt=i(-S,s(S,pt-Hl))}while((E(Gl)>l||E(Hl)>l)&&--Et>0);return E(E(pt)-S)pt){var Qr=F(jr),ha=t(kr,yr),Aa=lt*f(ha/lt),Da=ha-Aa,ci=qe*r(Da),Vi=(qe*c(Da)-Da*c(ci))/(S-ci),ji=_t(Da,Vi),on=(w-qe)/ut(ji,ci,w);yr=Qr;var An=50,Yn;do yr-=Yn=(qe+ut(ji,ci,yr)*on-Qr)/(ji(yr)*on);while(E(Yn)>l&&--An>0);kr=Da*c(yr),yrpt){var yr=F(ur),kr=t(Dt,bt),jr=lt*f(kr/lt),Qr=kr-jr;bt=yr*r(Qr),Dt=yr*c(Qr);for(var ha=bt-S,Aa=c(bt),Da=Dt/Aa,ci=btl||E(Da)>l)&&--ci>0);return[Qr,ha]},yr}var wr=Cr(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Rr(){return _.geoProjection(wr).scale(149.995)}var Ur=Cr(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function Hr(){return _.geoProjection(Ur).scale(153.93)}var gt=Cr(5/6*w,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Kt(){return _.geoProjection(gt).scale(130.945)}function vr(qe,$e){var lt=qe*qe,pt=$e*$e;return[qe*(1-.162388*pt)*(.87-952426e-9*lt*lt),$e*(1+pt/12)]}vr.invert=function(qe,$e){var lt=qe,pt=$e,Et=50,bt;do{var Dt=pt*pt;pt-=bt=(pt*(1+Dt/12)-$e)/(1+Dt/4)}while(E(bt)>l&&--Et>0);Et=50,qe/=1-.162388*Dt;do{var ur=(ur=lt*lt)*ur;lt-=bt=(lt*(.87-952426e-9*ur)-qe)/(.87-.00476213*ur)}while(E(bt)>l&&--Et>0);return[lt,pt]};function Ir(){return _.geoProjection(vr).scale(131.747)}var va=Cr(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Pa(){return _.geoProjection(va).scale(131.087)}function ga(qe){var $e=qe(S,0)[0]-qe(-S,0)[0];function lt(pt,Et){var bt=pt>0?-.5:.5,Dt=qe(pt+bt*w,Et);return Dt[0]-=bt*$e,Dt}return qe.invert&&(lt.invert=function(pt,Et){var bt=pt>0?-.5:.5,Dt=qe.invert(pt+bt*$e,Et),ur=Dt[0]-bt*w;return ur<-w?ur+=2*w:ur>w&&(ur-=2*w),Dt[0]=ur,Dt}),lt}function la(qe,$e){var lt=v(qe),pt=v($e),Et=r($e),bt=r(qe)*Et,Dt=c(qe)*Et,ur=c(pt*$e);qe=E(t(Dt,ur)),$e=L(bt),E(qe-S)>l&&(qe%=S);var yr=ba(qe>w/4?S-qe:qe,$e);return qe>w/4&&(ur=yr[0],yr[0]=-yr[1],yr[1]=-ur),yr[0]*=lt,yr[1]*=-pt,yr}la.invert=function(qe,$e){E(qe)>1&&(qe=v(qe)*2-qe),E($e)>1&&($e=v($e)*2-$e);var lt=v(qe),pt=v($e),Et=-lt*qe,bt=-pt*$e,Dt=bt/Et<1,ur=Ai(Dt?bt:Et,Dt?Et:bt),yr=ur[0],kr=ur[1],jr=r(kr);return Dt&&(yr=-S-yr),[lt*(t(c(yr)*jr,-c(kr))+w),pt*L(r(yr)*jr)]};function ba(qe,$e){if($e===S)return[0,0];var lt=c($e),pt=lt*lt,Et=pt*pt,bt=1+Et,Dt=1+3*Et,ur=1-Et,yr=L(1/F(bt)),kr=ur+pt*bt*yr,jr=(1-lt)/kr,Qr=F(jr),ha=jr*bt,Aa=F(ha),Da=Qr*ur,ci,Vi;if(qe===0)return[0,-(Da+pt*Aa)];var ji=r($e),on=1/ji,An=2*lt*ji,Yn=(-3*pt+yr*Dt)*An,Bn=(-kr*ji-(1-lt)*Yn)/(kr*kr),Ao=.5*Bn/Qr,ls=ur*Ao-2*pt*Qr*An,Mo=pt*bt*Bn+jr*Dt*An,Yo=-on*An,ps=-on*Mo,ul=-2*on*ls,tl=4*qe/w,es;if(qe>.222*w||$e.175*w){if(ci=(Da+pt*F(ha*(1+Et)-Da*Da))/(1+Et),qe>w/4)return[ci,ci];var ts=ci,Il=.5*ci;ci=.5*(Il+ts),Vi=50;do{var tu=F(ha-ci*ci),Ru=ci*(ul+Yo*tu)+ps*L(ci/Aa)-tl;if(!Ru)break;Ru<0?Il=ci:ts=ci,ci=.5*(Il+ts)}while(E(ts-Il)>l&&--Vi>0)}else{ci=l,Vi=25;do{var vu=ci*ci,wl=F(ha-vu),fu=ul+Yo*wl,uc=ci*fu+ps*L(ci/Aa)-tl,Gl=fu+(ps-Yo*vu)/wl;ci-=es=wl?uc/Gl:0}while(E(es)>l&&--Vi>0)}return[ci,-Da-pt*F(ha-ci*ci)]}function Ai(qe,$e){for(var lt=0,pt=1,Et=.5,bt=50;;){var Dt=Et*Et,ur=F(Et),yr=L(1/F(1+Dt)),kr=1-Dt+Et*(1+Dt)*yr,jr=(1-ur)/kr,Qr=F(jr),ha=jr*(1+Dt),Aa=Qr*(1-Dt),Da=ha-qe*qe,ci=F(Da),Vi=$e+Aa+Et*ci;if(E(pt-lt)0?lt=Et:pt=Et,Et=.5*(lt+pt)}if(!bt)return null;var ji=L(ur),on=r(ji),An=1/on,Yn=2*ur*on,Bn=(-3*Et+yr*(1+3*Dt))*Yn,Ao=(-kr*on-(1-ur)*Bn)/(kr*kr),ls=.5*Ao/Qr,Mo=(1-Dt)*ls-2*Et*Qr*Yn,Yo=-2*An*Mo,ps=-An*Yn,ul=-An*(Et*(1+Dt)*Ao+jr*(1+3*Dt)*Yn);return[w/4*(qe*(Yo+ps*ci)+ul*L(qe/F(ha))),ji]}function ki(){return _.geoProjection(ga(la)).scale(239.75)}function Ki(qe,$e,lt){var pt,Et,bt;return qe?(pt=Mn(qe,lt),$e?(Et=Mn($e,1-lt),bt=Et[1]*Et[1]+lt*pt[0]*pt[0]*Et[0]*Et[0],[[pt[0]*Et[2]/bt,pt[1]*pt[2]*Et[0]*Et[1]/bt],[pt[1]*Et[1]/bt,-pt[0]*pt[2]*Et[0]*Et[2]/bt],[pt[2]*Et[1]*Et[2]/bt,-lt*pt[0]*pt[1]*Et[0]/bt]]):[[pt[0],0],[pt[1],0],[pt[2],0]]):(Et=Mn($e,1-lt),[[0,Et[0]/Et[1]],[1/Et[1],0],[Et[2]/Et[1],0]])}function Mn(qe,$e){var lt,pt,Et,bt,Dt;if($e=1-l)return lt=(1-$e)/4,pt=P(qe),bt=B(qe),Et=1/pt,Dt=pt*O(qe),[bt+lt*(Dt-qe)/(pt*pt),Et-lt*bt*Et*(Dt-qe),Et+lt*bt*Et*(Dt+qe),2*e(o(qe))-S+lt*(Dt-qe)/pt];var ur=[1,0,0,0,0,0,0,0,0],yr=[F($e),0,0,0,0,0,0,0,0],kr=0;for(pt=F(1-$e),Dt=1;E(yr[kr]/ur[kr])>l&&kr<8;)lt=ur[kr++],yr[kr]=(lt-pt)/2,ur[kr]=(lt+pt)/2,pt=F(lt*pt),Dt*=2;Et=Dt*ur[kr]*qe;do bt=yr[kr]*c(pt=Et)/ur[kr],Et=(L(bt)+Et)/2;while(--kr);return[c(Et),bt=r(Et),bt/r(Et-pt),Et]}function wn(qe,$e,lt){var pt=E(qe),Et=E($e),bt=O(Et);if(pt){var Dt=1/c(pt),ur=1/(T(pt)*T(pt)),yr=-(ur+lt*(bt*bt*Dt*Dt)-1+lt),kr=(lt-1)*ur,jr=(-yr+F(yr*yr-4*kr))/2;return[On(e(1/F(jr)),lt)*v(qe),On(e(F((jr/ur-1)/lt)),1-lt)*v($e)]}return[0,On(e(bt),1-lt)*v($e)]}function On(qe,$e){if(!$e)return qe;if($e===1)return n(T(qe/2+M));for(var lt=1,pt=F(1-$e),Et=F($e),bt=0;E(Et)>l;bt++){if(qe%w){var Dt=e(pt*T(qe)/lt);Dt<0&&(Dt+=w),qe+=Dt+~~(qe/w)*w}else qe+=qe;Et=(lt+pt)/2,pt=F(lt*pt),Et=((lt=Et)-pt)/2}return qe/(h(2,bt)*lt)}function En(qe,$e){var lt=(b-1)/(b+1),pt=F(1-lt*lt),Et=On(S,pt*pt),bt=-1,Dt=n(T(w/4+E($e)/2)),ur=o(bt*Dt)/F(lt),yr=ao(ur*r(bt*qe),ur*c(bt*qe)),kr=wn(yr[0],yr[1],pt*pt);return[-kr[1],($e>=0?1:-1)*(.5*Et-kr[0])]}function ao(qe,$e){var lt=qe*qe,pt=$e+1,Et=1-lt-$e*$e;return[.5*((qe>=0?S:-S)-t(Et,2*qe)),-.25*n(Et*Et+4*lt)+.5*n(pt*pt+lt)]}function Co(qe,$e){var lt=$e[0]*$e[0]+$e[1]*$e[1];return[(qe[0]*$e[0]+qe[1]*$e[1])/lt,(qe[1]*$e[0]-qe[0]*$e[1])/lt]}En.invert=function(qe,$e){var lt=(b-1)/(b+1),pt=F(1-lt*lt),Et=On(S,pt*pt),bt=-1,Dt=Ki(.5*Et-$e,-qe,pt*pt),ur=Co(Dt[0],Dt[1]),yr=t(ur[1],ur[0])/bt;return[yr,2*e(o(.5/bt*n(lt*ur[0]*ur[0]+lt*ur[1]*ur[1])))-S]};function bo(){return _.geoProjection(ga(En)).scale(151.496)}function zs(qe){var $e=c(qe),lt=r(qe),pt=kn(qe);pt.invert=kn(-qe);function Et(bt,Dt){var ur=pt(bt,Dt);bt=ur[0],Dt=ur[1];var yr=c(Dt),kr=r(Dt),jr=r(bt),Qr=z($e*yr+lt*kr*jr),ha=c(Qr),Aa=E(ha)>l?Qr/ha:1;return[Aa*lt*c(bt),(E(bt)>S?Aa:-Aa)*($e*kr-lt*yr*jr)]}return Et.invert=function(bt,Dt){var ur=F(bt*bt+Dt*Dt),yr=-c(ur),kr=r(ur),jr=ur*kr,Qr=-Dt*yr,ha=ur*$e,Aa=F(jr*jr+Qr*Qr-ha*ha),Da=t(jr*ha+Qr*Aa,Qr*ha-jr*Aa),ci=(ur>S?-1:1)*t(bt*yr,ur*r(Da)*kr+Dt*c(Da)*yr);return pt.invert(ci,Da)},Et}function kn(qe){var $e=c(qe),lt=r(qe);return function(pt,Et){var bt=r(Et),Dt=r(pt)*bt,ur=c(pt)*bt,yr=c(Et);return[t(ur,Dt*lt-yr*$e),L(yr*lt+Dt*$e)]}}function wo(){var qe=0,$e=_.geoProjectionMutator(zs),lt=$e(qe),pt=lt.rotate,Et=lt.stream,bt=_.geoCircle();return lt.parallel=function(Dt){if(!arguments.length)return qe*g;var ur=lt.rotate();return $e(qe=Dt*y).rotate(ur)},lt.rotate=function(Dt){return arguments.length?(pt.call(lt,[Dt[0],Dt[1]-qe*g]),bt.center([-Dt[0],-Dt[1]]),lt):(Dt=pt.call(lt),Dt[1]+=qe*g,Dt)},lt.stream=function(Dt){return Dt=Et(Dt),Dt.sphere=function(){Dt.polygonStart();var ur=.01,yr=bt.radius(90-ur)().coordinates[0],kr=yr.length-1,jr=-1,Qr;for(Dt.lineStart();++jr=0;)Dt.point((Qr=yr[jr])[0],Qr[1]);Dt.lineEnd(),Dt.polygonEnd()},Dt},lt.scale(79.4187).parallel(45).clipAngle(180-.001)}var Kn=3,go=L(1-1/Kn)*g,os=Nt(0);function gs(qe){var $e=go*y,lt=We(w,$e)[0]-We(-w,$e)[0],pt=os(0,$e)[1],Et=We(0,$e)[1],bt=p-Et,Dt=u/qe,ur=4/u,yr=pt+bt*bt*4/u;function kr(jr,Qr){var ha,Aa=E(Qr);if(Aa>$e){var Da=s(qe-1,i(0,a((jr+w)/Dt)));jr+=w*(qe-1)/qe-Da*Dt,ha=We(jr,Aa),ha[0]=ha[0]*u/lt-u*(qe-1)/(2*qe)+Da*u/qe,ha[1]=pt+(ha[1]-Et)*4*bt/u,Qr<0&&(ha[1]=-ha[1])}else ha=os(jr,Qr);return ha[0]*=ur,ha[1]/=yr,ha}return kr.invert=function(jr,Qr){jr/=ur,Qr*=yr;var ha=E(Qr);if(ha>pt){var Aa=s(qe-1,i(0,a((jr+w)/Dt)));jr=(jr+w*(qe-1)/qe-Aa*Dt)*lt/u;var Da=We.invert(jr,.25*(ha-pt)*u/bt+Et);return Da[0]-=w*(qe-1)/qe-Aa*Dt,Qr<0&&(Da[1]=-Da[1]),Da}return os.invert(jr,Qr)},kr}function jo(qe,$e){return[qe,$e&1?90-l:go]}function Zn(qe,$e){return[qe,$e&1?-90+l:-go]}function Gn(qe){return[qe[0]*(1-l),qe[1]]}function Hn(qe){var $e=[].concat(A.range(-180,180+qe/2,qe).map(jo),A.range(180,-180-qe/2,-qe).map(Zn));return{type:\"Polygon\",coordinates:[qe===180?$e.map(Gn):$e]}}function ss(){var qe=4,$e=_.geoProjectionMutator(gs),lt=$e(qe),pt=lt.stream;return lt.lobes=function(Et){return arguments.length?$e(qe=+Et):qe},lt.stream=function(Et){var bt=lt.rotate(),Dt=pt(Et),ur=(lt.rotate([0,0]),pt(Et));return lt.rotate(bt),Dt.sphere=function(){_.geoStream(Hn(180/qe),ur)},Dt},lt.scale(239.75)}function ys(qe){var $e=1+qe,lt=c(1/$e),pt=L(lt),Et=2*F(w/(bt=w+4*pt*$e)),bt,Dt=.5*Et*($e+F(qe*(2+qe))),ur=qe*qe,yr=$e*$e;function kr(jr,Qr){var ha=1-c(Qr),Aa,Da;if(ha&&ha<2){var ci=S-Qr,Vi=25,ji;do{var on=c(ci),An=r(ci),Yn=pt+t(on,$e-An),Bn=1+yr-2*$e*An;ci-=ji=(ci-ur*pt-$e*on+Bn*Yn-.5*ha*bt)/(2*$e*on*Yn)}while(E(ji)>x&&--Vi>0);Aa=Et*F(Bn),Da=jr*Yn/w}else Aa=Et*(qe+ha),Da=jr*pt/w;return[Aa*c(Da),Dt-Aa*r(Da)]}return kr.invert=function(jr,Qr){var ha=jr*jr+(Qr-=Dt)*Qr,Aa=(1+yr-ha/(Et*Et))/(2*$e),Da=z(Aa),ci=c(Da),Vi=pt+t(ci,$e-Aa);return[L(jr/F(ha))*w/Vi,L(1-2*(Da-ur*pt-$e*ci+(1+yr-2*$e*Aa)*Vi)/bt)]},kr}function Rs(){var qe=1,$e=_.geoProjectionMutator(ys),lt=$e(qe);return lt.ratio=function(pt){return arguments.length?$e(qe=+pt):qe},lt.scale(167.774).center([0,18.67])}var Ko=.7109889596207567,Gi=.0528035274542;function Pn(qe,$e){return $e>-Ko?(qe=Ue(qe,$e),qe[1]+=Gi,qe):Ye(qe,$e)}Pn.invert=function(qe,$e){return $e>-Ko?Ue.invert(qe,$e-Gi):Ye.invert(qe,$e)};function qs(){return _.geoProjection(Pn).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function xs(qe,$e){return E($e)>Ko?(qe=Ue(qe,$e),qe[1]-=$e>0?Gi:-Gi,qe):Ye(qe,$e)}xs.invert=function(qe,$e){return E($e)>Ko?Ue.invert(qe,$e+($e>0?Gi:-Gi)):Ye.invert(qe,$e)};function lo(){return _.geoProjection(xs).scale(152.63)}function Zo(qe,$e,lt,pt){var Et=F(4*w/(2*lt+(1+qe-$e/2)*c(2*lt)+(qe+$e)/2*c(4*lt)+$e/2*c(6*lt))),bt=F(pt*c(lt)*F((1+qe*r(2*lt)+$e*r(4*lt))/(1+qe+$e))),Dt=lt*yr(1);function ur(Qr){return F(1+qe*r(2*Qr)+$e*r(4*Qr))}function yr(Qr){var ha=Qr*lt;return(2*ha+(1+qe-$e/2)*c(2*ha)+(qe+$e)/2*c(4*ha)+$e/2*c(6*ha))/lt}function kr(Qr){return ur(Qr)*c(Qr)}var jr=function(Qr,ha){var Aa=lt*Ie(yr,Dt*c(ha)/lt,ha/w);isNaN(Aa)&&(Aa=lt*v(ha));var Da=Et*ur(Aa);return[Da*bt*Qr/w*r(Aa),Da/bt*c(Aa)]};return jr.invert=function(Qr,ha){var Aa=Ie(kr,ha*bt/Et);return[Qr*w/(r(Aa)*Et*bt*ur(Aa)),L(lt*yr(Aa/lt)/Dt)]},lt===0&&(Et=F(pt/w),jr=function(Qr,ha){return[Qr*Et,c(ha)/Et]},jr.invert=function(Qr,ha){return[Qr/Et,L(ha*Et)]}),jr}function bs(){var qe=1,$e=0,lt=45*y,pt=2,Et=_.geoProjectionMutator(Zo),bt=Et(qe,$e,lt,pt);return bt.a=function(Dt){return arguments.length?Et(qe=+Dt,$e,lt,pt):qe},bt.b=function(Dt){return arguments.length?Et(qe,$e=+Dt,lt,pt):$e},bt.psiMax=function(Dt){return arguments.length?Et(qe,$e,lt=+Dt*y,pt):lt*g},bt.ratio=function(Dt){return arguments.length?Et(qe,$e,lt,pt=+Dt):pt},bt.scale(180.739)}function Hs(qe,$e,lt,pt,Et,bt,Dt,ur,yr,kr,jr){if(jr.nanEncountered)return NaN;var Qr,ha,Aa,Da,ci,Vi,ji,on,An,Yn;if(Qr=lt-$e,ha=qe($e+Qr*.25),Aa=qe(lt-Qr*.25),isNaN(ha)){jr.nanEncountered=!0;return}if(isNaN(Aa)){jr.nanEncountered=!0;return}return Da=Qr*(pt+4*ha+Et)/12,ci=Qr*(Et+4*Aa+bt)/12,Vi=Da+ci,Yn=(Vi-Dt)/15,kr>yr?(jr.maxDepthCount++,Vi+Yn):Math.abs(Yn)>1;do yr[Vi]>Aa?ci=Vi:Da=Vi,Vi=Da+ci>>1;while(Vi>Da);var ji=yr[Vi+1]-yr[Vi];return ji&&(ji=(Aa-yr[Vi+1])/ji),(Vi+1+ji)/Dt}var Qr=2*jr(1)/w*bt/lt,ha=function(Aa,Da){var ci=jr(E(c(Da))),Vi=pt(ci)*Aa;return ci/=Qr,[Vi,Da>=0?ci:-ci]};return ha.invert=function(Aa,Da){var ci;return Da*=Qr,E(Da)<1&&(ci=v(Da)*L(Et(E(Da))*bt)),[Aa/pt(E(Da)),ci]},ha}function Po(){var qe=0,$e=2.5,lt=1.183136,pt=_.geoProjectionMutator(yn),Et=pt(qe,$e,lt);return Et.alpha=function(bt){return arguments.length?pt(qe=+bt,$e,lt):qe},Et.k=function(bt){return arguments.length?pt(qe,$e=+bt,lt):$e},Et.gamma=function(bt){return arguments.length?pt(qe,$e,lt=+bt):lt},Et.scale(152.63)}function To(qe,$e){return E(qe[0]-$e[0])=0;--yr)lt=qe[1][yr],pt=lt[0][0],Et=lt[0][1],bt=lt[1][1],Dt=lt[2][0],ur=lt[2][1],$e.push(Ws([[Dt-l,ur-l],[Dt-l,bt+l],[pt+l,bt+l],[pt+l,Et-l]],30));return{type:\"Polygon\",coordinates:[A.merge($e)]}}function uo(qe,$e,lt){var pt,Et;function bt(yr,kr){for(var jr=kr<0?-1:1,Qr=$e[+(kr<0)],ha=0,Aa=Qr.length-1;haQr[ha][2][0];++ha);var Da=qe(yr-Qr[ha][1][0],kr);return Da[0]+=qe(Qr[ha][1][0],jr*kr>jr*Qr[ha][0][1]?Qr[ha][0][1]:kr)[0],Da}lt?bt.invert=lt(bt):qe.invert&&(bt.invert=function(yr,kr){for(var jr=Et[+(kr<0)],Qr=$e[+(kr<0)],ha=0,Aa=jr.length;haDa&&(ci=Aa,Aa=Da,Da=ci),[[Qr,Aa],[ha,Da]]})}),Dt):$e.map(function(kr){return kr.map(function(jr){return[[jr[0][0]*g,jr[0][1]*g],[jr[1][0]*g,jr[1][1]*g],[jr[2][0]*g,jr[2][1]*g]]})})},$e!=null&&Dt.lobes($e),Dt}var Nl=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Ks(){return uo(Ce,Nl).scale(160.857)}var ws=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Cs(){return uo(xs,ws).scale(152.63)}var Jo=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Ms(){return uo(Ue,Jo).scale(169.529)}var Ul=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function lu(){return uo(Ue,Ul).scale(169.529).rotate([20,0])}var Tc=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function du(){return uo(Pn,Tc,Re).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var Sf=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Uc(){return uo(Ye,Sf).scale(152.63).rotate([-20,0])}function Bs(qe,$e){return[3/u*qe*F(w*w/3-$e*$e),$e]}Bs.invert=function(qe,$e){return[u/3*qe/F(w*w/3-$e*$e),$e]};function dc(){return _.geoProjection(Bs).scale(158.837)}function Wc(qe){function $e(lt,pt){if(E(E(pt)-S)2)return null;lt/=2,pt/=2;var bt=lt*lt,Dt=pt*pt,ur=2*pt/(1+bt+Dt);return ur=h((1+ur)/(1-ur),1/qe),[t(2*lt,1-bt-Dt)/qe,L((ur-1)/(ur+1))]},$e}function uu(){var qe=.5,$e=_.geoProjectionMutator(Wc),lt=$e(qe);return lt.spacing=function(pt){return arguments.length?$e(qe=+pt):qe},lt.scale(124.75)}var Pl=w/b;function ic(qe,$e){return[qe*(1+F(r($e)))/2,$e/(r($e/2)*r(qe/6))]}ic.invert=function(qe,$e){var lt=E(qe),pt=E($e),Et=l,bt=S;ptl||E(Vi)>l)&&--Et>0);return Et&&[lt,pt]};function vl(){return _.geoProjection(nl).scale(139.98)}function Ts(qe,$e){return[c(qe)/r($e),T($e)*r(qe)]}Ts.invert=function(qe,$e){var lt=qe*qe,pt=$e*$e,Et=pt+1,bt=lt+Et,Dt=qe?m*F((bt-F(bt*bt-4*lt))/lt):1/F(Et);return[L(qe*Dt),v($e)*z(Dt)]};function Xs(){return _.geoProjection(Ts).scale(144.049).clipAngle(90-.001)}function nc(qe){var $e=r(qe),lt=T(M+qe/2);function pt(Et,bt){var Dt=bt-qe,ur=E(Dt)=0;)jr=qe[kr],Qr=jr[0]+ur*(Aa=Qr)-yr*ha,ha=jr[1]+ur*ha+yr*Aa;return Qr=ur*(Aa=Qr)-yr*ha,ha=ur*ha+yr*Aa,[Qr,ha]}return lt.invert=function(pt,Et){var bt=20,Dt=pt,ur=Et;do{for(var yr=$e,kr=qe[yr],jr=kr[0],Qr=kr[1],ha=0,Aa=0,Da;--yr>=0;)kr=qe[yr],ha=jr+Dt*(Da=ha)-ur*Aa,Aa=Qr+Dt*Aa+ur*Da,jr=kr[0]+Dt*(Da=jr)-ur*Qr,Qr=kr[1]+Dt*Qr+ur*Da;ha=jr+Dt*(Da=ha)-ur*Aa,Aa=Qr+Dt*Aa+ur*Da,jr=Dt*(Da=jr)-ur*Qr-pt,Qr=Dt*Qr+ur*Da-Et;var ci=ha*ha+Aa*Aa,Vi,ji;Dt-=Vi=(jr*ha+Qr*Aa)/ci,ur-=ji=(Qr*ha-jr*Aa)/ci}while(E(Vi)+E(ji)>l*l&&--bt>0);if(bt){var on=F(Dt*Dt+ur*ur),An=2*e(on*.5),Yn=c(An);return[t(Dt*Yn,on*r(An)),on?L(ur*Yn/on):0]}},lt}var us=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],bh=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ls=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],to=[[.9245,0],[0,0],[.01943,0]],Xc=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Vu(){return Ql(us,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function ql(){return Ql(bh,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mf(){return Ql(Ls,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Ac(){return Ql(to,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function nf(){return Ql(Xc,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ql(qe,$e){var lt=_.geoProjection(xh(qe)).rotate($e).clipAngle(90),pt=_.geoRotation($e),Et=lt.center;return delete lt.rotate,lt.center=function(bt){return arguments.length?Et(pt(bt)):pt.invert(Et())},lt}var Jf=F(6),Of=F(7);function of(qe,$e){var lt=L(7*c($e)/(3*Jf));return[Jf*qe*(2*r(2*lt/3)-1)/Of,9*c(lt/3)/Of]}of.invert=function(qe,$e){var lt=3*L($e*Of/9);return[qe*Of/(Jf*(2*r(2*lt/3)-1)),L(c(lt)*3*Jf/7)]};function jc(){return _.geoProjection(of).scale(164.859)}function Bf(qe,$e){for(var lt=(1+m)*c($e),pt=$e,Et=0,bt;Et<25&&(pt-=bt=(c(pt/2)+c(pt)-lt)/(.5*r(pt/2)+r(pt)),!(E(bt)x&&--pt>0);return bt=lt*lt,Dt=bt*bt,ur=bt*Dt,[qe/(.84719-.13063*bt+ur*ur*(-.04515+.05494*bt-.02326*Dt+.00331*ur)),lt]};function Zc(){return _.geoProjection(oc).scale(175.295)}function eu(qe,$e){return[qe*(1+r($e))/2,2*($e-T($e/2))]}eu.invert=function(qe,$e){for(var lt=$e/2,pt=0,Et=1/0;pt<10&&E(Et)>l;++pt){var bt=r($e/2);$e-=Et=($e-T($e/2)-lt)/(1-.5/(bt*bt))}return[2*qe/(1+r($e)),$e]};function qc(){return _.geoProjection(eu).scale(152.63)}var Sc=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function Zs(){return uo(pe(1/0),Sc).rotate([20,0]).scale(152.63)}function kf(qe,$e){var lt=c($e),pt=r($e),Et=v(qe);if(qe===0||E($e)===S)return[0,$e];if($e===0)return[qe,0];if(E(qe)===S)return[qe*pt,S*lt];var bt=w/(2*qe)-2*qe/w,Dt=2*$e/w,ur=(1-Dt*Dt)/(lt-Dt),yr=bt*bt,kr=ur*ur,jr=1+yr/kr,Qr=1+kr/yr,ha=(bt*lt/ur-bt/2)/jr,Aa=(kr*lt/yr+ur/2)/Qr,Da=ha*ha+pt*pt/jr,ci=Aa*Aa-(kr*lt*lt/yr+ur*lt-1)/Qr;return[S*(ha+F(Da)*Et),S*(Aa+F(ci<0?0:ci)*v(-$e*bt)*Et)]}kf.invert=function(qe,$e){qe/=S,$e/=S;var lt=qe*qe,pt=$e*$e,Et=lt+pt,bt=w*w;return[qe?(Et-1+F((1-Et)*(1-Et)+4*lt))/(2*qe)*S:0,Ie(function(Dt){return Et*(w*c(Dt)-2*Dt)*w+4*Dt*Dt*($e-c(Dt))+2*w*Dt-bt*$e},0)]};function fh(){return _.geoProjection(kf).scale(127.267)}var Uf=1.0148,Yc=.23185,$f=-.14499,Cu=.02406,jf=Uf,ml=5*Yc,Lu=7*$f,Mc=9*Cu,ol=1.790857183;function vc(qe,$e){var lt=$e*$e;return[qe,$e*(Uf+lt*lt*(Yc+lt*($f+Cu*lt)))]}vc.invert=function(qe,$e){$e>ol?$e=ol:$e<-ol&&($e=-ol);var lt=$e,pt;do{var Et=lt*lt;lt-=pt=(lt*(Uf+Et*Et*(Yc+Et*($f+Cu*Et)))-$e)/(jf+Et*Et*(ml+Et*(Lu+Mc*Et)))}while(E(pt)>l);return[qe,lt]};function yu(){return _.geoProjection(vc).scale(139.319)}function Tu(qe,$e){if(E($e)l&&--Et>0);return Dt=T(pt),[(E($e)=0;)if(pt=$e[ur],lt[0]===pt[0]&<[1]===pt[1]){if(bt)return[bt,lt];bt=lt}}}function iu(qe){for(var $e=qe.length,lt=[],pt=qe[$e-1],Et=0;Et<$e;++Et)lt.push([pt,pt=qe[Et]]);return lt}function Kc(qe){return qe.project.invert||qe.children&&qe.children.some(Kc)}var hh=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],mf=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map(function(qe){return qe.map(function($e){return hh[$e]})});function sl(qe){qe=qe||function(lt){var pt=_.geoCentroid({type:\"MultiPoint\",coordinates:lt});return _.geoGnomonic().scale(1).translate([0,0]).rotate([-pt[0],-pt[1]])};var $e=mf.map(function(lt){return{face:lt,project:qe(lt)}});return[-1,0,0,1,0,1,4,5].forEach(function(lt,pt){var Et=$e[lt];Et&&(Et.children||(Et.children=[])).push($e[pt])}),sf($e[0],function(lt,pt){return $e[lt<-w/2?pt<0?6:4:lt<0?pt<0?2:0:lt0?[-pt[0],0]:[180-pt[0],180])};var $e=mf.map(function(lt){return{face:lt,project:qe(lt)}});return[-1,0,0,1,0,1,4,5].forEach(function(lt,pt){var Et=$e[lt];Et&&(Et.children||(Et.children=[])).push($e[pt])}),sf($e[0],function(lt,pt){return $e[lt<-w/2?pt<0?6:4:lt<0?pt<0?2:0:ltpt^Aa>pt&<<(ha-kr)*(pt-jr)/(Aa-jr)+kr&&(Et=!Et)}return Et}function nu(qe,$e){var lt=$e.stream,pt;if(!lt)throw new Error(\"invalid projection\");switch(qe&&qe.type){case\"Feature\":pt=Xu;break;case\"FeatureCollection\":pt=Vf;break;default:pt=gc;break}return pt(qe,lt)}function Vf(qe,$e){return{type:\"FeatureCollection\",features:qe.features.map(function(lt){return Xu(lt,$e)})}}function Xu(qe,$e){return{type:\"Feature\",id:qe.id,properties:qe.properties,geometry:gc(qe.geometry,$e)}}function Cc(qe,$e){return{type:\"GeometryCollection\",geometries:qe.geometries.map(function(lt){return gc(lt,$e)})}}function gc(qe,$e){if(!qe)return null;if(qe.type===\"GeometryCollection\")return Cc(qe,$e);var lt;switch(qe.type){case\"Point\":lt=Lc;break;case\"MultiPoint\":lt=Lc;break;case\"LineString\":lt=$c;break;case\"MultiLineString\":lt=$c;break;case\"Polygon\":lt=sc;break;case\"MultiPolygon\":lt=sc;break;case\"Sphere\":lt=sc;break;default:return null}return _.geoStream(qe,$e(lt)),lt.result()}var Vl=[],xu=[],Lc={point:function(qe,$e){Vl.push([qe,$e])},result:function(){var qe=Vl.length?Vl.length<2?{type:\"Point\",coordinates:Vl[0]}:{type:\"MultiPoint\",coordinates:Vl}:null;return Vl=[],qe}},$c={lineStart:Wu,point:function(qe,$e){Vl.push([qe,$e])},lineEnd:function(){Vl.length&&(xu.push(Vl),Vl=[])},result:function(){var qe=xu.length?xu.length<2?{type:\"LineString\",coordinates:xu[0]}:{type:\"MultiLineString\",coordinates:xu}:null;return xu=[],qe}},sc={polygonStart:Wu,lineStart:Wu,point:function(qe,$e){Vl.push([qe,$e])},lineEnd:function(){var qe=Vl.length;if(qe){do Vl.push(Vl[0].slice());while(++qe<4);xu.push(Vl),Vl=[]}},polygonEnd:Wu,result:function(){if(!xu.length)return null;var qe=[],$e=[];return xu.forEach(function(lt){Jc(lt)?qe.push([lt]):$e.push(lt)}),$e.forEach(function(lt){var pt=lt[0];qe.some(function(Et){if(Lf(Et[0],pt))return Et.push(lt),!0})||qe.push([lt])}),xu=[],qe.length?qe.length>1?{type:\"MultiPolygon\",coordinates:qe}:{type:\"Polygon\",coordinates:qe[0]}:null}};function Pc(qe){var $e=qe(S,0)[0]-qe(-S,0)[0];function lt(pt,Et){var bt=E(pt)0?pt-w:pt+w,Et),ur=(Dt[0]-Dt[1])*m,yr=(Dt[0]+Dt[1])*m;if(bt)return[ur,yr];var kr=$e*m,jr=ur>0^yr>0?-1:1;return[jr*ur-v(yr)*kr,jr*yr-v(ur)*kr]}return qe.invert&&(lt.invert=function(pt,Et){var bt=(pt+Et)*m,Dt=(Et-pt)*m,ur=E(bt)<.5*$e&&E(Dt)<.5*$e;if(!ur){var yr=$e*m,kr=bt>0^Dt>0?-1:1,jr=-kr*pt+(Dt>0?1:-1)*yr,Qr=-kr*Et+(bt>0?1:-1)*yr;bt=(-jr-Qr)*m,Dt=(jr-Qr)*m}var ha=qe.invert(bt,Dt);return ur||(ha[0]+=bt>0?w:-w),ha}),_.geoProjection(lt).rotate([-90,-90,45]).clipAngle(180-.001)}function Qt(){return Pc(la).scale(176.423)}function xr(){return Pc(En).scale(111.48)}function aa(qe,$e){if(!(0<=($e=+$e)&&$e<=20))throw new Error(\"invalid digits\");function lt(kr){var jr=kr.length,Qr=2,ha=new Array(jr);for(ha[0]=+kr[0].toFixed($e),ha[1]=+kr[1].toFixed($e);Qr2||Aa[0]!=jr[0]||Aa[1]!=jr[1])&&(Qr.push(Aa),jr=Aa)}return Qr.length===1&&kr.length>1&&Qr.push(lt(kr[kr.length-1])),Qr}function bt(kr){return kr.map(Et)}function Dt(kr){if(kr==null)return kr;var jr;switch(kr.type){case\"GeometryCollection\":jr={type:\"GeometryCollection\",geometries:kr.geometries.map(Dt)};break;case\"Point\":jr={type:\"Point\",coordinates:lt(kr.coordinates)};break;case\"MultiPoint\":jr={type:kr.type,coordinates:pt(kr.coordinates)};break;case\"LineString\":jr={type:kr.type,coordinates:Et(kr.coordinates)};break;case\"MultiLineString\":case\"Polygon\":jr={type:kr.type,coordinates:bt(kr.coordinates)};break;case\"MultiPolygon\":jr={type:\"MultiPolygon\",coordinates:kr.coordinates.map(bt)};break;default:return kr}return kr.bbox!=null&&(jr.bbox=kr.bbox),jr}function ur(kr){var jr={type:\"Feature\",properties:kr.properties,geometry:Dt(kr.geometry)};return kr.id!=null&&(jr.id=kr.id),kr.bbox!=null&&(jr.bbox=kr.bbox),jr}if(qe!=null)switch(qe.type){case\"Feature\":return ur(qe);case\"FeatureCollection\":{var yr={type:\"FeatureCollection\",features:qe.features.map(ur)};return qe.bbox!=null&&(yr.bbox=qe.bbox),yr}default:return Dt(qe)}return qe}function $r(qe){var $e=c(qe);function lt(pt,Et){var bt=$e?T(pt*$e/2)/$e:pt/2;if(!Et)return[2*bt,-qe];var Dt=2*e(bt*c(Et)),ur=1/T(Et);return[c(Dt)*ur,Et+(1-r(Dt))*ur-qe]}return lt.invert=function(pt,Et){if(E(Et+=qe)l&&--ur>0);var ha=pt*(kr=T(Dt)),Aa=T(E(Et)0?S:-S)*(yr+Et*(jr-Dt)/2+Et*Et*(jr-2*yr+Dt)/2)]}Ci.invert=function(qe,$e){var lt=$e/S,pt=lt*90,Et=s(18,E(pt/5)),bt=i(0,a(Et));do{var Dt=li[bt][1],ur=li[bt+1][1],yr=li[s(19,bt+2)][1],kr=yr-Dt,jr=yr-2*ur+Dt,Qr=2*(E(lt)-ur)/kr,ha=jr/kr,Aa=Qr*(1-ha*Qr*(1-2*ha*Qr));if(Aa>=0||bt===1){pt=($e>=0?5:-5)*(Aa+Et);var Da=50,ci;do Et=s(18,E(pt)/5),bt=a(Et),Aa=Et-bt,Dt=li[bt][1],ur=li[bt+1][1],yr=li[s(19,bt+2)][1],pt-=(ci=($e>=0?S:-S)*(ur+Aa*(yr-Dt)/2+Aa*Aa*(yr-2*ur+Dt)/2)-$e)*g;while(E(ci)>x&&--Da>0);break}}while(--bt>=0);var Vi=li[bt][0],ji=li[bt+1][0],on=li[s(19,bt+2)][0];return[qe/(ji+Aa*(on-Vi)/2+Aa*Aa*(on-2*ji+Vi)/2),pt*y]};function Hi(){return _.geoProjection(Ci).scale(152.63)}function Qi(qe){function $e(lt,pt){var Et=r(pt),bt=(qe-1)/(qe-Et*r(lt));return[bt*Et*c(lt),bt*c(pt)]}return $e.invert=function(lt,pt){var Et=lt*lt+pt*pt,bt=F(Et),Dt=(qe-F(1-Et*(qe+1)/(qe-1)))/((qe-1)/bt+bt/(qe-1));return[t(lt*Dt,bt*F(1-Dt*Dt)),bt?L(pt*Dt/bt):0]},$e}function pn(qe,$e){var lt=Qi(qe);if(!$e)return lt;var pt=r($e),Et=c($e);function bt(Dt,ur){var yr=lt(Dt,ur),kr=yr[1],jr=kr*Et/(qe-1)+pt;return[yr[0]*pt/jr,kr/jr]}return bt.invert=function(Dt,ur){var yr=(qe-1)/(qe-1-ur*Et);return lt.invert(yr*Dt,yr*ur*pt)},bt}function Pi(){var qe=2,$e=0,lt=_.geoProjectionMutator(pn),pt=lt(qe,$e);return pt.distance=function(Et){return arguments.length?lt(qe=+Et,$e):qe},pt.tilt=function(Et){return arguments.length?lt(qe,$e=Et*y):$e*g},pt.scale(432.147).clipAngle(z(1/qe)*g-1e-6)}var Di=1e-4,Ni=1e4,mi=-180,Sn=mi+Di,Qn=180,io=Qn-Di,eo=-90,co=eo+Di,Tn=90,un=Tn-Di;function yo(qe){return qe.length>0}function Qo(qe){return Math.floor(qe*Ni)/Ni}function Es(qe){return qe===eo||qe===Tn?[0,qe]:[mi,Qo(qe)]}function rl(qe){var $e=qe[0],lt=qe[1],pt=!1;return $e<=Sn?($e=mi,pt=!0):$e>=io&&($e=Qn,pt=!0),lt<=co?(lt=eo,pt=!0):lt>=un&&(lt=Tn,pt=!0),pt?[$e,lt]:qe}function Ns(qe){return qe.map(rl)}function el(qe,$e,lt){for(var pt=0,Et=qe.length;pt=io||jr<=co||jr>=un){bt[Dt]=rl(yr);for(var Qr=Dt+1;QrSn&&Aaco&&Da=ur)break;lt.push({index:-1,polygon:$e,ring:bt=bt.slice(Qr-1)}),bt[0]=Es(bt[0][1]),Dt=-1,ur=bt.length}}}}function As(qe){var $e,lt=qe.length,pt={},Et={},bt,Dt,ur,yr,kr;for($e=0;$e0?w-ur:ur)*g],kr=_.geoProjection(qe(Dt)).rotate(yr),jr=_.geoRotation(yr),Qr=kr.center;return delete kr.rotate,kr.center=function(ha){return arguments.length?Qr(jr(ha)):jr.invert(Qr())},kr.clipAngle(90)}function Fs(qe){var $e=r(qe);function lt(pt,Et){var bt=_.geoGnomonicRaw(pt,Et);return bt[0]*=$e,bt}return lt.invert=function(pt,Et){return _.geoGnomonicRaw.invert(pt/$e,Et)},lt}function cu(){return Iu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Iu(qe,$e){return Js(Fs,qe,$e)}function Zu(qe){if(!(qe*=2))return _.geoAzimuthalEquidistantRaw;var $e=-qe/2,lt=-$e,pt=qe*qe,Et=T(lt),bt=.5/c(lt);function Dt(ur,yr){var kr=z(r(yr)*r(ur-$e)),jr=z(r(yr)*r(ur-lt)),Qr=yr<0?-1:1;return kr*=kr,jr*=jr,[(kr-jr)/(2*qe),Qr*F(4*pt*jr-(pt-kr+jr)*(pt-kr+jr))/(2*qe)]}return Dt.invert=function(ur,yr){var kr=yr*yr,jr=r(F(kr+(ha=ur+$e)*ha)),Qr=r(F(kr+(ha=ur+lt)*ha)),ha,Aa;return[t(Aa=jr-Qr,ha=(jr+Qr)*Et),(yr<0?-1:1)*z(F(ha*ha+Aa*Aa)*bt)]},Dt}function Ic(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(qe,$e){return Js(Zu,qe,$e)}function Rc(qe,$e){if(E($e)l&&--ur>0);return[v(qe)*(F(Et*Et+4)+Et)*w/4,S*Dt]};function Yu(){return _.geoProjection(lc).scale(127.16)}function Fe(qe,$e,lt,pt,Et){function bt(Dt,ur){var yr=lt*c(pt*ur),kr=F(1-yr*yr),jr=F(2/(1+kr*r(Dt*=Et)));return[qe*kr*jr*c(Dt),$e*yr*jr]}return bt.invert=function(Dt,ur){var yr=Dt/qe,kr=ur/$e,jr=F(yr*yr+kr*kr),Qr=2*L(jr/2);return[t(Dt*T(Qr),qe*jr)/Et,jr&&L(ur*c(Qr)/($e*lt*jr))/pt]},bt}function I(qe,$e,lt,pt){var Et=w/3;qe=i(qe,l),$e=i($e,l),qe=s(qe,S),$e=s($e,w-l),lt=i(lt,0),lt=s(lt,100-l),pt=i(pt,l);var bt=lt/100+1,Dt=pt/100,ur=z(bt*r(Et))/Et,yr=c(qe)/c(ur*S),kr=$e/w,jr=F(Dt*c(qe/2)/c($e/2)),Qr=jr/F(kr*yr*ur),ha=1/(jr*F(kr*yr*ur));return Fe(Qr,ha,yr,ur,kr)}function ie(){var qe=65*y,$e=60*y,lt=20,pt=200,Et=_.geoProjectionMutator(I),bt=Et(qe,$e,lt,pt);return bt.poleline=function(Dt){return arguments.length?Et(qe=+Dt*y,$e,lt,pt):qe*g},bt.parallels=function(Dt){return arguments.length?Et(qe,$e=+Dt*y,lt,pt):$e*g},bt.inflation=function(Dt){return arguments.length?Et(qe,$e,lt=+Dt,pt):lt},bt.ratio=function(Dt){return arguments.length?Et(qe,$e,lt,pt=+Dt):pt},bt.scale(163.775)}function Te(){return ie().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var Me=4*w+3*F(3),ze=2*F(2*w*F(3)/Me),ht=tt(ze*F(3)/w,ze,Me/6);function wt(){return _.geoProjection(ht).scale(176.84)}function Ot(qe,$e){return[qe*F(1-3*$e*$e/(w*w)),$e]}Ot.invert=function(qe,$e){return[qe/F(1-3*$e*$e/(w*w)),$e]};function $t(){return _.geoProjection(Ot).scale(152.63)}function Ar(qe,$e){var lt=r($e),pt=r(qe)*lt,Et=1-pt,bt=r(qe=t(c(qe)*lt,-c($e))),Dt=c(qe);return lt=F(1-pt*pt),[Dt*lt-bt*Et,-bt*lt-Dt*Et]}Ar.invert=function(qe,$e){var lt=(qe*qe+$e*$e)/-2,pt=F(-lt*(2+lt)),Et=$e*lt+qe*pt,bt=qe*lt-$e*pt,Dt=F(bt*bt+Et*Et);return[t(pt*Et,Dt*(1+lt)),Dt?-L(pt*bt/Dt):0]};function Sr(){return _.geoProjection(Ar).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function Kr(qe,$e){var lt=ue(qe,$e);return[(lt[0]+qe/S)/2,(lt[1]+$e)/2]}Kr.invert=function(qe,$e){var lt=qe,pt=$e,Et=25;do{var bt=r(pt),Dt=c(pt),ur=c(2*pt),yr=Dt*Dt,kr=bt*bt,jr=c(lt),Qr=r(lt/2),ha=c(lt/2),Aa=ha*ha,Da=1-kr*Qr*Qr,ci=Da?z(bt*Qr)*F(Vi=1/Da):Vi=0,Vi,ji=.5*(2*ci*bt*ha+lt/S)-qe,on=.5*(ci*Dt+pt)-$e,An=.5*Vi*(kr*Aa+ci*bt*Qr*yr)+.5/S,Yn=Vi*(jr*ur/4-ci*Dt*ha),Bn=.125*Vi*(ur*ha-ci*Dt*kr*jr),Ao=.5*Vi*(yr*Qr+ci*Aa*bt)+.5,ls=Yn*Bn-Ao*An,Mo=(on*Yn-ji*Ao)/ls,Yo=(ji*Bn-on*An)/ls;lt-=Mo,pt-=Yo}while((E(Mo)>l||E(Yo)>l)&&--Et>0);return[lt,pt]};function na(){return _.geoProjection(Kr).scale(158.837)}d.geoNaturalEarth=_.geoNaturalEarth1,d.geoNaturalEarthRaw=_.geoNaturalEarth1Raw,d.geoAiry=$,d.geoAiryRaw=X,d.geoAitoff=ce,d.geoAitoffRaw=ue,d.geoArmadillo=V,d.geoArmadilloRaw=de,d.geoAugust=ee,d.geoAugustRaw=Y,d.geoBaker=j,d.geoBakerRaw=ae,d.geoBerghaus=re,d.geoBerghausRaw=Q,d.geoBertin1953=at,d.geoBertin1953Raw=He,d.geoBoggs=Ze,d.geoBoggsRaw=Ce,d.geoBonne=qt,d.geoBonneRaw=kt,d.geoBottomley=Tr,d.geoBottomleyRaw=Gt,d.geoBromley=qr,d.geoBromleyRaw=mr,d.geoChamberlin=Le,d.geoChamberlinRaw=Oe,d.geoChamberlinAfrica=Ae,d.geoCollignon=Je,d.geoCollignonRaw=We,d.geoCraig=ot,d.geoCraigRaw=st,d.geoCraster=Pt,d.geoCrasterRaw=Ct,d.geoCylindricalEqualArea=cr,d.geoCylindricalEqualAreaRaw=Nt,d.geoCylindricalStereographic=sr,d.geoCylindricalStereographicRaw=lr,d.geoEckert1=_a,d.geoEckert1Raw=Pr,d.geoEckert2=Ra,d.geoEckert2Raw=Fa,d.geoEckert3=Wa,d.geoEckert3Raw=qa,d.geoEckert4=hi,d.geoEckert4Raw=Ca,d.geoEckert5=Yt,d.geoEckert5Raw=wi,d.geoEckert6=Zt,d.geoEckert6Raw=Rt,d.geoEisenlohr=ta,d.geoEisenlohrRaw=Or,d.geoFahey=Ba,d.geoFaheyRaw=ca,d.geoFoucaut=Za,d.geoFoucautRaw=$a,d.geoFoucautSinusoidal=pi,d.geoFoucautSinusoidalRaw=ri,d.geoGilbert=tn,d.geoGingery=Br,d.geoGingeryRaw=cn,d.geoGinzburg4=Rr,d.geoGinzburg4Raw=wr,d.geoGinzburg5=Hr,d.geoGinzburg5Raw=Ur,d.geoGinzburg6=Kt,d.geoGinzburg6Raw=gt,d.geoGinzburg8=Ir,d.geoGinzburg8Raw=vr,d.geoGinzburg9=Pa,d.geoGinzburg9Raw=va,d.geoGringorten=ki,d.geoGringortenRaw=la,d.geoGuyou=bo,d.geoGuyouRaw=En,d.geoHammer=Se,d.geoHammerRaw=pe,d.geoHammerRetroazimuthal=wo,d.geoHammerRetroazimuthalRaw=zs,d.geoHealpix=ss,d.geoHealpixRaw=gs,d.geoHill=Rs,d.geoHillRaw=ys,d.geoHomolosine=lo,d.geoHomolosineRaw=xs,d.geoHufnagel=bs,d.geoHufnagelRaw=Zo,d.geoHyperelliptical=Po,d.geoHyperellipticalRaw=yn,d.geoInterrupt=uo,d.geoInterruptedBoggs=Ks,d.geoInterruptedHomolosine=Cs,d.geoInterruptedMollweide=Ms,d.geoInterruptedMollweideHemispheres=lu,d.geoInterruptedSinuMollweide=du,d.geoInterruptedSinusoidal=Uc,d.geoKavrayskiy7=dc,d.geoKavrayskiy7Raw=Bs,d.geoLagrange=uu,d.geoLagrangeRaw=Wc,d.geoLarrivee=Ou,d.geoLarriveeRaw=ic,d.geoLaskowski=vl,d.geoLaskowskiRaw=nl,d.geoLittrow=Xs,d.geoLittrowRaw=Ts,d.geoLoximuthal=jl,d.geoLoximuthalRaw=nc,d.geoMiller=fl,d.geoMillerRaw=qu,d.geoModifiedStereographic=Ql,d.geoModifiedStereographicRaw=xh,d.geoModifiedStereographicAlaska=Vu,d.geoModifiedStereographicGs48=ql,d.geoModifiedStereographicGs50=Mf,d.geoModifiedStereographicMiller=Ac,d.geoModifiedStereographicLee=nf,d.geoMollweide=he,d.geoMollweideRaw=Ue,d.geoMtFlatPolarParabolic=jc,d.geoMtFlatPolarParabolicRaw=of,d.geoMtFlatPolarQuartic=Nf,d.geoMtFlatPolarQuarticRaw=Bf,d.geoMtFlatPolarSinusoidal=Ef,d.geoMtFlatPolarSinusoidalRaw=Gu,d.geoNaturalEarth2=Zc,d.geoNaturalEarth2Raw=oc,d.geoNellHammer=qc,d.geoNellHammerRaw=eu,d.geoInterruptedQuarticAuthalic=Zs,d.geoNicolosi=fh,d.geoNicolosiRaw=kf,d.geoPatterson=yu,d.geoPattersonRaw=vc,d.geoPolyconic=Ml,d.geoPolyconicRaw=Tu,d.geoPolyhedral=sf,d.geoPolyhedralButterfly=sl,d.geoPolyhedralCollignon=Cf,d.geoPolyhedralWaterman=hl,d.geoProject=nu,d.geoGringortenQuincuncial=Qt,d.geoPeirceQuincuncial=xr,d.geoPierceQuincuncial=xr,d.geoQuantize=aa,d.geoQuincuncial=Pc,d.geoRectangularPolyconic=ka,d.geoRectangularPolyconicRaw=$r,d.geoRobinson=Hi,d.geoRobinsonRaw=Ci,d.geoSatellite=Pi,d.geoSatelliteRaw=pn,d.geoSinuMollweide=qs,d.geoSinuMollweideRaw=Pn,d.geoSinusoidal=St,d.geoSinusoidalRaw=Ye,d.geoStitch=ll,d.geoTimes=Ro,d.geoTimesRaw=Un,d.geoTwoPointAzimuthal=Iu,d.geoTwoPointAzimuthalRaw=Fs,d.geoTwoPointAzimuthalUsa=cu,d.geoTwoPointEquidistant=bu,d.geoTwoPointEquidistantRaw=Zu,d.geoTwoPointEquidistantUsa=Ic,d.geoVanDerGrinten=Au,d.geoVanDerGrintenRaw=Rc,d.geoVanDerGrinten2=fo,d.geoVanDerGrinten2Raw=yc,d.geoVanDerGrinten3=Dc,d.geoVanDerGrinten3Raw=Fo,d.geoVanDerGrinten4=Yu,d.geoVanDerGrinten4Raw=lc,d.geoWagner=ie,d.geoWagner7=Te,d.geoWagnerRaw=I,d.geoWagner4=wt,d.geoWagner4Raw=ht,d.geoWagner6=$t,d.geoWagner6Raw=Ot,d.geoWiechel=Sr,d.geoWiechelRaw=Ar,d.geoWinkel3=na,d.geoWinkel3Raw=Kr,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),qU=Ge({\"src/plots/geo/zoom.js\"(Z,G){\"use strict\";var d=Vn(),_=sa(),A=so(),E=Math.PI/180,e=180/Math.PI,t={cursor:\"pointer\"},r={cursor:\"auto\"};function o(g,y){var D=g.projection,L;return y._isScoped?L=i:y._isClipped?L=h:L=s,L(g,D)}G.exports=o;function a(g,y){return d.behavior.zoom().translate(y.translate()).scale(y.scale())}function n(g,y,D){var L=g.id,z=g.graphDiv,F=z.layout,B=F[L],O=z._fullLayout,P=O[L],U={},N={};function X($,ue){U[L+\".\"+$]=_.nestedProperty(B,$).get(),A.call(\"_storeDirectGUIEdit\",F,O._preGUI,U);var ce=_.nestedProperty(P,$);ce.get()!==ue&&(ce.set(ue),_.nestedProperty(B,$).set(ue),N[L+\".\"+$]=ue)}D(X),X(\"projection.scale\",y.scale()/g.fitScale),X(\"fitbounds\",!1),z.emit(\"plotly_relayout\",N)}function i(g,y){var D=a(g,y);function L(){d.select(this).style(t)}function z(){y.scale(d.event.scale).translate(d.event.translate),g.render(!0);var O=y.invert(g.midPt);g.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":y.scale()/g.fitScale,\"geo.center.lon\":O[0],\"geo.center.lat\":O[1]})}function F(O){var P=y.invert(g.midPt);O(\"center.lon\",P[0]),O(\"center.lat\",P[1])}function B(){d.select(this).style(r),n(g,y,F)}return D.on(\"zoomstart\",L).on(\"zoom\",z).on(\"zoomend\",B),D}function s(g,y){var D=a(g,y),L=2,z,F,B,O,P,U,N,X,$;function ue(q){return y.invert(q)}function ce(q){var se=ue(q);if(!se)return!0;var ae=y(se);return Math.abs(ae[0]-q[0])>L||Math.abs(ae[1]-q[1])>L}function de(){d.select(this).style(t),z=d.mouse(this),F=y.rotate(),B=y.translate(),O=F,P=ue(z)}function V(){if(U=d.mouse(this),ce(z)){D.scale(y.scale()),D.translate(y.translate());return}y.scale(d.event.scale),y.translate([B[0],d.event.translate[1]]),P?ue(U)&&(X=ue(U),N=[O[0]+(X[0]-P[0]),F[1],F[2]],y.rotate(N),O=N):(z=U,P=ue(z)),$=!0,g.render(!0);var q=y.rotate(),se=y.invert(g.midPt);g.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":y.scale()/g.fitScale,\"geo.center.lon\":se[0],\"geo.center.lat\":se[1],\"geo.projection.rotation.lon\":-q[0]})}function Y(){d.select(this).style(r),$&&n(g,y,ee)}function ee(q){var se=y.rotate(),ae=y.invert(g.midPt);q(\"projection.rotation.lon\",-se[0]),q(\"center.lon\",ae[0]),q(\"center.lat\",ae[1])}return D.on(\"zoomstart\",de).on(\"zoom\",V).on(\"zoomend\",Y),D}function h(g,y){var D={r:y.rotate(),k:y.scale()},L=a(g,y),z=u(L,\"zoomstart\",\"zoom\",\"zoomend\"),F=0,B=L.on,O;L.on(\"zoomstart\",function(){d.select(this).style(t);var $=d.mouse(this),ue=y.rotate(),ce=ue,de=y.translate(),V=v(ue);O=f(y,$),B.call(L,\"zoom\",function(){var Y=d.mouse(this);if(y.scale(D.k=d.event.scale),!O)$=Y,O=f(y,$);else if(f(y,Y)){y.rotate(ue).translate(de);var ee=f(y,Y),q=T(O,ee),se=M(c(V,q)),ae=D.r=l(se,O,ce);(!isFinite(ae[0])||!isFinite(ae[1])||!isFinite(ae[2]))&&(ae=ce),y.rotate(ae),ce=ae}U(z.of(this,arguments))}),P(z.of(this,arguments))}).on(\"zoomend\",function(){d.select(this).style(r),B.call(L,\"zoom\",null),N(z.of(this,arguments)),n(g,y,X)}).on(\"zoom.redraw\",function(){g.render(!0);var $=y.rotate();g.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":y.scale()/g.fitScale,\"geo.projection.rotation.lon\":-$[0],\"geo.projection.rotation.lat\":-$[1]})});function P($){F++||$({type:\"zoomstart\"})}function U($){$({type:\"zoom\"})}function N($){--F||$({type:\"zoomend\"})}function X($){var ue=y.rotate();$(\"projection.rotation.lon\",-ue[0]),$(\"projection.rotation.lat\",-ue[1])}return d.rebind(L,z,\"on\")}function f(g,y){var D=g.invert(y);return D&&isFinite(D[0])&&isFinite(D[1])&&m(D)}function v(g){var y=.5*g[0]*E,D=.5*g[1]*E,L=.5*g[2]*E,z=Math.sin(y),F=Math.cos(y),B=Math.sin(D),O=Math.cos(D),P=Math.sin(L),U=Math.cos(L);return[F*O*U+z*B*P,z*O*U-F*B*P,F*B*U+z*O*P,F*O*P-z*B*U]}function c(g,y){var D=g[0],L=g[1],z=g[2],F=g[3],B=y[0],O=y[1],P=y[2],U=y[3];return[D*B-L*O-z*P-F*U,D*O+L*B+z*U-F*P,D*P-L*U+z*B+F*O,D*U+L*P-z*O+F*B]}function T(g,y){if(!(!g||!y)){var D=p(g,y),L=Math.sqrt(b(D,D)),z=.5*Math.acos(Math.max(-1,Math.min(1,b(g,y)))),F=Math.sin(z)/L;return L&&[Math.cos(z),D[2]*F,-D[1]*F,D[0]*F]}}function l(g,y,D){var L=S(y,2,g[0]);L=S(L,1,g[1]),L=S(L,0,g[2]-D[2]);var z=y[0],F=y[1],B=y[2],O=L[0],P=L[1],U=L[2],N=Math.atan2(F,z)*e,X=Math.sqrt(z*z+F*F),$,ue;Math.abs(P)>X?(ue=(P>0?90:-90)-N,$=0):(ue=Math.asin(P/X)*e-N,$=Math.sqrt(X*X-P*P));var ce=180-ue-2*N,de=(Math.atan2(U,O)-Math.atan2(B,$))*e,V=(Math.atan2(U,O)-Math.atan2(B,-$))*e,Y=x(D[0],D[1],ue,de),ee=x(D[0],D[1],ce,V);return Y<=ee?[ue,de,D[2]]:[ce,V,D[2]]}function x(g,y,D,L){var z=w(D-g),F=w(L-y);return Math.sqrt(z*z+F*F)}function w(g){return(g%360+540)%360-180}function S(g,y,D){var L=D*E,z=g.slice(),F=y===0?1:0,B=y===2?1:2,O=Math.cos(L),P=Math.sin(L);return z[F]=g[F]*O-g[B]*P,z[B]=g[B]*O+g[F]*P,z}function M(g){return[Math.atan2(2*(g[0]*g[1]+g[2]*g[3]),1-2*(g[1]*g[1]+g[2]*g[2]))*e,Math.asin(Math.max(-1,Math.min(1,2*(g[0]*g[2]-g[3]*g[1]))))*e,Math.atan2(2*(g[0]*g[3]+g[1]*g[2]),1-2*(g[2]*g[2]+g[3]*g[3]))*e]}function m(g){var y=g[0]*E,D=g[1]*E,L=Math.cos(D);return[L*Math.cos(y),L*Math.sin(y),Math.sin(D)]}function b(g,y){for(var D=0,L=0,z=g.length;L0&&P._module.calcGeoJSON(O,L)}if(!z){var U=this.updateProjection(D,L);if(U)return;(!this.viewInitial||this.scope!==F.scope)&&this.saveViewInitial(F)}this.scope=F.scope,this.updateBaseLayers(L,F),this.updateDims(L,F),this.updateFx(L,F),s.generalUpdatePerTraceModule(this.graphDiv,this,D,F);var N=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=N.selectAll(\".point\"),this.dataPoints.text=N.selectAll(\"text\"),this.dataPaths.line=N.selectAll(\".js-line\");var X=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=X.selectAll(\"path\"),this._render()},p.updateProjection=function(D,L){var z=this.graphDiv,F=L[this.id],B=L._size,O=F.domain,P=F.projection,U=F.lonaxis,N=F.lataxis,X=U._ax,$=N._ax,ue=this.projection=u(F),ce=[[B.l+B.w*O.x[0],B.t+B.h*(1-O.y[1])],[B.l+B.w*O.x[1],B.t+B.h*(1-O.y[0])]],de=F.center||{},V=P.rotation||{},Y=U.range||[],ee=N.range||[];if(F.fitbounds){X._length=ce[1][0]-ce[0][0],$._length=ce[1][1]-ce[0][1],X.range=f(z,X),$.range=f(z,$);var q=(X.range[0]+X.range[1])/2,se=($.range[0]+$.range[1])/2;if(F._isScoped)de={lon:q,lat:se};else if(F._isClipped){de={lon:q,lat:se},V={lon:q,lat:se,roll:V.roll};var ae=P.type,j=w.lonaxisSpan[ae]/2||180,Q=w.lataxisSpan[ae]/2||90;Y=[q-j,q+j],ee=[se-Q,se+Q]}else de={lon:q,lat:se},V={lon:q,lat:V.lat,roll:V.roll}}ue.center([de.lon-V.lon,de.lat-V.lat]).rotate([-V.lon,-V.lat,V.roll]).parallels(P.parallels);var re=y(Y,ee);ue.fitExtent(ce,re);var pe=this.bounds=ue.getBounds(re),we=this.fitScale=ue.scale(),Se=ue.translate();if(F.fitbounds){var Ie=ue.getBounds(y(X.range,$.range)),Re=Math.min((pe[1][0]-pe[0][0])/(Ie[1][0]-Ie[0][0]),(pe[1][1]-pe[0][1])/(Ie[1][1]-Ie[0][1]));isFinite(Re)?ue.scale(Re*we):r.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else ue.scale(P.scale*we);var He=this.midPt=[(pe[0][0]+pe[1][0])/2,(pe[0][1]+pe[1][1])/2];if(ue.translate([Se[0]+(He[0]-Se[0]),Se[1]+(He[1]-Se[1])]).clipExtent(pe),F._isAlbersUsa){var at=ue([de.lon,de.lat]),nt=ue.translate();ue.translate([nt[0]-(at[0]-nt[0]),nt[1]-(at[1]-nt[1])])}},p.updateBaseLayers=function(D,L){var z=this,F=z.topojson,B=z.layers,O=z.basePaths;function P(ce){return ce===\"lonaxis\"||ce===\"lataxis\"}function U(ce){return!!w.lineLayers[ce]}function N(ce){return!!w.fillLayers[ce]}var X=this.hasChoropleth?w.layersForChoropleth:w.layers,$=X.filter(function(ce){return U(ce)||N(ce)?L[\"show\"+ce]:P(ce)?L[ce].showgrid:!0}),ue=z.framework.selectAll(\".layer\").data($,String);ue.exit().each(function(ce){delete B[ce],delete O[ce],d.select(this).remove()}),ue.enter().append(\"g\").attr(\"class\",function(ce){return\"layer \"+ce}).each(function(ce){var de=B[ce]=d.select(this);ce===\"bg\"?z.bgRect=de.append(\"rect\").style(\"pointer-events\",\"all\"):P(ce)?O[ce]=de.append(\"path\").style(\"fill\",\"none\"):ce===\"backplot\"?de.append(\"g\").classed(\"choroplethlayer\",!0):ce===\"frontplot\"?de.append(\"g\").classed(\"scatterlayer\",!0):U(ce)?O[ce]=de.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):N(ce)&&(O[ce]=de.append(\"path\").style(\"stroke\",\"none\"))}),ue.order(),ue.each(function(ce){var de=O[ce],V=w.layerNameToAdjective[ce];ce===\"frame\"?de.datum(w.sphereSVG):U(ce)||N(ce)?de.datum(m(F,F.objects[ce])):P(ce)&&de.datum(g(ce,L,D)).call(a.stroke,L[ce].gridcolor).call(n.dashLine,L[ce].griddash,L[ce].gridwidth),U(ce)?de.call(a.stroke,L[V+\"color\"]).call(n.dashLine,\"\",L[V+\"width\"]):N(ce)&&de.call(a.fill,L[V+\"color\"])})},p.updateDims=function(D,L){var z=this.bounds,F=(L.framewidth||0)/2,B=z[0][0]-F,O=z[0][1]-F,P=z[1][0]-B+F,U=z[1][1]-O+F;n.setRect(this.clipRect,B,O,P,U),this.bgRect.call(n.setRect,B,O,P,U).call(a.fill,L.bgcolor),this.xaxis._offset=B,this.xaxis._length=P,this.yaxis._offset=O,this.yaxis._length=U},p.updateFx=function(D,L){var z=this,F=z.graphDiv,B=z.bgRect,O=D.dragmode,P=D.clickmode;if(z.isStatic)return;function U(){var ue=z.viewInitial,ce={};for(var de in ue)ce[z.id+\".\"+de]=ue[de];t.call(\"_guiRelayout\",F,ce),F.emit(\"plotly_doubleclick\",null)}function N(ue){return z.projection.invert([ue[0]+z.xaxis._offset,ue[1]+z.yaxis._offset])}var X=function(ue,ce){if(ce.isRect){var de=ue.range={};de[z.id]=[N([ce.xmin,ce.ymin]),N([ce.xmax,ce.ymax])]}else{var V=ue.lassoPoints={};V[z.id]=ce.map(N)}},$={element:z.bgRect.node(),gd:F,plotinfo:{id:z.id,xaxis:z.xaxis,yaxis:z.yaxis,fillRangeItems:X},xaxes:[z.xaxis],yaxes:[z.yaxis],subplot:z.id,clickFn:function(ue){ue===2&&T(F)}};O===\"pan\"?(B.node().onmousedown=null,B.call(x(z,L)),B.on(\"dblclick.zoom\",U),F._context._scrollZoom.geo||B.on(\"wheel.zoom\",null)):(O===\"select\"||O===\"lasso\")&&(B.on(\".zoom\",null),$.prepFn=function(ue,ce,de){c(ue,ce,de,$,O)},v.init($)),B.on(\"mousemove\",function(){var ue=z.projection.invert(r.getPositionFromD3Event());if(!ue)return v.unhover(F,d.event);z.xaxis.p2c=function(){return ue[0]},z.yaxis.p2c=function(){return ue[1]},i.hover(F,d.event,z.id)}),B.on(\"mouseout\",function(){F._dragging||v.unhover(F,d.event)}),B.on(\"click\",function(){O!==\"select\"&&O!==\"lasso\"&&(P.indexOf(\"select\")>-1&&l(d.event,F,[z.xaxis],[z.yaxis],z.id,$),P.indexOf(\"event\")>-1&&i.click(F,d.event))})},p.makeFramework=function(){var D=this,L=D.graphDiv,z=L._fullLayout,F=\"clip\"+z._uid+D.id;D.clipDef=z._clips.append(\"clipPath\").attr(\"id\",F),D.clipRect=D.clipDef.append(\"rect\"),D.framework=d.select(D.container).append(\"g\").attr(\"class\",\"geo \"+D.id).call(n.setClipUrl,F,L),D.project=function(B){var O=D.projection(B);return O?[O[0]-D.xaxis._offset,O[1]-D.yaxis._offset]:[null,null]},D.xaxis={_id:\"x\",c2p:function(B){return D.project(B)[0]}},D.yaxis={_id:\"y\",c2p:function(B){return D.project(B)[1]}},D.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},h.setConvert(D.mockAxis,z)},p.saveViewInitial=function(D){var L=D.center||{},z=D.projection,F=z.rotation||{};this.viewInitial={fitbounds:D.fitbounds,\"projection.scale\":z.scale};var B;D._isScoped?B={\"center.lon\":L.lon,\"center.lat\":L.lat}:D._isClipped?B={\"projection.rotation.lon\":F.lon,\"projection.rotation.lat\":F.lat}:B={\"center.lon\":L.lon,\"center.lat\":L.lat,\"projection.rotation.lon\":F.lon},r.extendFlat(this.viewInitial,B)},p.render=function(D){this._hasMarkerAngles&&D?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},p._render=function(){var D=this.projection,L=D.getPath(),z;function F(O){var P=D(O.lonlat);return P?o(P[0],P[1]):null}function B(O){return D.isLonLatOverEdges(O.lonlat)?\"none\":null}for(z in this.basePaths)this.basePaths[z].attr(\"d\",L);for(z in this.dataPaths)this.dataPaths[z].attr(\"d\",function(O){return L(O.geojson)});for(z in this.dataPoints)this.dataPoints[z].attr(\"display\",B).attr(\"transform\",F)};function u(D){var L=D.projection,z=L.type,F=w.projNames[z];F=\"geo\"+r.titleCase(F);for(var B=_[F]||e[F],O=B(),P=D._isSatellite?Math.acos(1/L.distance)*180/Math.PI:D._isClipped?w.lonaxisSpan[z]/2:null,U=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],N=function(ue){return ue?O:[]},X=0;XV}else return!1},O.getPath=function(){return A().projection(O)},O.getBounds=function(ue){return O.getPath().bounds(ue)},O.precision(w.precision),D._isSatellite&&O.tilt(L.tilt).distance(L.distance),P&&O.clipAngle(P-w.clipPad),O}function g(D,L,z){var F=1e-6,B=2.5,O=L[D],P=w.scopeDefaults[L.scope],U,N,X;D===\"lonaxis\"?(U=P.lonaxisRange,N=P.lataxisRange,X=function(se,ae){return[se,ae]}):D===\"lataxis\"&&(U=P.lataxisRange,N=P.lonaxisRange,X=function(se,ae){return[ae,se]});var $={type:\"linear\",range:[U[0],U[1]-F],tick0:O.tick0,dtick:O.dtick};h.setConvert($,z);var ue=h.calcTicks($);!L.isScoped&&D===\"lonaxis\"&&ue.pop();for(var ce=ue.length,de=new Array(ce),V=0;V0&&B<0&&(B+=360);var U=(B-F)/4;return{type:\"Polygon\",coordinates:[[[F,O],[F,P],[F+U,P],[F+2*U,P],[F+3*U,P],[B,P],[B,O],[B-U,O],[B-2*U,O],[B-3*U,O],[F,O]]]}}}}),FE=Ge({\"src/plots/geo/layout_attributes.js\"(Z,G){\"use strict\";var d=sh(),_=wc().attributes,A=Gh().dash,E=yx(),e=pc().overrideAll,t=Jm(),r={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:d.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:A},o=G.exports=e({domain:_({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:t(E.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:t(E.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:d.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:E.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:E.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:E.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:E.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:d.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:d.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:d.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:d.background},lonaxis:r,lataxis:r},\"plot\",\"from-root\");o.uirevision={valType:\"any\",editType:\"none\"}}}),GU=Ge({\"src/plots/geo/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=o0(),A=Hh().getSubplotData,E=yx(),e=FE(),t=E.axesNames;G.exports=function(a,n,i){_(a,n,i,{type:\"geo\",attributes:e,handleDefaults:r,fullData:i,partition:\"y\"})};function r(o,a,n,i){var s=A(i.fullData,\"geo\",i.id),h=s.map(function(ee){return ee.index}),f=n(\"resolution\"),v=n(\"scope\"),c=E.scopeDefaults[v],T=n(\"projection.type\",c.projType),l=a._isAlbersUsa=T===\"albers usa\";l&&(v=a.scope=\"usa\");var x=a._isScoped=v!==\"world\",w=a._isSatellite=T===\"satellite\",S=a._isConic=T.indexOf(\"conic\")!==-1||T===\"albers\",M=a._isClipped=!!E.lonaxisSpan[T];if(o.visible===!1){var m=d.extendDeep({},a._template);m.showcoastlines=!1,m.showcountries=!1,m.showframe=!1,m.showlakes=!1,m.showland=!1,m.showocean=!1,m.showrivers=!1,m.showsubunits=!1,m.lonaxis&&(m.lonaxis.showgrid=!1),m.lataxis&&(m.lataxis.showgrid=!1),a._template=m}for(var b=n(\"visible\"),p,u=0;u0&&N<0&&(N+=360);var X=(U+N)/2,$;if(!l){var ue=x?c.projRotate:[X,0,0];$=n(\"projection.rotation.lon\",ue[0]),n(\"projection.rotation.lat\",ue[1]),n(\"projection.rotation.roll\",ue[2]),p=n(\"showcoastlines\",!x&&b),p&&(n(\"coastlinecolor\"),n(\"coastlinewidth\")),p=n(\"showocean\",b?void 0:!1),p&&n(\"oceancolor\")}var ce,de;if(l?(ce=-96.6,de=38.7):(ce=x?X:$,de=(P[0]+P[1])/2),n(\"center.lon\",ce),n(\"center.lat\",de),w&&(n(\"projection.tilt\"),n(\"projection.distance\")),S){var V=c.projParallels||[0,60];n(\"projection.parallels\",V)}n(\"projection.scale\"),p=n(\"showland\",b?void 0:!1),p&&n(\"landcolor\"),p=n(\"showlakes\",b?void 0:!1),p&&n(\"lakecolor\"),p=n(\"showrivers\",b?void 0:!1),p&&(n(\"rivercolor\"),n(\"riverwidth\")),p=n(\"showcountries\",x&&v!==\"usa\"&&b),p&&(n(\"countrycolor\"),n(\"countrywidth\")),(v===\"usa\"||v===\"north america\"&&f===50)&&(n(\"showsubunits\",b),n(\"subunitcolor\"),n(\"subunitwidth\")),x||(p=n(\"showframe\",b),p&&(n(\"framecolor\"),n(\"framewidth\"))),n(\"bgcolor\");var Y=n(\"fitbounds\");Y&&(delete a.projection.scale,x?(delete a.center.lon,delete a.center.lat):M?(delete a.center.lon,delete a.center.lat,delete a.projection.rotation.lon,delete a.projection.rotation.lat,delete a.lonaxis.range,delete a.lataxis.range):(delete a.center.lon,delete a.center.lat,delete a.projection.rotation.lon))}}}),OE=Ge({\"src/plots/geo/index.js\"(Z,G){\"use strict\";var d=Hh().getSubplotCalcData,_=sa().counterRegex,A=VU(),E=\"geo\",e=_(E),t={};t[E]={valType:\"subplotid\",dflt:E,editType:\"calc\"};function r(n){for(var i=n._fullLayout,s=n.calcdata,h=i._subplots[E],f=0;f\")}}}}),fT=Ge({\"src/traces/choropleth/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A,E,e,t){_.location=A.location,_.z=A.z;var r=e[t];return r.fIn&&r.fIn.properties&&(_.properties=r.fIn.properties),_.ct=r.ct,_}}}),hT=Ge({\"src/traces/choropleth/select.js\"(Z,G){\"use strict\";G.exports=function(_,A){var E=_.cd,e=_.xaxis,t=_.yaxis,r=[],o,a,n,i,s;if(A===!1)for(o=0;o=Math.min(N,X)&&T<=Math.max(N,X)?0:1/0}if(L=Math.min($,ue)&&l<=Math.max($,ue)?0:1/0}B=Math.sqrt(L*L+z*z),u=w[D]}}}else for(D=w.length-1;D>-1;D--)p=w[D],g=v[p],y=c[p],L=h.c2p(g)-T,z=f.c2p(y)-l,F=Math.sqrt(L*L+z*z),F100},Z.isDotSymbol=function(d){return typeof d==\"string\"?G.DOT_RE.test(d):d>200}}}),KU=Ge({\"src/traces/scattergl/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=so(),A=dT(),E=xx(),e=Tv(),t=Fu(),r=n1(),o=Qd(),a=md(),n=Dd(),i=ev(),s=zd();G.exports=function(f,v,c,T){function l(u,g){return d.coerce(f,v,E,u,g)}var x=f.marker?A.isOpenSymbol(f.marker.symbol):!1,w=t.isBubble(f),S=r(f,v,T,l);if(!S){v.visible=!1;return}o(f,v,T,l),l(\"xhoverformat\"),l(\"yhoverformat\");var M=S>>1,f=r[h],v=a!==void 0?a(f,o):f-o;v>=0?(s=h,i=h-1):n=h+1}return s}function _(r,o,a,n,i){for(var s=i+1;n<=i;){var h=n+i>>>1,f=r[h],v=a!==void 0?a(f,o):f-o;v>0?(s=h,i=h-1):n=h+1}return s}function A(r,o,a,n,i){for(var s=n-1;n<=i;){var h=n+i>>>1,f=r[h],v=a!==void 0?a(f,o):f-o;v<0?(s=h,n=h+1):i=h-1}return s}function E(r,o,a,n,i){for(var s=n-1;n<=i;){var h=n+i>>>1,f=r[h],v=a!==void 0?a(f,o):f-o;v<=0?(s=h,n=h+1):i=h-1}return s}function e(r,o,a,n,i){for(;n<=i;){var s=n+i>>>1,h=r[s],f=a!==void 0?a(h,o):h-o;if(f===0)return s;f<=0?n=s+1:i=s-1}return-1}function t(r,o,a,n,i,s){return typeof a==\"function\"?s(r,o,a,n===void 0?0:n|0,i===void 0?r.length-1:i|0):s(r,o,void 0,a===void 0?0:a|0,n===void 0?r.length-1:n|0)}G.exports={ge:function(r,o,a,n,i){return t(r,o,a,n,i,d)},gt:function(r,o,a,n,i){return t(r,o,a,n,i,_)},lt:function(r,o,a,n,i){return t(r,o,a,n,i,A)},le:function(r,o,a,n,i){return t(r,o,a,n,i,E)},eq:function(r,o,a,n,i){return t(r,o,a,n,i,e)}}}}),Ev=Ge({\"node_modules/pick-by-alias/index.js\"(Z,G){\"use strict\";G.exports=function(E,e,t){var r={},o,a;if(typeof e==\"string\"&&(e=_(e)),Array.isArray(e)){var n={};for(a=0;a1&&(A=arguments),typeof A==\"string\"?A=A.split(/\\s/).map(parseFloat):typeof A==\"number\"&&(A=[A]),A.length&&typeof A[0]==\"number\"?A.length===1?E={width:A[0],height:A[0],x:0,y:0}:A.length===2?E={width:A[0],height:A[1],x:0,y:0}:E={x:A[0],y:A[1],width:A[2]-A[0]||0,height:A[3]-A[1]||0}:A&&(A=d(A,{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:A.left||0,y:A.top||0},A.width==null?A.right?E.width=A.right-E.x:E.width=0:E.width=A.width,A.height==null?A.bottom?E.height=A.bottom-E.y:E.height=0:E.height=A.height),E}}}),mg=Ge({\"node_modules/array-bounds/index.js\"(Z,G){\"use strict\";G.exports=d;function d(_,A){if(!_||_.length==null)throw Error(\"Argument should be an array\");A==null?A=1:A=Math.floor(A);for(var E=Array(A*2),e=0;et&&(t=_[o]),_[o]>>1,w;v.dtype||(v.dtype=\"array\"),typeof v.dtype==\"string\"?w=new(a(v.dtype))(x):v.dtype&&(w=v.dtype,Array.isArray(w)&&(w.length=x));for(let L=0;Lc||P>i){for(let se=0;sere||X>pe||$=ce||j===Q)return;let we=S[ae];Q===void 0&&(Q=we.length);for(let he=j;he=B&&ne<=P&&Ce>=O&&Ce<=U&&de.push(le)}let Se=M[ae],Ie=Se[j*4+0],Re=Se[j*4+1],He=Se[j*4+2],at=Se[j*4+3],nt=Y(Se,j+1),tt=se*.5,Ue=ae+1;V(ee,q,tt,Ue,Ie,Re||He||at||nt),V(ee,q+tt,tt,Ue,Re,He||at||nt),V(ee+tt,q,tt,Ue,He,at||nt),V(ee+tt,q+tt,tt,Ue,at,nt)}function Y(ee,q){let se=null,ae=0;for(;se===null;)if(se=ee[q*4+ae],ae++,ae>ee.length)return null;return se}return de}function y(L,z,F,B,O){let P=[];for(let U=0;U1&&(f=1),f<-1&&(f=-1),h*Math.acos(f)},t=function(a,n,i,s,h,f,v,c,T,l,x,w){var S=Math.pow(h,2),M=Math.pow(f,2),m=Math.pow(x,2),b=Math.pow(w,2),p=S*M-S*b-M*m;p<0&&(p=0),p/=S*b+M*m,p=Math.sqrt(p)*(v===c?-1:1);var u=p*h/f*w,g=p*-f/h*x,y=l*u-T*g+(a+i)/2,D=T*u+l*g+(n+s)/2,L=(x-u)/h,z=(w-g)/f,F=(-x-u)/h,B=(-w-g)/f,O=e(1,0,L,z),P=e(L,z,F,B);return c===0&&P>0&&(P-=_),c===1&&P<0&&(P+=_),[y,D,O,P]},r=function(a){var n=a.px,i=a.py,s=a.cx,h=a.cy,f=a.rx,v=a.ry,c=a.xAxisRotation,T=c===void 0?0:c,l=a.largeArcFlag,x=l===void 0?0:l,w=a.sweepFlag,S=w===void 0?0:w,M=[];if(f===0||v===0)return[];var m=Math.sin(T*_/360),b=Math.cos(T*_/360),p=b*(n-s)/2+m*(i-h)/2,u=-m*(n-s)/2+b*(i-h)/2;if(p===0&&u===0)return[];f=Math.abs(f),v=Math.abs(v);var g=Math.pow(p,2)/Math.pow(f,2)+Math.pow(u,2)/Math.pow(v,2);g>1&&(f*=Math.sqrt(g),v*=Math.sqrt(g));var y=t(n,i,s,h,f,v,x,S,m,b,p,u),D=d(y,4),L=D[0],z=D[1],F=D[2],B=D[3],O=Math.abs(B)/(_/4);Math.abs(1-O)<1e-7&&(O=1);var P=Math.max(Math.ceil(O),1);B/=P;for(var U=0;U4?(o=l[l.length-4],a=l[l.length-3]):(o=f,a=v),r.push(l)}return r}function A(e,t,r,o){return[\"C\",e,t,r,o,r,o]}function E(e,t,r,o,a,n){return[\"C\",e/3+2/3*r,t/3+2/3*o,a/3+2/3*r,n/3+2/3*o,a,n]}}}),UE=Ge({\"node_modules/is-svg-path/index.js\"(Z,G){\"use strict\";G.exports=function(_){return typeof _!=\"string\"?!1:(_=_.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(_)&&/[\\dz]$/i.test(_)&&_.length>4))}}}),nj=Ge({\"node_modules/svg-path-bounds/index.js\"(Z,G){\"use strict\";var d=M_(),_=NE(),A=ij(),E=UE(),e=K_();G.exports=t;function t(r){if(Array.isArray(r)&&r.length===1&&typeof r[0]==\"string\"&&(r=r[0]),typeof r==\"string\"&&(e(E(r),\"String is not an SVG path.\"),r=d(r)),e(Array.isArray(r),\"Argument should be a string or an array of path segments.\"),r=_(r),r=A(r),!r.length)return[0,0,0,0];for(var o=[1/0,1/0,-1/0,-1/0],a=0,n=r.length;ao[2]&&(o[2]=i[s+0]),i[s+1]>o[3]&&(o[3]=i[s+1]);return o}}}),oj=Ge({\"node_modules/normalize-svg-path/index.js\"(Z,G){var d=Math.PI,_=o(120);G.exports=A;function A(a){for(var n,i=[],s=0,h=0,f=0,v=0,c=null,T=null,l=0,x=0,w=0,S=a.length;w7&&(i.push(M.splice(0,7)),M.unshift(\"C\"));break;case\"S\":var b=l,p=x;(n==\"C\"||n==\"S\")&&(b+=b-s,p+=p-h),M=[\"C\",b,p,M[1],M[2],M[3],M[4]];break;case\"T\":n==\"Q\"||n==\"T\"?(c=l*2-c,T=x*2-T):(c=l,T=x),M=e(l,x,c,T,M[1],M[2]);break;case\"Q\":c=M[1],T=M[2],M=e(l,x,M[1],M[2],M[3],M[4]);break;case\"L\":M=E(l,x,M[1],M[2]);break;case\"H\":M=E(l,x,M[1],x);break;case\"V\":M=E(l,x,l,M[1]);break;case\"Z\":M=E(l,x,f,v);break}n=m,l=M[M.length-2],x=M[M.length-1],M.length>4?(s=M[M.length-4],h=M[M.length-3]):(s=l,h=x),i.push(M)}return i}function E(a,n,i,s){return[\"C\",a,n,i,s,i,s]}function e(a,n,i,s,h,f){return[\"C\",a/3+2/3*i,n/3+2/3*s,h/3+2/3*i,f/3+2/3*s,h,f]}function t(a,n,i,s,h,f,v,c,T,l){if(l)y=l[0],D=l[1],u=l[2],g=l[3];else{var x=r(a,n,-h);a=x.x,n=x.y,x=r(c,T,-h),c=x.x,T=x.y;var w=(a-c)/2,S=(n-T)/2,M=w*w/(i*i)+S*S/(s*s);M>1&&(M=Math.sqrt(M),i=M*i,s=M*s);var m=i*i,b=s*s,p=(f==v?-1:1)*Math.sqrt(Math.abs((m*b-m*S*S-b*w*w)/(m*S*S+b*w*w)));p==1/0&&(p=1);var u=p*i*S/s+(a+c)/2,g=p*-s*w/i+(n+T)/2,y=Math.asin(((n-g)/s).toFixed(9)),D=Math.asin(((T-g)/s).toFixed(9));y=aD&&(y=y-d*2),!v&&D>y&&(D=D-d*2)}if(Math.abs(D-y)>_){var L=D,z=c,F=T;D=y+_*(v&&D>y?1:-1),c=u+i*Math.cos(D),T=g+s*Math.sin(D);var B=t(c,T,i,s,h,0,v,z,F,[D,L,u,g])}var O=Math.tan((D-y)/4),P=4/3*i*O,U=4/3*s*O,N=[2*a-(a+P*Math.sin(y)),2*n-(n-U*Math.cos(y)),c+P*Math.sin(D),T-U*Math.cos(D),c,T];if(l)return N;B&&(N=N.concat(B));for(var X=0;X0?r.strokeStyle=\"white\":r.strokeStyle=\"black\",r.lineWidth=Math.abs(c)),r.translate(h*.5,f*.5),r.scale(x,x),n()){var w=new Path2D(i);r.fill(w),c&&r.stroke(w)}else{var S=_(i);A(r,S),r.fill(),c&&r.stroke()}r.setTransform(1,0,0,1,0,0);var M=e(r,{cutoff:s.cutoff!=null?s.cutoff:.5,radius:s.radius!=null?s.radius:v*.5});return M}var a;function n(){if(a!=null)return a;var i=document.createElement(\"canvas\").getContext(\"2d\");if(i.canvas.width=i.canvas.height=1,!window.Path2D)return a=!1;var s=new Path2D(\"M0,0h1v1h-1v-1Z\");i.fillStyle=\"black\",i.fill(s);var h=i.getImageData(0,0,1,1);return a=h&&h.data&&h.data[3]===255}}}),yg=Ge({\"src/traces/scattergl/convert.js\"(Z,G){\"use strict\";var d=ns(),_=uj(),A=d0(),E=so(),e=sa(),t=e.isArrayOrTypedArray,r=as(),o=tf(),a=tm().formatColor,n=Fu(),i=r1(),s=dT(),h=y0(),f=Ym().DESELECTDIM,v={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},c=$p().appendArrayPointValue;function T(B,O){var P,U={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},N=B._context.plotGlPixelRatio;if(O.visible!==!0)return U;if(n.hasText(O)&&(U.text=l(B,O),U.textSel=M(B,O,O.selected),U.textUnsel=M(B,O,O.unselected)),n.hasMarkers(O)&&(U.marker=w(B,O),U.markerSel=S(B,O,O.selected),U.markerUnsel=S(B,O,O.unselected),!O.unselected&&t(O.marker.opacity))){var X=O.marker.opacity;for(U.markerUnsel.opacity=new Array(X.length),P=0;P500?\"bold\":\"normal\":B}function w(B,O){var P=O._length,U=O.marker,N={},X,$=t(U.symbol),ue=t(U.angle),ce=t(U.color),de=t(U.line.color),V=t(U.opacity),Y=t(U.size),ee=t(U.line.width),q;if($||(q=s.isOpenSymbol(U.symbol)),$||ce||de||V||ue){N.symbols=new Array(P),N.angles=new Array(P),N.colors=new Array(P),N.borderColors=new Array(P);var se=U.symbol,ae=U.angle,j=a(U,U.opacity,P),Q=a(U.line,U.opacity,P);if(!t(Q[0])){var re=Q;for(Q=Array(P),X=0;Xh.TOO_MANY_POINTS||n.hasMarkers(O)?\"rect\":\"round\";if(de&&O.connectgaps){var Y=X[0],ee=X[1];for($=0;$1?ce[$]:ce[0]:ce,q=t(de)?de.length>1?de[$]:de[0]:de,se=v[ee],ae=v[q],j=V?V/.8+1:0,Q=-ae*j-ae*.5;X.offset[$]=[se*j/Y,Q/Y]}}return X}G.exports={style:T,markerStyle:w,markerSelection:S,linePositions:L,errorBarPositions:z,textPosition:F}}}),jE=Ge({\"src/traces/scattergl/scene_update.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E){var e=E._scene,t={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},r={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return E._scene||(e=E._scene={},e.init=function(){d.extendFlat(e,r,t)},e.init(),e.update=function(a){var n=d.repeat(a,e.count);if(e.fill2d&&e.fill2d.update(n),e.scatter2d&&e.scatter2d.update(n),e.line2d&&e.line2d.update(n),e.error2d&&e.error2d.update(n.concat(n)),e.select2d&&e.select2d.update(n),e.glText)for(var i=0;i=f,u=b*2,g={},y,D=S.makeCalcdata(x,\"x\"),L=M.makeCalcdata(x,\"y\"),z=e(x,S,\"x\",D),F=e(x,M,\"y\",L),B=z.vals,O=F.vals;x._x=B,x._y=O,x.xperiodalignment&&(x._origX=D,x._xStarts=z.starts,x._xEnds=z.ends),x.yperiodalignment&&(x._origY=L,x._yStarts=F.starts,x._yEnds=F.ends);var P=new Array(u),U=new Array(b);for(y=0;y1&&_.extendFlat(m.line,i.linePositions(T,x,w)),m.errorX||m.errorY){var b=i.errorBarPositions(T,x,w,S,M);m.errorX&&_.extendFlat(m.errorX,b.x),m.errorY&&_.extendFlat(m.errorY,b.y)}return m.text&&(_.extendFlat(m.text,{positions:w},i.textPosition(T,x,m.text,m.marker)),_.extendFlat(m.textSel,{positions:w},i.textPosition(T,x,m.text,m.markerSel)),_.extendFlat(m.textUnsel,{positions:w},i.textPosition(T,x,m.text,m.markerUnsel))),m}}}),qE=Ge({\"src/traces/scattergl/edit_style.js\"(Z,G){\"use strict\";var d=sa(),_=$n(),A=Ym().DESELECTDIM;function E(e){var t=e[0],r=t.trace,o=t.t,a=o._scene,n=o.index,i=a.selectBatch[n],s=a.unselectBatch[n],h=a.textOptions[n],f=a.textSelectedOptions[n]||{},v=a.textUnselectedOptions[n]||{},c=d.extendFlat({},h),T,l;if(i.length||s.length){var x=f.color,w=v.color,S=h.color,M=d.isArrayOrTypedArray(S);for(c.color=new Array(r._length),T=0;T>>24,r=(E&16711680)>>>16,o=(E&65280)>>>8,a=E&255;return e===!1?[t,r,o,a]:[t/255,r/255,o/255,a/255]}}}),ch=Ge({\"node_modules/object-assign/index.js\"(Z,G){\"use strict\";var d=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;function E(t){if(t==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}function e(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",Object.getOwnPropertyNames(t)[0]===\"5\")return!1;for(var r={},o=0;o<10;o++)r[\"_\"+String.fromCharCode(o)]=o;var a=Object.getOwnPropertyNames(r).map(function(i){return r[i]});if(a.join(\"\")!==\"0123456789\")return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(i){n[i]=i}),Object.keys(Object.assign({},n)).join(\"\")===\"abcdefghijklmnopqrst\"}catch{return!1}}G.exports=e()?Object.assign:function(t,r){for(var o,a=E(t),n,i=1;ig.length)&&(y=g.length);for(var D=0,L=new Array(y);D 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`]),ce.vert=c([`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\n// \\`invariant\\` effectively turns off optimizations for the position.\n// We need this because -fast-math on M1 Macs is re-ordering\n// floating point operations in a way that causes floating point\n// precision limits to put points in the wrong locations.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\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) * pointSizeScale;\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`]),w&&(ce.frag=ce.frag.replace(\"smoothstep\",\"smoothStep\"),ue.frag=ue.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=g(ce)}b.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},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var g=this,y=arguments.length,D=new Array(y),L=0;Lle)?Ue.tree=f(tt,{bounds:Ye}):le&&le.length&&(Ue.tree=le),Ue.tree){var St={primitive:\"points\",usage:\"static\",data:Ue.tree,type:\"uint32\"};Ue.elements?Ue.elements(St):Ue.elements=B.elements(St)}var kt=S.float32(tt);ne({data:kt,usage:\"dynamic\"});var qt=S.fract32(tt,kt);return Ce({data:qt,usage:\"dynamic\"}),Ze({data:new Uint8Array(rt),type:\"uint8\",usage:\"stream\"}),tt}},{marker:function(tt,Ue,he){var le=Ue.activation;if(le.forEach(function(qt){return qt&&qt.destroy&&qt.destroy()}),le.length=0,!tt||typeof tt[0]==\"number\"){var ne=g.addMarker(tt);le[ne]=!0}else{for(var Ce=[],Ze=0,rt=Math.min(tt.length,Ue.count);Ze=0)return z;var F;if(g instanceof Uint8Array||g instanceof Uint8ClampedArray)F=g;else{F=new Uint8Array(g.length);for(var B=0,O=g.length;BL*4&&(this.tooManyColors=!0),this.updatePalette(D),z.length===1?z[0]:z},b.prototype.updatePalette=function(g){if(!this.tooManyColors){var y=this.maxColors,D=this.paletteTexture,L=Math.ceil(g.length*.25/y);if(L>1){g=g.slice();for(var z=g.length*.25%y;z80*P){ue=de=B[0],ce=V=B[1];for(var se=P;sede&&(de=Y),ee>V&&(V=ee);q=Math.max(de-ue,V-ce),q=q!==0?32767/q:0}return E(X,$,P,ue,ce,q,0),$}function _(B,O,P,U,N){var X,$;if(N===F(B,O,P,U)>0)for(X=O;X=O;X-=U)$=D(X,B[X],B[X+1],$);return $&&S($,$.next)&&(L($),$=$.next),$}function A(B,O){if(!B)return B;O||(O=B);var P=B,U;do if(U=!1,!P.steiner&&(S(P,P.next)||w(P.prev,P,P.next)===0)){if(L(P),P=O=P.prev,P===P.next)break;U=!0}else P=P.next;while(U||P!==O);return O}function E(B,O,P,U,N,X,$){if(B){!$&&X&&f(B,U,N,X);for(var ue=B,ce,de;B.prev!==B.next;){if(ce=B.prev,de=B.next,X?t(B,U,N,X):e(B)){O.push(ce.i/P|0),O.push(B.i/P|0),O.push(de.i/P|0),L(B),B=de.next,ue=de.next;continue}if(B=de,B===ue){$?$===1?(B=r(A(B),O,P),E(B,O,P,U,N,X,2)):$===2&&o(B,O,P,U,N,X):E(A(B),O,P,U,N,X,1);break}}}}function e(B){var O=B.prev,P=B,U=B.next;if(w(O,P,U)>=0)return!1;for(var N=O.x,X=P.x,$=U.x,ue=O.y,ce=P.y,de=U.y,V=NX?N>$?N:$:X>$?X:$,q=ue>ce?ue>de?ue:de:ce>de?ce:de,se=U.next;se!==O;){if(se.x>=V&&se.x<=ee&&se.y>=Y&&se.y<=q&&l(N,ue,X,ce,$,de,se.x,se.y)&&w(se.prev,se,se.next)>=0)return!1;se=se.next}return!0}function t(B,O,P,U){var N=B.prev,X=B,$=B.next;if(w(N,X,$)>=0)return!1;for(var ue=N.x,ce=X.x,de=$.x,V=N.y,Y=X.y,ee=$.y,q=uece?ue>de?ue:de:ce>de?ce:de,j=V>Y?V>ee?V:ee:Y>ee?Y:ee,Q=c(q,se,O,P,U),re=c(ae,j,O,P,U),pe=B.prevZ,we=B.nextZ;pe&&pe.z>=Q&&we&&we.z<=re;){if(pe.x>=q&&pe.x<=ae&&pe.y>=se&&pe.y<=j&&pe!==N&&pe!==$&&l(ue,V,ce,Y,de,ee,pe.x,pe.y)&&w(pe.prev,pe,pe.next)>=0||(pe=pe.prevZ,we.x>=q&&we.x<=ae&&we.y>=se&&we.y<=j&&we!==N&&we!==$&&l(ue,V,ce,Y,de,ee,we.x,we.y)&&w(we.prev,we,we.next)>=0))return!1;we=we.nextZ}for(;pe&&pe.z>=Q;){if(pe.x>=q&&pe.x<=ae&&pe.y>=se&&pe.y<=j&&pe!==N&&pe!==$&&l(ue,V,ce,Y,de,ee,pe.x,pe.y)&&w(pe.prev,pe,pe.next)>=0)return!1;pe=pe.prevZ}for(;we&&we.z<=re;){if(we.x>=q&&we.x<=ae&&we.y>=se&&we.y<=j&&we!==N&&we!==$&&l(ue,V,ce,Y,de,ee,we.x,we.y)&&w(we.prev,we,we.next)>=0)return!1;we=we.nextZ}return!0}function r(B,O,P){var U=B;do{var N=U.prev,X=U.next.next;!S(N,X)&&M(N,U,U.next,X)&&u(N,X)&&u(X,N)&&(O.push(N.i/P|0),O.push(U.i/P|0),O.push(X.i/P|0),L(U),L(U.next),U=B=X),U=U.next}while(U!==B);return A(U)}function o(B,O,P,U,N,X){var $=B;do{for(var ue=$.next.next;ue!==$.prev;){if($.i!==ue.i&&x($,ue)){var ce=y($,ue);$=A($,$.next),ce=A(ce,ce.next),E($,O,P,U,N,X,0),E(ce,O,P,U,N,X,0);return}ue=ue.next}$=$.next}while($!==B)}function a(B,O,P,U){var N=[],X,$,ue,ce,de;for(X=0,$=O.length;X<$;X++)ue=O[X]*U,ce=X<$-1?O[X+1]*U:B.length,de=_(B,ue,ce,U,!1),de===de.next&&(de.steiner=!0),N.push(T(de));for(N.sort(n),X=0;X=P.next.y&&P.next.y!==P.y){var ue=P.x+(N-P.y)*(P.next.x-P.x)/(P.next.y-P.y);if(ue<=U&&ue>X&&(X=ue,$=P.x=P.x&&P.x>=de&&U!==P.x&&l(N$.x||P.x===$.x&&h($,P)))&&($=P,Y=ee)),P=P.next;while(P!==ce);return $}function h(B,O){return w(B.prev,B,O.prev)<0&&w(O.next,B,B.next)<0}function f(B,O,P,U){var N=B;do N.z===0&&(N.z=c(N.x,N.y,O,P,U)),N.prevZ=N.prev,N.nextZ=N.next,N=N.next;while(N!==B);N.prevZ.nextZ=null,N.prevZ=null,v(N)}function v(B){var O,P,U,N,X,$,ue,ce,de=1;do{for(P=B,B=null,X=null,$=0;P;){for($++,U=P,ue=0,O=0;O0||ce>0&&U;)ue!==0&&(ce===0||!U||P.z<=U.z)?(N=P,P=P.nextZ,ue--):(N=U,U=U.nextZ,ce--),X?X.nextZ=N:B=N,N.prevZ=X,X=N;P=U}X.nextZ=null,de*=2}while($>1);return B}function c(B,O,P,U,N){return B=(B-P)*N|0,O=(O-U)*N|0,B=(B|B<<8)&16711935,B=(B|B<<4)&252645135,B=(B|B<<2)&858993459,B=(B|B<<1)&1431655765,O=(O|O<<8)&16711935,O=(O|O<<4)&252645135,O=(O|O<<2)&858993459,O=(O|O<<1)&1431655765,B|O<<1}function T(B){var O=B,P=B;do(O.x=(B-$)*(X-ue)&&(B-$)*(U-ue)>=(P-$)*(O-ue)&&(P-$)*(X-ue)>=(N-$)*(U-ue)}function x(B,O){return B.next.i!==O.i&&B.prev.i!==O.i&&!p(B,O)&&(u(B,O)&&u(O,B)&&g(B,O)&&(w(B.prev,B,O.prev)||w(B,O.prev,O))||S(B,O)&&w(B.prev,B,B.next)>0&&w(O.prev,O,O.next)>0)}function w(B,O,P){return(O.y-B.y)*(P.x-O.x)-(O.x-B.x)*(P.y-O.y)}function S(B,O){return B.x===O.x&&B.y===O.y}function M(B,O,P,U){var N=b(w(B,O,P)),X=b(w(B,O,U)),$=b(w(P,U,B)),ue=b(w(P,U,O));return!!(N!==X&&$!==ue||N===0&&m(B,P,O)||X===0&&m(B,U,O)||$===0&&m(P,B,U)||ue===0&&m(P,O,U))}function m(B,O,P){return O.x<=Math.max(B.x,P.x)&&O.x>=Math.min(B.x,P.x)&&O.y<=Math.max(B.y,P.y)&&O.y>=Math.min(B.y,P.y)}function b(B){return B>0?1:B<0?-1:0}function p(B,O){var P=B;do{if(P.i!==B.i&&P.next.i!==B.i&&P.i!==O.i&&P.next.i!==O.i&&M(P,P.next,B,O))return!0;P=P.next}while(P!==B);return!1}function u(B,O){return w(B.prev,B,B.next)<0?w(B,O,B.next)>=0&&w(B,B.prev,O)>=0:w(B,O,B.prev)<0||w(B,B.next,O)<0}function g(B,O){var P=B,U=!1,N=(B.x+O.x)/2,X=(B.y+O.y)/2;do P.y>X!=P.next.y>X&&P.next.y!==P.y&&N<(P.next.x-P.x)*(X-P.y)/(P.next.y-P.y)+P.x&&(U=!U),P=P.next;while(P!==B);return U}function y(B,O){var P=new z(B.i,B.x,B.y),U=new z(O.i,O.x,O.y),N=B.next,X=O.prev;return B.next=O,O.prev=B,P.next=N,N.prev=P,U.next=P,P.prev=U,X.next=U,U.prev=X,U}function D(B,O,P,U){var N=new z(B,O,P);return U?(N.next=U.next,N.prev=U,U.next.prev=N,U.next=N):(N.prev=N,N.next=N),N}function L(B){B.next.prev=B.prev,B.prev.next=B.next,B.prevZ&&(B.prevZ.nextZ=B.nextZ),B.nextZ&&(B.nextZ.prevZ=B.prevZ)}function z(B,O,P){this.i=B,this.x=O,this.y=P,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}d.deviation=function(B,O,P,U){var N=O&&O.length,X=N?O[0]*P:B.length,$=Math.abs(F(B,0,X,P));if(N)for(var ue=0,ce=O.length;ue0&&(U+=B[N-1].length,P.holes.push(U))}return P}}}),mj=Ge({\"node_modules/array-normalize/index.js\"(Z,G){\"use strict\";var d=mg();G.exports=_;function _(A,E,e){if(!A||A.length==null)throw Error(\"Argument should be an array\");E==null&&(E=1),e==null&&(e=d(A,E));for(var t=0;t-1}}}),JE=Ge({\"node_modules/es5-ext/string/#/contains/index.js\"(Z,G){\"use strict\";G.exports=Cj()()?String.prototype.contains:Lj()}}),am=Ge({\"node_modules/d/index.js\"(Z,G){\"use strict\";var d=_g(),_=YE(),A=_T(),E=KE(),e=JE(),t=G.exports=function(r,o){var a,n,i,s,h;return arguments.length<2||typeof r!=\"string\"?(s=o,o=r,r=null):s=arguments[2],d(r)?(a=e.call(r,\"c\"),n=e.call(r,\"e\"),i=e.call(r,\"w\")):(a=i=!0,n=!1),h={value:o,configurable:a,enumerable:n,writable:i},s?A(E(s),h):h};t.gs=function(r,o,a){var n,i,s,h;return typeof r!=\"string\"?(s=a,a=o,o=r,r=null):s=arguments[3],d(o)?_(o)?d(a)?_(a)||(s=a,a=void 0):a=void 0:(s=o,o=a=void 0):o=void 0,d(r)?(n=e.call(r,\"c\"),i=e.call(r,\"e\")):(n=!0,i=!1),h={get:o,set:a,configurable:n,enumerable:i},s?A(E(s),h):h}}}),bx=Ge({\"node_modules/es5-ext/function/is-arguments.js\"(Z,G){\"use strict\";var d=Object.prototype.toString,_=d.call(function(){return arguments}());G.exports=function(A){return d.call(A)===_}}}),wx=Ge({\"node_modules/es5-ext/string/is-string.js\"(Z,G){\"use strict\";var d=Object.prototype.toString,_=d.call(\"\");G.exports=function(A){return typeof A==\"string\"||A&&typeof A==\"object\"&&(A instanceof String||d.call(A)===_)||!1}}}),Pj=Ge({\"node_modules/ext/global-this/is-implemented.js\"(Z,G){\"use strict\";G.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}}}),Ij=Ge({\"node_modules/ext/global-this/implementation.js\"(Z,G){var d=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};G.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch{return d()}try{return __global__||d()}finally{delete Object.prototype.__global__}}()}}),Tx=Ge({\"node_modules/ext/global-this/index.js\"(Z,G){\"use strict\";G.exports=Pj()()?globalThis:Ij()}}),Rj=Ge({\"node_modules/es6-symbol/is-implemented.js\"(Z,G){\"use strict\";var d=Tx(),_={object:!0,symbol:!0};G.exports=function(){var A=d.Symbol,E;if(typeof A!=\"function\")return!1;E=A(\"test symbol\");try{String(E)}catch{return!1}return!(!_[typeof A.iterator]||!_[typeof A.toPrimitive]||!_[typeof A.toStringTag])}}}),Dj=Ge({\"node_modules/es6-symbol/is-symbol.js\"(Z,G){\"use strict\";G.exports=function(d){return d?typeof d==\"symbol\"?!0:!d.constructor||d.constructor.name!==\"Symbol\"?!1:d[d.constructor.toStringTag]===\"Symbol\":!1}}}),$E=Ge({\"node_modules/es6-symbol/validate-symbol.js\"(Z,G){\"use strict\";var d=Dj();G.exports=function(_){if(!d(_))throw new TypeError(_+\" is not a symbol\");return _}}}),zj=Ge({\"node_modules/es6-symbol/lib/private/generate-name.js\"(Z,G){\"use strict\";var d=am(),_=Object.create,A=Object.defineProperty,E=Object.prototype,e=_(null);G.exports=function(t){for(var r=0,o,a;e[t+(r||\"\")];)++r;return t+=r||\"\",e[t]=!0,o=\"@@\"+t,A(E,o,d.gs(null,function(n){a||(a=!0,A(this,o,d(n)),a=!1)})),o}}}),Fj=Ge({\"node_modules/es6-symbol/lib/private/setup/standard-symbols.js\"(Z,G){\"use strict\";var d=am(),_=Tx().Symbol;G.exports=function(A){return Object.defineProperties(A,{hasInstance:d(\"\",_&&_.hasInstance||A(\"hasInstance\")),isConcatSpreadable:d(\"\",_&&_.isConcatSpreadable||A(\"isConcatSpreadable\")),iterator:d(\"\",_&&_.iterator||A(\"iterator\")),match:d(\"\",_&&_.match||A(\"match\")),replace:d(\"\",_&&_.replace||A(\"replace\")),search:d(\"\",_&&_.search||A(\"search\")),species:d(\"\",_&&_.species||A(\"species\")),split:d(\"\",_&&_.split||A(\"split\")),toPrimitive:d(\"\",_&&_.toPrimitive||A(\"toPrimitive\")),toStringTag:d(\"\",_&&_.toStringTag||A(\"toStringTag\")),unscopables:d(\"\",_&&_.unscopables||A(\"unscopables\"))})}}}),Oj=Ge({\"node_modules/es6-symbol/lib/private/setup/symbol-registry.js\"(Z,G){\"use strict\";var d=am(),_=$E(),A=Object.create(null);G.exports=function(E){return Object.defineProperties(E,{for:d(function(e){return A[e]?A[e]:A[e]=E(String(e))}),keyFor:d(function(e){var t;_(e);for(t in A)if(A[t]===e)return t})})}}}),Bj=Ge({\"node_modules/es6-symbol/polyfill.js\"(Z,G){\"use strict\";var d=am(),_=$E(),A=Tx().Symbol,E=zj(),e=Fj(),t=Oj(),r=Object.create,o=Object.defineProperties,a=Object.defineProperty,n,i,s;if(typeof A==\"function\")try{String(A()),s=!0}catch{}else A=null;i=function(f){if(this instanceof i)throw new TypeError(\"Symbol is not a constructor\");return n(f)},G.exports=n=function h(f){var v;if(this instanceof h)throw new TypeError(\"Symbol is not a constructor\");return s?A(f):(v=r(i.prototype),f=f===void 0?\"\":String(f),o(v,{__description__:d(\"\",f),__name__:d(\"\",E(f))}))},e(n),t(n),o(i.prototype,{constructor:d(n),toString:d(\"\",function(){return this.__name__})}),o(n.prototype,{toString:d(function(){return\"Symbol (\"+_(this).__description__+\")\"}),valueOf:d(function(){return _(this)})}),a(n.prototype,n.toPrimitive,d(\"\",function(){var h=_(this);return typeof h==\"symbol\"?h:h.toString()})),a(n.prototype,n.toStringTag,d(\"c\",\"Symbol\")),a(i.prototype,n.toStringTag,d(\"c\",n.prototype[n.toStringTag])),a(i.prototype,n.toPrimitive,d(\"c\",n.prototype[n.toPrimitive]))}}),x0=Ge({\"node_modules/es6-symbol/index.js\"(Z,G){\"use strict\";G.exports=Rj()()?Tx().Symbol:Bj()}}),Nj=Ge({\"node_modules/es5-ext/array/#/clear.js\"(Z,G){\"use strict\";var d=rm();G.exports=function(){return d(this).length=0,this}}}),L1=Ge({\"node_modules/es5-ext/object/valid-callable.js\"(Z,G){\"use strict\";G.exports=function(d){if(typeof d!=\"function\")throw new TypeError(d+\" is not a function\");return d}}}),Uj=Ge({\"node_modules/type/string/coerce.js\"(Z,G){\"use strict\";var d=_g(),_=yT(),A=Object.prototype.toString;G.exports=function(E){if(!d(E))return null;if(_(E)){var e=E.toString;if(typeof e!=\"function\"||e===A)return null}try{return\"\"+E}catch{return null}}}}),jj=Ge({\"node_modules/type/lib/safe-to-string.js\"(Z,G){\"use strict\";G.exports=function(d){try{return d.toString()}catch{try{return String(d)}catch{return null}}}}}),qj=Ge({\"node_modules/type/lib/to-short-string.js\"(Z,G){\"use strict\";var d=jj(),_=/[\\n\\r\\u2028\\u2029]/g;G.exports=function(A){var E=d(A);return E===null?\"\":(E.length>100&&(E=E.slice(0,99)+\"\\u2026\"),E=E.replace(_,function(e){switch(e){case`\n`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),E)}}}),QE=Ge({\"node_modules/type/lib/resolve-exception.js\"(Z,G){\"use strict\";var d=_g(),_=yT(),A=Uj(),E=qj(),e=function(t,r){return t.replace(\"%v\",E(r))};G.exports=function(t,r,o){if(!_(o))throw new TypeError(e(r,t));if(!d(t)){if(\"default\"in o)return o.default;if(o.isOptional)return null}var a=A(o.errorMessage);throw d(a)||(a=r),new TypeError(e(a,t))}}}),Vj=Ge({\"node_modules/type/value/ensure.js\"(Z,G){\"use strict\";var d=QE(),_=_g();G.exports=function(A){return _(A)?A:d(A,\"Cannot use %v\",arguments[1])}}}),Gj=Ge({\"node_modules/type/plain-function/ensure.js\"(Z,G){\"use strict\";var d=QE(),_=YE();G.exports=function(A){return _(A)?A:d(A,\"%v is not a plain function\",arguments[1])}}}),Hj=Ge({\"node_modules/es5-ext/array/from/is-implemented.js\"(Z,G){\"use strict\";G.exports=function(){var d=Array.from,_,A;return typeof d!=\"function\"?!1:(_=[\"raz\",\"dwa\"],A=d(_),!!(A&&A!==_&&A[1]===\"dwa\"))}}}),Wj=Ge({\"node_modules/es5-ext/function/is-function.js\"(Z,G){\"use strict\";var d=Object.prototype.toString,_=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);G.exports=function(A){return typeof A==\"function\"&&_(d.call(A))}}}),Xj=Ge({\"node_modules/es5-ext/math/sign/is-implemented.js\"(Z,G){\"use strict\";G.exports=function(){var d=Math.sign;return typeof d!=\"function\"?!1:d(10)===1&&d(-20)===-1}}}),Zj=Ge({\"node_modules/es5-ext/math/sign/shim.js\"(Z,G){\"use strict\";G.exports=function(d){return d=Number(d),isNaN(d)||d===0?d:d>0?1:-1}}}),Yj=Ge({\"node_modules/es5-ext/math/sign/index.js\"(Z,G){\"use strict\";G.exports=Xj()()?Math.sign:Zj()}}),Kj=Ge({\"node_modules/es5-ext/number/to-integer.js\"(Z,G){\"use strict\";var d=Yj(),_=Math.abs,A=Math.floor;G.exports=function(E){return isNaN(E)?0:(E=Number(E),E===0||!isFinite(E)?E:d(E)*A(_(E)))}}}),Jj=Ge({\"node_modules/es5-ext/number/to-pos-integer.js\"(Z,G){\"use strict\";var d=Kj(),_=Math.max;G.exports=function(A){return _(0,d(A))}}}),$j=Ge({\"node_modules/es5-ext/array/from/shim.js\"(Z,G){\"use strict\";var d=x0().iterator,_=bx(),A=Wj(),E=Jj(),e=L1(),t=rm(),r=_0(),o=wx(),a=Array.isArray,n=Function.prototype.call,i={configurable:!0,enumerable:!0,writable:!0,value:null},s=Object.defineProperty;G.exports=function(h){var f=arguments[1],v=arguments[2],c,T,l,x,w,S,M,m,b,p;if(h=Object(t(h)),r(f)&&e(f),!this||this===Array||!A(this)){if(!f){if(_(h))return w=h.length,w!==1?Array.apply(null,h):(x=new Array(1),x[0]=h[0],x);if(a(h)){for(x=new Array(w=h.length),T=0;T=55296&&S<=56319&&(p+=h[++T])),p=f?n.call(f,v,p,l):p,c?(i.value=p,s(x,l,i)):x[l]=p,++l;w=l}}if(w===void 0)for(w=E(h.length),c&&(x=new c(w)),T=0;T=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){o(this,\"__redo__\",e(\"c\",[i]));return}this.__redo__.forEach(function(s,h){s>=i&&(this.__redo__[h]=++s)},this),this.__redo__.push(i)}}),_onDelete:e(function(i){var s;i>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(s=this.__redo__.indexOf(i),s!==-1&&this.__redo__.splice(s,1),this.__redo__.forEach(function(h,f){h>i&&(this.__redo__[f]=--h)},this)))}),_onClear:e(function(){this.__redo__&&d.call(this.__redo__),this.__nextIndex__=0})}))),o(n.prototype,r.iterator,e(function(){return this}))}}),nq=Ge({\"node_modules/es6-iterator/array.js\"(Z,G){\"use strict\";var d=gT(),_=JE(),A=am(),E=x0(),e=e6(),t=Object.defineProperty,r;r=G.exports=function(o,a){if(!(this instanceof r))throw new TypeError(\"Constructor requires 'new'\");e.call(this,o),a?_.call(a,\"key+value\")?a=\"key+value\":_.call(a,\"key\")?a=\"key\":a=\"value\":a=\"value\",t(this,\"__kind__\",A(\"\",a))},d&&d(r,e),delete r.prototype.constructor,r.prototype=Object.create(e.prototype,{_resolve:A(function(o){return this.__kind__===\"value\"?this.__list__[o]:this.__kind__===\"key+value\"?[o,this.__list__[o]]:o})}),t(r.prototype,E.toStringTag,A(\"c\",\"Array Iterator\"))}}),oq=Ge({\"node_modules/es6-iterator/string.js\"(Z,G){\"use strict\";var d=gT(),_=am(),A=x0(),E=e6(),e=Object.defineProperty,t;t=G.exports=function(r){if(!(this instanceof t))throw new TypeError(\"Constructor requires 'new'\");r=String(r),E.call(this,r),e(this,\"__length__\",_(\"\",r.length))},d&&d(t,E),delete t.prototype.constructor,t.prototype=Object.create(E.prototype,{_next:_(function(){if(this.__list__){if(this.__nextIndex__=55296&&a<=56319?o+this.__list__[this.__nextIndex__++]:o)})}),e(t.prototype,A.toStringTag,_(\"c\",\"String Iterator\"))}}),sq=Ge({\"node_modules/es6-iterator/is-iterable.js\"(Z,G){\"use strict\";var d=bx(),_=_0(),A=wx(),E=x0().iterator,e=Array.isArray;G.exports=function(t){return _(t)?e(t)||A(t)||d(t)?!0:typeof t[E]==\"function\":!1}}}),lq=Ge({\"node_modules/es6-iterator/valid-iterable.js\"(Z,G){\"use strict\";var d=sq();G.exports=function(_){if(!d(_))throw new TypeError(_+\" is not iterable\");return _}}}),t6=Ge({\"node_modules/es6-iterator/get.js\"(Z,G){\"use strict\";var d=bx(),_=wx(),A=nq(),E=oq(),e=lq(),t=x0().iterator;G.exports=function(r){return typeof e(r)[t]==\"function\"?r[t]():d(r)?new A(r):_(r)?new E(r):new A(r)}}}),uq=Ge({\"node_modules/es6-iterator/for-of.js\"(Z,G){\"use strict\";var d=bx(),_=L1(),A=wx(),E=t6(),e=Array.isArray,t=Function.prototype.call,r=Array.prototype.some;G.exports=function(o,a){var n,i=arguments[2],s,h,f,v,c,T,l;if(e(o)||d(o)?n=\"array\":A(o)?n=\"string\":o=E(o),_(a),h=function(){f=!0},n===\"array\"){r.call(o,function(x){return t.call(a,i,x,h),f});return}if(n===\"string\"){for(c=o.length,v=0;v=55296&&l<=56319&&(T+=o[++v])),t.call(a,i,T,h),!f);++v);return}for(s=o.next();!s.done;){if(t.call(a,i,s.value,h),f)return;s=o.next()}}}}),cq=Ge({\"node_modules/es6-weak-map/is-native-implemented.js\"(Z,G){\"use strict\";G.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()}}),fq=Ge({\"node_modules/es6-weak-map/polyfill.js\"(Z,G){\"use strict\";var d=_0(),_=gT(),A=xj(),E=rm(),e=bj(),t=am(),r=t6(),o=uq(),a=x0().toStringTag,n=cq(),i=Array.isArray,s=Object.defineProperty,h=Object.prototype.hasOwnProperty,f=Object.getPrototypeOf,v;G.exports=v=function(){var c=arguments[0],T;if(!(this instanceof v))throw new TypeError(\"Constructor requires 'new'\");return T=n&&_&&WeakMap!==v?_(new WeakMap,f(this)):this,d(c)&&(i(c)||(c=r(c))),s(T,\"__weakMapData__\",t(\"c\",\"$weakMap$\"+e())),c&&o(c,function(l){E(l),T.set(l[0],l[1])}),T},n&&(_&&_(v,WeakMap),v.prototype=Object.create(WeakMap.prototype,{constructor:t(v)})),Object.defineProperties(v.prototype,{delete:t(function(c){return h.call(A(c),this.__weakMapData__)?(delete c[this.__weakMapData__],!0):!1}),get:t(function(c){if(h.call(A(c),this.__weakMapData__))return c[this.__weakMapData__]}),has:t(function(c){return h.call(A(c),this.__weakMapData__)}),set:t(function(c,T){return s(A(c),this.__weakMapData__,t(\"c\",T)),this}),toString:t(function(){return\"[object WeakMap]\"})}),s(v.prototype,a,t(\"c\",\"WeakMap\"))}}),r6=Ge({\"node_modules/es6-weak-map/index.js\"(Z,G){\"use strict\";G.exports=gj()()?WeakMap:fq()}}),hq=Ge({\"node_modules/array-find-index/index.js\"(Z,G){\"use strict\";G.exports=function(d,_,A){if(typeof Array.prototype.findIndex==\"function\")return d.findIndex(_,A);if(typeof _!=\"function\")throw new TypeError(\"predicate must be a function\");var E=Object(d),e=E.length;if(e===0)return-1;for(var t=0;t 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`,l=`\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\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) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n`;G.exports=x;function x(w,S){if(!(this instanceof x))return new x(w,S);if(typeof w==\"function\"?(S||(S={}),S.regl=w):S=w,S.length&&(S.positions=S),w=S.regl,!w.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=w._gl,this.regl=w,this.passes=[],this.shaders=x.shaders.has(w)?x.shaders.get(w):x.shaders.set(w,x.createShaders(w)).get(w),this.update(S)}x.dashMult=2,x.maxPatternLength=256,x.precisionThreshold=3e6,x.maxPoints=1e4,x.maxLines=2048,x.shaders=new n,x.createShaders=function(w){let S=w.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),M={primitive:\"triangle strip\",instances:w.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(u,g)=>g.join===\"round\"?2:1,miterLimit:w.prop(\"miterLimit\"),scale:w.prop(\"scale\"),scaleFract:w.prop(\"scaleFract\"),translateFract:w.prop(\"translateFract\"),translate:w.prop(\"translate\"),thickness:w.prop(\"thickness\"),dashTexture:w.prop(\"dashTexture\"),opacity:w.prop(\"opacity\"),pixelRatio:w.context(\"pixelRatio\"),id:w.prop(\"id\"),dashLength:w.prop(\"dashLength\"),viewport:(u,g)=>[g.viewport.x,g.viewport.y,u.viewportWidth,u.viewportHeight],depth:w.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:(u,g)=>!g.overlay},stencil:{enable:!1},scissor:{enable:!0,box:w.prop(\"viewport\")},viewport:w.prop(\"viewport\")},m=w(A({vert:h,frag:f,attributes:{lineEnd:{buffer:S,divisor:0,stride:8,offset:0},lineTop:{buffer:S,divisor:0,stride:8,offset:4},aCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:w.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:w.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:w.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},M)),b;try{b=w(A({cull:{enable:!0,face:\"back\"},vert:T,frag:l,attributes:{lineEnd:{buffer:S,divisor:0,stride:8,offset:0},lineTop:{buffer:S,divisor:0,stride:8,offset:4},aColor:{buffer:w.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:w.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},M))}catch{b=m}return{fill:w({primitive:\"triangle\",elements:(u,g)=>g.triangles,offset:0,vert:v,frag:c,uniforms:{scale:w.prop(\"scale\"),color:w.prop(\"fill\"),scaleFract:w.prop(\"scaleFract\"),translateFract:w.prop(\"translateFract\"),translate:w.prop(\"translate\"),opacity:w.prop(\"opacity\"),pixelRatio:w.context(\"pixelRatio\"),id:w.prop(\"id\"),viewport:(u,g)=>[g.viewport.x,g.viewport.y,u.viewportWidth,u.viewportHeight]},attributes:{position:{buffer:w.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:w.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:M.blend,depth:{enable:!1},scissor:M.scissor,stencil:M.stencil,viewport:M.viewport}),rect:m,miter:b}},x.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},x.prototype.render=function(...w){w.length&&this.update(...w),this.draw()},x.prototype.draw=function(...w){return(w.length?w:this.passes).forEach((S,M)=>{if(S&&Array.isArray(S))return this.draw(...S);typeof S==\"number\"&&(S=this.passes[S]),S&&S.count>1&&S.opacity&&(this.regl._refresh(),S.fill&&S.triangles&&S.triangles.length>2&&this.shaders.fill(S),S.thickness&&(S.scale[0]*S.viewport.width>x.precisionThreshold||S.scale[1]*S.viewport.height>x.precisionThreshold?this.shaders.rect(S):S.join===\"rect\"||!S.join&&(S.thickness<=2||S.count>=x.maxPoints)?this.shaders.rect(S):this.shaders.miter(S)))}),this},x.prototype.update=function(w){if(!w)return;w.length!=null?typeof w[0]==\"number\"&&(w=[{positions:w}]):Array.isArray(w)||(w=[w]);let{regl:S,gl:M}=this;if(w.forEach((b,p)=>{let u=this.passes[p];if(b!==void 0){if(b===null){this.passes[p]=null;return}if(typeof b[0]==\"number\"&&(b={positions:b}),b=E(b,{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\",splitNull:\"splitNull\"}),u||(this.passes[p]=u={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:S.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:S.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:S.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:S.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},b=A({},x.defaults,b)),b.thickness!=null&&(u.thickness=parseFloat(b.thickness)),b.opacity!=null&&(u.opacity=parseFloat(b.opacity)),b.miterLimit!=null&&(u.miterLimit=parseFloat(b.miterLimit)),b.overlay!=null&&(u.overlay=!!b.overlay,pce-de),X=[],$=0,ue=u.hole!=null?u.hole[0]:null;if(ue!=null){let ce=s(N,de=>de>=ue);N=N.slice(0,ce),N.push(ue)}for(let ce=0;ceee-ue+(N[ce]-$)),Y=t(de,V);Y=Y.map(ee=>ee+$+(ee+${w.colorBuffer.destroy(),w.positionBuffer.destroy(),w.dashTexture.destroy()}),this.passes.length=0,this}}}),pq=Ge({\"node_modules/regl-error2d/index.js\"(Z,G){\"use strict\";var d=mg(),_=d0(),A=GE(),E=Ev(),e=ch(),t=gg(),{float32:r,fract32:o}=mT();G.exports=n;var a=[[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]];function n(i,s){if(typeof i==\"function\"?(s||(s={}),s.regl=i):s=i,s.length&&(s.positions=s),i=s.regl,!i.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let h=i._gl,f,v,c,T,l,x,w={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},S=[];return T=i.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),v=i.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),c=i.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=i.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),x=i.buffer({usage:\"static\",type:\"float\",data:a}),p(s),f=i({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:i.prop(\"range\"),lineWidth:i.prop(\"lineWidth\"),capSize:i.prop(\"capSize\"),opacity:i.prop(\"opacity\"),scale:i.prop(\"scale\"),translate:i.prop(\"translate\"),scaleFract:i.prop(\"scaleFract\"),translateFract:i.prop(\"translateFract\"),viewport:(g,y)=>[y.viewport.x,y.viewport.y,g.viewportWidth,g.viewportHeight]},attributes:{color:{buffer:T,offset:(g,y)=>y.offset*4,divisor:1},position:{buffer:v,offset:(g,y)=>y.offset*8,divisor:1},positionFract:{buffer:c,offset:(g,y)=>y.offset*8,divisor:1},error:{buffer:l,offset:(g,y)=>y.offset*16,divisor:1},direction:{buffer:x,stride:24,offset:0},lineOffset:{buffer:x,stride:24,offset:8},capOffset:{buffer:x,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:i.prop(\"viewport\")},viewport:i.prop(\"viewport\"),stencil:!1,instances:i.prop(\"count\"),count:a.length}),e(M,{update:p,draw:m,destroy:u,regl:i,gl:h,canvas:h.canvas,groups:S}),M;function M(g){g?p(g):g===null&&u(),m()}function m(g){if(typeof g==\"number\")return b(g);g&&!Array.isArray(g)&&(g=[g]),i._refresh(),S.forEach((y,D)=>{if(y){if(g&&(g[D]?y.draw=!0:y.draw=!1),!y.draw){y.draw=!0;return}b(D)}})}function b(g){typeof g==\"number\"&&(g=S[g]),g!=null&&g&&g.count&&g.color&&g.opacity&&g.positions&&g.positions.length>1&&(g.scaleRatio=[g.scale[0]*g.viewport.width,g.scale[1]*g.viewport.height],f(g),g.after&&g.after(g))}function p(g){if(!g)return;g.length!=null?typeof g[0]==\"number\"&&(g=[{positions:g}]):Array.isArray(g)||(g=[g]);let y=0,D=0;if(M.groups=S=g.map((F,B)=>{let O=S[B];if(F)typeof F==\"function\"?F={after:F}:typeof F[0]==\"number\"&&(F={positions:F});else return O;return F=E(F,{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\"}),O||(S[B]=O={id:B,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},F=e({},w,F)),A(O,F,[{lineWidth:P=>+P*.5,capSize:P=>+P*.5,opacity:parseFloat,errors:P=>(P=t(P),D+=P.length,P),positions:(P,U)=>(P=t(P,\"float64\"),U.count=Math.floor(P.length/2),U.bounds=d(P,2),U.offset=y,y+=U.count,P)},{color:(P,U)=>{let N=U.count;if(P||(P=\"transparent\"),!Array.isArray(P)||typeof P[0]==\"number\"){let $=P;P=Array(N);for(let ue=0;ue{let X=U.bounds;return P||(P=X),U.scale=[1/(P[2]-P[0]),1/(P[3]-P[1])],U.translate=[-P[0],-P[1]],U.scaleFract=o(U.scale),U.translateFract=o(U.translate),P},viewport:P=>{let U;return Array.isArray(P)?U={x:P[0],y:P[1],width:P[2]-P[0],height:P[3]-P[1]}:P?(U={x:P.x||P.left||0,y:P.y||P.top||0},P.right?U.width=P.right-U.x:U.width=P.w||P.width||0,P.bottom?U.height=P.bottom-U.y:U.height=P.h||P.height||0):U={x:0,y:0,width:h.drawingBufferWidth,height:h.drawingBufferHeight},U}}]),O}),y||D){let F=S.reduce((U,N,X)=>U+(N?N.count:0),0),B=new Float64Array(F*2),O=new Uint8Array(F*4),P=new Float32Array(F*4);S.forEach((U,N)=>{if(!U)return;let{positions:X,count:$,offset:ue,color:ce,errors:de}=U;$&&(O.set(ce,ue*4),P.set(de,ue*4),B.set(X,ue*2))});var L=r(B);v(L);var z=o(B,L);c(z),T(O),l(P)}}function u(){v.destroy(),c.destroy(),T.destroy(),l.destroy(),x.destroy()}}}}),dq=Ge({\"node_modules/unquote/index.js\"(Z,G){var d=/[\\'\\\"]/;G.exports=function(A){return A?(d.test(A.charAt(0))&&(A=A.substr(1)),d.test(A.charAt(A.length-1))&&(A=A.substr(0,A.length-1)),A):\"\"}}}),i6=Ge({\"node_modules/css-global-keywords/index.json\"(Z,G){G.exports=[\"inherit\",\"initial\",\"unset\"]}}),n6=Ge({\"node_modules/css-system-font-keywords/index.json\"(Z,G){G.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]}}),o6=Ge({\"node_modules/css-font-weight-keywords/index.json\"(Z,G){G.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]}}),s6=Ge({\"node_modules/css-font-style-keywords/index.json\"(Z,G){G.exports=[\"normal\",\"italic\",\"oblique\"]}}),l6=Ge({\"node_modules/css-font-stretch-keywords/index.json\"(Z,G){G.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]}}),vq=Ge({\"node_modules/parenthesis/index.js\"(Z,G){\"use strict\";function d(E,e){if(typeof E!=\"string\")return[E];var t=[E];typeof e==\"string\"||Array.isArray(e)?e={brackets:e}:e||(e={});var r=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],o=e.escape||\"___\",a=!!e.flat;r.forEach(function(s){var h=new RegExp([\"\\\\\",s[0],\"[^\\\\\",s[0],\"\\\\\",s[1],\"]*\\\\\",s[1]].join(\"\")),f=[];function v(c,T,l){var x=t.push(c.slice(s[0].length,-s[1].length))-1;return f.push(x),o+x+o}t.forEach(function(c,T){for(var l,x=0;c!=l;)if(l=c,c=c.replace(h,v),x++>1e4)throw Error(\"References have circular dependency. Please, check them.\");t[T]=c}),f=f.reverse(),t=t.map(function(c){return f.forEach(function(T){c=c.replace(new RegExp(\"(\\\\\"+o+T+\"\\\\\"+o+\")\",\"g\"),s[0]+\"$1\"+s[1])}),c})});var n=new RegExp(\"\\\\\"+o+\"([0-9]+)\\\\\"+o);function i(s,h,f){for(var v=[],c,T=0;c=n.exec(s);){if(T++>1e4)throw Error(\"Circular references in parenthesis\");v.push(s.slice(0,c.index)),v.push(i(h[c[1]],h)),s=s.slice(c.index+c[0].length)}return v.push(s),v}return a?t:i(t[0],t)}function _(E,e){if(e&&e.flat){var t=e&&e.escape||\"___\",r=E[0],o;if(!r)return\"\";for(var a=new RegExp(\"\\\\\"+t+\"([0-9]+)\\\\\"+t),n=0;r!=o;){if(n++>1e4)throw Error(\"Circular references in \"+E);o=r,r=r.replace(a,i)}return r}return E.reduce(function s(h,f){return Array.isArray(f)&&(f=f.reduce(s,\"\")),h+f},\"\");function i(s,h){if(E[h]==null)throw Error(\"Reference \"+h+\"is undefined\");return E[h]}}function A(E,e){return Array.isArray(E)?_(E,e):d(E,e)}A.parse=d,A.stringify=_,G.exports=A}}),mq=Ge({\"node_modules/string-split-by/index.js\"(Z,G){\"use strict\";var d=vq();G.exports=function(A,E,e){if(A==null)throw Error(\"First argument should be a string\");if(E==null)throw Error(\"Separator should be a string or a RegExp\");e?(typeof e==\"string\"||Array.isArray(e))&&(e={ignore:e}):e={},e.escape==null&&(e.escape=!0),e.ignore==null?e.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof e.ignore==\"string\"&&(e.ignore=[e.ignore]),e.ignore=e.ignore.map(function(h){return h.length===1&&(h=h+h),h}));var t=d.parse(A,{flat:!0,brackets:e.ignore}),r=t[0],o=r.split(E);if(e.escape){for(var a=[],n=0;n1&&Xt===fr&&(Xt==='\"'||Xt===\"'\"))return['\"'+r(it.substr(1,it.length-2))+'\"'];var oa=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(it);if(oa)return o(it.substr(0,oa.index)).concat(o(oa[1])).concat(o(it.substr(oa.index+oa[0].length)));var Ta=it.split(\".\");if(Ta.length===1)return['\"'+r(it)+'\"'];for(var ma=[],xa=0;xa\"u\"?1:window.devicePixelRatio,si=!1,gn={},zi=function(ea){},Ei=function(){};if(typeof Xt==\"string\"?fr=document.querySelector(Xt):typeof Xt==\"object\"&&(x(Xt)?fr=Xt:w(Xt)?(ma=Xt,Ta=ma.canvas):(\"gl\"in Xt?ma=Xt.gl:\"canvas\"in Xt?Ta=M(Xt.canvas):\"container\"in Xt&&(oa=M(Xt.container)),\"attributes\"in Xt&&(xa=Xt.attributes),\"extensions\"in Xt&&(Ya=S(Xt.extensions)),\"optionalExtensions\"in Xt&&(bi=S(Xt.optionalExtensions)),\"onDone\"in Xt&&(zi=Xt.onDone),\"profile\"in Xt&&(si=!!Xt.profile),\"pixelRatio\"in Xt&&(yi=+Xt.pixelRatio),\"cachedCode\"in Xt&&(gn=Xt.cachedCode))),fr&&(fr.nodeName.toLowerCase()===\"canvas\"?Ta=fr:oa=fr),!ma){if(!Ta){var Na=T(oa||document.body,zi,yi);if(!Na)return null;Ta=Na.canvas,Ei=Na.onDestroy}xa.premultipliedAlpha===void 0&&(xa.premultipliedAlpha=!0),ma=l(Ta,xa)}return ma?{gl:ma,canvas:Ta,container:oa,extensions:Ya,optionalExtensions:bi,pixelRatio:yi,profile:si,cachedCode:gn,onDone:zi,onDestroy:Ei}:(Ei(),zi(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function b(it,Xt){var fr={};function oa(xa){var Ya=xa.toLowerCase(),bi;try{bi=fr[Ya]=it.getExtension(Ya)}catch{}return!!bi}for(var Ta=0;Ta65535)<<4,it>>>=Xt,fr=(it>255)<<3,it>>>=fr,Xt|=fr,fr=(it>15)<<2,it>>>=fr,Xt|=fr,fr=(it>3)<<1,it>>>=fr,Xt|=fr,Xt|it>>1}function P(){var it=p(8,function(){return[]});function Xt(ma){var xa=B(ma),Ya=it[O(xa)>>2];return Ya.length>0?Ya.pop():new ArrayBuffer(xa)}function fr(ma){it[O(ma.byteLength)>>2].push(ma)}function oa(ma,xa){var Ya=null;switch(ma){case u:Ya=new Int8Array(Xt(xa),0,xa);break;case g:Ya=new Uint8Array(Xt(xa),0,xa);break;case y:Ya=new Int16Array(Xt(2*xa),0,xa);break;case D:Ya=new Uint16Array(Xt(2*xa),0,xa);break;case L:Ya=new Int32Array(Xt(4*xa),0,xa);break;case z:Ya=new Uint32Array(Xt(4*xa),0,xa);break;case F:Ya=new Float32Array(Xt(4*xa),0,xa);break;default:return null}return Ya.length!==xa?Ya.subarray(0,xa):Ya}function Ta(ma){fr(ma.buffer)}return{alloc:Xt,free:fr,allocType:oa,freeType:Ta}}var U=P();U.zero=P();var N=3408,X=3410,$=3411,ue=3412,ce=3413,de=3414,V=3415,Y=33901,ee=33902,q=3379,se=3386,ae=34921,j=36347,Q=36348,re=35661,pe=35660,we=34930,Se=36349,Ie=34076,Re=34024,He=7936,at=7937,nt=7938,tt=35724,Ue=34047,he=36063,le=34852,ne=3553,Ce=34067,Ze=34069,rt=33984,Ye=6408,St=5126,kt=5121,qt=36160,Gt=36053,Tr=36064,mr=16384,qr=function(it,Xt){var fr=1;Xt.ext_texture_filter_anisotropic&&(fr=it.getParameter(Ue));var oa=1,Ta=1;Xt.webgl_draw_buffers&&(oa=it.getParameter(le),Ta=it.getParameter(he));var ma=!!Xt.oes_texture_float;if(ma){var xa=it.createTexture();it.bindTexture(ne,xa),it.texImage2D(ne,0,Ye,1,1,0,Ye,St,null);var Ya=it.createFramebuffer();if(it.bindFramebuffer(qt,Ya),it.framebufferTexture2D(qt,Tr,ne,xa,0),it.bindTexture(ne,null),it.checkFramebufferStatus(qt)!==Gt)ma=!1;else{it.viewport(0,0,1,1),it.clearColor(1,0,0,1),it.clear(mr);var bi=U.allocType(St,4);it.readPixels(0,0,1,1,Ye,St,bi),it.getError()?ma=!1:(it.deleteFramebuffer(Ya),it.deleteTexture(xa),ma=bi[0]===1),U.freeType(bi)}}var yi=typeof navigator<\"u\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),si=!0;if(!yi){var gn=it.createTexture(),zi=U.allocType(kt,36);it.activeTexture(rt),it.bindTexture(Ce,gn),it.texImage2D(Ze,0,Ye,3,3,0,Ye,kt,zi),U.freeType(zi),it.bindTexture(Ce,null),it.deleteTexture(gn),si=!it.getError()}return{colorBits:[it.getParameter(X),it.getParameter($),it.getParameter(ue),it.getParameter(ce)],depthBits:it.getParameter(de),stencilBits:it.getParameter(V),subpixelBits:it.getParameter(N),extensions:Object.keys(Xt).filter(function(Ei){return!!Xt[Ei]}),maxAnisotropic:fr,maxDrawbuffers:oa,maxColorAttachments:Ta,pointSizeDims:it.getParameter(Y),lineWidthDims:it.getParameter(ee),maxViewportDims:it.getParameter(se),maxCombinedTextureUnits:it.getParameter(re),maxCubeMapSize:it.getParameter(Ie),maxRenderbufferSize:it.getParameter(Re),maxTextureUnits:it.getParameter(we),maxTextureSize:it.getParameter(q),maxAttributes:it.getParameter(ae),maxVertexUniforms:it.getParameter(j),maxVertexTextureUnits:it.getParameter(pe),maxVaryingVectors:it.getParameter(Q),maxFragmentUniforms:it.getParameter(Se),glsl:it.getParameter(tt),renderer:it.getParameter(at),vendor:it.getParameter(He),version:it.getParameter(nt),readFloat:ma,npotTextureCube:si}},Er=function(it){return it instanceof Uint8Array||it instanceof Uint16Array||it instanceof Uint32Array||it instanceof Int8Array||it instanceof Int16Array||it instanceof Int32Array||it instanceof Float32Array||it instanceof Float64Array||it instanceof Uint8ClampedArray};function Dr(it){return!!it&&typeof it==\"object\"&&Array.isArray(it.shape)&&Array.isArray(it.stride)&&typeof it.offset==\"number\"&&it.shape.length===it.stride.length&&(Array.isArray(it.data)||Er(it.data))}var xt=function(it){return Object.keys(it).map(function(Xt){return it[Xt]})},Oe={shape:st,flatten:Je};function Ke(it,Xt,fr){for(var oa=0;oa0){var hn;if(Array.isArray(Ma[0])){Li=Ca(Ma);for(var Ha=1,Ua=1;Ua0){if(typeof Ha[0]==\"number\"){var Ti=U.allocType(Va.dtype,Ha.length);Or(Ti,Ha),Li(Ti,Yi),U.freeType(Ti)}else if(Array.isArray(Ha[0])||Er(Ha[0])){Ri=Ca(Ha);var xi=Wa(Ha,Ri,Va.dtype);Li(xi,Yi),U.freeType(xi)}}}else if(Dr(Ha)){Ri=Ha.shape;var Xi=Ha.stride,vn=0,Rn=0,Ii=0,nn=0;Ri.length===1?(vn=Ri[0],Rn=1,Ii=Xi[0],nn=0):Ri.length===2&&(vn=Ri[0],Rn=Ri[1],Ii=Xi[0],nn=Xi[1]);var Cn=Array.isArray(Ha.data)?Va.dtype:Jt(Ha.data),Dn=U.allocType(Cn,vn*Rn);ta(Dn,Ha.data,vn,Rn,Ii,nn,Ha.offset),Li(Dn,Yi),U.freeType(Dn)}return Bi}return Qa||Bi(ea),Bi._reglType=\"buffer\",Bi._buffer=Va,Bi.subdata=hn,fr.profile&&(Bi.stats=Va.stats),Bi.destroy=function(){zi(Va)},Bi}function Na(){xt(ma).forEach(function(ea){ea.buffer=it.createBuffer(),it.bindBuffer(ea.type,ea.buffer),it.bufferData(ea.type,ea.persistentData||ea.byteLength,ea.usage)})}return fr.profile&&(Xt.getTotalBufferSize=function(){var ea=0;return Object.keys(ma).forEach(function(Ma){ea+=ma[Ma].stats.size}),ea}),{create:Ei,createStream:bi,destroyStream:yi,clear:function(){xt(ma).forEach(zi),Ya.forEach(zi)},getBuffer:function(ea){return ea&&ea._buffer instanceof xa?ea._buffer:null},restore:Na,_initBuffer:gn}}var ca=0,Ba=0,$a=1,Za=1,ri=4,pi=4,Ia={points:ca,point:Ba,lines:$a,line:Za,triangles:ri,triangle:pi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},rn=0,tn=1,cn=4,_t=5120,ut=5121,Br=5122,Cr=5123,wr=5124,Rr=5125,Ur=34963,Hr=35040,gt=35044;function Kt(it,Xt,fr,oa){var Ta={},ma=0,xa={uint8:ut,uint16:Cr};Xt.oes_element_index_uint&&(xa.uint32=Rr);function Ya(Na){this.id=ma++,Ta[this.id]=this,this.buffer=Na,this.primType=cn,this.vertCount=0,this.type=0}Ya.prototype.bind=function(){this.buffer.bind()};var bi=[];function yi(Na){var ea=bi.pop();return ea||(ea=new Ya(fr.create(null,Ur,!0,!1)._buffer)),gn(ea,Na,Hr,-1,-1,0,0),ea}function si(Na){bi.push(Na)}function gn(Na,ea,Ma,Qa,di,Va,Bi){Na.buffer.bind();var Li;if(ea){var hn=Bi;!Bi&&(!Er(ea)||Dr(ea)&&!Er(ea.data))&&(hn=Xt.oes_element_index_uint?Rr:Cr),fr._initBuffer(Na.buffer,ea,Ma,hn,3)}else it.bufferData(Ur,Va,Ma),Na.buffer.dtype=Li||ut,Na.buffer.usage=Ma,Na.buffer.dimension=3,Na.buffer.byteLength=Va;if(Li=Bi,!Bi){switch(Na.buffer.dtype){case ut:case _t:Li=ut;break;case Cr:case Br:Li=Cr;break;case Rr:case wr:Li=Rr;break;default:}Na.buffer.dtype=Li}Na.type=Li;var Ha=di;Ha<0&&(Ha=Na.buffer.byteLength,Li===Cr?Ha>>=1:Li===Rr&&(Ha>>=2)),Na.vertCount=Ha;var Ua=Qa;if(Qa<0){Ua=cn;var Yi=Na.buffer.dimension;Yi===1&&(Ua=rn),Yi===2&&(Ua=tn),Yi===3&&(Ua=cn)}Na.primType=Ua}function zi(Na){oa.elementsCount--,delete Ta[Na.id],Na.buffer.destroy(),Na.buffer=null}function Ei(Na,ea){var Ma=fr.create(null,Ur,!0),Qa=new Ya(Ma._buffer);oa.elementsCount++;function di(Va){if(!Va)Ma(),Qa.primType=cn,Qa.vertCount=0,Qa.type=ut;else if(typeof Va==\"number\")Ma(Va),Qa.primType=cn,Qa.vertCount=Va|0,Qa.type=ut;else{var Bi=null,Li=gt,hn=-1,Ha=-1,Ua=0,Yi=0;Array.isArray(Va)||Er(Va)||Dr(Va)?Bi=Va:(\"data\"in Va&&(Bi=Va.data),\"usage\"in Va&&(Li=qa[Va.usage]),\"primitive\"in Va&&(hn=Ia[Va.primitive]),\"count\"in Va&&(Ha=Va.count|0),\"type\"in Va&&(Yi=xa[Va.type]),\"length\"in Va?Ua=Va.length|0:(Ua=Ha,Yi===Cr||Yi===Br?Ua*=2:(Yi===Rr||Yi===wr)&&(Ua*=4))),gn(Qa,Bi,Li,hn,Ha,Ua,Yi)}return di}return di(Na),di._reglType=\"elements\",di._elements=Qa,di.subdata=function(Va,Bi){return Ma.subdata(Va,Bi),di},di.destroy=function(){zi(Qa)},di}return{create:Ei,createStream:yi,destroyStream:si,getElements:function(Na){return typeof Na==\"function\"&&Na._elements instanceof Ya?Na._elements:null},clear:function(){xt(Ta).forEach(zi)}}}var vr=new Float32Array(1),Ir=new Uint32Array(vr.buffer),va=5123;function Pa(it){for(var Xt=U.allocType(va,it.length),fr=0;fr>>31<<15,ma=(oa<<1>>>24)-127,xa=oa>>13&1023;if(ma<-24)Xt[fr]=Ta;else if(ma<-14){var Ya=-14-ma;Xt[fr]=Ta+(xa+1024>>Ya)}else ma>15?Xt[fr]=Ta+31744:Xt[fr]=Ta+(ma+15<<10)+xa}return Xt}function ga(it){return Array.isArray(it)||Er(it)}var la=34467,ba=3553,Ai=34067,ki=34069,Ki=6408,Mn=6406,wn=6407,On=6409,En=6410,ao=32854,Co=32855,bo=36194,zs=32819,kn=32820,wo=33635,Kn=34042,go=6402,os=34041,gs=35904,jo=35906,Zn=36193,Gn=33776,Hn=33777,ss=33778,ys=33779,Rs=35986,Ko=35987,Gi=34798,Pn=35840,qs=35841,xs=35842,lo=35843,Zo=36196,bs=5121,Hs=5123,il=5125,yn=5126,Po=10242,To=10243,Ws=10497,Ll=33071,uo=33648,Nl=10240,Ks=10241,ws=9728,Cs=9729,Jo=9984,Ms=9985,Ul=9986,lu=9987,Tc=33170,du=4352,Sf=4353,Uc=4354,Bs=34046,dc=3317,Wc=37440,uu=37441,Pl=37443,ic=37444,Ou=33984,nl=[Jo,Ul,Ms,lu],vl=[0,On,En,wn,Ki],Ts={};Ts[On]=Ts[Mn]=Ts[go]=1,Ts[os]=Ts[En]=2,Ts[wn]=Ts[gs]=3,Ts[Ki]=Ts[jo]=4;function Xs(it){return\"[object \"+it+\"]\"}var nc=Xs(\"HTMLCanvasElement\"),jl=Xs(\"OffscreenCanvas\"),qu=Xs(\"CanvasRenderingContext2D\"),fl=Xs(\"ImageBitmap\"),xh=Xs(\"HTMLImageElement\"),us=Xs(\"HTMLVideoElement\"),bh=Object.keys(ot).concat([nc,jl,qu,fl,xh,us]),Ls=[];Ls[bs]=1,Ls[yn]=4,Ls[Zn]=2,Ls[Hs]=2,Ls[il]=4;var to=[];to[ao]=2,to[Co]=2,to[bo]=2,to[os]=4,to[Gn]=.5,to[Hn]=.5,to[ss]=1,to[ys]=1,to[Rs]=.5,to[Ko]=1,to[Gi]=1,to[Pn]=.5,to[qs]=.25,to[xs]=.5,to[lo]=.25,to[Zo]=.5;function Xc(it){return Array.isArray(it)&&(it.length===0||typeof it[0]==\"number\")}function Vu(it){if(!Array.isArray(it))return!1;var Xt=it.length;return!(Xt===0||!ga(it[0]))}function ql(it){return Object.prototype.toString.call(it)}function Mf(it){return ql(it)===nc}function Ac(it){return ql(it)===jl}function nf(it){return ql(it)===qu}function Ql(it){return ql(it)===fl}function Jf(it){return ql(it)===xh}function Of(it){return ql(it)===us}function of(it){if(!it)return!1;var Xt=ql(it);return bh.indexOf(Xt)>=0?!0:Xc(it)||Vu(it)||Dr(it)}function jc(it){return ot[Object.prototype.toString.call(it)]|0}function Bf(it,Xt){var fr=Xt.length;switch(it.type){case bs:case Hs:case il:case yn:var oa=U.allocType(it.type,fr);oa.set(Xt),it.data=oa;break;case Zn:it.data=Pa(Xt);break;default:}}function Nf(it,Xt){return U.allocType(it.type===Zn?yn:it.type,Xt)}function Gu(it,Xt){it.type===Zn?(it.data=Pa(Xt),U.freeType(Xt)):it.data=Xt}function Ef(it,Xt,fr,oa,Ta,ma){for(var xa=it.width,Ya=it.height,bi=it.channels,yi=xa*Ya*bi,si=Nf(it,yi),gn=0,zi=0;zi=1;)Ya+=xa*bi*bi,bi/=2;return Ya}else return xa*fr*oa}function Zc(it,Xt,fr,oa,Ta,ma,xa){var Ya={\"don't care\":du,\"dont care\":du,nice:Uc,fast:Sf},bi={repeat:Ws,clamp:Ll,mirror:uo},yi={nearest:ws,linear:Cs},si=d({mipmap:lu,\"nearest mipmap nearest\":Jo,\"linear mipmap nearest\":Ms,\"nearest mipmap linear\":Ul,\"linear mipmap linear\":lu},yi),gn={none:0,browser:ic},zi={uint8:bs,rgba4:zs,rgb565:wo,\"rgb5 a1\":kn},Ei={alpha:Mn,luminance:On,\"luminance alpha\":En,rgb:wn,rgba:Ki,rgba4:ao,\"rgb5 a1\":Co,rgb565:bo},Na={};Xt.ext_srgb&&(Ei.srgb=gs,Ei.srgba=jo),Xt.oes_texture_float&&(zi.float32=zi.float=yn),Xt.oes_texture_half_float&&(zi.float16=zi[\"half float\"]=Zn),Xt.webgl_depth_texture&&(d(Ei,{depth:go,\"depth stencil\":os}),d(zi,{uint16:Hs,uint32:il,\"depth stencil\":Kn})),Xt.webgl_compressed_texture_s3tc&&d(Na,{\"rgb s3tc dxt1\":Gn,\"rgba s3tc dxt1\":Hn,\"rgba s3tc dxt3\":ss,\"rgba s3tc dxt5\":ys}),Xt.webgl_compressed_texture_atc&&d(Na,{\"rgb atc\":Rs,\"rgba atc explicit alpha\":Ko,\"rgba atc interpolated alpha\":Gi}),Xt.webgl_compressed_texture_pvrtc&&d(Na,{\"rgb pvrtc 4bppv1\":Pn,\"rgb pvrtc 2bppv1\":qs,\"rgba pvrtc 4bppv1\":xs,\"rgba pvrtc 2bppv1\":lo}),Xt.webgl_compressed_texture_etc1&&(Na[\"rgb etc1\"]=Zo);var ea=Array.prototype.slice.call(it.getParameter(la));Object.keys(Na).forEach(function(ke){var Qe=Na[ke];ea.indexOf(Qe)>=0&&(Ei[ke]=Qe)});var Ma=Object.keys(Ei);fr.textureFormats=Ma;var Qa=[];Object.keys(Ei).forEach(function(ke){var Qe=Ei[ke];Qa[Qe]=ke});var di=[];Object.keys(zi).forEach(function(ke){var Qe=zi[ke];di[Qe]=ke});var Va=[];Object.keys(yi).forEach(function(ke){var Qe=yi[ke];Va[Qe]=ke});var Bi=[];Object.keys(si).forEach(function(ke){var Qe=si[ke];Bi[Qe]=ke});var Li=[];Object.keys(bi).forEach(function(ke){var Qe=bi[ke];Li[Qe]=ke});var hn=Ma.reduce(function(ke,Qe){var vt=Ei[Qe];return vt===On||vt===Mn||vt===On||vt===En||vt===go||vt===os||Xt.ext_srgb&&(vt===gs||vt===jo)?ke[vt]=vt:vt===Co||Qe.indexOf(\"rgba\")>=0?ke[vt]=Ki:ke[vt]=wn,ke},{});function Ha(){this.internalformat=Ki,this.format=Ki,this.type=bs,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=ic,this.width=0,this.height=0,this.channels=0}function Ua(ke,Qe){ke.internalformat=Qe.internalformat,ke.format=Qe.format,ke.type=Qe.type,ke.compressed=Qe.compressed,ke.premultiplyAlpha=Qe.premultiplyAlpha,ke.flipY=Qe.flipY,ke.unpackAlignment=Qe.unpackAlignment,ke.colorSpace=Qe.colorSpace,ke.width=Qe.width,ke.height=Qe.height,ke.channels=Qe.channels}function Yi(ke,Qe){if(!(typeof Qe!=\"object\"||!Qe)){if(\"premultiplyAlpha\"in Qe&&(ke.premultiplyAlpha=Qe.premultiplyAlpha),\"flipY\"in Qe&&(ke.flipY=Qe.flipY),\"alignment\"in Qe&&(ke.unpackAlignment=Qe.alignment),\"colorSpace\"in Qe&&(ke.colorSpace=gn[Qe.colorSpace]),\"type\"in Qe){var vt=Qe.type;ke.type=zi[vt]}var jt=ke.width,br=ke.height,Nr=ke.channels,pr=!1;\"shape\"in Qe?(jt=Qe.shape[0],br=Qe.shape[1],Qe.shape.length===3&&(Nr=Qe.shape[2],pr=!0)):(\"radius\"in Qe&&(jt=br=Qe.radius),\"width\"in Qe&&(jt=Qe.width),\"height\"in Qe&&(br=Qe.height),\"channels\"in Qe&&(Nr=Qe.channels,pr=!0)),ke.width=jt|0,ke.height=br|0,ke.channels=Nr|0;var mt=!1;if(\"format\"in Qe){var Mt=Qe.format,Ft=ke.internalformat=Ei[Mt];ke.format=hn[Ft],Mt in zi&&(\"type\"in Qe||(ke.type=zi[Mt])),Mt in Na&&(ke.compressed=!0),mt=!0}!pr&&mt?ke.channels=Ts[ke.format]:pr&&!mt&&ke.channels!==vl[ke.format]&&(ke.format=ke.internalformat=vl[ke.channels])}}function Ri(ke){it.pixelStorei(Wc,ke.flipY),it.pixelStorei(uu,ke.premultiplyAlpha),it.pixelStorei(Pl,ke.colorSpace),it.pixelStorei(dc,ke.unpackAlignment)}function Ti(){Ha.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function xi(ke,Qe){var vt=null;if(of(Qe)?vt=Qe:Qe&&(Yi(ke,Qe),\"x\"in Qe&&(ke.xOffset=Qe.x|0),\"y\"in Qe&&(ke.yOffset=Qe.y|0),of(Qe.data)&&(vt=Qe.data)),Qe.copy){var jt=Ta.viewportWidth,br=Ta.viewportHeight;ke.width=ke.width||jt-ke.xOffset,ke.height=ke.height||br-ke.yOffset,ke.needsCopy=!0}else if(!vt)ke.width=ke.width||1,ke.height=ke.height||1,ke.channels=ke.channels||4;else if(Er(vt))ke.channels=ke.channels||4,ke.data=vt,!(\"type\"in Qe)&&ke.type===bs&&(ke.type=jc(vt));else if(Xc(vt))ke.channels=ke.channels||4,Bf(ke,vt),ke.alignment=1,ke.needsFree=!0;else if(Dr(vt)){var Nr=vt.data;!Array.isArray(Nr)&&ke.type===bs&&(ke.type=jc(Nr));var pr=vt.shape,mt=vt.stride,Mt,Ft,rr,hr,nr,dr;pr.length===3?(rr=pr[2],dr=mt[2]):(rr=1,dr=1),Mt=pr[0],Ft=pr[1],hr=mt[0],nr=mt[1],ke.alignment=1,ke.width=Mt,ke.height=Ft,ke.channels=rr,ke.format=ke.internalformat=vl[rr],ke.needsFree=!0,Ef(ke,Nr,hr,nr,dr,vt.offset)}else if(Mf(vt)||Ac(vt)||nf(vt))Mf(vt)||Ac(vt)?ke.element=vt:ke.element=vt.canvas,ke.width=ke.element.width,ke.height=ke.element.height,ke.channels=4;else if(Ql(vt))ke.element=vt,ke.width=vt.width,ke.height=vt.height,ke.channels=4;else if(Jf(vt))ke.element=vt,ke.width=vt.naturalWidth,ke.height=vt.naturalHeight,ke.channels=4;else if(Of(vt))ke.element=vt,ke.width=vt.videoWidth,ke.height=vt.videoHeight,ke.channels=4;else if(Vu(vt)){var or=ke.width||vt[0].length,Wt=ke.height||vt.length,ir=ke.channels;ga(vt[0][0])?ir=ir||vt[0][0].length:ir=ir||1;for(var Vt=Oe.shape(vt),zr=1,Jr=0;Jr>=br,vt.height>>=br,xi(vt,jt[br]),ke.mipmask|=1<=0&&!(\"faces\"in Qe)&&(ke.genMipmaps=!0)}if(\"mag\"in Qe){var jt=Qe.mag;ke.magFilter=yi[jt]}var br=ke.wrapS,Nr=ke.wrapT;if(\"wrap\"in Qe){var pr=Qe.wrap;typeof pr==\"string\"?br=Nr=bi[pr]:Array.isArray(pr)&&(br=bi[pr[0]],Nr=bi[pr[1]])}else{if(\"wrapS\"in Qe){var mt=Qe.wrapS;br=bi[mt]}if(\"wrapT\"in Qe){var Mt=Qe.wrapT;Nr=bi[Mt]}}if(ke.wrapS=br,ke.wrapT=Nr,\"anisotropic\"in Qe){var Ft=Qe.anisotropic;ke.anisotropic=Qe.anisotropic}if(\"mipmap\"in Qe){var rr=!1;switch(typeof Qe.mipmap){case\"string\":ke.mipmapHint=Ya[Qe.mipmap],ke.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=ke.genMipmaps=Qe.mipmap;break;case\"object\":ke.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Qe)&&(ke.minFilter=Jo)}}function El(ke,Qe){it.texParameteri(Qe,Ks,ke.minFilter),it.texParameteri(Qe,Nl,ke.magFilter),it.texParameteri(Qe,Po,ke.wrapS),it.texParameteri(Qe,To,ke.wrapT),Xt.ext_texture_filter_anisotropic&&it.texParameteri(Qe,Bs,ke.anisotropic),ke.genMipmaps&&(it.hint(Tc,ke.mipmapHint),it.generateMipmap(Qe))}var ru=0,js={},pl=fr.maxTextureUnits,bl=Array(pl).map(function(){return null});function Xn(ke){Ha.call(this),this.mipmask=0,this.internalformat=Ki,this.id=ru++,this.refCount=1,this.target=ke,this.texture=it.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new hs,xa.profile&&(this.stats={size:0})}function kl(ke){it.activeTexture(Ou),it.bindTexture(ke.target,ke.texture)}function Io(){var ke=bl[0];ke?it.bindTexture(ke.target,ke.texture):it.bindTexture(ba,null)}function ge(ke){var Qe=ke.texture,vt=ke.unit,jt=ke.target;vt>=0&&(it.activeTexture(Ou+vt),it.bindTexture(jt,null),bl[vt]=null),it.deleteTexture(Qe),ke.texture=null,ke.params=null,ke.pixels=null,ke.refCount=0,delete js[ke.id],ma.textureCount--}d(Xn.prototype,{bind:function(){var ke=this;ke.bindCount+=1;var Qe=ke.unit;if(Qe<0){for(var vt=0;vt0)continue;jt.unit=-1}bl[vt]=ke,Qe=vt;break}Qe>=pl,xa.profile&&ma.maxTextureUnits>nr)-rr,dr.height=dr.height||(vt.height>>nr)-hr,kl(vt),vn(dr,ba,rr,hr,nr),Io(),nn(dr),jt}function Nr(pr,mt){var Mt=pr|0,Ft=mt|0||Mt;if(Mt===vt.width&&Ft===vt.height)return jt;jt.width=vt.width=Mt,jt.height=vt.height=Ft,kl(vt);for(var rr=0;vt.mipmask>>rr;++rr){var hr=Mt>>rr,nr=Ft>>rr;if(!hr||!nr)break;it.texImage2D(ba,rr,vt.format,hr,nr,0,vt.format,vt.type,null)}return Io(),xa.profile&&(vt.stats.size=oc(vt.internalformat,vt.type,Mt,Ft,!1,!1)),jt}return jt(ke,Qe),jt.subimage=br,jt.resize=Nr,jt._reglType=\"texture2d\",jt._texture=vt,xa.profile&&(jt.stats=vt.stats),jt.destroy=function(){vt.decRef()},jt}function xe(ke,Qe,vt,jt,br,Nr){var pr=new Xn(Ai);js[pr.id]=pr,ma.cubeCount++;var mt=new Array(6);function Mt(hr,nr,dr,or,Wt,ir){var Vt,zr=pr.texInfo;for(hs.call(zr),Vt=0;Vt<6;++Vt)mt[Vt]=ho();if(typeof hr==\"number\"||!hr){var Jr=hr|0||1;for(Vt=0;Vt<6;++Vt)Dn(mt[Vt],Jr,Jr)}else if(typeof hr==\"object\")if(nr)Wn(mt[0],hr),Wn(mt[1],nr),Wn(mt[2],dr),Wn(mt[3],or),Wn(mt[4],Wt),Wn(mt[5],ir);else if(Al(zr,hr),Yi(pr,hr),\"faces\"in hr){var ya=hr.faces;for(Vt=0;Vt<6;++Vt)Ua(mt[Vt],pr),Wn(mt[Vt],ya[Vt])}else for(Vt=0;Vt<6;++Vt)Wn(mt[Vt],hr);for(Ua(pr,mt[0]),zr.genMipmaps?pr.mipmask=(mt[0].width<<1)-1:pr.mipmask=mt[0].mipmask,pr.internalformat=mt[0].internalformat,Mt.width=mt[0].width,Mt.height=mt[0].height,kl(pr),Vt=0;Vt<6;++Vt)Os(mt[Vt],ki+Vt);for(El(zr,Ai),Io(),xa.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,Mt.width,Mt.height,zr.genMipmaps,!0)),Mt.format=Qa[pr.internalformat],Mt.type=di[pr.type],Mt.mag=Va[zr.magFilter],Mt.min=Bi[zr.minFilter],Mt.wrapS=Li[zr.wrapS],Mt.wrapT=Li[zr.wrapT],Vt=0;Vt<6;++Vt)Xl(mt[Vt]);return Mt}function Ft(hr,nr,dr,or,Wt){var ir=dr|0,Vt=or|0,zr=Wt|0,Jr=Ii();return Ua(Jr,pr),Jr.width=0,Jr.height=0,xi(Jr,nr),Jr.width=Jr.width||(pr.width>>zr)-ir,Jr.height=Jr.height||(pr.height>>zr)-Vt,kl(pr),vn(Jr,ki+hr,ir,Vt,zr),Io(),nn(Jr),Mt}function rr(hr){var nr=hr|0;if(nr!==pr.width){Mt.width=pr.width=nr,Mt.height=pr.height=nr,kl(pr);for(var dr=0;dr<6;++dr)for(var or=0;pr.mipmask>>or;++or)it.texImage2D(ki+dr,or,pr.format,nr>>or,nr>>or,0,pr.format,pr.type,null);return Io(),xa.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,Mt.width,Mt.height,!1,!0)),Mt}}return Mt(ke,Qe,vt,jt,br,Nr),Mt.subimage=Ft,Mt.resize=rr,Mt._reglType=\"textureCube\",Mt._texture=pr,xa.profile&&(Mt.stats=pr.stats),Mt.destroy=function(){pr.decRef()},Mt}function te(){for(var ke=0;ke>jt,vt.height>>jt,0,vt.internalformat,vt.type,null);else for(var br=0;br<6;++br)it.texImage2D(ki+br,jt,vt.internalformat,vt.width>>jt,vt.height>>jt,0,vt.internalformat,vt.type,null);El(vt.texInfo,vt.target)})}function je(){for(var ke=0;ke=0?Xl=!0:bi.indexOf(hs)>=0&&(Xl=!1))),(\"depthTexture\"in Xn||\"depthStencilTexture\"in Xn)&&(bl=!!(Xn.depthTexture||Xn.depthStencilTexture)),\"depth\"in Xn&&(typeof Xn.depth==\"boolean\"?Os=Xn.depth:(ru=Xn.depth,xl=!1)),\"stencil\"in Xn&&(typeof Xn.stencil==\"boolean\"?xl=Xn.stencil:(js=Xn.stencil,Os=!1)),\"depthStencil\"in Xn&&(typeof Xn.depthStencil==\"boolean\"?Os=xl=Xn.depthStencil:(pl=Xn.depthStencil,Os=!1,xl=!1))}var Io=null,ge=null,K=null,xe=null;if(Array.isArray(ho))Io=ho.map(Na);else if(ho)Io=[Na(ho)];else for(Io=new Array(El),Cn=0;Cn0&&(nn.depth=xi[0].depth,nn.stencil=xi[0].stencil,nn.depthStencil=xi[0].depthStencil),xi[Ii]?xi[Ii](nn):xi[Ii]=Ua(nn)}return d(Xi,{width:Cn,height:Cn,color:hs})}function vn(Rn){var Ii,nn=Rn|0;if(nn===Xi.width)return Xi;var Cn=Xi.color;for(Ii=0;Ii=Cn.byteLength?Dn.subdata(Cn):(Dn.destroy(),Ua.buffers[Rn]=null)),Ua.buffers[Rn]||(Dn=Ua.buffers[Rn]=Ta.create(Ii,mf,!1,!0)),nn.buffer=Ta.getBuffer(Dn),nn.size=nn.buffer.dimension|0,nn.normalized=!1,nn.type=nn.buffer.dtype,nn.offset=0,nn.stride=0,nn.divisor=0,nn.state=1,Xi[Rn]=1}else Ta.getBuffer(Ii)?(nn.buffer=Ta.getBuffer(Ii),nn.size=nn.buffer.dimension|0,nn.normalized=!1,nn.type=nn.buffer.dtype,nn.offset=0,nn.stride=0,nn.divisor=0,nn.state=1):Ta.getBuffer(Ii.buffer)?(nn.buffer=Ta.getBuffer(Ii.buffer),nn.size=(+Ii.size||nn.buffer.dimension)|0,nn.normalized=!!Ii.normalized||!1,\"type\"in Ii?nn.type=_a[Ii.type]:nn.type=nn.buffer.dtype,nn.offset=(Ii.offset||0)|0,nn.stride=(Ii.stride||0)|0,nn.divisor=(Ii.divisor||0)|0,nn.state=1):\"x\"in Ii&&(nn.x=+Ii.x||0,nn.y=+Ii.y||0,nn.z=+Ii.z||0,nn.w=+Ii.w||0,nn.state=2)}for(var Wn=0;Wn1)for(var Ri=0;Riea&&(ea=Ma.stats.uniformsCount)}),ea},fr.getMaxAttributesCount=function(){var ea=0;return si.forEach(function(Ma){Ma.stats.attributesCount>ea&&(ea=Ma.stats.attributesCount)}),ea});function Na(){Ta={},ma={};for(var ea=0;ea16&&(fr=Pi(fr,it.length*8));for(var oa=Array(16),Ta=Array(16),ma=0;ma<16;ma++)oa[ma]=fr[ma]^909522486,Ta[ma]=fr[ma]^1549556828;var xa=Pi(oa.concat(Pc(Xt)),512+Xt.length*8);return Qt(Pi(Ta.concat(xa),768))}function xu(it){for(var Xt=Vf?\"0123456789ABCDEF\":\"0123456789abcdef\",fr=\"\",oa,Ta=0;Ta>>4&15)+Xt.charAt(oa&15);return fr}function Lc(it){for(var Xt=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",fr=\"\",oa=it.length,Ta=0;Tait.length*8?fr+=Xu:fr+=Xt.charAt(ma>>>6*(3-xa)&63);return fr}function $c(it,Xt){var fr=Xt.length,oa=Array(),Ta,ma,xa,Ya,bi=Array(Math.ceil(it.length/2));for(Ta=0;Ta0;){for(Ya=Array(),xa=0,Ta=0;Ta0||ma>0)&&(Ya[Ya.length]=ma);oa[oa.length]=xa,bi=Ya}var yi=\"\";for(Ta=oa.length-1;Ta>=0;Ta--)yi+=Xt.charAt(oa[Ta]);var si=Math.ceil(it.length*8/(Math.log(Xt.length)/Math.log(2)));for(Ta=yi.length;Ta>>6&31,128|oa&63):oa<=65535?Xt+=String.fromCharCode(224|oa>>>12&15,128|oa>>>6&63,128|oa&63):oa<=2097151&&(Xt+=String.fromCharCode(240|oa>>>18&7,128|oa>>>12&63,128|oa>>>6&63,128|oa&63));return Xt}function Pc(it){for(var Xt=Array(it.length>>2),fr=0;fr>5]|=(it.charCodeAt(fr/8)&255)<<24-fr%32;return Xt}function Qt(it){for(var Xt=\"\",fr=0;fr>5]>>>24-fr%32&255);return Xt}function xr(it,Xt){return it>>>Xt|it<<32-Xt}function aa(it,Xt){return it>>>Xt}function $r(it,Xt,fr){return it&Xt^~it&fr}function ka(it,Xt,fr){return it&Xt^it&fr^Xt&fr}function li(it){return xr(it,2)^xr(it,13)^xr(it,22)}function Ci(it){return xr(it,6)^xr(it,11)^xr(it,25)}function Hi(it){return xr(it,7)^xr(it,18)^aa(it,3)}function Qi(it){return xr(it,17)^xr(it,19)^aa(it,10)}var pn=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Pi(it,Xt){var fr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),oa=new Array(64),Ta,ma,xa,Ya,bi,yi,si,gn,zi,Ei,Na,ea;for(it[Xt>>5]|=128<<24-Xt%32,it[(Xt+64>>9<<4)+15]=Xt,zi=0;zi>16)+(Xt>>16)+(fr>>16);return oa<<16|fr&65535}function Ni(it){return Array.prototype.slice.call(it)}function mi(it){return Ni(it).join(\"\")}function Sn(it){var Xt=it&&it.cache,fr=0,oa=[],Ta=[],ma=[];function xa(Na,ea){var Ma=ea&&ea.stable;if(!Ma){for(var Qa=0;Qa0&&(Na.push(di,\"=\"),Na.push.apply(Na,Ni(arguments)),Na.push(\";\")),di}return d(ea,{def:Qa,toString:function(){return mi([Ma.length>0?\"var \"+Ma.join(\",\")+\";\":\"\",mi(Na)])}})}function bi(){var Na=Ya(),ea=Ya(),Ma=Na.toString,Qa=ea.toString;function di(Va,Bi){ea(Va,Bi,\"=\",Na.def(Va,Bi),\";\")}return d(function(){Na.apply(Na,Ni(arguments))},{def:Na.def,entry:Na,exit:ea,save:di,set:function(Va,Bi,Li){di(Va,Bi),Na(Va,Bi,\"=\",Li,\";\")},toString:function(){return Ma()+Qa()}})}function yi(){var Na=mi(arguments),ea=bi(),Ma=bi(),Qa=ea.toString,di=Ma.toString;return d(ea,{then:function(){return ea.apply(ea,Ni(arguments)),this},else:function(){return Ma.apply(Ma,Ni(arguments)),this},toString:function(){var Va=di();return Va&&(Va=\"else{\"+Va+\"}\"),mi([\"if(\",Na,\"){\",Qa(),\"}\",Va])}})}var si=Ya(),gn={};function zi(Na,ea){var Ma=[];function Qa(){var hn=\"a\"+Ma.length;return Ma.push(hn),hn}ea=ea||0;for(var di=0;di\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},za={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Xa={cw:et,ccw:dt};function fi(it){return Array.isArray(it)||Er(it)||Dr(it)}function ni(it){return it.sort(function(Xt,fr){return Xt===Me?-1:fr===Me?1:Xt=1,oa>=2,Xt)}else if(fr===Es){var Ta=it.data;return new La(Ta.thisDep,Ta.contextDep,Ta.propDep,Xt)}else{if(fr===rl)return new La(!1,!1,!1,Xt);if(fr===Ns){for(var ma=!1,xa=!1,Ya=!1,bi=0;bi=1&&(xa=!0),si>=2&&(Ya=!0)}else yi.type===Es&&(ma=ma||yi.data.thisDep,xa=xa||yi.data.contextDep,Ya=Ya||yi.data.propDep)}return new La(ma,xa,Ya,Xt)}else return new La(fr===Qo,fr===yo,fr===un,Xt)}}var In=new La(!1,!1,!1,function(){});function Jn(it,Xt,fr,oa,Ta,ma,xa,Ya,bi,yi,si,gn,zi,Ei,Na,ea){var Ma=yi.Record,Qa={add:32774,subtract:32778,\"reverse subtract\":32779};fr.ext_blend_minmax&&(Qa.min=yt,Qa.max=Tt);var di=fr.angle_instanced_arrays,Va=fr.webgl_draw_buffers,Bi=fr.oes_vertex_array_object,Li={dirty:!0,profile:ea.profile},hn={},Ha=[],Ua={},Yi={};function Ri(mt){return mt.replace(\".\",\"_\")}function Ti(mt,Mt,Ft){var rr=Ri(mt);Ha.push(mt),hn[rr]=Li[rr]=!!Ft,Ua[rr]=Mt}function xi(mt,Mt,Ft){var rr=Ri(mt);Ha.push(mt),Array.isArray(Ft)?(Li[rr]=Ft.slice(),hn[rr]=Ft.slice()):Li[rr]=hn[rr]=Ft,Yi[rr]=Mt}function Xi(mt){return!!isNaN(mt)}Ti(el,ci),Ti(As,Da),xi(Fl,\"blendColor\",[0,0,0,0]),xi(yl,\"blendEquationSeparate\",[Xr,Xr]),xi(ll,\"blendFuncSeparate\",[Gr,_r,Gr,_r]),Ti(Un,ji,!0),xi(Ro,\"depthFunc\",wa),xi(Js,\"depthRange\",[0,1]),xi(Fs,\"depthMask\",!0),xi(cu,cu,[!0,!0,!0,!0]),Ti(Iu,Aa),xi(Zu,\"cullFace\",De),xi(Ic,Ic,dt),xi(bu,bu,1),Ti(Rc,An),xi(Au,\"polygonOffset\",[0,0]),Ti(yc,Yn),Ti(fo,Bn),xi(Fo,\"sampleCoverage\",[1,!1]),Ti(Dc,Vi),xi(lc,\"stencilMask\",-1),xi(Yu,\"stencilFunc\",[tr,0,-1]),xi(Fe,\"stencilOpSeparate\",[me,zt,zt,zt]),xi(I,\"stencilOpSeparate\",[De,zt,zt,zt]),Ti(ie,on),xi(Te,\"scissor\",[0,0,it.drawingBufferWidth,it.drawingBufferHeight]),xi(Me,Me,[0,0,it.drawingBufferWidth,it.drawingBufferHeight]);var vn={gl:it,context:zi,strings:Xt,next:hn,current:Li,draw:gn,elements:ma,buffer:Ta,shader:si,attributes:yi.state,vao:yi,uniforms:bi,framebuffer:Ya,extensions:fr,timer:Ei,isBufferArgs:fi},Rn={primTypes:Ia,compareFuncs:Sa,blendFuncs:ti,blendEquations:Qa,stencilOps:za,glTypes:_a,orientationType:Xa};Va&&(Rn.backBuffer=[De],Rn.drawBuffer=p(oa.maxDrawbuffers,function(mt){return mt===0?[0]:p(mt,function(Mt){return Ja+Mt})}));var Ii=0;function nn(){var mt=Sn({cache:Na}),Mt=mt.link,Ft=mt.global;mt.id=Ii++,mt.batchId=\"0\";var rr=Mt(vn),hr=mt.shared={props:\"a0\"};Object.keys(vn).forEach(function(ir){hr[ir]=Ft.def(rr,\".\",ir)});var nr=mt.next={},dr=mt.current={};Object.keys(Yi).forEach(function(ir){Array.isArray(Li[ir])&&(nr[ir]=Ft.def(hr.next,\".\",ir),dr[ir]=Ft.def(hr.current,\".\",ir))});var or=mt.constants={};Object.keys(Rn).forEach(function(ir){or[ir]=Ft.def(JSON.stringify(Rn[ir]))}),mt.invoke=function(ir,Vt){switch(Vt.type){case Tn:var zr=[\"this\",hr.context,hr.props,mt.batchId];return ir.def(Mt(Vt.data),\".call(\",zr.slice(0,Math.max(Vt.data.length+1,4)),\")\");case un:return ir.def(hr.props,Vt.data);case yo:return ir.def(hr.context,Vt.data);case Qo:return ir.def(\"this\",Vt.data);case Es:return Vt.data.append(mt,ir),Vt.data.ref;case rl:return Vt.data.toString();case Ns:return Vt.data.map(function(Jr){return mt.invoke(ir,Jr)})}},mt.attribCache={};var Wt={};return mt.scopeAttrib=function(ir){var Vt=Xt.id(ir);if(Vt in Wt)return Wt[Vt];var zr=yi.scope[Vt];zr||(zr=yi.scope[Vt]=new Ma);var Jr=Wt[Vt]=Mt(zr);return Jr},mt}function Cn(mt){var Mt=mt.static,Ft=mt.dynamic,rr;if(ze in Mt){var hr=!!Mt[ze];rr=an(function(dr,or){return hr}),rr.enable=hr}else if(ze in Ft){var nr=Ft[ze];rr=dn(nr,function(dr,or){return dr.invoke(or,nr)})}return rr}function Dn(mt,Mt){var Ft=mt.static,rr=mt.dynamic;if(ht in Ft){var hr=Ft[ht];return hr?(hr=Ya.getFramebuffer(hr),an(function(dr,or){var Wt=dr.link(hr),ir=dr.shared;or.set(ir.framebuffer,\".next\",Wt);var Vt=ir.context;return or.set(Vt,\".\"+pt,Wt+\".width\"),or.set(Vt,\".\"+Et,Wt+\".height\"),Wt})):an(function(dr,or){var Wt=dr.shared;or.set(Wt.framebuffer,\".next\",\"null\");var ir=Wt.context;return or.set(ir,\".\"+pt,ir+\".\"+yr),or.set(ir,\".\"+Et,ir+\".\"+kr),\"null\"})}else if(ht in rr){var nr=rr[ht];return dn(nr,function(dr,or){var Wt=dr.invoke(or,nr),ir=dr.shared,Vt=ir.framebuffer,zr=or.def(Vt,\".getFramebuffer(\",Wt,\")\");or.set(Vt,\".next\",zr);var Jr=ir.context;return or.set(Jr,\".\"+pt,zr+\"?\"+zr+\".width:\"+Jr+\".\"+yr),or.set(Jr,\".\"+Et,zr+\"?\"+zr+\".height:\"+Jr+\".\"+kr),zr})}else return null}function Wn(mt,Mt,Ft){var rr=mt.static,hr=mt.dynamic;function nr(Wt){if(Wt in rr){var ir=rr[Wt],Vt=!0,zr=ir.x|0,Jr=ir.y|0,ya,vi;return\"width\"in ir?ya=ir.width|0:Vt=!1,\"height\"in ir?vi=ir.height|0:Vt=!1,new La(!Vt&&Mt&&Mt.thisDep,!Vt&&Mt&&Mt.contextDep,!Vt&&Mt&&Mt.propDep,function(Zi,Fi){var ui=Zi.shared.context,_i=ya;\"width\"in ir||(_i=Fi.def(ui,\".\",pt,\"-\",zr));var Si=vi;return\"height\"in ir||(Si=Fi.def(ui,\".\",Et,\"-\",Jr)),[zr,Jr,_i,Si]})}else if(Wt in hr){var Ga=hr[Wt],ai=dn(Ga,function(Zi,Fi){var ui=Zi.invoke(Fi,Ga),_i=Zi.shared.context,Si=Fi.def(ui,\".x|0\"),Ui=Fi.def(ui,\".y|0\"),fn=Fi.def('\"width\" in ',ui,\"?\",ui,\".width|0:\",\"(\",_i,\".\",pt,\"-\",Si,\")\"),_o=Fi.def('\"height\" in ',ui,\"?\",ui,\".height|0:\",\"(\",_i,\".\",Et,\"-\",Ui,\")\");return[Si,Ui,fn,_o]});return Mt&&(ai.thisDep=ai.thisDep||Mt.thisDep,ai.contextDep=ai.contextDep||Mt.contextDep,ai.propDep=ai.propDep||Mt.propDep),ai}else return Mt?new La(Mt.thisDep,Mt.contextDep,Mt.propDep,function(Zi,Fi){var ui=Zi.shared.context;return[0,0,Fi.def(ui,\".\",pt),Fi.def(ui,\".\",Et)]}):null}var dr=nr(Me);if(dr){var or=dr;dr=new La(dr.thisDep,dr.contextDep,dr.propDep,function(Wt,ir){var Vt=or.append(Wt,ir),zr=Wt.shared.context;return ir.set(zr,\".\"+bt,Vt[2]),ir.set(zr,\".\"+Dt,Vt[3]),Vt})}return{viewport:dr,scissor_box:nr(Te)}}function Os(mt,Mt){var Ft=mt.static,rr=typeof Ft[Ot]==\"string\"&&typeof Ft[wt]==\"string\";if(rr){if(Object.keys(Mt.dynamic).length>0)return null;var hr=Mt.static,nr=Object.keys(hr);if(nr.length>0&&typeof hr[nr[0]]==\"number\"){for(var dr=[],or=0;or\"+Si+\"?\"+Vt+\".constant[\"+Si+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",ya,\"(\",Vt,\".buffer)){\",Zi,\"=\",vi,\".createStream(\",Qr,\",\",Vt,\".buffer);\",\"}else{\",Zi,\"=\",vi,\".getBuffer(\",Vt,\".buffer);\",\"}\",Fi,'=\"type\" in ',Vt,\"?\",Jr.glTypes,\"[\",Vt,\".type]:\",Zi,\".dtype;\",Ga.normalized,\"=!!\",Vt,\".normalized;\");function ui(_i){ir(Ga[_i],\"=\",Vt,\".\",_i,\"|0;\")}return ui(\"size\"),ui(\"offset\"),ui(\"stride\"),ui(\"divisor\"),ir(\"}}\"),ir.exit(\"if(\",Ga.isStream,\"){\",vi,\".destroyStream(\",Zi,\");\",\"}\"),Ga}hr[nr]=dn(dr,or)}),hr}function El(mt){var Mt=mt.static,Ft=mt.dynamic,rr={};return Object.keys(Mt).forEach(function(hr){var nr=Mt[hr];rr[hr]=an(function(dr,or){return typeof nr==\"number\"||typeof nr==\"boolean\"?\"\"+nr:dr.link(nr)})}),Object.keys(Ft).forEach(function(hr){var nr=Ft[hr];rr[hr]=dn(nr,function(dr,or){return dr.invoke(or,nr)})}),rr}function ru(mt,Mt,Ft,rr,hr){var nr=mt.static,dr=mt.dynamic,or=Os(mt,Mt),Wt=Dn(mt,hr),ir=Wn(mt,Wt,hr),Vt=ho(mt,hr),zr=Xl(mt,hr),Jr=xl(mt,hr,or);function ya(ui){var _i=ir[ui];_i&&(zr[ui]=_i)}ya(Me),ya(Ri(Te));var vi=Object.keys(zr).length>0,Ga={framebuffer:Wt,draw:Vt,shader:Jr,state:zr,dirty:vi,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ga.profile=Cn(mt,hr),Ga.uniforms=hs(Ft,hr),Ga.drawVAO=Ga.scopeVAO=Vt.vao,!Ga.drawVAO&&Jr.program&&!or&&fr.angle_instanced_arrays&&Vt.static.elements){var ai=!0,Zi=Jr.program.attributes.map(function(ui){var _i=Mt.static[ui];return ai=ai&&!!_i,_i});if(ai&&Zi.length>0){var Fi=yi.getVAO(yi.createVAO({attributes:Zi,elements:Vt.static.elements}));Ga.drawVAO=new La(null,null,null,function(ui,_i){return ui.link(Fi)}),Ga.useVAO=!0}}return or?Ga.useVAO=!0:Ga.attributes=Al(Mt,hr),Ga.context=El(rr,hr),Ga}function js(mt,Mt,Ft){var rr=mt.shared,hr=rr.context,nr=mt.scope();Object.keys(Ft).forEach(function(dr){Mt.save(hr,\".\"+dr);var or=Ft[dr],Wt=or.append(mt,Mt);Array.isArray(Wt)?nr(hr,\".\",dr,\"=[\",Wt.join(),\"];\"):nr(hr,\".\",dr,\"=\",Wt,\";\")}),Mt(nr)}function pl(mt,Mt,Ft,rr){var hr=mt.shared,nr=hr.gl,dr=hr.framebuffer,or;Va&&(or=Mt.def(hr.extensions,\".webgl_draw_buffers\"));var Wt=mt.constants,ir=Wt.drawBuffer,Vt=Wt.backBuffer,zr;Ft?zr=Ft.append(mt,Mt):zr=Mt.def(dr,\".next\"),rr||Mt(\"if(\",zr,\"!==\",dr,\".cur){\"),Mt(\"if(\",zr,\"){\",nr,\".bindFramebuffer(\",pa,\",\",zr,\".framebuffer);\"),Va&&Mt(or,\".drawBuffersWEBGL(\",ir,\"[\",zr,\".colorAttachments.length]);\"),Mt(\"}else{\",nr,\".bindFramebuffer(\",pa,\",null);\"),Va&&Mt(or,\".drawBuffersWEBGL(\",Vt,\");\"),Mt(\"}\",dr,\".cur=\",zr,\";\"),rr||Mt(\"}\")}function bl(mt,Mt,Ft){var rr=mt.shared,hr=rr.gl,nr=mt.current,dr=mt.next,or=rr.current,Wt=rr.next,ir=mt.cond(or,\".dirty\");Ha.forEach(function(Vt){var zr=Ri(Vt);if(!(zr in Ft.state)){var Jr,ya;if(zr in dr){Jr=dr[zr],ya=nr[zr];var vi=p(Li[zr].length,function(ai){return ir.def(Jr,\"[\",ai,\"]\")});ir(mt.cond(vi.map(function(ai,Zi){return ai+\"!==\"+ya+\"[\"+Zi+\"]\"}).join(\"||\")).then(hr,\".\",Yi[zr],\"(\",vi,\");\",vi.map(function(ai,Zi){return ya+\"[\"+Zi+\"]=\"+ai}).join(\";\"),\";\"))}else{Jr=ir.def(Wt,\".\",zr);var Ga=mt.cond(Jr,\"!==\",or,\".\",zr);ir(Ga),zr in Ua?Ga(mt.cond(Jr).then(hr,\".enable(\",Ua[zr],\");\").else(hr,\".disable(\",Ua[zr],\");\"),or,\".\",zr,\"=\",Jr,\";\"):Ga(hr,\".\",Yi[zr],\"(\",Jr,\");\",or,\".\",zr,\"=\",Jr,\";\")}}}),Object.keys(Ft.state).length===0&&ir(or,\".dirty=false;\"),Mt(ir)}function Xn(mt,Mt,Ft,rr){var hr=mt.shared,nr=mt.current,dr=hr.current,or=hr.gl,Wt;ni(Object.keys(Ft)).forEach(function(ir){var Vt=Ft[ir];if(!(rr&&!rr(Vt))){var zr=Vt.append(mt,Mt);if(Ua[ir]){var Jr=Ua[ir];sn(Vt)?(Wt=mt.link(zr,{stable:!0}),Mt(mt.cond(Wt).then(or,\".enable(\",Jr,\");\").else(or,\".disable(\",Jr,\");\")),Mt(dr,\".\",ir,\"=\",Wt,\";\")):(Mt(mt.cond(zr).then(or,\".enable(\",Jr,\");\").else(or,\".disable(\",Jr,\");\")),Mt(dr,\".\",ir,\"=\",zr,\";\"))}else if(ga(zr)){var ya=nr[ir];Mt(or,\".\",Yi[ir],\"(\",zr,\");\",zr.map(function(vi,Ga){return ya+\"[\"+Ga+\"]=\"+vi}).join(\";\"),\";\")}else sn(Vt)?(Wt=mt.link(zr,{stable:!0}),Mt(or,\".\",Yi[ir],\"(\",Wt,\");\",dr,\".\",ir,\"=\",Wt,\";\")):Mt(or,\".\",Yi[ir],\"(\",zr,\");\",dr,\".\",ir,\"=\",zr,\";\")}})}function kl(mt,Mt){di&&(mt.instancing=Mt.def(mt.shared.extensions,\".angle_instanced_arrays\"))}function Io(mt,Mt,Ft,rr,hr){var nr=mt.shared,dr=mt.stats,or=nr.current,Wt=nr.timer,ir=Ft.profile;function Vt(){return typeof performance>\"u\"?\"Date.now()\":\"performance.now()\"}var zr,Jr;function ya(ui){zr=Mt.def(),ui(zr,\"=\",Vt(),\";\"),typeof hr==\"string\"?ui(dr,\".count+=\",hr,\";\"):ui(dr,\".count++;\"),Ei&&(rr?(Jr=Mt.def(),ui(Jr,\"=\",Wt,\".getNumPendingQueries();\")):ui(Wt,\".beginQuery(\",dr,\");\"))}function vi(ui){ui(dr,\".cpuTime+=\",Vt(),\"-\",zr,\";\"),Ei&&(rr?ui(Wt,\".pushScopeStats(\",Jr,\",\",Wt,\".getNumPendingQueries(),\",dr,\");\"):ui(Wt,\".endQuery();\"))}function Ga(ui){var _i=Mt.def(or,\".profile\");Mt(or,\".profile=\",ui,\";\"),Mt.exit(or,\".profile=\",_i,\";\")}var ai;if(ir){if(sn(ir)){ir.enable?(ya(Mt),vi(Mt.exit),Ga(\"true\")):Ga(\"false\");return}ai=ir.append(mt,Mt),Ga(ai)}else ai=Mt.def(or,\".profile\");var Zi=mt.block();ya(Zi),Mt(\"if(\",ai,\"){\",Zi,\"}\");var Fi=mt.block();vi(Fi),Mt.exit(\"if(\",ai,\"){\",Fi,\"}\")}function ge(mt,Mt,Ft,rr,hr){var nr=mt.shared;function dr(Wt){switch(Wt){case ls:case ul:case Il:return 2;case Mo:case tl:case tu:return 3;case Yo:case es:case Ru:return 4;default:return 1}}function or(Wt,ir,Vt){var zr=nr.gl,Jr=Mt.def(Wt,\".location\"),ya=Mt.def(nr.attributes,\"[\",Jr,\"]\"),vi=Vt.state,Ga=Vt.buffer,ai=[Vt.x,Vt.y,Vt.z,Vt.w],Zi=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function Fi(){Mt(\"if(!\",ya,\".buffer){\",zr,\".enableVertexAttribArray(\",Jr,\");}\");var _i=Vt.type,Si;if(Vt.size?Si=Mt.def(Vt.size,\"||\",ir):Si=ir,Mt(\"if(\",ya,\".type!==\",_i,\"||\",ya,\".size!==\",Si,\"||\",Zi.map(function(fn){return ya+\".\"+fn+\"!==\"+Vt[fn]}).join(\"||\"),\"){\",zr,\".bindBuffer(\",Qr,\",\",Ga,\".buffer);\",zr,\".vertexAttribPointer(\",[Jr,Si,_i,Vt.normalized,Vt.stride,Vt.offset],\");\",ya,\".type=\",_i,\";\",ya,\".size=\",Si,\";\",Zi.map(function(fn){return ya+\".\"+fn+\"=\"+Vt[fn]+\";\"}).join(\"\"),\"}\"),di){var Ui=Vt.divisor;Mt(\"if(\",ya,\".divisor!==\",Ui,\"){\",mt.instancing,\".vertexAttribDivisorANGLE(\",[Jr,Ui],\");\",ya,\".divisor=\",Ui,\";}\")}}function ui(){Mt(\"if(\",ya,\".buffer){\",zr,\".disableVertexAttribArray(\",Jr,\");\",ya,\".buffer=null;\",\"}if(\",Qn.map(function(_i,Si){return ya+\".\"+_i+\"!==\"+ai[Si]}).join(\"||\"),\"){\",zr,\".vertexAttrib4f(\",Jr,\",\",ai,\");\",Qn.map(function(_i,Si){return ya+\".\"+_i+\"=\"+ai[Si]+\";\"}).join(\"\"),\"}\")}vi===eo?Fi():vi===co?ui():(Mt(\"if(\",vi,\"===\",eo,\"){\"),Fi(),Mt(\"}else{\"),ui(),Mt(\"}\"))}rr.forEach(function(Wt){var ir=Wt.name,Vt=Ft.attributes[ir],zr;if(Vt){if(!hr(Vt))return;zr=Vt.append(mt,Mt)}else{if(!hr(In))return;var Jr=mt.scopeAttrib(ir);zr={},Object.keys(new Ma).forEach(function(ya){zr[ya]=Mt.def(Jr,\".\",ya)})}or(mt.link(Wt),dr(Wt.info.type),zr)})}function K(mt,Mt,Ft,rr,hr,nr){for(var dr=mt.shared,or=dr.gl,Wt,ir=0;ir1){for(var Uo=[],Ds=[],Oo=0;Oo>1)\",Ga],\");\")}function Ui(){Ft(ai,\".drawArraysInstancedANGLE(\",[Jr,ya,vi,Ga],\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Ft(\"if(\",Vt,\"){\"),Si(),Ft(\"}else{\"),Ui(),Ft(\"}\")):Ui()}function _i(){function Si(){Ft(nr+\".drawElements(\"+[Jr,vi,Zi,ya+\"<<((\"+Zi+\"-\"+io+\")>>1)\"]+\");\")}function Ui(){Ft(nr+\".drawArrays(\"+[Jr,ya,vi]+\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Ft(\"if(\",Vt,\"){\"),Si(),Ft(\"}else{\"),Ui(),Ft(\"}\")):Ui()}di&&(typeof Ga!=\"number\"||Ga>=0)?typeof Ga==\"string\"?(Ft(\"if(\",Ga,\">0){\"),ui(),Ft(\"}else if(\",Ga,\"<0){\"),_i(),Ft(\"}\")):ui():_i()}function te(mt,Mt,Ft,rr,hr){var nr=nn(),dr=nr.proc(\"body\",hr);return di&&(nr.instancing=dr.def(nr.shared.extensions,\".angle_instanced_arrays\")),mt(nr,dr,Ft,rr),nr.compile().body}function ye(mt,Mt,Ft,rr){kl(mt,Mt),Ft.useVAO?Ft.drawVAO?Mt(mt.shared.vao,\".setVAO(\",Ft.drawVAO.append(mt,Mt),\");\"):Mt(mt.shared.vao,\".setVAO(\",mt.shared.vao,\".targetVAO);\"):(Mt(mt.shared.vao,\".setVAO(null);\"),ge(mt,Mt,Ft,rr.attributes,function(){return!0})),K(mt,Mt,Ft,rr.uniforms,function(){return!0},!1),xe(mt,Mt,Mt,Ft)}function je(mt,Mt){var Ft=mt.proc(\"draw\",1);kl(mt,Ft),js(mt,Ft,Mt.context),pl(mt,Ft,Mt.framebuffer),bl(mt,Ft,Mt),Xn(mt,Ft,Mt.state),Io(mt,Ft,Mt,!1,!0);var rr=Mt.shader.progVar.append(mt,Ft);if(Ft(mt.shared.gl,\".useProgram(\",rr,\".program);\"),Mt.shader.program)ye(mt,Ft,Mt,Mt.shader.program);else{Ft(mt.shared.vao,\".setVAO(null);\");var hr=mt.global.def(\"{}\"),nr=Ft.def(rr,\".id\"),dr=Ft.def(hr,\"[\",nr,\"]\");Ft(mt.cond(dr).then(dr,\".call(this,a0);\").else(dr,\"=\",hr,\"[\",nr,\"]=\",mt.link(function(or){return te(ye,mt,Mt,or,1)}),\"(\",rr,\");\",dr,\".call(this,a0);\"))}Object.keys(Mt.state).length>0&&Ft(mt.shared.current,\".dirty=true;\"),mt.shared.vao&&Ft(mt.shared.vao,\".setVAO(null);\")}function ke(mt,Mt,Ft,rr){mt.batchId=\"a1\",kl(mt,Mt);function hr(){return!0}ge(mt,Mt,Ft,rr.attributes,hr),K(mt,Mt,Ft,rr.uniforms,hr,!1),xe(mt,Mt,Mt,Ft)}function Qe(mt,Mt,Ft,rr){kl(mt,Mt);var hr=Ft.contextDep,nr=Mt.def(),dr=\"a0\",or=\"a1\",Wt=Mt.def();mt.shared.props=Wt,mt.batchId=nr;var ir=mt.scope(),Vt=mt.scope();Mt(ir.entry,\"for(\",nr,\"=0;\",nr,\"<\",or,\";++\",nr,\"){\",Wt,\"=\",dr,\"[\",nr,\"];\",Vt,\"}\",ir.exit);function zr(Zi){return Zi.contextDep&&hr||Zi.propDep}function Jr(Zi){return!zr(Zi)}if(Ft.needsContext&&js(mt,Vt,Ft.context),Ft.needsFramebuffer&&pl(mt,Vt,Ft.framebuffer),Xn(mt,Vt,Ft.state,zr),Ft.profile&&zr(Ft.profile)&&Io(mt,Vt,Ft,!1,!0),rr)Ft.useVAO?Ft.drawVAO?zr(Ft.drawVAO)?Vt(mt.shared.vao,\".setVAO(\",Ft.drawVAO.append(mt,Vt),\");\"):ir(mt.shared.vao,\".setVAO(\",Ft.drawVAO.append(mt,ir),\");\"):ir(mt.shared.vao,\".setVAO(\",mt.shared.vao,\".targetVAO);\"):(ir(mt.shared.vao,\".setVAO(null);\"),ge(mt,ir,Ft,rr.attributes,Jr),ge(mt,Vt,Ft,rr.attributes,zr)),K(mt,ir,Ft,rr.uniforms,Jr,!1),K(mt,Vt,Ft,rr.uniforms,zr,!0),xe(mt,ir,Vt,Ft);else{var ya=mt.global.def(\"{}\"),vi=Ft.shader.progVar.append(mt,Vt),Ga=Vt.def(vi,\".id\"),ai=Vt.def(ya,\"[\",Ga,\"]\");Vt(mt.shared.gl,\".useProgram(\",vi,\".program);\",\"if(!\",ai,\"){\",ai,\"=\",ya,\"[\",Ga,\"]=\",mt.link(function(Zi){return te(ke,mt,Ft,Zi,2)}),\"(\",vi,\");}\",ai,\".call(this,a0[\",nr,\"],\",nr,\");\")}}function vt(mt,Mt){var Ft=mt.proc(\"batch\",2);mt.batchId=\"0\",kl(mt,Ft);var rr=!1,hr=!0;Object.keys(Mt.context).forEach(function(ya){rr=rr||Mt.context[ya].propDep}),rr||(js(mt,Ft,Mt.context),hr=!1);var nr=Mt.framebuffer,dr=!1;nr?(nr.propDep?rr=dr=!0:nr.contextDep&&rr&&(dr=!0),dr||pl(mt,Ft,nr)):pl(mt,Ft,null),Mt.state.viewport&&Mt.state.viewport.propDep&&(rr=!0);function or(ya){return ya.contextDep&&rr||ya.propDep}bl(mt,Ft,Mt),Xn(mt,Ft,Mt.state,function(ya){return!or(ya)}),(!Mt.profile||!or(Mt.profile))&&Io(mt,Ft,Mt,!1,\"a1\"),Mt.contextDep=rr,Mt.needsContext=hr,Mt.needsFramebuffer=dr;var Wt=Mt.shader.progVar;if(Wt.contextDep&&rr||Wt.propDep)Qe(mt,Ft,Mt,null);else{var ir=Wt.append(mt,Ft);if(Ft(mt.shared.gl,\".useProgram(\",ir,\".program);\"),Mt.shader.program)Qe(mt,Ft,Mt,Mt.shader.program);else{Ft(mt.shared.vao,\".setVAO(null);\");var Vt=mt.global.def(\"{}\"),zr=Ft.def(ir,\".id\"),Jr=Ft.def(Vt,\"[\",zr,\"]\");Ft(mt.cond(Jr).then(Jr,\".call(this,a0,a1);\").else(Jr,\"=\",Vt,\"[\",zr,\"]=\",mt.link(function(ya){return te(Qe,mt,Mt,ya,2)}),\"(\",ir,\");\",Jr,\".call(this,a0,a1);\"))}}Object.keys(Mt.state).length>0&&Ft(mt.shared.current,\".dirty=true;\"),mt.shared.vao&&Ft(mt.shared.vao,\".setVAO(null);\")}function jt(mt,Mt){var Ft=mt.proc(\"scope\",3);mt.batchId=\"a2\";var rr=mt.shared,hr=rr.current;if(js(mt,Ft,Mt.context),Mt.framebuffer&&Mt.framebuffer.append(mt,Ft),ni(Object.keys(Mt.state)).forEach(function(or){var Wt=Mt.state[or],ir=Wt.append(mt,Ft);ga(ir)?ir.forEach(function(Vt,zr){Xi(Vt)?Ft.set(mt.next[or],\"[\"+zr+\"]\",Vt):Ft.set(mt.next[or],\"[\"+zr+\"]\",mt.link(Vt,{stable:!0}))}):sn(Wt)?Ft.set(rr.next,\".\"+or,mt.link(ir,{stable:!0})):Ft.set(rr.next,\".\"+or,ir)}),Io(mt,Ft,Mt,!0,!0),[$t,Kr,Sr,na,Ar].forEach(function(or){var Wt=Mt.draw[or];if(Wt){var ir=Wt.append(mt,Ft);Xi(ir)?Ft.set(rr.draw,\".\"+or,ir):Ft.set(rr.draw,\".\"+or,mt.link(ir),{stable:!0})}}),Object.keys(Mt.uniforms).forEach(function(or){var Wt=Mt.uniforms[or].append(mt,Ft);Array.isArray(Wt)&&(Wt=\"[\"+Wt.map(function(ir){return Xi(ir)?ir:mt.link(ir,{stable:!0})})+\"]\"),Ft.set(rr.uniforms,\"[\"+mt.link(Xt.id(or),{stable:!0})+\"]\",Wt)}),Object.keys(Mt.attributes).forEach(function(or){var Wt=Mt.attributes[or].append(mt,Ft),ir=mt.scopeAttrib(or);Object.keys(new Ma).forEach(function(Vt){Ft.set(ir,\".\"+Vt,Wt[Vt])})}),Mt.scopeVAO){var nr=Mt.scopeVAO.append(mt,Ft);Xi(nr)?Ft.set(rr.vao,\".targetVAO\",nr):Ft.set(rr.vao,\".targetVAO\",mt.link(nr,{stable:!0}))}function dr(or){var Wt=Mt.shader[or];if(Wt){var ir=Wt.append(mt,Ft);Xi(ir)?Ft.set(rr.shader,\".\"+or,ir):Ft.set(rr.shader,\".\"+or,mt.link(ir,{stable:!0}))}}dr(wt),dr(Ot),Object.keys(Mt.state).length>0&&(Ft(hr,\".dirty=true;\"),Ft.exit(hr,\".dirty=true;\")),Ft(\"a1(\",mt.shared.context,\",a0,\",mt.batchId,\");\")}function br(mt){if(!(typeof mt!=\"object\"||ga(mt))){for(var Mt=Object.keys(mt),Ft=0;Ft=0;--te){var ye=vn[te];ye&&ye(Na,null,0)}fr.flush(),si&&si.update()}function Wn(){!Cn&&vn.length>0&&(Cn=f.next(Dn))}function Os(){Cn&&(f.cancel(Dn),Cn=null)}function xl(te){te.preventDefault(),Ta=!0,Os(),Rn.forEach(function(ye){ye()})}function ho(te){fr.getError(),Ta=!1,ma.restore(),hn.restore(),di.restore(),Ha.restore(),Ua.restore(),Yi.restore(),Bi.restore(),si&&si.restore(),Ri.procs.refresh(),Wn(),Ii.forEach(function(ye){ye()})}Xi&&(Xi.addEventListener(fs,xl,!1),Xi.addEventListener(vs,ho,!1));function Xl(){vn.length=0,Os(),Xi&&(Xi.removeEventListener(fs,xl),Xi.removeEventListener(vs,ho)),hn.clear(),Yi.clear(),Ua.clear(),Bi.clear(),Ha.clear(),Va.clear(),di.clear(),si&&si.clear(),nn.forEach(function(te){te()})}function hs(te){function ye(nr){var dr=d({},nr);delete dr.uniforms,delete dr.attributes,delete dr.context,delete dr.vao,\"stencil\"in dr&&dr.stencil.op&&(dr.stencil.opBack=dr.stencil.opFront=dr.stencil.op,delete dr.stencil.op);function or(Wt){if(Wt in dr){var ir=dr[Wt];delete dr[Wt],Object.keys(ir).forEach(function(Vt){dr[Wt+\".\"+Vt]=ir[Vt]})}}return or(\"blend\"),or(\"depth\"),or(\"cull\"),or(\"stencil\"),or(\"polygonOffset\"),or(\"scissor\"),or(\"sample\"),\"vao\"in nr&&(dr.vao=nr.vao),dr}function je(nr,dr){var or={},Wt={};return Object.keys(nr).forEach(function(ir){var Vt=nr[ir];if(h.isDynamic(Vt)){Wt[ir]=h.unbox(Vt,ir);return}else if(dr&&Array.isArray(Vt)){for(var zr=0;zr0)return mt.call(this,rr(nr|0),nr|0)}else if(Array.isArray(nr)){if(nr.length)return mt.call(this,nr,nr.length)}else return pr.call(this,nr)}return d(hr,{stats:br,destroy:function(){Nr.destroy()}})}var Al=Yi.setFBO=hs({framebuffer:h.define.call(null,Tl,\"framebuffer\")});function El(te,ye){var je=0;Ri.procs.poll();var ke=ye.color;ke&&(fr.clearColor(+ke[0]||0,+ke[1]||0,+ke[2]||0,+ke[3]||0),je|=al),\"depth\"in ye&&(fr.clearDepth(+ye.depth),je|=_l),\"stencil\"in ye&&(fr.clearStencil(ye.stencil|0),je|=mn),fr.clear(je)}function ru(te){if(\"framebuffer\"in te)if(te.framebuffer&&te.framebuffer_reglType===\"framebufferCube\")for(var ye=0;ye<6;++ye)Al(d({framebuffer:te.framebuffer.faces[ye]},te),El);else Al(te,El);else El(null,te)}function js(te){vn.push(te);function ye(){var je=Rl(vn,te);function ke(){var Qe=Rl(vn,ke);vn[Qe]=vn[vn.length-1],vn.length-=1,vn.length<=0&&Os()}vn[je]=ke}return Wn(),{cancel:ye}}function pl(){var te=xi.viewport,ye=xi.scissor_box;te[0]=te[1]=ye[0]=ye[1]=0,Na.viewportWidth=Na.framebufferWidth=Na.drawingBufferWidth=te[2]=ye[2]=fr.drawingBufferWidth,Na.viewportHeight=Na.framebufferHeight=Na.drawingBufferHeight=te[3]=ye[3]=fr.drawingBufferHeight}function bl(){Na.tick+=1,Na.time=kl(),pl(),Ri.procs.poll()}function Xn(){Ha.refresh(),pl(),Ri.procs.refresh(),si&&si.update()}function kl(){return(v()-gn)/1e3}Xn();function Io(te,ye){var je;switch(te){case\"frame\":return js(ye);case\"lost\":je=Rn;break;case\"restore\":je=Ii;break;case\"destroy\":je=nn;break;default:}return je.push(ye),{cancel:function(){for(var ke=0;ke=0},read:Ti,destroy:Xl,_gl:fr,_refresh:Xn,poll:function(){bl(),si&&si.update()},now:kl,stats:Ya,getCachedCode:ge,preloadCachedCode:K});return Xt.onDone(null,xe),xe}return _c})}}),bq=Ge({\"node_modules/gl-util/context.js\"(Z,G){\"use strict\";var d=Ev();G.exports=function(o){if(o?typeof o==\"string\"&&(o={container:o}):o={},A(o)?o={container:o}:E(o)?o={container:o}:e(o)?o={gl:o}:o=d(o,{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),o.pixelRatio||(o.pixelRatio=window.pixelRatio||1),o.gl)return o.gl;if(o.canvas&&(o.container=o.canvas.parentNode),o.container){if(typeof o.container==\"string\"){var a=document.querySelector(o.container);if(!a)throw Error(\"Element \"+o.container+\" is not found\");o.container=a}A(o.container)?(o.canvas=o.container,o.container=o.canvas.parentNode):o.canvas||(o.canvas=t(),o.container.appendChild(o.canvas),_(o))}else if(!o.canvas)if(typeof document<\"u\")o.container=document.body||document.documentElement,o.canvas=t(),o.container.appendChild(o.canvas),_(o);else throw Error(\"Not DOM environment. Use headless-gl.\");return o.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{o.gl=o.canvas.getContext(n,o.attrs)}catch{}return o.gl}),o.gl};function _(r){if(r.container)if(r.container==document.body)document.body.style.width||(r.canvas.width=r.width||r.pixelRatio*window.innerWidth),document.body.style.height||(r.canvas.height=r.height||r.pixelRatio*window.innerHeight);else{var o=r.container.getBoundingClientRect();r.canvas.width=r.width||o.right-o.left,r.canvas.height=r.height||o.bottom-o.top}}function A(r){return typeof r.getContext==\"function\"&&\"width\"in r&&\"height\"in r}function E(r){return typeof r.nodeName==\"string\"&&typeof r.appendChild==\"function\"&&typeof r.getBoundingClientRect==\"function\"}function e(r){return typeof r.drawArrays==\"function\"||typeof r.drawElements==\"function\"}function t(){var r=document.createElement(\"canvas\");return r.style.position=\"absolute\",r.style.top=0,r.style.left=0,r}}}),wq=Ge({\"node_modules/font-atlas/index.js\"(Z,G){\"use strict\";var d=c6(),_=[32,126];G.exports=A;function A(E){E=E||{};var e=E.shape?E.shape:E.canvas?[E.canvas.width,E.canvas.height]:[512,512],t=E.canvas||document.createElement(\"canvas\"),r=E.font,o=typeof E.step==\"number\"?[E.step,E.step]:E.step||[32,32],a=E.chars||_;if(r&&typeof r!=\"string\"&&(r=d(r)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var n=[],i=a[0],s=0;i<=a[1];i++)n[s++]=String.fromCharCode(i);a=n}e=e.slice(),t.width=e[0],t.height=e[1];var h=t.getContext(\"2d\");h.fillStyle=\"#000\",h.fillRect(0,0,t.width,t.height),h.font=r,h.textAlign=\"center\",h.textBaseline=\"middle\",h.fillStyle=\"#fff\";for(var f=o[0]/2,v=o[1]/2,i=0;ie[0]-o[0]/2&&(f=o[0]/2,v+=o[1]);return t}}}),f6=Ge({\"node_modules/bit-twiddle/twiddle.js\"(Z){\"use strict\";\"use restrict\";var G=32;Z.INT_BITS=G,Z.INT_MAX=2147483647,Z.INT_MIN=-1<0)-(A<0)},Z.abs=function(A){var E=A>>G-1;return(A^E)-E},Z.min=function(A,E){return E^(A^E)&-(A65535)<<4,A>>>=E,e=(A>255)<<3,A>>>=e,E|=e,e=(A>15)<<2,A>>>=e,E|=e,e=(A>3)<<1,A>>>=e,E|=e,E|A>>1},Z.log10=function(A){return A>=1e9?9:A>=1e8?8:A>=1e7?7:A>=1e6?6:A>=1e5?5:A>=1e4?4:A>=1e3?3:A>=100?2:A>=10?1:0},Z.popCount=function(A){return A=A-(A>>>1&1431655765),A=(A&858993459)+(A>>>2&858993459),(A+(A>>>4)&252645135)*16843009>>>24};function d(A){var E=32;return A&=-A,A&&E--,A&65535&&(E-=16),A&16711935&&(E-=8),A&252645135&&(E-=4),A&858993459&&(E-=2),A&1431655765&&(E-=1),E}Z.countTrailingZeros=d,Z.nextPow2=function(A){return A+=A===0,--A,A|=A>>>1,A|=A>>>2,A|=A>>>4,A|=A>>>8,A|=A>>>16,A+1},Z.prevPow2=function(A){return A|=A>>>1,A|=A>>>2,A|=A>>>4,A|=A>>>8,A|=A>>>16,A-(A>>>1)},Z.parity=function(A){return A^=A>>>16,A^=A>>>8,A^=A>>>4,A&=15,27030>>>A&1};var _=new Array(256);(function(A){for(var E=0;E<256;++E){var e=E,t=E,r=7;for(e>>>=1;e;e>>>=1)t<<=1,t|=e&1,--r;A[E]=t<>>8&255]<<16|_[A>>>16&255]<<8|_[A>>>24&255]},Z.interleave2=function(A,E){return A&=65535,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,E&=65535,E=(E|E<<8)&16711935,E=(E|E<<4)&252645135,E=(E|E<<2)&858993459,E=(E|E<<1)&1431655765,A|E<<1},Z.deinterleave2=function(A,E){return A=A>>>E&1431655765,A=(A|A>>>1)&858993459,A=(A|A>>>2)&252645135,A=(A|A>>>4)&16711935,A=(A|A>>>16)&65535,A<<16>>16},Z.interleave3=function(A,E,e){return A&=1023,A=(A|A<<16)&4278190335,A=(A|A<<8)&251719695,A=(A|A<<4)&3272356035,A=(A|A<<2)&1227133513,E&=1023,E=(E|E<<16)&4278190335,E=(E|E<<8)&251719695,E=(E|E<<4)&3272356035,E=(E|E<<2)&1227133513,A|=E<<1,e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,A|e<<2},Z.deinterleave3=function(A,E){return A=A>>>E&1227133513,A=(A|A>>>2)&3272356035,A=(A|A>>>4)&251719695,A=(A|A>>>8)&4278190335,A=(A|A>>>16)&1023,A<<22>>22},Z.nextCombination=function(A){var E=A|A-1;return E+1|(~E&-~E)-1>>>d(A)+1}}}),Tq=Ge({\"node_modules/dup/dup.js\"(Z,G){\"use strict\";function d(E,e,t){var r=E[t]|0;if(r<=0)return[];var o=new Array(r),a;if(t===E.length-1)for(a=0;a\"u\"&&(e=0),typeof E){case\"number\":if(E>0)return _(E|0,e);break;case\"object\":if(typeof E.length==\"number\")return d(E,e,0);break}return[]}G.exports=A}}),Aq=Ge({\"node_modules/typedarray-pool/pool.js\"(Z){\"use strict\";var G=f6(),d=Tq(),_=rg().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:d([32,0]),UINT16:d([32,0]),UINT32:d([32,0]),BIGUINT64:d([32,0]),INT8:d([32,0]),INT16:d([32,0]),INT32:d([32,0]),BIGINT64:d([32,0]),FLOAT:d([32,0]),DOUBLE:d([32,0]),DATA:d([32,0]),UINT8C:d([32,0]),BUFFER:d([32,0])});var A=typeof Uint8ClampedArray<\"u\",E=typeof BigUint64Array<\"u\",e=typeof BigInt64Array<\"u\",t=window.__TYPEDARRAY_POOL;t.UINT8C||(t.UINT8C=d([32,0])),t.BIGUINT64||(t.BIGUINT64=d([32,0])),t.BIGINT64||(t.BIGINT64=d([32,0])),t.BUFFER||(t.BUFFER=d([32,0]));var r=t.DATA,o=t.BUFFER;Z.free=function(u){if(_.isBuffer(u))o[G.log2(u.length)].push(u);else{if(Object.prototype.toString.call(u)!==\"[object ArrayBuffer]\"&&(u=u.buffer),!u)return;var g=u.length||u.byteLength,y=G.log2(g)|0;r[y].push(u)}};function a(p){if(p){var u=p.length||p.byteLength,g=G.log2(u);r[g].push(p)}}function n(p){a(p.buffer)}Z.freeUint8=Z.freeUint16=Z.freeUint32=Z.freeBigUint64=Z.freeInt8=Z.freeInt16=Z.freeInt32=Z.freeBigInt64=Z.freeFloat32=Z.freeFloat=Z.freeFloat64=Z.freeDouble=Z.freeUint8Clamped=Z.freeDataView=n,Z.freeArrayBuffer=a,Z.freeBuffer=function(u){o[G.log2(u.length)].push(u)},Z.malloc=function(u,g){if(g===void 0||g===\"arraybuffer\")return i(u);switch(g){case\"uint8\":return s(u);case\"uint16\":return h(u);case\"uint32\":return f(u);case\"int8\":return v(u);case\"int16\":return c(u);case\"int32\":return T(u);case\"float\":case\"float32\":return l(u);case\"double\":case\"float64\":return x(u);case\"uint8_clamped\":return w(u);case\"bigint64\":return M(u);case\"biguint64\":return S(u);case\"buffer\":return b(u);case\"data\":case\"dataview\":return m(u);default:return null}return null};function i(u){var u=G.nextPow2(u),g=G.log2(u),y=r[g];return y.length>0?y.pop():new ArrayBuffer(u)}Z.mallocArrayBuffer=i;function s(p){return new Uint8Array(i(p),0,p)}Z.mallocUint8=s;function h(p){return new Uint16Array(i(2*p),0,p)}Z.mallocUint16=h;function f(p){return new Uint32Array(i(4*p),0,p)}Z.mallocUint32=f;function v(p){return new Int8Array(i(p),0,p)}Z.mallocInt8=v;function c(p){return new Int16Array(i(2*p),0,p)}Z.mallocInt16=c;function T(p){return new Int32Array(i(4*p),0,p)}Z.mallocInt32=T;function l(p){return new Float32Array(i(4*p),0,p)}Z.mallocFloat32=Z.mallocFloat=l;function x(p){return new Float64Array(i(8*p),0,p)}Z.mallocFloat64=Z.mallocDouble=x;function w(p){return A?new Uint8ClampedArray(i(p),0,p):s(p)}Z.mallocUint8Clamped=w;function S(p){return E?new BigUint64Array(i(8*p),0,p):null}Z.mallocBigUint64=S;function M(p){return e?new BigInt64Array(i(8*p),0,p):null}Z.mallocBigInt64=M;function m(p){return new DataView(i(p),0,p)}Z.mallocDataView=m;function b(p){p=G.nextPow2(p);var u=G.log2(p),g=o[u];return g.length>0?g.pop():new _(p)}Z.mallocBuffer=b,Z.clearCache=function(){for(var u=0;u<32;++u)t.UINT8[u].length=0,t.UINT16[u].length=0,t.UINT32[u].length=0,t.INT8[u].length=0,t.INT16[u].length=0,t.INT32[u].length=0,t.FLOAT[u].length=0,t.DOUBLE[u].length=0,t.BIGUINT64[u].length=0,t.BIGINT64[u].length=0,t.UINT8C[u].length=0,r[u].length=0,o[u].length=0}}}),Sq=Ge({\"node_modules/is-plain-obj/index.js\"(Z,G){\"use strict\";var d=Object.prototype.toString;G.exports=function(_){var A;return d.call(_)===\"[object Object]\"&&(A=Object.getPrototypeOf(_),A===null||A===Object.getPrototypeOf({}))}}}),h6=Ge({\"node_modules/parse-unit/index.js\"(Z,G){G.exports=function(_,A){A||(A=[0,\"\"]),_=String(_);var E=parseFloat(_,10);return A[0]=E,A[1]=_.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",A}}}),Mq=Ge({\"node_modules/to-px/topx.js\"(Z,G){\"use strict\";var d=h6();G.exports=e;var _=96;function A(t,r){var o=d(getComputedStyle(t).getPropertyValue(r));return o[0]*e(o[1],t)}function E(t,r){var o=document.createElement(\"div\");o.style[\"font-size\"]=\"128\"+t,r.appendChild(o);var a=A(o,\"font-size\")/128;return r.removeChild(o),a}function e(t,r){switch(r=r||document.body,t=(t||\"px\").trim().toLowerCase(),(r===window||r===document)&&(r=document.body),t){case\"%\":return r.clientHeight/100;case\"ch\":case\"ex\":return E(t,r);case\"em\":return A(r,\"font-size\");case\"rem\":return A(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 _;case\"cm\":return _/2.54;case\"mm\":return _/25.4;case\"pt\":return _/72;case\"pc\":return _/6}return 1}}}),Eq=Ge({\"node_modules/detect-kerning/index.js\"(Z,G){\"use strict\";G.exports=E;var d=E.canvas=document.createElement(\"canvas\"),_=d.getContext(\"2d\"),A=e([32,126]);E.createPairs=e,E.ascii=A;function E(t,r){Array.isArray(t)&&(t=t.join(\", \"));var o={},a,n=16,i=.05;r&&(r.length===2&&typeof r[0]==\"number\"?a=e(r):Array.isArray(r)?a=r:(r.o?a=e(r.o):r.pairs&&(a=r.pairs),r.fontSize&&(n=r.fontSize),r.threshold!=null&&(i=r.threshold))),a||(a=A),_.font=n+\"px \"+t;for(var s=0;sn*i){var c=(v-f)/n;o[h]=c*1e3}}return o}function e(t){for(var r=[],o=t[0];o<=t[1];o++)for(var a=String.fromCharCode(o),n=t[0];n0;o-=4)if(r[o]!==0)return Math.floor((o-3)*.25/t)}}}),Cq=Ge({\"node_modules/gl-text/dist.js\"(Z,G){\"use strict\";var d=_q(),_=Ev(),A=xq(),E=bq(),e=r6(),t=d0(),r=wq(),o=Aq(),a=C1(),n=Sq(),i=h6(),s=Mq(),h=Eq(),f=ch(),v=kq(),c=gg(),T=f6(),l=T.nextPow2,x=new e,w=!1;document.body&&(S=document.body.appendChild(document.createElement(\"div\")),S.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(S).fontStretch&&(w=!0),document.body.removeChild(S));var S,M=function(p){m(p)?(p={regl:p},this.gl=p.regl._gl):this.gl=E(p),this.shader=x.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=p.regl||A({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(),x.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(n(p)?p:{})};M.prototype.createShader=function(){var p=this.regl,u=p({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:p.prop(\"count\"),offset:p.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:p.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:p.this(\"sizeBuffer\")},char:p.this(\"charBuffer\"),position:p.this(\"position\")},uniforms:{atlasSize:function(y,D){return[D.atlas.width,D.atlas.height]},atlasDim:function(y,D){return[D.atlas.cols,D.atlas.rows]},atlas:function(y,D){return D.atlas.texture},charStep:function(y,D){return D.atlas.step},em:function(y,D){return D.atlas.em},color:p.prop(\"color\"),opacity:p.prop(\"opacity\"),viewport:p.this(\"viewportArray\"),scale:p.this(\"scale\"),align:p.prop(\"align\"),baseline:p.prop(\"baseline\"),translate:p.this(\"translate\"),positionOffset:p.prop(\"positionOffset\")},primitive:\"points\",viewport:p.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\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\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\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 float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\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}`}),g={};return{regl:p,draw:u,atlas:g}},M.prototype.update=function(p){var u=this;if(typeof p==\"string\")p={text:p};else if(!p)return;p=_(p,{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),p.opacity!=null&&(Array.isArray(p.opacity)?this.opacity=p.opacity.map(function(ne){return parseFloat(ne)}):this.opacity=parseFloat(p.opacity)),p.viewport!=null&&(this.viewport=a(p.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),p.kerning!=null&&(this.kerning=p.kerning),p.offset!=null&&(typeof p.offset==\"number\"&&(p.offset=[p.offset,0]),this.positionOffset=c(p.offset)),p.direction&&(this.direction=p.direction),p.range&&(this.range=p.range,this.scale=[1/(p.range[2]-p.range[0]),1/(p.range[3]-p.range[1])],this.translate=[-p.range[0],-p.range[1]]),p.scale&&(this.scale=p.scale),p.translate&&(this.translate=p.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!p.font&&(p.font=M.baseFontSize+\"px sans-serif\");var g=!1,y=!1;if(p.font&&(Array.isArray(p.font)?p.font:[p.font]).forEach(function(ne,Ce){if(typeof ne==\"string\")try{ne=d.parse(ne)}catch{ne=d.parse(M.baseFontSize+\"px \"+ne)}else{var Ze=ne.style,rt=ne.weight,Ye=ne.stretch,St=ne.variant;ne=d.parse(d.stringify(ne)),Ze&&(ne.style=Ze),rt&&(ne.weight=rt),Ye&&(ne.stretch=Ye),St&&(ne.variant=St)}var kt=d.stringify({size:M.baseFontSize,family:ne.family,stretch:w?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style}),qt=i(ne.size),Gt=Math.round(qt[0]*s(qt[1]));if(Gt!==u.fontSize[Ce]&&(y=!0,u.fontSize[Ce]=Gt),(!u.font[Ce]||kt!=u.font[Ce].baseString)&&(g=!0,u.font[Ce]=M.fonts[kt],!u.font[Ce])){var Tr=ne.family.join(\", \"),mr=[ne.style];ne.style!=ne.variant&&mr.push(ne.variant),ne.variant!=ne.weight&&mr.push(ne.weight),w&&ne.weight!=ne.stretch&&mr.push(ne.stretch),u.font[Ce]={baseString:kt,family:Tr,weight:ne.weight,stretch:ne.stretch,style:ne.style,variant:ne.variant,width:{},kerning:{},metrics:v(Tr,{origin:\"top\",fontSize:M.baseFontSize,fontStyle:mr.join(\" \")})},M.fonts[kt]=u.font[Ce]}}),(g||y)&&this.font.forEach(function(ne,Ce){var Ze=d.stringify({size:u.fontSize[Ce],family:ne.family,stretch:w?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style});if(u.fontAtlas[Ce]=u.shader.atlas[Ze],!u.fontAtlas[Ce]){var rt=ne.metrics;u.shader.atlas[Ze]=u.fontAtlas[Ce]={fontString:Ze,step:Math.ceil(u.fontSize[Ce]*rt.bottom*.5)*2,em:u.fontSize[Ce],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:u.regl.texture()}}p.text==null&&(p.text=u.text)}),typeof p.text==\"string\"&&p.position&&p.position.length>2){for(var D=Array(p.position.length*.5),L=0;L2){for(var B=!p.position[0].length,O=o.mallocFloat(this.count*2),P=0,U=0;P1?u.align[Ce]:u.align[0]:u.align;if(typeof Ze==\"number\")return Ze;switch(Ze){case\"right\":case\"end\":return-ne;case\"center\":case\"centre\":case\"middle\":return-ne*.5}return 0})),this.baseline==null&&p.baseline==null&&(p.baseline=0),p.baseline!=null&&(this.baseline=p.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ne,Ce){var Ze=(u.font[Ce]||u.font[0]).metrics,rt=0;return rt+=Ze.bottom*.5,typeof ne==\"number\"?rt+=ne-Ze.baseline:rt+=-Ze[ne],rt*=-1,rt})),p.color!=null)if(p.color||(p.color=\"transparent\"),typeof p.color==\"string\"||!isNaN(p.color))this.color=t(p.color,\"uint8\");else{var Ie;if(typeof p.color[0]==\"number\"&&p.color.length>this.counts.length){var Re=p.color.length;Ie=o.mallocUint8(Re);for(var He=(p.color.subarray||p.color.slice).bind(p.color),at=0;at4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(Ue){var he=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(he);for(var le=0;le1?this.counts[le]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[le]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(le*4,le*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[le]:this.opacity,baseline:this.baselineOffset[le]!=null?this.baselineOffset[le]:this.baselineOffset[0],align:this.align?this.alignOffset[le]!=null?this.alignOffset[le]:this.alignOffset[0]:0,atlas:this.fontAtlas[le]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(le*2,le*2+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=[]}},M.prototype.destroy=function(){},M.prototype.kerning=!0,M.prototype.position={constant:new Float32Array(2)},M.prototype.translate=null,M.prototype.scale=null,M.prototype.font=null,M.prototype.text=\"\",M.prototype.positionOffset=[0,0],M.prototype.opacity=1,M.prototype.color=new Uint8Array([0,0,0,255]),M.prototype.alignOffset=[0,0],M.maxAtlasSize=1024,M.atlasCanvas=document.createElement(\"canvas\"),M.atlasContext=M.atlasCanvas.getContext(\"2d\",{alpha:!1}),M.baseFontSize=64,M.fonts={};function m(b){return typeof b==\"function\"&&b._gl&&b.prop&&b.texture&&b.buffer}G.exports=M}}),Lq=Ge({\"node_modules/@plotly/regl/dist/regl.unchecked.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?G.exports=_():d.createREGL=_()})(Z,function(){\"use strict\";var d=function(it,Xt){for(var fr=Object.keys(Xt),oa=0;oa1&&Xt===fr&&(Xt==='\"'||Xt===\"'\"))return['\"'+r(it.substr(1,it.length-2))+'\"'];var oa=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(it);if(oa)return o(it.substr(0,oa.index)).concat(o(oa[1])).concat(o(it.substr(oa.index+oa[0].length)));var Ta=it.split(\".\");if(Ta.length===1)return['\"'+r(it)+'\"'];for(var ma=[],xa=0;xa\"u\"?1:window.devicePixelRatio,si=!1,gn={},zi=function(ea){},Ei=function(){};if(typeof Xt==\"string\"?fr=document.querySelector(Xt):typeof Xt==\"object\"&&(x(Xt)?fr=Xt:w(Xt)?(ma=Xt,Ta=ma.canvas):(\"gl\"in Xt?ma=Xt.gl:\"canvas\"in Xt?Ta=M(Xt.canvas):\"container\"in Xt&&(oa=M(Xt.container)),\"attributes\"in Xt&&(xa=Xt.attributes),\"extensions\"in Xt&&(Ya=S(Xt.extensions)),\"optionalExtensions\"in Xt&&(bi=S(Xt.optionalExtensions)),\"onDone\"in Xt&&(zi=Xt.onDone),\"profile\"in Xt&&(si=!!Xt.profile),\"pixelRatio\"in Xt&&(yi=+Xt.pixelRatio),\"cachedCode\"in Xt&&(gn=Xt.cachedCode))),fr&&(fr.nodeName.toLowerCase()===\"canvas\"?Ta=fr:oa=fr),!ma){if(!Ta){var Na=T(oa||document.body,zi,yi);if(!Na)return null;Ta=Na.canvas,Ei=Na.onDestroy}xa.premultipliedAlpha===void 0&&(xa.premultipliedAlpha=!0),ma=l(Ta,xa)}return ma?{gl:ma,canvas:Ta,container:oa,extensions:Ya,optionalExtensions:bi,pixelRatio:yi,profile:si,cachedCode:gn,onDone:zi,onDestroy:Ei}:(Ei(),zi(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function b(it,Xt){var fr={};function oa(xa){var Ya=xa.toLowerCase(),bi;try{bi=fr[Ya]=it.getExtension(Ya)}catch{}return!!bi}for(var Ta=0;Ta65535)<<4,it>>>=Xt,fr=(it>255)<<3,it>>>=fr,Xt|=fr,fr=(it>15)<<2,it>>>=fr,Xt|=fr,fr=(it>3)<<1,it>>>=fr,Xt|=fr,Xt|it>>1}function P(){var it=p(8,function(){return[]});function Xt(ma){var xa=B(ma),Ya=it[O(xa)>>2];return Ya.length>0?Ya.pop():new ArrayBuffer(xa)}function fr(ma){it[O(ma.byteLength)>>2].push(ma)}function oa(ma,xa){var Ya=null;switch(ma){case u:Ya=new Int8Array(Xt(xa),0,xa);break;case g:Ya=new Uint8Array(Xt(xa),0,xa);break;case y:Ya=new Int16Array(Xt(2*xa),0,xa);break;case D:Ya=new Uint16Array(Xt(2*xa),0,xa);break;case L:Ya=new Int32Array(Xt(4*xa),0,xa);break;case z:Ya=new Uint32Array(Xt(4*xa),0,xa);break;case F:Ya=new Float32Array(Xt(4*xa),0,xa);break;default:return null}return Ya.length!==xa?Ya.subarray(0,xa):Ya}function Ta(ma){fr(ma.buffer)}return{alloc:Xt,free:fr,allocType:oa,freeType:Ta}}var U=P();U.zero=P();var N=3408,X=3410,$=3411,ue=3412,ce=3413,de=3414,V=3415,Y=33901,ee=33902,q=3379,se=3386,ae=34921,j=36347,Q=36348,re=35661,pe=35660,we=34930,Se=36349,Ie=34076,Re=34024,He=7936,at=7937,nt=7938,tt=35724,Ue=34047,he=36063,le=34852,ne=3553,Ce=34067,Ze=34069,rt=33984,Ye=6408,St=5126,kt=5121,qt=36160,Gt=36053,Tr=36064,mr=16384,qr=function(it,Xt){var fr=1;Xt.ext_texture_filter_anisotropic&&(fr=it.getParameter(Ue));var oa=1,Ta=1;Xt.webgl_draw_buffers&&(oa=it.getParameter(le),Ta=it.getParameter(he));var ma=!!Xt.oes_texture_float;if(ma){var xa=it.createTexture();it.bindTexture(ne,xa),it.texImage2D(ne,0,Ye,1,1,0,Ye,St,null);var Ya=it.createFramebuffer();if(it.bindFramebuffer(qt,Ya),it.framebufferTexture2D(qt,Tr,ne,xa,0),it.bindTexture(ne,null),it.checkFramebufferStatus(qt)!==Gt)ma=!1;else{it.viewport(0,0,1,1),it.clearColor(1,0,0,1),it.clear(mr);var bi=U.allocType(St,4);it.readPixels(0,0,1,1,Ye,St,bi),it.getError()?ma=!1:(it.deleteFramebuffer(Ya),it.deleteTexture(xa),ma=bi[0]===1),U.freeType(bi)}}var yi=typeof navigator<\"u\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),si=!0;if(!yi){var gn=it.createTexture(),zi=U.allocType(kt,36);it.activeTexture(rt),it.bindTexture(Ce,gn),it.texImage2D(Ze,0,Ye,3,3,0,Ye,kt,zi),U.freeType(zi),it.bindTexture(Ce,null),it.deleteTexture(gn),si=!it.getError()}return{colorBits:[it.getParameter(X),it.getParameter($),it.getParameter(ue),it.getParameter(ce)],depthBits:it.getParameter(de),stencilBits:it.getParameter(V),subpixelBits:it.getParameter(N),extensions:Object.keys(Xt).filter(function(Ei){return!!Xt[Ei]}),maxAnisotropic:fr,maxDrawbuffers:oa,maxColorAttachments:Ta,pointSizeDims:it.getParameter(Y),lineWidthDims:it.getParameter(ee),maxViewportDims:it.getParameter(se),maxCombinedTextureUnits:it.getParameter(re),maxCubeMapSize:it.getParameter(Ie),maxRenderbufferSize:it.getParameter(Re),maxTextureUnits:it.getParameter(we),maxTextureSize:it.getParameter(q),maxAttributes:it.getParameter(ae),maxVertexUniforms:it.getParameter(j),maxVertexTextureUnits:it.getParameter(pe),maxVaryingVectors:it.getParameter(Q),maxFragmentUniforms:it.getParameter(Se),glsl:it.getParameter(tt),renderer:it.getParameter(at),vendor:it.getParameter(He),version:it.getParameter(nt),readFloat:ma,npotTextureCube:si}},Er=function(it){return it instanceof Uint8Array||it instanceof Uint16Array||it instanceof Uint32Array||it instanceof Int8Array||it instanceof Int16Array||it instanceof Int32Array||it instanceof Float32Array||it instanceof Float64Array||it instanceof Uint8ClampedArray};function Dr(it){return!!it&&typeof it==\"object\"&&Array.isArray(it.shape)&&Array.isArray(it.stride)&&typeof it.offset==\"number\"&&it.shape.length===it.stride.length&&(Array.isArray(it.data)||Er(it.data))}var xt=function(it){return Object.keys(it).map(function(Xt){return it[Xt]})},Oe={shape:st,flatten:Je};function Ke(it,Xt,fr){for(var oa=0;oa0){var hn;if(Array.isArray(Ma[0])){Li=Ca(Ma);for(var Ha=1,Ua=1;Ua0){if(typeof Ha[0]==\"number\"){var Ti=U.allocType(Va.dtype,Ha.length);Or(Ti,Ha),Li(Ti,Yi),U.freeType(Ti)}else if(Array.isArray(Ha[0])||Er(Ha[0])){Ri=Ca(Ha);var xi=Wa(Ha,Ri,Va.dtype);Li(xi,Yi),U.freeType(xi)}}}else if(Dr(Ha)){Ri=Ha.shape;var Xi=Ha.stride,vn=0,Rn=0,Ii=0,nn=0;Ri.length===1?(vn=Ri[0],Rn=1,Ii=Xi[0],nn=0):Ri.length===2&&(vn=Ri[0],Rn=Ri[1],Ii=Xi[0],nn=Xi[1]);var Cn=Array.isArray(Ha.data)?Va.dtype:Jt(Ha.data),Dn=U.allocType(Cn,vn*Rn);ta(Dn,Ha.data,vn,Rn,Ii,nn,Ha.offset),Li(Dn,Yi),U.freeType(Dn)}return Bi}return Qa||Bi(ea),Bi._reglType=\"buffer\",Bi._buffer=Va,Bi.subdata=hn,fr.profile&&(Bi.stats=Va.stats),Bi.destroy=function(){zi(Va)},Bi}function Na(){xt(ma).forEach(function(ea){ea.buffer=it.createBuffer(),it.bindBuffer(ea.type,ea.buffer),it.bufferData(ea.type,ea.persistentData||ea.byteLength,ea.usage)})}return fr.profile&&(Xt.getTotalBufferSize=function(){var ea=0;return Object.keys(ma).forEach(function(Ma){ea+=ma[Ma].stats.size}),ea}),{create:Ei,createStream:bi,destroyStream:yi,clear:function(){xt(ma).forEach(zi),Ya.forEach(zi)},getBuffer:function(ea){return ea&&ea._buffer instanceof xa?ea._buffer:null},restore:Na,_initBuffer:gn}}var ca=0,Ba=0,$a=1,Za=1,ri=4,pi=4,Ia={points:ca,point:Ba,lines:$a,line:Za,triangles:ri,triangle:pi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},rn=0,tn=1,cn=4,_t=5120,ut=5121,Br=5122,Cr=5123,wr=5124,Rr=5125,Ur=34963,Hr=35040,gt=35044;function Kt(it,Xt,fr,oa){var Ta={},ma=0,xa={uint8:ut,uint16:Cr};Xt.oes_element_index_uint&&(xa.uint32=Rr);function Ya(Na){this.id=ma++,Ta[this.id]=this,this.buffer=Na,this.primType=cn,this.vertCount=0,this.type=0}Ya.prototype.bind=function(){this.buffer.bind()};var bi=[];function yi(Na){var ea=bi.pop();return ea||(ea=new Ya(fr.create(null,Ur,!0,!1)._buffer)),gn(ea,Na,Hr,-1,-1,0,0),ea}function si(Na){bi.push(Na)}function gn(Na,ea,Ma,Qa,di,Va,Bi){Na.buffer.bind();var Li;if(ea){var hn=Bi;!Bi&&(!Er(ea)||Dr(ea)&&!Er(ea.data))&&(hn=Xt.oes_element_index_uint?Rr:Cr),fr._initBuffer(Na.buffer,ea,Ma,hn,3)}else it.bufferData(Ur,Va,Ma),Na.buffer.dtype=Li||ut,Na.buffer.usage=Ma,Na.buffer.dimension=3,Na.buffer.byteLength=Va;if(Li=Bi,!Bi){switch(Na.buffer.dtype){case ut:case _t:Li=ut;break;case Cr:case Br:Li=Cr;break;case Rr:case wr:Li=Rr;break;default:}Na.buffer.dtype=Li}Na.type=Li;var Ha=di;Ha<0&&(Ha=Na.buffer.byteLength,Li===Cr?Ha>>=1:Li===Rr&&(Ha>>=2)),Na.vertCount=Ha;var Ua=Qa;if(Qa<0){Ua=cn;var Yi=Na.buffer.dimension;Yi===1&&(Ua=rn),Yi===2&&(Ua=tn),Yi===3&&(Ua=cn)}Na.primType=Ua}function zi(Na){oa.elementsCount--,delete Ta[Na.id],Na.buffer.destroy(),Na.buffer=null}function Ei(Na,ea){var Ma=fr.create(null,Ur,!0),Qa=new Ya(Ma._buffer);oa.elementsCount++;function di(Va){if(!Va)Ma(),Qa.primType=cn,Qa.vertCount=0,Qa.type=ut;else if(typeof Va==\"number\")Ma(Va),Qa.primType=cn,Qa.vertCount=Va|0,Qa.type=ut;else{var Bi=null,Li=gt,hn=-1,Ha=-1,Ua=0,Yi=0;Array.isArray(Va)||Er(Va)||Dr(Va)?Bi=Va:(\"data\"in Va&&(Bi=Va.data),\"usage\"in Va&&(Li=qa[Va.usage]),\"primitive\"in Va&&(hn=Ia[Va.primitive]),\"count\"in Va&&(Ha=Va.count|0),\"type\"in Va&&(Yi=xa[Va.type]),\"length\"in Va?Ua=Va.length|0:(Ua=Ha,Yi===Cr||Yi===Br?Ua*=2:(Yi===Rr||Yi===wr)&&(Ua*=4))),gn(Qa,Bi,Li,hn,Ha,Ua,Yi)}return di}return di(Na),di._reglType=\"elements\",di._elements=Qa,di.subdata=function(Va,Bi){return Ma.subdata(Va,Bi),di},di.destroy=function(){zi(Qa)},di}return{create:Ei,createStream:yi,destroyStream:si,getElements:function(Na){return typeof Na==\"function\"&&Na._elements instanceof Ya?Na._elements:null},clear:function(){xt(Ta).forEach(zi)}}}var vr=new Float32Array(1),Ir=new Uint32Array(vr.buffer),va=5123;function Pa(it){for(var Xt=U.allocType(va,it.length),fr=0;fr>>31<<15,ma=(oa<<1>>>24)-127,xa=oa>>13&1023;if(ma<-24)Xt[fr]=Ta;else if(ma<-14){var Ya=-14-ma;Xt[fr]=Ta+(xa+1024>>Ya)}else ma>15?Xt[fr]=Ta+31744:Xt[fr]=Ta+(ma+15<<10)+xa}return Xt}function ga(it){return Array.isArray(it)||Er(it)}var la=34467,ba=3553,Ai=34067,ki=34069,Ki=6408,Mn=6406,wn=6407,On=6409,En=6410,ao=32854,Co=32855,bo=36194,zs=32819,kn=32820,wo=33635,Kn=34042,go=6402,os=34041,gs=35904,jo=35906,Zn=36193,Gn=33776,Hn=33777,ss=33778,ys=33779,Rs=35986,Ko=35987,Gi=34798,Pn=35840,qs=35841,xs=35842,lo=35843,Zo=36196,bs=5121,Hs=5123,il=5125,yn=5126,Po=10242,To=10243,Ws=10497,Ll=33071,uo=33648,Nl=10240,Ks=10241,ws=9728,Cs=9729,Jo=9984,Ms=9985,Ul=9986,lu=9987,Tc=33170,du=4352,Sf=4353,Uc=4354,Bs=34046,dc=3317,Wc=37440,uu=37441,Pl=37443,ic=37444,Ou=33984,nl=[Jo,Ul,Ms,lu],vl=[0,On,En,wn,Ki],Ts={};Ts[On]=Ts[Mn]=Ts[go]=1,Ts[os]=Ts[En]=2,Ts[wn]=Ts[gs]=3,Ts[Ki]=Ts[jo]=4;function Xs(it){return\"[object \"+it+\"]\"}var nc=Xs(\"HTMLCanvasElement\"),jl=Xs(\"OffscreenCanvas\"),qu=Xs(\"CanvasRenderingContext2D\"),fl=Xs(\"ImageBitmap\"),xh=Xs(\"HTMLImageElement\"),us=Xs(\"HTMLVideoElement\"),bh=Object.keys(ot).concat([nc,jl,qu,fl,xh,us]),Ls=[];Ls[bs]=1,Ls[yn]=4,Ls[Zn]=2,Ls[Hs]=2,Ls[il]=4;var to=[];to[ao]=2,to[Co]=2,to[bo]=2,to[os]=4,to[Gn]=.5,to[Hn]=.5,to[ss]=1,to[ys]=1,to[Rs]=.5,to[Ko]=1,to[Gi]=1,to[Pn]=.5,to[qs]=.25,to[xs]=.5,to[lo]=.25,to[Zo]=.5;function Xc(it){return Array.isArray(it)&&(it.length===0||typeof it[0]==\"number\")}function Vu(it){if(!Array.isArray(it))return!1;var Xt=it.length;return!(Xt===0||!ga(it[0]))}function ql(it){return Object.prototype.toString.call(it)}function Mf(it){return ql(it)===nc}function Ac(it){return ql(it)===jl}function nf(it){return ql(it)===qu}function Ql(it){return ql(it)===fl}function Jf(it){return ql(it)===xh}function Of(it){return ql(it)===us}function of(it){if(!it)return!1;var Xt=ql(it);return bh.indexOf(Xt)>=0?!0:Xc(it)||Vu(it)||Dr(it)}function jc(it){return ot[Object.prototype.toString.call(it)]|0}function Bf(it,Xt){var fr=Xt.length;switch(it.type){case bs:case Hs:case il:case yn:var oa=U.allocType(it.type,fr);oa.set(Xt),it.data=oa;break;case Zn:it.data=Pa(Xt);break;default:}}function Nf(it,Xt){return U.allocType(it.type===Zn?yn:it.type,Xt)}function Gu(it,Xt){it.type===Zn?(it.data=Pa(Xt),U.freeType(Xt)):it.data=Xt}function Ef(it,Xt,fr,oa,Ta,ma){for(var xa=it.width,Ya=it.height,bi=it.channels,yi=xa*Ya*bi,si=Nf(it,yi),gn=0,zi=0;zi=1;)Ya+=xa*bi*bi,bi/=2;return Ya}else return xa*fr*oa}function Zc(it,Xt,fr,oa,Ta,ma,xa){var Ya={\"don't care\":du,\"dont care\":du,nice:Uc,fast:Sf},bi={repeat:Ws,clamp:Ll,mirror:uo},yi={nearest:ws,linear:Cs},si=d({mipmap:lu,\"nearest mipmap nearest\":Jo,\"linear mipmap nearest\":Ms,\"nearest mipmap linear\":Ul,\"linear mipmap linear\":lu},yi),gn={none:0,browser:ic},zi={uint8:bs,rgba4:zs,rgb565:wo,\"rgb5 a1\":kn},Ei={alpha:Mn,luminance:On,\"luminance alpha\":En,rgb:wn,rgba:Ki,rgba4:ao,\"rgb5 a1\":Co,rgb565:bo},Na={};Xt.ext_srgb&&(Ei.srgb=gs,Ei.srgba=jo),Xt.oes_texture_float&&(zi.float32=zi.float=yn),Xt.oes_texture_half_float&&(zi.float16=zi[\"half float\"]=Zn),Xt.webgl_depth_texture&&(d(Ei,{depth:go,\"depth stencil\":os}),d(zi,{uint16:Hs,uint32:il,\"depth stencil\":Kn})),Xt.webgl_compressed_texture_s3tc&&d(Na,{\"rgb s3tc dxt1\":Gn,\"rgba s3tc dxt1\":Hn,\"rgba s3tc dxt3\":ss,\"rgba s3tc dxt5\":ys}),Xt.webgl_compressed_texture_atc&&d(Na,{\"rgb atc\":Rs,\"rgba atc explicit alpha\":Ko,\"rgba atc interpolated alpha\":Gi}),Xt.webgl_compressed_texture_pvrtc&&d(Na,{\"rgb pvrtc 4bppv1\":Pn,\"rgb pvrtc 2bppv1\":qs,\"rgba pvrtc 4bppv1\":xs,\"rgba pvrtc 2bppv1\":lo}),Xt.webgl_compressed_texture_etc1&&(Na[\"rgb etc1\"]=Zo);var ea=Array.prototype.slice.call(it.getParameter(la));Object.keys(Na).forEach(function(ke){var Qe=Na[ke];ea.indexOf(Qe)>=0&&(Ei[ke]=Qe)});var Ma=Object.keys(Ei);fr.textureFormats=Ma;var Qa=[];Object.keys(Ei).forEach(function(ke){var Qe=Ei[ke];Qa[Qe]=ke});var di=[];Object.keys(zi).forEach(function(ke){var Qe=zi[ke];di[Qe]=ke});var Va=[];Object.keys(yi).forEach(function(ke){var Qe=yi[ke];Va[Qe]=ke});var Bi=[];Object.keys(si).forEach(function(ke){var Qe=si[ke];Bi[Qe]=ke});var Li=[];Object.keys(bi).forEach(function(ke){var Qe=bi[ke];Li[Qe]=ke});var hn=Ma.reduce(function(ke,Qe){var vt=Ei[Qe];return vt===On||vt===Mn||vt===On||vt===En||vt===go||vt===os||Xt.ext_srgb&&(vt===gs||vt===jo)?ke[vt]=vt:vt===Co||Qe.indexOf(\"rgba\")>=0?ke[vt]=Ki:ke[vt]=wn,ke},{});function Ha(){this.internalformat=Ki,this.format=Ki,this.type=bs,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=ic,this.width=0,this.height=0,this.channels=0}function Ua(ke,Qe){ke.internalformat=Qe.internalformat,ke.format=Qe.format,ke.type=Qe.type,ke.compressed=Qe.compressed,ke.premultiplyAlpha=Qe.premultiplyAlpha,ke.flipY=Qe.flipY,ke.unpackAlignment=Qe.unpackAlignment,ke.colorSpace=Qe.colorSpace,ke.width=Qe.width,ke.height=Qe.height,ke.channels=Qe.channels}function Yi(ke,Qe){if(!(typeof Qe!=\"object\"||!Qe)){if(\"premultiplyAlpha\"in Qe&&(ke.premultiplyAlpha=Qe.premultiplyAlpha),\"flipY\"in Qe&&(ke.flipY=Qe.flipY),\"alignment\"in Qe&&(ke.unpackAlignment=Qe.alignment),\"colorSpace\"in Qe&&(ke.colorSpace=gn[Qe.colorSpace]),\"type\"in Qe){var vt=Qe.type;ke.type=zi[vt]}var jt=ke.width,br=ke.height,Nr=ke.channels,pr=!1;\"shape\"in Qe?(jt=Qe.shape[0],br=Qe.shape[1],Qe.shape.length===3&&(Nr=Qe.shape[2],pr=!0)):(\"radius\"in Qe&&(jt=br=Qe.radius),\"width\"in Qe&&(jt=Qe.width),\"height\"in Qe&&(br=Qe.height),\"channels\"in Qe&&(Nr=Qe.channels,pr=!0)),ke.width=jt|0,ke.height=br|0,ke.channels=Nr|0;var mt=!1;if(\"format\"in Qe){var Mt=Qe.format,Ft=ke.internalformat=Ei[Mt];ke.format=hn[Ft],Mt in zi&&(\"type\"in Qe||(ke.type=zi[Mt])),Mt in Na&&(ke.compressed=!0),mt=!0}!pr&&mt?ke.channels=Ts[ke.format]:pr&&!mt&&ke.channels!==vl[ke.format]&&(ke.format=ke.internalformat=vl[ke.channels])}}function Ri(ke){it.pixelStorei(Wc,ke.flipY),it.pixelStorei(uu,ke.premultiplyAlpha),it.pixelStorei(Pl,ke.colorSpace),it.pixelStorei(dc,ke.unpackAlignment)}function Ti(){Ha.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function xi(ke,Qe){var vt=null;if(of(Qe)?vt=Qe:Qe&&(Yi(ke,Qe),\"x\"in Qe&&(ke.xOffset=Qe.x|0),\"y\"in Qe&&(ke.yOffset=Qe.y|0),of(Qe.data)&&(vt=Qe.data)),Qe.copy){var jt=Ta.viewportWidth,br=Ta.viewportHeight;ke.width=ke.width||jt-ke.xOffset,ke.height=ke.height||br-ke.yOffset,ke.needsCopy=!0}else if(!vt)ke.width=ke.width||1,ke.height=ke.height||1,ke.channels=ke.channels||4;else if(Er(vt))ke.channels=ke.channels||4,ke.data=vt,!(\"type\"in Qe)&&ke.type===bs&&(ke.type=jc(vt));else if(Xc(vt))ke.channels=ke.channels||4,Bf(ke,vt),ke.alignment=1,ke.needsFree=!0;else if(Dr(vt)){var Nr=vt.data;!Array.isArray(Nr)&&ke.type===bs&&(ke.type=jc(Nr));var pr=vt.shape,mt=vt.stride,Mt,Ft,rr,hr,nr,dr;pr.length===3?(rr=pr[2],dr=mt[2]):(rr=1,dr=1),Mt=pr[0],Ft=pr[1],hr=mt[0],nr=mt[1],ke.alignment=1,ke.width=Mt,ke.height=Ft,ke.channels=rr,ke.format=ke.internalformat=vl[rr],ke.needsFree=!0,Ef(ke,Nr,hr,nr,dr,vt.offset)}else if(Mf(vt)||Ac(vt)||nf(vt))Mf(vt)||Ac(vt)?ke.element=vt:ke.element=vt.canvas,ke.width=ke.element.width,ke.height=ke.element.height,ke.channels=4;else if(Ql(vt))ke.element=vt,ke.width=vt.width,ke.height=vt.height,ke.channels=4;else if(Jf(vt))ke.element=vt,ke.width=vt.naturalWidth,ke.height=vt.naturalHeight,ke.channels=4;else if(Of(vt))ke.element=vt,ke.width=vt.videoWidth,ke.height=vt.videoHeight,ke.channels=4;else if(Vu(vt)){var or=ke.width||vt[0].length,Wt=ke.height||vt.length,ir=ke.channels;ga(vt[0][0])?ir=ir||vt[0][0].length:ir=ir||1;for(var Vt=Oe.shape(vt),zr=1,Jr=0;Jr>=br,vt.height>>=br,xi(vt,jt[br]),ke.mipmask|=1<=0&&!(\"faces\"in Qe)&&(ke.genMipmaps=!0)}if(\"mag\"in Qe){var jt=Qe.mag;ke.magFilter=yi[jt]}var br=ke.wrapS,Nr=ke.wrapT;if(\"wrap\"in Qe){var pr=Qe.wrap;typeof pr==\"string\"?br=Nr=bi[pr]:Array.isArray(pr)&&(br=bi[pr[0]],Nr=bi[pr[1]])}else{if(\"wrapS\"in Qe){var mt=Qe.wrapS;br=bi[mt]}if(\"wrapT\"in Qe){var Mt=Qe.wrapT;Nr=bi[Mt]}}if(ke.wrapS=br,ke.wrapT=Nr,\"anisotropic\"in Qe){var Ft=Qe.anisotropic;ke.anisotropic=Qe.anisotropic}if(\"mipmap\"in Qe){var rr=!1;switch(typeof Qe.mipmap){case\"string\":ke.mipmapHint=Ya[Qe.mipmap],ke.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=ke.genMipmaps=Qe.mipmap;break;case\"object\":ke.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Qe)&&(ke.minFilter=Jo)}}function El(ke,Qe){it.texParameteri(Qe,Ks,ke.minFilter),it.texParameteri(Qe,Nl,ke.magFilter),it.texParameteri(Qe,Po,ke.wrapS),it.texParameteri(Qe,To,ke.wrapT),Xt.ext_texture_filter_anisotropic&&it.texParameteri(Qe,Bs,ke.anisotropic),ke.genMipmaps&&(it.hint(Tc,ke.mipmapHint),it.generateMipmap(Qe))}var ru=0,js={},pl=fr.maxTextureUnits,bl=Array(pl).map(function(){return null});function Xn(ke){Ha.call(this),this.mipmask=0,this.internalformat=Ki,this.id=ru++,this.refCount=1,this.target=ke,this.texture=it.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new hs,xa.profile&&(this.stats={size:0})}function kl(ke){it.activeTexture(Ou),it.bindTexture(ke.target,ke.texture)}function Io(){var ke=bl[0];ke?it.bindTexture(ke.target,ke.texture):it.bindTexture(ba,null)}function ge(ke){var Qe=ke.texture,vt=ke.unit,jt=ke.target;vt>=0&&(it.activeTexture(Ou+vt),it.bindTexture(jt,null),bl[vt]=null),it.deleteTexture(Qe),ke.texture=null,ke.params=null,ke.pixels=null,ke.refCount=0,delete js[ke.id],ma.textureCount--}d(Xn.prototype,{bind:function(){var ke=this;ke.bindCount+=1;var Qe=ke.unit;if(Qe<0){for(var vt=0;vt0)continue;jt.unit=-1}bl[vt]=ke,Qe=vt;break}Qe>=pl,xa.profile&&ma.maxTextureUnits>nr)-rr,dr.height=dr.height||(vt.height>>nr)-hr,kl(vt),vn(dr,ba,rr,hr,nr),Io(),nn(dr),jt}function Nr(pr,mt){var Mt=pr|0,Ft=mt|0||Mt;if(Mt===vt.width&&Ft===vt.height)return jt;jt.width=vt.width=Mt,jt.height=vt.height=Ft,kl(vt);for(var rr=0;vt.mipmask>>rr;++rr){var hr=Mt>>rr,nr=Ft>>rr;if(!hr||!nr)break;it.texImage2D(ba,rr,vt.format,hr,nr,0,vt.format,vt.type,null)}return Io(),xa.profile&&(vt.stats.size=oc(vt.internalformat,vt.type,Mt,Ft,!1,!1)),jt}return jt(ke,Qe),jt.subimage=br,jt.resize=Nr,jt._reglType=\"texture2d\",jt._texture=vt,xa.profile&&(jt.stats=vt.stats),jt.destroy=function(){vt.decRef()},jt}function xe(ke,Qe,vt,jt,br,Nr){var pr=new Xn(Ai);js[pr.id]=pr,ma.cubeCount++;var mt=new Array(6);function Mt(hr,nr,dr,or,Wt,ir){var Vt,zr=pr.texInfo;for(hs.call(zr),Vt=0;Vt<6;++Vt)mt[Vt]=ho();if(typeof hr==\"number\"||!hr){var Jr=hr|0||1;for(Vt=0;Vt<6;++Vt)Dn(mt[Vt],Jr,Jr)}else if(typeof hr==\"object\")if(nr)Wn(mt[0],hr),Wn(mt[1],nr),Wn(mt[2],dr),Wn(mt[3],or),Wn(mt[4],Wt),Wn(mt[5],ir);else if(Al(zr,hr),Yi(pr,hr),\"faces\"in hr){var ya=hr.faces;for(Vt=0;Vt<6;++Vt)Ua(mt[Vt],pr),Wn(mt[Vt],ya[Vt])}else for(Vt=0;Vt<6;++Vt)Wn(mt[Vt],hr);for(Ua(pr,mt[0]),zr.genMipmaps?pr.mipmask=(mt[0].width<<1)-1:pr.mipmask=mt[0].mipmask,pr.internalformat=mt[0].internalformat,Mt.width=mt[0].width,Mt.height=mt[0].height,kl(pr),Vt=0;Vt<6;++Vt)Os(mt[Vt],ki+Vt);for(El(zr,Ai),Io(),xa.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,Mt.width,Mt.height,zr.genMipmaps,!0)),Mt.format=Qa[pr.internalformat],Mt.type=di[pr.type],Mt.mag=Va[zr.magFilter],Mt.min=Bi[zr.minFilter],Mt.wrapS=Li[zr.wrapS],Mt.wrapT=Li[zr.wrapT],Vt=0;Vt<6;++Vt)Xl(mt[Vt]);return Mt}function Ft(hr,nr,dr,or,Wt){var ir=dr|0,Vt=or|0,zr=Wt|0,Jr=Ii();return Ua(Jr,pr),Jr.width=0,Jr.height=0,xi(Jr,nr),Jr.width=Jr.width||(pr.width>>zr)-ir,Jr.height=Jr.height||(pr.height>>zr)-Vt,kl(pr),vn(Jr,ki+hr,ir,Vt,zr),Io(),nn(Jr),Mt}function rr(hr){var nr=hr|0;if(nr!==pr.width){Mt.width=pr.width=nr,Mt.height=pr.height=nr,kl(pr);for(var dr=0;dr<6;++dr)for(var or=0;pr.mipmask>>or;++or)it.texImage2D(ki+dr,or,pr.format,nr>>or,nr>>or,0,pr.format,pr.type,null);return Io(),xa.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,Mt.width,Mt.height,!1,!0)),Mt}}return Mt(ke,Qe,vt,jt,br,Nr),Mt.subimage=Ft,Mt.resize=rr,Mt._reglType=\"textureCube\",Mt._texture=pr,xa.profile&&(Mt.stats=pr.stats),Mt.destroy=function(){pr.decRef()},Mt}function te(){for(var ke=0;ke>jt,vt.height>>jt,0,vt.internalformat,vt.type,null);else for(var br=0;br<6;++br)it.texImage2D(ki+br,jt,vt.internalformat,vt.width>>jt,vt.height>>jt,0,vt.internalformat,vt.type,null);El(vt.texInfo,vt.target)})}function je(){for(var ke=0;ke=0?Xl=!0:bi.indexOf(hs)>=0&&(Xl=!1))),(\"depthTexture\"in Xn||\"depthStencilTexture\"in Xn)&&(bl=!!(Xn.depthTexture||Xn.depthStencilTexture)),\"depth\"in Xn&&(typeof Xn.depth==\"boolean\"?Os=Xn.depth:(ru=Xn.depth,xl=!1)),\"stencil\"in Xn&&(typeof Xn.stencil==\"boolean\"?xl=Xn.stencil:(js=Xn.stencil,Os=!1)),\"depthStencil\"in Xn&&(typeof Xn.depthStencil==\"boolean\"?Os=xl=Xn.depthStencil:(pl=Xn.depthStencil,Os=!1,xl=!1))}var Io=null,ge=null,K=null,xe=null;if(Array.isArray(ho))Io=ho.map(Na);else if(ho)Io=[Na(ho)];else for(Io=new Array(El),Cn=0;Cn0&&(nn.depth=xi[0].depth,nn.stencil=xi[0].stencil,nn.depthStencil=xi[0].depthStencil),xi[Ii]?xi[Ii](nn):xi[Ii]=Ua(nn)}return d(Xi,{width:Cn,height:Cn,color:hs})}function vn(Rn){var Ii,nn=Rn|0;if(nn===Xi.width)return Xi;var Cn=Xi.color;for(Ii=0;Ii=Cn.byteLength?Dn.subdata(Cn):(Dn.destroy(),Ua.buffers[Rn]=null)),Ua.buffers[Rn]||(Dn=Ua.buffers[Rn]=Ta.create(Ii,mf,!1,!0)),nn.buffer=Ta.getBuffer(Dn),nn.size=nn.buffer.dimension|0,nn.normalized=!1,nn.type=nn.buffer.dtype,nn.offset=0,nn.stride=0,nn.divisor=0,nn.state=1,Xi[Rn]=1}else Ta.getBuffer(Ii)?(nn.buffer=Ta.getBuffer(Ii),nn.size=nn.buffer.dimension|0,nn.normalized=!1,nn.type=nn.buffer.dtype,nn.offset=0,nn.stride=0,nn.divisor=0,nn.state=1):Ta.getBuffer(Ii.buffer)?(nn.buffer=Ta.getBuffer(Ii.buffer),nn.size=(+Ii.size||nn.buffer.dimension)|0,nn.normalized=!!Ii.normalized||!1,\"type\"in Ii?nn.type=_a[Ii.type]:nn.type=nn.buffer.dtype,nn.offset=(Ii.offset||0)|0,nn.stride=(Ii.stride||0)|0,nn.divisor=(Ii.divisor||0)|0,nn.state=1):\"x\"in Ii&&(nn.x=+Ii.x||0,nn.y=+Ii.y||0,nn.z=+Ii.z||0,nn.w=+Ii.w||0,nn.state=2)}for(var Wn=0;Wn1)for(var Ri=0;Riea&&(ea=Ma.stats.uniformsCount)}),ea},fr.getMaxAttributesCount=function(){var ea=0;return si.forEach(function(Ma){Ma.stats.attributesCount>ea&&(ea=Ma.stats.attributesCount)}),ea});function Na(){Ta={},ma={};for(var ea=0;ea16&&(fr=Pi(fr,it.length*8));for(var oa=Array(16),Ta=Array(16),ma=0;ma<16;ma++)oa[ma]=fr[ma]^909522486,Ta[ma]=fr[ma]^1549556828;var xa=Pi(oa.concat(Pc(Xt)),512+Xt.length*8);return Qt(Pi(Ta.concat(xa),768))}function xu(it){for(var Xt=Vf?\"0123456789ABCDEF\":\"0123456789abcdef\",fr=\"\",oa,Ta=0;Ta>>4&15)+Xt.charAt(oa&15);return fr}function Lc(it){for(var Xt=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",fr=\"\",oa=it.length,Ta=0;Tait.length*8?fr+=Xu:fr+=Xt.charAt(ma>>>6*(3-xa)&63);return fr}function $c(it,Xt){var fr=Xt.length,oa=Array(),Ta,ma,xa,Ya,bi=Array(Math.ceil(it.length/2));for(Ta=0;Ta0;){for(Ya=Array(),xa=0,Ta=0;Ta0||ma>0)&&(Ya[Ya.length]=ma);oa[oa.length]=xa,bi=Ya}var yi=\"\";for(Ta=oa.length-1;Ta>=0;Ta--)yi+=Xt.charAt(oa[Ta]);var si=Math.ceil(it.length*8/(Math.log(Xt.length)/Math.log(2)));for(Ta=yi.length;Ta>>6&31,128|oa&63):oa<=65535?Xt+=String.fromCharCode(224|oa>>>12&15,128|oa>>>6&63,128|oa&63):oa<=2097151&&(Xt+=String.fromCharCode(240|oa>>>18&7,128|oa>>>12&63,128|oa>>>6&63,128|oa&63));return Xt}function Pc(it){for(var Xt=Array(it.length>>2),fr=0;fr>5]|=(it.charCodeAt(fr/8)&255)<<24-fr%32;return Xt}function Qt(it){for(var Xt=\"\",fr=0;fr>5]>>>24-fr%32&255);return Xt}function xr(it,Xt){return it>>>Xt|it<<32-Xt}function aa(it,Xt){return it>>>Xt}function $r(it,Xt,fr){return it&Xt^~it&fr}function ka(it,Xt,fr){return it&Xt^it&fr^Xt&fr}function li(it){return xr(it,2)^xr(it,13)^xr(it,22)}function Ci(it){return xr(it,6)^xr(it,11)^xr(it,25)}function Hi(it){return xr(it,7)^xr(it,18)^aa(it,3)}function Qi(it){return xr(it,17)^xr(it,19)^aa(it,10)}var pn=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Pi(it,Xt){var fr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),oa=new Array(64),Ta,ma,xa,Ya,bi,yi,si,gn,zi,Ei,Na,ea;for(it[Xt>>5]|=128<<24-Xt%32,it[(Xt+64>>9<<4)+15]=Xt,zi=0;zi>16)+(Xt>>16)+(fr>>16);return oa<<16|fr&65535}function Ni(it){return Array.prototype.slice.call(it)}function mi(it){return Ni(it).join(\"\")}function Sn(it){var Xt=it&&it.cache,fr=0,oa=[],Ta=[],ma=[];function xa(Na,ea){var Ma=ea&&ea.stable;if(!Ma){for(var Qa=0;Qa0&&(Na.push(di,\"=\"),Na.push.apply(Na,Ni(arguments)),Na.push(\";\")),di}return d(ea,{def:Qa,toString:function(){return mi([Ma.length>0?\"var \"+Ma.join(\",\")+\";\":\"\",mi(Na)])}})}function bi(){var Na=Ya(),ea=Ya(),Ma=Na.toString,Qa=ea.toString;function di(Va,Bi){ea(Va,Bi,\"=\",Na.def(Va,Bi),\";\")}return d(function(){Na.apply(Na,Ni(arguments))},{def:Na.def,entry:Na,exit:ea,save:di,set:function(Va,Bi,Li){di(Va,Bi),Na(Va,Bi,\"=\",Li,\";\")},toString:function(){return Ma()+Qa()}})}function yi(){var Na=mi(arguments),ea=bi(),Ma=bi(),Qa=ea.toString,di=Ma.toString;return d(ea,{then:function(){return ea.apply(ea,Ni(arguments)),this},else:function(){return Ma.apply(Ma,Ni(arguments)),this},toString:function(){var Va=di();return Va&&(Va=\"else{\"+Va+\"}\"),mi([\"if(\",Na,\"){\",Qa(),\"}\",Va])}})}var si=Ya(),gn={};function zi(Na,ea){var Ma=[];function Qa(){var hn=\"a\"+Ma.length;return Ma.push(hn),hn}ea=ea||0;for(var di=0;di\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},za={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Xa={cw:et,ccw:dt};function fi(it){return Array.isArray(it)||Er(it)||Dr(it)}function ni(it){return it.sort(function(Xt,fr){return Xt===Me?-1:fr===Me?1:Xt=1,oa>=2,Xt)}else if(fr===Es){var Ta=it.data;return new La(Ta.thisDep,Ta.contextDep,Ta.propDep,Xt)}else{if(fr===rl)return new La(!1,!1,!1,Xt);if(fr===Ns){for(var ma=!1,xa=!1,Ya=!1,bi=0;bi=1&&(xa=!0),si>=2&&(Ya=!0)}else yi.type===Es&&(ma=ma||yi.data.thisDep,xa=xa||yi.data.contextDep,Ya=Ya||yi.data.propDep)}return new La(ma,xa,Ya,Xt)}else return new La(fr===Qo,fr===yo,fr===un,Xt)}}var In=new La(!1,!1,!1,function(){});function Jn(it,Xt,fr,oa,Ta,ma,xa,Ya,bi,yi,si,gn,zi,Ei,Na,ea){var Ma=yi.Record,Qa={add:32774,subtract:32778,\"reverse subtract\":32779};fr.ext_blend_minmax&&(Qa.min=yt,Qa.max=Tt);var di=fr.angle_instanced_arrays,Va=fr.webgl_draw_buffers,Bi=fr.oes_vertex_array_object,Li={dirty:!0,profile:ea.profile},hn={},Ha=[],Ua={},Yi={};function Ri(mt){return mt.replace(\".\",\"_\")}function Ti(mt,Mt,Ft){var rr=Ri(mt);Ha.push(mt),hn[rr]=Li[rr]=!!Ft,Ua[rr]=Mt}function xi(mt,Mt,Ft){var rr=Ri(mt);Ha.push(mt),Array.isArray(Ft)?(Li[rr]=Ft.slice(),hn[rr]=Ft.slice()):Li[rr]=hn[rr]=Ft,Yi[rr]=Mt}function Xi(mt){return!!isNaN(mt)}Ti(el,ci),Ti(As,Da),xi(Fl,\"blendColor\",[0,0,0,0]),xi(yl,\"blendEquationSeparate\",[Xr,Xr]),xi(ll,\"blendFuncSeparate\",[Gr,_r,Gr,_r]),Ti(Un,ji,!0),xi(Ro,\"depthFunc\",wa),xi(Js,\"depthRange\",[0,1]),xi(Fs,\"depthMask\",!0),xi(cu,cu,[!0,!0,!0,!0]),Ti(Iu,Aa),xi(Zu,\"cullFace\",De),xi(Ic,Ic,dt),xi(bu,bu,1),Ti(Rc,An),xi(Au,\"polygonOffset\",[0,0]),Ti(yc,Yn),Ti(fo,Bn),xi(Fo,\"sampleCoverage\",[1,!1]),Ti(Dc,Vi),xi(lc,\"stencilMask\",-1),xi(Yu,\"stencilFunc\",[tr,0,-1]),xi(Fe,\"stencilOpSeparate\",[me,zt,zt,zt]),xi(I,\"stencilOpSeparate\",[De,zt,zt,zt]),Ti(ie,on),xi(Te,\"scissor\",[0,0,it.drawingBufferWidth,it.drawingBufferHeight]),xi(Me,Me,[0,0,it.drawingBufferWidth,it.drawingBufferHeight]);var vn={gl:it,context:zi,strings:Xt,next:hn,current:Li,draw:gn,elements:ma,buffer:Ta,shader:si,attributes:yi.state,vao:yi,uniforms:bi,framebuffer:Ya,extensions:fr,timer:Ei,isBufferArgs:fi},Rn={primTypes:Ia,compareFuncs:Sa,blendFuncs:ti,blendEquations:Qa,stencilOps:za,glTypes:_a,orientationType:Xa};Va&&(Rn.backBuffer=[De],Rn.drawBuffer=p(oa.maxDrawbuffers,function(mt){return mt===0?[0]:p(mt,function(Mt){return Ja+Mt})}));var Ii=0;function nn(){var mt=Sn({cache:Na}),Mt=mt.link,Ft=mt.global;mt.id=Ii++,mt.batchId=\"0\";var rr=Mt(vn),hr=mt.shared={props:\"a0\"};Object.keys(vn).forEach(function(ir){hr[ir]=Ft.def(rr,\".\",ir)});var nr=mt.next={},dr=mt.current={};Object.keys(Yi).forEach(function(ir){Array.isArray(Li[ir])&&(nr[ir]=Ft.def(hr.next,\".\",ir),dr[ir]=Ft.def(hr.current,\".\",ir))});var or=mt.constants={};Object.keys(Rn).forEach(function(ir){or[ir]=Ft.def(JSON.stringify(Rn[ir]))}),mt.invoke=function(ir,Vt){switch(Vt.type){case Tn:var zr=[\"this\",hr.context,hr.props,mt.batchId];return ir.def(Mt(Vt.data),\".call(\",zr.slice(0,Math.max(Vt.data.length+1,4)),\")\");case un:return ir.def(hr.props,Vt.data);case yo:return ir.def(hr.context,Vt.data);case Qo:return ir.def(\"this\",Vt.data);case Es:return Vt.data.append(mt,ir),Vt.data.ref;case rl:return Vt.data.toString();case Ns:return Vt.data.map(function(Jr){return mt.invoke(ir,Jr)})}},mt.attribCache={};var Wt={};return mt.scopeAttrib=function(ir){var Vt=Xt.id(ir);if(Vt in Wt)return Wt[Vt];var zr=yi.scope[Vt];zr||(zr=yi.scope[Vt]=new Ma);var Jr=Wt[Vt]=Mt(zr);return Jr},mt}function Cn(mt){var Mt=mt.static,Ft=mt.dynamic,rr;if(ze in Mt){var hr=!!Mt[ze];rr=an(function(dr,or){return hr}),rr.enable=hr}else if(ze in Ft){var nr=Ft[ze];rr=dn(nr,function(dr,or){return dr.invoke(or,nr)})}return rr}function Dn(mt,Mt){var Ft=mt.static,rr=mt.dynamic;if(ht in Ft){var hr=Ft[ht];return hr?(hr=Ya.getFramebuffer(hr),an(function(dr,or){var Wt=dr.link(hr),ir=dr.shared;or.set(ir.framebuffer,\".next\",Wt);var Vt=ir.context;return or.set(Vt,\".\"+pt,Wt+\".width\"),or.set(Vt,\".\"+Et,Wt+\".height\"),Wt})):an(function(dr,or){var Wt=dr.shared;or.set(Wt.framebuffer,\".next\",\"null\");var ir=Wt.context;return or.set(ir,\".\"+pt,ir+\".\"+yr),or.set(ir,\".\"+Et,ir+\".\"+kr),\"null\"})}else if(ht in rr){var nr=rr[ht];return dn(nr,function(dr,or){var Wt=dr.invoke(or,nr),ir=dr.shared,Vt=ir.framebuffer,zr=or.def(Vt,\".getFramebuffer(\",Wt,\")\");or.set(Vt,\".next\",zr);var Jr=ir.context;return or.set(Jr,\".\"+pt,zr+\"?\"+zr+\".width:\"+Jr+\".\"+yr),or.set(Jr,\".\"+Et,zr+\"?\"+zr+\".height:\"+Jr+\".\"+kr),zr})}else return null}function Wn(mt,Mt,Ft){var rr=mt.static,hr=mt.dynamic;function nr(Wt){if(Wt in rr){var ir=rr[Wt],Vt=!0,zr=ir.x|0,Jr=ir.y|0,ya,vi;return\"width\"in ir?ya=ir.width|0:Vt=!1,\"height\"in ir?vi=ir.height|0:Vt=!1,new La(!Vt&&Mt&&Mt.thisDep,!Vt&&Mt&&Mt.contextDep,!Vt&&Mt&&Mt.propDep,function(Zi,Fi){var ui=Zi.shared.context,_i=ya;\"width\"in ir||(_i=Fi.def(ui,\".\",pt,\"-\",zr));var Si=vi;return\"height\"in ir||(Si=Fi.def(ui,\".\",Et,\"-\",Jr)),[zr,Jr,_i,Si]})}else if(Wt in hr){var Ga=hr[Wt],ai=dn(Ga,function(Zi,Fi){var ui=Zi.invoke(Fi,Ga),_i=Zi.shared.context,Si=Fi.def(ui,\".x|0\"),Ui=Fi.def(ui,\".y|0\"),fn=Fi.def('\"width\" in ',ui,\"?\",ui,\".width|0:\",\"(\",_i,\".\",pt,\"-\",Si,\")\"),_o=Fi.def('\"height\" in ',ui,\"?\",ui,\".height|0:\",\"(\",_i,\".\",Et,\"-\",Ui,\")\");return[Si,Ui,fn,_o]});return Mt&&(ai.thisDep=ai.thisDep||Mt.thisDep,ai.contextDep=ai.contextDep||Mt.contextDep,ai.propDep=ai.propDep||Mt.propDep),ai}else return Mt?new La(Mt.thisDep,Mt.contextDep,Mt.propDep,function(Zi,Fi){var ui=Zi.shared.context;return[0,0,Fi.def(ui,\".\",pt),Fi.def(ui,\".\",Et)]}):null}var dr=nr(Me);if(dr){var or=dr;dr=new La(dr.thisDep,dr.contextDep,dr.propDep,function(Wt,ir){var Vt=or.append(Wt,ir),zr=Wt.shared.context;return ir.set(zr,\".\"+bt,Vt[2]),ir.set(zr,\".\"+Dt,Vt[3]),Vt})}return{viewport:dr,scissor_box:nr(Te)}}function Os(mt,Mt){var Ft=mt.static,rr=typeof Ft[Ot]==\"string\"&&typeof Ft[wt]==\"string\";if(rr){if(Object.keys(Mt.dynamic).length>0)return null;var hr=Mt.static,nr=Object.keys(hr);if(nr.length>0&&typeof hr[nr[0]]==\"number\"){for(var dr=[],or=0;or\"+Si+\"?\"+Vt+\".constant[\"+Si+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",ya,\"(\",Vt,\".buffer)){\",Zi,\"=\",vi,\".createStream(\",Qr,\",\",Vt,\".buffer);\",\"}else{\",Zi,\"=\",vi,\".getBuffer(\",Vt,\".buffer);\",\"}\",Fi,'=\"type\" in ',Vt,\"?\",Jr.glTypes,\"[\",Vt,\".type]:\",Zi,\".dtype;\",Ga.normalized,\"=!!\",Vt,\".normalized;\");function ui(_i){ir(Ga[_i],\"=\",Vt,\".\",_i,\"|0;\")}return ui(\"size\"),ui(\"offset\"),ui(\"stride\"),ui(\"divisor\"),ir(\"}}\"),ir.exit(\"if(\",Ga.isStream,\"){\",vi,\".destroyStream(\",Zi,\");\",\"}\"),Ga}hr[nr]=dn(dr,or)}),hr}function El(mt){var Mt=mt.static,Ft=mt.dynamic,rr={};return Object.keys(Mt).forEach(function(hr){var nr=Mt[hr];rr[hr]=an(function(dr,or){return typeof nr==\"number\"||typeof nr==\"boolean\"?\"\"+nr:dr.link(nr)})}),Object.keys(Ft).forEach(function(hr){var nr=Ft[hr];rr[hr]=dn(nr,function(dr,or){return dr.invoke(or,nr)})}),rr}function ru(mt,Mt,Ft,rr,hr){var nr=mt.static,dr=mt.dynamic,or=Os(mt,Mt),Wt=Dn(mt,hr),ir=Wn(mt,Wt,hr),Vt=ho(mt,hr),zr=Xl(mt,hr),Jr=xl(mt,hr,or);function ya(ui){var _i=ir[ui];_i&&(zr[ui]=_i)}ya(Me),ya(Ri(Te));var vi=Object.keys(zr).length>0,Ga={framebuffer:Wt,draw:Vt,shader:Jr,state:zr,dirty:vi,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ga.profile=Cn(mt,hr),Ga.uniforms=hs(Ft,hr),Ga.drawVAO=Ga.scopeVAO=Vt.vao,!Ga.drawVAO&&Jr.program&&!or&&fr.angle_instanced_arrays&&Vt.static.elements){var ai=!0,Zi=Jr.program.attributes.map(function(ui){var _i=Mt.static[ui];return ai=ai&&!!_i,_i});if(ai&&Zi.length>0){var Fi=yi.getVAO(yi.createVAO({attributes:Zi,elements:Vt.static.elements}));Ga.drawVAO=new La(null,null,null,function(ui,_i){return ui.link(Fi)}),Ga.useVAO=!0}}return or?Ga.useVAO=!0:Ga.attributes=Al(Mt,hr),Ga.context=El(rr,hr),Ga}function js(mt,Mt,Ft){var rr=mt.shared,hr=rr.context,nr=mt.scope();Object.keys(Ft).forEach(function(dr){Mt.save(hr,\".\"+dr);var or=Ft[dr],Wt=or.append(mt,Mt);Array.isArray(Wt)?nr(hr,\".\",dr,\"=[\",Wt.join(),\"];\"):nr(hr,\".\",dr,\"=\",Wt,\";\")}),Mt(nr)}function pl(mt,Mt,Ft,rr){var hr=mt.shared,nr=hr.gl,dr=hr.framebuffer,or;Va&&(or=Mt.def(hr.extensions,\".webgl_draw_buffers\"));var Wt=mt.constants,ir=Wt.drawBuffer,Vt=Wt.backBuffer,zr;Ft?zr=Ft.append(mt,Mt):zr=Mt.def(dr,\".next\"),rr||Mt(\"if(\",zr,\"!==\",dr,\".cur){\"),Mt(\"if(\",zr,\"){\",nr,\".bindFramebuffer(\",pa,\",\",zr,\".framebuffer);\"),Va&&Mt(or,\".drawBuffersWEBGL(\",ir,\"[\",zr,\".colorAttachments.length]);\"),Mt(\"}else{\",nr,\".bindFramebuffer(\",pa,\",null);\"),Va&&Mt(or,\".drawBuffersWEBGL(\",Vt,\");\"),Mt(\"}\",dr,\".cur=\",zr,\";\"),rr||Mt(\"}\")}function bl(mt,Mt,Ft){var rr=mt.shared,hr=rr.gl,nr=mt.current,dr=mt.next,or=rr.current,Wt=rr.next,ir=mt.cond(or,\".dirty\");Ha.forEach(function(Vt){var zr=Ri(Vt);if(!(zr in Ft.state)){var Jr,ya;if(zr in dr){Jr=dr[zr],ya=nr[zr];var vi=p(Li[zr].length,function(ai){return ir.def(Jr,\"[\",ai,\"]\")});ir(mt.cond(vi.map(function(ai,Zi){return ai+\"!==\"+ya+\"[\"+Zi+\"]\"}).join(\"||\")).then(hr,\".\",Yi[zr],\"(\",vi,\");\",vi.map(function(ai,Zi){return ya+\"[\"+Zi+\"]=\"+ai}).join(\";\"),\";\"))}else{Jr=ir.def(Wt,\".\",zr);var Ga=mt.cond(Jr,\"!==\",or,\".\",zr);ir(Ga),zr in Ua?Ga(mt.cond(Jr).then(hr,\".enable(\",Ua[zr],\");\").else(hr,\".disable(\",Ua[zr],\");\"),or,\".\",zr,\"=\",Jr,\";\"):Ga(hr,\".\",Yi[zr],\"(\",Jr,\");\",or,\".\",zr,\"=\",Jr,\";\")}}}),Object.keys(Ft.state).length===0&&ir(or,\".dirty=false;\"),Mt(ir)}function Xn(mt,Mt,Ft,rr){var hr=mt.shared,nr=mt.current,dr=hr.current,or=hr.gl,Wt;ni(Object.keys(Ft)).forEach(function(ir){var Vt=Ft[ir];if(!(rr&&!rr(Vt))){var zr=Vt.append(mt,Mt);if(Ua[ir]){var Jr=Ua[ir];sn(Vt)?(Wt=mt.link(zr,{stable:!0}),Mt(mt.cond(Wt).then(or,\".enable(\",Jr,\");\").else(or,\".disable(\",Jr,\");\")),Mt(dr,\".\",ir,\"=\",Wt,\";\")):(Mt(mt.cond(zr).then(or,\".enable(\",Jr,\");\").else(or,\".disable(\",Jr,\");\")),Mt(dr,\".\",ir,\"=\",zr,\";\"))}else if(ga(zr)){var ya=nr[ir];Mt(or,\".\",Yi[ir],\"(\",zr,\");\",zr.map(function(vi,Ga){return ya+\"[\"+Ga+\"]=\"+vi}).join(\";\"),\";\")}else sn(Vt)?(Wt=mt.link(zr,{stable:!0}),Mt(or,\".\",Yi[ir],\"(\",Wt,\");\",dr,\".\",ir,\"=\",Wt,\";\")):Mt(or,\".\",Yi[ir],\"(\",zr,\");\",dr,\".\",ir,\"=\",zr,\";\")}})}function kl(mt,Mt){di&&(mt.instancing=Mt.def(mt.shared.extensions,\".angle_instanced_arrays\"))}function Io(mt,Mt,Ft,rr,hr){var nr=mt.shared,dr=mt.stats,or=nr.current,Wt=nr.timer,ir=Ft.profile;function Vt(){return typeof performance>\"u\"?\"Date.now()\":\"performance.now()\"}var zr,Jr;function ya(ui){zr=Mt.def(),ui(zr,\"=\",Vt(),\";\"),typeof hr==\"string\"?ui(dr,\".count+=\",hr,\";\"):ui(dr,\".count++;\"),Ei&&(rr?(Jr=Mt.def(),ui(Jr,\"=\",Wt,\".getNumPendingQueries();\")):ui(Wt,\".beginQuery(\",dr,\");\"))}function vi(ui){ui(dr,\".cpuTime+=\",Vt(),\"-\",zr,\";\"),Ei&&(rr?ui(Wt,\".pushScopeStats(\",Jr,\",\",Wt,\".getNumPendingQueries(),\",dr,\");\"):ui(Wt,\".endQuery();\"))}function Ga(ui){var _i=Mt.def(or,\".profile\");Mt(or,\".profile=\",ui,\";\"),Mt.exit(or,\".profile=\",_i,\";\")}var ai;if(ir){if(sn(ir)){ir.enable?(ya(Mt),vi(Mt.exit),Ga(\"true\")):Ga(\"false\");return}ai=ir.append(mt,Mt),Ga(ai)}else ai=Mt.def(or,\".profile\");var Zi=mt.block();ya(Zi),Mt(\"if(\",ai,\"){\",Zi,\"}\");var Fi=mt.block();vi(Fi),Mt.exit(\"if(\",ai,\"){\",Fi,\"}\")}function ge(mt,Mt,Ft,rr,hr){var nr=mt.shared;function dr(Wt){switch(Wt){case ls:case ul:case Il:return 2;case Mo:case tl:case tu:return 3;case Yo:case es:case Ru:return 4;default:return 1}}function or(Wt,ir,Vt){var zr=nr.gl,Jr=Mt.def(Wt,\".location\"),ya=Mt.def(nr.attributes,\"[\",Jr,\"]\"),vi=Vt.state,Ga=Vt.buffer,ai=[Vt.x,Vt.y,Vt.z,Vt.w],Zi=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function Fi(){Mt(\"if(!\",ya,\".buffer){\",zr,\".enableVertexAttribArray(\",Jr,\");}\");var _i=Vt.type,Si;if(Vt.size?Si=Mt.def(Vt.size,\"||\",ir):Si=ir,Mt(\"if(\",ya,\".type!==\",_i,\"||\",ya,\".size!==\",Si,\"||\",Zi.map(function(fn){return ya+\".\"+fn+\"!==\"+Vt[fn]}).join(\"||\"),\"){\",zr,\".bindBuffer(\",Qr,\",\",Ga,\".buffer);\",zr,\".vertexAttribPointer(\",[Jr,Si,_i,Vt.normalized,Vt.stride,Vt.offset],\");\",ya,\".type=\",_i,\";\",ya,\".size=\",Si,\";\",Zi.map(function(fn){return ya+\".\"+fn+\"=\"+Vt[fn]+\";\"}).join(\"\"),\"}\"),di){var Ui=Vt.divisor;Mt(\"if(\",ya,\".divisor!==\",Ui,\"){\",mt.instancing,\".vertexAttribDivisorANGLE(\",[Jr,Ui],\");\",ya,\".divisor=\",Ui,\";}\")}}function ui(){Mt(\"if(\",ya,\".buffer){\",zr,\".disableVertexAttribArray(\",Jr,\");\",ya,\".buffer=null;\",\"}if(\",Qn.map(function(_i,Si){return ya+\".\"+_i+\"!==\"+ai[Si]}).join(\"||\"),\"){\",zr,\".vertexAttrib4f(\",Jr,\",\",ai,\");\",Qn.map(function(_i,Si){return ya+\".\"+_i+\"=\"+ai[Si]+\";\"}).join(\"\"),\"}\")}vi===eo?Fi():vi===co?ui():(Mt(\"if(\",vi,\"===\",eo,\"){\"),Fi(),Mt(\"}else{\"),ui(),Mt(\"}\"))}rr.forEach(function(Wt){var ir=Wt.name,Vt=Ft.attributes[ir],zr;if(Vt){if(!hr(Vt))return;zr=Vt.append(mt,Mt)}else{if(!hr(In))return;var Jr=mt.scopeAttrib(ir);zr={},Object.keys(new Ma).forEach(function(ya){zr[ya]=Mt.def(Jr,\".\",ya)})}or(mt.link(Wt),dr(Wt.info.type),zr)})}function K(mt,Mt,Ft,rr,hr,nr){for(var dr=mt.shared,or=dr.gl,Wt,ir=0;ir1){for(var Uo=[],Ds=[],Oo=0;Oo>1)\",Ga],\");\")}function Ui(){Ft(ai,\".drawArraysInstancedANGLE(\",[Jr,ya,vi,Ga],\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Ft(\"if(\",Vt,\"){\"),Si(),Ft(\"}else{\"),Ui(),Ft(\"}\")):Ui()}function _i(){function Si(){Ft(nr+\".drawElements(\"+[Jr,vi,Zi,ya+\"<<((\"+Zi+\"-\"+io+\")>>1)\"]+\");\")}function Ui(){Ft(nr+\".drawArrays(\"+[Jr,ya,vi]+\");\")}Vt&&Vt!==\"null\"?Fi?Si():(Ft(\"if(\",Vt,\"){\"),Si(),Ft(\"}else{\"),Ui(),Ft(\"}\")):Ui()}di&&(typeof Ga!=\"number\"||Ga>=0)?typeof Ga==\"string\"?(Ft(\"if(\",Ga,\">0){\"),ui(),Ft(\"}else if(\",Ga,\"<0){\"),_i(),Ft(\"}\")):ui():_i()}function te(mt,Mt,Ft,rr,hr){var nr=nn(),dr=nr.proc(\"body\",hr);return di&&(nr.instancing=dr.def(nr.shared.extensions,\".angle_instanced_arrays\")),mt(nr,dr,Ft,rr),nr.compile().body}function ye(mt,Mt,Ft,rr){kl(mt,Mt),Ft.useVAO?Ft.drawVAO?Mt(mt.shared.vao,\".setVAO(\",Ft.drawVAO.append(mt,Mt),\");\"):Mt(mt.shared.vao,\".setVAO(\",mt.shared.vao,\".targetVAO);\"):(Mt(mt.shared.vao,\".setVAO(null);\"),ge(mt,Mt,Ft,rr.attributes,function(){return!0})),K(mt,Mt,Ft,rr.uniforms,function(){return!0},!1),xe(mt,Mt,Mt,Ft)}function je(mt,Mt){var Ft=mt.proc(\"draw\",1);kl(mt,Ft),js(mt,Ft,Mt.context),pl(mt,Ft,Mt.framebuffer),bl(mt,Ft,Mt),Xn(mt,Ft,Mt.state),Io(mt,Ft,Mt,!1,!0);var rr=Mt.shader.progVar.append(mt,Ft);if(Ft(mt.shared.gl,\".useProgram(\",rr,\".program);\"),Mt.shader.program)ye(mt,Ft,Mt,Mt.shader.program);else{Ft(mt.shared.vao,\".setVAO(null);\");var hr=mt.global.def(\"{}\"),nr=Ft.def(rr,\".id\"),dr=Ft.def(hr,\"[\",nr,\"]\");Ft(mt.cond(dr).then(dr,\".call(this,a0);\").else(dr,\"=\",hr,\"[\",nr,\"]=\",mt.link(function(or){return te(ye,mt,Mt,or,1)}),\"(\",rr,\");\",dr,\".call(this,a0);\"))}Object.keys(Mt.state).length>0&&Ft(mt.shared.current,\".dirty=true;\"),mt.shared.vao&&Ft(mt.shared.vao,\".setVAO(null);\")}function ke(mt,Mt,Ft,rr){mt.batchId=\"a1\",kl(mt,Mt);function hr(){return!0}ge(mt,Mt,Ft,rr.attributes,hr),K(mt,Mt,Ft,rr.uniforms,hr,!1),xe(mt,Mt,Mt,Ft)}function Qe(mt,Mt,Ft,rr){kl(mt,Mt);var hr=Ft.contextDep,nr=Mt.def(),dr=\"a0\",or=\"a1\",Wt=Mt.def();mt.shared.props=Wt,mt.batchId=nr;var ir=mt.scope(),Vt=mt.scope();Mt(ir.entry,\"for(\",nr,\"=0;\",nr,\"<\",or,\";++\",nr,\"){\",Wt,\"=\",dr,\"[\",nr,\"];\",Vt,\"}\",ir.exit);function zr(Zi){return Zi.contextDep&&hr||Zi.propDep}function Jr(Zi){return!zr(Zi)}if(Ft.needsContext&&js(mt,Vt,Ft.context),Ft.needsFramebuffer&&pl(mt,Vt,Ft.framebuffer),Xn(mt,Vt,Ft.state,zr),Ft.profile&&zr(Ft.profile)&&Io(mt,Vt,Ft,!1,!0),rr)Ft.useVAO?Ft.drawVAO?zr(Ft.drawVAO)?Vt(mt.shared.vao,\".setVAO(\",Ft.drawVAO.append(mt,Vt),\");\"):ir(mt.shared.vao,\".setVAO(\",Ft.drawVAO.append(mt,ir),\");\"):ir(mt.shared.vao,\".setVAO(\",mt.shared.vao,\".targetVAO);\"):(ir(mt.shared.vao,\".setVAO(null);\"),ge(mt,ir,Ft,rr.attributes,Jr),ge(mt,Vt,Ft,rr.attributes,zr)),K(mt,ir,Ft,rr.uniforms,Jr,!1),K(mt,Vt,Ft,rr.uniforms,zr,!0),xe(mt,ir,Vt,Ft);else{var ya=mt.global.def(\"{}\"),vi=Ft.shader.progVar.append(mt,Vt),Ga=Vt.def(vi,\".id\"),ai=Vt.def(ya,\"[\",Ga,\"]\");Vt(mt.shared.gl,\".useProgram(\",vi,\".program);\",\"if(!\",ai,\"){\",ai,\"=\",ya,\"[\",Ga,\"]=\",mt.link(function(Zi){return te(ke,mt,Ft,Zi,2)}),\"(\",vi,\");}\",ai,\".call(this,a0[\",nr,\"],\",nr,\");\")}}function vt(mt,Mt){var Ft=mt.proc(\"batch\",2);mt.batchId=\"0\",kl(mt,Ft);var rr=!1,hr=!0;Object.keys(Mt.context).forEach(function(ya){rr=rr||Mt.context[ya].propDep}),rr||(js(mt,Ft,Mt.context),hr=!1);var nr=Mt.framebuffer,dr=!1;nr?(nr.propDep?rr=dr=!0:nr.contextDep&&rr&&(dr=!0),dr||pl(mt,Ft,nr)):pl(mt,Ft,null),Mt.state.viewport&&Mt.state.viewport.propDep&&(rr=!0);function or(ya){return ya.contextDep&&rr||ya.propDep}bl(mt,Ft,Mt),Xn(mt,Ft,Mt.state,function(ya){return!or(ya)}),(!Mt.profile||!or(Mt.profile))&&Io(mt,Ft,Mt,!1,\"a1\"),Mt.contextDep=rr,Mt.needsContext=hr,Mt.needsFramebuffer=dr;var Wt=Mt.shader.progVar;if(Wt.contextDep&&rr||Wt.propDep)Qe(mt,Ft,Mt,null);else{var ir=Wt.append(mt,Ft);if(Ft(mt.shared.gl,\".useProgram(\",ir,\".program);\"),Mt.shader.program)Qe(mt,Ft,Mt,Mt.shader.program);else{Ft(mt.shared.vao,\".setVAO(null);\");var Vt=mt.global.def(\"{}\"),zr=Ft.def(ir,\".id\"),Jr=Ft.def(Vt,\"[\",zr,\"]\");Ft(mt.cond(Jr).then(Jr,\".call(this,a0,a1);\").else(Jr,\"=\",Vt,\"[\",zr,\"]=\",mt.link(function(ya){return te(Qe,mt,Mt,ya,2)}),\"(\",ir,\");\",Jr,\".call(this,a0,a1);\"))}}Object.keys(Mt.state).length>0&&Ft(mt.shared.current,\".dirty=true;\"),mt.shared.vao&&Ft(mt.shared.vao,\".setVAO(null);\")}function jt(mt,Mt){var Ft=mt.proc(\"scope\",3);mt.batchId=\"a2\";var rr=mt.shared,hr=rr.current;if(js(mt,Ft,Mt.context),Mt.framebuffer&&Mt.framebuffer.append(mt,Ft),ni(Object.keys(Mt.state)).forEach(function(or){var Wt=Mt.state[or],ir=Wt.append(mt,Ft);ga(ir)?ir.forEach(function(Vt,zr){Xi(Vt)?Ft.set(mt.next[or],\"[\"+zr+\"]\",Vt):Ft.set(mt.next[or],\"[\"+zr+\"]\",mt.link(Vt,{stable:!0}))}):sn(Wt)?Ft.set(rr.next,\".\"+or,mt.link(ir,{stable:!0})):Ft.set(rr.next,\".\"+or,ir)}),Io(mt,Ft,Mt,!0,!0),[$t,Kr,Sr,na,Ar].forEach(function(or){var Wt=Mt.draw[or];if(Wt){var ir=Wt.append(mt,Ft);Xi(ir)?Ft.set(rr.draw,\".\"+or,ir):Ft.set(rr.draw,\".\"+or,mt.link(ir),{stable:!0})}}),Object.keys(Mt.uniforms).forEach(function(or){var Wt=Mt.uniforms[or].append(mt,Ft);Array.isArray(Wt)&&(Wt=\"[\"+Wt.map(function(ir){return Xi(ir)?ir:mt.link(ir,{stable:!0})})+\"]\"),Ft.set(rr.uniforms,\"[\"+mt.link(Xt.id(or),{stable:!0})+\"]\",Wt)}),Object.keys(Mt.attributes).forEach(function(or){var Wt=Mt.attributes[or].append(mt,Ft),ir=mt.scopeAttrib(or);Object.keys(new Ma).forEach(function(Vt){Ft.set(ir,\".\"+Vt,Wt[Vt])})}),Mt.scopeVAO){var nr=Mt.scopeVAO.append(mt,Ft);Xi(nr)?Ft.set(rr.vao,\".targetVAO\",nr):Ft.set(rr.vao,\".targetVAO\",mt.link(nr,{stable:!0}))}function dr(or){var Wt=Mt.shader[or];if(Wt){var ir=Wt.append(mt,Ft);Xi(ir)?Ft.set(rr.shader,\".\"+or,ir):Ft.set(rr.shader,\".\"+or,mt.link(ir,{stable:!0}))}}dr(wt),dr(Ot),Object.keys(Mt.state).length>0&&(Ft(hr,\".dirty=true;\"),Ft.exit(hr,\".dirty=true;\")),Ft(\"a1(\",mt.shared.context,\",a0,\",mt.batchId,\");\")}function br(mt){if(!(typeof mt!=\"object\"||ga(mt))){for(var Mt=Object.keys(mt),Ft=0;Ft=0;--te){var ye=vn[te];ye&&ye(Na,null,0)}fr.flush(),si&&si.update()}function Wn(){!Cn&&vn.length>0&&(Cn=f.next(Dn))}function Os(){Cn&&(f.cancel(Dn),Cn=null)}function xl(te){te.preventDefault(),Ta=!0,Os(),Rn.forEach(function(ye){ye()})}function ho(te){fr.getError(),Ta=!1,ma.restore(),hn.restore(),di.restore(),Ha.restore(),Ua.restore(),Yi.restore(),Bi.restore(),si&&si.restore(),Ri.procs.refresh(),Wn(),Ii.forEach(function(ye){ye()})}Xi&&(Xi.addEventListener(fs,xl,!1),Xi.addEventListener(vs,ho,!1));function Xl(){vn.length=0,Os(),Xi&&(Xi.removeEventListener(fs,xl),Xi.removeEventListener(vs,ho)),hn.clear(),Yi.clear(),Ua.clear(),Bi.clear(),Ha.clear(),Va.clear(),di.clear(),si&&si.clear(),nn.forEach(function(te){te()})}function hs(te){function ye(nr){var dr=d({},nr);delete dr.uniforms,delete dr.attributes,delete dr.context,delete dr.vao,\"stencil\"in dr&&dr.stencil.op&&(dr.stencil.opBack=dr.stencil.opFront=dr.stencil.op,delete dr.stencil.op);function or(Wt){if(Wt in dr){var ir=dr[Wt];delete dr[Wt],Object.keys(ir).forEach(function(Vt){dr[Wt+\".\"+Vt]=ir[Vt]})}}return or(\"blend\"),or(\"depth\"),or(\"cull\"),or(\"stencil\"),or(\"polygonOffset\"),or(\"scissor\"),or(\"sample\"),\"vao\"in nr&&(dr.vao=nr.vao),dr}function je(nr,dr){var or={},Wt={};return Object.keys(nr).forEach(function(ir){var Vt=nr[ir];if(h.isDynamic(Vt)){Wt[ir]=h.unbox(Vt,ir);return}else if(dr&&Array.isArray(Vt)){for(var zr=0;zr0)return mt.call(this,rr(nr|0),nr|0)}else if(Array.isArray(nr)){if(nr.length)return mt.call(this,nr,nr.length)}else return pr.call(this,nr)}return d(hr,{stats:br,destroy:function(){Nr.destroy()}})}var Al=Yi.setFBO=hs({framebuffer:h.define.call(null,Tl,\"framebuffer\")});function El(te,ye){var je=0;Ri.procs.poll();var ke=ye.color;ke&&(fr.clearColor(+ke[0]||0,+ke[1]||0,+ke[2]||0,+ke[3]||0),je|=al),\"depth\"in ye&&(fr.clearDepth(+ye.depth),je|=_l),\"stencil\"in ye&&(fr.clearStencil(ye.stencil|0),je|=mn),fr.clear(je)}function ru(te){if(\"framebuffer\"in te)if(te.framebuffer&&te.framebuffer_reglType===\"framebufferCube\")for(var ye=0;ye<6;++ye)Al(d({framebuffer:te.framebuffer.faces[ye]},te),El);else Al(te,El);else El(null,te)}function js(te){vn.push(te);function ye(){var je=Rl(vn,te);function ke(){var Qe=Rl(vn,ke);vn[Qe]=vn[vn.length-1],vn.length-=1,vn.length<=0&&Os()}vn[je]=ke}return Wn(),{cancel:ye}}function pl(){var te=xi.viewport,ye=xi.scissor_box;te[0]=te[1]=ye[0]=ye[1]=0,Na.viewportWidth=Na.framebufferWidth=Na.drawingBufferWidth=te[2]=ye[2]=fr.drawingBufferWidth,Na.viewportHeight=Na.framebufferHeight=Na.drawingBufferHeight=te[3]=ye[3]=fr.drawingBufferHeight}function bl(){Na.tick+=1,Na.time=kl(),pl(),Ri.procs.poll()}function Xn(){Ha.refresh(),pl(),Ri.procs.refresh(),si&&si.update()}function kl(){return(v()-gn)/1e3}Xn();function Io(te,ye){var je;switch(te){case\"frame\":return js(ye);case\"lost\":je=Rn;break;case\"restore\":je=Ii;break;case\"destroy\":je=nn;break;default:}return je.push(ye),{cancel:function(){for(var ke=0;ke=0},read:Ti,destroy:Xl,_gl:fr,_refresh:Xn,poll:function(){bl(),si&&si.update()},now:kl,stats:Ya,getCachedCode:ge,preloadCachedCode:K});return Xt.onDone(null,xe),xe}return _c})}}),xT=Ge({\"src/lib/prepare_regl.js\"(Z,G){\"use strict\";var d=TE(),_=Lq();G.exports=function(E,e,t){var r=E._fullLayout,o=!0;return r._glcanvas.each(function(a){if(a.regl){a.regl.preloadCachedCode(t);return}if(!(a.pick&&!r._has(\"parcoords\"))){try{a.regl=_({canvas:this,attributes:{antialias:!a.pick,preserveDrawingBuffer:!0},pixelRatio:E._context.plotGlPixelRatio||window.devicePixelRatio,extensions:e||[],cachedCode:t||{}})}catch{o=!1}a.regl||(o=!1),o&&this.addEventListener(\"webglcontextlost\",function(n){E&&E.emit&&E.emit(\"plotly_webglcontextlost\",{event:n,layer:a.key})},!1)}}),o||d({container:r._glcontainer.node()}),o}}}),p6=Ge({\"src/traces/scattergl/plot.js\"(h,G){\"use strict\";var d=HE(),_=a6(),A=pq(),E=Cq(),e=sa(),t=Jd().selectMode,r=xT(),o=Fu(),a=O5(),n=qE().styleTextSelection,i={};function s(f,v,c,T){var l=f._size,x=f.width*T,w=f.height*T,S=l.l*T,M=l.b*T,m=l.r*T,b=l.t*T,p=l.w*T,u=l.h*T;return[S+v.domain[0]*p,M+c.domain[0]*u,x-m-(1-v.domain[1])*p,w-b-(1-c.domain[1])*u]}var h=G.exports=function(v,c,T){if(T.length){var l=v._fullLayout,x=c._scene,w=c.xaxis,S=c.yaxis,M,m;if(x){var b=r(v,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],i);if(!b){x.init();return}var p=x.count,u=l._glcanvas.data()[0].regl;if(a(v,c,T),x.dirty){if((x.line2d||x.error2d)&&!(x.scatter2d||x.fill2d||x.glText)&&u.clear({color:!0,depth:!0}),x.error2d===!0&&(x.error2d=A(u)),x.line2d===!0&&(x.line2d=_(u)),x.scatter2d===!0&&(x.scatter2d=d(u)),x.fill2d===!0&&(x.fill2d=_(u)),x.glText===!0)for(x.glText=new Array(p),M=0;Mx.glText.length){var g=p-x.glText.length;for(M=0;MQ&&(isNaN(j[re])||isNaN(j[re+1]));)re-=2;ae.positions=j.slice(Q,re+2)}return ae}),x.line2d.update(x.lineOptions)),x.error2d){var L=(x.errorXOptions||[]).concat(x.errorYOptions||[]);x.error2d.update(L)}x.scatter2d&&x.scatter2d.update(x.markerOptions),x.fillOrder=e.repeat(null,p),x.fill2d&&(x.fillOptions=x.fillOptions.map(function(ae,j){var Q=T[j];if(!(!ae||!Q||!Q[0]||!Q[0].trace)){var re=Q[0],pe=re.trace,we=re.t,Se=x.lineOptions[j],Ie,Re,He=[];pe._ownfill&&He.push(j),pe._nexttrace&&He.push(j+1),He.length&&(x.fillOrder[j]=He);var at=[],nt=Se&&Se.positions||we.positions,tt,Ue;if(pe.fill===\"tozeroy\"){for(tt=0;tttt&&isNaN(nt[Ue+1]);)Ue-=2;nt[tt+1]!==0&&(at=[nt[tt],0]),at=at.concat(nt.slice(tt,Ue+2)),nt[Ue+1]!==0&&(at=at.concat([nt[Ue],0]))}else if(pe.fill===\"tozerox\"){for(tt=0;tttt&&isNaN(nt[Ue]);)Ue-=2;nt[tt]!==0&&(at=[0,nt[tt+1]]),at=at.concat(nt.slice(tt,Ue+2)),nt[Ue]!==0&&(at=at.concat([0,nt[Ue+1]]))}else if(pe.fill===\"toself\"||pe.fill===\"tonext\"){for(at=[],Ie=0,ae.splitNull=!0,Re=0;Re-1;for(let[ae]of T)if(ae){var O=ae.trace,P=ae.t,U=P.index,N=O._length,X=P.x,$=P.y;if(O.selectedpoints||F||B){if(F||(F=!0),O.selectedpoints){var ue=x.selectBatch[U]=e.selIndices2selPoints(O),ce={};for(m=0;mw&&c||xn,y;for(g?y=c.sizeAvg||Math.max(c.size,3):y=A(h,v),S=0;S{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,E(()=>{this.dirty=!1})),this)},o.prototype.update=function(...s){if(!s.length)return;for(let v=0;vy||!c.lower&&g{h[T+x]=v})}this.scatter.draw(...h)}return this},o.prototype.destroy=function(){return this.traces.forEach(s=>{s.buffer&&s.buffer.destroy&&s.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function a(s,h,f){let v=s.id!=null?s.id:s,c=h,T=f;return v<<16|(c&255)<<8|T&255}function n(s,h,f){let v,c,T,l,x,w,S,M,m=s[h],b=s[f];return m.length>2?(v=m[0],T=m[2],c=m[1],l=m[3]):m.length?(v=c=m[0],T=l=m[1]):(v=m.x,c=m.y,T=m.x+m.width,l=m.y+m.height),b.length>2?(x=b[0],S=b[2],w=b[1],M=b[3]):b.length?(x=w=b[0],S=M=b[1]):(x=b.x,w=b.y,S=b.x+b.width,M=b.y+b.height),[x,c,S,l]}function i(s){if(typeof s==\"number\")return[s,s,s,s];if(s.length===2)return[s[0],s[1],s[0],s[1]];{let h=t(s);return[h.x,h.y,h.x+h.width,h.y+h.height]}}}}),Uq=Ge({\"src/traces/splom/plot.js\"(Z,G){\"use strict\";var d=Nq(),_=sa(),A=tf(),E=Jd().selectMode;G.exports=function(r,o,a){if(a.length)for(var n=0;n-1,B=E(c)||!!n.selectedpoints||F,O=!0;if(B){var P=n._length;if(n.selectedpoints){s.selectBatch=n.selectedpoints;var U=n.selectedpoints,N={};for(x=0;x=X[$][0]&&N<=X[$][1])return!0;return!1}function h(N){N.attr(\"x\",-d.bar.captureWidth/2).attr(\"width\",d.bar.captureWidth)}function f(N){N.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function v(N){if(!N.brush.filterSpecified)return\"0,\"+N.height;for(var X=c(N.brush.filter.getConsolidated(),N.height),$=[0],ue,ce,de,V=X.length?X[0][0]:null,Y=0;YN[1]+$||X=.9*N[1]+.1*N[0]?\"n\":X<=.9*N[0]+.1*N[1]?\"s\":\"ns\"}function l(){_.select(document.body).style(\"cursor\",null)}function x(N){N.attr(\"stroke-dasharray\",v)}function w(N,X){var $=_.select(N).selectAll(\".highlight, .highlight-shadow\"),ue=X?$.transition().duration(d.bar.snapDuration).each(\"end\",X):$;x(ue)}function S(N,X){var $=N.brush,ue=$.filterSpecified,ce=NaN,de={},V;if(ue){var Y=N.height,ee=$.filter.getConsolidated(),q=c(ee,Y),se=NaN,ae=NaN,j=NaN;for(V=0;V<=q.length;V++){var Q=q[V];if(Q&&Q[0]<=X&&X<=Q[1]){se=V;break}else if(ae=V?V-1:NaN,Q&&Q[0]>X){j=V;break}}if(ce=se,isNaN(ce)&&(isNaN(ae)||isNaN(j)?ce=isNaN(ae)?j:ae:ce=X-q[ae][1]=Ie[0]&&Se<=Ie[1]){de.clickableOrdinalRange=Ie;break}}}return de}function M(N,X){_.event.sourceEvent.stopPropagation();var $=X.height-_.mouse(N)[1]-2*d.verticalPadding,ue=X.unitToPaddedPx.invert($),ce=X.brush,de=S(X,$),V=de.interval,Y=ce.svgBrush;if(Y.wasDragged=!1,Y.grabbingBar=de.region===\"ns\",Y.grabbingBar){var ee=V.map(X.unitToPaddedPx);Y.grabPoint=$-ee[0]-d.verticalPadding,Y.barLength=ee[1]-ee[0]}Y.clickableOrdinalRange=de.clickableOrdinalRange,Y.stayingIntervals=X.multiselect&&ce.filterSpecified?ce.filter.getConsolidated():[],V&&(Y.stayingIntervals=Y.stayingIntervals.filter(function(q){return q[0]!==V[0]&&q[1]!==V[1]})),Y.startExtent=de.region?V[de.region===\"s\"?1:0]:ue,X.parent.inBrushDrag=!0,Y.brushStartCallback()}function m(N,X){_.event.sourceEvent.stopPropagation();var $=X.height-_.mouse(N)[1]-2*d.verticalPadding,ue=X.brush.svgBrush;ue.wasDragged=!0,ue._dragging=!0,ue.grabbingBar?ue.newExtent=[$-ue.grabPoint,$+ue.barLength-ue.grabPoint].map(X.unitToPaddedPx.invert):ue.newExtent=[ue.startExtent,X.unitToPaddedPx.invert($)].sort(e),X.brush.filterSpecified=!0,ue.extent=ue.stayingIntervals.concat([ue.newExtent]),ue.brushCallback(X),w(N.parentNode)}function b(N,X){var $=X.brush,ue=$.filter,ce=$.svgBrush;ce._dragging||(p(N,X),m(N,X),X.brush.svgBrush.wasDragged=!1),ce._dragging=!1;var de=_.event;de.sourceEvent.stopPropagation();var V=ce.grabbingBar;if(ce.grabbingBar=!1,ce.grabLocation=void 0,X.parent.inBrushDrag=!1,l(),!ce.wasDragged){ce.wasDragged=void 0,ce.clickableOrdinalRange?$.filterSpecified&&X.multiselect?ce.extent.push(ce.clickableOrdinalRange):(ce.extent=[ce.clickableOrdinalRange],$.filterSpecified=!0):V?(ce.extent=ce.stayingIntervals,ce.extent.length===0&&z($)):z($),ce.brushCallback(X),w(N.parentNode),ce.brushEndCallback($.filterSpecified?ue.getConsolidated():[]);return}var Y=function(){ue.set(ue.getConsolidated())};if(X.ordinal){var ee=X.unitTickvals;ee[ee.length-1]ce.newExtent[0];ce.extent=ce.stayingIntervals.concat(q?[ce.newExtent]:[]),ce.extent.length||z($),ce.brushCallback(X),q?w(N.parentNode,Y):(Y(),w(N.parentNode))}else Y();ce.brushEndCallback($.filterSpecified?ue.getConsolidated():[])}function p(N,X){var $=X.height-_.mouse(N)[1]-2*d.verticalPadding,ue=S(X,$),ce=\"crosshair\";ue.clickableOrdinalRange?ce=\"pointer\":ue.region&&(ce=ue.region+\"-resize\"),_.select(document.body).style(\"cursor\",ce)}function u(N){N.on(\"mousemove\",function(X){_.event.preventDefault(),X.parent.inBrushDrag||p(this,X)}).on(\"mouseleave\",function(X){X.parent.inBrushDrag||l()}).call(_.behavior.drag().on(\"dragstart\",function(X){M(this,X)}).on(\"drag\",function(X){m(this,X)}).on(\"dragend\",function(X){b(this,X)}))}function g(N,X){return N[0]-X[0]}function y(N,X,$){var ue=$._context.staticPlot,ce=N.selectAll(\".background\").data(E);ce.enter().append(\"rect\").classed(\"background\",!0).call(h).call(f).style(\"pointer-events\",ue?\"none\":\"auto\").attr(\"transform\",t(0,d.verticalPadding)),ce.call(u).attr(\"height\",function(Y){return Y.height-d.verticalPadding});var de=N.selectAll(\".highlight-shadow\").data(E);de.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-d.bar.width/2).attr(\"stroke-width\",d.bar.width+d.bar.strokeWidth).attr(\"stroke\",X).attr(\"opacity\",d.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),de.attr(\"y1\",function(Y){return Y.height}).call(x);var V=N.selectAll(\".highlight\").data(E);V.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-d.bar.width/2).attr(\"stroke-width\",d.bar.width-d.bar.strokeWidth).attr(\"stroke\",d.bar.fillColor).attr(\"opacity\",d.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),V.attr(\"y1\",function(Y){return Y.height}).call(x)}function D(N,X,$){var ue=N.selectAll(\".\"+d.cn.axisBrush).data(E,A);ue.enter().append(\"g\").classed(d.cn.axisBrush,!0),y(ue,X,$)}function L(N){return N.svgBrush.extent.map(function(X){return X.slice()})}function z(N){N.filterSpecified=!1,N.svgBrush.extent=[[-1/0,1/0]]}function F(N){return function($){var ue=$.brush,ce=L(ue),de=ce.slice();ue.filter.set(de),N()}}function B(N){for(var X=N.slice(),$=[],ue,ce=X.shift();ce;){for(ue=ce.slice();(ce=X.shift())&&ce[0]<=ue[1];)ue[1]=Math.max(ue[1],ce[1]);$.push(ue)}return $.length===1&&$[0][0]>$[0][1]&&($=[]),$}function O(){var N=[],X,$;return{set:function(ue){N=ue.map(function(ce){return ce.slice().sort(e)}).sort(g),N.length===1&&N[0][0]===-1/0&&N[0][1]===1/0&&(N=[[0,-1]]),X=B(N),$=N.reduce(function(ce,de){return[Math.min(ce[0],de[0]),Math.max(ce[1],de[1])]},[1/0,-1/0])},get:function(){return N.slice()},getConsolidated:function(){return X},getBounds:function(){return $}}}function P(N,X,$,ue,ce,de){var V=O();return V.set($),{filter:V,filterSpecified:X,svgBrush:{extent:[],brushStartCallback:ue,brushCallback:F(ce),brushEndCallback:de}}}function U(N,X){if(Array.isArray(N[0])?(N=N.map(function(ue){return ue.sort(e)}),X.multiselect?N=B(N.sort(g)):N=[N[0]]):N=[N.sort(e)],X.tickvals){var $=X.tickvals.slice().sort(e);if(N=N.map(function(ue){var ce=[i(0,$,ue[0],[]),i(1,$,ue[1],[])];if(ce[1]>ce[0])return ce}).filter(function(ue){return ue}),!N.length)return}return N.length>1?N:N[0]}G.exports={makeBrush:P,ensureAxisBrush:D,cleanRanges:U}}}),Zq=Ge({\"src/traces/parcoords/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=wp().hasColorscale,A=_h(),E=wc().defaults,e=pp(),t=Wo(),r=m6(),o=g6(),a=Ax().maxDimensionCount,n=bT();function i(h,f,v,c,T){var l=T(\"line.color\",v);if(_(h,\"line\")&&d.isArrayOrTypedArray(l)){if(l.length)return T(\"line.colorscale\"),A(h,f,c,T,{prefix:\"line.\",cLetter:\"c\"}),l.length;f.line.color=v}return 1/0}function s(h,f,v,c){function T(M,m){return d.coerce(h,f,r.dimensions,M,m)}var l=T(\"values\"),x=T(\"visible\");if(l&&l.length||(x=f.visible=!1),x){T(\"label\"),T(\"tickvals\"),T(\"ticktext\"),T(\"tickformat\");var w=T(\"range\");f._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:w},t.setConvert(f._ax,c.layout),T(\"multiselect\");var S=T(\"constraintrange\");S&&(f.constraintrange=o.cleanRanges(S,f))}}G.exports=function(f,v,c,T){function l(m,b){return d.coerce(f,v,r,m,b)}var x=f.dimensions;Array.isArray(x)&&x.length>a&&(d.log(\"parcoords traces support up to \"+a+\" dimensions at the moment\"),x.splice(a));var w=e(f,v,{name:\"dimensions\",layout:T,handleItemDefaults:s}),S=i(f,v,c,T,l);E(v,T,l),(!Array.isArray(w)||!w.length)&&(v.visible=!1),n(v,w,\"values\",S);var M=d.extendFlat({},T.font,{size:Math.round(T.font.size/1.2)});d.coerceFont(l,\"labelfont\",M),d.coerceFont(l,\"tickfont\",M,{autoShadowDflt:!0}),d.coerceFont(l,\"rangefont\",M),l(\"labelangle\"),l(\"labelside\"),l(\"unselected.line.color\"),l(\"unselected.line.opacity\")}}}),Yq=Ge({\"src/traces/parcoords/calc.js\"(Z,G){\"use strict\";var d=sa().isArrayOrTypedArray,_=rc(),A=kv().wrap;G.exports=function(t,r){var o,a;return _.hasColorscale(r,\"line\")&&d(r.line.color)?(o=r.line.color,a=_.extractOpts(r.line).colorscale,_.calc(t,r,{vals:o,containerStr:\"line\",cLetter:\"c\"})):(o=E(r._length),a=[[0,r.line.color],[1,r.line.color]]),A({lineColor:o,cscale:a})};function E(e){for(var t=new Array(e),r=0;r>>16,(Z&65280)>>>8,Z&255],alpha:1};if(typeof Z==\"number\")return{space:\"rgb\",values:[Z>>>16,(Z&65280)>>>8,Z&255],alpha:1};if(Z=String(Z).toLowerCase(),wT.default[Z])A=wT.default[Z].slice(),e=\"rgb\";else if(Z===\"transparent\")E=0,e=\"rgb\",A=[0,0,0];else if(Z[0]===\"#\"){var t=Z.slice(1),r=t.length,o=r<=4;E=1,o?(A=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],r===4&&(E=parseInt(t[3]+t[3],16)/255)):(A=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],r===8&&(E=parseInt(t[6]+t[7],16)/255)),A[0]||(A[0]=0),A[1]||(A[1]=0),A[2]||(A[2]=0),e=\"rgb\"}else if(_=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(Z)){var a=_[1];e=a.replace(/a$/,\"\");var n=e===\"cmyk\"?4:e===\"gray\"?1:3;A=_[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),e===\"color\"&&(e=A.shift()),A=A.map(function(i,s){if(i[i.length-1]===\"%\")return i=parseFloat(i)/100,s===3?i:e===\"rgb\"?i*255:e[0]===\"h\"||e[0]===\"l\"&&!s?i*100:e===\"lab\"?i*125:e===\"lch\"?s<2?i*150:i*360:e[0]===\"o\"&&!s?i:e===\"oklab\"?i*.4:e===\"oklch\"?s<2?i*.4:i*360:i;if(e[s]===\"h\"||s===2&&e[e.length-1]===\"h\"){if(TT[i]!==void 0)return TT[i];if(i.endsWith(\"deg\"))return parseFloat(i);if(i.endsWith(\"turn\"))return parseFloat(i)*360;if(i.endsWith(\"grad\"))return parseFloat(i)*360/400;if(i.endsWith(\"rad\"))return parseFloat(i)*180/Math.PI}return i===\"none\"?0:parseFloat(i)}),E=A.length>n?A.pop():1}else/[0-9](?:\\s|\\/|,)/.test(Z)&&(A=Z.match(/([0-9]+)/g).map(function(i){return parseFloat(i)}),e=((d=(G=Z.match(/([a-z])/ig))==null?void 0:G.join(\"\"))==null?void 0:d.toLowerCase())||\"rgb\");return{space:e,values:A,alpha:E}}var wT,y6,TT,Jq=Ho({\"node_modules/color-parse/index.js\"(){wT=jp(xE(),1),y6=Kq,TT={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),Sx,_6=Ho({\"node_modules/color-space/rgb.js\"(){Sx={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}}}),Mx,$q=Ho({\"node_modules/color-space/hsl.js\"(){_6(),Mx={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(Z){var G=Z[0]/360,d=Z[1]/100,_=Z[2]/100,A,E,e,t,r,o=0;if(d===0)return r=_*255,[r,r,r];for(E=_<.5?_*(1+d):_+d-_*d,A=2*_-E,t=[0,0,0];o<3;)e=G+1/3*-(o-1),e<0?e++:e>1&&e--,r=6*e<1?A+(E-A)*6*e:2*e<1?E:3*e<2?A+(E-A)*(2/3-e)*6:A,t[o++]=r*255;return t}},Sx.hsl=function(Z){var G=Z[0]/255,d=Z[1]/255,_=Z[2]/255,A=Math.min(G,d,_),E=Math.max(G,d,_),e=E-A,t,r,o;return E===A?t=0:G===E?t=(d-_)/e:d===E?t=2+(_-G)/e:_===E&&(t=4+(G-d)/e),t=Math.min(t*60,360),t<0&&(t+=360),o=(A+E)/2,E===A?r=0:o<=.5?r=e/(E+A):r=e/(2-E-A),[t,r*100,o*100]}}}),x6={};Jl(x6,{default:()=>Qq});function Qq(Z){Array.isArray(Z)&&Z.raw&&(Z=String.raw(...arguments)),Z instanceof Number&&(Z=+Z);var G,d,_,A=y6(Z);if(!A.space)return[];let E=A.space[0]===\"h\"?Mx.min:Sx.min,e=A.space[0]===\"h\"?Mx.max:Sx.max;return G=Array(3),G[0]=Math.min(Math.max(A.values[0],E[0]),e[0]),G[1]=Math.min(Math.max(A.values[1],E[1]),e[1]),G[2]=Math.min(Math.max(A.values[2],E[2]),e[2]),A.space[0]===\"h\"&&(G=Mx.rgb(G)),G.push(Math.min(Math.max(A.alpha,0),1)),G}var eV=Ho({\"node_modules/color-rgba/index.js\"(){Jq(),_6(),$q()}}),b6=Ge({\"src/traces/parcoords/helpers.js\"(Z){\"use strict\";var G=sa().isTypedArray;Z.convertTypedArray=function(d){return G(d)?Array.prototype.slice.call(d):d},Z.isOrdinal=function(d){return!!d.tickvals},Z.isVisible=function(d){return d.visible||!(\"visible\"in d)}}}),tV=Ge({\"src/traces/parcoords/lines.js\"(Z,G){\"use strict\";var d=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"attribute vec4 p01_04, p05_08, p09_12, p13_16,\",\" p17_20, p21_24, p25_28, p29_32,\",\" p33_36, p37_40, p41_44, p45_48,\",\" p49_52, p53_56, p57_60, colors;\",\"\",\"uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\",\" loA, hiA, loB, hiB, loC, hiC, loD, hiD;\",\"\",\"uniform vec2 resolution, viewBoxPos, viewBoxSize;\",\"uniform float maskHeight;\",\"uniform float drwLayer; // 0: context, 1: focus, 2: pick\",\"uniform vec4 contextColor;\",\"uniform sampler2D maskTexture, palette;\",\"\",\"bool isPick = (drwLayer > 1.5);\",\"bool isContext = (drwLayer < 0.5);\",\"\",\"const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\",\"const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\",\"\",\"float val(mat4 p, mat4 v) {\",\" return dot(matrixCompMult(p, v) * UNITS, UNITS);\",\"}\",\"\",\"float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\",\" float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\",\" return y1 * (1.0 - ratio) + y2 * ratio;\",\"}\",\"\",\"int iMod(int a, int b) {\",\" return a - b * (a / b);\",\"}\",\"\",\"bool fOutside(float p, float lo, float hi) {\",\" return (lo < hi) && (lo > p || p > hi);\",\"}\",\"\",\"bool vOutside(vec4 p, vec4 lo, vec4 hi) {\",\" return (\",\" fOutside(p[0], lo[0], hi[0]) ||\",\" fOutside(p[1], lo[1], hi[1]) ||\",\" fOutside(p[2], lo[2], hi[2]) ||\",\" fOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool mOutside(mat4 p, mat4 lo, mat4 hi) {\",\" return (\",\" vOutside(p[0], lo[0], hi[0]) ||\",\" vOutside(p[1], lo[1], hi[1]) ||\",\" vOutside(p[2], lo[2], hi[2]) ||\",\" vOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" return mOutside(A, loA, hiA) ||\",\" mOutside(B, loB, hiB) ||\",\" mOutside(C, loC, hiC) ||\",\" mOutside(D, loD, hiD);\",\"}\",\"\",\"bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" mat4 pnts[4];\",\" pnts[0] = A;\",\" pnts[1] = B;\",\" pnts[2] = C;\",\" pnts[3] = D;\",\"\",\" for(int i = 0; i < 4; ++i) {\",\" for(int j = 0; j < 4; ++j) {\",\" for(int k = 0; k < 4; ++k) {\",\" if(0 == iMod(\",\" int(255.0 * texture2D(maskTexture,\",\" vec2(\",\" (float(i * 2 + j / 2) + 0.5) / 8.0,\",\" (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\",\" ))[3]\",\" ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\",\" 2\",\" )) return true;\",\" }\",\" }\",\" }\",\" return false;\",\"}\",\"\",\"vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float x = 0.5 * sign(v) + 0.5;\",\" float y = axisY(x, A, B, C, D);\",\" float z = 1.0 - abs(v);\",\"\",\" z += isContext ? 0.0 : 2.0 * float(\",\" outsideBoundingBox(A, B, C, D) ||\",\" outsideRasterMask(A, B, C, D)\",\" );\",\"\",\" return vec4(\",\" 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\",\" z,\",\" 1.0\",\" );\",\"}\",\"\",\"void main() {\",\" mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\",\" mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\",\" mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\",\" mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\",\"\",\" float v = colors[3];\",\"\",\" gl_Position = position(isContext, v, A, B, C, D);\",\"\",\" fragColor =\",\" isContext ? vec4(contextColor) :\",\" isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\",\"}\"].join(`\n`),_=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n`),A=Ax().maxDimensionCount,E=sa(),e=1e-6,t=2048,r=new Uint8Array(4),o=new Uint8Array(4),a={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function n(b){b.read({x:0,y:0,width:1,height:1,data:r})}function i(b,p,u,g,y){var D=b._gl;D.enable(D.SCISSOR_TEST),D.scissor(p,u,g,y),b.clear({color:[0,0,0,0],depth:1})}function s(b,p,u,g,y,D){var L=D.key;function z(F){var B=Math.min(g,y-F*g);F===0&&(window.cancelAnimationFrame(u.currentRafs[L]),delete u.currentRafs[L],i(b,D.scissorX,D.scissorY,D.scissorWidth,D.viewBoxSize[1])),!u.clearOnly&&(D.count=2*B,D.offset=2*F*g,p(D),F*g+B>>8*p)%256/255}function c(b,p,u){for(var g=new Array(b*(A+4)),y=0,D=0;DRe&&(Re=ae[pe].dim1.canvasX,Se=pe);re===0&&i(y,0,0,B.canvasWidth,B.canvasHeight);var He=V(u);for(pe=0;pepe._length&&(Ue=Ue.slice(0,pe._length));var he=pe.tickvals,le;function ne(St,kt){return{val:St,text:le[kt]}}function Ce(St,kt){return St.val-kt.val}if(A(he)&&he.length){_.isTypedArray(he)&&(he=Array.from(he)),le=pe.ticktext,!A(le)||!le.length?le=he.map(E(pe.tickformat)):le.length>he.length?le=le.slice(0,he.length):he.length>le.length&&(he=he.slice(0,le.length));for(var Ze=1;Ze=kt||mr>=qt)return;var qr=Ye.lineLayer.readPixel(Tr,qt-1-mr),Er=qr[3]!==0,Dr=Er?qr[2]+256*(qr[1]+256*qr[0]):null,xt={x:Tr,y:mr,clientX:St.clientX,clientY:St.clientY,dataIndex:Ye.model.key,curveNumber:Dr};Dr!==Se&&(Er?Y.hover(xt):Y.unhover&&Y.unhover(xt),Se=Dr)}}),we.style(\"opacity\",function(Ye){return Ye.pick?0:1}),se.style(\"background\",\"rgba(255, 255, 255, 0)\");var Re=se.selectAll(\".\"+T.cn.parcoords).data(pe,h);Re.exit().remove(),Re.enter().append(\"g\").classed(T.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),Re.attr(\"transform\",function(Ye){return o(Ye.model.translateX,Ye.model.translateY)});var He=Re.selectAll(\".\"+T.cn.parcoordsControlView).data(f,h);He.enter().append(\"g\").classed(T.cn.parcoordsControlView,!0),He.attr(\"transform\",function(Ye){return o(Ye.model.pad.l,Ye.model.pad.t)});var at=He.selectAll(\".\"+T.cn.yAxis).data(function(Ye){return Ye.dimensions},h);at.enter().append(\"g\").classed(T.cn.yAxis,!0),He.each(function(Ye){U(at,Ye,j)}),we.each(function(Ye){if(Ye.viewModel){!Ye.lineLayer||Y?Ye.lineLayer=x(this,Ye):Ye.lineLayer.update(Ye),(Ye.key||Ye.key===0)&&(Ye.viewModel[Ye.key]=Ye.lineLayer);var St=!Ye.context||Y;Ye.lineLayer.render(Ye.viewModel.panels,St)}}),at.attr(\"transform\",function(Ye){return o(Ye.xScale(Ye.xIndex),0)}),at.call(d.behavior.drag().origin(function(Ye){return Ye}).on(\"drag\",function(Ye){var St=Ye.parent;re.linePickActive(!1),Ye.x=Math.max(-T.overdrag,Math.min(Ye.model.width+T.overdrag,d.event.x)),Ye.canvasX=Ye.x*Ye.model.canvasPixelRatio,at.sort(function(kt,qt){return kt.x-qt.x}).each(function(kt,qt){kt.xIndex=qt,kt.x=Ye===kt?kt.x:kt.xScale(kt.xIndex),kt.canvasX=kt.x*kt.model.canvasPixelRatio}),U(at,St,j),at.filter(function(kt){return Math.abs(Ye.xIndex-kt.xIndex)!==0}).attr(\"transform\",function(kt){return o(kt.xScale(kt.xIndex),0)}),d.select(this).attr(\"transform\",o(Ye.x,0)),at.each(function(kt,qt,Gt){Gt===Ye.parent.key&&(St.dimensions[qt]=kt)}),St.contextLayer&&St.contextLayer.render(St.panels,!1,!L(St)),St.focusLayer.render&&St.focusLayer.render(St.panels)}).on(\"dragend\",function(Ye){var St=Ye.parent;Ye.x=Ye.xScale(Ye.xIndex),Ye.canvasX=Ye.x*Ye.model.canvasPixelRatio,U(at,St,j),d.select(this).attr(\"transform\",function(kt){return o(kt.x,0)}),St.contextLayer&&St.contextLayer.render(St.panels,!1,!L(St)),St.focusLayer&&St.focusLayer.render(St.panels),St.pickLayer&&St.pickLayer.render(St.panels,!0),re.linePickActive(!0),Y&&Y.axesMoved&&Y.axesMoved(St.key,St.dimensions.map(function(kt){return kt.crossfilterDimensionIndex}))})),at.exit().remove();var nt=at.selectAll(\".\"+T.cn.axisOverlays).data(f,h);nt.enter().append(\"g\").classed(T.cn.axisOverlays,!0),nt.selectAll(\".\"+T.cn.axis).remove();var tt=nt.selectAll(\".\"+T.cn.axis).data(f,h);tt.enter().append(\"g\").classed(T.cn.axis,!0),tt.each(function(Ye){var St=Ye.model.height/Ye.model.tickDistance,kt=Ye.domainScale,qt=kt.domain();d.select(this).call(d.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(St,Ye.tickFormat).tickValues(Ye.ordinal?qt:null).tickFormat(function(Gt){return c.isOrdinal(Ye)?Gt:X(Ye.model.dimensions[Ye.visibleIndex],Gt)}).scale(kt)),n.font(tt.selectAll(\"text\"),Ye.model.tickFont)}),tt.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),tt.selectAll(\"text\").style(\"cursor\",\"default\");var Ue=nt.selectAll(\".\"+T.cn.axisHeading).data(f,h);Ue.enter().append(\"g\").classed(T.cn.axisHeading,!0);var he=Ue.selectAll(\".\"+T.cn.axisTitle).data(f,h);he.enter().append(\"text\").classed(T.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",ee?\"none\":\"auto\"),he.text(function(Ye){return Ye.label}).each(function(Ye){var St=d.select(this);n.font(St,Ye.model.labelFont),a.convertToTspans(St,ce)}).attr(\"transform\",function(Ye){var St=P(Ye.model.labelAngle,Ye.model.labelSide),kt=T.axisTitleOffset;return(St.dir>0?\"\":o(0,2*kt+Ye.model.height))+r(St.degrees)+o(-kt*St.dx,-kt*St.dy)}).attr(\"text-anchor\",function(Ye){var St=P(Ye.model.labelAngle,Ye.model.labelSide),kt=Math.abs(St.dx),qt=Math.abs(St.dy);return 2*kt>qt?St.dir*St.dx<0?\"start\":\"end\":\"middle\"});var le=nt.selectAll(\".\"+T.cn.axisExtent).data(f,h);le.enter().append(\"g\").classed(T.cn.axisExtent,!0);var ne=le.selectAll(\".\"+T.cn.axisExtentTop).data(f,h);ne.enter().append(\"g\").classed(T.cn.axisExtentTop,!0),ne.attr(\"transform\",o(0,-T.axisExtentOffset));var Ce=ne.selectAll(\".\"+T.cn.axisExtentTopText).data(f,h);Ce.enter().append(\"text\").classed(T.cn.axisExtentTopText,!0).call(B),Ce.text(function(Ye){return $(Ye,!0)}).each(function(Ye){n.font(d.select(this),Ye.model.rangeFont)});var Ze=le.selectAll(\".\"+T.cn.axisExtentBottom).data(f,h);Ze.enter().append(\"g\").classed(T.cn.axisExtentBottom,!0),Ze.attr(\"transform\",function(Ye){return o(0,Ye.model.height+T.axisExtentOffset)});var rt=Ze.selectAll(\".\"+T.cn.axisExtentBottomText).data(f,h);rt.enter().append(\"text\").classed(T.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(B),rt.text(function(Ye){return $(Ye,!1)}).each(function(Ye){n.font(d.select(this),Ye.model.rangeFont)}),l.ensureAxisBrush(nt,Q,ce)}}}),w6=Ge({\"src/traces/parcoords/plot.js\"(r,G){\"use strict\";var d=rV(),_=xT(),A=b6().isVisible,E={};function e(o,a,n){var i=a.indexOf(n),s=o.indexOf(i);return s===-1&&(s+=a.length),s}function t(o,a){return function(i,s){return e(o,a,i)-e(o,a,s)}}var r=G.exports=function(a,n){var i=a._fullLayout,s=_(a,[],E);if(s){var h={},f={},v={},c={},T=i._size;n.forEach(function(M,m){var b=M[0].trace;v[m]=b.index;var p=c[m]=b.index;h[m]=a.data[p].dimensions,f[m]=a.data[p].dimensions.slice()});var l=function(M,m,b){var p=f[M][m],u=b.map(function(F){return F.slice()}),g=\"dimensions[\"+m+\"].constraintrange\",y=i._tracePreGUI[a._fullData[v[M]]._fullInput.uid];if(y[g]===void 0){var D=p.constraintrange;y[g]=D||null}var L=a._fullData[v[M]].dimensions[m];u.length?(u.length===1&&(u=u[0]),p.constraintrange=u,L.constraintrange=u.slice(),u=[u]):(delete p.constraintrange,delete L.constraintrange,u=null);var z={};z[g]=u,a.emit(\"plotly_restyle\",[z,[c[M]]])},x=function(M){a.emit(\"plotly_hover\",M)},w=function(M){a.emit(\"plotly_unhover\",M)},S=function(M,m){var b=t(m,f[M].filter(A));h[M].sort(b),f[M].filter(function(p){return!A(p)}).sort(function(p){return f[M].indexOf(p)}).forEach(function(p){h[M].splice(h[M].indexOf(p),1),h[M].splice(f[M].indexOf(p),0,p)}),a.emit(\"plotly_restyle\",[{dimensions:[h[M]]},[c[M]]])};d(a,n,{width:T.w,height:T.h,margin:{t:T.t,r:T.r,b:T.b,l:T.l}},{filterChanged:l,hover:x,unhover:w,axesMoved:S})}};r.reglPrecompiled=E}}),aV=Ge({\"src/traces/parcoords/base_plot.js\"(Z){\"use strict\";var G=Vn(),d=Hh().getModuleCalcData,_=w6(),A=vd();Z.name=\"parcoords\",Z.plot=function(E){var e=d(E.calcdata,\"parcoords\")[0];e.length&&_(E,e)},Z.clean=function(E,e,t,r){var o=r._has&&r._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");o&&!a&&(r._paperdiv.selectAll(\".parcoords\").remove(),r._glimages.selectAll(\"*\").remove())},Z.toSVG=function(E){var e=E._fullLayout._glimages,t=G.select(E).selectAll(\".svg-container\"),r=t.filter(function(a,n){return n===t.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function o(){var a=this,n=a.toDataURL(\"image/png\"),i=e.append(\"svg:image\");i.attr({xmlns:A.svg,\"xlink:href\":n,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}r.each(o),window.setTimeout(function(){G.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}}}),iV=Ge({\"src/traces/parcoords/base_index.js\"(Z,G){\"use strict\";G.exports={attributes:m6(),supplyDefaults:Zq(),calc:Yq(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:aV(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}}}),nV=Ge({\"src/traces/parcoords/index.js\"(Z,G){\"use strict\";var d=iV();d.plot=w6(),G.exports=d}}),oV=Ge({\"lib/parcoords.js\"(Z,G){\"use strict\";G.exports=nV()}}),T6=Ge({\"src/traces/parcats/attributes.js\"(Z,G){\"use strict\";var d=rs().extendFlat,_=au(),A=tc(),E=ku(),{hovertemplateAttrs:e,templatefallbackAttrs:t}=$l(),r=wc().attributes,o=d({editType:\"calc\"},E(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:e({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]}),hovertemplatefallback:t({editType:\"plot\"})});G.exports={domain:r({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:d({},_.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:e({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),hovertemplatefallback:t({editType:\"plot\"}),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:A({editType:\"calc\"}),tickfont:A({autoShadowDflt:!0,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:o,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}}}),sV=Ge({\"src/traces/parcats/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=wp().hasColorscale,A=_h(),E=wc().defaults,e=pp(),t=T6(),r=bT(),o=hp().isTypedArraySpec;function a(i,s,h,f,v){v(\"line.shape\"),v(\"line.hovertemplate\"),v(\"line.hovertemplatefallback\");var c=v(\"line.color\",f.colorway[0]);if(_(i,\"line\")&&d.isArrayOrTypedArray(c)){if(c.length)return v(\"line.colorscale\"),A(i,s,f,v,{prefix:\"line.\",cLetter:\"c\"}),c.length;s.line.color=h}return 1/0}function n(i,s){function h(w,S){return d.coerce(i,s,t.dimensions,w,S)}var f=h(\"values\"),v=h(\"visible\");if(f&&f.length||(v=s.visible=!1),v){h(\"label\"),h(\"displayindex\",s._index);var c=i.categoryarray,T=d.isArrayOrTypedArray(c)&&c.length>0||o(c),l;T&&(l=\"array\");var x=h(\"categoryorder\",l);x===\"array\"?(h(\"categoryarray\"),h(\"ticktext\")):(delete i.categoryarray,delete i.ticktext),!T&&x===\"array\"&&(s.categoryorder=\"trace\")}}G.exports=function(s,h,f,v){function c(w,S){return d.coerce(s,h,t,w,S)}var T=e(s,h,{name:\"dimensions\",handleItemDefaults:n}),l=a(s,h,f,v,c);E(h,v,c),(!Array.isArray(T)||!T.length)&&(h.visible=!1),r(h,T,\"values\",l),c(\"hoveron\"),c(\"hovertemplate\"),c(\"hovertemplatefallback\"),c(\"arrangement\"),c(\"bundlecolors\"),c(\"sortpaths\"),c(\"counts\");var x=v.font;d.coerceFont(c,\"labelfont\",x,{overrideDflt:{size:Math.round(x.size)}}),d.coerceFont(c,\"tickfont\",x,{autoShadowDflt:!0,overrideDflt:{size:Math.round(x.size/1.2)}})}}}),lV=Ge({\"src/traces/parcats/calc.js\"(Z,G){\"use strict\";var d=kv().wrap,_=wp().hasColorscale,A=Tp(),E=r5(),e=as(),t=sa(),r=ns();G.exports=function(x,w){var S=t.filterVisible(w.dimensions);if(S.length===0)return[];var M=S.map(function(V){var Y;if(V.categoryorder===\"trace\")Y=null;else if(V.categoryorder===\"array\")Y=V.categoryarray;else{Y=E(V.values);for(var ee=!0,q=0;q=l.length||x[l[w]]!==void 0)return!1;x[l[w]]=!0}return!0}}}),uV=Ge({\"src/traces/parcats/parcats.js\"(Z,G){\"use strict\";var d=Vn(),_=(pg(),zf(p0)).interpolateNumber,A=k2(),E=Hc(),e=sa(),t=e.strTranslate,r=as(),o=Ch(),a=su();function n(q,se,ae,j){var Q=se._context.staticPlot,re=q.map(ce.bind(0,se,ae)),pe=j.selectAll(\"g.parcatslayer\").data([null]);pe.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",Q?\"none\":\"all\");var we=pe.selectAll(\"g.trace.parcats\").data(re,i),Se=we.enter().append(\"g\").attr(\"class\",\"trace parcats\");we.attr(\"transform\",function(ne){return t(ne.x,ne.y)}),Se.append(\"g\").attr(\"class\",\"paths\");var Ie=we.select(\"g.paths\"),Re=Ie.selectAll(\"path.path\").data(function(ne){return ne.paths},i);Re.attr(\"fill\",function(ne){return ne.model.color});var He=Re.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(ne){return ne.model.color}).attr(\"fill-opacity\",0);x(He),Re.attr(\"d\",function(ne){return ne.svgD}),He.empty()||Re.sort(h),Re.exit().remove(),Re.on(\"mouseover\",f).on(\"mouseout\",v).on(\"click\",l),Se.append(\"g\").attr(\"class\",\"dimensions\");var at=we.select(\"g.dimensions\"),nt=at.selectAll(\"g.dimension\").data(function(ne){return ne.dimensions},i);nt.enter().append(\"g\").attr(\"class\",\"dimension\"),nt.attr(\"transform\",function(ne){return t(ne.x,0)}),nt.exit().remove();var tt=nt.selectAll(\"g.category\").data(function(ne){return ne.categories},i),Ue=tt.enter().append(\"g\").attr(\"class\",\"category\");tt.attr(\"transform\",function(ne){return t(0,ne.y)}),Ue.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),tt.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(ne){return ne.width}).attr(\"height\",function(ne){return ne.height}),M(Ue);var he=tt.selectAll(\"rect.bandrect\").data(function(ne){return ne.bands},i);he.each(function(){e.raiseToTop(this)}),he.attr(\"fill\",function(ne){return ne.color});var le=he.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(ne){return ne.color}).attr(\"fill-opacity\",0);he.attr(\"fill\",function(ne){return ne.color}).attr(\"width\",function(ne){return ne.width}).attr(\"height\",function(ne){return ne.height}).attr(\"y\",function(ne){return ne.y}).attr(\"cursor\",function(ne){return ne.parcatsViewModel.arrangement===\"fixed\"?\"default\":ne.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),b(le),he.exit().remove(),Ue.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),tt.select(\"text.catlabel\").attr(\"text-anchor\",function(ne){return s(ne)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(ne){return s(ne)?ne.width+5:-5}).attr(\"y\",function(ne){return ne.height/2}).text(function(ne){return ne.model.categoryLabel}).each(function(ne){r.font(d.select(this),ne.parcatsViewModel.categorylabelfont),a.convertToTspans(d.select(this),se)}),Ue.append(\"text\").attr(\"class\",\"dimlabel\"),tt.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(ne){return ne.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(ne){return ne.width/2}).attr(\"y\",-5).text(function(ne,Ce){return Ce===0?ne.parcatsViewModel.model.dimensions[ne.model.dimensionInd].dimensionLabel:null}).each(function(ne){r.font(d.select(this),ne.parcatsViewModel.labelfont)}),tt.selectAll(\"rect.bandrect\").on(\"mouseover\",B).on(\"mouseout\",O),tt.exit().remove(),nt.call(d.behavior.drag().origin(function(ne){return{x:ne.x,y:0}}).on(\"dragstart\",P).on(\"drag\",U).on(\"dragend\",N)),we.each(function(ne){ne.traceSelection=d.select(this),ne.pathSelection=d.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),ne.dimensionSelection=d.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),we.exit().remove()}G.exports=function(q,se,ae,j){n(ae,q,j,se)};function i(q){return q.key}function s(q){var se=q.parcatsViewModel.dimensions.length,ae=q.parcatsViewModel.dimensions[se-1].model.dimensionInd;return q.model.dimensionInd===ae}function h(q,se){return q.model.rawColor>se.model.rawColor?1:q.model.rawColor\"),Ye=d.mouse(Q)[0];E.loneHover({trace:re,x:tt-we.left+Se.left,y:Ue-we.top+Se.top,text:rt,color:q.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:he,idealAlign:Ye1&&Ie.displayInd===Se.dimensions.length-1?(at=pe.left,nt=\"left\"):(at=pe.left+pe.width,nt=\"right\");var tt=we.model.count,Ue=we.model.categoryLabel,he=tt/we.parcatsViewModel.model.count,le={countLabel:tt,categoryLabel:Ue,probabilityLabel:he.toFixed(3)},ne=[];we.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&ne.push([\"Count:\",le.countLabel].join(\" \")),we.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&ne.push([\"P(\"+le.categoryLabel+\"):\",le.probabilityLabel].join(\" \"));var Ce=ne.join(\"
\");return{trace:Re,x:j*(at-se.left),y:Q*(He-se.top),text:Ce,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:nt,hovertemplate:Re.hovertemplate,hovertemplateLabels:le,eventData:[{data:Re._input,fullData:Re,count:tt,category:Ue,probability:he}]}}function z(q,se,ae){var j=[];return d.select(ae.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var Q=this;j.push(L(q,se,Q))}),j}function F(q,se,ae){q._fullLayout._calcInverseTransform(q);var j=q._fullLayout._invScaleX,Q=q._fullLayout._invScaleY,re=ae.getBoundingClientRect(),pe=d.select(ae).datum(),we=pe.categoryViewModel,Se=we.parcatsViewModel,Ie=Se.model.dimensions[we.model.dimensionInd],Re=Se.trace,He=re.y+re.height/2,at,nt;Se.dimensions.length>1&&Ie.displayInd===Se.dimensions.length-1?(at=re.left,nt=\"left\"):(at=re.left+re.width,nt=\"right\");var tt=we.model.categoryLabel,Ue=pe.parcatsViewModel.model.count,he=0;pe.categoryViewModel.bands.forEach(function(Gt){Gt.color===pe.color&&(he+=Gt.count)});var le=we.model.count,ne=0;Se.pathSelection.each(function(Gt){Gt.model.color===pe.color&&(ne+=Gt.model.count)});var Ce=he/Ue,Ze=he/ne,rt=he/le,Ye={countLabel:he,categoryLabel:tt,probabilityLabel:Ce.toFixed(3)},St=[];we.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&St.push([\"Count:\",Ye.countLabel].join(\" \")),we.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(St.push(\"P(color \\u2229 \"+tt+\"): \"+Ye.probabilityLabel),St.push(\"P(\"+tt+\" | color): \"+Ze.toFixed(3)),St.push(\"P(color | \"+tt+\"): \"+rt.toFixed(3)));var kt=St.join(\"
\"),qt=o.mostReadable(pe.color,[\"black\",\"white\"]);return{trace:Re,x:j*(at-se.left),y:Q*(He-se.top),text:kt,color:pe.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:qt,fontSize:10,idealAlign:nt,hovertemplate:Re.hovertemplate,hovertemplateLabels:Ye,eventData:[{data:Re._input,fullData:Re,category:tt,count:Ue,probability:Ce,categorycount:le,colorcount:ne,bandcolorcount:he}]}}function B(q){if(!q.parcatsViewModel.dragDimension&&q.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var se=d.mouse(this)[1];if(se<-1)return;var ae=q.parcatsViewModel.graphDiv,j=ae._fullLayout,Q=j._paperdiv.node().getBoundingClientRect(),re=q.parcatsViewModel.hoveron,pe=this;if(re===\"color\"?(g(pe),D(pe,\"plotly_hover\",d.event)):(u(pe),y(pe,\"plotly_hover\",d.event)),q.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var we;re===\"category\"?we=L(ae,Q,pe):re===\"color\"?we=F(ae,Q,pe):re===\"dimension\"&&(we=z(ae,Q,pe)),we&&E.loneHover(we,{container:j._hoverlayer.node(),outerContainer:j._paper.node(),gd:ae})}}}function O(q){var se=q.parcatsViewModel;if(!se.dragDimension&&(x(se.pathSelection),M(se.dimensionSelection.selectAll(\"g.category\")),b(se.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),E.loneUnhover(se.graphDiv._fullLayout._hoverlayer.node()),se.pathSelection.sort(h),se.hoverinfoItems.indexOf(\"skip\")===-1)){var ae=q.parcatsViewModel.hoveron,j=this;ae===\"color\"?D(j,\"plotly_unhover\",d.event):y(j,\"plotly_unhover\",d.event)}}function P(q){q.parcatsViewModel.arrangement!==\"fixed\"&&(q.dragDimensionDisplayInd=q.model.displayInd,q.initialDragDimensionDisplayInds=q.parcatsViewModel.model.dimensions.map(function(se){return se.displayInd}),q.dragHasMoved=!1,q.dragCategoryDisplayInd=null,d.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(se){var ae=d.mouse(this)[0],j=d.mouse(this)[1];-2<=ae&&ae<=se.width+2&&-2<=j&&j<=se.height+2&&(q.dragCategoryDisplayInd=se.model.displayInd,q.initialDragCategoryDisplayInds=q.model.categories.map(function(Q){return Q.displayInd}),se.model.dragY=se.y,e.raiseToTop(this.parentNode),d.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(Q){Q.yRe.y+Re.height/2&&(re.model.displayInd=Re.model.displayInd,Re.model.displayInd=we),q.dragCategoryDisplayInd=re.model.displayInd}if(q.dragCategoryDisplayInd===null||q.parcatsViewModel.arrangement===\"freeform\"){Q.model.dragX=d.event.x;var He=q.parcatsViewModel.dimensions[ae],at=q.parcatsViewModel.dimensions[j];He!==void 0&&Q.model.dragXat.x&&(Q.model.displayInd=at.model.displayInd,at.model.displayInd=q.dragDimensionDisplayInd),q.dragDimensionDisplayInd=Q.model.displayInd}Y(q.parcatsViewModel),V(q.parcatsViewModel),ue(q.parcatsViewModel),$(q.parcatsViewModel)}}function N(q){if(q.parcatsViewModel.arrangement!==\"fixed\"&&q.dragDimensionDisplayInd!==null){d.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var se={},ae=X(q.parcatsViewModel),j=q.parcatsViewModel.model.dimensions.map(function(at){return at.displayInd}),Q=q.initialDragDimensionDisplayInds.some(function(at,nt){return at!==j[nt]});Q&&j.forEach(function(at,nt){var tt=q.parcatsViewModel.model.dimensions[nt].containerInd;se[\"dimensions[\"+tt+\"].displayindex\"]=at});var re=!1;if(q.dragCategoryDisplayInd!==null){var pe=q.model.categories.map(function(at){return at.displayInd});if(re=q.initialDragCategoryDisplayInds.some(function(at,nt){return at!==pe[nt]}),re){var we=q.model.categories.slice().sort(function(at,nt){return at.displayInd-nt.displayInd}),Se=we.map(function(at){return at.categoryValue}),Ie=we.map(function(at){return at.categoryLabel});se[\"dimensions[\"+q.model.containerInd+\"].categoryarray\"]=[Se],se[\"dimensions[\"+q.model.containerInd+\"].ticktext\"]=[Ie],se[\"dimensions[\"+q.model.containerInd+\"].categoryorder\"]=\"array\"}}if(q.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!q.dragHasMoved&&q.potentialClickBand&&(q.parcatsViewModel.hoveron===\"color\"?D(q.potentialClickBand,\"plotly_click\",d.event.sourceEvent):y(q.potentialClickBand,\"plotly_click\",d.event.sourceEvent)),q.model.dragX=null,q.dragCategoryDisplayInd!==null){var Re=q.parcatsViewModel.dimensions[q.dragDimensionDisplayInd].categories[q.dragCategoryDisplayInd];Re.model.dragY=null,q.dragCategoryDisplayInd=null}q.dragDimensionDisplayInd=null,q.parcatsViewModel.dragDimension=null,q.dragHasMoved=null,q.potentialClickBand=null,Y(q.parcatsViewModel),V(q.parcatsViewModel);var He=d.transition().duration(300).ease(\"cubic-in-out\");He.each(function(){ue(q.parcatsViewModel,!0),$(q.parcatsViewModel,!0)}).each(\"end\",function(){(Q||re)&&A.restyle(q.parcatsViewModel.graphDiv,se,[ae])})}}function X(q){for(var se,ae=q.graphDiv._fullData,j=0;j=0;Se--)Ie+=\"C\"+pe[Se]+\",\"+(se[Se+1]+j)+\" \"+re[Se]+\",\"+(se[Se]+j)+\" \"+(q[Se]+ae[Se])+\",\"+(se[Se]+j),Ie+=\"l-\"+ae[Se]+\",0 \";return Ie+=\"Z\",Ie}function V(q){var se=q.dimensions,ae=q.model,j=se.map(function(qr){return qr.categories.map(function(Er){return Er.y})}),Q=q.model.dimensions.map(function(qr){return qr.categories.map(function(Er){return Er.displayInd})}),re=q.model.dimensions.map(function(qr){return qr.displayInd}),pe=q.dimensions.map(function(qr){return qr.model.dimensionInd}),we=se.map(function(qr){return qr.x}),Se=se.map(function(qr){return qr.width}),Ie=[];for(var Re in ae.paths)ae.paths.hasOwnProperty(Re)&&Ie.push(ae.paths[Re]);function He(qr){var Er=qr.categoryInds.map(function(xt,Oe){return Q[Oe][xt]}),Dr=pe.map(function(xt){return Er[xt]});return Dr}Ie.sort(function(qr,Er){var Dr=He(qr),xt=He(Er);return q.sortpaths===\"backward\"&&(Dr.reverse(),xt.reverse()),Dr.push(qr.valueInds[0]),xt.push(Er.valueInds[0]),q.bundlecolors&&(Dr.unshift(qr.rawColor),xt.unshift(Er.rawColor)),Drxt?1:0});for(var at=new Array(Ie.length),nt=se[0].model.count,tt=se[0].categories.map(function(qr){return qr.height}).reduce(function(qr,Er){return qr+Er}),Ue=0;Ue0?le=tt*(he.count/nt):le=0;for(var ne=new Array(j.length),Ce=0;Ce1?pe=(q.width-2*ae-j)/(Q-1):pe=0,we=ae,Se=we+pe*re;var Ie=[],Re=q.model.maxCats,He=se.categories.length,at=8,nt=se.count,tt=q.height-at*(Re-1),Ue,he,le,ne,Ce,Ze=(Re-He)*at/2,rt=se.categories.map(function(Ye){return{displayInd:Ye.displayInd,categoryInd:Ye.categoryInd}});for(rt.sort(function(Ye,St){return Ye.displayInd-St.displayInd}),Ce=0;Ce0?Ue=he.count/nt*tt:Ue=0,le={key:he.valueInds[0],model:he,width:j,height:Ue,y:he.dragY!==null?he.dragY:Ze,bands:[],parcatsViewModel:q},Ze=Ze+Ue+at,Ie.push(le);return{key:se.dimensionInd,x:se.dragX!==null?se.dragX:Se,y:0,width:j,model:se,categories:Ie,parcatsViewModel:q,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}}}),A6=Ge({\"src/traces/parcats/plot.js\"(Z,G){\"use strict\";var d=uV();G.exports=function(A,E,e,t){var r=A._fullLayout,o=r._paper,a=r._size;d(A,o,E,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},e,t)}}}),cV=Ge({\"src/traces/parcats/base_plot.js\"(Z){\"use strict\";var G=Hh().getModuleCalcData,d=A6(),_=\"parcats\";Z.name=_,Z.plot=function(A,E,e,t){var r=G(A.calcdata,_);if(r.length){var o=r[0];d(A,o,e,t)}},Z.clean=function(A,E,e,t){var r=t._has&&t._has(\"parcats\"),o=E._has&&E._has(\"parcats\");r&&!o&&t._paperdiv.selectAll(\".parcats\").remove()}}}),fV=Ge({\"src/traces/parcats/index.js\"(Z,G){\"use strict\";G.exports={attributes:T6(),supplyDefaults:sV(),calc:lV(),plot:A6(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:cV(),categories:[\"noOpacity\"],meta:{}}}}),hV=Ge({\"lib/parcats.js\"(Z,G){\"use strict\";G.exports=fV()}}),im=Ge({\"src/plots/mapbox/constants.js\"(Z,G){\"use strict\";var d=Jm(),_=\"1.13.4\",A='\\xA9
OpenStreetMap contributors',E=['\\xA9 Carto',A].join(\" \"),e=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),t=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),r={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution: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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:E,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:E,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:e,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:e,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:t,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"}},o=d(r);G.exports={requiredVersion:_,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:r,styleValuesNonMapbox:o,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install @plotly/mapbox-gl@\"+_+\".\"].join(`\n`),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(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:\",o.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')`}}}}),Ex=Ge({\"src/plots/mapbox/layout_attributes.js\"(Z,G){\"use strict\";var d=sa(),_=$n().defaultLine,A=wc().attributes,E=tc(),e=af().textposition,t=pc().overrideAll,r=zl().templatedArray,o=im(),a=E({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});a.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var n=G.exports=t({_arrayAttrRegexps:[d.counterRegex(\"mapbox\",\".layers\",!0)],domain:A({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:o.styleValuesMapbox.concat(o.styleValuesNonMapbox),dflt:o.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},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:r(\"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:_},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:_}},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:a,textposition:d.extendFlat({},e,{arrayOk:!1})}})},\"plot\",\"from-root\");n.uirevision={valType:\"any\",editType:\"none\"}}}),AT=Ge({\"src/traces/scattermapbox/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:d,texttemplateAttrs:_,templatefallbackAttrs:A}=$l(),E=$d(),e=vg(),t=af(),r=Ex(),o=au(),a=ku(),n=rs().extendFlat,i=pc().overrideAll,s=Ex(),h=e.line,f=e.marker;G.exports=i({lon:e.lon,lat:e.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:n({},s.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:n({},f.opacity,{dflt:1})},mode:n({},t.mode,{dflt:\"markers\"}),text:n({},t.text,{}),texttemplate:_({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),texttemplatefallback:A({editType:\"plot\"}),hovertext:n({},t.hovertext,{}),line:{color:h.color,width:h.width},connectgaps:t.connectgaps,marker:n({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode},a(\"marker\")),fill:e.fill,fillcolor:E(),textfont:r.layers.symbol.textfont,textposition:r.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:t.selected.marker},unselected:{marker:t.unselected.marker},hoverinfo:n({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:d(),hovertemplatefallback:A()},\"calc\",\"nested\")}}),S6=Ge({\"src/traces/scattermapbox/constants.js\"(Z,G){\"use strict\";var d=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];G.exports={isSupportedFont:function(_){return d.indexOf(_)!==-1}}}}),pV=Ge({\"src/traces/scattermapbox/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Fu(),A=md(),E=Dd(),e=zd(),t=ev(),r=AT(),o=S6().isSupportedFont;G.exports=function(i,s,h,f){function v(g,y){return d.coerce(i,s,r,g,y)}function c(g,y){return d.coerce2(i,s,r,g,y)}var T=a(i,s,v);if(!T){s.visible=!1;return}if(v(\"text\"),v(\"texttemplate\"),v(\"texttemplatefallback\"),v(\"hovertext\"),v(\"hovertemplate\"),v(\"hovertemplatefallback\"),v(\"mode\"),v(\"below\"),_.hasMarkers(s)){A(i,s,h,f,v,{noLine:!0,noAngle:!0}),v(\"marker.allowoverlap\"),v(\"marker.angle\");var l=s.marker;l.symbol!==\"circle\"&&(d.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),d.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}_.hasLines(s)&&(E(i,s,h,f,v,{noDash:!0}),v(\"connectgaps\"));var x=c(\"cluster.maxzoom\"),w=c(\"cluster.step\"),S=c(\"cluster.color\",s.marker&&s.marker.color||h),M=c(\"cluster.size\"),m=c(\"cluster.opacity\"),b=x!==!1||w!==!1||S!==!1||M!==!1||m!==!1,p=v(\"cluster.enabled\",b);if(p||_.hasText(s)){var u=f.font.family;e(i,s,f,v,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:o(u)?u:\"Open Sans Regular\",weight:f.font.weight,style:f.font.style,size:f.font.size,color:f.font.color}})}v(\"fill\"),s.fill!==\"none\"&&t(i,s,h,v),d.coerceSelectionMarkerOpacity(s,v)};function a(n,i,s){var h=s(\"lon\")||[],f=s(\"lat\")||[],v=Math.min(h.length,f.length);return i._length=v,v}}}),M6=Ge({\"src/traces/scattermapbox/format_labels.js\"(Z,G){\"use strict\";var d=Wo();G.exports=function(A,E,e){var t={},r=e[E.subplot]._subplot,o=r.mockAxis,a=A.lonlat;return t.lonLabel=d.tickText(o,o.c2l(a[0]),!0).text,t.latLabel=d.tickText(o,o.c2l(a[1]),!0).text,t}}}),E6=Ge({\"src/plots/mapbox/convert_text_opts.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E){var e=A.split(\" \"),t=e[0],r=e[1],o=d.isArrayOrTypedArray(E)?d.mean(E):E,a=.5+o/100,n=1.5+o/100,i=[\"\",\"\"],s=[0,0];switch(t){case\"top\":i[0]=\"top\",s[1]=-n;break;case\"bottom\":i[0]=\"bottom\",s[1]=n;break}switch(r){case\"left\":i[1]=\"right\",s[0]=-a;break;case\"right\":i[1]=\"left\",s[0]=a;break}var h;return i[0]&&i[1]?h=i.join(\"-\"):i[0]?h=i[0]:i[1]?h=i[1]:h=\"center\",{anchor:h,offset:s}}}}),dV=Ge({\"src/traces/scattermapbox/convert.js\"(Z,G){\"use strict\";var d=ns(),_=sa(),A=Gs().BADNUM,E=m0(),e=rc(),t=as(),r=r1(),o=Fu(),a=S6().isSupportedFont,n=E6(),i=$p().appendArrayPointValue,s=su().NEWLINES,h=su().BR_TAG_ALL;G.exports=function(m,b){var p=b[0].trace,u=p.visible===!0&&p._length!==0,g=p.fill!==\"none\",y=o.hasLines(p),D=o.hasMarkers(p),L=o.hasText(p),z=D&&p.marker.symbol===\"circle\",F=D&&p.marker.symbol!==\"circle\",B=p.cluster&&p.cluster.enabled,O=f(\"fill\"),P=f(\"line\"),U=f(\"circle\"),N=f(\"symbol\"),X={fill:O,line:P,circle:U,symbol:N};if(!u)return X;var $;if((g||y)&&($=E.calcTraceToLineCoords(b)),g&&(O.geojson=E.makePolygon($),O.layout.visibility=\"visible\",_.extendFlat(O.paint,{\"fill-color\":p.fillcolor})),y&&(P.geojson=E.makeLine($),P.layout.visibility=\"visible\",_.extendFlat(P.paint,{\"line-width\":p.line.width,\"line-color\":p.line.color,\"line-opacity\":p.opacity})),z){var ue=v(b);U.geojson=ue.geojson,U.layout.visibility=\"visible\",B&&(U.filter=[\"!\",[\"has\",\"point_count\"]],X.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":w(p.cluster.color,p.cluster.step),\"circle-radius\":w(p.cluster.size,p.cluster.step),\"circle-opacity\":w(p.cluster.opacity,p.cluster.step)}},X.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":S(p),\"text-size\":12}}),_.extendFlat(U.paint,{\"circle-color\":ue.mcc,\"circle-radius\":ue.mrc,\"circle-opacity\":ue.mo})}if(z&&B&&(U.filter=[\"!\",[\"has\",\"point_count\"]]),(F||L)&&(N.geojson=c(b,m),_.extendFlat(N.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),F&&(_.extendFlat(N.layout,{\"icon-size\":p.marker.size/10}),\"angle\"in p.marker&&p.marker.angle!==\"auto\"&&_.extendFlat(N.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),N.layout[\"icon-allow-overlap\"]=p.marker.allowoverlap,_.extendFlat(N.paint,{\"icon-opacity\":p.opacity*p.marker.opacity,\"icon-color\":p.marker.color})),L)){var ce=(p.marker||{}).size,de=n(p.textposition,ce);_.extendFlat(N.layout,{\"text-size\":p.textfont.size,\"text-anchor\":de.anchor,\"text-offset\":de.offset,\"text-font\":S(p)}),_.extendFlat(N.paint,{\"text-color\":p.textfont.color,\"text-opacity\":p.opacity})}return X};function f(M){return{type:M,geojson:E.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function v(M){var m=M[0].trace,b=m.marker,p=m.selectedpoints,u=_.isArrayOrTypedArray(b.color),g=_.isArrayOrTypedArray(b.size),y=_.isArrayOrTypedArray(b.opacity),D;function L(ce){return m.opacity*ce}function z(ce){return ce/2}var F;u&&(e.hasColorscale(m,\"marker\")?F=e.makeColorScaleFuncFromTrace(b):F=_.identity);var B;g&&(B=r(m));var O;y&&(O=function(ce){var de=d(ce)?+_.constrain(ce,0,1):0;return L(de)});var P=[];for(D=0;D850?D+=\" Black\":u>750?D+=\" Extra Bold\":u>650?D+=\" Bold\":u>550?D+=\" Semi Bold\":u>450?D+=\" Medium\":u>350?D+=\" Regular\":u>250?D+=\" Light\":u>150?D+=\" Extra Light\":D+=\" Thin\"):g.slice(0,2).join(\" \")===\"Open Sans\"?(D=\"Open Sans\",u>750?D+=\" Extrabold\":u>650?D+=\" Bold\":u>550?D+=\" Semibold\":u>350?D+=\" Regular\":D+=\" Light\"):g.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(D=\"Klokantech Noto Sans\",g[3]===\"CJK\"&&(D+=\" CJK\"),D+=u>500?\" Bold\":\" Regular\")),y&&(D+=\" Italic\"),D===\"Open Sans Regular Italic\"?D=\"Open Sans Italic\":D===\"Open Sans Regular Bold\"?D=\"Open Sans Bold\":D===\"Open Sans Regular Bold Italic\"?D=\"Open Sans Bold Italic\":D===\"Klokantech Noto Sans Regular Italic\"&&(D=\"Klokantech Noto Sans Italic\"),a(D)||(D=b);var L=D.split(\", \");return L}}}),vV=Ge({\"src/traces/scattermapbox/plot.js\"(Z,G){\"use strict\";var d=sa(),_=dV(),A=im().traceLayerPrefix,E={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function e(r,o,a,n){this.type=\"scattermapbox\",this.subplot=r,this.uid=o,this.clusterEnabled=a,this.isHidden=n,this.sourceIds={fill:\"source-\"+o+\"-fill\",line:\"source-\"+o+\"-line\",circle:\"source-\"+o+\"-circle\",symbol:\"source-\"+o+\"-symbol\",cluster:\"source-\"+o+\"-circle\",clusterCount:\"source-\"+o+\"-circle\"},this.layerIds={fill:A+o+\"-fill\",line:A+o+\"-line\",circle:A+o+\"-circle\",symbol:A+o+\"-symbol\",cluster:A+o+\"-cluster\",clusterCount:A+o+\"-cluster-count\"},this.below=null}var t=e.prototype;t.addSource=function(r,o,a){var n={type:\"geojson\",data:o.geojson};a&&a.enabled&&d.extendFlat(n,{cluster:!0,clusterMaxZoom:a.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[r]);i?i.setData(o.geojson):this.subplot.map.addSource(this.sourceIds[r],n)},t.setSourceData=function(r,o){this.subplot.map.getSource(this.sourceIds[r]).setData(o.geojson)},t.addLayer=function(r,o,a){var n={type:o.type,id:this.layerIds[r],source:this.sourceIds[r],layout:o.layout,paint:o.paint};o.filter&&(n.filter=o.filter);for(var i=this.layerIds[r],s,h=this.subplot.getMapLayers(),f=0;f=0;y--){var D=g[y];i.removeLayer(c.layerIds[D])}u||i.removeSource(c.sourceIds.circle)}function x(u){for(var g=E.nonCluster,y=0;y=0;y--){var D=g[y];i.removeLayer(c.layerIds[D]),u||i.removeSource(c.sourceIds[D])}}function S(u){v?l(u):w(u)}function M(u){f?T(u):x(u)}function m(){for(var u=f?E.cluster:E.nonCluster,g=0;g=0;n--){var i=a[n];o.removeLayer(this.layerIds[i]),o.removeSource(this.sourceIds[i])}},G.exports=function(o,a){var n=a[0].trace,i=n.cluster&&n.cluster.enabled,s=n.visible!==!0,h=new e(o,n.uid,i,s),f=_(o.gd,a),v=h.below=o.belowLookup[\"trace-\"+n.uid],c,T,l;if(i)for(h.addSource(\"circle\",f.circle,n.cluster),c=0;c=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),M=S*360,m=n-M;function b(B){var O=B.lonlat;if(O[0]===e||x&&T.indexOf(B.i+1)===-1)return 1/0;var P=_.modHalf(O[0],360),U=O[1],N=c.project([P,U]),X=N.x-f.c2p([m,U]),$=N.y-v.c2p([P,i]),ue=Math.max(3,B.mrc||0);return Math.max(Math.sqrt(X*X+$*$)-ue,1-3/ue)}if(d.getClosest(s,b,a),a.index!==!1){var p=s[a.index],u=p.lonlat,g=[_.modHalf(u[0],360)+M,u[1]],y=f.c2p(g),D=v.c2p(g),L=p.mrc||1;a.x0=y-L,a.x1=y+L,a.y0=D-L,a.y1=D+L;var z={};z[h.subplot]={_subplot:c};var F=h._module.formatLabels(p,h,z);return a.lonLabel=F.lonLabel,a.latLabel=F.latLabel,a.color=A(h,p),a.extraText=o(h,p,s[0].t.labels),a.hovertemplate=h.hovertemplate,[a]}}function o(a,n,i){if(a.hovertemplate)return;var s=n.hi||a.hoverinfo,h=s.split(\"+\"),f=h.indexOf(\"all\")!==-1,v=h.indexOf(\"lon\")!==-1,c=h.indexOf(\"lat\")!==-1,T=n.lonlat,l=[];function x(w){return w+\"\\xB0\"}return f||v&&c?l.push(\"(\"+x(T[1])+\", \"+x(T[0])+\")\"):v?l.push(i.lon+x(T[0])):c&&l.push(i.lat+x(T[1])),(f||h.indexOf(\"text\")!==-1)&&E(n,a,l),l.join(\"
\")}G.exports={hoverPoints:r,getExtraText:o}}}),mV=Ge({\"src/traces/scattermapbox/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A){return _.lon=A.lon,_.lat=A.lat,_}}}),gV=Ge({\"src/traces/scattermapbox/select.js\"(Z,G){\"use strict\";var d=sa(),_=Fu(),A=Gs().BADNUM;G.exports=function(e,t){var r=e.cd,o=e.xaxis,a=e.yaxis,n=[],i=r[0].trace,s;if(!_.hasMarkers(i))return[];if(t===!1)for(s=0;s\"u\"&&(C=1e-6);var H,oe,be,Pe,Ne;for(be=k,Ne=0;Ne<8;Ne++){if(Pe=this.sampleCurveX(be)-k,Math.abs(Pe)oe)return oe;for(;HPe?H=be:oe=be,be=(oe-H)*.5+H}return be},a.prototype.solve=function(k,C){return this.sampleCurveY(this.solveCurveX(k,C))};var n=i;function i(k,C){this.x=k,this.y=C}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(k){return this.clone()._add(k)},sub:function(k){return this.clone()._sub(k)},multByPoint:function(k){return this.clone()._multByPoint(k)},divByPoint:function(k){return this.clone()._divByPoint(k)},mult:function(k){return this.clone()._mult(k)},div:function(k){return this.clone()._div(k)},rotate:function(k){return this.clone()._rotate(k)},rotateAround:function(k,C){return this.clone()._rotateAround(k,C)},matMult:function(k){return this.clone()._matMult(k)},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(k){return this.x===k.x&&this.y===k.y},dist:function(k){return Math.sqrt(this.distSqr(k))},distSqr:function(k){var C=k.x-this.x,H=k.y-this.y;return C*C+H*H},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(k){return Math.atan2(this.y-k.y,this.x-k.x)},angleWith:function(k){return this.angleWithSep(k.x,k.y)},angleWithSep:function(k,C){return Math.atan2(this.x*C-this.y*k,this.x*k+this.y*C)},_matMult:function(k){var C=k[0]*this.x+k[1]*this.y,H=k[2]*this.x+k[3]*this.y;return this.x=C,this.y=H,this},_add:function(k){return this.x+=k.x,this.y+=k.y,this},_sub:function(k){return this.x-=k.x,this.y-=k.y,this},_mult:function(k){return this.x*=k,this.y*=k,this},_div:function(k){return this.x/=k,this.y/=k,this},_multByPoint:function(k){return this.x*=k.x,this.y*=k.y,this},_divByPoint:function(k){return this.x/=k.x,this.y/=k.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var k=this.y;return this.y=this.x,this.x=-k,this},_rotate:function(k){var C=Math.cos(k),H=Math.sin(k),oe=C*this.x-H*this.y,be=H*this.x+C*this.y;return this.x=oe,this.y=be,this},_rotateAround:function(k,C){var H=Math.cos(k),oe=Math.sin(k),be=C.x+H*(this.x-C.x)-oe*(this.y-C.y),Pe=C.y+oe*(this.x-C.x)+H*(this.y-C.y);return this.x=be,this.y=Pe,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(k){return k instanceof i?k:Array.isArray(k)?new i(k[0],k[1]):k};var s=typeof self<\"u\"?self:{};function h(k,C){if(Array.isArray(k)){if(!Array.isArray(C)||k.length!==C.length)return!1;for(var H=0;H=1)return 1;var C=k*k,H=C*k;return 4*(k<.5?H:3*(k-C)+H-.75)}function c(k,C,H,oe){var be=new o(k,C,H,oe);return function(Pe){return be.solve(Pe)}}var T=c(.25,.1,.25,1);function l(k,C,H){return Math.min(H,Math.max(C,k))}function x(k,C,H){var oe=H-C,be=((k-C)%oe+oe)%oe+C;return be===C?H:be}function w(k,C,H){if(!k.length)return H(null,[]);var oe=k.length,be=new Array(k.length),Pe=null;k.forEach(function(Ne,ft){C(Ne,function(It,Ht){It&&(Pe=It),be[ft]=Ht,--oe===0&&H(Pe,be)})})}function S(k){var C=[];for(var H in k)C.push(k[H]);return C}function M(k,C){var H=[];for(var oe in k)oe in C||H.push(oe);return H}function m(k){for(var C=[],H=arguments.length-1;H-- >0;)C[H]=arguments[H+1];for(var oe=0,be=C;oe>C/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,k)}return k()}function y(k){return k<=1?1:Math.pow(2,Math.ceil(Math.log(k)/Math.LN2))}function D(k){return k?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(k):!1}function L(k,C){k.forEach(function(H){C[H]&&(C[H]=C[H].bind(C))})}function z(k,C){return k.indexOf(C,k.length-C.length)!==-1}function F(k,C,H){var oe={};for(var be in k)oe[be]=C.call(H||this,k[be],be,k);return oe}function B(k,C,H){var oe={};for(var be in k)C.call(H||this,k[be],be,k)&&(oe[be]=k[be]);return oe}function O(k){return Array.isArray(k)?k.map(O):typeof k==\"object\"&&k?F(k,O):k}function P(k,C){for(var H=0;H=0)return!0;return!1}var U={};function N(k){U[k]||(typeof console<\"u\"&&console.warn(k),U[k]=!0)}function X(k,C,H){return(H.y-k.y)*(C.x-k.x)>(C.y-k.y)*(H.x-k.x)}function $(k){for(var C=0,H=0,oe=k.length,be=oe-1,Pe=void 0,Ne=void 0;H@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,H={};if(k.replace(C,function(be,Pe,Ne,ft){var It=Ne||ft;return H[Pe]=It?It.toLowerCase():!0,\"\"}),H[\"max-age\"]){var oe=parseInt(H[\"max-age\"],10);isNaN(oe)?delete H[\"max-age\"]:H[\"max-age\"]=oe}return H}var V=null;function Y(k){if(V==null){var C=k.navigator?k.navigator.userAgent:null;V=!!k.safari||!!(C&&(/\\b(iPad|iPhone|iPod)\\b/.test(C)||C.match(\"Safari\")&&!C.match(\"Chrome\")))}return V}function ee(k){try{var C=s[k];return C.setItem(\"_mapbox_test_\",1),C.removeItem(\"_mapbox_test_\"),!0}catch{return!1}}function q(k){return s.btoa(encodeURIComponent(k).replace(/%([0-9A-F]{2})/g,function(C,H){return String.fromCharCode(+(\"0x\"+H))}))}function se(k){return decodeURIComponent(s.atob(k).split(\"\").map(function(C){return\"%\"+(\"00\"+C.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var ae=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),j=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,Q=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,re,pe,we={now:ae,frame:function(C){var H=j(C);return{cancel:function(){return Q(H)}}},getImageData:function(C,H){H===void 0&&(H=0);var oe=s.document.createElement(\"canvas\"),be=oe.getContext(\"2d\");if(!be)throw new Error(\"failed to create canvas 2d context\");return oe.width=C.width,oe.height=C.height,be.drawImage(C,0,0,C.width,C.height),be.getImageData(-H,-H,C.width+2*H,C.height+2*H)},resolveURL:function(C){return re||(re=s.document.createElement(\"a\")),re.href=C,re.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return s.matchMedia?(pe==null&&(pe=s.matchMedia(\"(prefers-reduced-motion: reduce)\")),pe.matches):!1}},Se={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},Ie={supported:!1,testSupport:tt},Re,He=!1,at,nt=!1;s.document&&(at=s.document.createElement(\"img\"),at.onload=function(){Re&&Ue(Re),Re=null,nt=!0},at.onerror=function(){He=!0,Re=null},at.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function tt(k){He||!at||(nt?Ue(k):Re=k)}function Ue(k){var C=k.createTexture();k.bindTexture(k.TEXTURE_2D,C);try{if(k.texImage2D(k.TEXTURE_2D,0,k.RGBA,k.RGBA,k.UNSIGNED_BYTE,at),k.isContextLost())return;Ie.supported=!0}catch{}k.deleteTexture(C),He=!0}var he=\"01\";function le(){for(var k=\"1\",C=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",H=\"\",oe=0;oe<10;oe++)H+=C[Math.floor(Math.random()*62)];var be=12*60*60*1e3,Pe=[k,he,H].join(\"\"),Ne=Date.now()+be;return{token:Pe,tokenExpiresAt:Ne}}var ne=function(C,H){this._transformRequestFn=C,this._customAccessToken=H,this._createSkuToken()};ne.prototype._createSkuToken=function(){var C=le();this._skuToken=C.token,this._skuTokenExpiresAt=C.tokenExpiresAt},ne.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},ne.prototype.transformRequest=function(C,H){return this._transformRequestFn?this._transformRequestFn(C,H)||{url:C}:{url:C}},ne.prototype.normalizeStyleURL=function(C,H){if(!Ce(C))return C;var oe=qt(C);return oe.path=\"/styles/v1\"+oe.path,this._makeAPIURL(oe,this._customAccessToken||H)},ne.prototype.normalizeGlyphsURL=function(C,H){if(!Ce(C))return C;var oe=qt(C);return oe.path=\"/fonts/v1\"+oe.path,this._makeAPIURL(oe,this._customAccessToken||H)},ne.prototype.normalizeSourceURL=function(C,H){if(!Ce(C))return C;var oe=qt(C);return oe.path=\"/v4/\"+oe.authority+\".json\",oe.params.push(\"secure\"),this._makeAPIURL(oe,this._customAccessToken||H)},ne.prototype.normalizeSpriteURL=function(C,H,oe,be){var Pe=qt(C);return Ce(C)?(Pe.path=\"/styles/v1\"+Pe.path+\"/sprite\"+H+oe,this._makeAPIURL(Pe,this._customAccessToken||be)):(Pe.path+=\"\"+H+oe,Gt(Pe))},ne.prototype.normalizeTileURL=function(C,H){if(this._isSkuTokenExpired()&&this._createSkuToken(),C&&!Ce(C))return C;var oe=qt(C),be=/(\\.(png|jpg)\\d*)(?=$)/,Pe=/^.+\\/v4\\//,Ne=we.devicePixelRatio>=2||H===512?\"@2x\":\"\",ft=Ie.supported?\".webp\":\"$1\";oe.path=oe.path.replace(be,\"\"+Ne+ft),oe.path=oe.path.replace(Pe,\"/\"),oe.path=\"/v4\"+oe.path;var It=this._customAccessToken||St(oe.params)||Se.ACCESS_TOKEN;return Se.REQUIRE_ACCESS_TOKEN&&It&&this._skuToken&&oe.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(oe,It)},ne.prototype.canonicalizeTileURL=function(C,H){var oe=\"/v4/\",be=/\\.[\\w]+$/,Pe=qt(C);if(!Pe.path.match(/(^\\/v4\\/)/)||!Pe.path.match(be))return C;var Ne=\"mapbox://tiles/\";Ne+=Pe.path.replace(oe,\"\");var ft=Pe.params;return H&&(ft=ft.filter(function(It){return!It.match(/^access_token=/)})),ft.length&&(Ne+=\"?\"+ft.join(\"&\")),Ne},ne.prototype.canonicalizeTileset=function(C,H){for(var oe=H?Ce(H):!1,be=[],Pe=0,Ne=C.tiles||[];Pe=0&&C.params.splice(Pe,1)}if(be.path!==\"/\"&&(C.path=\"\"+be.path+C.path),!Se.REQUIRE_ACCESS_TOKEN)return Gt(C);if(H=H||Se.ACCESS_TOKEN,!H)throw new Error(\"An API access token is required to use Mapbox GL. \"+oe);if(H[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+oe);return C.params=C.params.filter(function(Ne){return Ne.indexOf(\"access_token\")===-1}),C.params.push(\"access_token=\"+H),Gt(C)};function Ce(k){return k.indexOf(\"mapbox:\")===0}var Ze=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function rt(k){return Ze.test(k)}function Ye(k){return k.indexOf(\"sku=\")>0&&rt(k)}function St(k){for(var C=0,H=k;C=1&&s.localStorage.setItem(H,JSON.stringify(this.eventData))}catch{N(\"Unable to write to LocalStorage\")}},qr.prototype.processRequests=function(C){},qr.prototype.postEvent=function(C,H,oe,be){var Pe=this;if(Se.EVENTS_URL){var Ne=qt(Se.EVENTS_URL);Ne.params.push(\"access_token=\"+(be||Se.ACCESS_TOKEN||\"\"));var ft={event:this.type,created:new Date(C).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:r,skuId:he,userId:this.anonId},It=H?m(ft,H):ft,Ht={url:Gt(Ne),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([It])};this.pendingRequest=ca(Ht,function(er){Pe.pendingRequest=null,oe(er),Pe.saveEventData(),Pe.processRequests(be)})}},qr.prototype.queueRequest=function(C,H){this.queue.push(C),this.processRequests(H)};var Er=function(k){function C(){k.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.postMapLoadEvent=function(oe,be,Pe,Ne){this.skuToken=Pe,(Se.EVENTS_URL&&Ne||Se.ACCESS_TOKEN&&Array.isArray(oe)&&oe.some(function(ft){return Ce(ft)||rt(ft)}))&&this.queueRequest({id:be,timestamp:Date.now()},Ne)},C.prototype.processRequests=function(oe){var be=this;if(!(this.pendingRequest||this.queue.length===0)){var Pe=this.queue.shift(),Ne=Pe.id,ft=Pe.timestamp;Ne&&this.success[Ne]||(this.anonId||this.fetchEventData(),D(this.anonId)||(this.anonId=g()),this.postEvent(ft,{skuToken:this.skuToken},function(It){It||Ne&&(be.success[Ne]=!0)},oe))}},C}(qr),Dr=function(k){function C(H){k.call(this,\"appUserTurnstile\"),this._customAccessToken=H}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.postTurnstileEvent=function(oe,be){Se.EVENTS_URL&&Se.ACCESS_TOKEN&&Array.isArray(oe)&&oe.some(function(Pe){return Ce(Pe)||rt(Pe)})&&this.queueRequest(Date.now(),be)},C.prototype.processRequests=function(oe){var be=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var Pe=mr(Se.ACCESS_TOKEN),Ne=Pe?Pe.u:Se.ACCESS_TOKEN,ft=Ne!==this.eventData.tokenU;D(this.anonId)||(this.anonId=g(),ft=!0);var It=this.queue.shift();if(this.eventData.lastSuccess){var Ht=new Date(this.eventData.lastSuccess),er=new Date(It),Lr=(It-this.eventData.lastSuccess)/(24*60*60*1e3);ft=ft||Lr>=1||Lr<-1||Ht.getDate()!==er.getDate()}else ft=!0;if(!ft)return this.processRequests();this.postEvent(It,{\"enabled.telemetry\":!1},function(Zr){Zr||(be.eventData.lastSuccess=It,be.eventData.tokenU=Ne)},oe)}},C}(qr),xt=new Dr,Oe=xt.postTurnstileEvent.bind(xt),Ke=new Er,Ae=Ke.postMapLoadEvent.bind(Ke),Le=\"mapbox-tiles\",We=500,Je=50,st=1e3*60*7,ot;function Ut(){s.caches&&!ot&&(ot=s.caches.open(Le))}var Ct;function Pt(k,C){if(Ct===void 0)try{new Response(new ReadableStream),Ct=!0}catch{Ct=!1}Ct?C(k.body):k.blob().then(C)}function Nt(k,C,H){if(Ut(),!!ot){var oe={status:C.status,statusText:C.statusText,headers:new s.Headers};C.headers.forEach(function(Ne,ft){return oe.headers.set(ft,Ne)});var be=de(C.headers.get(\"Cache-Control\")||\"\");if(!be[\"no-store\"]){be[\"max-age\"]&&oe.headers.set(\"Expires\",new Date(H+be[\"max-age\"]*1e3).toUTCString());var Pe=new Date(oe.headers.get(\"Expires\")).getTime()-H;PeDate.now()&&!H[\"no-cache\"]}var Pr=1/0;function _a(k){Pr++,Pr>Je&&(k.getActor().send(\"enforceCacheSizeLimit\",We),Pr=0)}function Fa(k){Ut(),ot&&ot.then(function(C){C.keys().then(function(H){for(var oe=0;oe=200&&H.status<300||H.status===0)&&H.response!==null){var be=H.response;if(k.type===\"json\")try{be=JSON.parse(H.response)}catch(Pe){return C(Pe)}C(null,be,H.getResponseHeader(\"Cache-Control\"),H.getResponseHeader(\"Expires\"))}else C(new wi(H.statusText,H.status,k.url))},H.send(k.body),{cancel:function(){return H.abort()}}}var Or=function(k,C){if(!Rt(k.url)){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty(\"signal\"))return Zt(k,C);if(ce()&&self.worker&&self.worker.actor){var H=!0;return self.worker.actor.send(\"getResource\",k,C,void 0,H)}}return Jt(k,C)},ta=function(k,C){return Or(m(k,{type:\"json\"}),C)},ra=function(k,C){return Or(m(k,{type:\"arrayBuffer\"}),C)},ca=function(k,C){return Or(m(k,{method:\"POST\"}),C)};function Ba(k){var C=s.document.createElement(\"a\");return C.href=k,C.protocol===s.document.location.protocol&&C.host===s.document.location.host}var $a=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Za(k,C,H,oe){var be=new s.Image,Pe=s.URL;be.onload=function(){C(null,be),Pe.revokeObjectURL(be.src),be.onload=null,s.requestAnimationFrame(function(){be.src=$a})},be.onerror=function(){return C(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 Ne=new s.Blob([new Uint8Array(k)],{type:\"image/png\"});be.cacheControl=H,be.expires=oe,be.src=k.byteLength?Pe.createObjectURL(Ne):$a}function ri(k,C){var H=new s.Blob([new Uint8Array(k)],{type:\"image/png\"});s.createImageBitmap(H).then(function(oe){C(null,oe)}).catch(function(oe){C(new Error(\"Could not load image because of \"+oe.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var pi,Ia,rn=function(){pi=[],Ia=0};rn();var tn=function(k,C){if(Ie.supported&&(k.headers||(k.headers={}),k.headers.accept=\"image/webp,*/*\"),Ia>=Se.MAX_PARALLEL_IMAGE_REQUESTS){var H={requestParameters:k,callback:C,cancelled:!1,cancel:function(){this.cancelled=!0}};return pi.push(H),H}Ia++;var oe=!1,be=function(){if(!oe)for(oe=!0,Ia--;pi.length&&Ia0||this._oneTimeListeners&&this._oneTimeListeners[C]&&this._oneTimeListeners[C].length>0||this._eventedParent&&this._eventedParent.listens(C)},wr.prototype.setEventedParent=function(C,H){return this._eventedParent=C,this._eventedParentData=H,this};var Rr=8,Ur={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\"}},Hr={\"*\":{type:\"source\"}},gt=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],Kt={type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},vr={type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},Ir={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\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},va={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},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},Pa={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\"}}},ga={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\"}}},la={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\"}},ba=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],Ai={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},ki={\"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\"}},Ki={\"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\"}},Mn={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},wn={\"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\"}},On={\"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:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"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\"}],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\"}},En={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},ao={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Co={type:\"array\",value:\"*\"},bo={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},zs={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},kn={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},wo={type:\"array\",value:\"*\",minimum:1},Kn={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}},go=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],os={\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},gs={\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},jo={\"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\"}},Zn={\"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\"}},Gn={\"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\"}},Hn={\"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\"}},ss={\"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\"}},ys={\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},Rs={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},Ko={\"*\":{type:\"string\"}},Gi={$version:Rr,$root:Ur,sources:Hr,source:gt,source_vector:Kt,source_raster:vr,source_raster_dem:Ir,source_geojson:va,source_video:Pa,source_image:ga,layer:la,layout:ba,layout_background:Ai,layout_fill:ki,layout_circle:Ki,layout_heatmap:Mn,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:wn,layout_symbol:On,layout_raster:En,layout_hillshade:ao,filter:Co,filter_operator:bo,geometry_type:zs,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:kn,expression:wo,light:Kn,paint:go,paint_fill:os,\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:gs,paint_circle:jo,paint_heatmap:Zn,paint_symbol:Gn,paint_raster:Hn,paint_hillshade:ss,paint_background:ys,transition:Rs,\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:Ko},Pn=function(C,H,oe,be){this.message=(C?C+\": \":\"\")+oe,be&&(this.identifier=be),H!=null&&H.__line__&&(this.line=H.__line__)};function qs(k){var C=k.key,H=k.value;return H?[new Pn(C,H,\"constants have been deprecated as of v8\")]:[]}function xs(k){for(var C=[],H=arguments.length-1;H-- >0;)C[H]=arguments[H+1];for(var oe=0,be=C;oe\":k.itemType.kind===\"value\"?\"array\":\"array<\"+C+\">\"}else return k.kind}var Ul=[il,yn,Po,To,Ws,ws,Ll,Jo(uo),Cs];function lu(k,C){if(C.kind===\"error\")return null;if(k.kind===\"array\"){if(C.kind===\"array\"&&(C.N===0&&C.itemType.kind===\"value\"||!lu(k.itemType,C.itemType))&&(typeof k.N!=\"number\"||k.N===C.N))return null}else{if(k.kind===C.kind)return null;if(k.kind===\"value\")for(var H=0,oe=Ul;H255?255:Ht}function be(Ht){return Ht<0?0:Ht>1?1:Ht}function Pe(Ht){return Ht[Ht.length-1]===\"%\"?oe(parseFloat(Ht)/100*255):oe(parseInt(Ht))}function Ne(Ht){return Ht[Ht.length-1]===\"%\"?be(parseFloat(Ht)/100):be(parseFloat(Ht))}function ft(Ht,er,Lr){return Lr<0?Lr+=1:Lr>1&&(Lr-=1),Lr*6<1?Ht+(er-Ht)*Lr*6:Lr*2<1?er:Lr*3<2?Ht+(er-Ht)*(2/3-Lr)*6:Ht}function It(Ht){var er=Ht.replace(/ /g,\"\").toLowerCase();if(er in H)return H[er].slice();if(er[0]===\"#\"){if(er.length===4){var Lr=parseInt(er.substr(1),16);return Lr>=0&&Lr<=4095?[(Lr&3840)>>4|(Lr&3840)>>8,Lr&240|(Lr&240)>>4,Lr&15|(Lr&15)<<4,1]:null}else if(er.length===7){var Lr=parseInt(er.substr(1),16);return Lr>=0&&Lr<=16777215?[(Lr&16711680)>>16,(Lr&65280)>>8,Lr&255,1]:null}return null}var Zr=er.indexOf(\"(\"),Vr=er.indexOf(\")\");if(Zr!==-1&&Vr+1===er.length){var ua=er.substr(0,Zr),Oa=er.substr(Zr+1,Vr-(Zr+1)).split(\",\"),Mi=1;switch(ua){case\"rgba\":if(Oa.length!==4)return null;Mi=Ne(Oa.pop());case\"rgb\":return Oa.length!==3?null:[Pe(Oa[0]),Pe(Oa[1]),Pe(Oa[2]),Mi];case\"hsla\":if(Oa.length!==4)return null;Mi=Ne(Oa.pop());case\"hsl\":if(Oa.length!==3)return null;var ii=(parseFloat(Oa[0])%360+360)%360/360,$i=Ne(Oa[1]),Oi=Ne(Oa[2]),Ji=Oi<=.5?Oi*($i+1):Oi+$i-Oi*$i,ln=Oi*2-Ji;return[oe(ft(ln,Ji,ii+1/3)*255),oe(ft(ln,Ji,ii)*255),oe(ft(ln,Ji,ii-1/3)*255),Mi];default:return null}}return null}try{C.parseCSSColor=It}catch{}}),Uc=Sf.parseCSSColor,Bs=function(C,H,oe,be){be===void 0&&(be=1),this.r=C,this.g=H,this.b=oe,this.a=be};Bs.parse=function(C){if(C){if(C instanceof Bs)return C;if(typeof C==\"string\"){var H=Uc(C);if(H)return new Bs(H[0]/255*H[3],H[1]/255*H[3],H[2]/255*H[3],H[3])}}},Bs.prototype.toString=function(){var C=this.toArray(),H=C[0],oe=C[1],be=C[2],Pe=C[3];return\"rgba(\"+Math.round(H)+\",\"+Math.round(oe)+\",\"+Math.round(be)+\",\"+Pe+\")\"},Bs.prototype.toArray=function(){var C=this,H=C.r,oe=C.g,be=C.b,Pe=C.a;return Pe===0?[0,0,0,0]:[H*255/Pe,oe*255/Pe,be*255/Pe,Pe]},Bs.black=new Bs(0,0,0,1),Bs.white=new Bs(1,1,1,1),Bs.transparent=new Bs(0,0,0,0),Bs.red=new Bs(1,0,0,1);var dc=function(C,H,oe){C?this.sensitivity=H?\"variant\":\"case\":this.sensitivity=H?\"accent\":\"base\",this.locale=oe,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};dc.prototype.compare=function(C,H){return this.collator.compare(C,H)},dc.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Wc=function(C,H,oe,be,Pe){this.text=C,this.image=H,this.scale=oe,this.fontStack=be,this.textColor=Pe},uu=function(C){this.sections=C};uu.fromString=function(C){return new uu([new Wc(C,null,null,null,null)])},uu.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(C){return C.text.length!==0||C.image&&C.image.name.length!==0})},uu.factory=function(C){return C instanceof uu?C:uu.fromString(C)},uu.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(C){return C.text}).join(\"\")},uu.prototype.serialize=function(){for(var C=[\"format\"],H=0,oe=this.sections;H=0&&k<=255&&typeof C==\"number\"&&C>=0&&C<=255&&typeof H==\"number\"&&H>=0&&H<=255)){var be=typeof oe==\"number\"?[k,C,H,oe]:[k,C,H];return\"Invalid rgba value [\"+be.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof oe>\"u\"||typeof oe==\"number\"&&oe>=0&&oe<=1?null:\"Invalid rgba value [\"+[k,C,H,oe].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Ou(k){if(k===null)return!0;if(typeof k==\"string\")return!0;if(typeof k==\"boolean\")return!0;if(typeof k==\"number\")return!0;if(k instanceof Bs)return!0;if(k instanceof dc)return!0;if(k instanceof uu)return!0;if(k instanceof Pl)return!0;if(Array.isArray(k)){for(var C=0,H=k;C2){var ft=C[1];if(typeof ft!=\"string\"||!(ft in nc)||ft===\"object\")return H.error('The item type argument of \"array\" must be one of string, number, boolean',1);Ne=nc[ft],oe++}else Ne=uo;var It;if(C.length>3){if(C[2]!==null&&(typeof C[2]!=\"number\"||C[2]<0||C[2]!==Math.floor(C[2])))return H.error('The length argument to \"array\" must be a positive integer literal',2);It=C[2],oe++}be=Jo(Ne,It)}else be=nc[Pe];for(var Ht=[];oe1)&&H.push(be)}}return H.concat(this.args.map(function(Pe){return Pe.serialize()}))};var qu=function(C){this.type=ws,this.sections=C};qu.parse=function(C,H){if(C.length<2)return H.error(\"Expected at least one argument.\");var oe=C[1];if(!Array.isArray(oe)&&typeof oe==\"object\")return H.error(\"First argument must be an image or text section.\");for(var be=[],Pe=!1,Ne=1;Ne<=C.length-1;++Ne){var ft=C[Ne];if(Pe&&typeof ft==\"object\"&&!Array.isArray(ft)){Pe=!1;var It=null;if(ft[\"font-scale\"]&&(It=H.parse(ft[\"font-scale\"],1,yn),!It))return null;var Ht=null;if(ft[\"text-font\"]&&(Ht=H.parse(ft[\"text-font\"],1,Jo(Po)),!Ht))return null;var er=null;if(ft[\"text-color\"]&&(er=H.parse(ft[\"text-color\"],1,Ws),!er))return null;var Lr=be[be.length-1];Lr.scale=It,Lr.font=Ht,Lr.textColor=er}else{var Zr=H.parse(C[Ne],1,uo);if(!Zr)return null;var Vr=Zr.type.kind;if(Vr!==\"string\"&&Vr!==\"value\"&&Vr!==\"null\"&&Vr!==\"resolvedImage\")return H.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");Pe=!0,be.push({content:Zr,scale:null,font:null,textColor:null})}}return new qu(be)},qu.prototype.evaluate=function(C){var H=function(oe){var be=oe.content.evaluate(C);return nl(be)===Cs?new Wc(\"\",be,null,null,null):new Wc(vl(be),null,oe.scale?oe.scale.evaluate(C):null,oe.font?oe.font.evaluate(C).join(\",\"):null,oe.textColor?oe.textColor.evaluate(C):null)};return new uu(this.sections.map(H))},qu.prototype.eachChild=function(C){for(var H=0,oe=this.sections;H-1),oe},fl.prototype.eachChild=function(C){C(this.input)},fl.prototype.outputDefined=function(){return!1},fl.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var xh={\"to-boolean\":To,\"to-color\":Ws,\"to-number\":yn,\"to-string\":Po},us=function(C,H){this.type=C,this.args=H};us.parse=function(C,H){if(C.length<2)return H.error(\"Expected at least one argument.\");var oe=C[0];if((oe===\"to-boolean\"||oe===\"to-string\")&&C.length!==2)return H.error(\"Expected one argument.\");for(var be=xh[oe],Pe=[],Ne=1;Ne4?oe=\"Invalid rbga value \"+JSON.stringify(H)+\": expected an array containing either three or four numeric values.\":oe=ic(H[0],H[1],H[2],H[3]),!oe))return new Bs(H[0]/255,H[1]/255,H[2]/255,H[3])}throw new Xs(oe||\"Could not parse color from value '\"+(typeof H==\"string\"?H:String(JSON.stringify(H)))+\"'\")}else if(this.type.kind===\"number\"){for(var It=null,Ht=0,er=this.args;Ht=C[2]||k[1]<=C[1]||k[3]>=C[3])}function Jf(k,C){var H=Ac(k[0]),oe=nf(k[1]),be=Math.pow(2,C.z);return[Math.round(H*be*ql),Math.round(oe*be*ql)]}function Of(k,C,H){var oe=k[0]-C[0],be=k[1]-C[1],Pe=k[0]-H[0],Ne=k[1]-H[1];return oe*Ne-Pe*be===0&&oe*Pe<=0&&be*Ne<=0}function of(k,C,H){return C[1]>k[1]!=H[1]>k[1]&&k[0]<(H[0]-C[0])*(k[1]-C[1])/(H[1]-C[1])+C[0]}function jc(k,C){for(var H=!1,oe=0,be=C.length;oe0&&Lr<0||er<0&&Lr>0}function Ef(k,C,H,oe){var be=[C[0]-k[0],C[1]-k[1]],Pe=[oe[0]-H[0],oe[1]-H[1]];return Nf(Pe,be)===0?!1:!!(Gu(k,C,H,oe)&&Gu(H,oe,k,C))}function oc(k,C,H){for(var oe=0,be=H;oeH[2]){var be=oe*.5,Pe=k[0]-H[0]>be?-oe:H[0]-k[0]>be?oe:0;Pe===0&&(Pe=k[0]-H[2]>be?-oe:H[2]-k[0]>be?oe:0),k[0]+=Pe}Mf(C,k)}function kf(k){k[0]=k[1]=1/0,k[2]=k[3]=-1/0}function fh(k,C,H,oe){for(var be=Math.pow(2,oe.z)*ql,Pe=[oe.x*ql,oe.y*ql],Ne=[],ft=0,It=k;ft=0)return!1;var H=!0;return k.eachChild(function(oe){H&&!Lu(oe,C)&&(H=!1)}),H}var Mc=function(C,H){this.type=H.type,this.name=C,this.boundExpression=H};Mc.parse=function(C,H){if(C.length!==2||typeof C[1]!=\"string\")return H.error(\"'var' expression requires exactly one string literal argument.\");var oe=C[1];return H.scope.has(oe)?new Mc(oe,H.scope.get(oe)):H.error('Unknown variable \"'+oe+'\". Make sure \"'+oe+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Mc.prototype.evaluate=function(C){return this.boundExpression.evaluate(C)},Mc.prototype.eachChild=function(){},Mc.prototype.outputDefined=function(){return!1},Mc.prototype.serialize=function(){return[\"var\",this.name]};var ol=function(C,H,oe,be,Pe){H===void 0&&(H=[]),be===void 0&&(be=new Hs),Pe===void 0&&(Pe=[]),this.registry=C,this.path=H,this.key=H.map(function(Ne){return\"[\"+Ne+\"]\"}).join(\"\"),this.scope=be,this.errors=Pe,this.expectedType=oe};ol.prototype.parse=function(C,H,oe,be,Pe){return Pe===void 0&&(Pe={}),H?this.concat(H,oe,be)._parse(C,Pe):this._parse(C,Pe)},ol.prototype._parse=function(C,H){(C===null||typeof C==\"string\"||typeof C==\"boolean\"||typeof C==\"number\")&&(C=[\"literal\",C]);function oe(er,Lr,Zr){return Zr===\"assert\"?new jl(Lr,[er]):Zr===\"coerce\"?new us(Lr,[er]):er}if(Array.isArray(C)){if(C.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var be=C[0];if(typeof be!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof be+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var Pe=this.registry[be];if(Pe){var Ne=Pe.parse(C,this);if(!Ne)return null;if(this.expectedType){var ft=this.expectedType,It=Ne.type;if((ft.kind===\"string\"||ft.kind===\"number\"||ft.kind===\"boolean\"||ft.kind===\"object\"||ft.kind===\"array\")&&It.kind===\"value\")Ne=oe(Ne,ft,H.typeAnnotation||\"assert\");else if((ft.kind===\"color\"||ft.kind===\"formatted\"||ft.kind===\"resolvedImage\")&&(It.kind===\"value\"||It.kind===\"string\"))Ne=oe(Ne,ft,H.typeAnnotation||\"coerce\");else if(this.checkSubtype(ft,It))return null}if(!(Ne instanceof Ts)&&Ne.type.kind!==\"resolvedImage\"&&vc(Ne)){var Ht=new Ls;try{Ne=new Ts(Ne.type,Ne.evaluate(Ht))}catch(er){return this.error(er.message),null}}return Ne}return this.error('Unknown expression \"'+be+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof C>\"u\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof C==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof C+\" instead.\")},ol.prototype.concat=function(C,H,oe){var be=typeof C==\"number\"?this.path.concat(C):this.path,Pe=oe?this.scope.concat(oe):this.scope;return new ol(this.registry,be,H||null,Pe,this.errors)},ol.prototype.error=function(C){for(var H=[],oe=arguments.length-1;oe-- >0;)H[oe]=arguments[oe+1];var be=\"\"+this.key+H.map(function(Pe){return\"[\"+Pe+\"]\"}).join(\"\");this.errors.push(new bs(be,C))},ol.prototype.checkSubtype=function(C,H){var oe=lu(C,H);return oe&&this.error(oe),oe};function vc(k){if(k instanceof Mc)return vc(k.boundExpression);if(k instanceof to&&k.name===\"error\")return!1;if(k instanceof Vu)return!1;if(k instanceof Cu)return!1;var C=k instanceof us||k instanceof jl,H=!0;return k.eachChild(function(oe){C?H=H&&vc(oe):H=H&&oe instanceof Ts}),H?jf(k)&&Lu(k,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function yu(k,C){for(var H=k.length-1,oe=0,be=H,Pe=0,Ne,ft;oe<=be;)if(Pe=Math.floor((oe+be)/2),Ne=k[Pe],ft=k[Pe+1],Ne<=C){if(Pe===H||CC)be=Pe-1;else throw new Xs(\"Input is not a number.\");return 0}var Tu=function(C,H,oe){this.type=C,this.input=H,this.labels=[],this.outputs=[];for(var be=0,Pe=oe;be=ft)return H.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',Ht);var Lr=H.parse(It,er,Pe);if(!Lr)return null;Pe=Pe||Lr.type,be.push([ft,Lr])}return new Tu(Pe,oe,be)},Tu.prototype.evaluate=function(C){var H=this.labels,oe=this.outputs;if(H.length===1)return oe[0].evaluate(C);var be=this.input.evaluate(C);if(be<=H[0])return oe[0].evaluate(C);var Pe=H.length;if(be>=H[Pe-1])return oe[Pe-1].evaluate(C);var Ne=yu(H,be);return oe[Ne].evaluate(C)},Tu.prototype.eachChild=function(C){C(this.input);for(var H=0,oe=this.outputs;H0&&C.push(this.labels[H]),C.push(this.outputs[H].serialize());return C};function Ml(k,C,H){return k*(1-H)+C*H}function qf(k,C,H){return new Bs(Ml(k.r,C.r,H),Ml(k.g,C.g,H),Ml(k.b,C.b,H),Ml(k.a,C.a,H))}function Qf(k,C,H){return k.map(function(oe,be){return Ml(oe,C[be],H)})}var Bu=Object.freeze({__proto__:null,number:Ml,color:qf,array:Qf}),Ec=.95047,mc=1,Lh=1.08883,sf=4/29,vf=6/29,Nu=3*vf*vf,lf=vf*vf*vf,iu=Math.PI/180,Kc=180/Math.PI;function hh(k){return k>lf?Math.pow(k,1/3):k/Nu+sf}function mf(k){return k>vf?k*k*k:Nu*(k-sf)}function sl(k){return 255*(k<=.0031308?12.92*k:1.055*Math.pow(k,1/2.4)-.055)}function _u(k){return k/=255,k<=.04045?k/12.92:Math.pow((k+.055)/1.055,2.4)}function Pu(k){var C=_u(k.r),H=_u(k.g),oe=_u(k.b),be=hh((.4124564*C+.3575761*H+.1804375*oe)/Ec),Pe=hh((.2126729*C+.7151522*H+.072175*oe)/mc),Ne=hh((.0193339*C+.119192*H+.9503041*oe)/Lh);return{l:116*Pe-16,a:500*(be-Pe),b:200*(Pe-Ne),alpha:k.a}}function Cf(k){var C=(k.l+16)/116,H=isNaN(k.a)?C:C+k.a/500,oe=isNaN(k.b)?C:C-k.b/200;return C=mc*mf(C),H=Ec*mf(H),oe=Lh*mf(oe),new Bs(sl(3.2404542*H-1.5371385*C-.4985314*oe),sl(-.969266*H+1.8760108*C+.041556*oe),sl(.0556434*H-.2040259*C+1.0572252*oe),k.alpha)}function hl(k,C,H){return{l:Ml(k.l,C.l,H),a:Ml(k.a,C.a,H),b:Ml(k.b,C.b,H),alpha:Ml(k.alpha,C.alpha,H)}}function uf(k){var C=Pu(k),H=C.l,oe=C.a,be=C.b,Pe=Math.atan2(be,oe)*Kc;return{h:Pe<0?Pe+360:Pe,c:Math.sqrt(oe*oe+be*be),l:H,alpha:k.a}}function kc(k){var C=k.h*iu,H=k.c,oe=k.l;return Cf({l:oe,a:Math.cos(C)*H,b:Math.sin(C)*H,alpha:k.alpha})}function Hu(k,C,H){var oe=C-k;return k+H*(oe>180||oe<-180?oe-360*Math.round(oe/360):oe)}function gf(k,C,H){return{h:Hu(k.h,C.h,H),c:Ml(k.c,C.c,H),l:Ml(k.l,C.l,H),alpha:Ml(k.alpha,C.alpha,H)}}var Wu={forward:Pu,reverse:Cf,interpolate:hl},Jc={forward:uf,reverse:kc,interpolate:gf},Lf=Object.freeze({__proto__:null,lab:Wu,hcl:Jc}),nu=function(C,H,oe,be,Pe){this.type=C,this.operator=H,this.interpolation=oe,this.input=be,this.labels=[],this.outputs=[];for(var Ne=0,ft=Pe;Ne1}))return H.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);be={name:\"cubic-bezier\",controlPoints:It}}else return H.error(\"Unknown interpolation type \"+String(be[0]),1,0);if(C.length-1<4)return H.error(\"Expected at least 4 arguments, but found only \"+(C.length-1)+\".\");if((C.length-1)%2!==0)return H.error(\"Expected an even number of arguments.\");if(Pe=H.parse(Pe,2,yn),!Pe)return null;var Ht=[],er=null;oe===\"interpolate-hcl\"||oe===\"interpolate-lab\"?er=Ws:H.expectedType&&H.expectedType.kind!==\"value\"&&(er=H.expectedType);for(var Lr=0;Lr=Zr)return H.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',ua);var Mi=H.parse(Vr,Oa,er);if(!Mi)return null;er=er||Mi.type,Ht.push([Zr,Mi])}return er.kind!==\"number\"&&er.kind!==\"color\"&&!(er.kind===\"array\"&&er.itemType.kind===\"number\"&&typeof er.N==\"number\")?H.error(\"Type \"+Ms(er)+\" is not interpolatable.\"):new nu(er,oe,be,Pe,Ht)},nu.prototype.evaluate=function(C){var H=this.labels,oe=this.outputs;if(H.length===1)return oe[0].evaluate(C);var be=this.input.evaluate(C);if(be<=H[0])return oe[0].evaluate(C);var Pe=H.length;if(be>=H[Pe-1])return oe[Pe-1].evaluate(C);var Ne=yu(H,be),ft=H[Ne],It=H[Ne+1],Ht=nu.interpolationFactor(this.interpolation,be,ft,It),er=oe[Ne].evaluate(C),Lr=oe[Ne+1].evaluate(C);return this.operator===\"interpolate\"?Bu[this.type.kind.toLowerCase()](er,Lr,Ht):this.operator===\"interpolate-hcl\"?Jc.reverse(Jc.interpolate(Jc.forward(er),Jc.forward(Lr),Ht)):Wu.reverse(Wu.interpolate(Wu.forward(er),Wu.forward(Lr),Ht))},nu.prototype.eachChild=function(C){C(this.input);for(var H=0,oe=this.outputs;H=oe.length)throw new Xs(\"Array index out of bounds: \"+H+\" > \"+(oe.length-1)+\".\");if(H!==Math.floor(H))throw new Xs(\"Array index must be an integer, but found \"+H+\" instead.\");return oe[H]},gc.prototype.eachChild=function(C){C(this.index),C(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var Vl=function(C,H){this.type=To,this.needle=C,this.haystack=H};Vl.parse=function(C,H){if(C.length!==3)return H.error(\"Expected 2 arguments, but found \"+(C.length-1)+\" instead.\");var oe=H.parse(C[1],1,uo),be=H.parse(C[2],2,uo);return!oe||!be?null:Tc(oe.type,[To,Po,yn,il,uo])?new Vl(oe,be):H.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ms(oe.type)+\" instead\")},Vl.prototype.evaluate=function(C){var H=this.needle.evaluate(C),oe=this.haystack.evaluate(C);if(!oe)return!1;if(!du(H,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Xs(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ms(nl(H))+\" instead.\");if(!du(oe,[\"string\",\"array\"]))throw new Xs(\"Expected second argument to be of type array or string, but found \"+Ms(nl(oe))+\" instead.\");return oe.indexOf(H)>=0},Vl.prototype.eachChild=function(C){C(this.needle),C(this.haystack)},Vl.prototype.outputDefined=function(){return!0},Vl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var xu=function(C,H,oe){this.type=yn,this.needle=C,this.haystack=H,this.fromIndex=oe};xu.parse=function(C,H){if(C.length<=2||C.length>=5)return H.error(\"Expected 3 or 4 arguments, but found \"+(C.length-1)+\" instead.\");var oe=H.parse(C[1],1,uo),be=H.parse(C[2],2,uo);if(!oe||!be)return null;if(!Tc(oe.type,[To,Po,yn,il,uo]))return H.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ms(oe.type)+\" instead\");if(C.length===4){var Pe=H.parse(C[3],3,yn);return Pe?new xu(oe,be,Pe):null}else return new xu(oe,be)},xu.prototype.evaluate=function(C){var H=this.needle.evaluate(C),oe=this.haystack.evaluate(C);if(!du(H,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Xs(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ms(nl(H))+\" instead.\");if(!du(oe,[\"string\",\"array\"]))throw new Xs(\"Expected second argument to be of type array or string, but found \"+Ms(nl(oe))+\" instead.\");if(this.fromIndex){var be=this.fromIndex.evaluate(C);return oe.indexOf(H,be)}return oe.indexOf(H)},xu.prototype.eachChild=function(C){C(this.needle),C(this.haystack),this.fromIndex&&C(this.fromIndex)},xu.prototype.outputDefined=function(){return!1},xu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var C=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),C]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var Lc=function(C,H,oe,be,Pe,Ne){this.inputType=C,this.type=H,this.input=oe,this.cases=be,this.outputs=Pe,this.otherwise=Ne};Lc.parse=function(C,H){if(C.length<5)return H.error(\"Expected at least 4 arguments, but found only \"+(C.length-1)+\".\");if(C.length%2!==1)return H.error(\"Expected an even number of arguments.\");var oe,be;H.expectedType&&H.expectedType.kind!==\"value\"&&(be=H.expectedType);for(var Pe={},Ne=[],ft=2;ftNumber.MAX_SAFE_INTEGER)return er.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof Vr==\"number\"&&Math.floor(Vr)!==Vr)return er.error(\"Numeric branch labels must be integer values.\");if(!oe)oe=nl(Vr);else if(er.checkSubtype(oe,nl(Vr)))return null;if(typeof Pe[String(Vr)]<\"u\")return er.error(\"Branch labels must be unique.\");Pe[String(Vr)]=Ne.length}var ua=H.parse(Ht,ft,be);if(!ua)return null;be=be||ua.type,Ne.push(ua)}var Oa=H.parse(C[1],1,uo);if(!Oa)return null;var Mi=H.parse(C[C.length-1],C.length-1,be);return!Mi||Oa.type.kind!==\"value\"&&H.concat(1).checkSubtype(oe,Oa.type)?null:new Lc(oe,be,Oa,Pe,Ne,Mi)},Lc.prototype.evaluate=function(C){var H=this.input.evaluate(C),oe=nl(H)===this.inputType&&this.outputs[this.cases[H]]||this.otherwise;return oe.evaluate(C)},Lc.prototype.eachChild=function(C){C(this.input),this.outputs.forEach(C),C(this.otherwise)},Lc.prototype.outputDefined=function(){return this.outputs.every(function(C){return C.outputDefined()})&&this.otherwise.outputDefined()},Lc.prototype.serialize=function(){for(var C=this,H=[\"match\",this.input.serialize()],oe=Object.keys(this.cases).sort(),be=[],Pe={},Ne=0,ft=oe;Ne=5)return H.error(\"Expected 3 or 4 arguments, but found \"+(C.length-1)+\" instead.\");var oe=H.parse(C[1],1,uo),be=H.parse(C[2],2,yn);if(!oe||!be)return null;if(!Tc(oe.type,[Jo(uo),Po,uo]))return H.error(\"Expected first argument to be of type array or string, but found \"+Ms(oe.type)+\" instead\");if(C.length===4){var Pe=H.parse(C[3],3,yn);return Pe?new sc(oe.type,oe,be,Pe):null}else return new sc(oe.type,oe,be)},sc.prototype.evaluate=function(C){var H=this.input.evaluate(C),oe=this.beginIndex.evaluate(C);if(!du(H,[\"string\",\"array\"]))throw new Xs(\"Expected first argument to be of type array or string, but found \"+Ms(nl(H))+\" instead.\");if(this.endIndex){var be=this.endIndex.evaluate(C);return H.slice(oe,be)}return H.slice(oe)},sc.prototype.eachChild=function(C){C(this.input),C(this.beginIndex),this.endIndex&&C(this.endIndex)},sc.prototype.outputDefined=function(){return!1},sc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var C=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),C]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function Pc(k,C){return k===\"==\"||k===\"!=\"?C.kind===\"boolean\"||C.kind===\"string\"||C.kind===\"number\"||C.kind===\"null\"||C.kind===\"value\":C.kind===\"string\"||C.kind===\"number\"||C.kind===\"value\"}function Qt(k,C,H){return C===H}function xr(k,C,H){return C!==H}function aa(k,C,H){return CH}function ka(k,C,H){return C<=H}function li(k,C,H){return C>=H}function Ci(k,C,H,oe){return oe.compare(C,H)===0}function Hi(k,C,H,oe){return!Ci(k,C,H,oe)}function Qi(k,C,H,oe){return oe.compare(C,H)<0}function pn(k,C,H,oe){return oe.compare(C,H)>0}function Pi(k,C,H,oe){return oe.compare(C,H)<=0}function Di(k,C,H,oe){return oe.compare(C,H)>=0}function Ni(k,C,H){var oe=k!==\"==\"&&k!==\"!=\";return function(){function be(Pe,Ne,ft){this.type=To,this.lhs=Pe,this.rhs=Ne,this.collator=ft,this.hasUntypedArgument=Pe.type.kind===\"value\"||Ne.type.kind===\"value\"}return be.parse=function(Ne,ft){if(Ne.length!==3&&Ne.length!==4)return ft.error(\"Expected two or three arguments.\");var It=Ne[0],Ht=ft.parse(Ne[1],1,uo);if(!Ht)return null;if(!Pc(It,Ht.type))return ft.concat(1).error('\"'+It+`\" comparisons are not supported for type '`+Ms(Ht.type)+\"'.\");var er=ft.parse(Ne[2],2,uo);if(!er)return null;if(!Pc(It,er.type))return ft.concat(2).error('\"'+It+`\" comparisons are not supported for type '`+Ms(er.type)+\"'.\");if(Ht.type.kind!==er.type.kind&&Ht.type.kind!==\"value\"&&er.type.kind!==\"value\")return ft.error(\"Cannot compare types '\"+Ms(Ht.type)+\"' and '\"+Ms(er.type)+\"'.\");oe&&(Ht.type.kind===\"value\"&&er.type.kind!==\"value\"?Ht=new jl(er.type,[Ht]):Ht.type.kind!==\"value\"&&er.type.kind===\"value\"&&(er=new jl(Ht.type,[er])));var Lr=null;if(Ne.length===4){if(Ht.type.kind!==\"string\"&&er.type.kind!==\"string\"&&Ht.type.kind!==\"value\"&&er.type.kind!==\"value\")return ft.error(\"Cannot use collator to compare non-string types.\");if(Lr=ft.parse(Ne[3],3,Ks),!Lr)return null}return new be(Ht,er,Lr)},be.prototype.evaluate=function(Ne){var ft=this.lhs.evaluate(Ne),It=this.rhs.evaluate(Ne);if(oe&&this.hasUntypedArgument){var Ht=nl(ft),er=nl(It);if(Ht.kind!==er.kind||!(Ht.kind===\"string\"||Ht.kind===\"number\"))throw new Xs('Expected arguments for \"'+k+'\" to be (string, string) or (number, number), but found ('+Ht.kind+\", \"+er.kind+\") instead.\")}if(this.collator&&!oe&&this.hasUntypedArgument){var Lr=nl(ft),Zr=nl(It);if(Lr.kind!==\"string\"||Zr.kind!==\"string\")return C(Ne,ft,It)}return this.collator?H(Ne,ft,It,this.collator.evaluate(Ne)):C(Ne,ft,It)},be.prototype.eachChild=function(Ne){Ne(this.lhs),Ne(this.rhs),this.collator&&Ne(this.collator)},be.prototype.outputDefined=function(){return!0},be.prototype.serialize=function(){var Ne=[k];return this.eachChild(function(ft){Ne.push(ft.serialize())}),Ne},be}()}var mi=Ni(\"==\",Qt,Ci),Sn=Ni(\"!=\",xr,Hi),Qn=Ni(\"<\",aa,Qi),io=Ni(\">\",$r,pn),eo=Ni(\"<=\",ka,Pi),co=Ni(\">=\",li,Di),Tn=function(C,H,oe,be,Pe){this.type=Po,this.number=C,this.locale=H,this.currency=oe,this.minFractionDigits=be,this.maxFractionDigits=Pe};Tn.parse=function(C,H){if(C.length!==3)return H.error(\"Expected two arguments.\");var oe=H.parse(C[1],1,yn);if(!oe)return null;var be=C[2];if(typeof be!=\"object\"||Array.isArray(be))return H.error(\"NumberFormat options argument must be an object.\");var Pe=null;if(be.locale&&(Pe=H.parse(be.locale,1,Po),!Pe))return null;var Ne=null;if(be.currency&&(Ne=H.parse(be.currency,1,Po),!Ne))return null;var ft=null;if(be[\"min-fraction-digits\"]&&(ft=H.parse(be[\"min-fraction-digits\"],1,yn),!ft))return null;var It=null;return be[\"max-fraction-digits\"]&&(It=H.parse(be[\"max-fraction-digits\"],1,yn),!It)?null:new Tn(oe,Pe,Ne,ft,It)},Tn.prototype.evaluate=function(C){return new Intl.NumberFormat(this.locale?this.locale.evaluate(C):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(C):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(C):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(C):void 0}).format(this.number.evaluate(C))},Tn.prototype.eachChild=function(C){C(this.number),this.locale&&C(this.locale),this.currency&&C(this.currency),this.minFractionDigits&&C(this.minFractionDigits),this.maxFractionDigits&&C(this.maxFractionDigits)},Tn.prototype.outputDefined=function(){return!1},Tn.prototype.serialize=function(){var C={};return this.locale&&(C.locale=this.locale.serialize()),this.currency&&(C.currency=this.currency.serialize()),this.minFractionDigits&&(C[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(C[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),C]};var un=function(C){this.type=yn,this.input=C};un.parse=function(C,H){if(C.length!==2)return H.error(\"Expected 1 argument, but found \"+(C.length-1)+\" instead.\");var oe=H.parse(C[1],1);return oe?oe.type.kind!==\"array\"&&oe.type.kind!==\"string\"&&oe.type.kind!==\"value\"?H.error(\"Expected argument of type string or array, but found \"+Ms(oe.type)+\" instead.\"):new un(oe):null},un.prototype.evaluate=function(C){var H=this.input.evaluate(C);if(typeof H==\"string\")return H.length;if(Array.isArray(H))return H.length;throw new Xs(\"Expected value to be of type string or array, but found \"+Ms(nl(H))+\" instead.\")},un.prototype.eachChild=function(C){C(this.input)},un.prototype.outputDefined=function(){return!1},un.prototype.serialize=function(){var C=[\"length\"];return this.eachChild(function(H){C.push(H.serialize())}),C};var yo={\"==\":mi,\"!=\":Sn,\">\":io,\"<\":Qn,\">=\":co,\"<=\":eo,array:jl,at:gc,boolean:jl,case:$c,coalesce:Xu,collator:Vu,format:qu,image:fl,in:Vl,\"index-of\":xu,interpolate:nu,\"interpolate-hcl\":nu,\"interpolate-lab\":nu,length:un,let:Cc,literal:Ts,match:Lc,number:jl,\"number-format\":Tn,object:jl,slice:sc,step:Tu,string:jl,\"to-boolean\":us,\"to-color\":us,\"to-number\":us,\"to-string\":us,var:Mc,within:Cu};function Qo(k,C){var H=C[0],oe=C[1],be=C[2],Pe=C[3];H=H.evaluate(k),oe=oe.evaluate(k),be=be.evaluate(k);var Ne=Pe?Pe.evaluate(k):1,ft=ic(H,oe,be,Ne);if(ft)throw new Xs(ft);return new Bs(H/255*Ne,oe/255*Ne,be/255*Ne,Ne)}function Es(k,C){return k in C}function rl(k,C){var H=C[k];return typeof H>\"u\"?null:H}function Ns(k,C,H,oe){for(;H<=oe;){var be=H+oe>>1;if(C[be]===k)return!0;C[be]>k?oe=be-1:H=be+1}return!1}function el(k){return{type:k}}to.register(yo,{error:[Nl,[Po],function(k,C){var H=C[0];throw new Xs(H.evaluate(k))}],typeof:[Po,[uo],function(k,C){var H=C[0];return Ms(nl(H.evaluate(k)))}],\"to-rgba\":[Jo(yn,4),[Ws],function(k,C){var H=C[0];return H.evaluate(k).toArray()}],rgb:[Ws,[yn,yn,yn],Qo],rgba:[Ws,[yn,yn,yn,yn],Qo],has:{type:To,overloads:[[[Po],function(k,C){var H=C[0];return Es(H.evaluate(k),k.properties())}],[[Po,Ll],function(k,C){var H=C[0],oe=C[1];return Es(H.evaluate(k),oe.evaluate(k))}]]},get:{type:uo,overloads:[[[Po],function(k,C){var H=C[0];return rl(H.evaluate(k),k.properties())}],[[Po,Ll],function(k,C){var H=C[0],oe=C[1];return rl(H.evaluate(k),oe.evaluate(k))}]]},\"feature-state\":[uo,[Po],function(k,C){var H=C[0];return rl(H.evaluate(k),k.featureState||{})}],properties:[Ll,[],function(k){return k.properties()}],\"geometry-type\":[Po,[],function(k){return k.geometryType()}],id:[uo,[],function(k){return k.id()}],zoom:[yn,[],function(k){return k.globals.zoom}],\"heatmap-density\":[yn,[],function(k){return k.globals.heatmapDensity||0}],\"line-progress\":[yn,[],function(k){return k.globals.lineProgress||0}],accumulated:[uo,[],function(k){return k.globals.accumulated===void 0?null:k.globals.accumulated}],\"+\":[yn,el(yn),function(k,C){for(var H=0,oe=0,be=C;oe\":[To,[Po,uo],function(k,C){var H=C[0],oe=C[1],be=k.properties()[H.value],Pe=oe.value;return typeof be==typeof Pe&&be>Pe}],\"filter-id->\":[To,[uo],function(k,C){var H=C[0],oe=k.id(),be=H.value;return typeof oe==typeof be&&oe>be}],\"filter-<=\":[To,[Po,uo],function(k,C){var H=C[0],oe=C[1],be=k.properties()[H.value],Pe=oe.value;return typeof be==typeof Pe&&be<=Pe}],\"filter-id-<=\":[To,[uo],function(k,C){var H=C[0],oe=k.id(),be=H.value;return typeof oe==typeof be&&oe<=be}],\"filter->=\":[To,[Po,uo],function(k,C){var H=C[0],oe=C[1],be=k.properties()[H.value],Pe=oe.value;return typeof be==typeof Pe&&be>=Pe}],\"filter-id->=\":[To,[uo],function(k,C){var H=C[0],oe=k.id(),be=H.value;return typeof oe==typeof be&&oe>=be}],\"filter-has\":[To,[uo],function(k,C){var H=C[0];return H.value in k.properties()}],\"filter-has-id\":[To,[],function(k){return k.id()!==null&&k.id()!==void 0}],\"filter-type-in\":[To,[Jo(Po)],function(k,C){var H=C[0];return H.value.indexOf(k.geometryType())>=0}],\"filter-id-in\":[To,[Jo(uo)],function(k,C){var H=C[0];return H.value.indexOf(k.id())>=0}],\"filter-in-small\":[To,[Po,Jo(uo)],function(k,C){var H=C[0],oe=C[1];return oe.value.indexOf(k.properties()[H.value])>=0}],\"filter-in-large\":[To,[Po,Jo(uo)],function(k,C){var H=C[0],oe=C[1];return Ns(k.properties()[H.value],oe.value,0,oe.value.length-1)}],all:{type:To,overloads:[[[To,To],function(k,C){var H=C[0],oe=C[1];return H.evaluate(k)&&oe.evaluate(k)}],[el(To),function(k,C){for(var H=0,oe=C;H-1}function Un(k){return!!k.expression&&k.expression.interpolated}function Ro(k){return k instanceof Number?\"number\":k instanceof String?\"string\":k instanceof Boolean?\"boolean\":Array.isArray(k)?\"array\":k===null?\"null\":typeof k}function Js(k){return typeof k==\"object\"&&k!==null&&!Array.isArray(k)}function Fs(k){return k}function cu(k,C){var H=C.type===\"color\",oe=k.stops&&typeof k.stops[0][0]==\"object\",be=oe||k.property!==void 0,Pe=oe||!be,Ne=k.type||(Un(C)?\"exponential\":\"interval\");if(H&&(k=xs({},k),k.stops&&(k.stops=k.stops.map(function(Nn){return[Nn[0],Bs.parse(Nn[1])]})),k.default?k.default=Bs.parse(k.default):k.default=Bs.parse(C.default)),k.colorSpace&&k.colorSpace!==\"rgb\"&&!Lf[k.colorSpace])throw new Error(\"Unknown color space: \"+k.colorSpace);var ft,It,Ht;if(Ne===\"exponential\")ft=bu;else if(Ne===\"interval\")ft=Ic;else if(Ne===\"categorical\"){ft=Zu,It=Object.create(null);for(var er=0,Lr=k.stops;er=k.stops[oe-1][0])return k.stops[oe-1][1];var be=yu(k.stops.map(function(Pe){return Pe[0]}),H);return k.stops[be][1]}function bu(k,C,H){var oe=k.base!==void 0?k.base:1;if(Ro(H)!==\"number\")return Iu(k.default,C.default);var be=k.stops.length;if(be===1||H<=k.stops[0][0])return k.stops[0][1];if(H>=k.stops[be-1][0])return k.stops[be-1][1];var Pe=yu(k.stops.map(function(Lr){return Lr[0]}),H),Ne=Au(H,oe,k.stops[Pe][0],k.stops[Pe+1][0]),ft=k.stops[Pe][1],It=k.stops[Pe+1][1],Ht=Bu[C.type]||Fs;if(k.colorSpace&&k.colorSpace!==\"rgb\"){var er=Lf[k.colorSpace];Ht=function(Lr,Zr){return er.reverse(er.interpolate(er.forward(Lr),er.forward(Zr),Ne))}}return typeof ft.evaluate==\"function\"?{evaluate:function(){for(var Zr=[],Vr=arguments.length;Vr--;)Zr[Vr]=arguments[Vr];var ua=ft.evaluate.apply(void 0,Zr),Oa=It.evaluate.apply(void 0,Zr);if(!(ua===void 0||Oa===void 0))return Ht(ua,Oa,Ne)}}:Ht(ft,It,Ne)}function Rc(k,C,H){return C.type===\"color\"?H=Bs.parse(H):C.type===\"formatted\"?H=uu.fromString(H.toString()):C.type===\"resolvedImage\"?H=Pl.fromString(H.toString()):Ro(H)!==C.type&&(C.type!==\"enum\"||!C.values[H])&&(H=void 0),Iu(H,k.default,C.default)}function Au(k,C,H,oe){var be=oe-H,Pe=k-H;return be===0?0:C===1?Pe/be:(Math.pow(C,Pe)-1)/(Math.pow(C,be)-1)}var yc=function(C,H){this.expression=C,this._warningHistory={},this._evaluator=new Ls,this._defaultValue=H?Me(H):null,this._enumValues=H&&H.type===\"enum\"?H.values:null};yc.prototype.evaluateWithoutErrorHandling=function(C,H,oe,be,Pe,Ne){return this._evaluator.globals=C,this._evaluator.feature=H,this._evaluator.featureState=oe,this._evaluator.canonical=be,this._evaluator.availableImages=Pe||null,this._evaluator.formattedSection=Ne,this.expression.evaluate(this._evaluator)},yc.prototype.evaluate=function(C,H,oe,be,Pe,Ne){this._evaluator.globals=C,this._evaluator.feature=H||null,this._evaluator.featureState=oe||null,this._evaluator.canonical=be,this._evaluator.availableImages=Pe||null,this._evaluator.formattedSection=Ne||null;try{var ft=this.expression.evaluate(this._evaluator);if(ft==null||typeof ft==\"number\"&&ft!==ft)return this._defaultValue;if(this._enumValues&&!(ft in this._enumValues))throw new Xs(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(It){return JSON.stringify(It)}).join(\", \")+\", but found \"+JSON.stringify(ft)+\" instead.\");return ft}catch(It){return this._warningHistory[It.message]||(this._warningHistory[It.message]=!0,typeof console<\"u\"&&console.warn(It.message)),this._defaultValue}};function fo(k){return Array.isArray(k)&&k.length>0&&typeof k[0]==\"string\"&&k[0]in yo}function Fo(k,C){var H=new ol(yo,[],C?Te(C):void 0),oe=H.parse(k,void 0,void 0,void 0,C&&C.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return oe?As(new yc(oe,C)):Fl(H.errors)}var Dc=function(C,H){this.kind=C,this._styleExpression=H,this.isStateDependent=C!==\"constant\"&&!ml(H.expression)};Dc.prototype.evaluateWithoutErrorHandling=function(C,H,oe,be,Pe,Ne){return this._styleExpression.evaluateWithoutErrorHandling(C,H,oe,be,Pe,Ne)},Dc.prototype.evaluate=function(C,H,oe,be,Pe,Ne){return this._styleExpression.evaluate(C,H,oe,be,Pe,Ne)};var lc=function(C,H,oe,be){this.kind=C,this.zoomStops=oe,this._styleExpression=H,this.isStateDependent=C!==\"camera\"&&!ml(H.expression),this.interpolationType=be};lc.prototype.evaluateWithoutErrorHandling=function(C,H,oe,be,Pe,Ne){return this._styleExpression.evaluateWithoutErrorHandling(C,H,oe,be,Pe,Ne)},lc.prototype.evaluate=function(C,H,oe,be,Pe,Ne){return this._styleExpression.evaluate(C,H,oe,be,Pe,Ne)},lc.prototype.interpolationFactor=function(C,H,oe){return this.interpolationType?nu.interpolationFactor(this.interpolationType,C,H,oe):0};function Yu(k,C){if(k=Fo(k,C),k.result===\"error\")return k;var H=k.value.expression,oe=jf(H);if(!oe&&!yl(C))return Fl([new bs(\"\",\"data expressions not supported\")]);var be=Lu(H,[\"zoom\"]);if(!be&&!ll(C))return Fl([new bs(\"\",\"zoom expressions not supported\")]);var Pe=ie(H);if(!Pe&&!be)return Fl([new bs(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(Pe instanceof bs)return Fl([Pe]);if(Pe instanceof nu&&!Un(C))return Fl([new bs(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!Pe)return As(oe?new Dc(\"constant\",k.value):new Dc(\"source\",k.value));var Ne=Pe instanceof nu?Pe.interpolation:void 0;return As(oe?new lc(\"camera\",k.value,Pe.labels,Ne):new lc(\"composite\",k.value,Pe.labels,Ne))}var Fe=function(C,H){this._parameters=C,this._specification=H,xs(this,cu(this._parameters,this._specification))};Fe.deserialize=function(C){return new Fe(C._parameters,C._specification)},Fe.serialize=function(C){return{_parameters:C._parameters,_specification:C._specification}};function I(k,C){if(Js(k))return new Fe(k,C);if(fo(k)){var H=Yu(k,C);if(H.result===\"error\")throw new Error(H.value.map(function(be){return be.key+\": \"+be.message}).join(\", \"));return H.value}else{var oe=k;return typeof k==\"string\"&&C.type===\"color\"&&(oe=Bs.parse(k)),{kind:\"constant\",evaluate:function(){return oe}}}}function ie(k){var C=null;if(k instanceof Cc)C=ie(k.result);else if(k instanceof Xu)for(var H=0,oe=k.args;Hoe.maximum?[new Pn(C,H,H+\" is greater than the maximum value \"+oe.maximum)]:[]}function Ot(k){var C=k.valueSpec,H=lo(k.value.type),oe,be={},Pe,Ne,ft=H!==\"categorical\"&&k.value.property===void 0,It=!ft,Ht=Ro(k.value.stops)===\"array\"&&Ro(k.value.stops[0])===\"array\"&&Ro(k.value.stops[0][0])===\"object\",er=ze({key:k.key,value:k.value,valueSpec:k.styleSpec.function,style:k.style,styleSpec:k.styleSpec,objectElementValidators:{stops:Lr,default:ua}});return H===\"identity\"&&ft&&er.push(new Pn(k.key,k.value,'missing required property \"property\"')),H!==\"identity\"&&!k.value.stops&&er.push(new Pn(k.key,k.value,'missing required property \"stops\"')),H===\"exponential\"&&k.valueSpec.expression&&!Un(k.valueSpec)&&er.push(new Pn(k.key,k.value,\"exponential functions not supported\")),k.styleSpec.$version>=8&&(It&&!yl(k.valueSpec)?er.push(new Pn(k.key,k.value,\"property functions not supported\")):ft&&!ll(k.valueSpec)&&er.push(new Pn(k.key,k.value,\"zoom functions not supported\"))),(H===\"categorical\"||Ht)&&k.value.property===void 0&&er.push(new Pn(k.key,k.value,'\"property\" property is required')),er;function Lr(Oa){if(H===\"identity\")return[new Pn(Oa.key,Oa.value,'identity function may not have a \"stops\" property')];var Mi=[],ii=Oa.value;return Mi=Mi.concat(ht({key:Oa.key,value:ii,valueSpec:Oa.valueSpec,style:Oa.style,styleSpec:Oa.styleSpec,arrayElementValidator:Zr})),Ro(ii)===\"array\"&&ii.length===0&&Mi.push(new Pn(Oa.key,ii,\"array must have at least one stop\")),Mi}function Zr(Oa){var Mi=[],ii=Oa.value,$i=Oa.key;if(Ro(ii)!==\"array\")return[new Pn($i,ii,\"array expected, \"+Ro(ii)+\" found\")];if(ii.length!==2)return[new Pn($i,ii,\"array length 2 expected, length \"+ii.length+\" found\")];if(Ht){if(Ro(ii[0])!==\"object\")return[new Pn($i,ii,\"object expected, \"+Ro(ii[0])+\" found\")];if(ii[0].zoom===void 0)return[new Pn($i,ii,\"object stop key must have zoom\")];if(ii[0].value===void 0)return[new Pn($i,ii,\"object stop key must have value\")];if(Ne&&Ne>lo(ii[0].zoom))return[new Pn($i,ii[0].zoom,\"stop zoom values must appear in ascending order\")];lo(ii[0].zoom)!==Ne&&(Ne=lo(ii[0].zoom),Pe=void 0,be={}),Mi=Mi.concat(ze({key:$i+\"[0]\",value:ii[0],valueSpec:{zoom:{}},style:Oa.style,styleSpec:Oa.styleSpec,objectElementValidators:{zoom:wt,value:Vr}}))}else Mi=Mi.concat(Vr({key:$i+\"[0]\",value:ii[0],valueSpec:{},style:Oa.style,styleSpec:Oa.styleSpec},ii));return fo(Zo(ii[1]))?Mi.concat([new Pn($i+\"[1]\",ii[1],\"expressions are not allowed in function stops.\")]):Mi.concat(Mo({key:$i+\"[1]\",value:ii[1],valueSpec:C,style:Oa.style,styleSpec:Oa.styleSpec}))}function Vr(Oa,Mi){var ii=Ro(Oa.value),$i=lo(Oa.value),Oi=Oa.value!==null?Oa.value:Mi;if(!oe)oe=ii;else if(ii!==oe)return[new Pn(Oa.key,Oi,ii+\" stop domain type must match previous stop domain type \"+oe)];if(ii!==\"number\"&&ii!==\"string\"&&ii!==\"boolean\")return[new Pn(Oa.key,Oi,\"stop domain value must be a number, string, or boolean\")];if(ii!==\"number\"&&H!==\"categorical\"){var Ji=\"number expected, \"+ii+\" found\";return yl(C)&&H===void 0&&(Ji+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Pn(Oa.key,Oi,Ji)]}return H===\"categorical\"&&ii===\"number\"&&(!isFinite($i)||Math.floor($i)!==$i)?[new Pn(Oa.key,Oi,\"integer expected, found \"+$i)]:H!==\"categorical\"&&ii===\"number\"&&Pe!==void 0&&$i=2&&k[1]!==\"$id\"&&k[1]!==\"$type\";case\"in\":return k.length>=3&&(typeof k[1]!=\"string\"||Array.isArray(k[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return k.length!==3||Array.isArray(k[1])||Array.isArray(k[2]);case\"any\":case\"all\":for(var C=0,H=k.slice(1);CC?1:0}function pt(k){if(!Array.isArray(k))return!1;if(k[0]===\"within\")return!0;for(var C=1;C\"||C===\"<=\"||C===\">=\"?bt(k[1],k[2],C):C===\"any\"?Dt(k.slice(1)):C===\"all\"?[\"all\"].concat(k.slice(1).map(Et)):C===\"none\"?[\"all\"].concat(k.slice(1).map(Et).map(kr)):C===\"in\"?ur(k[1],k.slice(2)):C===\"!in\"?kr(ur(k[1],k.slice(2))):C===\"has\"?yr(k[1]):C===\"!has\"?kr(yr(k[1])):C===\"within\"?k:!0;return H}function bt(k,C,H){switch(k){case\"$type\":return[\"filter-type-\"+H,C];case\"$id\":return[\"filter-id-\"+H,C];default:return[\"filter-\"+H,k,C]}}function Dt(k){return[\"any\"].concat(k.map(Et))}function ur(k,C){if(C.length===0)return!1;switch(k){case\"$type\":return[\"filter-type-in\",[\"literal\",C]];case\"$id\":return[\"filter-id-in\",[\"literal\",C]];default:return C.length>200&&!C.some(function(H){return typeof H!=typeof C[0]})?[\"filter-in-large\",k,[\"literal\",C.sort(lt)]]:[\"filter-in-small\",k,[\"literal\",C]]}}function yr(k){switch(k){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",k]}}function kr(k){return[\"!\",k]}function jr(k){return na(Zo(k.value))?$t(xs({},k,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Qr(k)}function Qr(k){var C=k.value,H=k.key;if(Ro(C)!==\"array\")return[new Pn(H,C,\"array expected, \"+Ro(C)+\" found\")];var oe=k.styleSpec,be,Pe=[];if(C.length<1)return[new Pn(H,C,\"filter array must have at least 1 element\")];switch(Pe=Pe.concat(Kr({key:H+\"[0]\",value:C[0],valueSpec:oe.filter_operator,style:k.style,styleSpec:k.styleSpec})),lo(C[0])){case\"<\":case\"<=\":case\">\":case\">=\":C.length>=2&&lo(C[1])===\"$type\"&&Pe.push(new Pn(H,C,'\"$type\" cannot be use with operator \"'+C[0]+'\"'));case\"==\":case\"!=\":C.length!==3&&Pe.push(new Pn(H,C,'filter array for operator \"'+C[0]+'\" must have 3 elements'));case\"in\":case\"!in\":C.length>=2&&(be=Ro(C[1]),be!==\"string\"&&Pe.push(new Pn(H+\"[1]\",C[1],\"string expected, \"+be+\" found\")));for(var Ne=2;Ne=er[Vr+0]&&oe>=er[Vr+1])?(Ne[Zr]=!0,Pe.push(Ht[Zr])):Ne[Zr]=!1}}},fu.prototype._forEachCell=function(k,C,H,oe,be,Pe,Ne,ft){for(var It=this._convertToCellCoord(k),Ht=this._convertToCellCoord(C),er=this._convertToCellCoord(H),Lr=this._convertToCellCoord(oe),Zr=It;Zr<=er;Zr++)for(var Vr=Ht;Vr<=Lr;Vr++){var ua=this.d*Vr+Zr;if(!(ft&&!ft(this._convertFromCellCoord(Zr),this._convertFromCellCoord(Vr),this._convertFromCellCoord(Zr+1),this._convertFromCellCoord(Vr+1)))&&be.call(this,k,C,H,oe,ua,Pe,Ne,ft))return}},fu.prototype._convertFromCellCoord=function(k){return(k-this.padding)/this.scale},fu.prototype._convertToCellCoord=function(k){return Math.max(0,Math.min(this.d-1,Math.floor(k*this.scale)+this.padding))},fu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var k=this.cells,C=wl+this.cells.length+1+1,H=0,oe=0;oe=0)){var Lr=k[er];Ht[er]=Hl[It].shallow.indexOf(er)>=0?Lr:yt(Lr,C)}k instanceof Error&&(Ht.message=k.message)}if(Ht.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return It!==\"Object\"&&(Ht.$name=It),Ht}throw new Error(\"can't serialize object of type \"+typeof k)}function Tt(k){if(k==null||typeof k==\"boolean\"||typeof k==\"number\"||typeof k==\"string\"||k instanceof Boolean||k instanceof Number||k instanceof String||k instanceof Date||k instanceof RegExp||et(k)||dt(k)||ArrayBuffer.isView(k)||k instanceof uc)return k;if(Array.isArray(k))return k.map(Tt);if(typeof k==\"object\"){var C=k.$name||\"Object\",H=Hl[C],oe=H.klass;if(!oe)throw new Error(\"can't deserialize unregistered class \"+C);if(oe.deserialize)return oe.deserialize(k);for(var be=Object.create(oe.prototype),Pe=0,Ne=Object.keys(k);Pe=0?It:Tt(It)}}return be}throw new Error(\"can't deserialize object of type \"+typeof k)}var tr=function(){this.first=!0};tr.prototype.update=function(C,H){var oe=Math.floor(C);return this.first?(this.first=!1,this.lastIntegerZoom=oe,this.lastIntegerZoomTime=0,this.lastZoom=C,this.lastFloorZoom=oe,!0):(this.lastFloorZoom>oe?(this.lastIntegerZoom=oe+1,this.lastIntegerZoomTime=H):this.lastFloorZoom=128&&k<=255},Arabic:function(k){return k>=1536&&k<=1791},\"Arabic Supplement\":function(k){return k>=1872&&k<=1919},\"Arabic Extended-A\":function(k){return k>=2208&&k<=2303},\"Hangul Jamo\":function(k){return k>=4352&&k<=4607},\"Unified Canadian Aboriginal Syllabics\":function(k){return k>=5120&&k<=5759},Khmer:function(k){return k>=6016&&k<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(k){return k>=6320&&k<=6399},\"General Punctuation\":function(k){return k>=8192&&k<=8303},\"Letterlike Symbols\":function(k){return k>=8448&&k<=8527},\"Number Forms\":function(k){return k>=8528&&k<=8591},\"Miscellaneous Technical\":function(k){return k>=8960&&k<=9215},\"Control Pictures\":function(k){return k>=9216&&k<=9279},\"Optical Character Recognition\":function(k){return k>=9280&&k<=9311},\"Enclosed Alphanumerics\":function(k){return k>=9312&&k<=9471},\"Geometric Shapes\":function(k){return k>=9632&&k<=9727},\"Miscellaneous Symbols\":function(k){return k>=9728&&k<=9983},\"Miscellaneous Symbols and Arrows\":function(k){return k>=11008&&k<=11263},\"CJK Radicals Supplement\":function(k){return k>=11904&&k<=12031},\"Kangxi Radicals\":function(k){return k>=12032&&k<=12255},\"Ideographic Description Characters\":function(k){return k>=12272&&k<=12287},\"CJK Symbols and Punctuation\":function(k){return k>=12288&&k<=12351},Hiragana:function(k){return k>=12352&&k<=12447},Katakana:function(k){return k>=12448&&k<=12543},Bopomofo:function(k){return k>=12544&&k<=12591},\"Hangul Compatibility Jamo\":function(k){return k>=12592&&k<=12687},Kanbun:function(k){return k>=12688&&k<=12703},\"Bopomofo Extended\":function(k){return k>=12704&&k<=12735},\"CJK Strokes\":function(k){return k>=12736&&k<=12783},\"Katakana Phonetic Extensions\":function(k){return k>=12784&&k<=12799},\"Enclosed CJK Letters and Months\":function(k){return k>=12800&&k<=13055},\"CJK Compatibility\":function(k){return k>=13056&&k<=13311},\"CJK Unified Ideographs Extension A\":function(k){return k>=13312&&k<=19903},\"Yijing Hexagram Symbols\":function(k){return k>=19904&&k<=19967},\"CJK Unified Ideographs\":function(k){return k>=19968&&k<=40959},\"Yi Syllables\":function(k){return k>=40960&&k<=42127},\"Yi Radicals\":function(k){return k>=42128&&k<=42191},\"Hangul Jamo Extended-A\":function(k){return k>=43360&&k<=43391},\"Hangul Syllables\":function(k){return k>=44032&&k<=55215},\"Hangul Jamo Extended-B\":function(k){return k>=55216&&k<=55295},\"Private Use Area\":function(k){return k>=57344&&k<=63743},\"CJK Compatibility Ideographs\":function(k){return k>=63744&&k<=64255},\"Arabic Presentation Forms-A\":function(k){return k>=64336&&k<=65023},\"Vertical Forms\":function(k){return k>=65040&&k<=65055},\"CJK Compatibility Forms\":function(k){return k>=65072&&k<=65103},\"Small Form Variants\":function(k){return k>=65104&&k<=65135},\"Arabic Presentation Forms-B\":function(k){return k>=65136&&k<=65279},\"Halfwidth and Fullwidth Forms\":function(k){return k>=65280&&k<=65519}};function _r(k){for(var C=0,H=k;C=65097&&k<=65103)||zt[\"CJK Compatibility Ideographs\"](k)||zt[\"CJK Compatibility\"](k)||zt[\"CJK Radicals Supplement\"](k)||zt[\"CJK Strokes\"](k)||zt[\"CJK Symbols and Punctuation\"](k)&&!(k>=12296&&k<=12305)&&!(k>=12308&&k<=12319)&&k!==12336||zt[\"CJK Unified Ideographs Extension A\"](k)||zt[\"CJK Unified Ideographs\"](k)||zt[\"Enclosed CJK Letters and Months\"](k)||zt[\"Hangul Compatibility Jamo\"](k)||zt[\"Hangul Jamo Extended-A\"](k)||zt[\"Hangul Jamo Extended-B\"](k)||zt[\"Hangul Jamo\"](k)||zt[\"Hangul Syllables\"](k)||zt.Hiragana(k)||zt[\"Ideographic Description Characters\"](k)||zt.Kanbun(k)||zt[\"Kangxi Radicals\"](k)||zt[\"Katakana Phonetic Extensions\"](k)||zt.Katakana(k)&&k!==12540||zt[\"Halfwidth and Fullwidth Forms\"](k)&&k!==65288&&k!==65289&&k!==65293&&!(k>=65306&&k<=65310)&&k!==65339&&k!==65341&&k!==65343&&!(k>=65371&&k<=65503)&&k!==65507&&!(k>=65512&&k<=65519)||zt[\"Small Form Variants\"](k)&&!(k>=65112&&k<=65118)&&!(k>=65123&&k<=65126)||zt[\"Unified Canadian Aboriginal Syllabics\"](k)||zt[\"Unified Canadian Aboriginal Syllabics Extended\"](k)||zt[\"Vertical Forms\"](k)||zt[\"Yijing Hexagram Symbols\"](k)||zt[\"Yi Syllables\"](k)||zt[\"Yi Radicals\"](k))}function Ja(k){return!!(zt[\"Latin-1 Supplement\"](k)&&(k===167||k===169||k===174||k===177||k===188||k===189||k===190||k===215||k===247)||zt[\"General Punctuation\"](k)&&(k===8214||k===8224||k===8225||k===8240||k===8241||k===8251||k===8252||k===8258||k===8263||k===8264||k===8265||k===8273)||zt[\"Letterlike Symbols\"](k)||zt[\"Number Forms\"](k)||zt[\"Miscellaneous Technical\"](k)&&(k>=8960&&k<=8967||k>=8972&&k<=8991||k>=8996&&k<=9e3||k===9003||k>=9085&&k<=9114||k>=9150&&k<=9165||k===9167||k>=9169&&k<=9179||k>=9186&&k<=9215)||zt[\"Control Pictures\"](k)&&k!==9251||zt[\"Optical Character Recognition\"](k)||zt[\"Enclosed Alphanumerics\"](k)||zt[\"Geometric Shapes\"](k)||zt[\"Miscellaneous Symbols\"](k)&&!(k>=9754&&k<=9759)||zt[\"Miscellaneous Symbols and Arrows\"](k)&&(k>=11026&&k<=11055||k>=11088&&k<=11097||k>=11192&&k<=11243)||zt[\"CJK Symbols and Punctuation\"](k)||zt.Katakana(k)||zt[\"Private Use Area\"](k)||zt[\"CJK Compatibility Forms\"](k)||zt[\"Small Form Variants\"](k)||zt[\"Halfwidth and Fullwidth Forms\"](k)||k===8734||k===8756||k===8757||k>=9984&&k<=10087||k>=10102&&k<=10131||k===65532||k===65533)}function ti(k){return!(pa(k)||Ja(k))}function Sa(k){return zt.Arabic(k)||zt[\"Arabic Supplement\"](k)||zt[\"Arabic Extended-A\"](k)||zt[\"Arabic Presentation Forms-A\"](k)||zt[\"Arabic Presentation Forms-B\"](k)}function za(k){return k>=1424&&k<=2303||zt[\"Arabic Presentation Forms-A\"](k)||zt[\"Arabic Presentation Forms-B\"](k)}function Xa(k,C){return!(!C&&za(k)||k>=2304&&k<=3583||k>=3840&&k<=4255||zt.Khmer(k))}function fi(k){for(var C=0,H=k;C-1&&(an=La.error),sn&&sn(k)};function Jn(){ro.fire(new Br(\"pluginStateChange\",{pluginStatus:an,pluginURL:dn}))}var ro=new wr,$o=function(){return an},no=function(k){return k({pluginStatus:an,pluginURL:dn}),ro.on(\"pluginStateChange\",k),k},Xo=function(k,C,H){if(H===void 0&&(H=!1),an===La.deferred||an===La.loading||an===La.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");dn=we.resolveURL(k),an=La.deferred,sn=C,Jn(),H||cl()},cl=function(){if(an!==La.deferred||!dn)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");an=La.loading,Jn(),dn&&ra({url:dn},function(k){k?In(k):(an=La.loaded,Jn())})},al={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return an===La.loaded||al.applyArabicShaping!=null},isLoading:function(){return an===La.loading},setState:function(C){an=C.pluginStatus,dn=C.pluginURL},isParsed:function(){return al.applyArabicShaping!=null&&al.processBidirectionalText!=null&&al.processStyledBidirectionalText!=null},getPluginURL:function(){return dn}},_l=function(){!al.isLoading()&&!al.isLoaded()&&$o()===\"deferred\"&&cl()},mn=function(C,H){this.zoom=C,H?(this.now=H.now,this.fadeDuration=H.fadeDuration,this.zoomHistory=H.zoomHistory,this.transition=H.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new tr,this.transition={})};mn.prototype.isSupportedScript=function(C){return ni(C,al.isLoaded())},mn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},mn.prototype.getCrossfadeParameters=function(){var C=this.zoom,H=C-Math.floor(C),oe=this.crossFadingFactor();return C>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:H+(1-H)*oe}:{fromScale:.5,toScale:1,t:1-(1-oe)*H}};var po=function(C,H){this.property=C,this.value=H,this.expression=I(H===void 0?C.specification.default:H,C.specification)};po.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},po.prototype.possiblyEvaluate=function(C,H,oe){return this.property.possiblyEvaluate(this,C,H,oe)};var fs=function(C){this.property=C,this.value=new po(C,void 0)};fs.prototype.transitioned=function(C,H){return new Tl(this.property,this.value,H,m({},C.transition,this.transition),C.now)},fs.prototype.untransitioned=function(){return new Tl(this.property,this.value,null,{},0)};var vs=function(C){this._properties=C,this._values=Object.create(C.defaultTransitionablePropertyValues)};vs.prototype.getValue=function(C){return O(this._values[C].value.value)},vs.prototype.setValue=function(C,H){this._values.hasOwnProperty(C)||(this._values[C]=new fs(this._values[C].property)),this._values[C].value=new po(this._values[C].property,H===null?void 0:O(H))},vs.prototype.getTransition=function(C){return O(this._values[C].transition)},vs.prototype.setTransition=function(C,H){this._values.hasOwnProperty(C)||(this._values[C]=new fs(this._values[C].property)),this._values[C].transition=O(H)||void 0},vs.prototype.serialize=function(){for(var C={},H=0,oe=Object.keys(this._values);Hthis.end)return this.prior=null,Pe;if(this.value.isDataDriven())return this.prior=null,Pe;if(beNe.zoomHistory.lastIntegerZoom?{from:oe,to:be}:{from:Pe,to:be}},C.prototype.interpolate=function(oe){return oe},C}(Xt),oa=function(C){this.specification=C};oa.prototype.possiblyEvaluate=function(C,H,oe,be){if(C.value!==void 0)if(C.expression.kind===\"constant\"){var Pe=C.expression.evaluate(H,null,{},oe,be);return this._calculate(Pe,Pe,Pe,H)}else return this._calculate(C.expression.evaluate(new mn(Math.floor(H.zoom-1),H)),C.expression.evaluate(new mn(Math.floor(H.zoom),H)),C.expression.evaluate(new mn(Math.floor(H.zoom+1),H)),H)},oa.prototype._calculate=function(C,H,oe,be){var Pe=be.zoom;return Pe>be.zoomHistory.lastIntegerZoom?{from:C,to:H}:{from:oe,to:H}},oa.prototype.interpolate=function(C){return C};var Ta=function(C){this.specification=C};Ta.prototype.possiblyEvaluate=function(C,H,oe,be){return!!C.expression.evaluate(H,null,{},oe,be)},Ta.prototype.interpolate=function(){return!1};var ma=function(C){this.properties=C,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var H in C){var oe=C[H];oe.specification.overridable&&this.overridableProperties.push(H);var be=this.defaultPropertyValues[H]=new po(oe,void 0),Pe=this.defaultTransitionablePropertyValues[H]=new fs(oe);this.defaultTransitioningPropertyValues[H]=Pe.untransitioned(),this.defaultPossiblyEvaluatedValues[H]=be.possiblyEvaluate({})}};me(\"DataDrivenProperty\",Xt),me(\"DataConstantProperty\",it),me(\"CrossFadedDataDrivenProperty\",fr),me(\"CrossFadedProperty\",oa),me(\"ColorRampProperty\",Ta);var xa=\"-transition\",Ya=function(k){function C(H,oe){if(k.call(this),this.id=H.id,this.type=H.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},H.type!==\"custom\"&&(H=H,this.metadata=H.metadata,this.minzoom=H.minzoom,this.maxzoom=H.maxzoom,H.type!==\"background\"&&(this.source=H.source,this.sourceLayer=H[\"source-layer\"],this.filter=H.filter),oe.layout&&(this._unevaluatedLayout=new Su(oe.layout)),oe.paint)){this._transitionablePaint=new vs(oe.paint);for(var be in H.paint)this.setPaintProperty(be,H.paint[be],{validate:!1});for(var Pe in H.layout)this.setLayoutProperty(Pe,H.layout[Pe],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new _c(oe.paint)}}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},C.prototype.getLayoutProperty=function(oe){return oe===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(oe)},C.prototype.setLayoutProperty=function(oe,be,Pe){if(Pe===void 0&&(Pe={}),be!=null){var Ne=\"layers.\"+this.id+\".layout.\"+oe;if(this._validate(tu,Ne,oe,be,Pe))return}if(oe===\"visibility\"){this.visibility=be;return}this._unevaluatedLayout.setValue(oe,be)},C.prototype.getPaintProperty=function(oe){return z(oe,xa)?this._transitionablePaint.getTransition(oe.slice(0,-xa.length)):this._transitionablePaint.getValue(oe)},C.prototype.setPaintProperty=function(oe,be,Pe){if(Pe===void 0&&(Pe={}),be!=null){var Ne=\"layers.\"+this.id+\".paint.\"+oe;if(this._validate(Il,Ne,oe,be,Pe))return!1}if(z(oe,xa))return this._transitionablePaint.setTransition(oe.slice(0,-xa.length),be||void 0),!1;var ft=this._transitionablePaint._values[oe],It=ft.property.specification[\"property-type\"]===\"cross-faded-data-driven\",Ht=ft.value.isDataDriven(),er=ft.value;this._transitionablePaint.setValue(oe,be),this._handleSpecialPaintPropertyUpdate(oe);var Lr=this._transitionablePaint._values[oe].value,Zr=Lr.isDataDriven();return Zr||Ht||It||this._handleOverridablePaintPropertyUpdate(oe,er,Lr)},C.prototype._handleSpecialPaintPropertyUpdate=function(oe){},C.prototype._handleOverridablePaintPropertyUpdate=function(oe,be,Pe){return!1},C.prototype.isHidden=function(oe){return this.minzoom&&oe=this.maxzoom?!0:this.visibility===\"none\"},C.prototype.updateTransitions=function(oe){this._transitioningPaint=this._transitionablePaint.transitioned(oe,this._transitioningPaint)},C.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},C.prototype.recalculate=function(oe,be){oe.getCrossfadeParameters&&(this._crossfadeParameters=oe.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(oe,void 0,be)),this.paint=this._transitioningPaint.possiblyEvaluate(oe,void 0,be)},C.prototype.serialize=function(){var oe={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&&(oe.layout=oe.layout||{},oe.layout.visibility=this.visibility),B(oe,function(be,Pe){return be!==void 0&&!(Pe===\"layout\"&&!Object.keys(be).length)&&!(Pe===\"paint\"&&!Object.keys(be).length)})},C.prototype._validate=function(oe,be,Pe,Ne,ft){return ft===void 0&&(ft={}),ft&&ft.validate===!1?!1:Ru(this,oe.call(es,{key:be,layerType:this.type,objectKey:Pe,value:Ne,styleSpec:Gi,style:{glyphs:!0,sprite:!0}}))},C.prototype.is3D=function(){return!1},C.prototype.isTileClipped=function(){return!1},C.prototype.hasOffscreenPass=function(){return!1},C.prototype.resize=function(){},C.prototype.isStateDependent=function(){for(var oe in this.paint._values){var be=this.paint.get(oe);if(!(!(be instanceof Rl)||!yl(be.property.specification))&&(be.value.kind===\"source\"||be.value.kind===\"composite\")&&be.value.isStateDependent)return!0}return!1},C}(wr),bi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},yi=function(C,H){this._structArray=C,this._pos1=H*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},si=128,gn=5,zi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};zi.serialize=function(C,H){return C._trim(),H&&(C.isTransferred=!0,H.push(C.arrayBuffer)),{length:C.length,arrayBuffer:C.arrayBuffer}},zi.deserialize=function(C){var H=Object.create(this.prototype);return H.arrayBuffer=C.arrayBuffer,H.length=C.length,H.capacity=C.arrayBuffer.byteLength/H.bytesPerElement,H._refreshViews(),H},zi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},zi.prototype.clear=function(){this.length=0},zi.prototype.resize=function(C){this.reserve(C),this.length=C},zi.prototype.reserve=function(C){if(C>this.capacity){this.capacity=Math.max(C,Math.floor(this.capacity*gn),si),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var H=this.uint8;this._refreshViews(),H&&this.uint8.set(H)}},zi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Ei(k,C){C===void 0&&(C=1);var H=0,oe=0,be=k.map(function(Ne){var ft=Na(Ne.type),It=H=ea(H,Math.max(C,ft)),Ht=Ne.components||1;return oe=Math.max(oe,ft),H+=ft*Ht,{name:Ne.name,type:Ne.type,components:Ht,offset:It}}),Pe=ea(H,Math.max(oe,C));return{members:be,size:Pe,alignment:C}}function Na(k){return bi[k].BYTES_PER_ELEMENT}function ea(k,C){return Math.ceil(k/C)*C}var Ma=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,oe,be)},C.prototype.emplace=function(oe,be,Pe){var Ne=oe*2;return this.int16[Ne+0]=be,this.int16[Ne+1]=Pe,oe},C}(zi);Ma.prototype.bytesPerElement=4,me(\"StructArrayLayout2i4\",Ma);var Qa=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne){var ft=this.length;return this.resize(ft+1),this.emplace(ft,oe,be,Pe,Ne)},C.prototype.emplace=function(oe,be,Pe,Ne,ft){var It=oe*4;return this.int16[It+0]=be,this.int16[It+1]=Pe,this.int16[It+2]=Ne,this.int16[It+3]=ft,oe},C}(zi);Qa.prototype.bytesPerElement=8,me(\"StructArrayLayout4i8\",Qa);var di=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It){var Ht=this.length;return this.resize(Ht+1),this.emplace(Ht,oe,be,Pe,Ne,ft,It)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht){var er=oe*6;return this.int16[er+0]=be,this.int16[er+1]=Pe,this.int16[er+2]=Ne,this.int16[er+3]=ft,this.int16[er+4]=It,this.int16[er+5]=Ht,oe},C}(zi);di.prototype.bytesPerElement=12,me(\"StructArrayLayout2i4i12\",di);var Va=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It){var Ht=this.length;return this.resize(Ht+1),this.emplace(Ht,oe,be,Pe,Ne,ft,It)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht){var er=oe*4,Lr=oe*8;return this.int16[er+0]=be,this.int16[er+1]=Pe,this.uint8[Lr+4]=Ne,this.uint8[Lr+5]=ft,this.uint8[Lr+6]=It,this.uint8[Lr+7]=Ht,oe},C}(zi);Va.prototype.bytesPerElement=8,me(\"StructArrayLayout2i4ub8\",Va);var Bi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,oe,be)},C.prototype.emplace=function(oe,be,Pe){var Ne=oe*2;return this.float32[Ne+0]=be,this.float32[Ne+1]=Pe,oe},C}(zi);Bi.prototype.bytesPerElement=8,me(\"StructArrayLayout2f8\",Bi);var Li=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr){var Vr=this.length;return this.resize(Vr+1),this.emplace(Vr,oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr){var ua=oe*10;return this.uint16[ua+0]=be,this.uint16[ua+1]=Pe,this.uint16[ua+2]=Ne,this.uint16[ua+3]=ft,this.uint16[ua+4]=It,this.uint16[ua+5]=Ht,this.uint16[ua+6]=er,this.uint16[ua+7]=Lr,this.uint16[ua+8]=Zr,this.uint16[ua+9]=Vr,oe},C}(zi);Li.prototype.bytesPerElement=20,me(\"StructArrayLayout10ui20\",Li);var hn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua){var Oa=this.length;return this.resize(Oa+1),this.emplace(Oa,oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua,Oa){var Mi=oe*12;return this.int16[Mi+0]=be,this.int16[Mi+1]=Pe,this.int16[Mi+2]=Ne,this.int16[Mi+3]=ft,this.uint16[Mi+4]=It,this.uint16[Mi+5]=Ht,this.uint16[Mi+6]=er,this.uint16[Mi+7]=Lr,this.int16[Mi+8]=Zr,this.int16[Mi+9]=Vr,this.int16[Mi+10]=ua,this.int16[Mi+11]=Oa,oe},C}(zi);hn.prototype.bytesPerElement=24,me(\"StructArrayLayout4i4ui4i24\",hn);var Ha=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe){var Ne=this.length;return this.resize(Ne+1),this.emplace(Ne,oe,be,Pe)},C.prototype.emplace=function(oe,be,Pe,Ne){var ft=oe*3;return this.float32[ft+0]=be,this.float32[ft+1]=Pe,this.float32[ft+2]=Ne,oe},C}(zi);Ha.prototype.bytesPerElement=12,me(\"StructArrayLayout3f12\",Ha);var Ua=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe){var be=this.length;return this.resize(be+1),this.emplace(be,oe)},C.prototype.emplace=function(oe,be){var Pe=oe*1;return this.uint32[Pe+0]=be,oe},C}(zi);Ua.prototype.bytesPerElement=4,me(\"StructArrayLayout1ul4\",Ua);var Yi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.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)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr){var Zr=this.length;return this.resize(Zr+1),this.emplace(Zr,oe,be,Pe,Ne,ft,It,Ht,er,Lr)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr){var Vr=oe*10,ua=oe*5;return this.int16[Vr+0]=be,this.int16[Vr+1]=Pe,this.int16[Vr+2]=Ne,this.int16[Vr+3]=ft,this.int16[Vr+4]=It,this.int16[Vr+5]=Ht,this.uint32[ua+3]=er,this.uint16[Vr+8]=Lr,this.uint16[Vr+9]=Zr,oe},C}(zi);Yi.prototype.bytesPerElement=20,me(\"StructArrayLayout6i1ul2ui20\",Yi);var Ri=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It){var Ht=this.length;return this.resize(Ht+1),this.emplace(Ht,oe,be,Pe,Ne,ft,It)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht){var er=oe*6;return this.int16[er+0]=be,this.int16[er+1]=Pe,this.int16[er+2]=Ne,this.int16[er+3]=ft,this.int16[er+4]=It,this.int16[er+5]=Ht,oe},C}(zi);Ri.prototype.bytesPerElement=12,me(\"StructArrayLayout2i2i2i12\",Ri);var Ti=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft){var It=this.length;return this.resize(It+1),this.emplace(It,oe,be,Pe,Ne,ft)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It){var Ht=oe*4,er=oe*8;return this.float32[Ht+0]=be,this.float32[Ht+1]=Pe,this.float32[Ht+2]=Ne,this.int16[er+6]=ft,this.int16[er+7]=It,oe},C}(zi);Ti.prototype.bytesPerElement=16,me(\"StructArrayLayout2f1f2i16\",Ti);var xi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne){var ft=this.length;return this.resize(ft+1),this.emplace(ft,oe,be,Pe,Ne)},C.prototype.emplace=function(oe,be,Pe,Ne,ft){var It=oe*12,Ht=oe*3;return this.uint8[It+0]=be,this.uint8[It+1]=Pe,this.float32[Ht+1]=Ne,this.float32[Ht+2]=ft,oe},C}(zi);xi.prototype.bytesPerElement=12,me(\"StructArrayLayout2ub2f12\",xi);var Xi=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe){var Ne=this.length;return this.resize(Ne+1),this.emplace(Ne,oe,be,Pe)},C.prototype.emplace=function(oe,be,Pe,Ne){var ft=oe*3;return this.uint16[ft+0]=be,this.uint16[ft+1]=Pe,this.uint16[ft+2]=Ne,oe},C}(zi);Xi.prototype.bytesPerElement=6,me(\"StructArrayLayout3ui6\",Xi);var vn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.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)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi){var Ji=this.length;return this.resize(Ji+1),this.emplace(Ji,oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji){var ln=oe*24,bn=oe*12,qn=oe*48;return this.int16[ln+0]=be,this.int16[ln+1]=Pe,this.uint16[ln+2]=Ne,this.uint16[ln+3]=ft,this.uint32[bn+2]=It,this.uint32[bn+3]=Ht,this.uint32[bn+4]=er,this.uint16[ln+10]=Lr,this.uint16[ln+11]=Zr,this.uint16[ln+12]=Vr,this.float32[bn+7]=ua,this.float32[bn+8]=Oa,this.uint8[qn+36]=Mi,this.uint8[qn+37]=ii,this.uint8[qn+38]=$i,this.uint32[bn+10]=Oi,this.int16[ln+22]=Ji,oe},C}(zi);vn.prototype.bytesPerElement=48,me(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",vn);var Rn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.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)},C.prototype.emplaceBack=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji,ln,bn,qn,Nn,Eo,oo,mo,Ps,ko,Do){var $s=this.length;return this.resize($s+1),this.emplace($s,oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji,ln,bn,qn,Nn,Eo,oo,mo,Ps,ko,Do)},C.prototype.emplace=function(oe,be,Pe,Ne,ft,It,Ht,er,Lr,Zr,Vr,ua,Oa,Mi,ii,$i,Oi,Ji,ln,bn,qn,Nn,Eo,oo,mo,Ps,ko,Do,$s){var Ss=oe*34,Zl=oe*17;return this.int16[Ss+0]=be,this.int16[Ss+1]=Pe,this.int16[Ss+2]=Ne,this.int16[Ss+3]=ft,this.int16[Ss+4]=It,this.int16[Ss+5]=Ht,this.int16[Ss+6]=er,this.int16[Ss+7]=Lr,this.uint16[Ss+8]=Zr,this.uint16[Ss+9]=Vr,this.uint16[Ss+10]=ua,this.uint16[Ss+11]=Oa,this.uint16[Ss+12]=Mi,this.uint16[Ss+13]=ii,this.uint16[Ss+14]=$i,this.uint16[Ss+15]=Oi,this.uint16[Ss+16]=Ji,this.uint16[Ss+17]=ln,this.uint16[Ss+18]=bn,this.uint16[Ss+19]=qn,this.uint16[Ss+20]=Nn,this.uint16[Ss+21]=Eo,this.uint16[Ss+22]=oo,this.uint32[Zl+12]=mo,this.float32[Zl+13]=Ps,this.float32[Zl+14]=ko,this.float32[Zl+15]=Do,this.float32[Zl+16]=$s,oe},C}(zi);Rn.prototype.bytesPerElement=68,me(\"StructArrayLayout8i15ui1ul4f68\",Rn);var Ii=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe){var be=this.length;return this.resize(be+1),this.emplace(be,oe)},C.prototype.emplace=function(oe,be){var Pe=oe*1;return this.float32[Pe+0]=be,oe},C}(zi);Ii.prototype.bytesPerElement=4,me(\"StructArrayLayout1f4\",Ii);var nn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe){var Ne=this.length;return this.resize(Ne+1),this.emplace(Ne,oe,be,Pe)},C.prototype.emplace=function(oe,be,Pe,Ne){var ft=oe*3;return this.int16[ft+0]=be,this.int16[ft+1]=Pe,this.int16[ft+2]=Ne,oe},C}(zi);nn.prototype.bytesPerElement=6,me(\"StructArrayLayout3i6\",nn);var Cn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe){var Ne=this.length;return this.resize(Ne+1),this.emplace(Ne,oe,be,Pe)},C.prototype.emplace=function(oe,be,Pe,Ne){var ft=oe*2,It=oe*4;return this.uint32[ft+0]=be,this.uint16[It+2]=Pe,this.uint16[It+3]=Ne,oe},C}(zi);Cn.prototype.bytesPerElement=8,me(\"StructArrayLayout1ul2ui8\",Cn);var Dn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,oe,be)},C.prototype.emplace=function(oe,be,Pe){var Ne=oe*2;return this.uint16[Ne+0]=be,this.uint16[Ne+1]=Pe,oe},C}(zi);Dn.prototype.bytesPerElement=4,me(\"StructArrayLayout2ui4\",Dn);var Wn=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe){var be=this.length;return this.resize(be+1),this.emplace(be,oe)},C.prototype.emplace=function(oe,be){var Pe=oe*1;return this.uint16[Pe+0]=be,oe},C}(zi);Wn.prototype.bytesPerElement=2,me(\"StructArrayLayout1ui2\",Wn);var Os=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(oe,be,Pe,Ne){var ft=this.length;return this.resize(ft+1),this.emplace(ft,oe,be,Pe,Ne)},C.prototype.emplace=function(oe,be,Pe,Ne,ft){var It=oe*4;return this.float32[It+0]=be,this.float32[It+1]=Pe,this.float32[It+2]=Ne,this.float32[It+3]=ft,oe},C}(zi);Os.prototype.bytesPerElement=16,me(\"StructArrayLayout4f16\",Os);var xl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={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},anchorPoint:{configurable:!0}};return H.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},H.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},H.x1.get=function(){return this._structArray.int16[this._pos2+2]},H.y1.get=function(){return this._structArray.int16[this._pos2+3]},H.x2.get=function(){return this._structArray.int16[this._pos2+4]},H.y2.get=function(){return this._structArray.int16[this._pos2+5]},H.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},H.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},H.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},H.anchorPoint.get=function(){return new n(this.anchorPointX,this.anchorPointY)},Object.defineProperties(C.prototype,H),C}(yi);xl.prototype.size=20;var ho=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(oe){return new xl(this,oe)},C}(Yi);me(\"CollisionBoxArray\",ho);var Xl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={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},associatedIconIndex:{configurable:!0}};return H.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},H.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},H.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},H.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},H.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},H.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},H.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},H.segment.get=function(){return this._structArray.uint16[this._pos2+10]},H.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},H.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},H.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},H.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},H.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},H.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},H.placedOrientation.set=function(oe){this._structArray.uint8[this._pos1+37]=oe},H.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},H.hidden.set=function(oe){this._structArray.uint8[this._pos1+38]=oe},H.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},H.crossTileID.set=function(oe){this._structArray.uint32[this._pos4+10]=oe},H.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(C.prototype,H),C}(yi);Xl.prototype.size=48;var hs=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(oe){return new Xl(this,oe)},C}(vn);me(\"PlacedSymbolArray\",hs);var Al=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return H.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},H.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},H.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},H.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},H.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},H.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},H.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},H.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},H.key.get=function(){return this._structArray.uint16[this._pos2+8]},H.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},H.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},H.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},H.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},H.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},H.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},H.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},H.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},H.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},H.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},H.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},H.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},H.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},H.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},H.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},H.crossTileID.set=function(oe){this._structArray.uint32[this._pos4+12]=oe},H.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},H.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},H.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},H.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(C.prototype,H),C}(yi);Al.prototype.size=68;var El=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(oe){return new Al(this,oe)},C}(Rn);me(\"SymbolInstanceArray\",El);var ru=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.getoffsetX=function(oe){return this.float32[oe*1+0]},C}(Ii);me(\"GlyphOffsetArray\",ru);var js=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.getx=function(oe){return this.int16[oe*3+0]},C.prototype.gety=function(oe){return this.int16[oe*3+1]},C.prototype.gettileUnitDistanceFromAnchor=function(oe){return this.int16[oe*3+2]},C}(nn);me(\"SymbolLineVertexArray\",js);var pl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var H={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return H.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},H.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},H.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(C.prototype,H),C}(yi);pl.prototype.size=8;var bl=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.get=function(oe){return new pl(this,oe)},C}(Cn);me(\"FeatureIndexArray\",bl);var Xn=Ei([{name:\"a_pos\",components:2,type:\"Int16\"}],4),kl=Xn.members,Io=function(C){C===void 0&&(C=[]),this.segments=C};Io.prototype.prepareSegment=function(C,H,oe,be){var Pe=this.segments[this.segments.length-1];return C>Io.MAX_VERTEX_ARRAY_LENGTH&&N(\"Max vertices per segment is \"+Io.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+C),(!Pe||Pe.vertexLength+C>Io.MAX_VERTEX_ARRAY_LENGTH||Pe.sortKey!==be)&&(Pe={vertexOffset:H.length,primitiveOffset:oe.length,vertexLength:0,primitiveLength:0},be!==void 0&&(Pe.sortKey=be),this.segments.push(Pe)),Pe},Io.prototype.get=function(){return this.segments},Io.prototype.destroy=function(){for(var C=0,H=this.segments;C>>16)*It&65535)<<16)&4294967295,er=er<<15|er>>>17,er=(er&65535)*Ht+(((er>>>16)*Ht&65535)<<16)&4294967295,Ne^=er,Ne=Ne<<13|Ne>>>19,ft=(Ne&65535)*5+(((Ne>>>16)*5&65535)<<16)&4294967295,Ne=(ft&65535)+27492+(((ft>>>16)+58964&65535)<<16);switch(er=0,be){case 3:er^=(H.charCodeAt(Lr+2)&255)<<16;case 2:er^=(H.charCodeAt(Lr+1)&255)<<8;case 1:er^=H.charCodeAt(Lr)&255,er=(er&65535)*It+(((er>>>16)*It&65535)<<16)&4294967295,er=er<<15|er>>>17,er=(er&65535)*Ht+(((er>>>16)*Ht&65535)<<16)&4294967295,Ne^=er}return Ne^=H.length,Ne^=Ne>>>16,Ne=(Ne&65535)*2246822507+(((Ne>>>16)*2246822507&65535)<<16)&4294967295,Ne^=Ne>>>13,Ne=(Ne&65535)*3266489909+(((Ne>>>16)*3266489909&65535)<<16)&4294967295,Ne^=Ne>>>16,Ne>>>0}k.exports=C}),te=t(function(k){function C(H,oe){for(var be=H.length,Pe=oe^be,Ne=0,ft;be>=4;)ft=H.charCodeAt(Ne)&255|(H.charCodeAt(++Ne)&255)<<8|(H.charCodeAt(++Ne)&255)<<16|(H.charCodeAt(++Ne)&255)<<24,ft=(ft&65535)*1540483477+(((ft>>>16)*1540483477&65535)<<16),ft^=ft>>>24,ft=(ft&65535)*1540483477+(((ft>>>16)*1540483477&65535)<<16),Pe=(Pe&65535)*1540483477+(((Pe>>>16)*1540483477&65535)<<16)^ft,be-=4,++Ne;switch(be){case 3:Pe^=(H.charCodeAt(Ne+2)&255)<<16;case 2:Pe^=(H.charCodeAt(Ne+1)&255)<<8;case 1:Pe^=H.charCodeAt(Ne)&255,Pe=(Pe&65535)*1540483477+(((Pe>>>16)*1540483477&65535)<<16)}return Pe^=Pe>>>13,Pe=(Pe&65535)*1540483477+(((Pe>>>16)*1540483477&65535)<<16),Pe^=Pe>>>15,Pe>>>0}k.exports=C}),ye=xe,je=xe,ke=te;ye.murmur3=je,ye.murmur2=ke;var Qe=function(){this.ids=[],this.positions=[],this.indexed=!1};Qe.prototype.add=function(C,H,oe,be){this.ids.push(jt(C)),this.positions.push(H,oe,be)},Qe.prototype.getPositions=function(C){for(var H=jt(C),oe=0,be=this.ids.length-1;oe>1;this.ids[Pe]>=H?be=Pe:oe=Pe+1}for(var Ne=[];this.ids[oe]===H;){var ft=this.positions[3*oe],It=this.positions[3*oe+1],Ht=this.positions[3*oe+2];Ne.push({index:ft,start:It,end:Ht}),oe++}return Ne},Qe.serialize=function(C,H){var oe=new Float64Array(C.ids),be=new Uint32Array(C.positions);return br(oe,be,0,oe.length-1),H&&H.push(oe.buffer,be.buffer),{ids:oe,positions:be}},Qe.deserialize=function(C){var H=new Qe;return H.ids=C.ids,H.positions=C.positions,H.indexed=!0,H};var vt=Math.pow(2,53)-1;function jt(k){var C=+k;return!isNaN(C)&&C<=vt?C:ye(String(k))}function br(k,C,H,oe){for(;H>1],Pe=H-1,Ne=oe+1;;){do Pe++;while(k[Pe]be);if(Pe>=Ne)break;Nr(k,Pe,Ne),Nr(C,3*Pe,3*Ne),Nr(C,3*Pe+1,3*Ne+1),Nr(C,3*Pe+2,3*Ne+2)}Ne-HNe.x+1||ItNe.y+1)&&N(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return H}function _o(k,C){return{type:k.type,id:k.id,properties:k.properties,geometry:C?fn(k):[]}}function Uo(k,C,H,oe,be){k.emplaceBack(C*2+(oe+1)/2,H*2+(be+1)/2)}var Ds=function(C){this.zoom=C.zoom,this.overscaling=C.overscaling,this.layers=C.layers,this.layerIds=this.layers.map(function(H){return H.id}),this.index=C.index,this.hasPattern=!1,this.layoutVertexArray=new Ma,this.indexArray=new Xi,this.segments=new Io,this.programConfigurations=new Ga(C.layers,C.zoom),this.stateDependentLayerIds=this.layers.filter(function(H){return H.isStateDependent()}).map(function(H){return H.id})};Ds.prototype.populate=function(C,H,oe){var be=this.layers[0],Pe=[],Ne=null;be.type===\"circle\"&&(Ne=be.layout.get(\"circle-sort-key\"));for(var ft=0,It=C;ft=ui||Zr<0||Zr>=ui)){var Vr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,C.sortKey),ua=Vr.vertexLength;Uo(this.layoutVertexArray,Lr,Zr,-1,-1),Uo(this.layoutVertexArray,Lr,Zr,1,-1),Uo(this.layoutVertexArray,Lr,Zr,1,1),Uo(this.layoutVertexArray,Lr,Zr,-1,1),this.indexArray.emplaceBack(ua,ua+1,ua+2),this.indexArray.emplaceBack(ua,ua+3,ua+2),Vr.vertexLength+=4,Vr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,C,oe,{},be)},me(\"CircleBucket\",Ds,{omit:[\"layers\"]});function Oo(k,C){for(var H=0;H=3){for(var Pe=0;Pe1){if(kp(k,C))return!0;for(var oe=0;oe1?k.distSqr(H):k.distSqr(H.sub(C)._mult(be)._add(C))}function ed(k,C){for(var H=!1,oe,be,Pe,Ne=0;NeC.y!=Pe.y>C.y&&C.x<(Pe.x-be.x)*(C.y-be.y)/(Pe.y-be.y)+be.x&&(H=!H)}return H}function Ih(k,C){for(var H=!1,oe=0,be=k.length-1;oeC.y!=Ne.y>C.y&&C.x<(Ne.x-Pe.x)*(C.y-Pe.y)/(Ne.y-Pe.y)+Pe.x&&(H=!H)}return H}function td(k,C,H,oe,be){for(var Pe=0,Ne=k;Pe=ft.x&&be>=ft.y)return!0}var It=[new n(C,H),new n(C,be),new n(oe,be),new n(oe,H)];if(k.length>2)for(var Ht=0,er=It;Htbe.x&&C.x>be.x||k.ybe.y&&C.y>be.y)return!1;var Pe=X(k,C,H[0]);return Pe!==X(k,C,H[1])||Pe!==X(k,C,H[2])||Pe!==X(k,C,H[3])}function Rh(k,C,H){var oe=C.paint.get(k).value;return oe.kind===\"constant\"?oe.value:H.programConfigurations.get(C.id).getMaxValue(k)}function Cp(k){return Math.sqrt(k[0]*k[0]+k[1]*k[1])}function Vp(k,C,H,oe,be){if(!C[0]&&!C[1])return k;var Pe=n.convert(C)._mult(be);H===\"viewport\"&&Pe._rotate(-oe);for(var Ne=[],ft=0;ft0&&(Pe=1/Math.sqrt(Pe)),k[0]=C[0]*Pe,k[1]=C[1]*Pe,k[2]=C[2]*Pe,k}function UT(k,C){return k[0]*C[0]+k[1]*C[1]+k[2]*C[2]}function jT(k,C,H){var oe=C[0],be=C[1],Pe=C[2],Ne=H[0],ft=H[1],It=H[2];return k[0]=be*It-Pe*ft,k[1]=Pe*Ne-oe*It,k[2]=oe*ft-be*Ne,k}function qT(k,C,H){var oe=C[0],be=C[1],Pe=C[2];return k[0]=oe*H[0]+be*H[3]+Pe*H[6],k[1]=oe*H[1]+be*H[4]+Pe*H[7],k[2]=oe*H[2]+be*H[5]+Pe*H[8],k}var VT=lv,vk=function(){var k=sv();return function(C,H,oe,be,Pe,Ne){var ft,It;for(H||(H=3),oe||(oe=0),be?It=Math.min(be*H+oe,C.length):It=C.length,ft=oe;ftk.width||be.height>k.height||H.x>k.width-be.width||H.y>k.height-be.height)throw new RangeError(\"out of range source coordinates for image copy\");if(be.width>C.width||be.height>C.height||oe.x>C.width-be.width||oe.y>C.height-be.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var Ne=k.data,ft=C.data,It=0;It80*H){ft=Ht=k[0],It=er=k[1];for(var ua=H;uaHt&&(Ht=Lr),Zr>er&&(er=Zr);Vr=Math.max(Ht-ft,er-It),Vr=Vr!==0?1/Vr:0}return E0(Pe,Ne,H,ft,It,Vr),Ne}function Mg(k,C,H,oe,be){var Pe,Ne;if(be===U1(k,C,H,oe)>0)for(Pe=C;Pe=C;Pe-=oe)Ne=Ux(Pe,k[Pe],k[Pe+1],Ne);return Ne&&C0(Ne,Ne.next)&&(I0(Ne),Ne=Ne.next),Ne}function uv(k,C){if(!k)return k;C||(C=k);var H=k,oe;do if(oe=!1,!H.steiner&&(C0(H,H.next)||cf(H.prev,H,H.next)===0)){if(I0(H),H=C=H.prev,H===H.next)break;oe=!0}else H=H.next;while(oe||H!==C);return C}function E0(k,C,H,oe,be,Pe,Ne){if(k){!Ne&&Pe&&Eg(k,oe,be,Pe);for(var ft=k,It,Ht;k.prev!==k.next;){if(It=k.prev,Ht=k.next,Pe?Ox(k,oe,be,Pe):Fx(k)){C.push(It.i/H),C.push(k.i/H),C.push(Ht.i/H),I0(k),k=Ht.next,ft=Ht.next;continue}if(k=Ht,k===ft){Ne?Ne===1?(k=k0(uv(k),C,H),E0(k,C,H,oe,be,Pe,2)):Ne===2&&yd(k,C,H,oe,be,Pe):E0(uv(k),C,H,oe,be,Pe,1);break}}}}function Fx(k){var C=k.prev,H=k,oe=k.next;if(cf(C,H,oe)>=0)return!1;for(var be=k.next.next;be!==k.prev;){if(fv(C.x,C.y,H.x,H.y,oe.x,oe.y,be.x,be.y)&&cf(be.prev,be,be.next)>=0)return!1;be=be.next}return!0}function Ox(k,C,H,oe){var be=k.prev,Pe=k,Ne=k.next;if(cf(be,Pe,Ne)>=0)return!1;for(var ft=be.xPe.x?be.x>Ne.x?be.x:Ne.x:Pe.x>Ne.x?Pe.x:Ne.x,er=be.y>Pe.y?be.y>Ne.y?be.y:Ne.y:Pe.y>Ne.y?Pe.y:Ne.y,Lr=F1(ft,It,C,H,oe),Zr=F1(Ht,er,C,H,oe),Vr=k.prevZ,ua=k.nextZ;Vr&&Vr.z>=Lr&&ua&&ua.z<=Zr;){if(Vr!==k.prev&&Vr!==k.next&&fv(be.x,be.y,Pe.x,Pe.y,Ne.x,Ne.y,Vr.x,Vr.y)&&cf(Vr.prev,Vr,Vr.next)>=0||(Vr=Vr.prevZ,ua!==k.prev&&ua!==k.next&&fv(be.x,be.y,Pe.x,Pe.y,Ne.x,Ne.y,ua.x,ua.y)&&cf(ua.prev,ua,ua.next)>=0))return!1;ua=ua.nextZ}for(;Vr&&Vr.z>=Lr;){if(Vr!==k.prev&&Vr!==k.next&&fv(be.x,be.y,Pe.x,Pe.y,Ne.x,Ne.y,Vr.x,Vr.y)&&cf(Vr.prev,Vr,Vr.next)>=0)return!1;Vr=Vr.prevZ}for(;ua&&ua.z<=Zr;){if(ua!==k.prev&&ua!==k.next&&fv(be.x,be.y,Pe.x,Pe.y,Ne.x,Ne.y,ua.x,ua.y)&&cf(ua.prev,ua,ua.next)>=0)return!1;ua=ua.nextZ}return!0}function k0(k,C,H){var oe=k;do{var be=oe.prev,Pe=oe.next.next;!C0(be,Pe)&&kg(be,oe,oe.next,Pe)&&P0(be,Pe)&&P0(Pe,be)&&(C.push(be.i/H),C.push(oe.i/H),C.push(Pe.i/H),I0(oe),I0(oe.next),oe=k=Pe),oe=oe.next}while(oe!==k);return uv(oe)}function yd(k,C,H,oe,be,Pe){var Ne=k;do{for(var ft=Ne.next.next;ft!==Ne.prev;){if(Ne.i!==ft.i&&cm(Ne,ft)){var It=B1(Ne,ft);Ne=uv(Ne,Ne.next),It=uv(It,It.next),E0(Ne,C,H,oe,be,Pe),E0(It,C,H,oe,be,Pe);return}ft=ft.next}Ne=Ne.next}while(Ne!==k)}function cv(k,C,H,oe){var be=[],Pe,Ne,ft,It,Ht;for(Pe=0,Ne=C.length;Pe=H.next.y&&H.next.y!==H.y){var ft=H.x+(be-H.y)*(H.next.x-H.x)/(H.next.y-H.y);if(ft<=oe&&ft>Pe){if(Pe=ft,ft===oe){if(be===H.y)return H;if(be===H.next.y)return H.next}Ne=H.x=H.x&&H.x>=Ht&&oe!==H.x&&fv(beNe.x||H.x===Ne.x&&$T(Ne,H)))&&(Ne=H,Lr=Zr)),H=H.next;while(H!==It);return Ne}function $T(k,C){return cf(k.prev,k,C.prev)<0&&cf(C.next,k,k.next)<0}function Eg(k,C,H,oe){var be=k;do be.z===null&&(be.z=F1(be.x,be.y,C,H,oe)),be.prevZ=be.prev,be.nextZ=be.next,be=be.next;while(be!==k);be.prevZ.nextZ=null,be.prevZ=null,z1(be)}function z1(k){var C,H,oe,be,Pe,Ne,ft,It,Ht=1;do{for(H=k,k=null,Pe=null,Ne=0;H;){for(Ne++,oe=H,ft=0,C=0;C0||It>0&&oe;)ft!==0&&(It===0||!oe||H.z<=oe.z)?(be=H,H=H.nextZ,ft--):(be=oe,oe=oe.nextZ,It--),Pe?Pe.nextZ=be:k=be,be.prevZ=Pe,Pe=be;H=oe}Pe.nextZ=null,Ht*=2}while(Ne>1);return k}function F1(k,C,H,oe,be){return k=32767*(k-H)*be,C=32767*(C-oe)*be,k=(k|k<<8)&16711935,k=(k|k<<4)&252645135,k=(k|k<<2)&858993459,k=(k|k<<1)&1431655765,C=(C|C<<8)&16711935,C=(C|C<<4)&252645135,C=(C|C<<2)&858993459,C=(C|C<<1)&1431655765,k|C<<1}function O1(k){var C=k,H=k;do(C.x=0&&(k-Ne)*(oe-ft)-(H-Ne)*(C-ft)>=0&&(H-Ne)*(Pe-ft)-(be-Ne)*(oe-ft)>=0}function cm(k,C){return k.next.i!==C.i&&k.prev.i!==C.i&&!Nx(k,C)&&(P0(k,C)&&P0(C,k)&&QT(k,C)&&(cf(k.prev,k,C.prev)||cf(k,C.prev,C))||C0(k,C)&&cf(k.prev,k,k.next)>0&&cf(C.prev,C,C.next)>0)}function cf(k,C,H){return(C.y-k.y)*(H.x-C.x)-(C.x-k.x)*(H.y-C.y)}function C0(k,C){return k.x===C.x&&k.y===C.y}function kg(k,C,H,oe){var be=Dv(cf(k,C,H)),Pe=Dv(cf(k,C,oe)),Ne=Dv(cf(H,oe,k)),ft=Dv(cf(H,oe,C));return!!(be!==Pe&&Ne!==ft||be===0&&L0(k,H,C)||Pe===0&&L0(k,oe,C)||Ne===0&&L0(H,k,oe)||ft===0&&L0(H,C,oe))}function L0(k,C,H){return C.x<=Math.max(k.x,H.x)&&C.x>=Math.min(k.x,H.x)&&C.y<=Math.max(k.y,H.y)&&C.y>=Math.min(k.y,H.y)}function Dv(k){return k>0?1:k<0?-1:0}function Nx(k,C){var H=k;do{if(H.i!==k.i&&H.next.i!==k.i&&H.i!==C.i&&H.next.i!==C.i&&kg(H,H.next,k,C))return!0;H=H.next}while(H!==k);return!1}function P0(k,C){return cf(k.prev,k,k.next)<0?cf(k,C,k.next)>=0&&cf(k,k.prev,C)>=0:cf(k,C,k.prev)<0||cf(k,k.next,C)<0}function QT(k,C){var H=k,oe=!1,be=(k.x+C.x)/2,Pe=(k.y+C.y)/2;do H.y>Pe!=H.next.y>Pe&&H.next.y!==H.y&&be<(H.next.x-H.x)*(Pe-H.y)/(H.next.y-H.y)+H.x&&(oe=!oe),H=H.next;while(H!==k);return oe}function B1(k,C){var H=new N1(k.i,k.x,k.y),oe=new N1(C.i,C.x,C.y),be=k.next,Pe=C.prev;return k.next=C,C.prev=k,H.next=be,be.prev=H,oe.next=H,H.prev=oe,Pe.next=oe,oe.prev=Pe,oe}function Ux(k,C,H,oe){var be=new N1(k,C,H);return oe?(be.next=oe.next,be.prev=oe,oe.next.prev=be,oe.next=be):(be.prev=be,be.next=be),be}function I0(k){k.next.prev=k.prev,k.prev.next=k.next,k.prevZ&&(k.prevZ.nextZ=k.nextZ),k.nextZ&&(k.nextZ.prevZ=k.prevZ)}function N1(k,C,H){this.i=k,this.x=C,this.y=H,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}um.deviation=function(k,C,H,oe){var be=C&&C.length,Pe=be?C[0]*H:k.length,Ne=Math.abs(U1(k,0,Pe,H));if(be)for(var ft=0,It=C.length;ft0&&(oe+=k[be-1].length,H.holes.push(oe))}return H},Sg.default=zx;function j1(k,C,H,oe,be){Hd(k,C,H||0,oe||k.length-1,be||jx)}function Hd(k,C,H,oe,be){for(;oe>H;){if(oe-H>600){var Pe=oe-H+1,Ne=C-H+1,ft=Math.log(Pe),It=.5*Math.exp(2*ft/3),Ht=.5*Math.sqrt(ft*It*(Pe-It)/Pe)*(Ne-Pe/2<0?-1:1),er=Math.max(H,Math.floor(C-Ne*It/Pe+Ht)),Lr=Math.min(oe,Math.floor(C+(Pe-Ne)*It/Pe+Ht));Hd(k,C,er,Lr,be)}var Zr=k[C],Vr=H,ua=oe;for(fm(k,H,C),be(k[oe],Zr)>0&&fm(k,H,oe);Vr0;)ua--}be(k[H],Zr)===0?fm(k,H,ua):(ua++,fm(k,ua,oe)),ua<=C&&(H=ua+1),C<=ua&&(oe=ua-1)}}function fm(k,C,H){var oe=k[C];k[C]=k[H],k[H]=oe}function jx(k,C){return kC?1:0}function Cg(k,C){var H=k.length;if(H<=1)return[k];for(var oe=[],be,Pe,Ne=0;Ne1)for(var It=0;It>3}if(oe--,H===1||H===2)be+=k.readSVarint(),Pe+=k.readSVarint(),H===1&&(ft&&Ne.push(ft),ft=[]),ft.push(new n(be,Pe));else if(H===7)ft&&ft.push(ft[0].clone());else throw new Error(\"unknown command \"+H)}return ft&&Ne.push(ft),Ne},zv.prototype.bbox=function(){var k=this._pbf;k.pos=this._geometry;for(var C=k.readVarint()+k.pos,H=1,oe=0,be=0,Pe=0,Ne=1/0,ft=-1/0,It=1/0,Ht=-1/0;k.pos>3}if(oe--,H===1||H===2)be+=k.readSVarint(),Pe+=k.readSVarint(),beft&&(ft=be),PeHt&&(Ht=Pe);else if(H!==7)throw new Error(\"unknown command \"+H)}return[Ne,It,ft,Ht]},zv.prototype.toGeoJSON=function(k,C,H){var oe=this.extent*Math.pow(2,H),be=this.extent*k,Pe=this.extent*C,Ne=this.loadGeometry(),ft=zv.types[this.type],It,Ht;function er(Vr){for(var ua=0;ua>3;C=oe===1?k.readString():oe===2?k.readFloat():oe===3?k.readDouble():oe===4?k.readVarint64():oe===5?k.readVarint():oe===6?k.readSVarint():oe===7?k.readBoolean():null}return C}G1.prototype.feature=function(k){if(k<0||k>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[k];var C=this._pbf.readVarint()+this._pbf.pos;return new V1(this._pbf,C,this.extent,this._keys,this._values)};var Jx=tA;function tA(k,C){this.layers=k.readFields(rA,{},C)}function rA(k,C,H){if(k===3){var oe=new Wd(H,H.readVarint()+H.pos);oe.length&&(C[oe.name]=oe)}}var $x=Jx,hm=V1,Qx=Wd,Xd={VectorTile:$x,VectorTileFeature:hm,VectorTileLayer:Qx},eb=Xd.VectorTileFeature.types,Pg=500,pm=Math.pow(2,13);function hv(k,C,H,oe,be,Pe,Ne,ft){k.emplaceBack(C,H,Math.floor(oe*pm)*2+Ne,be*pm*2,Pe*pm*2,Math.round(ft))}var cd=function(C){this.zoom=C.zoom,this.overscaling=C.overscaling,this.layers=C.layers,this.layerIds=this.layers.map(function(H){return H.id}),this.index=C.index,this.hasPattern=!1,this.layoutVertexArray=new di,this.indexArray=new Xi,this.programConfigurations=new Ga(C.layers,C.zoom),this.segments=new Io,this.stateDependentLayerIds=this.layers.filter(function(H){return H.isStateDependent()}).map(function(H){return H.id})};cd.prototype.populate=function(C,H,oe){this.features=[],this.hasPattern=Lg(\"fill-extrusion\",this.layers,H);for(var be=0,Pe=C;be=1){var Ji=Mi[$i-1];if(!aA(Oi,Ji)){Vr.vertexLength+4>Io.MAX_VERTEX_ARRAY_LENGTH&&(Vr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var ln=Oi.sub(Ji)._perp()._unit(),bn=Ji.dist(Oi);ii+bn>32768&&(ii=0),hv(this.layoutVertexArray,Oi.x,Oi.y,ln.x,ln.y,0,0,ii),hv(this.layoutVertexArray,Oi.x,Oi.y,ln.x,ln.y,0,1,ii),ii+=bn,hv(this.layoutVertexArray,Ji.x,Ji.y,ln.x,ln.y,0,0,ii),hv(this.layoutVertexArray,Ji.x,Ji.y,ln.x,ln.y,0,1,ii);var qn=Vr.vertexLength;this.indexArray.emplaceBack(qn,qn+2,qn+1),this.indexArray.emplaceBack(qn+1,qn+2,qn+3),Vr.vertexLength+=4,Vr.primitiveLength+=2}}}}if(Vr.vertexLength+Ht>Io.MAX_VERTEX_ARRAY_LENGTH&&(Vr=this.segments.prepareSegment(Ht,this.layoutVertexArray,this.indexArray)),eb[C.type]===\"Polygon\"){for(var Nn=[],Eo=[],oo=Vr.vertexLength,mo=0,Ps=It;moui)||k.y===C.y&&(k.y<0||k.y>ui)}function iA(k){return k.every(function(C){return C.x<0})||k.every(function(C){return C.x>ui})||k.every(function(C){return C.y<0})||k.every(function(C){return C.y>ui})}var dm=new ma({\"fill-extrusion-opacity\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Xt(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new fr(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Xt(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Xt(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new it(Gi[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),wh={paint:dm},pv=function(k){function C(H){k.call(this,H,wh)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.createBucket=function(oe){return new cd(oe)},C.prototype.queryRadius=function(){return Cp(this.paint.get(\"fill-extrusion-translate\"))},C.prototype.is3D=function(){return!0},C.prototype.queryIntersectsFeature=function(oe,be,Pe,Ne,ft,It,Ht,er){var Lr=Vp(oe,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),It.angle,Ht),Zr=this.paint.get(\"fill-extrusion-height\").evaluate(be,Pe),Vr=this.paint.get(\"fill-extrusion-base\").evaluate(be,Pe),ua=nA(Lr,er,It,0),Oa=W1(Ne,Vr,Zr,er),Mi=Oa[0],ii=Oa[1];return tb(Mi,ii,ua)},C}(Ya);function Fv(k,C){return k.x*C.x+k.y*C.y}function H1(k,C){if(k.length===1){for(var H=0,oe=C[H++],be;!be||oe.equals(be);)if(be=C[H++],!be)return 1/0;for(;H=2&&C[Ht-1].equals(C[Ht-2]);)Ht--;for(var er=0;er0;if(Nn&&$i>er){var oo=Vr.dist(ua);if(oo>2*Lr){var mo=Vr.sub(Vr.sub(ua)._mult(Lr/oo)._round());this.updateDistance(ua,mo),this.addCurrentVertex(mo,Mi,0,0,Zr),ua=mo}}var Ps=ua&&Oa,ko=Ps?oe:It?\"butt\":be;if(Ps&&ko===\"round\"&&(bnPe&&(ko=\"bevel\"),ko===\"bevel\"&&(bn>2&&(ko=\"flipbevel\"),bn100)Oi=ii.mult(-1);else{var Do=bn*Mi.add(ii).mag()/Mi.sub(ii).mag();Oi._perp()._mult(Do*(Eo?-1:1))}this.addCurrentVertex(Vr,Oi,0,0,Zr),this.addCurrentVertex(Vr,Oi.mult(-1),0,0,Zr)}else if(ko===\"bevel\"||ko===\"fakeround\"){var $s=-Math.sqrt(bn*bn-1),Ss=Eo?$s:0,Zl=Eo?0:$s;if(ua&&this.addCurrentVertex(Vr,Mi,Ss,Zl,Zr),ko===\"fakeround\")for(var zu=Math.round(qn*180/Math.PI/Z1),Yl=1;Yl2*Lr){var Zf=Vr.add(Oa.sub(Vr)._mult(Lr/gh)._round());this.updateDistance(Vr,Zf),this.addCurrentVertex(Zf,ii,0,0,Zr),Vr=Zf}}}}},Hf.prototype.addCurrentVertex=function(C,H,oe,be,Pe,Ne){Ne===void 0&&(Ne=!1);var ft=H.x+H.y*oe,It=H.y-H.x*oe,Ht=-H.x+H.y*be,er=-H.y-H.x*be;this.addHalfVertex(C,ft,It,Ne,!1,oe,Pe),this.addHalfVertex(C,Ht,er,Ne,!0,-be,Pe),this.distance>O0/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(C,H,oe,be,Pe,Ne))},Hf.prototype.addHalfVertex=function(C,H,oe,be,Pe,Ne,ft){var It=C.x,Ht=C.y,er=this.lineClips?this.scaledDistance*(O0-1):this.scaledDistance,Lr=er*Rg;if(this.layoutVertexArray.emplaceBack((It<<1)+(be?1:0),(Ht<<1)+(Pe?1:0),Math.round(Ig*H)+128,Math.round(Ig*oe)+128,(Ne===0?0:Ne<0?-1:1)+1|(Lr&63)<<2,Lr>>6),this.lineClips){var Zr=this.scaledDistance-this.lineClips.start,Vr=this.lineClips.end-this.lineClips.start,ua=Zr/Vr;this.layoutVertexArray2.emplaceBack(ua,this.lineClipsArray.length)}var Oa=ft.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Oa),ft.primitiveLength++),Pe?this.e2=Oa:this.e1=Oa},Hf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Hf.prototype.updateDistance=function(C,H){this.distance+=C.dist(H),this.updateScaledDistance()},me(\"LineBucket\",Hf,{omit:[\"layers\",\"patternFeatures\"]});var Y1=new ma({\"line-cap\":new it(Gi.layout_line[\"line-cap\"]),\"line-join\":new Xt(Gi.layout_line[\"line-join\"]),\"line-miter-limit\":new it(Gi.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new it(Gi.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Xt(Gi.layout_line[\"line-sort-key\"])}),K1=new ma({\"line-opacity\":new Xt(Gi.paint_line[\"line-opacity\"]),\"line-color\":new Xt(Gi.paint_line[\"line-color\"]),\"line-translate\":new it(Gi.paint_line[\"line-translate\"]),\"line-translate-anchor\":new it(Gi.paint_line[\"line-translate-anchor\"]),\"line-width\":new Xt(Gi.paint_line[\"line-width\"]),\"line-gap-width\":new Xt(Gi.paint_line[\"line-gap-width\"]),\"line-offset\":new Xt(Gi.paint_line[\"line-offset\"]),\"line-blur\":new Xt(Gi.paint_line[\"line-blur\"]),\"line-dasharray\":new oa(Gi.paint_line[\"line-dasharray\"]),\"line-pattern\":new fr(Gi.paint_line[\"line-pattern\"]),\"line-gradient\":new Ta(Gi.paint_line[\"line-gradient\"])}),Dg={paint:K1,layout:Y1},sA=function(k){function C(){k.apply(this,arguments)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.possiblyEvaluate=function(oe,be){return be=new mn(Math.floor(be.zoom),{now:be.now,fadeDuration:be.fadeDuration,zoomHistory:be.zoomHistory,transition:be.transition}),k.prototype.possiblyEvaluate.call(this,oe,be)},C.prototype.evaluate=function(oe,be,Pe,Ne){return be=m({},be,{zoom:Math.floor(be.zoom)}),k.prototype.evaluate.call(this,oe,be,Pe,Ne)},C}(Xt),W=new sA(Dg.paint.properties[\"line-width\"].specification);W.useIntegerZoom=!0;var R=function(k){function C(H){k.call(this,H,Dg),this.gradientVersion=0}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype._handleSpecialPaintPropertyUpdate=function(oe){if(oe===\"line-gradient\"){var be=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=be._styleExpression.expression instanceof Tu,this.gradientVersion=(this.gradientVersion+1)%f}},C.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},C.prototype.recalculate=function(oe,be){k.prototype.recalculate.call(this,oe,be),this.paint._values[\"line-floorwidth\"]=W.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,oe)},C.prototype.createBucket=function(oe){return new Hf(oe)},C.prototype.queryRadius=function(oe){var be=oe,Pe=J(Rh(\"line-width\",this,be),Rh(\"line-gap-width\",this,be)),Ne=Rh(\"line-offset\",this,be);return Pe/2+Math.abs(Ne)+Cp(this.paint.get(\"line-translate\"))},C.prototype.queryIntersectsFeature=function(oe,be,Pe,Ne,ft,It,Ht){var er=Vp(oe,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),It.angle,Ht),Lr=Ht/2*J(this.paint.get(\"line-width\").evaluate(be,Pe),this.paint.get(\"line-gap-width\").evaluate(be,Pe)),Zr=this.paint.get(\"line-offset\").evaluate(be,Pe);return Zr&&(Ne=ve(Ne,Zr*Ht)),mu(er,Ne,Lr)},C.prototype.isTileClipped=function(){return!0},C}(Ya);function J(k,C){return C>0?C+2*k:k}function ve(k,C){for(var H=[],oe=new n(0,0),be=0;be\":\"\\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\"};function qi(k){for(var C=\"\",H=0;H>1,er=-7,Lr=H?be-1:0,Zr=H?-1:1,Vr=k[C+Lr];for(Lr+=Zr,Pe=Vr&(1<<-er)-1,Vr>>=-er,er+=ft;er>0;Pe=Pe*256+k[C+Lr],Lr+=Zr,er-=8);for(Ne=Pe&(1<<-er)-1,Pe>>=-er,er+=oe;er>0;Ne=Ne*256+k[C+Lr],Lr+=Zr,er-=8);if(Pe===0)Pe=1-Ht;else{if(Pe===It)return Ne?NaN:(Vr?-1:1)*(1/0);Ne=Ne+Math.pow(2,oe),Pe=Pe-Ht}return(Vr?-1:1)*Ne*Math.pow(2,Pe-oe)},Lo=function(k,C,H,oe,be,Pe){var Ne,ft,It,Ht=Pe*8-be-1,er=(1<>1,Zr=be===23?Math.pow(2,-24)-Math.pow(2,-77):0,Vr=oe?0:Pe-1,ua=oe?1:-1,Oa=C<0||C===0&&1/C<0?1:0;for(C=Math.abs(C),isNaN(C)||C===1/0?(ft=isNaN(C)?1:0,Ne=er):(Ne=Math.floor(Math.log(C)/Math.LN2),C*(It=Math.pow(2,-Ne))<1&&(Ne--,It*=2),Ne+Lr>=1?C+=Zr/It:C+=Zr*Math.pow(2,1-Lr),C*It>=2&&(Ne++,It/=2),Ne+Lr>=er?(ft=0,Ne=er):Ne+Lr>=1?(ft=(C*It-1)*Math.pow(2,be),Ne=Ne+Lr):(ft=C*Math.pow(2,Lr-1)*Math.pow(2,be),Ne=0));be>=8;k[H+Vr]=ft&255,Vr+=ua,ft/=256,be-=8);for(Ne=Ne<0;k[H+Vr]=Ne&255,Vr+=ua,Ne/=256,Ht-=8);k[H+Vr-ua]|=Oa*128},_s={read:jn,write:Lo},vo=zn;function zn(k){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(k)?k:new Uint8Array(k||0),this.pos=0,this.type=0,this.length=this.buf.length}zn.Varint=0,zn.Fixed64=1,zn.Bytes=2,zn.Fixed32=5;var is=65536*65536,qo=1/is,Bo=12,xn=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf8\");zn.prototype={destroy:function(){this.buf=null},readFields:function(k,C,H){for(H=H||this.length;this.pos>3,Pe=this.pos;this.type=oe&7,k(be,C,this),this.pos===Pe&&this.skip(oe)}return C},readMessage:function(k,C){return this.readFields(k,C,this.readVarint()+this.pos)},readFixed32:function(){var k=dh(this.buf,this.pos);return this.pos+=4,k},readSFixed32:function(){var k=Rp(this.buf,this.pos);return this.pos+=4,k},readFixed64:function(){var k=dh(this.buf,this.pos)+dh(this.buf,this.pos+4)*is;return this.pos+=8,k},readSFixed64:function(){var k=dh(this.buf,this.pos)+Rp(this.buf,this.pos+4)*is;return this.pos+=8,k},readFloat:function(){var k=_s.read(this.buf,this.pos,!0,23,4);return this.pos+=4,k},readDouble:function(){var k=_s.read(this.buf,this.pos,!0,52,8);return this.pos+=8,k},readVarint:function(k){var C=this.buf,H,oe;return oe=C[this.pos++],H=oe&127,oe<128||(oe=C[this.pos++],H|=(oe&127)<<7,oe<128)||(oe=C[this.pos++],H|=(oe&127)<<14,oe<128)||(oe=C[this.pos++],H|=(oe&127)<<21,oe<128)?H:(oe=C[this.pos],H|=(oe&15)<<28,cs(H,k,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var k=this.readVarint();return k%2===1?(k+1)/-2:k/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var k=this.readVarint()+this.pos,C=this.pos;return this.pos=k,k-C>=Bo&&xn?pu(this.buf,C,k):vp(this.buf,C,k)},readBytes:function(){var k=this.readVarint()+this.pos,C=this.buf.subarray(this.pos,k);return this.pos=k,C},readPackedVarint:function(k,C){if(this.type!==zn.Bytes)return k.push(this.readVarint(C));var H=No(this);for(k=k||[];this.pos127;);else if(C===zn.Bytes)this.pos=this.readVarint()+this.pos;else if(C===zn.Fixed32)this.pos+=4;else if(C===zn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+C)},writeTag:function(k,C){this.writeVarint(k<<3|C)},realloc:function(k){for(var C=this.length||16;C268435455||k<0){Ku(k,this);return}this.realloc(4),this.buf[this.pos++]=k&127|(k>127?128:0),!(k<=127)&&(this.buf[this.pos++]=(k>>>=7)&127|(k>127?128:0),!(k<=127)&&(this.buf[this.pos++]=(k>>>=7)&127|(k>127?128:0),!(k<=127)&&(this.buf[this.pos++]=k>>>7&127)))},writeSVarint:function(k){this.writeVarint(k<0?-k*2-1:k*2)},writeBoolean:function(k){this.writeVarint(!!k)},writeString:function(k){k=String(k),this.realloc(k.length*4),this.pos++;var C=this.pos;this.pos=fc(this.buf,k,this.pos);var H=this.pos-C;H>=128&&Hp(C,H,this),this.pos=C-1,this.writeVarint(H),this.pos+=H},writeFloat:function(k){this.realloc(4),_s.write(this.buf,k,this.pos,!0,23,4),this.pos+=4},writeDouble:function(k){this.realloc(8),_s.write(this.buf,k,this.pos,!0,52,8),this.pos+=8},writeBytes:function(k){var C=k.length;this.writeVarint(C),this.realloc(C);for(var H=0;H=128&&Hp(H,oe,this),this.pos=H-1,this.writeVarint(oe),this.pos+=oe},writeMessage:function(k,C,H){this.writeTag(k,zn.Bytes),this.writeRawMessage(C,H)},writePackedVarint:function(k,C){C.length&&this.writeMessage(k,Th,C)},writePackedSVarint:function(k,C){C.length&&this.writeMessage(k,rh,C)},writePackedBoolean:function(k,C){C.length&&this.writeMessage(k,Qh,C)},writePackedFloat:function(k,C){C.length&&this.writeMessage(k,Jh,C)},writePackedDouble:function(k,C){C.length&&this.writeMessage(k,$h,C)},writePackedFixed32:function(k,C){C.length&&this.writeMessage(k,ff,C)},writePackedSFixed32:function(k,C){C.length&&this.writeMessage(k,ah,C)},writePackedFixed64:function(k,C){C.length&&this.writeMessage(k,Fh,C)},writePackedSFixed64:function(k,C){C.length&&this.writeMessage(k,Ah,C)},writeBytesField:function(k,C){this.writeTag(k,zn.Bytes),this.writeBytes(C)},writeFixed32Field:function(k,C){this.writeTag(k,zn.Fixed32),this.writeFixed32(C)},writeSFixed32Field:function(k,C){this.writeTag(k,zn.Fixed32),this.writeSFixed32(C)},writeFixed64Field:function(k,C){this.writeTag(k,zn.Fixed64),this.writeFixed64(C)},writeSFixed64Field:function(k,C){this.writeTag(k,zn.Fixed64),this.writeSFixed64(C)},writeVarintField:function(k,C){this.writeTag(k,zn.Varint),this.writeVarint(C)},writeSVarintField:function(k,C){this.writeTag(k,zn.Varint),this.writeSVarint(C)},writeStringField:function(k,C){this.writeTag(k,zn.Bytes),this.writeString(C)},writeFloatField:function(k,C){this.writeTag(k,zn.Fixed32),this.writeFloat(C)},writeDoubleField:function(k,C){this.writeTag(k,zn.Fixed64),this.writeDouble(C)},writeBooleanField:function(k,C){this.writeVarintField(k,!!C)}};function cs(k,C,H){var oe=H.buf,be,Pe;if(Pe=oe[H.pos++],be=(Pe&112)>>4,Pe<128||(Pe=oe[H.pos++],be|=(Pe&127)<<3,Pe<128)||(Pe=oe[H.pos++],be|=(Pe&127)<<10,Pe<128)||(Pe=oe[H.pos++],be|=(Pe&127)<<17,Pe<128)||(Pe=oe[H.pos++],be|=(Pe&127)<<24,Pe<128)||(Pe=oe[H.pos++],be|=(Pe&1)<<31,Pe<128))return Is(k,be,C);throw new Error(\"Expected varint not more than 10 bytes\")}function No(k){return k.type===zn.Bytes?k.readVarint()+k.pos:k.pos+1}function Is(k,C,H){return H?C*4294967296+(k>>>0):(C>>>0)*4294967296+(k>>>0)}function Ku(k,C){var H,oe;if(k>=0?(H=k%4294967296|0,oe=k/4294967296|0):(H=~(-k%4294967296),oe=~(-k/4294967296),H^4294967295?H=H+1|0:(H=0,oe=oe+1|0)),k>=18446744073709552e3||k<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");C.realloc(10),Uu(H,oe,C),th(oe,C)}function Uu(k,C,H){H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos++]=k&127|128,k>>>=7,H.buf[H.pos]=k&127}function th(k,C){var H=(k&7)<<4;C.buf[C.pos++]|=H|((k>>>=3)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127|((k>>>=7)?128:0),k&&(C.buf[C.pos++]=k&127)))))}function Hp(k,C,H){var oe=C<=16383?1:C<=2097151?2:C<=268435455?3:Math.floor(Math.log(C)/(Math.LN2*7));H.realloc(oe);for(var be=H.pos-1;be>=k;be--)H.buf[be+oe]=H.buf[be]}function Th(k,C){for(var H=0;H>>8,k[H+2]=C>>>16,k[H+3]=C>>>24}function Rp(k,C){return(k[C]|k[C+1]<<8|k[C+2]<<16)+(k[C+3]<<24)}function vp(k,C,H){for(var oe=\"\",be=C;be239?4:Pe>223?3:Pe>191?2:1;if(be+ft>H)break;var It,Ht,er;ft===1?Pe<128&&(Ne=Pe):ft===2?(It=k[be+1],(It&192)===128&&(Ne=(Pe&31)<<6|It&63,Ne<=127&&(Ne=null))):ft===3?(It=k[be+1],Ht=k[be+2],(It&192)===128&&(Ht&192)===128&&(Ne=(Pe&15)<<12|(It&63)<<6|Ht&63,(Ne<=2047||Ne>=55296&&Ne<=57343)&&(Ne=null))):ft===4&&(It=k[be+1],Ht=k[be+2],er=k[be+3],(It&192)===128&&(Ht&192)===128&&(er&192)===128&&(Ne=(Pe&15)<<18|(It&63)<<12|(Ht&63)<<6|er&63,(Ne<=65535||Ne>=1114112)&&(Ne=null))),Ne===null?(Ne=65533,ft=1):Ne>65535&&(Ne-=65536,oe+=String.fromCharCode(Ne>>>10&1023|55296),Ne=56320|Ne&1023),oe+=String.fromCharCode(Ne),be+=ft}return oe}function pu(k,C,H){return xn.decode(k.subarray(C,H))}function fc(k,C,H){for(var oe=0,be,Pe;oe55295&&be<57344)if(Pe)if(be<56320){k[H++]=239,k[H++]=191,k[H++]=189,Pe=be;continue}else be=Pe-55296<<10|be-56320|65536,Pe=null;else{be>56319||oe+1===C.length?(k[H++]=239,k[H++]=191,k[H++]=189):Pe=be;continue}else Pe&&(k[H++]=239,k[H++]=191,k[H++]=189,Pe=null);be<128?k[H++]=be:(be<2048?k[H++]=be>>6|192:(be<65536?k[H++]=be>>12|224:(k[H++]=be>>18|240,k[H++]=be>>12&63|128),k[H++]=be>>6&63|128),k[H++]=be&63|128)}return H}var Ju=3;function Dp(k,C,H){k===1&&H.readMessage(Qc,C)}function Qc(k,C,H){if(k===3){var oe=H.readMessage(vm,{}),be=oe.id,Pe=oe.bitmap,Ne=oe.width,ft=oe.height,It=oe.left,Ht=oe.top,er=oe.advance;C.push({id:be,bitmap:new Ip({width:Ne+2*Ju,height:ft+2*Ju},Pe),metrics:{width:Ne,height:ft,left:It,top:Ht,advance:er}})}}function vm(k,C,H){k===1?C.id=H.readVarint():k===2?C.bitmap=H.readBytes():k===3?C.width=H.readVarint():k===4?C.height=H.readVarint():k===5?C.left=H.readSVarint():k===6?C.top=H.readSVarint():k===7&&(C.advance=H.readVarint())}function _d(k){return new vo(k).readFields(Dp,[])}var fd=Ju;function Wp(k){for(var C=0,H=0,oe=0,be=k;oe=0;Vr--){var ua=ft[Vr];if(!(Zr.w>ua.w||Zr.h>ua.h)){if(Zr.x=ua.x,Zr.y=ua.y,Ht=Math.max(Ht,Zr.y+Zr.h),It=Math.max(It,Zr.x+Zr.w),Zr.w===ua.w&&Zr.h===ua.h){var Oa=ft.pop();Vr=0&&be>=C&&bd[this.text.charCodeAt(be)];be--)oe--;this.text=this.text.substring(C,oe),this.sectionIndex=this.sectionIndex.slice(C,oe)},vh.prototype.substring=function(C,H){var oe=new vh;return oe.text=this.text.substring(C,H),oe.sectionIndex=this.sectionIndex.slice(C,H),oe.sections=this.sections,oe},vh.prototype.toString=function(){return this.text},vh.prototype.getMaxScale=function(){var C=this;return this.sectionIndex.reduce(function(H,oe){return Math.max(H,C.sections[oe].scale)},0)},vh.prototype.addTextSection=function(C,H){this.text+=C.text,this.sections.push(Ov.forText(C.scale,C.fontStack||H));for(var oe=this.sections.length-1,be=0;be=xd?null:++this.imageSectionID:(this.imageSectionID=zg,this.imageSectionID)};function lA(k,C){for(var H=[],oe=k.text,be=0,Pe=0,Ne=C;Pe=0,er=0,Lr=0;Lr0&&Zf>Eo&&(Eo=Zf)}else{var Kl=H[mo.fontStack],Ol=Kl&&Kl[ko];if(Ol&&Ol.rect)Ss=Ol.rect,$s=Ol.metrics;else{var $u=C[mo.fontStack],hc=$u&&$u[ko];if(!hc)continue;$s=hc.metrics}Do=(ln-mo.scale)*en}Yl?(k.verticalizable=!0,Nn.push({glyph:ko,imageName:Zl,x:Zr,y:Vr+Do,vertical:Yl,scale:mo.scale,fontStack:mo.fontStack,sectionIndex:Ps,metrics:$s,rect:Ss}),Zr+=zu*mo.scale+Ht):(Nn.push({glyph:ko,imageName:Zl,x:Zr,y:Vr+Do,vertical:Yl,scale:mo.scale,fontStack:mo.fontStack,sectionIndex:Ps,metrics:$s,rect:Ss}),Zr+=$s.advance*mo.scale+Ht)}if(Nn.length!==0){var tp=Zr-Ht;ua=Math.max(tp,ua),hA(Nn,0,Nn.length-1,Mi,Eo)}Zr=0;var rp=Pe*ln+Eo;qn.lineOffset=Math.max(Eo,bn),Vr+=rp,Oa=Math.max(rp,Oa),++ii}var yh=Vr-mm,yp=$1(Ne),_p=yp.horizontalAlign,ih=yp.verticalAlign;Oh(k.positionedLines,Mi,_p,ih,ua,Oa,Pe,yh,be.length),k.top+=-ih*yh,k.bottom=k.top+yh,k.left+=-_p*ua,k.right=k.left+ua}function hA(k,C,H,oe,be){if(!(!oe&&!be))for(var Pe=k[H],Ne=Pe.metrics.advance*Pe.scale,ft=(k[H].x+Ne)*oe,It=C;It<=H;It++)k[It].x-=ft,k[It].y+=be}function Oh(k,C,H,oe,be,Pe,Ne,ft,It){var Ht=(C-H)*be,er=0;Pe!==Ne?er=-ft*oe-mm:er=(-oe*It+.5)*Ne;for(var Lr=0,Zr=k;Lr-H/2;){if(Ne--,Ne<0)return!1;ft-=k[Ne].dist(Pe),Pe=k[Ne]}ft+=k[Ne].dist(k[Ne+1]),Ne++;for(var It=[],Ht=0;ftoe;)Ht-=It.shift().angleDelta;if(Ht>be)return!1;Ne++,ft+=Lr.dist(Zr)}return!0}function xk(k){for(var C=0,H=0;HHt){var ua=(Ht-It)/Vr,Oa=Ml(Lr.x,Zr.x,ua),Mi=Ml(Lr.y,Zr.y,ua),ii=new ep(Oa,Mi,Zr.angleTo(Lr),er);return ii._round(),!Ne||_k(k,ii,ft,Ne,C)?ii:void 0}It+=Vr}}function xW(k,C,H,oe,be,Pe,Ne,ft,It){var Ht=bk(oe,Pe,Ne),er=wk(oe,be),Lr=er*Ne,Zr=k[0].x===0||k[0].x===It||k[0].y===0||k[0].y===It;C-Lr=0&&Ji=0&&ln=0&&Zr+Ht<=er){var bn=new ep(Ji,ln,$i,ua);bn._round(),(!oe||_k(k,bn,Pe,oe,be))&&Vr.push(bn)}}Lr+=ii}return!ft&&!Vr.length&&!Ne&&(Vr=Tk(k,Lr/2,H,oe,be,Pe,Ne,!0,It)),Vr}function Ak(k,C,H,oe,be){for(var Pe=[],Ne=0;Ne=oe&&Lr.x>=oe)&&(er.x>=oe?er=new n(oe,er.y+(Lr.y-er.y)*((oe-er.x)/(Lr.x-er.x)))._round():Lr.x>=oe&&(Lr=new n(oe,er.y+(Lr.y-er.y)*((oe-er.x)/(Lr.x-er.x)))._round()),!(er.y>=be&&Lr.y>=be)&&(er.y>=be?er=new n(er.x+(Lr.x-er.x)*((be-er.y)/(Lr.y-er.y)),be)._round():Lr.y>=be&&(Lr=new n(er.x+(Lr.x-er.x)*((be-er.y)/(Lr.y-er.y)),be)._round()),(!It||!er.equals(It[It.length-1]))&&(It=[er],Pe.push(It)),It.push(Lr)))))}return Pe}var Bg=zc;function Sk(k,C,H,oe){var be=[],Pe=k.image,Ne=Pe.pixelRatio,ft=Pe.paddedRect.w-2*Bg,It=Pe.paddedRect.h-2*Bg,Ht=k.right-k.left,er=k.bottom-k.top,Lr=Pe.stretchX||[[0,ft]],Zr=Pe.stretchY||[[0,It]],Vr=function(Kl,Ol){return Kl+Ol[1]-Ol[0]},ua=Lr.reduce(Vr,0),Oa=Zr.reduce(Vr,0),Mi=ft-ua,ii=It-Oa,$i=0,Oi=ua,Ji=0,ln=Oa,bn=0,qn=Mi,Nn=0,Eo=ii;if(Pe.content&&oe){var oo=Pe.content;$i=ub(Lr,0,oo[0]),Ji=ub(Zr,0,oo[1]),Oi=ub(Lr,oo[0],oo[2]),ln=ub(Zr,oo[1],oo[3]),bn=oo[0]-$i,Nn=oo[1]-Ji,qn=oo[2]-oo[0]-Oi,Eo=oo[3]-oo[1]-ln}var mo=function(Kl,Ol,$u,hc){var hf=cb(Kl.stretch-$i,Oi,Ht,k.left),_f=fb(Kl.fixed-bn,qn,Kl.stretch,ua),gh=cb(Ol.stretch-Ji,ln,er,k.top),Zf=fb(Ol.fixed-Nn,Eo,Ol.stretch,Oa),tp=cb($u.stretch-$i,Oi,Ht,k.left),rp=fb($u.fixed-bn,qn,$u.stretch,ua),yh=cb(hc.stretch-Ji,ln,er,k.top),yp=fb(hc.fixed-Nn,Eo,hc.stretch,Oa),_p=new n(hf,gh),ih=new n(tp,gh),xp=new n(tp,yh),nd=new n(hf,yh),Uv=new n(_f/Ne,Zf/Ne),_m=new n(rp/Ne,yp/Ne),xm=C*Math.PI/180;if(xm){var bm=Math.sin(xm),Wg=Math.cos(xm),wd=[Wg,-bm,bm,Wg];_p._matMult(wd),ih._matMult(wd),nd._matMult(wd),xp._matMult(wd)}var gb=Kl.stretch+Kl.fixed,xA=$u.stretch+$u.fixed,yb=Ol.stretch+Ol.fixed,bA=hc.stretch+hc.fixed,hd={x:Pe.paddedRect.x+Bg+gb,y:Pe.paddedRect.y+Bg+yb,w:xA-gb,h:bA-yb},Xg=qn/Ne/Ht,_b=Eo/Ne/er;return{tl:_p,tr:ih,bl:nd,br:xp,tex:hd,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Uv,pixelOffsetBR:_m,minFontScaleX:Xg,minFontScaleY:_b,isSDF:H}};if(!oe||!Pe.stretchX&&!Pe.stretchY)be.push(mo({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:ft+1},{fixed:0,stretch:It+1}));else for(var Ps=Mk(Lr,Mi,ua),ko=Mk(Zr,ii,Oa),Do=0;Do0&&(ua=Math.max(10,ua),this.circleDiameter=ua)}else{var Oa=Ne.top*ft-It,Mi=Ne.bottom*ft+It,ii=Ne.left*ft-It,$i=Ne.right*ft+It,Oi=Ne.collisionPadding;if(Oi&&(ii-=Oi[0]*ft,Oa-=Oi[1]*ft,$i+=Oi[2]*ft,Mi+=Oi[3]*ft),er){var Ji=new n(ii,Oa),ln=new n($i,Oa),bn=new n(ii,Mi),qn=new n($i,Mi),Nn=er*Math.PI/180;Ji._rotate(Nn),ln._rotate(Nn),bn._rotate(Nn),qn._rotate(Nn),ii=Math.min(Ji.x,ln.x,bn.x,qn.x),$i=Math.max(Ji.x,ln.x,bn.x,qn.x),Oa=Math.min(Ji.y,ln.y,bn.y,qn.y),Mi=Math.max(Ji.y,ln.y,bn.y,qn.y)}C.emplaceBack(H.x,H.y,ii,Oa,$i,Mi,oe,be,Pe)}this.boxEndIndex=C.length},Ng=function(C,H){if(C===void 0&&(C=[]),H===void 0&&(H=wW),this.data=C,this.length=this.data.length,this.compare=H,this.length>0)for(var oe=(this.length>>1)-1;oe>=0;oe--)this._down(oe)};Ng.prototype.push=function(C){this.data.push(C),this.length++,this._up(this.length-1)},Ng.prototype.pop=function(){if(this.length!==0){var C=this.data[0],H=this.data.pop();return this.length--,this.length>0&&(this.data[0]=H,this._down(0)),C}},Ng.prototype.peek=function(){return this.data[0]},Ng.prototype._up=function(C){for(var H=this,oe=H.data,be=H.compare,Pe=oe[C];C>0;){var Ne=C-1>>1,ft=oe[Ne];if(be(Pe,ft)>=0)break;oe[C]=ft,C=Ne}oe[C]=Pe},Ng.prototype._down=function(C){for(var H=this,oe=H.data,be=H.compare,Pe=this.length>>1,Ne=oe[C];C=0)break;oe[C]=It,C=ft}oe[C]=Ne};function wW(k,C){return kC?1:0}function TW(k,C,H){C===void 0&&(C=1),H===void 0&&(H=!1);for(var oe=1/0,be=1/0,Pe=-1/0,Ne=-1/0,ft=k[0],It=0;ItPe)&&(Pe=Ht.x),(!It||Ht.y>Ne)&&(Ne=Ht.y)}var er=Pe-oe,Lr=Ne-be,Zr=Math.min(er,Lr),Vr=Zr/2,ua=new Ng([],AW);if(Zr===0)return new n(oe,be);for(var Oa=oe;Oaii.d||!ii.d)&&(ii=Oi,H&&console.log(\"found best %d after %d probes\",Math.round(1e4*Oi.d)/1e4,$i)),!(Oi.max-ii.d<=C)&&(Vr=Oi.h/2,ua.push(new Ug(Oi.p.x-Vr,Oi.p.y-Vr,Vr,k)),ua.push(new Ug(Oi.p.x+Vr,Oi.p.y-Vr,Vr,k)),ua.push(new Ug(Oi.p.x-Vr,Oi.p.y+Vr,Vr,k)),ua.push(new Ug(Oi.p.x+Vr,Oi.p.y+Vr,Vr,k)),$i+=4)}return H&&(console.log(\"num probes: \"+$i),console.log(\"best distance: \"+ii.d)),ii.p}function AW(k,C){return C.max-k.max}function Ug(k,C,H,oe){this.p=new n(k,C),this.h=H,this.d=SW(this.p,oe),this.max=this.d+this.h*Math.SQRT2}function SW(k,C){for(var H=!1,oe=1/0,be=0;bek.y!=er.y>k.y&&k.x<(er.x-Ht.x)*(k.y-Ht.y)/(er.y-Ht.y)+Ht.x&&(H=!H),oe=Math.min(oe,qd(k,Ht,er))}return(H?1:-1)*Math.sqrt(oe)}function MW(k){for(var C=0,H=0,oe=0,be=k[0],Pe=0,Ne=be.length,ft=Ne-1;Pe=ui||wd.y<0||wd.y>=ui||CW(k,wd,Wg,H,oe,be,ko,k.layers[0],k.collisionBoxArray,C.index,C.sourceLayerIndex,k.index,ii,ln,Nn,It,Oi,bn,Eo,Vr,C,Pe,Ht,er,Ne)};if(oo===\"line\")for(var $s=0,Ss=Ak(C.geometry,0,0,ui,ui);$s1){var gh=_W(_f,qn,H.vertical||ua,oe,Oa,$i);gh&&Do(_f,gh)}}else if(C.type===\"Polygon\")for(var Zf=0,tp=Cg(C.geometry,0);Zfgm&&N(k.layerIds[0]+': Value for \"text-size\" is >= '+Q1+'. Reduce your \"text-size\".')):Mi.kind===\"composite\"&&(ii=[Bh*Vr.compositeTextSizes[0].evaluate(Ne,{},ua),Bh*Vr.compositeTextSizes[1].evaluate(Ne,{},ua)],(ii[0]>gm||ii[1]>gm)&&N(k.layerIds[0]+': Value for \"text-size\" is >= '+Q1+'. Reduce your \"text-size\".')),k.addSymbols(k.text,Oa,ii,ft,Pe,Ne,Ht,C,It.lineStartIndex,It.lineLength,Zr,ua);for(var $i=0,Oi=er;$igm&&N(k.layerIds[0]+': Value for \"icon-size\" is >= '+Q1+'. Reduce your \"icon-size\".')):_p.kind===\"composite\"&&(ih=[Bh*ln.compositeIconSizes[0].evaluate(Ji,{},qn),Bh*ln.compositeIconSizes[1].evaluate(Ji,{},qn)],(ih[0]>gm||ih[1]>gm)&&N(k.layerIds[0]+': Value for \"icon-size\" is >= '+Q1+'. Reduce your \"icon-size\".')),k.addSymbols(k.icon,yh,ih,Oi,$i,Ji,!1,C,oo.lineStartIndex,oo.lineLength,-1,qn),Yl=k.icon.placedSymbolArray.length-1,yp&&(Ss=yp.length*4,k.addSymbols(k.icon,yp,ih,Oi,$i,Ji,mp.vertical,C,oo.lineStartIndex,oo.lineLength,-1,qn),Kl=k.icon.placedSymbolArray.length-1)}for(var xp in oe.horizontal){var nd=oe.horizontal[xp];if(!mo){$u=ye(nd.text);var Uv=ft.layout.get(\"text-rotate\").evaluate(Ji,{},qn);mo=new hb(It,C,Ht,er,Lr,nd,Zr,Vr,ua,Uv)}var _m=nd.positionedLines.length===1;if(Zl+=kk(k,C,nd,Pe,ft,ua,Ji,Oa,oo,oe.vertical?mp.horizontal:mp.horizontalOnly,_m?Object.keys(oe.horizontal):[xp],Ol,Yl,ln,qn),_m)break}oe.vertical&&(zu+=kk(k,C,oe.vertical,Pe,ft,ua,Ji,Oa,oo,mp.vertical,[\"vertical\"],Ol,Kl,ln,qn));var xm=mo?mo.boxStartIndex:k.collisionBoxArray.length,bm=mo?mo.boxEndIndex:k.collisionBoxArray.length,Wg=ko?ko.boxStartIndex:k.collisionBoxArray.length,wd=ko?ko.boxEndIndex:k.collisionBoxArray.length,gb=Ps?Ps.boxStartIndex:k.collisionBoxArray.length,xA=Ps?Ps.boxEndIndex:k.collisionBoxArray.length,yb=Do?Do.boxStartIndex:k.collisionBoxArray.length,bA=Do?Do.boxEndIndex:k.collisionBoxArray.length,hd=-1,Xg=function(r_,Hk){return r_&&r_.circleDiameter?Math.max(r_.circleDiameter,Hk):Hk};hd=Xg(mo,hd),hd=Xg(ko,hd),hd=Xg(Ps,hd),hd=Xg(Do,hd);var _b=hd>-1?1:0;_b&&(hd*=Nn/en),k.glyphOffsetArray.length>=Du.MAX_GLYPHS&&N(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Ji.sortKey!==void 0&&k.addToSortKeyRanges(k.symbolInstances.length,Ji.sortKey),k.symbolInstances.emplaceBack(C.x,C.y,Ol.right>=0?Ol.right:-1,Ol.center>=0?Ol.center:-1,Ol.left>=0?Ol.left:-1,Ol.vertical||-1,Yl,Kl,$u,xm,bm,Wg,wd,gb,xA,yb,bA,Ht,Zl,zu,$s,Ss,_b,0,Zr,hc,hf,hd)}function LW(k,C,H,oe){var be=k.compareText;if(!(C in be))be[C]=[];else for(var Pe=be[C],Ne=Pe.length-1;Ne>=0;Ne--)if(oe.dist(Pe[Ne])0)&&(Ne.value.kind!==\"constant\"||Ne.value.value.length>0),er=It.value.kind!==\"constant\"||!!It.value.value||Object.keys(It.parameters).length>0,Lr=Pe.get(\"symbol-sort-key\");if(this.features=[],!(!Ht&&!er)){for(var Zr=H.iconDependencies,Vr=H.glyphDependencies,ua=H.availableImages,Oa=new mn(this.zoom),Mi=0,ii=C;Mi=0;for(var zu=0,Yl=Eo.sections;zu=0;It--)Ne[It]={x:H[It].x,y:H[It].y,tileUnitDistanceFromAnchor:Pe},It>0&&(Pe+=H[It-1].dist(H[It]));for(var Ht=0;Ht0},Du.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Du.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Du.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Du.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Du.prototype.addIndicesForPlacedSymbol=function(C,H){for(var oe=C.placedSymbolArray.get(H),be=oe.vertexStartIndex+oe.numGlyphs*4,Pe=oe.vertexStartIndex;Pe1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(C),this.sortedAngle=C,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var oe=0,be=this.symbolInstanceIndexes;oe=0&&Ht.indexOf(ft)===It&&H.addIndicesForPlacedSymbol(H.text,ft)}),Ne.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,Ne.verticalPlacedTextSymbolIndex),Ne.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,Ne.placedIconSymbolIndex),Ne.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,Ne.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},me(\"SymbolBucket\",Du,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Du.MAX_GLYPHS=65535,Du.addDynamicAttributes=vA;function DW(k,C){return C.replace(/{([^{}]+)}/g,function(H,oe){return oe in k?String(k[oe]):\"\"})}var zW=new ma({\"symbol-placement\":new it(Gi.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new it(Gi.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new it(Gi.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Xt(Gi.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new it(Gi.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new it(Gi.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new it(Gi.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new it(Gi.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new it(Gi.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Xt(Gi.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new it(Gi.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new it(Gi.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Xt(Gi.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Xt(Gi.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new it(Gi.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new it(Gi.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Xt(Gi.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Xt(Gi.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new it(Gi.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new it(Gi.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new it(Gi.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Xt(Gi.layout_symbol[\"text-field\"]),\"text-font\":new Xt(Gi.layout_symbol[\"text-font\"]),\"text-size\":new Xt(Gi.layout_symbol[\"text-size\"]),\"text-max-width\":new Xt(Gi.layout_symbol[\"text-max-width\"]),\"text-line-height\":new it(Gi.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Xt(Gi.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Xt(Gi.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Xt(Gi.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new it(Gi.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Xt(Gi.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new it(Gi.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new it(Gi.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Xt(Gi.layout_symbol[\"text-rotate\"]),\"text-padding\":new it(Gi.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new it(Gi.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Xt(Gi.layout_symbol[\"text-transform\"]),\"text-offset\":new Xt(Gi.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new it(Gi.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new it(Gi.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new it(Gi.layout_symbol[\"text-optional\"])}),FW=new ma({\"icon-opacity\":new Xt(Gi.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Xt(Gi.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Xt(Gi.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Xt(Gi.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Xt(Gi.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new it(Gi.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new it(Gi.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Xt(Gi.paint_symbol[\"text-opacity\"]),\"text-color\":new Xt(Gi.paint_symbol[\"text-color\"],{runtimeType:Ws,getOverride:function(k){return k.textColor},hasOverride:function(k){return!!k.textColor}}),\"text-halo-color\":new Xt(Gi.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Xt(Gi.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Xt(Gi.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new it(Gi.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new it(Gi.paint_symbol[\"text-translate-anchor\"])}),mA={paint:FW,layout:zW},Vg=function(C){this.type=C.property.overrides?C.property.overrides.runtimeType:il,this.defaultValue=C};Vg.prototype.evaluate=function(C){if(C.formattedSection){var H=this.defaultValue.property.overrides;if(H&&H.hasOverride(C.formattedSection))return H.getOverride(C.formattedSection)}return C.feature&&C.featureState?this.defaultValue.evaluate(C.feature,C.featureState):this.defaultValue.property.specification.default},Vg.prototype.eachChild=function(C){if(!this.defaultValue.isConstant()){var H=this.defaultValue.value;C(H._styleExpression.expression)}},Vg.prototype.outputDefined=function(){return!1},Vg.prototype.serialize=function(){return null},me(\"FormatSectionOverride\",Vg,{omit:[\"defaultValue\"]});var OW=function(k){function C(H){k.call(this,H,mA)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.recalculate=function(oe,be){if(k.prototype.recalculate.call(this,oe,be),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var Pe=this.layout.get(\"text-writing-mode\");if(Pe){for(var Ne=[],ft=0,It=Pe;ft\",targetMapId:be,sourceMapId:Ne.mapId})}}},Gg.prototype.receive=function(C){var H=C.data,oe=H.id;if(oe&&!(H.targetMapId&&this.mapId!==H.targetMapId))if(H.type===\"\"){delete this.tasks[oe];var be=this.cancelCallbacks[oe];delete this.cancelCallbacks[oe],be&&be()}else ce()||H.mustQueue?(this.tasks[oe]=H,this.taskQueue.push(oe),this.invoker.trigger()):this.processTask(oe,H)},Gg.prototype.process=function(){if(this.taskQueue.length){var C=this.taskQueue.shift(),H=this.tasks[C];delete this.tasks[C],this.taskQueue.length&&this.invoker.trigger(),H&&this.processTask(C,H)}},Gg.prototype.processTask=function(C,H){var oe=this;if(H.type===\"\"){var be=this.callbacks[C];delete this.callbacks[C],be&&(H.error?be(Tt(H.error)):be(null,Tt(H.data)))}else{var Pe=!1,Ne=Y(this.globalScope)?void 0:[],ft=H.hasCallback?function(Zr,Vr){Pe=!0,delete oe.cancelCallbacks[C],oe.target.postMessage({id:C,type:\"\",sourceMapId:oe.mapId,error:Zr?yt(Zr):null,data:yt(Vr,Ne)},Ne)}:function(Zr){Pe=!0},It=null,Ht=Tt(H.data);if(this.parent[H.type])It=this.parent[H.type](H.sourceMapId,Ht,ft);else if(this.parent.getWorkerSource){var er=H.type.split(\".\"),Lr=this.parent.getWorkerSource(H.sourceMapId,er[0],Ht.source);It=Lr[er[1]](Ht,ft)}else ft(new Error(\"Could not find function \"+H.type));!Pe&&It&&It.cancel&&(this.cancelCallbacks[C]=It.cancel)}},Gg.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function ZW(k,C,H){C=Math.pow(2,H)-C-1;var oe=Dk(k*256,C*256,H),be=Dk((k+1)*256,(C+1)*256,H);return oe[0]+\",\"+oe[1]+\",\"+be[0]+\",\"+be[1]}function Dk(k,C,H){var oe=2*Math.PI*6378137/256/Math.pow(2,H),be=k*oe-2*Math.PI*6378137/2,Pe=C*oe-2*Math.PI*6378137/2;return[be,Pe]}var Wf=function(C,H){C&&(H?this.setSouthWest(C).setNorthEast(H):C.length===4?this.setSouthWest([C[0],C[1]]).setNorthEast([C[2],C[3]]):this.setSouthWest(C[0]).setNorthEast(C[1]))};Wf.prototype.setNorthEast=function(C){return this._ne=C instanceof Fc?new Fc(C.lng,C.lat):Fc.convert(C),this},Wf.prototype.setSouthWest=function(C){return this._sw=C instanceof Fc?new Fc(C.lng,C.lat):Fc.convert(C),this},Wf.prototype.extend=function(C){var H=this._sw,oe=this._ne,be,Pe;if(C instanceof Fc)be=C,Pe=C;else if(C instanceof Wf){if(be=C._sw,Pe=C._ne,!be||!Pe)return this}else{if(Array.isArray(C))if(C.length===4||C.every(Array.isArray)){var Ne=C;return this.extend(Wf.convert(Ne))}else{var ft=C;return this.extend(Fc.convert(ft))}return this}return!H&&!oe?(this._sw=new Fc(be.lng,be.lat),this._ne=new Fc(Pe.lng,Pe.lat)):(H.lng=Math.min(be.lng,H.lng),H.lat=Math.min(be.lat,H.lat),oe.lng=Math.max(Pe.lng,oe.lng),oe.lat=Math.max(Pe.lat,oe.lat)),this},Wf.prototype.getCenter=function(){return new Fc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Wf.prototype.getSouthWest=function(){return this._sw},Wf.prototype.getNorthEast=function(){return this._ne},Wf.prototype.getNorthWest=function(){return new Fc(this.getWest(),this.getNorth())},Wf.prototype.getSouthEast=function(){return new Fc(this.getEast(),this.getSouth())},Wf.prototype.getWest=function(){return this._sw.lng},Wf.prototype.getSouth=function(){return this._sw.lat},Wf.prototype.getEast=function(){return this._ne.lng},Wf.prototype.getNorth=function(){return this._ne.lat},Wf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Wf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Wf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Wf.prototype.contains=function(C){var H=Fc.convert(C),oe=H.lng,be=H.lat,Pe=this._sw.lat<=be&&be<=this._ne.lat,Ne=this._sw.lng<=oe&&oe<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Ne=this._sw.lng>=oe&&oe>=this._ne.lng),Pe&&Ne},Wf.convert=function(C){return!C||C instanceof Wf?C:new Wf(C)};var zk=63710088e-1,Fc=function(C,H){if(isNaN(C)||isNaN(H))throw new Error(\"Invalid LngLat object: (\"+C+\", \"+H+\")\");if(this.lng=+C,this.lat=+H,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Fc.prototype.wrap=function(){return new Fc(x(this.lng,-180,180),this.lat)},Fc.prototype.toArray=function(){return[this.lng,this.lat]},Fc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Fc.prototype.distanceTo=function(C){var H=Math.PI/180,oe=this.lat*H,be=C.lat*H,Pe=Math.sin(oe)*Math.sin(be)+Math.cos(oe)*Math.cos(be)*Math.cos((C.lng-this.lng)*H),Ne=zk*Math.acos(Math.min(Pe,1));return Ne},Fc.prototype.toBounds=function(C){C===void 0&&(C=0);var H=40075017,oe=360*C/H,be=oe/Math.cos(Math.PI/180*this.lat);return new Wf(new Fc(this.lng-be,this.lat-oe),new Fc(this.lng+be,this.lat+oe))},Fc.convert=function(C){if(C instanceof Fc)return C;if(Array.isArray(C)&&(C.length===2||C.length===3))return new Fc(Number(C[0]),Number(C[1]));if(!Array.isArray(C)&&typeof C==\"object\"&&C!==null)return new Fc(Number(\"lng\"in C?C.lng:C.lon),Number(C.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")};var Fk=2*Math.PI*zk;function Ok(k){return Fk*Math.cos(k*Math.PI/180)}function Bk(k){return(180+k)/360}function Nk(k){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+k*Math.PI/360)))/360}function Uk(k,C){return k/Ok(C)}function YW(k){return k*360-180}function yA(k){var C=180-k*360;return 360/Math.PI*Math.atan(Math.exp(C*Math.PI/180))-90}function KW(k,C){return k*Ok(yA(C))}function JW(k){return 1/Math.cos(k*Math.PI/180)}var U0=function(C,H,oe){oe===void 0&&(oe=0),this.x=+C,this.y=+H,this.z=+oe};U0.fromLngLat=function(C,H){H===void 0&&(H=0);var oe=Fc.convert(C);return new U0(Bk(oe.lng),Nk(oe.lat),Uk(H,oe.lat))},U0.prototype.toLngLat=function(){return new Fc(YW(this.x),yA(this.y))},U0.prototype.toAltitude=function(){return KW(this.z,this.y)},U0.prototype.meterInMercatorCoordinateUnits=function(){return 1/Fk*JW(yA(this.y))};var j0=function(C,H,oe){this.z=C,this.x=H,this.y=oe,this.key=t_(0,C,C,H,oe)};j0.prototype.equals=function(C){return this.z===C.z&&this.x===C.x&&this.y===C.y},j0.prototype.url=function(C,H){var oe=ZW(this.x,this.y,this.z),be=$W(this.z,this.x,this.y);return C[(this.x+this.y)%C.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(H===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",be).replace(\"{bbox-epsg-3857}\",oe)},j0.prototype.getTilePoint=function(C){var H=Math.pow(2,this.z);return new n((C.x*H-this.x)*ui,(C.y*H-this.y)*ui)},j0.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var jk=function(C,H){this.wrap=C,this.canonical=H,this.key=t_(C,H.z,H.z,H.x,H.y)},Xf=function(C,H,oe,be,Pe){this.overscaledZ=C,this.wrap=H,this.canonical=new j0(oe,+be,+Pe),this.key=t_(H,C,oe,be,Pe)};Xf.prototype.equals=function(C){return this.overscaledZ===C.overscaledZ&&this.wrap===C.wrap&&this.canonical.equals(C.canonical)},Xf.prototype.scaledTo=function(C){var H=this.canonical.z-C;return C>this.canonical.z?new Xf(C,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Xf(C,this.wrap,C,this.canonical.x>>H,this.canonical.y>>H)},Xf.prototype.calculateScaledKey=function(C,H){var oe=this.canonical.z-C;return C>this.canonical.z?t_(this.wrap*+H,C,this.canonical.z,this.canonical.x,this.canonical.y):t_(this.wrap*+H,C,C,this.canonical.x>>oe,this.canonical.y>>oe)},Xf.prototype.isChildOf=function(C){if(C.wrap!==this.wrap)return!1;var H=this.canonical.z-C.canonical.z;return C.overscaledZ===0||C.overscaledZ>H&&C.canonical.y===this.canonical.y>>H},Xf.prototype.children=function(C){if(this.overscaledZ>=C)return[new Xf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var H=this.canonical.z+1,oe=this.canonical.x*2,be=this.canonical.y*2;return[new Xf(H,this.wrap,H,oe,be),new Xf(H,this.wrap,H,oe+1,be),new Xf(H,this.wrap,H,oe,be+1),new Xf(H,this.wrap,H,oe+1,be+1)]},Xf.prototype.isLessThan=function(C){return this.wrapC.wrap?!1:this.overscaledZC.overscaledZ?!1:this.canonical.xC.canonical.x?!1:this.canonical.y0;Pe--)be=1<=this.dim+1||H<-1||H>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(H+1)*this.stride+(C+1)},Bv.prototype._unpackMapbox=function(C,H,oe){return(C*256*256+H*256+oe)/10-1e4},Bv.prototype._unpackTerrarium=function(C,H,oe){return C*256+H+oe/256-32768},Bv.prototype.getPixels=function(){return new eh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Bv.prototype.backfillBorder=function(C,H,oe){if(this.dim!==C.dim)throw new Error(\"dem dimension mismatch\");var be=H*this.dim,Pe=H*this.dim+this.dim,Ne=oe*this.dim,ft=oe*this.dim+this.dim;switch(H){case-1:be=Pe-1;break;case 1:Pe=be+1;break}switch(oe){case-1:Ne=ft-1;break;case 1:ft=Ne+1;break}for(var It=-H*this.dim,Ht=-oe*this.dim,er=Ne;er=0&&Lr[3]>=0&&It.insert(ft,Lr[0],Lr[1],Lr[2],Lr[3])}},Nv.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Xd.VectorTile(new vo(this.rawTileData)).layers,this.sourceLayerCoder=new vb(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Nv.prototype.query=function(C,H,oe,be){var Pe=this;this.loadVTLayers();for(var Ne=C.params||{},ft=ui/C.tileSize/C.scale,It=$e(Ne.filter),Ht=C.queryGeometry,er=C.queryPadding*ft,Lr=Vk(Ht),Zr=this.grid.query(Lr.minX-er,Lr.minY-er,Lr.maxX+er,Lr.maxY+er),Vr=Vk(C.cameraQueryGeometry),ua=this.grid3D.query(Vr.minX-er,Vr.minY-er,Vr.maxX+er,Vr.maxY+er,function(bn,qn,Nn,Eo){return td(C.cameraQueryGeometry,bn-er,qn-er,Nn+er,Eo+er)}),Oa=0,Mi=ua;Oabe)Pe=!1;else if(!H)Pe=!0;else if(this.expirationTime=Rr.maxzoom)&&Rr.visibility!==\"none\"){h(wr,this.zoom,Jt);var Ur=$a[Rr.id]=Rr.createBucket({index:Ba.bucketLayerIDs.length,layers:wr,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:rn,sourceID:this.source});Ur.populate(tn,Za,this.tileID.canonical),Ba.bucketLayerIDs.push(wr.map(function(la){return la.id}))}}}}var Hr,gt,Kt,vr,Ir=e.mapObject(Za.glyphDependencies,function(la){return Object.keys(la).map(Number)});Object.keys(Ir).length?Or.send(\"getGlyphs\",{uid:this.uid,stacks:Ir},function(la,ba){Hr||(Hr=la,gt=ba,ga.call(ra))}):gt={};var va=Object.keys(Za.iconDependencies);va.length?Or.send(\"getImages\",{icons:va,source:this.source,tileID:this.tileID,type:\"icons\"},function(la,ba){Hr||(Hr=la,Kt=ba,ga.call(ra))}):Kt={};var Pa=Object.keys(Za.patternDependencies);Pa.length?Or.send(\"getImages\",{icons:Pa,source:this.source,tileID:this.tileID,type:\"patterns\"},function(la,ba){Hr||(Hr=la,vr=ba,ga.call(ra))}):vr={},ga.call(this);function ga(){if(Hr)return ta(Hr);if(gt&&Kt&&vr){var la=new i(gt),ba=new e.ImageAtlas(Kt,vr);for(var Ai in $a){var ki=$a[Ai];ki instanceof e.SymbolBucket?(h(ki.layers,this.zoom,Jt),e.performSymbolLayout(ki,gt,la.positions,Kt,ba.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):ki.hasPattern&&(ki instanceof e.LineBucket||ki instanceof e.FillBucket||ki instanceof e.FillExtrusionBucket)&&(h(ki.layers,this.zoom,Jt),ki.addFeatures(Za,this.tileID.canonical,ba.patternPositions))}this.status=\"done\",ta(null,{buckets:e.values($a).filter(function(Ki){return!Ki.isEmpty()}),featureIndex:Ba,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:la.image,imageAtlas:ba,glyphMap:this.returnDependencies?gt:null,iconMap:this.returnDependencies?Kt:null,glyphPositions:this.returnDependencies?la.positions:null})}}};function h(Yt,Rt,Zt){for(var Jt=new e.EvaluationParameters(Rt),Or=0,ta=Yt;Or=0!=!!Rt&&Yt.reverse()}var M=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(Rt){this._feature=Rt,this.extent=e.EXTENT,this.type=Rt.type,this.properties=Rt.tags,\"id\"in Rt&&!isNaN(Rt.id)&&(this.id=parseInt(Rt.id,10))};m.prototype.loadGeometry=function(){if(this._feature.type===1){for(var Rt=[],Zt=0,Jt=this._feature.geometry;Zt\"u\"&&(Jt.push(ca),Ba=Jt.length-1,ta[ca]=Ba),Rt.writeVarint(Ba);var $a=Zt.properties[ca],Za=typeof $a;Za!==\"string\"&&Za!==\"boolean\"&&Za!==\"number\"&&($a=JSON.stringify($a));var ri=Za+\":\"+$a,pi=ra[ri];typeof pi>\"u\"&&(Or.push($a),pi=Or.length-1,ra[ri]=pi),Rt.writeVarint(pi)}}function $(Yt,Rt){return(Rt<<3)+(Yt&7)}function ue(Yt){return Yt<<1^Yt>>31}function ce(Yt,Rt){for(var Zt=Yt.loadGeometry(),Jt=Yt.type,Or=0,ta=0,ra=Zt.length,ca=0;ca>1;Y(Yt,Rt,ra,Jt,Or,ta%2),V(Yt,Rt,Zt,Jt,ra-1,ta+1),V(Yt,Rt,Zt,ra+1,Or,ta+1)}}function Y(Yt,Rt,Zt,Jt,Or,ta){for(;Or>Jt;){if(Or-Jt>600){var ra=Or-Jt+1,ca=Zt-Jt+1,Ba=Math.log(ra),$a=.5*Math.exp(2*Ba/3),Za=.5*Math.sqrt(Ba*$a*(ra-$a)/ra)*(ca-ra/2<0?-1:1),ri=Math.max(Jt,Math.floor(Zt-ca*$a/ra+Za)),pi=Math.min(Or,Math.floor(Zt+(ra-ca)*$a/ra+Za));Y(Yt,Rt,Zt,ri,pi,ta)}var Ia=Rt[2*Zt+ta],rn=Jt,tn=Or;for(ee(Yt,Rt,Jt,Zt),Rt[2*Or+ta]>Ia&&ee(Yt,Rt,Jt,Or);rnIa;)tn--}Rt[2*Jt+ta]===Ia?ee(Yt,Rt,Jt,tn):(tn++,ee(Yt,Rt,tn,Or)),tn<=Zt&&(Jt=tn+1),Zt<=tn&&(Or=tn-1)}}function ee(Yt,Rt,Zt,Jt){q(Yt,Zt,Jt),q(Rt,2*Zt,2*Jt),q(Rt,2*Zt+1,2*Jt+1)}function q(Yt,Rt,Zt){var Jt=Yt[Rt];Yt[Rt]=Yt[Zt],Yt[Zt]=Jt}function se(Yt,Rt,Zt,Jt,Or,ta,ra){for(var ca=[0,Yt.length-1,0],Ba=[],$a,Za;ca.length;){var ri=ca.pop(),pi=ca.pop(),Ia=ca.pop();if(pi-Ia<=ra){for(var rn=Ia;rn<=pi;rn++)$a=Rt[2*rn],Za=Rt[2*rn+1],$a>=Zt&&$a<=Or&&Za>=Jt&&Za<=ta&&Ba.push(Yt[rn]);continue}var tn=Math.floor((Ia+pi)/2);$a=Rt[2*tn],Za=Rt[2*tn+1],$a>=Zt&&$a<=Or&&Za>=Jt&&Za<=ta&&Ba.push(Yt[tn]);var cn=(ri+1)%2;(ri===0?Zt<=$a:Jt<=Za)&&(ca.push(Ia),ca.push(tn-1),ca.push(cn)),(ri===0?Or>=$a:ta>=Za)&&(ca.push(tn+1),ca.push(pi),ca.push(cn))}return Ba}function ae(Yt,Rt,Zt,Jt,Or,ta){for(var ra=[0,Yt.length-1,0],ca=[],Ba=Or*Or;ra.length;){var $a=ra.pop(),Za=ra.pop(),ri=ra.pop();if(Za-ri<=ta){for(var pi=ri;pi<=Za;pi++)j(Rt[2*pi],Rt[2*pi+1],Zt,Jt)<=Ba&&ca.push(Yt[pi]);continue}var Ia=Math.floor((ri+Za)/2),rn=Rt[2*Ia],tn=Rt[2*Ia+1];j(rn,tn,Zt,Jt)<=Ba&&ca.push(Yt[Ia]);var cn=($a+1)%2;($a===0?Zt-Or<=rn:Jt-Or<=tn)&&(ra.push(ri),ra.push(Ia-1),ra.push(cn)),($a===0?Zt+Or>=rn:Jt+Or>=tn)&&(ra.push(Ia+1),ra.push(Za),ra.push(cn))}return ca}function j(Yt,Rt,Zt,Jt){var Or=Yt-Zt,ta=Rt-Jt;return Or*Or+ta*ta}var Q=function(Yt){return Yt[0]},re=function(Yt){return Yt[1]},pe=function(Rt,Zt,Jt,Or,ta){Zt===void 0&&(Zt=Q),Jt===void 0&&(Jt=re),Or===void 0&&(Or=64),ta===void 0&&(ta=Float64Array),this.nodeSize=Or,this.points=Rt;for(var ra=Rt.length<65536?Uint16Array:Uint32Array,ca=this.ids=new ra(Rt.length),Ba=this.coords=new ta(Rt.length*2),$a=0;$a=Or;Za--){var ri=+Date.now();Ba=this._cluster(Ba,Za),this.trees[Za]=new pe(Ba,ne,Ce,ra,Float32Array),Jt&&console.log(\"z%d: %d clusters in %dms\",Za,Ba.length,+Date.now()-ri)}return Jt&&console.timeEnd(\"total time\"),this},Se.prototype.getClusters=function(Rt,Zt){var Jt=((Rt[0]+180)%360+360)%360-180,Or=Math.max(-90,Math.min(90,Rt[1])),ta=Rt[2]===180?180:((Rt[2]+180)%360+360)%360-180,ra=Math.max(-90,Math.min(90,Rt[3]));if(Rt[2]-Rt[0]>=360)Jt=-180,ta=180;else if(Jt>ta){var ca=this.getClusters([Jt,Or,180,ra],Zt),Ba=this.getClusters([-180,Or,ta,ra],Zt);return ca.concat(Ba)}for(var $a=this.trees[this._limitZoom(Zt)],Za=$a.range(nt(Jt),tt(ra),nt(ta),tt(Or)),ri=[],pi=0,Ia=Za;piZt&&(tn+=Br.numPoints||1)}if(tn>=Ba){for(var Cr=ri.x*rn,wr=ri.y*rn,Rr=ca&&rn>1?this._map(ri,!0):null,Ur=(Za<<5)+(Zt+1)+this.points.length,Hr=0,gt=Ia;Hr1)for(var va=0,Pa=Ia;va>5},Se.prototype._getOriginZoom=function(Rt){return(Rt-this.points.length)%32},Se.prototype._map=function(Rt,Zt){if(Rt.numPoints)return Zt?le({},Rt.properties):Rt.properties;var Jt=this.points[Rt.index].properties,Or=this.options.map(Jt);return Zt&&Or===Jt?le({},Or):Or};function Ie(Yt,Rt,Zt,Jt,Or){return{x:Yt,y:Rt,zoom:1/0,id:Zt,parentId:-1,numPoints:Jt,properties:Or}}function Re(Yt,Rt){var Zt=Yt.geometry.coordinates,Jt=Zt[0],Or=Zt[1];return{x:nt(Jt),y:tt(Or),zoom:1/0,index:Rt,parentId:-1}}function He(Yt){return{type:\"Feature\",id:Yt.id,properties:at(Yt),geometry:{type:\"Point\",coordinates:[Ue(Yt.x),he(Yt.y)]}}}function at(Yt){var Rt=Yt.numPoints,Zt=Rt>=1e4?Math.round(Rt/1e3)+\"k\":Rt>=1e3?Math.round(Rt/100)/10+\"k\":Rt;return le(le({},Yt.properties),{cluster:!0,cluster_id:Yt.id,point_count:Rt,point_count_abbreviated:Zt})}function nt(Yt){return Yt/360+.5}function tt(Yt){var Rt=Math.sin(Yt*Math.PI/180),Zt=.5-.25*Math.log((1+Rt)/(1-Rt))/Math.PI;return Zt<0?0:Zt>1?1:Zt}function Ue(Yt){return(Yt-.5)*360}function he(Yt){var Rt=(180-Yt*360)*Math.PI/180;return 360*Math.atan(Math.exp(Rt))/Math.PI-90}function le(Yt,Rt){for(var Zt in Rt)Yt[Zt]=Rt[Zt];return Yt}function ne(Yt){return Yt.x}function Ce(Yt){return Yt.y}function Ze(Yt,Rt,Zt,Jt){for(var Or=Jt,ta=Zt-Rt>>1,ra=Zt-Rt,ca,Ba=Yt[Rt],$a=Yt[Rt+1],Za=Yt[Zt],ri=Yt[Zt+1],pi=Rt+3;piOr)ca=pi,Or=Ia;else if(Ia===Or){var rn=Math.abs(pi-ta);rnJt&&(ca-Rt>3&&Ze(Yt,Rt,ca,Jt),Yt[ca+2]=Or,Zt-ca>3&&Ze(Yt,ca,Zt,Jt))}function rt(Yt,Rt,Zt,Jt,Or,ta){var ra=Or-Zt,ca=ta-Jt;if(ra!==0||ca!==0){var Ba=((Yt-Zt)*ra+(Rt-Jt)*ca)/(ra*ra+ca*ca);Ba>1?(Zt=Or,Jt=ta):Ba>0&&(Zt+=ra*Ba,Jt+=ca*Ba)}return ra=Yt-Zt,ca=Rt-Jt,ra*ra+ca*ca}function Ye(Yt,Rt,Zt,Jt){var Or={id:typeof Yt>\"u\"?null:Yt,type:Rt,geometry:Zt,tags:Jt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return St(Or),Or}function St(Yt){var Rt=Yt.geometry,Zt=Yt.type;if(Zt===\"Point\"||Zt===\"MultiPoint\"||Zt===\"LineString\")kt(Yt,Rt);else if(Zt===\"Polygon\"||Zt===\"MultiLineString\")for(var Jt=0;Jt0&&(Jt?ra+=(Or*$a-Ba*ta)/2:ra+=Math.sqrt(Math.pow(Ba-Or,2)+Math.pow($a-ta,2))),Or=Ba,ta=$a}var Za=Rt.length-3;Rt[2]=1,Ze(Rt,0,Za,Zt),Rt[Za+2]=1,Rt.size=Math.abs(ra),Rt.start=0,Rt.end=Rt.size}function qr(Yt,Rt,Zt,Jt){for(var Or=0;Or1?1:Zt}function xt(Yt,Rt,Zt,Jt,Or,ta,ra,ca){if(Zt/=Rt,Jt/=Rt,ta>=Zt&&ra=Jt)return null;for(var Ba=[],$a=0;$a=Zt&&rn=Jt)continue;var tn=[];if(pi===\"Point\"||pi===\"MultiPoint\")Oe(ri,tn,Zt,Jt,Or);else if(pi===\"LineString\")Ke(ri,tn,Zt,Jt,Or,!1,ca.lineMetrics);else if(pi===\"MultiLineString\")Le(ri,tn,Zt,Jt,Or,!1);else if(pi===\"Polygon\")Le(ri,tn,Zt,Jt,Or,!0);else if(pi===\"MultiPolygon\")for(var cn=0;cn=Zt&&ra<=Jt&&(Rt.push(Yt[ta]),Rt.push(Yt[ta+1]),Rt.push(Yt[ta+2]))}}function Ke(Yt,Rt,Zt,Jt,Or,ta,ra){for(var ca=Ae(Yt),Ba=Or===0?Je:st,$a=Yt.start,Za,ri,pi=0;piZt&&(ri=Ba(ca,Ia,rn,cn,_t,Zt),ra&&(ca.start=$a+Za*ri)):ut>Jt?Br=Zt&&(ri=Ba(ca,Ia,rn,cn,_t,Zt),Cr=!0),Br>Jt&&ut<=Jt&&(ri=Ba(ca,Ia,rn,cn,_t,Jt),Cr=!0),!ta&&Cr&&(ra&&(ca.end=$a+Za*ri),Rt.push(ca),ca=Ae(Yt)),ra&&($a+=Za)}var wr=Yt.length-3;Ia=Yt[wr],rn=Yt[wr+1],tn=Yt[wr+2],ut=Or===0?Ia:rn,ut>=Zt&&ut<=Jt&&We(ca,Ia,rn,tn),wr=ca.length-3,ta&&wr>=3&&(ca[wr]!==ca[0]||ca[wr+1]!==ca[1])&&We(ca,ca[0],ca[1],ca[2]),ca.length&&Rt.push(ca)}function Ae(Yt){var Rt=[];return Rt.size=Yt.size,Rt.start=Yt.start,Rt.end=Yt.end,Rt}function Le(Yt,Rt,Zt,Jt,Or,ta){for(var ra=0;rara.maxX&&(ra.maxX=Za),ri>ra.maxY&&(ra.maxY=ri)}return ra}function lr(Yt,Rt,Zt,Jt){var Or=Rt.geometry,ta=Rt.type,ra=[];if(ta===\"Point\"||ta===\"MultiPoint\")for(var ca=0;ca0&&Rt.size<(Or?ra:Jt)){Zt.numPoints+=Rt.length/3;return}for(var ca=[],Ba=0;Bara)&&(Zt.numSimplified++,ca.push(Rt[Ba]),ca.push(Rt[Ba+1])),Zt.numPoints++;Or&&Pr(ca,ta),Yt.push(ca)}function Pr(Yt,Rt){for(var Zt=0,Jt=0,Or=Yt.length,ta=Or-2;Jt0===Rt)for(Jt=0,Or=Yt.length;Jt24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Rt.promoteId&&Rt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Jt=qt(Yt,Rt);this.tiles={},this.tileCoords=[],Zt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",Rt.indexMaxZoom,Rt.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Jt=ot(Jt,Rt),Jt.length&&this.splitTile(Jt,0,0,0),Zt&&(Jt.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)))}Fa.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Fa.prototype.splitTile=function(Yt,Rt,Zt,Jt,Or,ta,ra){for(var ca=[Yt,Rt,Zt,Jt],Ba=this.options,$a=Ba.debug;ca.length;){Jt=ca.pop(),Zt=ca.pop(),Rt=ca.pop(),Yt=ca.pop();var Za=1<1&&console.time(\"creation\"),pi=this.tiles[ri]=cr(Yt,Rt,Zt,Jt,Ba),this.tileCoords.push({z:Rt,x:Zt,y:Jt}),$a)){$a>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Rt,Zt,Jt,pi.numFeatures,pi.numPoints,pi.numSimplified),console.timeEnd(\"creation\"));var Ia=\"z\"+Rt;this.stats[Ia]=(this.stats[Ia]||0)+1,this.total++}if(pi.source=Yt,Or){if(Rt===Ba.maxZoom||Rt===Or)continue;var rn=1<1&&console.time(\"clipping\");var tn=.5*Ba.buffer/Ba.extent,cn=.5-tn,_t=.5+tn,ut=1+tn,Br,Cr,wr,Rr,Ur,Hr;Br=Cr=wr=Rr=null,Ur=xt(Yt,Za,Zt-tn,Zt+_t,0,pi.minX,pi.maxX,Ba),Hr=xt(Yt,Za,Zt+cn,Zt+ut,0,pi.minX,pi.maxX,Ba),Yt=null,Ur&&(Br=xt(Ur,Za,Jt-tn,Jt+_t,1,pi.minY,pi.maxY,Ba),Cr=xt(Ur,Za,Jt+cn,Jt+ut,1,pi.minY,pi.maxY,Ba),Ur=null),Hr&&(wr=xt(Hr,Za,Jt-tn,Jt+_t,1,pi.minY,pi.maxY,Ba),Rr=xt(Hr,Za,Jt+cn,Jt+ut,1,pi.minY,pi.maxY,Ba),Hr=null),$a>1&&console.timeEnd(\"clipping\"),ca.push(Br||[],Rt+1,Zt*2,Jt*2),ca.push(Cr||[],Rt+1,Zt*2,Jt*2+1),ca.push(wr||[],Rt+1,Zt*2+1,Jt*2),ca.push(Rr||[],Rt+1,Zt*2+1,Jt*2+1)}}},Fa.prototype.getTile=function(Yt,Rt,Zt){var Jt=this.options,Or=Jt.extent,ta=Jt.debug;if(Yt<0||Yt>24)return null;var ra=1<1&&console.log(\"drilling down to z%d-%d-%d\",Yt,Rt,Zt);for(var Ba=Yt,$a=Rt,Za=Zt,ri;!ri&&Ba>0;)Ba--,$a=Math.floor($a/2),Za=Math.floor(Za/2),ri=this.tiles[Ra(Ba,$a,Za)];return!ri||!ri.source?null:(ta>1&&console.log(\"found parent tile z%d-%d-%d\",Ba,$a,Za),ta>1&&console.time(\"drilling down\"),this.splitTile(ri.source,Ba,$a,Za,Yt,Rt,Zt),ta>1&&console.timeEnd(\"drilling down\"),this.tiles[ca]?Pt(this.tiles[ca],Or):null)};function Ra(Yt,Rt,Zt){return((1<=0?0:ge.button},r.remove=function(ge){ge.parentNode&&ge.parentNode.removeChild(ge)};function c(ge,K,xe){var te,ye,je,ke=e.browser.devicePixelRatio>1?\"@2x\":\"\",Qe=e.getJSON(K.transformRequest(K.normalizeSpriteURL(ge,ke,\".json\"),e.ResourceType.SpriteJSON),function(br,Nr){Qe=null,je||(je=br,te=Nr,jt())}),vt=e.getImage(K.transformRequest(K.normalizeSpriteURL(ge,ke,\".png\"),e.ResourceType.SpriteImage),function(br,Nr){vt=null,je||(je=br,ye=Nr,jt())});function jt(){if(je)xe(je);else if(te&&ye){var br=e.browser.getImageData(ye),Nr={};for(var pr in te){var mt=te[pr],Mt=mt.width,Ft=mt.height,rr=mt.x,hr=mt.y,nr=mt.sdf,dr=mt.pixelRatio,or=mt.stretchX,Wt=mt.stretchY,ir=mt.content,Vt=new e.RGBAImage({width:Mt,height:Ft});e.RGBAImage.copy(br,Vt,{x:rr,y:hr},{x:0,y:0},{width:Mt,height:Ft}),Nr[pr]={data:Vt,pixelRatio:dr,sdf:nr,stretchX:or,stretchY:Wt,content:ir}}xe(null,Nr)}}return{cancel:function(){Qe&&(Qe.cancel(),Qe=null),vt&&(vt.cancel(),vt=null)}}}function T(ge){var K=ge.userImage;if(K&&K.render){var xe=K.render();if(xe)return ge.data.replace(new Uint8Array(K.data.buffer)),!0}return!1}var l=1,x=function(ge){function K(){ge.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0}return ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K,K.prototype.isLoaded=function(){return this.loaded},K.prototype.setLoaded=function(te){if(this.loaded!==te&&(this.loaded=te,te)){for(var ye=0,je=this.requestors;ye=0?1.2:1))}b.prototype.draw=function(ge){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(ge,this.buffer,this.middle);for(var K=this.ctx.getImageData(0,0,this.size,this.size),xe=new Uint8ClampedArray(this.size*this.size),te=0;te65535){br(new Error(\"glyphs > 65535 not supported\"));return}if(mt.ranges[Ft]){br(null,{stack:Nr,id:pr,glyph:Mt});return}var rr=mt.requests[Ft];rr||(rr=mt.requests[Ft]=[],g.loadGlyphRange(Nr,Ft,te.url,te.requestManager,function(hr,nr){if(nr){for(var dr in nr)te._doesCharSupportLocalGlyph(+dr)||(mt.glyphs[+dr]=nr[+dr]);mt.ranges[Ft]=!0}for(var or=0,Wt=rr;or1&&(jt=K[++vt]);var Nr=Math.abs(br-jt.left),pr=Math.abs(br-jt.right),mt=Math.min(Nr,pr),Mt=void 0,Ft=je/te*(ye+1);if(jt.isDash){var rr=ye-Math.abs(Ft);Mt=Math.sqrt(mt*mt+rr*rr)}else Mt=ye-Math.sqrt(mt*mt+Ft*Ft);this.data[Qe+br]=Math.max(0,Math.min(255,Mt+128))}},F.prototype.addRegularDash=function(K){for(var xe=K.length-1;xe>=0;--xe){var te=K[xe],ye=K[xe+1];te.zeroLength?K.splice(xe,1):ye&&ye.isDash===te.isDash&&(ye.left=te.left,K.splice(xe,1))}var je=K[0],ke=K[K.length-1];je.isDash===ke.isDash&&(je.left=ke.left-this.width,ke.right=je.right+this.width);for(var Qe=this.width*this.nextRow,vt=0,jt=K[vt],br=0;br1&&(jt=K[++vt]);var Nr=Math.abs(br-jt.left),pr=Math.abs(br-jt.right),mt=Math.min(Nr,pr),Mt=jt.isDash?mt:-mt;this.data[Qe+br]=Math.max(0,Math.min(255,Mt+128))}},F.prototype.addDash=function(K,xe){var te=xe?7:0,ye=2*te+1;if(this.nextRow+ye>this.height)return e.warnOnce(\"LineAtlas out of space\"),null;for(var je=0,ke=0;ke=te.minX&&K.x=te.minY&&K.y0&&(br[new e.OverscaledTileID(te.overscaledZ,Qe,ye.z,ke,ye.y-1).key]={backfilled:!1},br[new e.OverscaledTileID(te.overscaledZ,te.wrap,ye.z,ye.x,ye.y-1).key]={backfilled:!1},br[new e.OverscaledTileID(te.overscaledZ,jt,ye.z,vt,ye.y-1).key]={backfilled:!1}),ye.y+10&&(je.resourceTiming=te._resourceTiming,te._resourceTiming=[]),te.fire(new e.Event(\"data\",je))})},K.prototype.onAdd=function(te){this.map=te,this.load()},K.prototype.setData=function(te){var ye=this;return this._data=te,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(je){if(je){ye.fire(new e.ErrorEvent(je));return}var ke={dataType:\"source\",sourceDataType:\"content\"};ye._collectResourceTiming&&ye._resourceTiming&&ye._resourceTiming.length>0&&(ke.resourceTiming=ye._resourceTiming,ye._resourceTiming=[]),ye.fire(new e.Event(\"data\",ke))}),this},K.prototype.getClusterExpansionZoom=function(te,ye){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:te,source:this.id},ye),this},K.prototype.getClusterChildren=function(te,ye){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:te,source:this.id},ye),this},K.prototype.getClusterLeaves=function(te,ye,je,ke){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:te,limit:ye,offset:je},ke),this},K.prototype._updateWorkerData=function(te){var ye=this;this._loaded=!1;var je=e.extend({},this.workerOptions),ke=this._data;typeof ke==\"string\"?(je.request=this.map._requestManager.transformRequest(e.browser.resolveURL(ke),e.ResourceType.Source),je.request.collectResourceTiming=this._collectResourceTiming):je.data=JSON.stringify(ke),this.actor.send(this.type+\".loadData\",je,function(Qe,vt){ye._removed||vt&&vt.abandoned||(ye._loaded=!0,vt&&vt.resourceTiming&&vt.resourceTiming[ye.id]&&(ye._resourceTiming=vt.resourceTiming[ye.id].slice(0)),ye.actor.send(ye.type+\".coalesce\",{source:je.source},null),te(Qe))})},K.prototype.loaded=function(){return this._loaded},K.prototype.loadTile=function(te,ye){var je=this,ke=te.actor?\"reloadTile\":\"loadTile\";te.actor=this.actor;var Qe={type:this.type,uid:te.uid,tileID:te.tileID,zoom:te.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};te.request=this.actor.send(ke,Qe,function(vt,jt){return delete te.request,te.unloadVectorData(),te.aborted?ye(null):vt?ye(vt):(te.loadVectorData(jt,je.map.painter,ke===\"reloadTile\"),ye(null))})},K.prototype.abortTile=function(te){te.request&&(te.request.cancel(),delete te.request),te.aborted=!0},K.prototype.unloadTile=function(te){te.unloadVectorData(),this.actor.send(\"removeTile\",{uid:te.uid,type:this.type,source:this.id})},K.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},K.prototype.serialize=function(){return e.extend({},this._options,{type:this.type,data:this._data})},K.prototype.hasTransition=function(){return!1},K}(e.Evented),ue=e.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),ce=function(ge){function K(xe,te,ye,je){ge.call(this),this.id=xe,this.dispatcher=ye,this.coordinates=te.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(je),this.options=te}return ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K,K.prototype.load=function(te,ye){var je=this;this._loaded=!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),function(ke,Qe){je._loaded=!0,ke?je.fire(new e.ErrorEvent(ke)):Qe&&(je.image=Qe,te&&(je.coordinates=te),ye&&ye(),je._finishLoading())})},K.prototype.loaded=function(){return this._loaded},K.prototype.updateImage=function(te){var ye=this;return!this.image||!te.url?this:(this.options.url=te.url,this.load(te.coordinates,function(){ye.texture=null}),this)},K.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},K.prototype.onAdd=function(te){this.map=te,this.load()},K.prototype.setCoordinates=function(te){var ye=this;this.coordinates=te;var je=te.map(e.MercatorCoordinate.fromLngLat);this.tileID=de(je),this.minzoom=this.maxzoom=this.tileID.z;var ke=je.map(function(Qe){return ye.tileID.getTilePoint(Qe)._round()});return this._boundsArray=new e.StructArrayLayout4i8,this._boundsArray.emplaceBack(ke[0].x,ke[0].y,0,0),this._boundsArray.emplaceBack(ke[1].x,ke[1].y,e.EXTENT,0),this._boundsArray.emplaceBack(ke[3].x,ke[3].y,0,e.EXTENT),this._boundsArray.emplaceBack(ke[2].x,ke[2].y,e.EXTENT,e.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},K.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var te=this.map.painter.context,ye=te.gl;this.boundsBuffer||(this.boundsBuffer=te.createVertexBuffer(this._boundsArray,ue.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new e.Texture(te,this.image,ye.RGBA),this.texture.bind(ye.LINEAR,ye.CLAMP_TO_EDGE));for(var je in this.tiles){var ke=this.tiles[je];ke.state!==\"loaded\"&&(ke.state=\"loaded\",ke.texture=this.texture)}}},K.prototype.loadTile=function(te,ye){this.tileID&&this.tileID.equals(te.tileID.canonical)?(this.tiles[String(te.tileID.wrap)]=te,te.buckets={},ye(null)):(te.state=\"errored\",ye(null))},K.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},K.prototype.hasTransition=function(){return!1},K}(e.Evented);function de(ge){for(var K=1/0,xe=1/0,te=-1/0,ye=-1/0,je=0,ke=ge;jeye.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+ye.start(0)+\" and \"+ye.end(0)+\"-second mark.\"))):this.video.currentTime=te}},K.prototype.getVideo=function(){return this.video},K.prototype.onAdd=function(te){this.map||(this.map=te,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},K.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var te=this.map.painter.context,ye=te.gl;this.boundsBuffer||(this.boundsBuffer=te.createVertexBuffer(this._boundsArray,ue.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(ye.LINEAR,ye.CLAMP_TO_EDGE),ye.texSubImage2D(ye.TEXTURE_2D,0,0,0,ye.RGBA,ye.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(te,this.video,ye.RGBA),this.texture.bind(ye.LINEAR,ye.CLAMP_TO_EDGE));for(var je in this.tiles){var ke=this.tiles[je];ke.state!==\"loaded\"&&(ke.state=\"loaded\",ke.texture=this.texture)}}},K.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},K.prototype.hasTransition=function(){return this.video&&!this.video.paused},K}(ce),Y=function(ge){function K(xe,te,ye,je){ge.call(this,xe,te,ye,je),te.coordinates?(!Array.isArray(te.coordinates)||te.coordinates.length!==4||te.coordinates.some(function(ke){return!Array.isArray(ke)||ke.length!==2||ke.some(function(Qe){return typeof Qe!=\"number\"})}))&&this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+xe,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+xe,null,'missing required property \"coordinates\"'))),te.animate&&typeof te.animate!=\"boolean\"&&this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+xe,null,'optional \"animate\" property must be a boolean value'))),te.canvas?typeof te.canvas!=\"string\"&&!(te.canvas instanceof e.window.HTMLCanvasElement)&&this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+xe,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 e.ErrorEvent(new e.ValidationError(\"sources.\"+xe,null,'missing required property \"canvas\"'))),this.options=te,this.animate=te.animate!==void 0?te.animate:!0}return ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K,K.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new e.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},K.prototype.getCanvas=function(){return this.canvas},K.prototype.onAdd=function(te){this.map=te,this.load(),this.canvas&&this.animate&&this.play()},K.prototype.onRemove=function(){this.pause()},K.prototype.prepare=function(){var te=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,te=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,te=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var ye=this.map.painter.context,je=ye.gl;this.boundsBuffer||(this.boundsBuffer=ye.createVertexBuffer(this._boundsArray,ue.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(te||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(ye,this.canvas,je.RGBA,{premultiply:!0});for(var ke in this.tiles){var Qe=this.tiles[ke];Qe.state!==\"loaded\"&&(Qe.state=\"loaded\",Qe.texture=this.texture)}}},K.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},K.prototype.hasTransition=function(){return this._playing},K.prototype._hasInvalidDimensions=function(){for(var te=0,ye=[this.canvas.width,this.canvas.height];tethis.max){var Qe=this._getAndRemoveByKey(this.order[0]);Qe&&this.onRemove(Qe)}return this},Re.prototype.has=function(K){return K.wrapped().key in this.data},Re.prototype.getAndRemove=function(K){return this.has(K)?this._getAndRemoveByKey(K.wrapped().key):null},Re.prototype._getAndRemoveByKey=function(K){var xe=this.data[K].shift();return xe.timeout&&clearTimeout(xe.timeout),this.data[K].length===0&&delete this.data[K],this.order.splice(this.order.indexOf(K),1),xe.value},Re.prototype.getByKey=function(K){var xe=this.data[K];return xe?xe[0].value:null},Re.prototype.get=function(K){if(!this.has(K))return null;var xe=this.data[K.wrapped().key][0];return xe.value},Re.prototype.remove=function(K,xe){if(!this.has(K))return this;var te=K.wrapped().key,ye=xe===void 0?0:this.data[te].indexOf(xe),je=this.data[te][ye];return this.data[te].splice(ye,1),je.timeout&&clearTimeout(je.timeout),this.data[te].length===0&&delete this.data[te],this.onRemove(je.value),this.order.splice(this.order.indexOf(te),1),this},Re.prototype.setMaxSize=function(K){for(this.max=K;this.order.length>this.max;){var xe=this._getAndRemoveByKey(this.order[0]);xe&&this.onRemove(xe)}return this},Re.prototype.filter=function(K){var xe=[];for(var te in this.data)for(var ye=0,je=this.data[te];ye1||(Math.abs(Nr)>1&&(Math.abs(Nr+mt)===1?Nr+=mt:Math.abs(Nr-mt)===1&&(Nr-=mt)),!(!br.dem||!jt.dem)&&(jt.dem.backfillBorder(br.dem,Nr,pr),jt.neighboringTiles&&jt.neighboringTiles[Mt]&&(jt.neighboringTiles[Mt].backfilled=!0)))}},K.prototype.getTile=function(te){return this.getTileByID(te.key)},K.prototype.getTileByID=function(te){return this._tiles[te]},K.prototype._retainLoadedChildren=function(te,ye,je,ke){for(var Qe in this._tiles){var vt=this._tiles[Qe];if(!(ke[Qe]||!vt.hasData()||vt.tileID.overscaledZ<=ye||vt.tileID.overscaledZ>je)){for(var jt=vt.tileID;vt&&vt.tileID.overscaledZ>ye+1;){var br=vt.tileID.scaledTo(vt.tileID.overscaledZ-1);vt=this._tiles[br.key],vt&&vt.hasData()&&(jt=br)}for(var Nr=jt;Nr.overscaledZ>ye;)if(Nr=Nr.scaledTo(Nr.overscaledZ-1),te[Nr.key]){ke[jt.key]=jt;break}}}},K.prototype.findLoadedParent=function(te,ye){if(te.key in this._loadedParentTiles){var je=this._loadedParentTiles[te.key];return je&&je.tileID.overscaledZ>=ye?je:null}for(var ke=te.overscaledZ-1;ke>=ye;ke--){var Qe=te.scaledTo(ke),vt=this._getLoadedTile(Qe);if(vt)return vt}},K.prototype._getLoadedTile=function(te){var ye=this._tiles[te.key];if(ye&&ye.hasData())return ye;var je=this._cache.getByKey(te.wrapped().key);return je},K.prototype.updateCacheSize=function(te){var ye=Math.ceil(te.width/this._source.tileSize)+1,je=Math.ceil(te.height/this._source.tileSize)+1,ke=ye*je,Qe=5,vt=Math.floor(ke*Qe),jt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,vt):vt;this._cache.setMaxSize(jt)},K.prototype.handleWrapJump=function(te){var ye=this._prevLng===void 0?te:this._prevLng,je=te-ye,ke=je/360,Qe=Math.round(ke);if(this._prevLng=te,Qe){var vt={};for(var jt in this._tiles){var br=this._tiles[jt];br.tileID=br.tileID.unwrapTo(br.tileID.wrap+Qe),vt[br.tileID.key]=br}this._tiles=vt;for(var Nr in this._timers)clearTimeout(this._timers[Nr]),delete this._timers[Nr];for(var pr in this._tiles){var mt=this._tiles[pr];this._setTileReloadTimer(pr,mt)}}},K.prototype.update=function(te){var ye=this;if(this.transform=te,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(te),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var je;this.used?this._source.tileID?je=te.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(ya){return new e.OverscaledTileID(ya.canonical.z,ya.wrap,ya.canonical.z,ya.canonical.x,ya.canonical.y)}):(je=te.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(je=je.filter(function(ya){return ye._source.hasTile(ya)}))):je=[];var ke=te.coveringZoomLevel(this._source),Qe=Math.max(ke-K.maxOverzooming,this._source.minzoom),vt=Math.max(ke+K.maxUnderzooming,this._source.minzoom),jt=this._updateRetainedTiles(je,ke);if(Ba(this._source.type)){for(var br={},Nr={},pr=Object.keys(jt),mt=0,Mt=pr;mtthis._source.maxzoom){var nr=rr.children(this._source.maxzoom)[0],dr=this.getTile(nr);if(dr&&dr.hasData()){je[nr.key]=nr;continue}}else{var or=rr.children(this._source.maxzoom);if(je[or[0].key]&&je[or[1].key]&&je[or[2].key]&&je[or[3].key])continue}for(var Wt=hr.wasRequested(),ir=rr.overscaledZ-1;ir>=Qe;--ir){var Vt=rr.scaledTo(ir);if(ke[Vt.key]||(ke[Vt.key]=!0,hr=this.getTile(Vt),!hr&&Wt&&(hr=this._addTile(Vt)),hr&&(je[Vt.key]=Vt,Wt=hr.wasRequested(),hr.hasData())))break}}}return je},K.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var te in this._tiles){for(var ye=[],je=void 0,ke=this._tiles[te].tileID;ke.overscaledZ>0;){if(ke.key in this._loadedParentTiles){je=this._loadedParentTiles[ke.key];break}ye.push(ke.key);var Qe=ke.scaledTo(ke.overscaledZ-1);if(je=this._getLoadedTile(Qe),je)break;ke=Qe}for(var vt=0,jt=ye;vt0)&&(ye.hasData()&&ye.state!==\"reloading\"?this._cache.add(ye.tileID,ye,ye.getExpiryTimeout()):(ye.aborted=!0,this._abortTile(ye),this._unloadTile(ye))))},K.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var te in this._tiles)this._removeTile(te);this._cache.reset()},K.prototype.tilesIn=function(te,ye,je){var ke=this,Qe=[],vt=this.transform;if(!vt)return Qe;for(var jt=je?vt.getCameraQueryGeometry(te):te,br=te.map(function(ir){return vt.pointCoordinate(ir)}),Nr=jt.map(function(ir){return vt.pointCoordinate(ir)}),pr=this.getIds(),mt=1/0,Mt=1/0,Ft=-1/0,rr=-1/0,hr=0,nr=Nr;hr=0&&vi[1].y+ya>=0){var Ga=br.map(function(Zi){return zr.getTilePoint(Zi)}),ai=Nr.map(function(Zi){return zr.getTilePoint(Zi)});Qe.push({tile:Vt,tileID:zr,queryGeometry:Ga,cameraQueryGeometry:ai,scale:Jr})}}},Wt=0;Wt=e.browser.now())return!0}return!1},K.prototype.setFeatureState=function(te,ye,je){te=te||\"_geojsonTileLayer\",this._state.updateState(te,ye,je)},K.prototype.removeFeatureState=function(te,ye,je){te=te||\"_geojsonTileLayer\",this._state.removeFeatureState(te,ye,je)},K.prototype.getFeatureState=function(te,ye){return te=te||\"_geojsonTileLayer\",this._state.getState(te,ye)},K.prototype.setDependencies=function(te,ye,je){var ke=this._tiles[te];ke&&ke.setDependencies(ye,je)},K.prototype.reloadTilesForDependencies=function(te,ye){for(var je in this._tiles){var ke=this._tiles[je];ke.hasDependency(te,ye)&&this._reloadTile(je,\"reloading\")}this._cache.filter(function(Qe){return!Qe.hasDependency(te,ye)})},K}(e.Evented);ra.maxOverzooming=10,ra.maxUnderzooming=3;function ca(ge,K){var xe=Math.abs(ge.wrap*2)-+(ge.wrap<0),te=Math.abs(K.wrap*2)-+(K.wrap<0);return ge.overscaledZ-K.overscaledZ||te-xe||K.canonical.y-ge.canonical.y||K.canonical.x-ge.canonical.x}function Ba(ge){return ge===\"raster\"||ge===\"image\"||ge===\"video\"}function $a(){return new e.window.Worker(Io.workerUrl)}var Za=\"mapboxgl_preloaded_worker_pool\",ri=function(){this.active={}};ri.prototype.acquire=function(K){if(!this.workers)for(this.workers=[];this.workers.length0?(ye-ke)/Qe:0;return this.points[je].mult(1-vt).add(this.points[xe].mult(vt))};var la=function(K,xe,te){var ye=this.boxCells=[],je=this.circleCells=[];this.xCellCount=Math.ceil(K/te),this.yCellCount=Math.ceil(xe/te);for(var ke=0;kethis.width||ye<0||xe>this.height)return je?!1:[];var Qe=[];if(K<=0&&xe<=0&&this.width<=te&&this.height<=ye){if(je)return!0;for(var vt=0;vt0:Qe}},la.prototype._queryCircle=function(K,xe,te,ye,je){var ke=K-te,Qe=K+te,vt=xe-te,jt=xe+te;if(Qe<0||ke>this.width||jt<0||vt>this.height)return ye?!1:[];var br=[],Nr={hitTest:ye,circle:{x:K,y:xe,radius:te},seenUids:{box:{},circle:{}}};return this._forEachCell(ke,vt,Qe,jt,this._queryCellCircle,br,Nr,je),ye?br.length>0:br},la.prototype.query=function(K,xe,te,ye,je){return this._query(K,xe,te,ye,!1,je)},la.prototype.hitTest=function(K,xe,te,ye,je){return this._query(K,xe,te,ye,!0,je)},la.prototype.hitTestCircle=function(K,xe,te,ye){return this._queryCircle(K,xe,te,!0,ye)},la.prototype._queryCell=function(K,xe,te,ye,je,ke,Qe,vt){var jt=Qe.seenUids,br=this.boxCells[je];if(br!==null)for(var Nr=this.bboxes,pr=0,mt=br;pr=Nr[Ft+0]&&ye>=Nr[Ft+1]&&(!vt||vt(this.boxKeys[Mt]))){if(Qe.hitTest)return ke.push(!0),!0;ke.push({key:this.boxKeys[Mt],x1:Nr[Ft],y1:Nr[Ft+1],x2:Nr[Ft+2],y2:Nr[Ft+3]})}}}var rr=this.circleCells[je];if(rr!==null)for(var hr=this.circles,nr=0,dr=rr;nrQe*Qe+vt*vt},la.prototype._circleAndRectCollide=function(K,xe,te,ye,je,ke,Qe){var vt=(ke-ye)/2,jt=Math.abs(K-(ye+vt));if(jt>vt+te)return!1;var br=(Qe-je)/2,Nr=Math.abs(xe-(je+br));if(Nr>br+te)return!1;if(jt<=vt||Nr<=br)return!0;var pr=jt-vt,mt=Nr-br;return pr*pr+mt*mt<=te*te};function ba(ge,K,xe,te,ye){var je=e.create();return K?(e.scale(je,je,[1/ye,1/ye,1]),xe||e.rotateZ(je,je,te.angle)):e.multiply(je,te.labelPlaneMatrix,ge),je}function Ai(ge,K,xe,te,ye){if(K){var je=e.clone(ge);return e.scale(je,je,[ye,ye,1]),xe||e.rotateZ(je,je,-te.angle),je}else return te.glCoordMatrix}function ki(ge,K){var xe=[ge.x,ge.y,0,1];wo(xe,xe,K);var te=xe[3];return{point:new e.Point(xe[0]/te,xe[1]/te),signedDistanceFromCamera:te}}function Ki(ge,K){return .5+.5*(ge/K)}function Mn(ge,K){var xe=ge[0]/ge[3],te=ge[1]/ge[3],ye=xe>=-K[0]&&xe<=K[0]&&te>=-K[1]&&te<=K[1];return ye}function wn(ge,K,xe,te,ye,je,ke,Qe){var vt=te?ge.textSizeData:ge.iconSizeData,jt=e.evaluateSizeForZoom(vt,xe.transform.zoom),br=[256/xe.width*2+1,256/xe.height*2+1],Nr=te?ge.text.dynamicLayoutVertexArray:ge.icon.dynamicLayoutVertexArray;Nr.clear();for(var pr=ge.lineVertexArray,mt=te?ge.text.placedSymbolArray:ge.icon.placedSymbolArray,Mt=xe.transform.width/xe.transform.height,Ft=!1,rr=0;rrje)return{useVertical:!0}}return(ge===e.WritingMode.vertical?K.yxe.x)?{needsFlipping:!0}:null}function ao(ge,K,xe,te,ye,je,ke,Qe,vt,jt,br,Nr,pr,mt){var Mt=K/24,Ft=ge.lineOffsetX*Mt,rr=ge.lineOffsetY*Mt,hr;if(ge.numGlyphs>1){var nr=ge.glyphStartIndex+ge.numGlyphs,dr=ge.lineStartIndex,or=ge.lineStartIndex+ge.lineLength,Wt=On(Mt,Qe,Ft,rr,xe,br,Nr,ge,vt,je,pr);if(!Wt)return{notEnoughRoom:!0};var ir=ki(Wt.first.point,ke).point,Vt=ki(Wt.last.point,ke).point;if(te&&!xe){var zr=En(ge.writingMode,ir,Vt,mt);if(zr)return zr}hr=[Wt.first];for(var Jr=ge.glyphStartIndex+1;Jr0?ai.point:Co(Nr,Ga,ya,1,ye),Fi=En(ge.writingMode,ya,Zi,mt);if(Fi)return Fi}var ui=bo(Mt*Qe.getoffsetX(ge.glyphStartIndex),Ft,rr,xe,br,Nr,ge.segment,ge.lineStartIndex,ge.lineStartIndex+ge.lineLength,vt,je,pr);if(!ui)return{notEnoughRoom:!0};hr=[ui]}for(var _i=0,Si=hr;_i0?1:-1,Mt=0;te&&(mt*=-1,Mt=Math.PI),mt<0&&(Mt+=Math.PI);for(var Ft=mt>0?Qe+ke:Qe+ke+1,rr=ye,hr=ye,nr=0,dr=0,or=Math.abs(pr),Wt=[];nr+dr<=or;){if(Ft+=mt,Ft=vt)return null;if(hr=rr,Wt.push(rr),rr=Nr[Ft],rr===void 0){var ir=new e.Point(jt.getx(Ft),jt.gety(Ft)),Vt=ki(ir,br);if(Vt.signedDistanceFromCamera>0)rr=Nr[Ft]=Vt.point;else{var zr=Ft-mt,Jr=nr===0?je:new e.Point(jt.getx(zr),jt.gety(zr));rr=Co(Jr,ir,hr,or-nr+1,br)}}nr+=dr,dr=hr.dist(rr)}var ya=(or-nr)/dr,vi=rr.sub(hr),Ga=vi.mult(ya)._add(hr);Ga._add(vi._unit()._perp()._mult(xe*mt));var ai=Mt+Math.atan2(rr.y-hr.y,rr.x-hr.x);return Wt.push(Ga),{point:Ga,angle:ai,path:Wt}}var zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function kn(ge,K){for(var xe=0;xe=1;Ui--)Si.push(ui.path[Ui]);for(var fn=1;fn<_i.path.length;fn++)Si.push(_i.path[fn]);var _o=Ga*2.5;if(vt){var Uo=Si.map(function(Lp){return ki(Lp,vt)});Uo.some(function(Lp){return Lp.signedDistanceFromCamera<=0})?Si=[]:Si=Uo.map(function(Lp){return Lp.point})}var Ds=[];if(Si.length>0){for(var Oo=Si[0].clone(),ks=Si[0].clone(),Ys=1;Ys=ai.x&&ks.x<=Zi.x&&Oo.y>=ai.y&&ks.y<=Zi.y?Ds=[Si]:ks.xZi.x||ks.yZi.y?Ds=[]:Ds=e.clipLine([Si],ai.x,ai.y,Zi.x,Zi.y)}for(var mu=0,Ep=Ds;mu=this.screenRightBoundary||yethis.screenBottomBoundary},go.prototype.isInsideGrid=function(K,xe,te,ye){return te>=0&&K=0&&xe0){var or;return this.prevPlacement&&this.prevPlacement.variableOffsets[pr.crossTileID]&&this.prevPlacement.placements[pr.crossTileID]&&this.prevPlacement.placements[pr.crossTileID].text&&(or=this.prevPlacement.variableOffsets[pr.crossTileID].anchor),this.variableOffsets[pr.crossTileID]={textOffset:rr,width:te,height:ye,anchor:K,textBoxScale:je,prevAnchor:or},this.markUsedJustification(mt,K,pr,Mt),mt.allowVerticalPlacement&&(this.markUsedOrientation(mt,Mt,pr),this.placedOrientations[pr.crossTileID]=Mt),{shift:hr,placedGlyphBoxes:nr}}},Ko.prototype.placeLayerBucketPart=function(K,xe,te){var ye=this,je=K.parameters,ke=je.bucket,Qe=je.layout,vt=je.posMatrix,jt=je.textLabelPlaneMatrix,br=je.labelToScreenMatrix,Nr=je.textPixelRatio,pr=je.holdingForFade,mt=je.collisionBoxArray,Mt=je.partiallyEvaluatedTextSize,Ft=je.collisionGroup,rr=Qe.get(\"text-optional\"),hr=Qe.get(\"icon-optional\"),nr=Qe.get(\"text-allow-overlap\"),dr=Qe.get(\"icon-allow-overlap\"),or=Qe.get(\"text-rotation-alignment\")===\"map\",Wt=Qe.get(\"text-pitch-alignment\")===\"map\",ir=Qe.get(\"icon-text-fit\")!==\"none\",Vt=Qe.get(\"symbol-z-order\")===\"viewport-y\",zr=nr&&(dr||!ke.hasIconData()||hr),Jr=dr&&(nr||!ke.hasTextData()||rr);!ke.collisionArrays&&mt&&ke.deserializeCollisionBoxes(mt);var ya=function(ui,_i){if(!xe[ui.crossTileID]){if(pr){ye.placements[ui.crossTileID]=new Zn(!1,!1,!1);return}var Si=!1,Ui=!1,fn=!0,_o=null,Uo={box:null,offscreen:null},Ds={box:null,offscreen:null},Oo=null,ks=null,Ys=null,mu=0,Ep=0,kp=0;_i.textFeatureIndex?mu=_i.textFeatureIndex:ui.useRuntimeCollisionCircles&&(mu=ui.featureIndex),_i.verticalTextFeatureIndex&&(Ep=_i.verticalTextFeatureIndex);var Ph=_i.textBox;if(Ph){var qp=function(cc){var hu=e.WritingMode.horizontal;if(ke.allowVerticalPlacement&&!cc&&ye.prevPlacement){var Dh=ye.prevPlacement.placedOrientations[ui.crossTileID];Dh&&(ye.placedOrientations[ui.crossTileID]=Dh,hu=Dh,ye.markUsedOrientation(ke,hu,ui))}return hu},qd=function(cc,hu){if(ke.allowVerticalPlacement&&ui.numVerticalGlyphVertices>0&&_i.verticalTextBox)for(var Dh=0,Iv=ke.writingModes;Dh0&&(Kh=Kh.filter(function(cc){return cc!==Rh.anchor}),Kh.unshift(Rh.anchor))}var Cp=function(cc,hu,Dh){for(var Iv=cc.x2-cc.x1,sm=cc.y2-cc.y1,Mu=ui.textBoxScale,w0=ir&&!dr?hu:null,sv={box:[],offscreen:!1},xg=nr?Kh.length*2:Kh.length,Pp=0;Pp=Kh.length,T0=ye.attemptAnchorPlacement(lv,cc,Iv,sm,Mu,or,Wt,Nr,vt,Ft,bg,ui,ke,Dh,w0);if(T0&&(sv=T0.placedGlyphBoxes,sv&&sv.box&&sv.box.length)){Si=!0,_o=T0.shift;break}}return sv},Vp=function(){return Cp(Ph,_i.iconBox,e.WritingMode.horizontal)},Lp=function(){var cc=_i.verticalTextBox,hu=Uo&&Uo.box&&Uo.box.length;return ke.allowVerticalPlacement&&!hu&&ui.numVerticalGlyphVertices>0&&cc?Cp(cc,_i.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null}};qd(Vp,Lp),Uo&&(Si=Uo.box,fn=Uo.offscreen);var Cv=qp(Uo&&Uo.box);if(!Si&&ye.prevPlacement){var Vd=ye.prevPlacement.variableOffsets[ui.crossTileID];Vd&&(ye.variableOffsets[ui.crossTileID]=Vd,ye.markUsedJustification(ke,Vd.anchor,ui,Cv))}}else{var ed=function(cc,hu){var Dh=ye.collisionIndex.placeCollisionBox(cc,nr,Nr,vt,Ft.predicate);return Dh&&Dh.box&&Dh.box.length&&(ye.markUsedOrientation(ke,hu,ui),ye.placedOrientations[ui.crossTileID]=hu),Dh},Ih=function(){return ed(Ph,e.WritingMode.horizontal)},td=function(){var cc=_i.verticalTextBox;return ke.allowVerticalPlacement&&ui.numVerticalGlyphVertices>0&&cc?ed(cc,e.WritingMode.vertical):{box:null,offscreen:null}};qd(Ih,td),qp(Uo&&Uo.box&&Uo.box.length)}}if(Oo=Uo,Si=Oo&&Oo.box&&Oo.box.length>0,fn=Oo&&Oo.offscreen,ui.useRuntimeCollisionCircles){var Gf=ke.text.placedSymbolArray.get(ui.centerJustifiedTextSymbolIndex),Gd=e.evaluateSizeForFeature(ke.textSizeData,Mt,Gf),Lv=Qe.get(\"text-padding\"),ph=ui.collisionCircleDiameter;ks=ye.collisionIndex.placeCollisionCircles(nr,Gf,ke.lineVertexArray,ke.glyphOffsetArray,Gd,vt,jt,br,te,Wt,Ft.predicate,ph,Lv),Si=nr||ks.circles.length>0&&!ks.collisionDetected,fn=fn&&ks.offscreen}if(_i.iconFeatureIndex&&(kp=_i.iconFeatureIndex),_i.iconBox){var iv=function(cc){var hu=ir&&_o?Rs(cc,_o.x,_o.y,or,Wt,ye.transform.angle):cc;return ye.collisionIndex.placeCollisionBox(hu,dr,Nr,vt,Ft.predicate)};Ds&&Ds.box&&Ds.box.length&&_i.verticalIconBox?(Ys=iv(_i.verticalIconBox),Ui=Ys.box.length>0):(Ys=iv(_i.iconBox),Ui=Ys.box.length>0),fn=fn&&Ys.offscreen}var nm=rr||ui.numHorizontalGlyphVertices===0&&ui.numVerticalGlyphVertices===0,om=hr||ui.numIconVertices===0;if(!nm&&!om?Ui=Si=Ui&&Si:om?nm||(Ui=Ui&&Si):Si=Ui&&Si,Si&&Oo&&Oo.box&&(Ds&&Ds.box&&Ep?ye.collisionIndex.insertCollisionBox(Oo.box,Qe.get(\"text-ignore-placement\"),ke.bucketInstanceId,Ep,Ft.ID):ye.collisionIndex.insertCollisionBox(Oo.box,Qe.get(\"text-ignore-placement\"),ke.bucketInstanceId,mu,Ft.ID)),Ui&&Ys&&ye.collisionIndex.insertCollisionBox(Ys.box,Qe.get(\"icon-ignore-placement\"),ke.bucketInstanceId,kp,Ft.ID),ks&&(Si&&ye.collisionIndex.insertCollisionCircles(ks.circles,Qe.get(\"text-ignore-placement\"),ke.bucketInstanceId,mu,Ft.ID),te)){var Pv=ke.bucketInstanceId,nv=ye.collisionCircleArrays[Pv];nv===void 0&&(nv=ye.collisionCircleArrays[Pv]=new Gn);for(var ov=0;ov=0;--Ga){var ai=vi[Ga];ya(ke.symbolInstances.get(ai),ke.collisionArrays[ai])}else for(var Zi=K.symbolInstanceStart;Zi=0&&(ke>=0&&br!==ke?K.text.placedSymbolArray.get(br).crossTileID=0:K.text.placedSymbolArray.get(br).crossTileID=te.crossTileID)}},Ko.prototype.markUsedOrientation=function(K,xe,te){for(var ye=xe===e.WritingMode.horizontal||xe===e.WritingMode.horizontalOnly?xe:0,je=xe===e.WritingMode.vertical?xe:0,ke=[te.leftJustifiedTextSymbolIndex,te.centerJustifiedTextSymbolIndex,te.rightJustifiedTextSymbolIndex],Qe=0,vt=ke;Qe0||Wt>0,ya=dr.numIconVertices>0,vi=ye.placedOrientations[dr.crossTileID],Ga=vi===e.WritingMode.vertical,ai=vi===e.WritingMode.horizontal||vi===e.WritingMode.horizontalOnly;if(Jr){var Zi=il(zr.text),Fi=Ga?yn:Zi;Mt(K.text,or,Fi);var ui=ai?yn:Zi;Mt(K.text,Wt,ui);var _i=zr.text.isHidden();[dr.rightJustifiedTextSymbolIndex,dr.centerJustifiedTextSymbolIndex,dr.leftJustifiedTextSymbolIndex].forEach(function(kp){kp>=0&&(K.text.placedSymbolArray.get(kp).hidden=_i||Ga?1:0)}),dr.verticalPlacedTextSymbolIndex>=0&&(K.text.placedSymbolArray.get(dr.verticalPlacedTextSymbolIndex).hidden=_i||ai?1:0);var Si=ye.variableOffsets[dr.crossTileID];Si&&ye.markUsedJustification(K,Si.anchor,dr,vi);var Ui=ye.placedOrientations[dr.crossTileID];Ui&&(ye.markUsedJustification(K,\"left\",dr,Ui),ye.markUsedOrientation(K,Ui,dr))}if(ya){var fn=il(zr.icon),_o=!(pr&&dr.verticalPlacedIconSymbolIndex&&Ga);if(dr.placedIconSymbolIndex>=0){var Uo=_o?fn:yn;Mt(K.icon,dr.numIconVertices,Uo),K.icon.placedSymbolArray.get(dr.placedIconSymbolIndex).hidden=zr.icon.isHidden()}if(dr.verticalPlacedIconSymbolIndex>=0){var Ds=_o?yn:fn;Mt(K.icon,dr.numVerticalIconVertices,Ds),K.icon.placedSymbolArray.get(dr.verticalPlacedIconSymbolIndex).hidden=zr.icon.isHidden()}}if(K.hasIconCollisionBoxData()||K.hasTextCollisionBoxData()){var Oo=K.collisionArrays[nr];if(Oo){var ks=new e.Point(0,0);if(Oo.textBox||Oo.verticalTextBox){var Ys=!0;if(jt){var mu=ye.variableOffsets[ir];mu?(ks=ys(mu.anchor,mu.width,mu.height,mu.textOffset,mu.textBoxScale),br&&ks._rotate(Nr?ye.transform.angle:-ye.transform.angle)):Ys=!1}Oo.textBox&&Gi(K.textCollisionBox.collisionVertexArray,zr.text.placed,!Ys||Ga,ks.x,ks.y),Oo.verticalTextBox&&Gi(K.textCollisionBox.collisionVertexArray,zr.text.placed,!Ys||ai,ks.x,ks.y)}var Ep=!!(!ai&&Oo.verticalIconBox);Oo.iconBox&&Gi(K.iconCollisionBox.collisionVertexArray,zr.icon.placed,Ep,pr?ks.x:0,pr?ks.y:0),Oo.verticalIconBox&&Gi(K.iconCollisionBox.collisionVertexArray,zr.icon.placed,!Ep,pr?ks.x:0,pr?ks.y:0)}}},rr=0;rrK},Ko.prototype.setStale=function(){this.stale=!0};function Gi(ge,K,xe,te,ye){ge.emplaceBack(K?1:0,xe?1:0,te||0,ye||0),ge.emplaceBack(K?1:0,xe?1:0,te||0,ye||0),ge.emplaceBack(K?1:0,xe?1:0,te||0,ye||0),ge.emplaceBack(K?1:0,xe?1:0,te||0,ye||0)}var Pn=Math.pow(2,25),qs=Math.pow(2,24),xs=Math.pow(2,17),lo=Math.pow(2,16),Zo=Math.pow(2,9),bs=Math.pow(2,8),Hs=Math.pow(2,1);function il(ge){if(ge.opacity===0&&!ge.placed)return 0;if(ge.opacity===1&&ge.placed)return 4294967295;var K=ge.placed?1:0,xe=Math.floor(ge.opacity*127);return xe*Pn+K*qs+xe*xs+K*lo+xe*Zo+K*bs+xe*Hs+K}var yn=0,Po=function(K){this._sortAcrossTiles=K.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&K.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Po.prototype.continuePlacement=function(K,xe,te,ye,je){for(var ke=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var Qe=K[this._currentPlacementIndex],vt=xe[Qe],jt=this.placement.collisionIndex.transform.zoom;if(vt.type===\"symbol\"&&(!vt.minzoom||vt.minzoom<=jt)&&(!vt.maxzoom||vt.maxzoom>jt)){this._inProgressLayer||(this._inProgressLayer=new Po(vt));var br=this._inProgressLayer.continuePlacement(te[vt.source],this.placement,this._showCollisionBoxes,vt,ke);if(br)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},To.prototype.commit=function(K){return this.placement.commit(K),this.placement};var Ws=512/e.EXTENT/2,Ll=function(K,xe,te){this.tileID=K,this.indexedSymbolInstances={},this.bucketInstanceId=te;for(var ye=0;yeK.overscaledZ)for(var jt in vt){var br=vt[jt];br.tileID.isChildOf(K)&&br.findMatches(xe.symbolInstances,K,ke)}else{var Nr=K.scaledTo(Number(Qe)),pr=vt[Nr.key];pr&&pr.findMatches(xe.symbolInstances,K,ke)}}for(var mt=0;mt0)throw new Error(\"Unimplemented: \"+ke.map(function(Qe){return Qe.command}).join(\", \")+\".\");return je.forEach(function(Qe){Qe.command!==\"setTransition\"&&ye[Qe.command].apply(ye,Qe.args)}),this.stylesheet=te,!0},K.prototype.addImage=function(te,ye){if(this.getImage(te))return this.fire(new e.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(te,ye),this._afterImageUpdated(te)},K.prototype.updateImage=function(te,ye){this.imageManager.updateImage(te,ye)},K.prototype.getImage=function(te){return this.imageManager.getImage(te)},K.prototype.removeImage=function(te){if(!this.getImage(te))return this.fire(new e.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(te),this._afterImageUpdated(te)},K.prototype._afterImageUpdated=function(te){this._availableImages=this.imageManager.listImages(),this._changedImages[te]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new e.Event(\"data\",{dataType:\"style\"}))},K.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},K.prototype.addSource=function(te,ye,je){var ke=this;if(je===void 0&&(je={}),this._checkLoaded(),this.sourceCaches[te]!==void 0)throw new Error(\"There is already a source with this ID\");if(!ye.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(ye).join(\", \")+\".\");var Qe=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],vt=Qe.indexOf(ye.type)>=0;if(!(vt&&this._validate(e.validateStyle.source,\"sources.\"+te,ye,null,je))){this.map&&this.map._collectResourceTiming&&(ye.collectResourceTiming=!0);var jt=this.sourceCaches[te]=new ra(te,ye,this.dispatcher);jt.style=this,jt.setEventedParent(this,function(){return{isSourceLoaded:ke.loaded(),source:jt.serialize(),sourceId:te}}),jt.onAdd(this.map),this._changed=!0}},K.prototype.removeSource=function(te){if(this._checkLoaded(),this.sourceCaches[te]===void 0)throw new Error(\"There is no source with this ID\");for(var ye in this._layers)if(this._layers[ye].source===te)return this.fire(new e.ErrorEvent(new Error('Source \"'+te+'\" cannot be removed while layer \"'+ye+'\" is using it.')));var je=this.sourceCaches[te];delete this.sourceCaches[te],delete this._updatedSources[te],je.fire(new e.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:te})),je.setEventedParent(null),je.clearTiles(),je.onRemove&&je.onRemove(this.map),this._changed=!0},K.prototype.setGeoJSONSourceData=function(te,ye){this._checkLoaded();var je=this.sourceCaches[te].getSource();je.setData(ye),this._changed=!0},K.prototype.getSource=function(te){return this.sourceCaches[te]&&this.sourceCaches[te].getSource()},K.prototype.addLayer=function(te,ye,je){je===void 0&&(je={}),this._checkLoaded();var ke=te.id;if(this.getLayer(ke)){this.fire(new e.ErrorEvent(new Error('Layer with id \"'+ke+'\" already exists on this map')));return}var Qe;if(te.type===\"custom\"){if(ws(this,e.validateCustomStyleLayer(te)))return;Qe=e.createStyleLayer(te)}else{if(typeof te.source==\"object\"&&(this.addSource(ke,te.source),te=e.clone$1(te),te=e.extend(te,{source:ke})),this._validate(e.validateStyle.layer,\"layers.\"+ke,te,{arrayIndex:-1},je))return;Qe=e.createStyleLayer(te),this._validateLayer(Qe),Qe.setEventedParent(this,{layer:{id:ke}}),this._serializedLayers[Qe.id]=Qe.serialize()}var vt=ye?this._order.indexOf(ye):this._order.length;if(ye&&vt===-1){this.fire(new e.ErrorEvent(new Error('Layer with id \"'+ye+'\" does not exist on this map.')));return}if(this._order.splice(vt,0,ke),this._layerOrderChanged=!0,this._layers[ke]=Qe,this._removedLayers[ke]&&Qe.source&&Qe.type!==\"custom\"){var jt=this._removedLayers[ke];delete this._removedLayers[ke],jt.type!==Qe.type?this._updatedSources[Qe.source]=\"clear\":(this._updatedSources[Qe.source]=\"reload\",this.sourceCaches[Qe.source].pause())}this._updateLayer(Qe),Qe.onAdd&&Qe.onAdd(this.map)},K.prototype.moveLayer=function(te,ye){this._checkLoaded(),this._changed=!0;var je=this._layers[te];if(!je){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be moved.\")));return}if(te!==ye){var ke=this._order.indexOf(te);this._order.splice(ke,1);var Qe=ye?this._order.indexOf(ye):this._order.length;if(ye&&Qe===-1){this.fire(new e.ErrorEvent(new Error('Layer with id \"'+ye+'\" does not exist on this map.')));return}this._order.splice(Qe,0,te),this._layerOrderChanged=!0}},K.prototype.removeLayer=function(te){this._checkLoaded();var ye=this._layers[te];if(!ye){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be removed.\")));return}ye.setEventedParent(null);var je=this._order.indexOf(te);this._order.splice(je,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[te]=ye,delete this._layers[te],delete this._serializedLayers[te],delete this._updatedLayers[te],delete this._updatedPaintProps[te],ye.onRemove&&ye.onRemove(this.map)},K.prototype.getLayer=function(te){return this._layers[te]},K.prototype.hasLayer=function(te){return te in this._layers},K.prototype.setLayerZoomRange=function(te,ye,je){this._checkLoaded();var ke=this.getLayer(te);if(!ke){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot have zoom extent.\")));return}ke.minzoom===ye&&ke.maxzoom===je||(ye!=null&&(ke.minzoom=ye),je!=null&&(ke.maxzoom=je),this._updateLayer(ke))},K.prototype.setFilter=function(te,ye,je){je===void 0&&(je={}),this._checkLoaded();var ke=this.getLayer(te);if(!ke){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!e.deepEqual(ke.filter,ye)){if(ye==null){ke.filter=void 0,this._updateLayer(ke);return}this._validate(e.validateStyle.filter,\"layers.\"+ke.id+\".filter\",ye,null,je)||(ke.filter=e.clone$1(ye),this._updateLayer(ke))}},K.prototype.getFilter=function(te){return e.clone$1(this.getLayer(te).filter)},K.prototype.setLayoutProperty=function(te,ye,je,ke){ke===void 0&&(ke={}),this._checkLoaded();var Qe=this.getLayer(te);if(!Qe){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be styled.\")));return}e.deepEqual(Qe.getLayoutProperty(ye),je)||(Qe.setLayoutProperty(ye,je,ke),this._updateLayer(Qe))},K.prototype.getLayoutProperty=function(te,ye){var je=this.getLayer(te);if(!je){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style.\")));return}return je.getLayoutProperty(ye)},K.prototype.setPaintProperty=function(te,ye,je,ke){ke===void 0&&(ke={}),this._checkLoaded();var Qe=this.getLayer(te);if(!Qe){this.fire(new e.ErrorEvent(new Error(\"The layer '\"+te+\"' does not exist in the map's style and cannot be styled.\")));return}if(!e.deepEqual(Qe.getPaintProperty(ye),je)){var vt=Qe.setPaintProperty(ye,je,ke);vt&&this._updateLayer(Qe),this._changed=!0,this._updatedPaintProps[te]=!0}},K.prototype.getPaintProperty=function(te,ye){return this.getLayer(te).getPaintProperty(ye)},K.prototype.setFeatureState=function(te,ye){this._checkLoaded();var je=te.source,ke=te.sourceLayer,Qe=this.sourceCaches[je];if(Qe===void 0){this.fire(new e.ErrorEvent(new Error(\"The source '\"+je+\"' does not exist in the map's style.\")));return}var vt=Qe.getSource().type;if(vt===\"geojson\"&&ke){this.fire(new e.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if(vt===\"vector\"&&!ke){this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}te.id===void 0&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Qe.setFeatureState(ke,te.id,ye)},K.prototype.removeFeatureState=function(te,ye){this._checkLoaded();var je=te.source,ke=this.sourceCaches[je];if(ke===void 0){this.fire(new e.ErrorEvent(new Error(\"The source '\"+je+\"' does not exist in the map's style.\")));return}var Qe=ke.getSource().type,vt=Qe===\"vector\"?te.sourceLayer:void 0;if(Qe===\"vector\"&&!vt){this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if(ye&&typeof te.id!=\"string\"&&typeof te.id!=\"number\"){this.fire(new e.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}ke.removeFeatureState(vt,te.id,ye)},K.prototype.getFeatureState=function(te){this._checkLoaded();var ye=te.source,je=te.sourceLayer,ke=this.sourceCaches[ye];if(ke===void 0){this.fire(new e.ErrorEvent(new Error(\"The source '\"+ye+\"' does not exist in the map's style.\")));return}var Qe=ke.getSource().type;if(Qe===\"vector\"&&!je){this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return te.id===void 0&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),ke.getFeatureState(je,te.id)},K.prototype.getTransition=function(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},K.prototype.serialize=function(){return e.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:e.mapObject(this.sourceCaches,function(te){return te.serialize()}),layers:this._serializeLayers(this._order)},function(te){return te!==void 0})},K.prototype._updateLayer=function(te){this._updatedLayers[te.id]=!0,te.source&&!this._updatedSources[te.source]&&this.sourceCaches[te.source].getSource().type!==\"raster\"&&(this._updatedSources[te.source]=\"reload\",this.sourceCaches[te.source].pause()),this._changed=!0},K.prototype._flattenAndSortRenderedFeatures=function(te){for(var ye=this,je=function(ai){return ye._layers[ai].type===\"fill-extrusion\"},ke={},Qe=[],vt=this._order.length-1;vt>=0;vt--){var jt=this._order[vt];if(je(jt)){ke[jt]=vt;for(var br=0,Nr=te;br=0;nr--){var dr=this._order[nr];if(je(dr))for(var or=Qe.length-1;or>=0;or--){var Wt=Qe[or].feature;if(ke[Wt.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",nc=\"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;}\",jl=\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",qu=\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\",fl=\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",xh=\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\",us=`#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}`,bh=`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);}`,Ls=`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}`,to=`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;}`,Xc=`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}`,Vu=`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,ql=`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}`,Mf=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`,Ac=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,nf=`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;}`,Ql=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,Jf=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;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;}`,Of=`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,of=\"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;}\",jc=`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}`,Bf=\"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;}\",Nf=`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}`,Gu=`\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);}`,Ef=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,oc=`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;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);}`,Zc=`uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,eu=`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;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);v_width=floorwidth;}`,qc=`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}`,Sc=`\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);}`,Zs=`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}`,kf=\"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;}\",fh=`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}`,Uf=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,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*max(a_minFontScale,fontScale)+a_pxoffset/16.0),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));}`,Yc=`#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}`,$f=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,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+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;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=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`,Cu=`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,jf=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,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=size/24.0;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 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.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`,ml=hl(Tc,du),Lu=hl(Sf,Uc),Mc=hl(Bs,dc),ol=hl(Wc,uu),vc=hl(Pl,ic),yu=hl(Ou,nl),Tu=hl(vl,Ts),Ml=hl(Xs,nc),qf=hl(jl,qu),Qf=hl(fl,xh),Bu=hl(us,bh),Ec=hl(Ls,to),mc=hl(Xc,Vu),Lh=hl(ql,Mf),sf=hl(Ac,nf),vf=hl(Ql,Jf),Nu=hl(Of,of),lf=hl(jc,Bf),iu=hl(Nf,Gu),Kc=hl(Ef,oc),hh=hl(Zc,eu),mf=hl(qc,Sc),sl=hl(Zs,kf),_u=hl(fh,Uf),Pu=hl(Yc,$f),Cf=hl(Cu,jf);function hl(ge,K){var xe=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,te=K.match(/attribute ([\\w]+) ([\\w]+)/g),ye=ge.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),je=K.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),ke=je?je.concat(ye):ye,Qe={};return ge=ge.replace(xe,function(vt,jt,br,Nr,pr){return Qe[pr]=!0,jt===\"define\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\nvarying `+br+\" \"+Nr+\" \"+pr+`;\n#else\nuniform `+br+\" \"+Nr+\" u_\"+pr+`;\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_`+pr+`\n `+br+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`}),K=K.replace(xe,function(vt,jt,br,Nr,pr){var mt=Nr===\"float\"?\"vec2\":\"vec4\",Mt=pr.match(/color/)?\"color\":mt;return Qe[pr]?jt===\"define\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\nuniform lowp float u_`+pr+`_t;\nattribute `+br+\" \"+mt+\" a_\"+pr+`;\nvarying `+br+\" \"+Nr+\" \"+pr+`;\n#else\nuniform `+br+\" \"+Nr+\" u_\"+pr+`;\n#endif\n`:Mt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+pr+\" = a_\"+pr+`;\n#else\n `+br+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+pr+\" = unpack_mix_\"+Mt+\"(a_\"+pr+\", u_\"+pr+`_t);\n#else\n `+br+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`:jt===\"define\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\nuniform lowp float u_`+pr+`_t;\nattribute `+br+\" \"+mt+\" a_\"+pr+`;\n#else\nuniform `+br+\" \"+Nr+\" u_\"+pr+`;\n#endif\n`:Mt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+br+\" \"+Nr+\" \"+pr+\" = a_\"+pr+`;\n#else\n `+br+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_`+pr+`\n `+br+\" \"+Nr+\" \"+pr+\" = unpack_mix_\"+Mt+\"(a_\"+pr+\", u_\"+pr+`_t);\n#else\n `+br+\" \"+Nr+\" \"+pr+\" = u_\"+pr+`;\n#endif\n`}),{fragmentSource:ge,vertexSource:K,staticAttributes:te,staticUniforms:ke}}var uf=Object.freeze({__proto__:null,prelude:ml,background:Lu,backgroundPattern:Mc,circle:ol,clippingMask:vc,heatmap:yu,heatmapTexture:Tu,collisionBox:Ml,collisionCircle:qf,debug:Qf,fill:Bu,fillOutline:Ec,fillOutlinePattern:mc,fillPattern:Lh,fillExtrusion:sf,fillExtrusionPattern:vf,hillshadePrepare:Nu,hillshade:lf,line:iu,lineGradient:Kc,linePattern:hh,lineSDF:mf,raster:sl,symbolIcon:_u,symbolSDF:Pu,symbolTextAndIcon:Cf}),kc=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};kc.prototype.bind=function(K,xe,te,ye,je,ke,Qe,vt){this.context=K;for(var jt=this.boundPaintVertexBuffers.length!==ye.length,br=0;!jt&&br>16,Qe>>16],u_pixel_coord_lower:[ke&65535,Qe&65535]}}function Jc(ge,K,xe,te){var ye=xe.imageManager.getPattern(ge.from.toString()),je=xe.imageManager.getPattern(ge.to.toString()),ke=xe.imageManager.getPixelSize(),Qe=ke.width,vt=ke.height,jt=Math.pow(2,te.tileID.overscaledZ),br=te.tileSize*Math.pow(2,xe.transform.tileZoom)/jt,Nr=br*(te.tileID.canonical.x+te.tileID.wrap*jt),pr=br*te.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:ye.tl,u_pattern_br_a:ye.br,u_pattern_tl_b:je.tl,u_pattern_br_b:je.br,u_texsize:[Qe,vt],u_mix:K.t,u_pattern_size_a:ye.displaySize,u_pattern_size_b:je.displaySize,u_scale_a:K.fromScale,u_scale_b:K.toScale,u_tile_units_to_pixels:1/os(te,1,xe.transform.tileZoom),u_pixel_coord_upper:[Nr>>16,pr>>16],u_pixel_coord_lower:[Nr&65535,pr&65535]}}var Lf=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_lightpos:new e.Uniform3f(ge,K.u_lightpos),u_lightintensity:new e.Uniform1f(ge,K.u_lightintensity),u_lightcolor:new e.Uniform3f(ge,K.u_lightcolor),u_vertical_gradient:new e.Uniform1f(ge,K.u_vertical_gradient),u_opacity:new e.Uniform1f(ge,K.u_opacity)}},nu=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_lightpos:new e.Uniform3f(ge,K.u_lightpos),u_lightintensity:new e.Uniform1f(ge,K.u_lightintensity),u_lightcolor:new e.Uniform3f(ge,K.u_lightcolor),u_vertical_gradient:new e.Uniform1f(ge,K.u_vertical_gradient),u_height_factor:new e.Uniform1f(ge,K.u_height_factor),u_image:new e.Uniform1i(ge,K.u_image),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_pixel_coord_upper:new e.Uniform2f(ge,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ge,K.u_pixel_coord_lower),u_scale:new e.Uniform3f(ge,K.u_scale),u_fade:new e.Uniform1f(ge,K.u_fade),u_opacity:new e.Uniform1f(ge,K.u_opacity)}},Vf=function(ge,K,xe,te){var ye=K.style.light,je=ye.properties.get(\"position\"),ke=[je.x,je.y,je.z],Qe=e.create$1();ye.properties.get(\"anchor\")===\"viewport\"&&e.fromRotation(Qe,-K.transform.angle),e.transformMat3(ke,ke,Qe);var vt=ye.properties.get(\"color\");return{u_matrix:ge,u_lightpos:ke,u_lightintensity:ye.properties.get(\"intensity\"),u_lightcolor:[vt.r,vt.g,vt.b],u_vertical_gradient:+xe,u_opacity:te}},Xu=function(ge,K,xe,te,ye,je,ke){return e.extend(Vf(ge,K,xe,te),Wu(je,K,ke),{u_height_factor:-Math.pow(2,ye.overscaledZ)/ke.tileSize/8})},Cc=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix)}},gc=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_image:new e.Uniform1i(ge,K.u_image),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_pixel_coord_upper:new e.Uniform2f(ge,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ge,K.u_pixel_coord_lower),u_scale:new e.Uniform3f(ge,K.u_scale),u_fade:new e.Uniform1f(ge,K.u_fade)}},Vl=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_world:new e.Uniform2f(ge,K.u_world)}},xu=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_world:new e.Uniform2f(ge,K.u_world),u_image:new e.Uniform1i(ge,K.u_image),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_pixel_coord_upper:new e.Uniform2f(ge,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ge,K.u_pixel_coord_lower),u_scale:new e.Uniform3f(ge,K.u_scale),u_fade:new e.Uniform1f(ge,K.u_fade)}},Lc=function(ge){return{u_matrix:ge}},$c=function(ge,K,xe,te){return e.extend(Lc(ge),Wu(xe,K,te))},sc=function(ge,K){return{u_matrix:ge,u_world:K}},Pc=function(ge,K,xe,te,ye){return e.extend($c(ge,K,xe,te),{u_world:ye})},Qt=function(ge,K){return{u_camera_to_center_distance:new e.Uniform1f(ge,K.u_camera_to_center_distance),u_scale_with_map:new e.Uniform1i(ge,K.u_scale_with_map),u_pitch_with_map:new e.Uniform1i(ge,K.u_pitch_with_map),u_extrude_scale:new e.Uniform2f(ge,K.u_extrude_scale),u_device_pixel_ratio:new e.Uniform1f(ge,K.u_device_pixel_ratio),u_matrix:new e.UniformMatrix4f(ge,K.u_matrix)}},xr=function(ge,K,xe,te){var ye=ge.transform,je,ke;if(te.paint.get(\"circle-pitch-alignment\")===\"map\"){var Qe=os(xe,1,ye.zoom);je=!0,ke=[Qe,Qe]}else je=!1,ke=ye.pixelsToGLUnits;return{u_camera_to_center_distance:ye.cameraToCenterDistance,u_scale_with_map:+(te.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:ge.translatePosMatrix(K.posMatrix,xe,te.paint.get(\"circle-translate\"),te.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+je,u_device_pixel_ratio:e.browser.devicePixelRatio,u_extrude_scale:ke}},aa=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_camera_to_center_distance:new e.Uniform1f(ge,K.u_camera_to_center_distance),u_pixels_to_tile_units:new e.Uniform1f(ge,K.u_pixels_to_tile_units),u_extrude_scale:new e.Uniform2f(ge,K.u_extrude_scale),u_overscale_factor:new e.Uniform1f(ge,K.u_overscale_factor)}},$r=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_inv_matrix:new e.UniformMatrix4f(ge,K.u_inv_matrix),u_camera_to_center_distance:new e.Uniform1f(ge,K.u_camera_to_center_distance),u_viewport_size:new e.Uniform2f(ge,K.u_viewport_size)}},ka=function(ge,K,xe){var te=os(xe,1,K.zoom),ye=Math.pow(2,K.zoom-xe.tileID.overscaledZ),je=xe.tileID.overscaleFactor();return{u_matrix:ge,u_camera_to_center_distance:K.cameraToCenterDistance,u_pixels_to_tile_units:te,u_extrude_scale:[K.pixelsToGLUnits[0]/(te*ye),K.pixelsToGLUnits[1]/(te*ye)],u_overscale_factor:je}},li=function(ge,K,xe){return{u_matrix:ge,u_inv_matrix:K,u_camera_to_center_distance:xe.cameraToCenterDistance,u_viewport_size:[xe.width,xe.height]}},Ci=function(ge,K){return{u_color:new e.UniformColor(ge,K.u_color),u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_overlay:new e.Uniform1i(ge,K.u_overlay),u_overlay_scale:new e.Uniform1f(ge,K.u_overlay_scale)}},Hi=function(ge,K,xe){return xe===void 0&&(xe=1),{u_matrix:ge,u_color:K,u_overlay:0,u_overlay_scale:xe}},Qi=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix)}},pn=function(ge){return{u_matrix:ge}},Pi=function(ge,K){return{u_extrude_scale:new e.Uniform1f(ge,K.u_extrude_scale),u_intensity:new e.Uniform1f(ge,K.u_intensity),u_matrix:new e.UniformMatrix4f(ge,K.u_matrix)}},Di=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_world:new e.Uniform2f(ge,K.u_world),u_image:new e.Uniform1i(ge,K.u_image),u_color_ramp:new e.Uniform1i(ge,K.u_color_ramp),u_opacity:new e.Uniform1f(ge,K.u_opacity)}},Ni=function(ge,K,xe,te){return{u_matrix:ge,u_extrude_scale:os(K,1,xe),u_intensity:te}},mi=function(ge,K,xe,te){var ye=e.create();e.ortho(ye,0,ge.width,ge.height,0,0,1);var je=ge.context.gl;return{u_matrix:ye,u_world:[je.drawingBufferWidth,je.drawingBufferHeight],u_image:xe,u_color_ramp:te,u_opacity:K.paint.get(\"heatmap-opacity\")}},Sn=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_image:new e.Uniform1i(ge,K.u_image),u_latrange:new e.Uniform2f(ge,K.u_latrange),u_light:new e.Uniform2f(ge,K.u_light),u_shadow:new e.UniformColor(ge,K.u_shadow),u_highlight:new e.UniformColor(ge,K.u_highlight),u_accent:new e.UniformColor(ge,K.u_accent)}},Qn=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_image:new e.Uniform1i(ge,K.u_image),u_dimension:new e.Uniform2f(ge,K.u_dimension),u_zoom:new e.Uniform1f(ge,K.u_zoom),u_unpack:new e.Uniform4f(ge,K.u_unpack)}},io=function(ge,K,xe){var te=xe.paint.get(\"hillshade-shadow-color\"),ye=xe.paint.get(\"hillshade-highlight-color\"),je=xe.paint.get(\"hillshade-accent-color\"),ke=xe.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);xe.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(ke-=ge.transform.angle);var Qe=!ge.options.moving;return{u_matrix:ge.transform.calculatePosMatrix(K.tileID.toUnwrapped(),Qe),u_image:0,u_latrange:co(ge,K.tileID),u_light:[xe.paint.get(\"hillshade-exaggeration\"),ke],u_shadow:te,u_highlight:ye,u_accent:je}},eo=function(ge,K){var xe=K.stride,te=e.create();return e.ortho(te,0,e.EXTENT,-e.EXTENT,0,0,1),e.translate(te,te,[0,-e.EXTENT,0]),{u_matrix:te,u_image:1,u_dimension:[xe,xe],u_zoom:ge.overscaledZ,u_unpack:K.getUnpackVector()}};function co(ge,K){var xe=Math.pow(2,K.canonical.z),te=K.canonical.y;return[new e.MercatorCoordinate(0,te/xe).toLngLat().lat,new e.MercatorCoordinate(0,(te+1)/xe).toLngLat().lat]}var Tn=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_ratio:new e.Uniform1f(ge,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ge,K.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(ge,K.u_units_to_pixels)}},un=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_ratio:new e.Uniform1f(ge,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ge,K.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(ge,K.u_units_to_pixels),u_image:new e.Uniform1i(ge,K.u_image),u_image_height:new e.Uniform1f(ge,K.u_image_height)}},yo=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_ratio:new e.Uniform1f(ge,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ge,K.u_device_pixel_ratio),u_image:new e.Uniform1i(ge,K.u_image),u_units_to_pixels:new e.Uniform2f(ge,K.u_units_to_pixels),u_scale:new e.Uniform3f(ge,K.u_scale),u_fade:new e.Uniform1f(ge,K.u_fade)}},Qo=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_ratio:new e.Uniform1f(ge,K.u_ratio),u_device_pixel_ratio:new e.Uniform1f(ge,K.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(ge,K.u_units_to_pixels),u_patternscale_a:new e.Uniform2f(ge,K.u_patternscale_a),u_patternscale_b:new e.Uniform2f(ge,K.u_patternscale_b),u_sdfgamma:new e.Uniform1f(ge,K.u_sdfgamma),u_image:new e.Uniform1i(ge,K.u_image),u_tex_y_a:new e.Uniform1f(ge,K.u_tex_y_a),u_tex_y_b:new e.Uniform1f(ge,K.u_tex_y_b),u_mix:new e.Uniform1f(ge,K.u_mix)}},Es=function(ge,K,xe){var te=ge.transform;return{u_matrix:Fl(ge,K,xe),u_ratio:1/os(K,1,te.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_units_to_pixels:[1/te.pixelsToGLUnits[0],1/te.pixelsToGLUnits[1]]}},rl=function(ge,K,xe,te){return e.extend(Es(ge,K,xe),{u_image:0,u_image_height:te})},Ns=function(ge,K,xe,te){var ye=ge.transform,je=As(K,ye);return{u_matrix:Fl(ge,K,xe),u_texsize:K.imageAtlasTexture.size,u_ratio:1/os(K,1,ye.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_image:0,u_scale:[je,te.fromScale,te.toScale],u_fade:te.t,u_units_to_pixels:[1/ye.pixelsToGLUnits[0],1/ye.pixelsToGLUnits[1]]}},el=function(ge,K,xe,te,ye){var je=ge.transform,ke=ge.lineAtlas,Qe=As(K,je),vt=xe.layout.get(\"line-cap\")===\"round\",jt=ke.getDash(te.from,vt),br=ke.getDash(te.to,vt),Nr=jt.width*ye.fromScale,pr=br.width*ye.toScale;return e.extend(Es(ge,K,xe),{u_patternscale_a:[Qe/Nr,-jt.height/2],u_patternscale_b:[Qe/pr,-br.height/2],u_sdfgamma:ke.width/(Math.min(Nr,pr)*256*e.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:jt.y,u_tex_y_b:br.y,u_mix:ye.t})};function As(ge,K){return 1/os(ge,1,K.tileZoom)}function Fl(ge,K,xe){return ge.translatePosMatrix(K.tileID.posMatrix,K,xe.paint.get(\"line-translate\"),xe.paint.get(\"line-translate-anchor\"))}var yl=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_tl_parent:new e.Uniform2f(ge,K.u_tl_parent),u_scale_parent:new e.Uniform1f(ge,K.u_scale_parent),u_buffer_scale:new e.Uniform1f(ge,K.u_buffer_scale),u_fade_t:new e.Uniform1f(ge,K.u_fade_t),u_opacity:new e.Uniform1f(ge,K.u_opacity),u_image0:new e.Uniform1i(ge,K.u_image0),u_image1:new e.Uniform1i(ge,K.u_image1),u_brightness_low:new e.Uniform1f(ge,K.u_brightness_low),u_brightness_high:new e.Uniform1f(ge,K.u_brightness_high),u_saturation_factor:new e.Uniform1f(ge,K.u_saturation_factor),u_contrast_factor:new e.Uniform1f(ge,K.u_contrast_factor),u_spin_weights:new e.Uniform3f(ge,K.u_spin_weights)}},ll=function(ge,K,xe,te,ye){return{u_matrix:ge,u_tl_parent:K,u_scale_parent:xe,u_buffer_scale:1,u_fade_t:te.mix,u_opacity:te.opacity*ye.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ye.paint.get(\"raster-brightness-min\"),u_brightness_high:ye.paint.get(\"raster-brightness-max\"),u_saturation_factor:Js(ye.paint.get(\"raster-saturation\")),u_contrast_factor:Ro(ye.paint.get(\"raster-contrast\")),u_spin_weights:Un(ye.paint.get(\"raster-hue-rotate\"))}};function Un(ge){ge*=Math.PI/180;var K=Math.sin(ge),xe=Math.cos(ge);return[(2*xe+1)/3,(-Math.sqrt(3)*K-xe+1)/3,(Math.sqrt(3)*K-xe+1)/3]}function Ro(ge){return ge>0?1/(1-ge):1+ge}function Js(ge){return ge>0?1-1/(1.001-ge):-ge}var Fs=function(ge,K){return{u_is_size_zoom_constant:new e.Uniform1i(ge,K.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(ge,K.u_is_size_feature_constant),u_size_t:new e.Uniform1f(ge,K.u_size_t),u_size:new e.Uniform1f(ge,K.u_size),u_camera_to_center_distance:new e.Uniform1f(ge,K.u_camera_to_center_distance),u_pitch:new e.Uniform1f(ge,K.u_pitch),u_rotate_symbol:new e.Uniform1i(ge,K.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(ge,K.u_aspect_ratio),u_fade_change:new e.Uniform1f(ge,K.u_fade_change),u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(ge,K.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(ge,K.u_coord_matrix),u_is_text:new e.Uniform1i(ge,K.u_is_text),u_pitch_with_map:new e.Uniform1i(ge,K.u_pitch_with_map),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_texture:new e.Uniform1i(ge,K.u_texture)}},cu=function(ge,K){return{u_is_size_zoom_constant:new e.Uniform1i(ge,K.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(ge,K.u_is_size_feature_constant),u_size_t:new e.Uniform1f(ge,K.u_size_t),u_size:new e.Uniform1f(ge,K.u_size),u_camera_to_center_distance:new e.Uniform1f(ge,K.u_camera_to_center_distance),u_pitch:new e.Uniform1f(ge,K.u_pitch),u_rotate_symbol:new e.Uniform1i(ge,K.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(ge,K.u_aspect_ratio),u_fade_change:new e.Uniform1f(ge,K.u_fade_change),u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(ge,K.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(ge,K.u_coord_matrix),u_is_text:new e.Uniform1i(ge,K.u_is_text),u_pitch_with_map:new e.Uniform1i(ge,K.u_pitch_with_map),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_texture:new e.Uniform1i(ge,K.u_texture),u_gamma_scale:new e.Uniform1f(ge,K.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(ge,K.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(ge,K.u_is_halo)}},Iu=function(ge,K){return{u_is_size_zoom_constant:new e.Uniform1i(ge,K.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(ge,K.u_is_size_feature_constant),u_size_t:new e.Uniform1f(ge,K.u_size_t),u_size:new e.Uniform1f(ge,K.u_size),u_camera_to_center_distance:new e.Uniform1f(ge,K.u_camera_to_center_distance),u_pitch:new e.Uniform1f(ge,K.u_pitch),u_rotate_symbol:new e.Uniform1i(ge,K.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(ge,K.u_aspect_ratio),u_fade_change:new e.Uniform1f(ge,K.u_fade_change),u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(ge,K.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(ge,K.u_coord_matrix),u_is_text:new e.Uniform1i(ge,K.u_is_text),u_pitch_with_map:new e.Uniform1i(ge,K.u_pitch_with_map),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_texsize_icon:new e.Uniform2f(ge,K.u_texsize_icon),u_texture:new e.Uniform1i(ge,K.u_texture),u_texture_icon:new e.Uniform1i(ge,K.u_texture_icon),u_gamma_scale:new e.Uniform1f(ge,K.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(ge,K.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(ge,K.u_is_halo)}},Zu=function(ge,K,xe,te,ye,je,ke,Qe,vt,jt){var br=ye.transform;return{u_is_size_zoom_constant:+(ge===\"constant\"||ge===\"source\"),u_is_size_feature_constant:+(ge===\"constant\"||ge===\"camera\"),u_size_t:K?K.uSizeT:0,u_size:K?K.uSize:0,u_camera_to_center_distance:br.cameraToCenterDistance,u_pitch:br.pitch/360*2*Math.PI,u_rotate_symbol:+xe,u_aspect_ratio:br.width/br.height,u_fade_change:ye.options.fadeDuration?ye.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:ke,u_coord_matrix:Qe,u_is_text:+vt,u_pitch_with_map:+te,u_texsize:jt,u_texture:0}},Ic=function(ge,K,xe,te,ye,je,ke,Qe,vt,jt,br){var Nr=ye.transform;return e.extend(Zu(ge,K,xe,te,ye,je,ke,Qe,vt,jt),{u_gamma_scale:te?Math.cos(Nr._pitch)*Nr.cameraToCenterDistance:1,u_device_pixel_ratio:e.browser.devicePixelRatio,u_is_halo:+br})},bu=function(ge,K,xe,te,ye,je,ke,Qe,vt,jt){return e.extend(Ic(ge,K,xe,te,ye,je,ke,Qe,!0,vt,!0),{u_texsize_icon:jt,u_texture_icon:1})},Rc=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_opacity:new e.Uniform1f(ge,K.u_opacity),u_color:new e.UniformColor(ge,K.u_color)}},Au=function(ge,K){return{u_matrix:new e.UniformMatrix4f(ge,K.u_matrix),u_opacity:new e.Uniform1f(ge,K.u_opacity),u_image:new e.Uniform1i(ge,K.u_image),u_pattern_tl_a:new e.Uniform2f(ge,K.u_pattern_tl_a),u_pattern_br_a:new e.Uniform2f(ge,K.u_pattern_br_a),u_pattern_tl_b:new e.Uniform2f(ge,K.u_pattern_tl_b),u_pattern_br_b:new e.Uniform2f(ge,K.u_pattern_br_b),u_texsize:new e.Uniform2f(ge,K.u_texsize),u_mix:new e.Uniform1f(ge,K.u_mix),u_pattern_size_a:new e.Uniform2f(ge,K.u_pattern_size_a),u_pattern_size_b:new e.Uniform2f(ge,K.u_pattern_size_b),u_scale_a:new e.Uniform1f(ge,K.u_scale_a),u_scale_b:new e.Uniform1f(ge,K.u_scale_b),u_pixel_coord_upper:new e.Uniform2f(ge,K.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(ge,K.u_pixel_coord_lower),u_tile_units_to_pixels:new e.Uniform1f(ge,K.u_tile_units_to_pixels)}},yc=function(ge,K,xe){return{u_matrix:ge,u_opacity:K,u_color:xe}},fo=function(ge,K,xe,te,ye,je){return e.extend(Jc(te,je,xe,ye),{u_matrix:ge,u_opacity:K})},Fo={fillExtrusion:Lf,fillExtrusionPattern:nu,fill:Cc,fillPattern:gc,fillOutline:Vl,fillOutlinePattern:xu,circle:Qt,collisionBox:aa,collisionCircle:$r,debug:Ci,clippingMask:Qi,heatmap:Pi,heatmapTexture:Di,hillshade:Sn,hillshadePrepare:Qn,line:Tn,lineGradient:un,linePattern:yo,lineSDF:Qo,raster:yl,symbolIcon:Fs,symbolSDF:cu,symbolTextAndIcon:Iu,background:Rc,backgroundPattern:Au},Dc;function lc(ge,K,xe,te,ye,je,ke){for(var Qe=ge.context,vt=Qe.gl,jt=ge.useProgram(\"collisionBox\"),br=[],Nr=0,pr=0,mt=0;mt0){var or=e.create(),Wt=hr;e.mul(or,rr.placementInvProjMatrix,ge.transform.glCoordMatrix),e.mul(or,or,rr.placementViewportMatrix),br.push({circleArray:dr,circleOffset:pr,transform:Wt,invTransform:or}),Nr+=dr.length/4,pr=Nr}nr&&jt.draw(Qe,vt.LINES,Ra.disabled,Ca.disabled,ge.colorModeForRenderPass(),Or.disabled,ka(hr,ge.transform,Ft),xe.id,nr.layoutVertexBuffer,nr.indexBuffer,nr.segments,null,ge.transform.zoom,null,null,nr.collisionVertexBuffer)}}if(!(!ke||!br.length)){var ir=ge.useProgram(\"collisionCircle\"),Vt=new e.StructArrayLayout2f1f2i16;Vt.resize(Nr*4),Vt._trim();for(var zr=0,Jr=0,ya=br;Jr=0&&(Mt[rr.associatedIconIndex]={shiftedAnchor:ai,angle:Zi})}}if(br){mt.clear();for(var ui=ge.icon.placedSymbolArray,_i=0;_i0){var ke=e.browser.now(),Qe=(ke-ge.timeAdded)/je,vt=K?(ke-K.timeAdded)/je:-1,jt=xe.getSource(),br=ye.coveringZoomLevel({tileSize:jt.tileSize,roundZoom:jt.roundZoom}),Nr=!K||Math.abs(K.tileID.overscaledZ-br)>Math.abs(ge.tileID.overscaledZ-br),pr=Nr&&ge.refreshedUponExpiration?1:e.clamp(Nr?Qe:1-vt,0,1);return ge.refreshedUponExpiration&&Qe>=1&&(ge.refreshedUponExpiration=!1),K?{opacity:1,mix:1-pr}:{opacity:pr,mix:0}}else return{opacity:1,mix:0}}function kr(ge,K,xe){var te=xe.paint.get(\"background-color\"),ye=xe.paint.get(\"background-opacity\");if(ye!==0){var je=ge.context,ke=je.gl,Qe=ge.transform,vt=Qe.tileSize,jt=xe.paint.get(\"background-pattern\");if(!ge.isPatternMissing(jt)){var br=!jt&&te.a===1&&ye===1&&ge.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(ge.renderPass===br){var Nr=Ca.disabled,pr=ge.depthModeForSublayer(0,br===\"opaque\"?Ra.ReadWrite:Ra.ReadOnly),mt=ge.colorModeForRenderPass(),Mt=ge.useProgram(jt?\"backgroundPattern\":\"background\"),Ft=Qe.coveringTiles({tileSize:vt});jt&&(je.activeTexture.set(ke.TEXTURE0),ge.imageManager.bind(ge.context));for(var rr=xe.getCrossfadeParameters(),hr=0,nr=Ft;hr \"+xe.overscaledZ);var hr=rr+\" \"+mt+\"kb\";Ao(ge,hr),ke.draw(te,ye.TRIANGLES,Qe,vt,Rt.alphaBlended,Or.disabled,Hi(je,e.Color.transparent,Ft),br,ge.debugBuffer,ge.quadTriangleIndexBuffer,ge.debugSegments)}function Ao(ge,K){ge.initDebugOverlayCanvas();var xe=ge.debugOverlayCanvas,te=ge.context.gl,ye=ge.debugOverlayCanvas.getContext(\"2d\");ye.clearRect(0,0,xe.width,xe.height),ye.shadowColor=\"white\",ye.shadowBlur=2,ye.lineWidth=1.5,ye.strokeStyle=\"white\",ye.textBaseline=\"top\",ye.font=\"bold 36px Open Sans, sans-serif\",ye.fillText(K,5,5),ye.strokeText(K,5,5),ge.debugOverlayTexture.update(xe),ge.debugOverlayTexture.bind(te.LINEAR,te.CLAMP_TO_EDGE)}function ls(ge,K,xe){var te=ge.context,ye=xe.implementation;if(ge.renderPass===\"offscreen\"){var je=ye.prerender;je&&(ge.setCustomLayerDefaults(),te.setColorMode(ge.colorModeForRenderPass()),je.call(ye,te.gl,ge.transform.customLayerMatrix()),te.setDirty(),ge.setBaseState())}else if(ge.renderPass===\"translucent\"){ge.setCustomLayerDefaults(),te.setColorMode(ge.colorModeForRenderPass()),te.setStencilMode(Ca.disabled);var ke=ye.renderingMode===\"3d\"?new Ra(ge.context.gl.LEQUAL,Ra.ReadWrite,ge.depthRangeFor3D):ge.depthModeForSublayer(0,Ra.ReadOnly);te.setDepthMode(ke),ye.render(te.gl,ge.transform.customLayerMatrix()),te.setDirty(),ge.setBaseState(),te.bindFramebuffer.set(null)}}var Mo={symbol:I,circle:Ot,heatmap:$t,line:na,fill:qe,\"fill-extrusion\":lt,hillshade:Et,raster:ur,background:kr,debug:Yn,custom:ls},Yo=function(K,xe){this.context=new ta(K),this.transform=xe,this._tileTextures={},this.setup(),this.numSublayers=ra.maxUnderzooming+ra.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ks,this.gpuTimers={}};Yo.prototype.resize=function(K,xe){if(this.width=K*e.browser.devicePixelRatio,this.height=xe*e.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var te=0,ye=this.style._order;te256&&this.clearStencil(),te.setColorMode(Rt.disabled),te.setDepthMode(Ra.disabled);var je=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var ke=0,Qe=xe;ke256&&this.clearStencil();var K=this.nextStencilID++,xe=this.context.gl;return new Ca({func:xe.NOTEQUAL,mask:255},K,255,xe.KEEP,xe.KEEP,xe.REPLACE)},Yo.prototype.stencilModeForClipping=function(K){var xe=this.context.gl;return new Ca({func:xe.EQUAL,mask:255},this._tileClippingMaskIDs[K.key],0,xe.KEEP,xe.KEEP,xe.REPLACE)},Yo.prototype.stencilConfigForOverlap=function(K){var xe,te=this.context.gl,ye=K.sort(function(jt,br){return br.overscaledZ-jt.overscaledZ}),je=ye[ye.length-1].overscaledZ,ke=ye[0].overscaledZ-je+1;if(ke>1){this.currentStencilSource=void 0,this.nextStencilID+ke>256&&this.clearStencil();for(var Qe={},vt=0;vt=0;this.currentLayer--){var or=this.style._layers[ye[this.currentLayer]],Wt=je[or.source],ir=vt[or.source];this._renderTileClippingMasks(or,ir),this.renderLayer(this,Wt,or,ir)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer0?xe.pop():null},Yo.prototype.isPatternMissing=function(K){if(!K)return!1;if(!K.from||!K.to)return!0;var xe=this.imageManager.getPattern(K.from.toString()),te=this.imageManager.getPattern(K.to.toString());return!xe||!te},Yo.prototype.useProgram=function(K,xe){this.cache=this.cache||{};var te=\"\"+K+(xe?xe.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[te]||(this.cache[te]=new gf(this.context,K,uf[K],xe,Fo[K],this._showOverdrawInspector)),this.cache[te]},Yo.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()},Yo.prototype.setBaseState=function(){var K=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(K.FUNC_ADD)},Yo.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=e.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var K=this.context.gl;this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,K.RGBA)}},Yo.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var ps=function(K,xe){this.points=K,this.planes=xe};ps.fromInvProjectionMatrix=function(K,xe,te){var ye=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],je=Math.pow(2,te),ke=ye.map(function(jt){return e.transformMat4([],jt,K)}).map(function(jt){return e.scale$1([],jt,1/jt[3]/xe*je)}),Qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],vt=Qe.map(function(jt){var br=e.sub([],ke[jt[0]],ke[jt[1]]),Nr=e.sub([],ke[jt[2]],ke[jt[1]]),pr=e.normalize([],e.cross([],br,Nr)),mt=-e.dot(pr,ke[jt[1]]);return pr.concat(mt)});return new ps(ke,vt)};var ul=function(K,xe){this.min=K,this.max=xe,this.center=e.scale$2([],e.add([],this.min,this.max),.5)};ul.prototype.quadrant=function(K){for(var xe=[K%2===0,K<2],te=e.clone$2(this.min),ye=e.clone$2(this.max),je=0;je=0;if(ke===0)return 0;ke!==xe.length&&(te=!1)}if(te)return 2;for(var vt=0;vt<3;vt++){for(var jt=Number.MAX_VALUE,br=-Number.MAX_VALUE,Nr=0;Nrthis.max[vt]-this.min[vt])return 0}return 1};var tl=function(K,xe,te,ye){if(K===void 0&&(K=0),xe===void 0&&(xe=0),te===void 0&&(te=0),ye===void 0&&(ye=0),isNaN(K)||K<0||isNaN(xe)||xe<0||isNaN(te)||te<0||isNaN(ye)||ye<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=K,this.bottom=xe,this.left=te,this.right=ye};tl.prototype.interpolate=function(K,xe,te){return xe.top!=null&&K.top!=null&&(this.top=e.number(K.top,xe.top,te)),xe.bottom!=null&&K.bottom!=null&&(this.bottom=e.number(K.bottom,xe.bottom,te)),xe.left!=null&&K.left!=null&&(this.left=e.number(K.left,xe.left,te)),xe.right!=null&&K.right!=null&&(this.right=e.number(K.right,xe.right,te)),this},tl.prototype.getCenter=function(K,xe){var te=e.clamp((this.left+K-this.right)/2,0,K),ye=e.clamp((this.top+xe-this.bottom)/2,0,xe);return new e.Point(te,ye)},tl.prototype.equals=function(K){return this.top===K.top&&this.bottom===K.bottom&&this.left===K.left&&this.right===K.right},tl.prototype.clone=function(){return new tl(this.top,this.bottom,this.left,this.right)},tl.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var es=function(K,xe,te,ye,je){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=je===void 0?!0:je,this._minZoom=K||0,this._maxZoom=xe||22,this._minPitch=te??0,this._maxPitch=ye??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new tl,this._posMatrixCache={},this._alignedPosMatrixCache={}},ts={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};es.prototype.clone=function(){var K=new es(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return K.tileSize=this.tileSize,K.latRange=this.latRange,K.width=this.width,K.height=this.height,K._center=this._center,K.zoom=this.zoom,K.angle=this.angle,K._fov=this._fov,K._pitch=this._pitch,K._unmodified=this._unmodified,K._edgeInsets=this._edgeInsets.clone(),K._calcMatrices(),K},ts.minZoom.get=function(){return this._minZoom},ts.minZoom.set=function(ge){this._minZoom!==ge&&(this._minZoom=ge,this.zoom=Math.max(this.zoom,ge))},ts.maxZoom.get=function(){return this._maxZoom},ts.maxZoom.set=function(ge){this._maxZoom!==ge&&(this._maxZoom=ge,this.zoom=Math.min(this.zoom,ge))},ts.minPitch.get=function(){return this._minPitch},ts.minPitch.set=function(ge){this._minPitch!==ge&&(this._minPitch=ge,this.pitch=Math.max(this.pitch,ge))},ts.maxPitch.get=function(){return this._maxPitch},ts.maxPitch.set=function(ge){this._maxPitch!==ge&&(this._maxPitch=ge,this.pitch=Math.min(this.pitch,ge))},ts.renderWorldCopies.get=function(){return this._renderWorldCopies},ts.renderWorldCopies.set=function(ge){ge===void 0?ge=!0:ge===null&&(ge=!1),this._renderWorldCopies=ge},ts.worldSize.get=function(){return this.tileSize*this.scale},ts.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},ts.size.get=function(){return new e.Point(this.width,this.height)},ts.bearing.get=function(){return-this.angle/Math.PI*180},ts.bearing.set=function(ge){var K=-e.wrap(ge,-180,180)*Math.PI/180;this.angle!==K&&(this._unmodified=!1,this.angle=K,this._calcMatrices(),this.rotationMatrix=e.create$2(),e.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},ts.pitch.get=function(){return this._pitch/Math.PI*180},ts.pitch.set=function(ge){var K=e.clamp(ge,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==K&&(this._unmodified=!1,this._pitch=K,this._calcMatrices())},ts.fov.get=function(){return this._fov/Math.PI*180},ts.fov.set=function(ge){ge=Math.max(.01,Math.min(60,ge)),this._fov!==ge&&(this._unmodified=!1,this._fov=ge/180*Math.PI,this._calcMatrices())},ts.zoom.get=function(){return this._zoom},ts.zoom.set=function(ge){var K=Math.min(Math.max(ge,this.minZoom),this.maxZoom);this._zoom!==K&&(this._unmodified=!1,this._zoom=K,this.scale=this.zoomScale(K),this.tileZoom=Math.floor(K),this.zoomFraction=K-this.tileZoom,this._constrain(),this._calcMatrices())},ts.center.get=function(){return this._center},ts.center.set=function(ge){ge.lat===this._center.lat&&ge.lng===this._center.lng||(this._unmodified=!1,this._center=ge,this._constrain(),this._calcMatrices())},ts.padding.get=function(){return this._edgeInsets.toJSON()},ts.padding.set=function(ge){this._edgeInsets.equals(ge)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,ge,1),this._calcMatrices())},ts.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},es.prototype.isPaddingEqual=function(K){return this._edgeInsets.equals(K)},es.prototype.interpolatePadding=function(K,xe,te){this._unmodified=!1,this._edgeInsets.interpolate(K,xe,te),this._constrain(),this._calcMatrices()},es.prototype.coveringZoomLevel=function(K){var xe=(K.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/K.tileSize));return Math.max(0,xe)},es.prototype.getVisibleUnwrappedCoordinates=function(K){var xe=[new e.UnwrappedTileID(0,K)];if(this._renderWorldCopies)for(var te=this.pointCoordinate(new e.Point(0,0)),ye=this.pointCoordinate(new e.Point(this.width,0)),je=this.pointCoordinate(new e.Point(this.width,this.height)),ke=this.pointCoordinate(new e.Point(0,this.height)),Qe=Math.floor(Math.min(te.x,ye.x,je.x,ke.x)),vt=Math.floor(Math.max(te.x,ye.x,je.x,ke.x)),jt=1,br=Qe-jt;br<=vt+jt;br++)br!==0&&xe.push(new e.UnwrappedTileID(br,K));return xe},es.prototype.coveringTiles=function(K){var xe=this.coveringZoomLevel(K),te=xe;if(K.minzoom!==void 0&&xeK.maxzoom&&(xe=K.maxzoom);var ye=e.MercatorCoordinate.fromLngLat(this.center),je=Math.pow(2,xe),ke=[je*ye.x,je*ye.y,0],Qe=ps.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,xe),vt=K.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(vt=xe);var jt=3,br=function(Ga){return{aabb:new ul([Ga*je,0,0],[(Ga+1)*je,je,0]),zoom:0,x:0,y:0,wrap:Ga,fullyVisible:!1}},Nr=[],pr=[],mt=xe,Mt=K.reparseOverscaled?te:xe;if(this._renderWorldCopies)for(var Ft=1;Ft<=3;Ft++)Nr.push(br(-Ft)),Nr.push(br(Ft));for(Nr.push(br(0));Nr.length>0;){var rr=Nr.pop(),hr=rr.x,nr=rr.y,dr=rr.fullyVisible;if(!dr){var or=rr.aabb.intersects(Qe);if(or===0)continue;dr=or===2}var Wt=rr.aabb.distanceX(ke),ir=rr.aabb.distanceY(ke),Vt=Math.max(Math.abs(Wt),Math.abs(ir)),zr=jt+(1<zr&&rr.zoom>=vt){pr.push({tileID:new e.OverscaledTileID(rr.zoom===mt?Mt:rr.zoom,rr.wrap,rr.zoom,hr,nr),distanceSq:e.sqrLen([ke[0]-.5-hr,ke[1]-.5-nr])});continue}for(var Jr=0;Jr<4;Jr++){var ya=(hr<<1)+Jr%2,vi=(nr<<1)+(Jr>>1);Nr.push({aabb:rr.aabb.quadrant(Jr),zoom:rr.zoom+1,x:ya,y:vi,wrap:rr.wrap,fullyVisible:dr})}}return pr.sort(function(Ga,ai){return Ga.distanceSq-ai.distanceSq}).map(function(Ga){return Ga.tileID})},es.prototype.resize=function(K,xe){this.width=K,this.height=xe,this.pixelsToGLUnits=[2/K,-2/xe],this._constrain(),this._calcMatrices()},ts.unmodified.get=function(){return this._unmodified},es.prototype.zoomScale=function(K){return Math.pow(2,K)},es.prototype.scaleZoom=function(K){return Math.log(K)/Math.LN2},es.prototype.project=function(K){var xe=e.clamp(K.lat,-this.maxValidLatitude,this.maxValidLatitude);return new e.Point(e.mercatorXfromLng(K.lng)*this.worldSize,e.mercatorYfromLat(xe)*this.worldSize)},es.prototype.unproject=function(K){return new e.MercatorCoordinate(K.x/this.worldSize,K.y/this.worldSize).toLngLat()},ts.point.get=function(){return this.project(this.center)},es.prototype.setLocationAtPoint=function(K,xe){var te=this.pointCoordinate(xe),ye=this.pointCoordinate(this.centerPoint),je=this.locationCoordinate(K),ke=new e.MercatorCoordinate(je.x-(te.x-ye.x),je.y-(te.y-ye.y));this.center=this.coordinateLocation(ke),this._renderWorldCopies&&(this.center=this.center.wrap())},es.prototype.locationPoint=function(K){return this.coordinatePoint(this.locationCoordinate(K))},es.prototype.pointLocation=function(K){return this.coordinateLocation(this.pointCoordinate(K))},es.prototype.locationCoordinate=function(K){return e.MercatorCoordinate.fromLngLat(K)},es.prototype.coordinateLocation=function(K){return K.toLngLat()},es.prototype.pointCoordinate=function(K){var xe=0,te=[K.x,K.y,0,1],ye=[K.x,K.y,1,1];e.transformMat4(te,te,this.pixelMatrixInverse),e.transformMat4(ye,ye,this.pixelMatrixInverse);var je=te[3],ke=ye[3],Qe=te[0]/je,vt=ye[0]/ke,jt=te[1]/je,br=ye[1]/ke,Nr=te[2]/je,pr=ye[2]/ke,mt=Nr===pr?0:(xe-Nr)/(pr-Nr);return new e.MercatorCoordinate(e.number(Qe,vt,mt)/this.worldSize,e.number(jt,br,mt)/this.worldSize)},es.prototype.coordinatePoint=function(K){var xe=[K.x*this.worldSize,K.y*this.worldSize,0,1];return e.transformMat4(xe,xe,this.pixelMatrix),new e.Point(xe[0]/xe[3],xe[1]/xe[3])},es.prototype.getBounds=function(){return new e.LngLatBounds().extend(this.pointLocation(new e.Point(0,0))).extend(this.pointLocation(new e.Point(this.width,0))).extend(this.pointLocation(new e.Point(this.width,this.height))).extend(this.pointLocation(new e.Point(0,this.height)))},es.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new e.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},es.prototype.setMaxBounds=function(K){K?(this.lngRange=[K.getWest(),K.getEast()],this.latRange=[K.getSouth(),K.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},es.prototype.calculatePosMatrix=function(K,xe){xe===void 0&&(xe=!1);var te=K.key,ye=xe?this._alignedPosMatrixCache:this._posMatrixCache;if(ye[te])return ye[te];var je=K.canonical,ke=this.worldSize/this.zoomScale(je.z),Qe=je.x+Math.pow(2,je.z)*K.wrap,vt=e.identity(new Float64Array(16));return e.translate(vt,vt,[Qe*ke,je.y*ke,0]),e.scale(vt,vt,[ke/e.EXTENT,ke/e.EXTENT,1]),e.multiply(vt,xe?this.alignedProjMatrix:this.projMatrix,vt),ye[te]=new Float32Array(vt),ye[te]},es.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},es.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var K=-90,xe=90,te=-180,ye=180,je,ke,Qe,vt,jt=this.size,br=this._unmodified;if(this.latRange){var Nr=this.latRange;K=e.mercatorYfromLat(Nr[1])*this.worldSize,xe=e.mercatorYfromLat(Nr[0])*this.worldSize,je=xe-Kxe&&(vt=xe-rr)}if(this.lngRange){var hr=mt.x,nr=jt.x/2;hr-nrye&&(Qe=ye-nr)}(Qe!==void 0||vt!==void 0)&&(this.center=this.unproject(new e.Point(Qe!==void 0?Qe:mt.x,vt!==void 0?vt:mt.y))),this._unmodified=br,this._constraining=!1}},es.prototype._calcMatrices=function(){if(this.height){var K=this._fov/2,xe=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(K)*this.height;var te=Math.PI/2+this._pitch,ye=this._fov*(.5+xe.y/this.height),je=Math.sin(ye)*this.cameraToCenterDistance/Math.sin(e.clamp(Math.PI-te-ye,.01,Math.PI-.01)),ke=this.point,Qe=ke.x,vt=ke.y,jt=Math.cos(Math.PI/2-this._pitch)*je+this.cameraToCenterDistance,br=jt*1.01,Nr=this.height/50,pr=new Float64Array(16);e.perspective(pr,this._fov,this.width/this.height,Nr,br),pr[8]=-xe.x*2/this.width,pr[9]=xe.y*2/this.height,e.scale(pr,pr,[1,-1,1]),e.translate(pr,pr,[0,0,-this.cameraToCenterDistance]),e.rotateX(pr,pr,this._pitch),e.rotateZ(pr,pr,this.angle),e.translate(pr,pr,[-Qe,-vt,0]),this.mercatorMatrix=e.scale([],pr,[this.worldSize,this.worldSize,this.worldSize]),e.scale(pr,pr,[1,1,e.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=pr,this.invProjMatrix=e.invert([],this.projMatrix);var mt=this.width%2/2,Mt=this.height%2/2,Ft=Math.cos(this.angle),rr=Math.sin(this.angle),hr=Qe-Math.round(Qe)+Ft*mt+rr*Mt,nr=vt-Math.round(vt)+Ft*Mt+rr*mt,dr=new Float64Array(pr);if(e.translate(dr,dr,[hr>.5?hr-1:hr,nr>.5?nr-1:nr,0]),this.alignedProjMatrix=dr,pr=e.create(),e.scale(pr,pr,[this.width/2,-this.height/2,1]),e.translate(pr,pr,[1,-1,0]),this.labelPlaneMatrix=pr,pr=e.create(),e.scale(pr,pr,[1,-1,1]),e.translate(pr,pr,[-1,-1,0]),e.scale(pr,pr,[2/this.width,2/this.height,1]),this.glCoordMatrix=pr,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),pr=e.invert(new Float64Array(16),this.pixelMatrix),!pr)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=pr,this._posMatrixCache={},this._alignedPosMatrixCache={}}},es.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var K=this.pointCoordinate(new e.Point(0,0)),xe=[K.x*this.worldSize,K.y*this.worldSize,0,1],te=e.transformMat4(xe,xe,this.pixelMatrix);return te[3]/this.cameraToCenterDistance},es.prototype.getCameraPoint=function(){var K=this._pitch,xe=Math.tan(K)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,xe))},es.prototype.getCameraQueryGeometry=function(K){var xe=this.getCameraPoint();if(K.length===1)return[K[0],xe];for(var te=xe.x,ye=xe.y,je=xe.x,ke=xe.y,Qe=0,vt=K;Qe=3&&!K.some(function(te){return isNaN(te)})){var xe=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(K[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+K[2],+K[1]],zoom:+K[0],bearing:xe,pitch:+(K[4]||0)}),!0}return!1},tu.prototype._updateHashUnthrottled=function(){var K=e.window.location.href.replace(/(#.+)?$/,this.getHashString());try{e.window.history.replaceState(e.window.history.state,null,K)}catch{}};var Ru={linearity:.3,easing:e.bezier(0,0,.3,1)},vu=e.extend({deceleration:2500,maxSpeed:1400},Ru),wl=e.extend({deceleration:20,maxSpeed:1400},Ru),fu=e.extend({deceleration:1e3,maxSpeed:360},Ru),uc=e.extend({deceleration:1e3,maxSpeed:90},Ru),Gl=function(K){this._map=K,this.clear()};Gl.prototype.clear=function(){this._inertiaBuffer=[]},Gl.prototype.record=function(K){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.browser.now(),settings:K})},Gl.prototype._drainInertiaBuffer=function(){for(var K=this._inertiaBuffer,xe=e.browser.now(),te=160;K.length>0&&xe-K[0].time>te;)K.shift()},Gl.prototype._onMoveEnd=function(K){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var xe={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0},te=0,ye=this._inertiaBuffer;te=this._clickTolerance||this._map.fire(new De(K.type,this._map,K))},yt.prototype.dblclick=function(K){return this._firePreventable(new De(K.type,this._map,K))},yt.prototype.mouseover=function(K){this._map.fire(new De(K.type,this._map,K))},yt.prototype.mouseout=function(K){this._map.fire(new De(K.type,this._map,K))},yt.prototype.touchstart=function(K){return this._firePreventable(new et(K.type,this._map,K))},yt.prototype.touchmove=function(K){this._map.fire(new et(K.type,this._map,K))},yt.prototype.touchend=function(K){this._map.fire(new et(K.type,this._map,K))},yt.prototype.touchcancel=function(K){this._map.fire(new et(K.type,this._map,K))},yt.prototype._firePreventable=function(K){if(this._map.fire(K),K.defaultPrevented)return{}},yt.prototype.isEnabled=function(){return!0},yt.prototype.isActive=function(){return!1},yt.prototype.enable=function(){},yt.prototype.disable=function(){};var Tt=function(K){this._map=K};Tt.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Tt.prototype.mousemove=function(K){this._map.fire(new De(K.type,this._map,K))},Tt.prototype.mousedown=function(){this._delayContextMenu=!0},Tt.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new De(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Tt.prototype.contextmenu=function(K){this._delayContextMenu?this._contextMenuEvent=K:this._map.fire(new De(K.type,this._map,K)),this._map.listens(\"contextmenu\")&&K.preventDefault()},Tt.prototype.isEnabled=function(){return!0},Tt.prototype.isActive=function(){return!1},Tt.prototype.enable=function(){},Tt.prototype.disable=function(){};var tr=function(K,xe){this._map=K,this._el=K.getCanvasContainer(),this._container=K.getContainer(),this._clickTolerance=xe.clickTolerance||1};tr.prototype.isEnabled=function(){return!!this._enabled},tr.prototype.isActive=function(){return!!this._active},tr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},tr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},tr.prototype.mousedown=function(K,xe){this.isEnabled()&&K.shiftKey&&K.button===0&&(r.disableDrag(),this._startPos=this._lastPos=xe,this._active=!0)},tr.prototype.mousemoveWindow=function(K,xe){if(this._active){var te=xe;if(!(this._lastPos.equals(te)||!this._box&&te.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=K.timeStamp),te.length===this.numTouches&&(this.centroid=_r(xe),this.touches=zt(te,xe)))},pa.prototype.touchmove=function(K,xe,te){if(!(this.aborted||!this.centroid)){var ye=zt(te,xe);for(var je in this.touches){var ke=this.touches[je],Qe=ye[je];(!Qe||Qe.dist(ke)>wa)&&(this.aborted=!0)}}},pa.prototype.touchend=function(K,xe,te){if((!this.centroid||K.timeStamp-this.startTime>Xr)&&(this.aborted=!0),te.length===0){var ye=!this.aborted&&this.centroid;if(this.reset(),ye)return ye}};var Ja=function(K){this.singleTap=new pa(K),this.numTaps=K.numTaps,this.reset()};Ja.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Ja.prototype.touchstart=function(K,xe,te){this.singleTap.touchstart(K,xe,te)},Ja.prototype.touchmove=function(K,xe,te){this.singleTap.touchmove(K,xe,te)},Ja.prototype.touchend=function(K,xe,te){var ye=this.singleTap.touchend(K,xe,te);if(ye){var je=K.timeStamp-this.lastTime0&&(this._active=!0);var ye=zt(te,xe),je=new e.Point(0,0),ke=new e.Point(0,0),Qe=0;for(var vt in ye){var jt=ye[vt],br=this._touches[vt];br&&(je._add(jt),ke._add(jt.sub(br)),Qe++,ye[vt]=jt)}if(this._touches=ye,!(QeMath.abs(ge.x)}var mn=100,po=function(ge){function K(){ge.apply(this,arguments)}return ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K,K.prototype.reset=function(){ge.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},K.prototype._start=function(te){this._lastPoints=te,_l(te[0].sub(te[1]))&&(this._valid=!1)},K.prototype._move=function(te,ye,je){var ke=te[0].sub(this._lastPoints[0]),Qe=te[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(ke,Qe,je.timeStamp),!!this._valid){this._lastPoints=te,this._active=!0;var vt=(ke.y+Qe.y)/2,jt=-.5;return{pitchDelta:vt*jt}}},K.prototype.gestureBeginsVertically=function(te,ye,je){if(this._valid!==void 0)return this._valid;var ke=2,Qe=te.mag()>=ke,vt=ye.mag()>=ke;if(!(!Qe&&!vt)){if(!Qe||!vt)return this._firstMove===void 0&&(this._firstMove=je),je-this._firstMove0==ye.y>0;return _l(te)&&_l(ye)&&jt}},K}(In),fs={panStep:100,bearingStep:15,pitchStep:10},vs=function(){var K=fs;this._panStep=K.panStep,this._bearingStep=K.bearingStep,this._pitchStep=K.pitchStep,this._rotationDisabled=!1};vs.prototype.reset=function(){this._active=!1},vs.prototype.keydown=function(K){var xe=this;if(!(K.altKey||K.ctrlKey||K.metaKey)){var te=0,ye=0,je=0,ke=0,Qe=0;switch(K.keyCode){case 61:case 107:case 171:case 187:te=1;break;case 189:case 109:case 173:te=-1;break;case 37:K.shiftKey?ye=-1:(K.preventDefault(),ke=-1);break;case 39:K.shiftKey?ye=1:(K.preventDefault(),ke=1);break;case 38:K.shiftKey?je=1:(K.preventDefault(),Qe=-1);break;case 40:K.shiftKey?je=-1:(K.preventDefault(),Qe=1);break;default:return}return this._rotationDisabled&&(ye=0,je=0),{cameraAnimation:function(vt){var jt=vt.getZoom();vt.easeTo({duration:300,easeId:\"keyboardHandler\",easing:Tl,zoom:te?Math.round(jt)+te*(K.shiftKey?2:1):jt,bearing:vt.getBearing()+ye*xe._bearingStep,pitch:vt.getPitch()+je*xe._pitchStep,offset:[-ke*xe._panStep,-Qe*xe._panStep],center:vt.getCenter()},{originalEvent:K})}}}},vs.prototype.enable=function(){this._enabled=!0},vs.prototype.disable=function(){this._enabled=!1,this.reset()},vs.prototype.isEnabled=function(){return this._enabled},vs.prototype.isActive=function(){return this._active},vs.prototype.disableRotation=function(){this._rotationDisabled=!0},vs.prototype.enableRotation=function(){this._rotationDisabled=!1};function Tl(ge){return ge*(2-ge)}var Wl=4.000244140625,Su=1/100,Rl=1/450,_c=2,it=function(K,xe){this._map=K,this._el=K.getCanvasContainer(),this._handler=xe,this._delta=0,this._defaultZoomRate=Su,this._wheelZoomRate=Rl,e.bindAll([\"_onTimeout\"],this)};it.prototype.setZoomRate=function(K){this._defaultZoomRate=K},it.prototype.setWheelZoomRate=function(K){this._wheelZoomRate=K},it.prototype.isEnabled=function(){return!!this._enabled},it.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},it.prototype.isZooming=function(){return!!this._zooming},it.prototype.enable=function(K){this.isEnabled()||(this._enabled=!0,this._aroundCenter=K&&K.around===\"center\")},it.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},it.prototype.wheel=function(K){if(this.isEnabled()){var xe=K.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?K.deltaY*40:K.deltaY,te=e.browser.now(),ye=te-(this._lastWheelEventTime||0);this._lastWheelEventTime=te,xe!==0&&xe%Wl===0?this._type=\"wheel\":xe!==0&&Math.abs(xe)<4?this._type=\"trackpad\":ye>400?(this._type=null,this._lastValue=xe,this._timeout=setTimeout(this._onTimeout,40,K)):this._type||(this._type=Math.abs(ye*xe)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,xe+=this._lastValue)),K.shiftKey&&xe&&(xe=xe/4),this._type&&(this._lastWheelEvent=K,this._delta-=xe,this._active||this._start(K)),K.preventDefault()}},it.prototype._onTimeout=function(K){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(K)},it.prototype._start=function(K){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var xe=r.mousePos(this._el,K);this._around=e.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(xe)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},it.prototype.renderFrame=function(){var K=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var xe=this._map.transform;if(this._delta!==0){var te=this._type===\"wheel\"&&Math.abs(this._delta)>Wl?this._wheelZoomRate:this._defaultZoomRate,ye=_c/(1+Math.exp(-Math.abs(this._delta*te)));this._delta<0&&ye!==0&&(ye=1/ye);var je=typeof this._targetZoom==\"number\"?xe.zoomScale(this._targetZoom):xe.scale;this._targetZoom=Math.min(xe.maxZoom,Math.max(xe.minZoom,xe.scaleZoom(je*ye))),this._type===\"wheel\"&&(this._startZoom=xe.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var ke=typeof this._targetZoom==\"number\"?this._targetZoom:xe.zoom,Qe=this._startZoom,vt=this._easing,jt=!1,br;if(this._type===\"wheel\"&&Qe&&vt){var Nr=Math.min((e.browser.now()-this._lastWheelEventTime)/200,1),pr=vt(Nr);br=e.number(Qe,ke,pr),Nr<1?this._frameId||(this._frameId=!0):jt=!0}else br=ke,jt=!0;return this._active=!0,jt&&(this._active=!1,this._finishTimeout=setTimeout(function(){K._zooming=!1,K._handler._triggerRenderFrame(),delete K._targetZoom,delete K._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!jt,zoomDelta:br-xe.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},it.prototype._smoothOutEasing=function(K){var xe=e.ease;if(this._prevEase){var te=this._prevEase,ye=(e.browser.now()-te.start)/te.duration,je=te.easing(ye+.01)-te.easing(ye),ke=.27/Math.sqrt(je*je+1e-4)*.01,Qe=Math.sqrt(.27*.27-ke*ke);xe=e.bezier(ke,Qe,.25,1)}return this._prevEase={start:e.browser.now(),duration:K,easing:xe},xe},it.prototype.reset=function(){this._active=!1};var Xt=function(K,xe){this._clickZoom=K,this._tapZoom=xe};Xt.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Xt.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Xt.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Xt.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var fr=function(){this.reset()};fr.prototype.reset=function(){this._active=!1},fr.prototype.dblclick=function(K,xe){return K.preventDefault(),{cameraAnimation:function(te){te.easeTo({duration:300,zoom:te.getZoom()+(K.shiftKey?-1:1),around:te.unproject(xe)},{originalEvent:K})}}},fr.prototype.enable=function(){this._enabled=!0},fr.prototype.disable=function(){this._enabled=!1,this.reset()},fr.prototype.isEnabled=function(){return this._enabled},fr.prototype.isActive=function(){return this._active};var oa=function(){this._tap=new Ja({numTouches:1,numTaps:1}),this.reset()};oa.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},oa.prototype.touchstart=function(K,xe,te){this._swipePoint||(this._tapTime&&K.timeStamp-this._tapTime>Gr&&this.reset(),this._tapTime?te.length>0&&(this._swipePoint=xe[0],this._swipeTouch=te[0].identifier):this._tap.touchstart(K,xe,te))},oa.prototype.touchmove=function(K,xe,te){if(!this._tapTime)this._tap.touchmove(K,xe,te);else if(this._swipePoint){if(te[0].identifier!==this._swipeTouch)return;var ye=xe[0],je=ye.y-this._swipePoint.y;return this._swipePoint=ye,K.preventDefault(),this._active=!0,{zoomDelta:je/128}}},oa.prototype.touchend=function(K,xe,te){if(this._tapTime)this._swipePoint&&te.length===0&&this.reset();else{var ye=this._tap.touchend(K,xe,te);ye&&(this._tapTime=K.timeStamp)}},oa.prototype.touchcancel=function(){this.reset()},oa.prototype.enable=function(){this._enabled=!0},oa.prototype.disable=function(){this._enabled=!1,this.reset()},oa.prototype.isEnabled=function(){return this._enabled},oa.prototype.isActive=function(){return this._active};var Ta=function(K,xe,te){this._el=K,this._mousePan=xe,this._touchPan=te};Ta.prototype.enable=function(K){this._inertiaOptions=K||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Ta.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Ta.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ta.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var ma=function(K,xe,te){this._pitchWithRotate=K.pitchWithRotate,this._mouseRotate=xe,this._mousePitch=te};ma.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},ma.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},ma.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},ma.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var xa=function(K,xe,te,ye){this._el=K,this._touchZoom=xe,this._touchRotate=te,this._tapDragZoom=ye,this._rotationDisabled=!1,this._enabled=!0};xa.prototype.enable=function(K){this._touchZoom.enable(K),this._rotationDisabled||this._touchRotate.enable(K),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},xa.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},xa.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},xa.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},xa.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},xa.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ya=function(ge){return ge.zoom||ge.drag||ge.pitch||ge.rotate},bi=function(ge){function K(){ge.apply(this,arguments)}return ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K,K}(e.Event);function yi(ge){return ge.panDelta&&ge.panDelta.mag()||ge.zoomDelta||ge.bearingDelta||ge.pitchDelta}var si=function(K,xe){this._map=K,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Gl(K),this._bearingSnap=xe.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(xe),e.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var te=this._el;this._listeners=[[te,\"touchstart\",{passive:!0}],[te,\"touchmove\",{passive:!1}],[te,\"touchend\",void 0],[te,\"touchcancel\",void 0],[te,\"mousedown\",void 0],[te,\"mousemove\",void 0],[te,\"mouseup\",void 0],[e.window.document,\"mousemove\",{capture:!0}],[e.window.document,\"mouseup\",void 0],[te,\"mouseover\",void 0],[te,\"mouseout\",void 0],[te,\"dblclick\",void 0],[te,\"click\",void 0],[te,\"keydown\",{capture:!1}],[te,\"keyup\",void 0],[te,\"wheel\",{passive:!1}],[te,\"contextmenu\",void 0],[e.window,\"blur\",void 0]];for(var ye=0,je=this._listeners;yeQe?Math.min(2,Wt):Math.max(.5,Wt),Ga=Math.pow(vi,1-Jr),ai=ke.unproject(dr.add(or.mult(Jr*Ga)).mult(ya));ke.setLocationAtPoint(ke.renderWorldCopies?ai.wrap():ai,rr)}je._fireMoveEvents(ye)},function(Jr){je._afterEase(ye,Jr)},te),this},K.prototype._prepareEase=function(te,ye,je){je===void 0&&(je={}),this._moving=!0,!ye&&!je.moving&&this.fire(new e.Event(\"movestart\",te)),this._zooming&&!je.zooming&&this.fire(new e.Event(\"zoomstart\",te)),this._rotating&&!je.rotating&&this.fire(new e.Event(\"rotatestart\",te)),this._pitching&&!je.pitching&&this.fire(new e.Event(\"pitchstart\",te))},K.prototype._fireMoveEvents=function(te){this.fire(new e.Event(\"move\",te)),this._zooming&&this.fire(new e.Event(\"zoom\",te)),this._rotating&&this.fire(new e.Event(\"rotate\",te)),this._pitching&&this.fire(new e.Event(\"pitch\",te))},K.prototype._afterEase=function(te,ye){if(!(this._easeId&&ye&&this._easeId===ye)){delete this._easeId;var je=this._zooming,ke=this._rotating,Qe=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,je&&this.fire(new e.Event(\"zoomend\",te)),ke&&this.fire(new e.Event(\"rotateend\",te)),Qe&&this.fire(new e.Event(\"pitchend\",te)),this.fire(new e.Event(\"moveend\",te))}},K.prototype.flyTo=function(te,ye){var je=this;if(!te.essential&&e.browser.prefersReducedMotion){var ke=e.pick(te,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(ke,ye)}this.stop(),te=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},te);var Qe=this.transform,vt=this.getZoom(),jt=this.getBearing(),br=this.getPitch(),Nr=this.getPadding(),pr=\"zoom\"in te?e.clamp(+te.zoom,Qe.minZoom,Qe.maxZoom):vt,mt=\"bearing\"in te?this._normalizeBearing(te.bearing,jt):jt,Mt=\"pitch\"in te?+te.pitch:br,Ft=\"padding\"in te?te.padding:Qe.padding,rr=Qe.zoomScale(pr-vt),hr=e.Point.convert(te.offset),nr=Qe.centerPoint.add(hr),dr=Qe.pointLocation(nr),or=e.LngLat.convert(te.center||dr);this._normalizeCenter(or);var Wt=Qe.project(dr),ir=Qe.project(or).sub(Wt),Vt=te.curve,zr=Math.max(Qe.width,Qe.height),Jr=zr/rr,ya=ir.mag();if(\"minZoom\"in te){var vi=e.clamp(Math.min(te.minZoom,vt,pr),Qe.minZoom,Qe.maxZoom),Ga=zr/Qe.zoomScale(vi-vt);Vt=Math.sqrt(Ga/ya*2)}var ai=Vt*Vt;function Zi(Oo){var ks=(Jr*Jr-zr*zr+(Oo?-1:1)*ai*ai*ya*ya)/(2*(Oo?Jr:zr)*ai*ya);return Math.log(Math.sqrt(ks*ks+1)-ks)}function Fi(Oo){return(Math.exp(Oo)-Math.exp(-Oo))/2}function ui(Oo){return(Math.exp(Oo)+Math.exp(-Oo))/2}function _i(Oo){return Fi(Oo)/ui(Oo)}var Si=Zi(0),Ui=function(Oo){return ui(Si)/ui(Si+Vt*Oo)},fn=function(Oo){return zr*((ui(Si)*_i(Si+Vt*Oo)-Fi(Si))/ai)/ya},_o=(Zi(1)-Si)/Vt;if(Math.abs(ya)<1e-6||!isFinite(_o)){if(Math.abs(zr-Jr)<1e-6)return this.easeTo(te,ye);var Uo=Jrte.maxDuration&&(te.duration=0),this._zooming=!0,this._rotating=jt!==mt,this._pitching=Mt!==br,this._padding=!Qe.isPaddingEqual(Ft),this._prepareEase(ye,!1),this._ease(function(Oo){var ks=Oo*_o,Ys=1/Ui(ks);Qe.zoom=Oo===1?pr:vt+Qe.scaleZoom(Ys),je._rotating&&(Qe.bearing=e.number(jt,mt,Oo)),je._pitching&&(Qe.pitch=e.number(br,Mt,Oo)),je._padding&&(Qe.interpolatePadding(Nr,Ft,Oo),nr=Qe.centerPoint.add(hr));var mu=Oo===1?or:Qe.unproject(Wt.add(ir.mult(fn(ks))).mult(Ys));Qe.setLocationAtPoint(Qe.renderWorldCopies?mu.wrap():mu,nr),je._fireMoveEvents(ye)},function(){return je._afterEase(ye)},te),this},K.prototype.isEasing=function(){return!!this._easeFrameId},K.prototype.stop=function(){return this._stop()},K.prototype._stop=function(te,ye){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var je=this._onEaseEnd;delete this._onEaseEnd,je.call(this,ye)}if(!te){var ke=this.handlers;ke&&ke.stop(!1)}return this},K.prototype._ease=function(te,ye,je){je.animate===!1||je.duration===0?(te(1),ye()):(this._easeStart=e.browser.now(),this._easeOptions=je,this._onEaseFrame=te,this._onEaseEnd=ye,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},K.prototype._renderFrameCallback=function(){var te=Math.min((e.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(te)),te<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},K.prototype._normalizeBearing=function(te,ye){te=e.wrap(te,-180,180);var je=Math.abs(te-ye);return Math.abs(te-360-ye)180?-360:je<-180?360:0}},K}(e.Evented),zi=function(K){K===void 0&&(K={}),this.options=K,e.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};zi.prototype.getDefaultPosition=function(){return\"bottom-right\"},zi.prototype.onAdd=function(K){var xe=this.options&&this.options.compact;return this._map=K,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=r.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),xe&&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),xe===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},zi.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,this._attribHTML=void 0},zi.prototype._setElementTitle=function(K,xe){var te=this._map._getUIString(\"AttributionControl.\"+xe);K.title=te,K.setAttribute(\"aria-label\",te)},zi.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"))},zi.prototype._updateEditLink=function(){var K=this._editLink;K||(K=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var xe=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(K){var te=xe.reduce(function(ye,je,ke){return je.value&&(ye+=je.key+\"=\"+je.value+(ke=0)return!1;return!0});var Qe=K.join(\" | \");Qe!==this._attribHTML&&(this._attribHTML=Qe,K.length?(this._innerContainer.innerHTML=Qe,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},zi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Ei=function(){e.bindAll([\"_updateLogo\"],this),e.bindAll([\"_updateCompact\"],this)};Ei.prototype.onAdd=function(K){this._map=K,this._container=r.create(\"div\",\"mapboxgl-ctrl\");var xe=r.create(\"a\",\"mapboxgl-ctrl-logo\");return xe.target=\"_blank\",xe.rel=\"noopener nofollow\",xe.href=\"https://www.mapbox.com/\",xe.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),xe.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(xe),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Ei.prototype.getDefaultPosition=function(){return\"bottom-left\"},Ei.prototype._updateLogo=function(K){(!K||K.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Ei.prototype._logoRequired=function(){if(this._map.style){var K=this._map.style.sourceCaches;for(var xe in K){var te=K[xe].getSource();if(te.mapbox_logo)return!0}return!1}},Ei.prototype._updateCompact=function(){var K=this._container.children;if(K.length){var xe=K[0];this._map.getCanvasContainer().offsetWidth<250?xe.classList.add(\"mapboxgl-compact\"):xe.classList.remove(\"mapboxgl-compact\")}};var Na=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Na.prototype.add=function(K){var xe=++this._id,te=this._queue;return te.push({callback:K,id:xe,cancelled:!1}),xe},Na.prototype.remove=function(K){for(var xe=this._currentlyRunning,te=xe?this._queue.concat(xe):this._queue,ye=0,je=te;yete.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(te.minPitch!=null&&te.maxPitch!=null&&te.minPitch>te.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(te.minPitch!=null&&te.minPitchhn)throw new Error(\"maxPitch must be less than or equal to \"+hn);var je=new es(te.minZoom,te.maxZoom,te.minPitch,te.maxPitch,te.renderWorldCopies);if(ge.call(this,je,te),this._interactive=te.interactive,this._maxTileCacheSize=te.maxTileCacheSize,this._failIfMajorPerformanceCaveat=te.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=te.preserveDrawingBuffer,this._antialias=te.antialias,this._trackResize=te.trackResize,this._bearingSnap=te.bearingSnap,this._refreshExpiredTiles=te.refreshExpiredTiles,this._fadeDuration=te.fadeDuration,this._crossSourceCollisions=te.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=te.collectResourceTiming,this._renderTaskQueue=new Na,this._controls=[],this._mapId=e.uniqueId(),this._locale=e.extend({},ea,te.locale),this._clickTolerance=te.clickTolerance,this._requestManager=new e.RequestManager(te.transformRequest,te.accessToken),typeof te.container==\"string\"){if(this._container=e.window.document.getElementById(te.container),!this._container)throw new Error(\"Container '\"+te.container+\"' not found.\")}else if(te.container instanceof Qa)this._container=te.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(te.maxBounds&&this.setMaxBounds(te.maxBounds),e.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return ye._update(!1)}),this.on(\"moveend\",function(){return ye._update(!1)}),this.on(\"zoom\",function(){return ye._update(!0)}),typeof e.window<\"u\"&&(e.window.addEventListener(\"online\",this._onWindowOnline,!1),e.window.addEventListener(\"resize\",this._onWindowResize,!1),e.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new si(this,te);var ke=typeof te.hash==\"string\"&&te.hash||void 0;this._hash=te.hash&&new tu(ke).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:te.center,zoom:te.zoom,bearing:te.bearing,pitch:te.pitch}),te.bounds&&(this.resize(),this.fitBounds(te.bounds,e.extend({},te.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=te.localIdeographFontFamily,te.style&&this.setStyle(te.style,{localIdeographFontFamily:te.localIdeographFontFamily}),te.attributionControl&&this.addControl(new zi({customAttribution:te.customAttribution})),this.addControl(new Ei,te.logoPosition),this.on(\"style.load\",function(){ye.transform.unmodified&&ye.jumpTo(ye.style.stylesheet)}),this.on(\"data\",function(Qe){ye._update(Qe.dataType===\"style\"),ye.fire(new e.Event(Qe.dataType+\"data\",Qe))}),this.on(\"dataloading\",function(Qe){ye.fire(new e.Event(Qe.dataType+\"dataloading\",Qe))})}ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K;var xe={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return K.prototype._getMapId=function(){return this._mapId},K.prototype.addControl=function(ye,je){if(je===void 0&&(ye.getDefaultPosition?je=ye.getDefaultPosition():je=\"top-right\"),!ye||!ye.onAdd)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var ke=ye.onAdd(this);this._controls.push(ye);var Qe=this._controlPositions[je];return je.indexOf(\"bottom\")!==-1?Qe.insertBefore(ke,Qe.firstChild):Qe.appendChild(ke),this},K.prototype.removeControl=function(ye){if(!ye||!ye.onRemove)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var je=this._controls.indexOf(ye);return je>-1&&this._controls.splice(je,1),ye.onRemove(this),this},K.prototype.hasControl=function(ye){return this._controls.indexOf(ye)>-1},K.prototype.resize=function(ye){var je=this._containerDimensions(),ke=je[0],Qe=je[1];this._resizeCanvas(ke,Qe),this.transform.resize(ke,Qe),this.painter.resize(ke,Qe);var vt=!this._moving;return vt&&(this.stop(),this.fire(new e.Event(\"movestart\",ye)).fire(new e.Event(\"move\",ye))),this.fire(new e.Event(\"resize\",ye)),vt&&this.fire(new e.Event(\"moveend\",ye)),this},K.prototype.getBounds=function(){return this.transform.getBounds()},K.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},K.prototype.setMaxBounds=function(ye){return this.transform.setMaxBounds(e.LngLatBounds.convert(ye)),this._update()},K.prototype.setMinZoom=function(ye){if(ye=ye??Va,ye>=Va&&ye<=this.transform.maxZoom)return this.transform.minZoom=ye,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=ye,this._update(),this.getZoom()>ye&&this.setZoom(ye),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},K.prototype.getMaxZoom=function(){return this.transform.maxZoom},K.prototype.setMinPitch=function(ye){if(ye=ye??Li,ye=Li&&ye<=this.transform.maxPitch)return this.transform.minPitch=ye,this._update(),this.getPitch()hn)throw new Error(\"maxPitch must be less than or equal to \"+hn);if(ye>=this.transform.minPitch)return this.transform.maxPitch=ye,this._update(),this.getPitch()>ye&&this.setPitch(ye),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},K.prototype.getMaxPitch=function(){return this.transform.maxPitch},K.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},K.prototype.setRenderWorldCopies=function(ye){return this.transform.renderWorldCopies=ye,this._update()},K.prototype.project=function(ye){return this.transform.locationPoint(e.LngLat.convert(ye))},K.prototype.unproject=function(ye){return this.transform.pointLocation(e.Point.convert(ye))},K.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},K.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},K.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},K.prototype._createDelegatedListener=function(ye,je,ke){var Qe=this,vt;if(ye===\"mouseenter\"||ye===\"mouseover\"){var jt=!1,br=function(rr){var hr=Qe.getLayer(je)?Qe.queryRenderedFeatures(rr.point,{layers:[je]}):[];hr.length?jt||(jt=!0,ke.call(Qe,new De(ye,Qe,rr.originalEvent,{features:hr}))):jt=!1},Nr=function(){jt=!1};return{layer:je,listener:ke,delegates:{mousemove:br,mouseout:Nr}}}else if(ye===\"mouseleave\"||ye===\"mouseout\"){var pr=!1,mt=function(rr){var hr=Qe.getLayer(je)?Qe.queryRenderedFeatures(rr.point,{layers:[je]}):[];hr.length?pr=!0:pr&&(pr=!1,ke.call(Qe,new De(ye,Qe,rr.originalEvent)))},Mt=function(rr){pr&&(pr=!1,ke.call(Qe,new De(ye,Qe,rr.originalEvent)))};return{layer:je,listener:ke,delegates:{mousemove:mt,mouseout:Mt}}}else{var Ft=function(rr){var hr=Qe.getLayer(je)?Qe.queryRenderedFeatures(rr.point,{layers:[je]}):[];hr.length&&(rr.features=hr,ke.call(Qe,rr),delete rr.features)};return{layer:je,listener:ke,delegates:(vt={},vt[ye]=Ft,vt)}}},K.prototype.on=function(ye,je,ke){if(ke===void 0)return ge.prototype.on.call(this,ye,je);var Qe=this._createDelegatedListener(ye,je,ke);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[ye]=this._delegatedListeners[ye]||[],this._delegatedListeners[ye].push(Qe);for(var vt in Qe.delegates)this.on(vt,Qe.delegates[vt]);return this},K.prototype.once=function(ye,je,ke){if(ke===void 0)return ge.prototype.once.call(this,ye,je);var Qe=this._createDelegatedListener(ye,je,ke);for(var vt in Qe.delegates)this.once(vt,Qe.delegates[vt]);return this},K.prototype.off=function(ye,je,ke){var Qe=this;if(ke===void 0)return ge.prototype.off.call(this,ye,je);var vt=function(jt){for(var br=jt[ye],Nr=0;Nr180;){var ke=xe.locationPoint(ge);if(ke.x>=0&&ke.y>=0&&ke.x<=xe.width&&ke.y<=xe.height)break;ge.lng>xe.center.lng?ge.lng-=360:ge.lng+=360}return ge}var vn={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 Rn(ge,K,xe){var te=ge.classList;for(var ye in vn)te.remove(\"mapboxgl-\"+xe+\"-anchor-\"+ye);te.add(\"mapboxgl-\"+xe+\"-anchor-\"+K)}var Ii=function(ge){function K(xe,te){if(ge.call(this),(xe instanceof e.window.HTMLElement||te)&&(xe=e.extend({element:xe},te)),e.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=xe&&xe.anchor||\"center\",this._color=xe&&xe.color||\"#3FB1CE\",this._scale=xe&&xe.scale||1,this._draggable=xe&&xe.draggable||!1,this._clickTolerance=xe&&xe.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=xe&&xe.rotation||0,this._rotationAlignment=xe&&xe.rotationAlignment||\"auto\",this._pitchAlignment=xe&&xe.pitchAlignment&&xe.pitchAlignment!==\"auto\"?xe.pitchAlignment:this._rotationAlignment,!xe||!xe.element){this._defaultMarker=!0,this._element=r.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var ye=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),je=41,ke=27;ye.setAttributeNS(null,\"display\",\"block\"),ye.setAttributeNS(null,\"height\",je+\"px\"),ye.setAttributeNS(null,\"width\",ke+\"px\"),ye.setAttributeNS(null,\"viewBox\",\"0 0 \"+ke+\" \"+je);var Qe=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");Qe.setAttributeNS(null,\"stroke\",\"none\"),Qe.setAttributeNS(null,\"stroke-width\",\"1\"),Qe.setAttributeNS(null,\"fill\",\"none\"),Qe.setAttributeNS(null,\"fill-rule\",\"evenodd\");var vt=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");vt.setAttributeNS(null,\"fill-rule\",\"nonzero\");var jt=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");jt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),jt.setAttributeNS(null,\"fill\",\"#000000\");for(var br=[{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\"}],Nr=0,pr=br;Nr=ye}this._isDragging&&(this._pos=te.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new e.Event(\"dragstart\"))),this.fire(new e.Event(\"drag\")))},K.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new e.Event(\"dragend\")),this._state=\"inactive\"},K.prototype._addDragHandler=function(te){this._element.contains(te.originalEvent.target)&&(te.preventDefault(),this._positionDelta=te.point.sub(this._pos).add(this._offset),this._pointerdownPos=te.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},K.prototype.setDraggable=function(te){return this._draggable=!!te,this._map&&(te?(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},K.prototype.isDraggable=function(){return this._draggable},K.prototype.setRotation=function(te){return this._rotation=te||0,this._update(),this},K.prototype.getRotation=function(){return this._rotation},K.prototype.setRotationAlignment=function(te){return this._rotationAlignment=te||\"auto\",this._update(),this},K.prototype.getRotationAlignment=function(){return this._rotationAlignment},K.prototype.setPitchAlignment=function(te){return this._pitchAlignment=te&&te!==\"auto\"?te:this._rotationAlignment,this._update(),this},K.prototype.getPitchAlignment=function(){return this._pitchAlignment},K}(e.Evented),nn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Cn;function Dn(ge){Cn!==void 0?ge(Cn):e.window.navigator.permissions!==void 0?e.window.navigator.permissions.query({name:\"geolocation\"}).then(function(K){Cn=K.state!==\"denied\",ge(Cn)}):(Cn=!!e.window.navigator.geolocation,ge(Cn))}var Wn=0,Os=!1,xl=function(ge){function K(xe){ge.call(this),this.options=e.extend({},nn,xe),e.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K,K.prototype.onAdd=function(te){return this._map=te,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Dn(this._setupUI),this._container},K.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(e.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Wn=0,Os=!1},K.prototype._isOutOfMapMaxBounds=function(te){var ye=this._map.getMaxBounds(),je=te.coords;return ye&&(je.longitudeye.getEast()||je.latitudeye.getNorth())},K.prototype._setErrorState=function(){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\");break}},K.prototype._onSuccess=function(te){if(this._map){if(this._isOutOfMapMaxBounds(te)){this._setErrorState(),this.fire(new e.Event(\"outofmaxbounds\",te)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=te,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\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(te),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(te),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"geolocate\",te)),this._finish()}},K.prototype._updateCamera=function(te){var ye=new e.LngLat(te.coords.longitude,te.coords.latitude),je=te.coords.accuracy,ke=this._map.getBearing(),Qe=e.extend({bearing:ke},this.options.fitBoundsOptions);this._map.fitBounds(ye.toBounds(je),Qe,{geolocateSource:!0})},K.prototype._updateMarker=function(te){if(te){var ye=new e.LngLat(te.coords.longitude,te.coords.latitude);this._accuracyCircleMarker.setLngLat(ye).addTo(this._map),this._userLocationDotMarker.setLngLat(ye).addTo(this._map),this._accuracy=te.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},K.prototype._updateCircleRadius=function(){var te=this._map._container.clientHeight/2,ye=this._map.unproject([0,te]),je=this._map.unproject([1,te]),ke=ye.distanceTo(je),Qe=Math.ceil(2*this._accuracy/ke);this._circleElement.style.width=Qe+\"px\",this._circleElement.style.height=Qe+\"px\"},K.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},K.prototype._onError=function(te){if(this._map){if(this.options.trackUserLocation)if(te.code===1){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._geolocateButton.disabled=!0;var ye=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=ye,this._geolocateButton.setAttribute(\"aria-label\",ye),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(te.code===3&&Os)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"error\",te)),this._finish()}},K.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},K.prototype._setupUI=function(te){var ye=this;if(this._container.addEventListener(\"contextmenu\",function(Qe){return Qe.preventDefault()}),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",te===!1){e.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var je=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=je,this._geolocateButton.setAttribute(\"aria-label\",je)}else{var ke=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=ke,this._geolocateButton.setAttribute(\"aria-label\",ke)}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 Ii(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Ii({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",function(Qe){var vt=Qe.originalEvent&&Qe.originalEvent.type===\"resize\";!Qe.geolocateSource&&ye._watchState===\"ACTIVE_LOCK\"&&!vt&&(ye._watchState=\"BACKGROUND\",ye._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),ye._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),ye.fire(new e.Event(\"trackuserlocationend\")))})},K.prototype.trigger=function(){if(!this._setup)return e.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 e.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Wn--,Os=!1,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 e.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 e.Event(\"trackuserlocationstart\"));break}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\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Wn++;var te;Wn>1?(te={maximumAge:6e5,timeout:0},Os=!0):(te=this.options.positionOptions,Os=!1),this._geolocationWatchID=e.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,te)}}else e.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},K.prototype._clearWatch=function(){e.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)},K}(e.Evented),ho={maxWidth:100,unit:\"metric\"},Xl=function(K){this.options=e.extend({},ho,K),e.bindAll([\"_onMove\",\"setUnit\"],this)};Xl.prototype.getDefaultPosition=function(){return\"bottom-left\"},Xl.prototype._onMove=function(){hs(this._map,this._container,this.options)},Xl.prototype.onAdd=function(K){return this._map=K,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",K.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Xl.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Xl.prototype.setUnit=function(K){this.options.unit=K,hs(this._map,this._container,this.options)};function hs(ge,K,xe){var te=xe&&xe.maxWidth||100,ye=ge._container.clientHeight/2,je=ge.unproject([0,ye]),ke=ge.unproject([te,ye]),Qe=je.distanceTo(ke);if(xe&&xe.unit===\"imperial\"){var vt=3.2808*Qe;if(vt>5280){var jt=vt/5280;Al(K,te,jt,ge._getUIString(\"ScaleControl.Miles\"))}else Al(K,te,vt,ge._getUIString(\"ScaleControl.Feet\"))}else if(xe&&xe.unit===\"nautical\"){var br=Qe/1852;Al(K,te,br,ge._getUIString(\"ScaleControl.NauticalMiles\"))}else Qe>=1e3?Al(K,te,Qe/1e3,ge._getUIString(\"ScaleControl.Kilometers\")):Al(K,te,Qe,ge._getUIString(\"ScaleControl.Meters\"))}function Al(ge,K,xe,te){var ye=ru(xe),je=ye/xe;ge.style.width=K*je+\"px\",ge.innerHTML=ye+\" \"+te}function El(ge){var K=Math.pow(10,Math.ceil(-Math.log(ge)/Math.LN10));return Math.round(ge*K)/K}function ru(ge){var K=Math.pow(10,(\"\"+Math.floor(ge)).length-1),xe=ge/K;return xe=xe>=10?10:xe>=5?5:xe>=3?3:xe>=2?2:xe>=1?1:El(xe),K*xe}var js=function(K){this._fullscreen=!1,K&&K.container&&(K.container instanceof e.window.HTMLElement?this._container=K.container:e.warnOnce(\"Full screen control 'container' must be a DOM element.\")),e.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in e.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in e.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in e.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in e.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};js.prototype.onAdd=function(K){return this._map=K,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",e.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},js.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},js.prototype._checkFullscreenSupport=function(){return!!(e.window.document.fullscreenEnabled||e.window.document.mozFullScreenEnabled||e.window.document.msFullscreenEnabled||e.window.document.webkitFullscreenEnabled)},js.prototype._setupUI=function(){var K=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",K).setAttribute(\"aria-hidden\",!0),K.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},js.prototype._updateTitle=function(){var K=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",K),this._fullscreenButton.title=K},js.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},js.prototype._isFullscreen=function(){return this._fullscreen},js.prototype._changeIcon=function(){var K=e.window.document.fullscreenElement||e.window.document.mozFullScreenElement||e.window.document.webkitFullscreenElement||e.window.document.msFullscreenElement;K===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},js.prototype._onClickFullscreen=function(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.mozCancelFullScreen?e.window.document.mozCancelFullScreen():e.window.document.msExitFullscreen?e.window.document.msExitFullscreen():e.window.document.webkitCancelFullScreen&&e.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 pl={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},bl=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),Xn=function(ge){function K(xe){ge.call(this),this.options=e.extend(Object.create(pl),xe),e.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return ge&&(K.__proto__=ge),K.prototype=Object.create(ge&&ge.prototype),K.prototype.constructor=K,K.prototype.addTo=function(te){return this._map&&this.remove(),this._map=te,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.Event(\"open\")),this},K.prototype.isOpen=function(){return!!this._map},K.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(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new e.Event(\"close\")),this},K.prototype.getLngLat=function(){return this._lngLat},K.prototype.setLngLat=function(te){return this._lngLat=e.LngLat.convert(te),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},K.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},K.prototype.getElement=function(){return this._container},K.prototype.setText=function(te){return this.setDOMContent(e.window.document.createTextNode(te))},K.prototype.setHTML=function(te){var ye=e.window.document.createDocumentFragment(),je=e.window.document.createElement(\"body\"),ke;for(je.innerHTML=te;ke=je.firstChild,!!ke;)ye.appendChild(ke);return this.setDOMContent(ye)},K.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},K.prototype.setMaxWidth=function(te){return this.options.maxWidth=te,this._update(),this},K.prototype.setDOMContent=function(te){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(te),this._createCloseButton(),this._update(),this._focusFirstElement(),this},K.prototype.addClassName=function(te){this._container&&this._container.classList.add(te)},K.prototype.removeClassName=function(te){this._container&&this._container.classList.remove(te)},K.prototype.setOffset=function(te){return this.options.offset=te,this._update(),this},K.prototype.toggleClassName=function(te){if(this._container)return this._container.classList.toggle(te)},K.prototype._createCloseButton=function(){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=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},K.prototype._onMouseUp=function(te){this._update(te.point)},K.prototype._onMouseMove=function(te){this._update(te.point)},K.prototype._onDrag=function(te){this._update(te.point)},K.prototype._update=function(te){var ye=this,je=this._lngLat||this._trackPointer;if(!(!this._map||!je||!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(mt){return ye._container.classList.add(mt)}),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),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=Xi(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!te))){var ke=this._pos=this._trackPointer&&te?te:this._map.project(this._lngLat),Qe=this.options.anchor,vt=kl(this.options.offset);if(!Qe){var jt=this._container.offsetWidth,br=this._container.offsetHeight,Nr;ke.y+vt.bottom.ythis._map.transform.height-br?Nr=[\"bottom\"]:Nr=[],ke.xthis._map.transform.width-jt/2&&Nr.push(\"right\"),Nr.length===0?Qe=\"bottom\":Qe=Nr.join(\"-\")}var pr=ke.add(vt[Qe]).round();r.setTransform(this._container,vn[Qe]+\" translate(\"+pr.x+\"px,\"+pr.y+\"px)\"),Rn(this._container,Qe,\"popup\")}},K.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var te=this._container.querySelector(bl);te&&te.focus()}},K.prototype._onClose=function(){this.remove()},K}(e.Evented);function kl(ge){if(ge)if(typeof ge==\"number\"){var K=Math.round(Math.sqrt(.5*Math.pow(ge,2)));return{center:new e.Point(0,0),top:new e.Point(0,ge),\"top-left\":new e.Point(K,K),\"top-right\":new e.Point(-K,K),bottom:new e.Point(0,-ge),\"bottom-left\":new e.Point(K,-K),\"bottom-right\":new e.Point(-K,-K),left:new e.Point(ge,0),right:new e.Point(-ge,0)}}else if(ge instanceof e.Point||Array.isArray(ge)){var xe=e.Point.convert(ge);return{center:xe,top:xe,\"top-left\":xe,\"top-right\":xe,bottom:xe,\"bottom-left\":xe,\"bottom-right\":xe,left:xe,right:xe}}else return{center:e.Point.convert(ge.center||[0,0]),top:e.Point.convert(ge.top||[0,0]),\"top-left\":e.Point.convert(ge[\"top-left\"]||[0,0]),\"top-right\":e.Point.convert(ge[\"top-right\"]||[0,0]),bottom:e.Point.convert(ge.bottom||[0,0]),\"bottom-left\":e.Point.convert(ge[\"bottom-left\"]||[0,0]),\"bottom-right\":e.Point.convert(ge[\"bottom-right\"]||[0,0]),left:e.Point.convert(ge.left||[0,0]),right:e.Point.convert(ge.right||[0,0])};else return kl(new e.Point(0,0))}var Io={version:e.version,supported:t,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:Ua,NavigationControl:Ti,GeolocateControl:xl,AttributionControl:zi,ScaleControl:Xl,FullscreenControl:js,Popup:Xn,Marker:Ii,Style:Ul,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,Evented:e.Evented,config:e.config,prewarm:tn,clearPrewarmedResources:cn,get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(ge){e.config.ACCESS_TOKEN=ge},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(ge){e.config.API_URL=ge},get workerCount(){return ri.workerCount},set workerCount(ge){ri.workerCount=ge},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(ge){e.config.MAX_PARALLEL_IMAGE_REQUESTS=ge},clearStorage:function(K){e.clearTileCache(K)},workerUrl:\"\"};return Io}),A})}}),yV=Ge({\"src/plots/mapbox/layers.js\"(Z,G){\"use strict\";var d=sa(),_=su().sanitizeHTML,A=E6(),E=im();function e(n,i){this.subplot=n,this.uid=n.uid+\"-\"+i,this.index=i,this.idSource=\"source-\"+this.uid,this.idLayer=E.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var t=e.prototype;t.update=function(i){this.visible?this.needsNewImage(i)?this.updateImage(i):this.needsNewSource(i)?(this.removeLayer(),this.updateSource(i),this.updateLayer(i)):this.needsNewLayer(i)?this.updateLayer(i):this.updateStyle(i):(this.updateSource(i),this.updateLayer(i)),this.visible=r(i)},t.needsNewImage=function(n){var i=this.subplot.map;return i.getSource(this.idSource)&&this.sourceType===\"image\"&&n.sourcetype===\"image\"&&(this.source!==n.source||JSON.stringify(this.coordinates)!==JSON.stringify(n.coordinates))},t.needsNewSource=function(n){return this.sourceType!==n.sourcetype||JSON.stringify(this.source)!==JSON.stringify(n.source)||this.layerType!==n.type},t.needsNewLayer=function(n){return this.layerType!==n.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},t.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},t.updateImage=function(n){var i=this.subplot.map;i.getSource(this.idSource).updateImage({url:n.source,coordinates:n.coordinates});var s=this.findFollowingMapboxLayerId(this.lookupBelow());s!==null&&this.subplot.map.moveLayer(this.idLayer,s)},t.updateSource=function(n){var i=this.subplot.map;if(i.getSource(this.idSource)&&i.removeSource(this.idSource),this.sourceType=n.sourcetype,this.source=n.source,!!r(n)){var s=a(n);i.addSource(this.idSource,s)}},t.findFollowingMapboxLayerId=function(n){if(n===\"traces\")for(var i=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function o(n){var i={},s={};switch(n.type){case\"circle\":d.extendFlat(s,{\"circle-radius\":n.circle.radius,\"circle-color\":n.color,\"circle-opacity\":n.opacity});break;case\"line\":d.extendFlat(s,{\"line-width\":n.line.width,\"line-color\":n.color,\"line-opacity\":n.opacity,\"line-dasharray\":n.line.dash});break;case\"fill\":d.extendFlat(s,{\"fill-color\":n.color,\"fill-outline-color\":n.fill.outlinecolor,\"fill-opacity\":n.opacity});break;case\"symbol\":var h=n.symbol,f=A(h.textposition,h.iconsize);d.extendFlat(i,{\"icon-image\":h.icon+\"-15\",\"icon-size\":h.iconsize/10,\"text-field\":h.text,\"text-size\":h.textfont.size,\"text-anchor\":f.anchor,\"text-offset\":f.offset,\"symbol-placement\":h.placement}),d.extendFlat(s,{\"icon-color\":n.color,\"text-color\":h.textfont.color,\"text-opacity\":n.opacity});break;case\"raster\":d.extendFlat(s,{\"raster-fade-duration\":0,\"raster-opacity\":n.opacity});break}return{layout:i,paint:s}}function a(n){var i=n.sourcetype,s=n.source,h={type:i},f;return i===\"geojson\"?f=\"data\":i===\"vector\"?f=typeof s==\"string\"?\"url\":\"tiles\":i===\"raster\"?(f=\"tiles\",h.tileSize=256):i===\"image\"&&(f=\"url\",h.coordinates=n.coordinates),h[f]=s,n.sourceattribution&&(h.attribution=_(n.sourceattribution)),h}G.exports=function(i,s,h){var f=new e(i,s);return f.update(h),f}}}),_V=Ge({\"src/plots/mapbox/mapbox.js\"(Z,G){\"use strict\";var d=k6(),_=sa(),A=g0(),E=so(),e=Wo(),t=Ap(),r=Hc(),o=Jd(),a=o.drawMode,n=o.selectMode,i=Af().prepSelect,s=Af().clearOutline,h=Af().clearSelectionsCache,f=Af().selectOnClick,v=im(),c=yV();function T(m,b){this.id=b,this.gd=m;var p=m._fullLayout,u=m._context;this.container=p._glcontainer.node(),this.isStatic=u.staticPlot,this.uid=p._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(p),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var l=T.prototype;l.plot=function(m,b,p){var u=this,g=b[u.id];u.map&&g.accesstoken!==u.accessToken&&(u.map.remove(),u.map=null,u.styleObj=null,u.traceHash={},u.layerList=[]);var y;u.map?y=new Promise(function(D,L){u.updateMap(m,b,D,L)}):y=new Promise(function(D,L){u.createMap(m,b,D,L)}),p.push(y)},l.createMap=function(m,b,p,u){var g=this,y=b[g.id],D=g.styleObj=w(y.style,b);g.accessToken=y.accesstoken;var L=y.bounds,z=L?[[L.west,L.south],[L.east,L.north]]:null,F=g.map=new d.Map({container:g.div,style:D.style,center:M(y.center),zoom:y.zoom,bearing:y.bearing,pitch:y.pitch,maxBounds:z,interactive:!g.isStatic,preserveDrawingBuffer:g.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new d.AttributionControl({compact:!0}));F._canvas.style.left=\"0px\",F._canvas.style.top=\"0px\",g.rejectOnError(u),g.isStatic||g.initFx(m,b);var B=[];B.push(new Promise(function(O){F.once(\"load\",O)})),B=B.concat(A.fetchTraceGeoData(m)),Promise.all(B).then(function(){g.fillBelowLookup(m,b),g.updateData(m),g.updateLayout(b),g.resolveOnRender(p)}).catch(u)},l.updateMap=function(m,b,p,u){var g=this,y=g.map,D=b[this.id];g.rejectOnError(u);var L=[],z=w(D.style,b);JSON.stringify(g.styleObj)!==JSON.stringify(z)&&(g.styleObj=z,y.setStyle(z.style),g.traceHash={},L.push(new Promise(function(F){y.once(\"styledata\",F)}))),L=L.concat(A.fetchTraceGeoData(m)),Promise.all(L).then(function(){g.fillBelowLookup(m,b),g.updateData(m),g.updateLayout(b),g.resolveOnRender(p)}).catch(u)},l.fillBelowLookup=function(m,b){var p=b[this.id],u=p.layers,g,y,D=this.belowLookup={},L=!1;for(g=0;g1)for(g=0;g-1&&f(z.originalEvent,u,[p.xaxis],[p.yaxis],p.id,L),F.indexOf(\"event\")>-1&&r.click(u,z.originalEvent)}}},l.updateFx=function(m){var b=this,p=b.map,u=b.gd;if(b.isStatic)return;function g(z){var F=b.map.unproject(z);return[F.lng,F.lat]}var y=m.dragmode,D;D=function(z,F){if(F.isRect){var B=z.range={};B[b.id]=[g([F.xmin,F.ymin]),g([F.xmax,F.ymax])]}else{var O=z.lassoPoints={};O[b.id]=F.map(g)}};var L=b.dragOptions;b.dragOptions=_.extendDeep(L||{},{dragmode:m.dragmode,element:b.div,gd:u,plotinfo:{id:b.id,domain:m[b.id].domain,xaxis:b.xaxis,yaxis:b.yaxis,fillRangeItems:D},xaxes:[b.xaxis],yaxes:[b.yaxis],subplot:b.id}),p.off(\"click\",b.onClickInPanHandler),n(y)||a(y)?(p.dragPan.disable(),p.on(\"zoomstart\",b.clearOutline),b.dragOptions.prepFn=function(z,F,B){i(z,F,B,b.dragOptions,y)},t.init(b.dragOptions)):(p.dragPan.enable(),p.off(\"zoomstart\",b.clearOutline),b.div.onmousedown=null,b.div.ontouchstart=null,b.div.removeEventListener(\"touchstart\",b.div._ontouchstart),b.onClickInPanHandler=b.onClickInPanFn(b.dragOptions),p.on(\"click\",b.onClickInPanHandler))},l.updateFramework=function(m){var b=m[this.id].domain,p=m._size,u=this.div.style;u.width=p.w*(b.x[1]-b.x[0])+\"px\",u.height=p.h*(b.y[1]-b.y[0])+\"px\",u.left=p.l+b.x[0]*p.w+\"px\",u.top=p.t+(1-b.y[1])*p.h+\"px\",this.xaxis._offset=p.l+b.x[0]*p.w,this.xaxis._length=p.w*(b.x[1]-b.x[0]),this.yaxis._offset=p.t+(1-b.y[1])*p.h,this.yaxis._length=p.h*(b.y[1]-b.y[0])},l.updateLayers=function(m){var b=m[this.id],p=b.layers,u=this.layerList,g;if(p.length!==u.length){for(g=0;gB/2){var O=D.split(\"|\").join(\"
\");z.text(O).attr(\"data-unformatted\",O).call(o.convertToTspans,c),F=r.bBox(z.node())}z.attr(\"transform\",_(-3,-F.height+8)),L.insert(\"rect\",\".static-attribution\").attr({x:-F.width-6,y:-F.height-3,width:F.width+6,height:F.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var P=1;F.width+6>B&&(P=B/(F.width+6));var U=[x.l+x.w*M.x[1],x.t+x.h*(1-M.y[0])];L.attr(\"transform\",_(U[0],U[1])+A(P))}};function f(c,T){var l=c._fullLayout,x=c._context;if(x.mapboxAccessToken===\"\")return\"\";for(var w=[],S=[],M=!1,m=!1,b=0;b1&&d.warn(i.multipleTokensErrorMsg),w[0]):(S.length&&d.log([\"Listed mapbox access token(s)\",S.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function v(c){return typeof c==\"string\"&&(i.styleValuesMapbox.indexOf(c)!==-1||c.indexOf(\"mapbox://\")===0||c.indexOf(\"stamen\")===0)}Z.updateFx=function(c){for(var T=c._fullLayout,l=T._subplots[n],x=0;x=0;o--)t.removeLayer(r[o][1])},e.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},G.exports=function(r,o){var a=o[0].trace,n=new E(r,a.uid),i=n.sourceId,s=d(o),h=n.below=r.belowLookup[\"trace-\"+a.uid];return r.map.addSource(i,{type:\"geojson\",data:s.geojson}),n._addLayers(s,h),o[0].trace._glTrace=n,n}}}),SV=Ge({\"src/traces/choroplethmapbox/index.js\"(Z,G){\"use strict\";var d=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");G.exports={attributes:C6(),supplyDefaults:TV(),colorbar:n0(),calc:lT(),plot:AV(),hoverPoints:cT(),eventData:fT(),selectPoints:hT(),styleOnSelect:function(_,A){if(A){var E=A[0].trace;E._glTrace.updateOnSelect(A)}},getBelow:function(_,A){for(var E=A.getMapLayers(),e=E.length-2;e>=0;e--){var t=E[e].id;if(typeof t==\"string\"&&t.indexOf(\"water\")===0){for(var r=e+1;r0?+c[f]:0),h.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:w},properties:S})}}var m=E.extractOpts(a),b=m.reversescale?E.flipScale(m.colorscale):m.colorscale,p=b[0][1],u=A.opacity(p)<1?p:A.addOpacity(p,0),g=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,u];for(f=1;f=0;r--)e.removeLayer(t[r][1])},E.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},G.exports=function(t,r){var o=r[0].trace,a=new A(t,o.uid),n=a.sourceId,i=d(r),s=a.below=t.belowLookup[\"trace-\"+o.uid];return t.map.addSource(n,{type:\"geojson\",data:i.geojson}),a._addLayers(i,s),a}}}),PV=Ge({\"src/traces/densitymapbox/hover.js\"(Z,G){\"use strict\";var d=Wo(),_=ST().hoverPoints,A=ST().getExtraText;G.exports=function(e,t,r){var o=_(e,t,r);if(o){var a=o[0],n=a.cd,i=n[0].trace,s=n[a.index];if(delete a.color,\"z\"in s){var h=a.subplot.mockAxis;a.z=s.z,a.zLabel=d.tickText(h,h.c2l(s.z),\"hover\").text}return a.extraText=A(i,s,n[0].t.labels),[a]}}}}),IV=Ge({\"src/traces/densitymapbox/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A){return _.lon=A.lon,_.lat=A.lat,_.z=A.z,_}}}),RV=Ge({\"src/traces/densitymapbox/index.js\"(Z,G){\"use strict\";var d=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");G.exports={attributes:P6(),supplyDefaults:EV(),colorbar:n0(),formatLabels:M6(),calc:kV(),plot:LV(),hoverPoints:PV(),eventData:IV(),getBelow:function(_,A){for(var E=A.getMapLayers(),e=0;eESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}},{id:\"waterway_tunnel\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:14,filter:[\"all\",[\"in\",\"class\",\"river\",\"stream\",\"canal\"],[\"==\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]},\"line-dasharray\":[2,4]}},{id:\"waterway-other\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"!in\",\"class\",\"canal\",\"river\",\"stream\"],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,2]]}}},{id:\"waterway-stream-canal\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"in\",\"class\",\"canal\",\"stream\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]}}},{id:\"waterway-river\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"==\",\"class\",\"river\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.2,stops:[[10,.8],[20,4]]},\"line-opacity\":.5}},{id:\"water-offset\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",maxzoom:8,filter:[\"==\",\"$type\",\"Polygon\"],layout:{visibility:\"visible\"},paint:{\"fill-opacity\":0,\"fill-color\":\"#a0c8f0\",\"fill-translate\":{base:1,stops:[[6,[2,0]],[8,[0,0]]]}}},{id:\"water\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-color\":\"hsl(210, 67%, 85%)\",\"fill-opacity\":0}},{id:\"water-pattern\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-translate\":[0,2.5],\"fill-pattern\":\"wave\",\"fill-opacity\":1}},{id:\"landcover-ice-shelf\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"landcover\",filter:[\"==\",\"subclass\",\"ice_shelf\"],layout:{visibility:\"visible\"},paint:{\"fill-color\":\"#fff\",\"fill-opacity\":{base:1,stops:[[0,.9],[10,.3]]}}},{id:\"tunnel-service-track-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[15,1],[16,4],[20,11]]}}},{id:\"tunnel-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,1]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"tunnel-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"tunnel-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.7}},{id:\"tunnel-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"tunnel-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"tunnel-service-track\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-width\":{base:1.2,stops:[[15.5,0],[16,2],[20,7.5]]}}},{id:\"tunnel-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor_road\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"tunnel-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,10]]}}},{id:\"tunnel-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#ffdaa6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]},\"line-dasharray\":[2,2]}},{id:\"ferry\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"in\",\"class\",\"ferry\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(108, 159, 182, 1)\",\"line-width\":1.1,\"line-dasharray\":[2,2]}},{id:\"aeroway-taxiway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"taxiway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,2],[17,12]]},\"line-opacity\":1}},{id:\"aeroway-runway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"runway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,5],[17,55]]},\"line-opacity\":1}},{id:\"aeroway-taxiway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"taxiway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,1],[17,10]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"aeroway-runway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"runway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,4],[17,50]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"highway-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,0]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"highway-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"highway-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[7,0],[8,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.6],[9,1.5],[20,22]]}}},{id:\"highway-trunk-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[5,0],[6,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.6],[7,1.5],[20,22]]}}},{id:\"highway-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:4,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[4,0],[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.5]]}}},{id:\"highway-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"highway-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"highway-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[8,.5],[20,13]]},\"line-opacity\":.5}},{id:\"highway-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[8.5,0],[9,.5],[20,18]]},\"line-opacity\":0}},{id:\"highway-trunk\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"highway-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"railway-transit\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-transit-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway-service\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-service-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"bridge-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,28]]}}},{id:\"bridge-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(28, 76%, 67%)\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,26]]}}},{id:\"bridge-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"bridge-path-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#f8f4f0\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,18]]}}},{id:\"bridge-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]},\"line-dasharray\":[1.5,.75]}},{id:\"bridge-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,20]]}}},{id:\"bridge-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]}}},{id:\"bridge-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"bridge-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"bridge-railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"cablecar\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,1],[19,2.5]]}}},{id:\"cablecar-dash\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,3],[19,5.5]]},\"line-dasharray\":[2,3]}},{id:\"boundary-land-level-4\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\">=\",\"admin_level\",4],[\"<=\",\"admin_level\",8],[\"!=\",\"maritime\",1]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#9e9cab\",\"line-dasharray\":[3,1,1,1],\"line-width\":{base:1.4,stops:[[4,.4],[5,1],[12,3]]},\"line-opacity\":.6}},{id:\"boundary-land-level-2\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"==\",\"admin_level\",2],[\"!=\",\"maritime\",1],[\"!=\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 66%)\",\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,2]]}}},{id:\"boundary-land-disputed\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"!=\",\"maritime\",1],[\"==\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 70%)\",\"line-dasharray\":[1,3],\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,8]]}}},{id:\"boundary-water\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"in\",\"admin_level\",2,4],[\"==\",\"maritime\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"rgba(154, 189, 214, 1)\",\"line-width\":{base:1,stops:[[0,.6],[4,1],[5,1],[12,1]]},\"line-opacity\":{stops:[[6,0],[10,0]]}}},{id:\"waterway-name\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"has\",\"name\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin} {name:nonlatin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"text-letter-spacing\":.2,\"symbol-spacing\":350},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-lakeline\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"==\",\"$type\",\"LineString\"],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-ocean\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"!in\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":{stops:[[0,10],[6,14]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2,visibility:\"visible\"},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"poi-level-3\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:16,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\">=\",\"rank\",25]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-2\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",24],[\">=\",\"rank\",15]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-1\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",14],[\"has\",\"name\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"rgba(191, 228, 172, 1)\",\"text-halo-width\":1,\"text-halo-color\":\"rgba(30, 29, 29, 1)\"}},{id:\"poi-railway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"has\",\"name\"],[\"==\",\"class\",\"railway\"],[\"==\",\"subclass\",\"station\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"road_oneway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"road_oneway_opposite\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",-1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":-90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"highway-name-path\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15.5,filter:[\"==\",\"class\",\"path\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-color\":\"#f8f4f0\",\"text-color\":\"hsl(30, 23%, 62%)\",\"text-halo-width\":.5}},{id:\"highway-name-minor\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-name-major\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:12.2,filter:[\"in\",\"class\",\"primary\",\"secondary\",\"tertiary\",\"trunk\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-shield\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:8,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"!in\",\"network\",\"us-interstate\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"road_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-opacity\":1,\"text-color\":\"rgba(20, 19, 19, 1)\",\"text-halo-color\":\"rgba(230, 221, 221, 0)\",\"text-halo-width\":2,\"icon-color\":\"rgba(183, 18, 18, 1)\",\"icon-opacity\":.3,\"icon-halo-color\":\"rgba(183, 55, 55, 0)\"}},{id:\"highway-shield-us-interstate\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:7,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-interstate\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[7,\"point\"],[7,\"line\"],[8,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"highway-shield-us-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:9,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"place-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:12,filter:[\"!in\",\"class\",\"city\",\"town\",\"village\",\"country\",\"continent\"],layout:{\"text-letter-spacing\":.1,\"text-size\":{base:1.2,stops:[[12,10],[15,14]]},\"text-font\":[\"Noto Sans Bold\"],\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-transform\":\"uppercase\",\"text-max-width\":9,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255,255,255,1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(57, 28, 28, 1)\"}},{id:\"place-village\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:10,filter:[\"==\",\"class\",\"village\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,12],[15,16]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(10, 9, 9, 0.8)\"}},{id:\"place-town\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"==\",\"class\",\"town\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,14],[15,24]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(22, 22, 22, 0.8)\"}},{id:\"place-city\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"!=\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-city-capital\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n{name:nonlatin}`,\"text-max-width\":8,\"icon-image\":\"star_11\",\"text-offset\":[.4,0],\"icon-size\":.8,\"text-anchor\":\"left\",visibility:\"visible\"},paint:{\"text-color\":\"#333\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"!has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-3\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-2\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",2],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[2,11],[5,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-1\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",1],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[1,11],[4,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-continent\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",maxzoom:1,filter:[\"==\",\"class\",\"continent\"],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":14,\"text-max-width\":6.25,\"text-transform\":\"uppercase\",visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}}],id:\"qebnlkra6\"}}}),FV=Ge({\"src/plots/map/styles/arcgis-sat.js\"(Z,G){G.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:\"raster\",tiles:[\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"],tileSize:256,maxzoom:18,attribution:\"ESRI © ESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}}]}}}),b0=Ge({\"src/plots/map/constants.js\"(Z,G){\"use strict\";var d=Jm(),_=zV(),A=FV(),E='\\xA9 OpenStreetMap contributors',e=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",t=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",r=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",o=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",a=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",n=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",i={basic:r,streets:r,outdoors:r,light:e,dark:t,satellite:A,\"satellite-streets\":_,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:E,tiles:[\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":e,\"carto-darkmatter\":t,\"carto-voyager\":r,\"carto-positron-nolabels\":o,\"carto-darkmatter-nolabels\":a,\"carto-voyager-nolabels\":n},s=d(i);G.exports={styleValueDflt:\"basic\",stylesMap:i,styleValuesMap:s,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",s.join(\", \"),\"or use a tile service.\"].join(`\n`),mapOnErrorMsg:\"Map error.\"}}}),kx=Ge({\"src/plots/map/layout_attributes.js\"(Z,G){\"use strict\";var d=sa(),_=$n().defaultLine,A=wc().attributes,E=tc(),e=af().textposition,t=pc().overrideAll,r=zl().templatedArray,o=b0(),a=E({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});a.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var n=G.exports=t({_arrayAttrRegexps:[d.counterRegex(\"map\",\".layers\",!0)],domain:A({name:\"map\"}),style:{valType:\"any\",values:o.styleValuesMap,dflt:o.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},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:r(\"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:_},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:_}},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:a,textposition:d.extendFlat({},e,{arrayOk:!1})}})},\"plot\",\"from-root\");n.uirevision={valType:\"any\",editType:\"none\"}}}),ET=Ge({\"src/traces/scattermap/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:d,texttemplateAttrs:_,templatefallbackAttrs:A}=$l(),E=$d(),e=vg(),t=af(),r=kx(),o=au(),a=ku(),n=rs().extendFlat,i=pc().overrideAll,s=kx(),h=e.line,f=e.marker;G.exports=i({lon:e.lon,lat:e.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:n({},s.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:n({},f.opacity,{dflt:1})},mode:n({},t.mode,{dflt:\"markers\"}),text:n({},t.text,{}),texttemplate:_({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),texttemplatefallback:A({editType:\"plot\"}),hovertext:n({},t.hovertext,{}),line:{color:h.color,width:h.width},connectgaps:t.connectgaps,marker:n({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode},a(\"marker\")),fill:e.fill,fillcolor:E(),textfont:r.layers.symbol.textfont,textposition:r.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:t.selected.marker},unselected:{marker:t.unselected.marker},hoverinfo:n({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:d(),hovertemplatefallback:A()},\"calc\",\"nested\")}}),I6=Ge({\"src/traces/scattermap/constants.js\"(Z,G){\"use strict\";var d=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];G.exports={isSupportedFont:function(_){return d.indexOf(_)!==-1}}}}),OV=Ge({\"src/traces/scattermap/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Fu(),A=md(),E=Dd(),e=zd(),t=ev(),r=ET(),o=I6().isSupportedFont;G.exports=function(i,s,h,f){function v(g,y){return d.coerce(i,s,r,g,y)}function c(g,y){return d.coerce2(i,s,r,g,y)}var T=a(i,s,v);if(!T){s.visible=!1;return}if(v(\"text\"),v(\"texttemplate\"),v(\"texttemplatefallback\"),v(\"hovertext\"),v(\"hovertemplate\"),v(\"hovertemplatefallback\"),v(\"mode\"),v(\"below\"),_.hasMarkers(s)){A(i,s,h,f,v,{noLine:!0,noAngle:!0}),v(\"marker.allowoverlap\"),v(\"marker.angle\");var l=s.marker;l.symbol!==\"circle\"&&(d.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),d.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}_.hasLines(s)&&(E(i,s,h,f,v,{noDash:!0}),v(\"connectgaps\"));var x=c(\"cluster.maxzoom\"),w=c(\"cluster.step\"),S=c(\"cluster.color\",s.marker&&s.marker.color||h),M=c(\"cluster.size\"),m=c(\"cluster.opacity\"),b=x!==!1||w!==!1||S!==!1||M!==!1||m!==!1,p=v(\"cluster.enabled\",b);if(p||_.hasText(s)){var u=f.font.family;e(i,s,f,v,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:o(u)?u:\"Open Sans Regular\",weight:f.font.weight,style:f.font.style,size:f.font.size,color:f.font.color}})}v(\"fill\"),s.fill!==\"none\"&&t(i,s,h,v),d.coerceSelectionMarkerOpacity(s,v)};function a(n,i,s){var h=s(\"lon\")||[],f=s(\"lat\")||[],v=Math.min(h.length,f.length);return i._length=v,v}}}),R6=Ge({\"src/traces/scattermap/format_labels.js\"(Z,G){\"use strict\";var d=Wo();G.exports=function(A,E,e){var t={},r=e[E.subplot]._subplot,o=r.mockAxis,a=A.lonlat;return t.lonLabel=d.tickText(o,o.c2l(a[0]),!0).text,t.latLabel=d.tickText(o,o.c2l(a[1]),!0).text,t}}}),D6=Ge({\"src/plots/map/convert_text_opts.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E){var e=A.split(\" \"),t=e[0],r=e[1],o=d.isArrayOrTypedArray(E)?d.mean(E):E,a=.5+o/100,n=1.5+o/100,i=[\"\",\"\"],s=[0,0];switch(t){case\"top\":i[0]=\"top\",s[1]=-n;break;case\"bottom\":i[0]=\"bottom\",s[1]=n;break}switch(r){case\"left\":i[1]=\"right\",s[0]=-a;break;case\"right\":i[1]=\"left\",s[0]=a;break}var h;return i[0]&&i[1]?h=i.join(\"-\"):i[0]?h=i[0]:i[1]?h=i[1]:h=\"center\",{anchor:h,offset:s}}}}),BV=Ge({\"src/traces/scattermap/convert.js\"(Z,G){\"use strict\";var d=ns(),_=sa(),A=Gs().BADNUM,E=m0(),e=rc(),t=as(),r=r1(),o=Fu(),a=I6().isSupportedFont,n=D6(),i=$p().appendArrayPointValue,s=su().NEWLINES,h=su().BR_TAG_ALL;G.exports=function(m,b){var p=b[0].trace,u=p.visible===!0&&p._length!==0,g=p.fill!==\"none\",y=o.hasLines(p),D=o.hasMarkers(p),L=o.hasText(p),z=D&&p.marker.symbol===\"circle\",F=D&&p.marker.symbol!==\"circle\",B=p.cluster&&p.cluster.enabled,O=f(\"fill\"),P=f(\"line\"),U=f(\"circle\"),N=f(\"symbol\"),X={fill:O,line:P,circle:U,symbol:N};if(!u)return X;var $;if((g||y)&&($=E.calcTraceToLineCoords(b)),g&&(O.geojson=E.makePolygon($),O.layout.visibility=\"visible\",_.extendFlat(O.paint,{\"fill-color\":p.fillcolor})),y&&(P.geojson=E.makeLine($),P.layout.visibility=\"visible\",_.extendFlat(P.paint,{\"line-width\":p.line.width,\"line-color\":p.line.color,\"line-opacity\":p.opacity})),z){var ue=v(b);U.geojson=ue.geojson,U.layout.visibility=\"visible\",B&&(U.filter=[\"!\",[\"has\",\"point_count\"]],X.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":w(p.cluster.color,p.cluster.step),\"circle-radius\":w(p.cluster.size,p.cluster.step),\"circle-opacity\":w(p.cluster.opacity,p.cluster.step)}},X.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":S(p),\"text-size\":12}}),_.extendFlat(U.paint,{\"circle-color\":ue.mcc,\"circle-radius\":ue.mrc,\"circle-opacity\":ue.mo})}if(z&&B&&(U.filter=[\"!\",[\"has\",\"point_count\"]]),(F||L)&&(N.geojson=c(b,m),_.extendFlat(N.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),F&&(_.extendFlat(N.layout,{\"icon-size\":p.marker.size/10}),\"angle\"in p.marker&&p.marker.angle!==\"auto\"&&_.extendFlat(N.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),N.layout[\"icon-allow-overlap\"]=p.marker.allowoverlap,_.extendFlat(N.paint,{\"icon-opacity\":p.opacity*p.marker.opacity,\"icon-color\":p.marker.color})),L)){var ce=(p.marker||{}).size,de=n(p.textposition,ce);_.extendFlat(N.layout,{\"text-size\":p.textfont.size,\"text-anchor\":de.anchor,\"text-offset\":de.offset,\"text-font\":S(p)}),_.extendFlat(N.paint,{\"text-color\":p.textfont.color,\"text-opacity\":p.opacity})}return X};function f(M){return{type:M,geojson:E.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function v(M){var m=M[0].trace,b=m.marker,p=m.selectedpoints,u=_.isArrayOrTypedArray(b.color),g=_.isArrayOrTypedArray(b.size),y=_.isArrayOrTypedArray(b.opacity),D;function L(ce){return m.opacity*ce}function z(ce){return ce/2}var F;u&&(e.hasColorscale(m,\"marker\")?F=e.makeColorScaleFuncFromTrace(b):F=_.identity);var B;g&&(B=r(m));var O;y&&(O=function(ce){var de=d(ce)?+_.constrain(ce,0,1):0;return L(de)});var P=[];for(D=0;D850?D+=\" Black\":u>750?D+=\" Extra Bold\":u>650?D+=\" Bold\":u>550?D+=\" Semi Bold\":u>450?D+=\" Medium\":u>350?D+=\" Regular\":u>250?D+=\" Light\":u>150?D+=\" Extra Light\":D+=\" Thin\"):g.slice(0,2).join(\" \")===\"Open Sans\"?(D=\"Open Sans\",u>750?D+=\" Extrabold\":u>650?D+=\" Bold\":u>550?D+=\" Semibold\":u>350?D+=\" Regular\":D+=\" Light\"):g.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(D=\"Klokantech Noto Sans\",g[3]===\"CJK\"&&(D+=\" CJK\"),D+=u>500?\" Bold\":\" Regular\")),y&&(D+=\" Italic\"),D===\"Open Sans Regular Italic\"?D=\"Open Sans Italic\":D===\"Open Sans Regular Bold\"?D=\"Open Sans Bold\":D===\"Open Sans Regular Bold Italic\"?D=\"Open Sans Bold Italic\":D===\"Klokantech Noto Sans Regular Italic\"&&(D=\"Klokantech Noto Sans Italic\"),a(D)||(D=b);var L=D.split(\", \");return L}}}),NV=Ge({\"src/traces/scattermap/plot.js\"(Z,G){\"use strict\";var d=sa(),_=BV(),A=b0().traceLayerPrefix,E={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function e(r,o,a,n){this.type=\"scattermap\",this.subplot=r,this.uid=o,this.clusterEnabled=a,this.isHidden=n,this.sourceIds={fill:\"source-\"+o+\"-fill\",line:\"source-\"+o+\"-line\",circle:\"source-\"+o+\"-circle\",symbol:\"source-\"+o+\"-symbol\",cluster:\"source-\"+o+\"-circle\",clusterCount:\"source-\"+o+\"-circle\"},this.layerIds={fill:A+o+\"-fill\",line:A+o+\"-line\",circle:A+o+\"-circle\",symbol:A+o+\"-symbol\",cluster:A+o+\"-cluster\",clusterCount:A+o+\"-cluster-count\"},this.below=null}var t=e.prototype;t.addSource=function(r,o,a){var n={type:\"geojson\",data:o.geojson};a&&a.enabled&&d.extendFlat(n,{cluster:!0,clusterMaxZoom:a.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[r]);i?i.setData(o.geojson):this.subplot.map.addSource(this.sourceIds[r],n)},t.setSourceData=function(r,o){this.subplot.map.getSource(this.sourceIds[r]).setData(o.geojson)},t.addLayer=function(r,o,a){var n={type:o.type,id:this.layerIds[r],source:this.sourceIds[r],layout:o.layout,paint:o.paint};o.filter&&(n.filter=o.filter);for(var i=this.layerIds[r],s,h=this.subplot.getMapLayers(),f=0;f=0;y--){var D=g[y];i.removeLayer(c.layerIds[D])}u||i.removeSource(c.sourceIds.circle)}function x(u){for(var g=E.nonCluster,y=0;y=0;y--){var D=g[y];i.removeLayer(c.layerIds[D]),u||i.removeSource(c.sourceIds[D])}}function S(u){v?l(u):w(u)}function M(u){f?T(u):x(u)}function m(){for(var u=f?E.cluster:E.nonCluster,g=0;g=0;n--){var i=a[n];o.removeLayer(this.layerIds[i]),o.removeSource(this.sourceIds[i])}},G.exports=function(o,a){var n=a[0].trace,i=n.cluster&&n.cluster.enabled,s=n.visible!==!0,h=new e(o,n.uid,i,s),f=_(o.gd,a),v=h.below=o.belowLookup[\"trace-\"+n.uid],c,T,l;if(i)for(h.addSource(\"circle\",f.circle,n.cluster),c=0;c=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),M=S*360,m=n-M;function b(B){var O=B.lonlat;if(O[0]===e||x&&T.indexOf(B.i+1)===-1)return 1/0;var P=_.modHalf(O[0],360),U=O[1],N=c.project([P,U]),X=N.x-f.c2p([m,U]),$=N.y-v.c2p([P,i]),ue=Math.max(3,B.mrc||0);return Math.max(Math.sqrt(X*X+$*$)-ue,1-3/ue)}if(d.getClosest(s,b,a),a.index!==!1){var p=s[a.index],u=p.lonlat,g=[_.modHalf(u[0],360)+M,u[1]],y=f.c2p(g),D=v.c2p(g),L=p.mrc||1;a.x0=y-L,a.x1=y+L,a.y0=D-L,a.y1=D+L;var z={};z[h.subplot]={_subplot:c};var F=h._module.formatLabels(p,h,z);return a.lonLabel=F.lonLabel,a.latLabel=F.latLabel,a.color=A(h,p),a.extraText=o(h,p,s[0].t.labels),a.hovertemplate=h.hovertemplate,[a]}}function o(a,n,i){if(a.hovertemplate)return;var s=n.hi||a.hoverinfo,h=s.split(\"+\"),f=h.indexOf(\"all\")!==-1,v=h.indexOf(\"lon\")!==-1,c=h.indexOf(\"lat\")!==-1,T=n.lonlat,l=[];function x(w){return w+\"\\xB0\"}return f||v&&c?l.push(\"(\"+x(T[1])+\", \"+x(T[0])+\")\"):v?l.push(i.lon+x(T[0])):c&&l.push(i.lat+x(T[1])),(f||h.indexOf(\"text\")!==-1)&&E(n,a,l),l.join(\"
\")}G.exports={hoverPoints:r,getExtraText:o}}}),UV=Ge({\"src/traces/scattermap/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A){return _.lon=A.lon,_.lat=A.lat,_}}}),jV=Ge({\"src/traces/scattermap/select.js\"(Z,G){\"use strict\";var d=sa(),_=Fu(),A=Gs().BADNUM;G.exports=function(e,t){var r=e.cd,o=e.xaxis,a=e.yaxis,n=[],i=r[0].trace,s;if(!_.hasMarkers(i))return[];if(t===!1)for(s=0;s1)return 1;for(var J=W,ve=0;ve<8;ve++){var Ee=this.sampleCurveX(J)-W;if(Math.abs(Ee)Ee?Ve=J:ct=J,J=.5*(ct-Ve)+Ve;return J},solve:function(W,R){return this.sampleCurveY(this.solveCurveX(W,R))}};var h=r(i);let f,v;function c(){return f==null&&(f=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),f}function T(){if(v==null&&(v=!1,c())){let R=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(R){for(let ve=0;ve<5*5;ve++){let Ee=4*ve;R.fillStyle=`rgb(${Ee},${Ee+1},${Ee+2})`,R.fillRect(ve%5,Math.floor(ve/5),1,1)}let J=R.getImageData(0,0,5,5).data;for(let ve=0;ve<5*5*4;ve++)if(ve%4!=3&&J[ve]!==ve){v=!0;break}}}return v||!1}function l(W,R,J,ve){let Ee=new h(W,R,J,ve);return Be=>Ee.solve(Be)}let x=l(.25,.1,.25,1);function w(W,R,J){return Math.min(J,Math.max(R,W))}function S(W,R,J){let ve=J-R,Ee=((W-R)%ve+ve)%ve+R;return Ee===R?J:Ee}function M(W,...R){for(let J of R)for(let ve in J)W[ve]=J[ve];return W}let m=1;function b(W,R,J){let ve={};for(let Ee in W)ve[Ee]=R.call(this,W[Ee],Ee,W);return ve}function p(W,R,J){let ve={};for(let Ee in W)R.call(this,W[Ee],Ee,W)&&(ve[Ee]=W[Ee]);return ve}function u(W){return Array.isArray(W)?W.map(u):typeof W==\"object\"&&W?b(W,u):W}let g={};function y(W){g[W]||(typeof console<\"u\"&&console.warn(W),g[W]=!0)}function D(W,R,J){return(J.y-W.y)*(R.x-W.x)>(R.y-W.y)*(J.x-W.x)}function L(W){return typeof WorkerGlobalScope<\"u\"&&W!==void 0&&W instanceof WorkerGlobalScope}let z=null;function F(W){return typeof ImageBitmap<\"u\"&&W instanceof ImageBitmap}let B=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function O(W,R,J,ve,Ee){return t(this,void 0,void 0,function*(){if(typeof VideoFrame>\"u\")throw new Error(\"VideoFrame not supported\");let Be=new VideoFrame(W,{timestamp:0});try{let Ve=Be?.format;if(!Ve||!Ve.startsWith(\"BGR\")&&!Ve.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${Ve}`);let ct=Ve.startsWith(\"BGR\"),At=new Uint8ClampedArray(ve*Ee*4);if(yield Be.copyTo(At,function(Bt,ar,Mr,Fr,Wr){let ia=4*Math.max(-ar,0),fa=(Math.max(0,Mr)-Mr)*Fr*4+ia,ja=4*Fr,Ka=Math.max(0,ar),Wi=Math.max(0,Mr);return{rect:{x:Ka,y:Wi,width:Math.min(Bt.width,ar+Fr)-Ka,height:Math.min(Bt.height,Mr+Wr)-Wi},layout:[{offset:fa,stride:ja}]}}(W,R,J,ve,Ee)),ct)for(let Bt=0;BtL(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Y=function(W,R){if(/:\\/\\//.test(W.url)&&!/^https?:|^file:/.test(W.url)){let ve=ue(W.url);if(ve)return ve(W,R);if(L(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:W,targetMapId:ce},R)}if(!(/^file:/.test(J=W.url)||/^file:/.test(V())&&!/^\\w+:/.test(J))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(ve,Ee){return t(this,void 0,void 0,function*(){let Be=new Request(ve.url,{method:ve.method||\"GET\",body:ve.body,credentials:ve.credentials,headers:ve.headers,cache:ve.cache,referrer:V(),signal:Ee.signal});ve.type!==\"json\"||Be.headers.has(\"Accept\")||Be.headers.set(\"Accept\",\"application/json\");let Ve=yield fetch(Be);if(!Ve.ok){let Bt=yield Ve.blob();throw new de(Ve.status,Ve.statusText,ve.url,Bt)}let ct;ct=ve.type===\"arrayBuffer\"||ve.type===\"image\"?Ve.arrayBuffer():ve.type===\"json\"?Ve.json():Ve.text();let At=yield ct;if(Ee.signal.aborted)throw X();return{data:At,cacheControl:Ve.headers.get(\"Cache-Control\"),expires:Ve.headers.get(\"Expires\")}})}(W,R);if(L(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:W,mustQueue:!0,targetMapId:ce},R)}var J;return function(ve,Ee){return new Promise((Be,Ve)=>{var ct;let At=new XMLHttpRequest;At.open(ve.method||\"GET\",ve.url,!0),ve.type!==\"arrayBuffer\"&&ve.type!==\"image\"||(At.responseType=\"arraybuffer\");for(let Bt in ve.headers)At.setRequestHeader(Bt,ve.headers[Bt]);ve.type===\"json\"&&(At.responseType=\"text\",!((ct=ve.headers)===null||ct===void 0)&&ct.Accept||At.setRequestHeader(\"Accept\",\"application/json\")),At.withCredentials=ve.credentials===\"include\",At.onerror=()=>{Ve(new Error(At.statusText))},At.onload=()=>{if(!Ee.signal.aborted)if((At.status>=200&&At.status<300||At.status===0)&&At.response!==null){let Bt=At.response;if(ve.type===\"json\")try{Bt=JSON.parse(At.response)}catch(ar){return void Ve(ar)}Be({data:Bt,cacheControl:At.getResponseHeader(\"Cache-Control\"),expires:At.getResponseHeader(\"Expires\")})}else{let Bt=new Blob([At.response],{type:At.getResponseHeader(\"Content-Type\")});Ve(new de(At.status,At.statusText,ve.url,Bt))}},Ee.signal.addEventListener(\"abort\",()=>{At.abort(),Ve(X())}),At.send(ve.body)})}(W,R)};function ee(W){if(!W||W.indexOf(\"://\")<=0||W.indexOf(\"data:image/\")===0||W.indexOf(\"blob:\")===0)return!0;let R=new URL(W),J=window.location;return R.protocol===J.protocol&&R.host===J.host}function q(W,R,J){J[W]&&J[W].indexOf(R)!==-1||(J[W]=J[W]||[],J[W].push(R))}function se(W,R,J){if(J&&J[W]){let ve=J[W].indexOf(R);ve!==-1&&J[W].splice(ve,1)}}class ae{constructor(R,J={}){M(this,J),this.type=R}}class j extends ae{constructor(R,J={}){super(\"error\",M({error:R},J))}}class Q{on(R,J){return this._listeners=this._listeners||{},q(R,J,this._listeners),this}off(R,J){return se(R,J,this._listeners),se(R,J,this._oneTimeListeners),this}once(R,J){return J?(this._oneTimeListeners=this._oneTimeListeners||{},q(R,J,this._oneTimeListeners),this):new Promise(ve=>this.once(R,ve))}fire(R,J){typeof R==\"string\"&&(R=new ae(R,J||{}));let ve=R.type;if(this.listens(ve)){R.target=this;let Ee=this._listeners&&this._listeners[ve]?this._listeners[ve].slice():[];for(let ct of Ee)ct.call(this,R);let Be=this._oneTimeListeners&&this._oneTimeListeners[ve]?this._oneTimeListeners[ve].slice():[];for(let ct of Be)se(ve,ct,this._oneTimeListeners),ct.call(this,R);let Ve=this._eventedParent;Ve&&(M(R,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),Ve.fire(R))}else R instanceof j&&console.error(R.error);return this}listens(R){return this._listeners&&this._listeners[R]&&this._listeners[R].length>0||this._oneTimeListeners&&this._oneTimeListeners[R]&&this._oneTimeListeners[R].length>0||this._eventedParent&&this._eventedParent.listens(R)}setEventedParent(R,J){return this._eventedParent=R,this._eventedParentData=J,this}}var re={$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\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let pe=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function we(W,R){let J={};for(let ve in W)ve!==\"ref\"&&(J[ve]=W[ve]);return pe.forEach(ve=>{ve in R&&(J[ve]=R[ve])}),J}function Se(W,R){if(Array.isArray(W)){if(!Array.isArray(R)||W.length!==R.length)return!1;for(let J=0;J`:W.itemType.kind===\"value\"?\"array\":`array<${R}>`}return W.kind}let Ae=[rt,Ye,St,kt,qt,qr,Gt,Oe(Tr),Er,Dr,xt];function Le(W,R){if(R.kind===\"error\")return null;if(W.kind===\"array\"){if(R.kind===\"array\"&&(R.N===0&&R.itemType.kind===\"value\"||!Le(W.itemType,R.itemType))&&(typeof W.N!=\"number\"||W.N===R.N))return null}else{if(W.kind===R.kind)return null;if(W.kind===\"value\"){for(let J of Ae)if(!Le(J,R))return null}}return`Expected ${Ke(W)} but found ${Ke(R)} instead.`}function We(W,R){return R.some(J=>J.kind===W.kind)}function Je(W,R){return R.some(J=>J===\"null\"?W===null:J===\"array\"?Array.isArray(W):J===\"object\"?W&&!Array.isArray(W)&&typeof W==\"object\":J===typeof W)}function st(W,R){return W.kind===\"array\"&&R.kind===\"array\"?W.itemType.kind===R.itemType.kind&&typeof W.N==\"number\":W.kind===R.kind}let ot=.96422,Ut=.82521,Ct=4/29,Pt=6/29,Nt=3*Pt*Pt,cr=Pt*Pt*Pt,lr=Math.PI/180,sr=180/Math.PI;function Pr(W){return(W%=360)<0&&(W+=360),W}function _a([W,R,J,ve]){let Ee,Be,Ve=Ra((.2225045*(W=Fa(W))+.7168786*(R=Fa(R))+.0606169*(J=Fa(J)))/1);W===R&&R===J?Ee=Be=Ve:(Ee=Ra((.4360747*W+.3850649*R+.1430804*J)/ot),Be=Ra((.0139322*W+.0971045*R+.7141733*J)/Ut));let ct=116*Ve-16;return[ct<0?0:ct,500*(Ee-Ve),200*(Ve-Be),ve]}function Fa(W){return W<=.04045?W/12.92:Math.pow((W+.055)/1.055,2.4)}function Ra(W){return W>cr?Math.pow(W,1/3):W/Nt+Ct}function qa([W,R,J,ve]){let Ee=(W+16)/116,Be=isNaN(R)?Ee:Ee+R/500,Ve=isNaN(J)?Ee:Ee-J/200;return Ee=1*Ca(Ee),Be=ot*Ca(Be),Ve=Ut*Ca(Ve),[Wa(3.1338561*Be-1.6168667*Ee-.4906146*Ve),Wa(-.9787684*Be+1.9161415*Ee+.033454*Ve),Wa(.0719453*Be-.2289914*Ee+1.4052427*Ve),ve]}function Wa(W){return(W=W<=.00304?12.92*W:1.055*Math.pow(W,1/2.4)-.055)<0?0:W>1?1:W}function Ca(W){return W>Pt?W*W*W:Nt*(W-Ct)}function hi(W){return parseInt(W.padEnd(2,W),16)/255}function wi(W,R){return Yt(R?W/100:W,0,1)}function Yt(W,R,J){return Math.min(Math.max(R,W),J)}function Rt(W){return!W.some(Number.isNaN)}let Zt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Jt{constructor(R,J,ve,Ee=1,Be=!0){this.r=R,this.g=J,this.b=ve,this.a=Ee,Be||(this.r*=Ee,this.g*=Ee,this.b*=Ee,Ee||this.overwriteGetter(\"rgb\",[R,J,ve,Ee]))}static parse(R){if(R instanceof Jt)return R;if(typeof R!=\"string\")return;let J=function(ve){if((ve=ve.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let Ee=Zt[ve];if(Ee){let[Ve,ct,At]=Ee;return[Ve/255,ct/255,At/255,1]}if(ve.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(ve)){let Ve=ve.length<6?1:2,ct=1;return[hi(ve.slice(ct,ct+=Ve)),hi(ve.slice(ct,ct+=Ve)),hi(ve.slice(ct,ct+=Ve)),hi(ve.slice(ct,ct+Ve)||\"ff\")]}if(ve.startsWith(\"rgb\")){let Ve=ve.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(Ve){let[ct,At,Bt,ar,Mr,Fr,Wr,ia,fa,ja,Ka,Wi]=Ve,gi=[ar||\" \",Wr||\" \",ja].join(\"\");if(gi===\" \"||gi===\" /\"||gi===\",,\"||gi===\",,,\"){let qi=[Bt,Fr,fa].join(\"\"),en=qi===\"%%%\"?100:qi===\"\"?255:0;if(en){let jn=[Yt(+At/en,0,1),Yt(+Mr/en,0,1),Yt(+ia/en,0,1),Ka?wi(+Ka,Wi):1];if(Rt(jn))return jn}}return}}let Be=ve.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(Be){let[Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia]=Be,fa=[At||\" \",ar||\" \",Fr].join(\"\");if(fa===\" \"||fa===\" /\"||fa===\",,\"||fa===\",,,\"){let ja=[+ct,Yt(+Bt,0,100),Yt(+Mr,0,100),Wr?wi(+Wr,ia):1];if(Rt(ja))return function([Ka,Wi,gi,qi]){function en(jn){let Lo=(jn+Ka/30)%12,_s=Wi*Math.min(gi,1-gi);return gi-_s*Math.max(-1,Math.min(Lo-3,9-Lo,1))}return Ka=Pr(Ka),Wi/=100,gi/=100,[en(0),en(8),en(4),qi]}(ja)}}}(R);return J?new Jt(...J,!1):void 0}get rgb(){let{r:R,g:J,b:ve,a:Ee}=this,Be=Ee||1/0;return this.overwriteGetter(\"rgb\",[R/Be,J/Be,ve/Be,Ee])}get hcl(){return this.overwriteGetter(\"hcl\",function(R){let[J,ve,Ee,Be]=_a(R),Ve=Math.sqrt(ve*ve+Ee*Ee);return[Math.round(1e4*Ve)?Pr(Math.atan2(Ee,ve)*sr):NaN,Ve,J,Be]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",_a(this.rgb))}overwriteGetter(R,J){return Object.defineProperty(this,R,{value:J}),J}toString(){let[R,J,ve,Ee]=this.rgb;return`rgba(${[R,J,ve].map(Be=>Math.round(255*Be)).join(\",\")},${Ee})`}}Jt.black=new Jt(0,0,0,1),Jt.white=new Jt(1,1,1,1),Jt.transparent=new Jt(0,0,0,0),Jt.red=new Jt(1,0,0,1);class Or{constructor(R,J,ve){this.sensitivity=R?J?\"variant\":\"case\":J?\"accent\":\"base\",this.locale=ve,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(R,J){return this.collator.compare(R,J)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class ta{constructor(R,J,ve,Ee,Be){this.text=R,this.image=J,this.scale=ve,this.fontStack=Ee,this.textColor=Be}}class ra{constructor(R){this.sections=R}static fromString(R){return new ra([new ta(R,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(R=>R.text.length!==0||R.image&&R.image.name.length!==0)}static factory(R){return R instanceof ra?R:ra.fromString(R)}toString(){return this.sections.length===0?\"\":this.sections.map(R=>R.text).join(\"\")}}class ca{constructor(R){this.values=R.slice()}static parse(R){if(R instanceof ca)return R;if(typeof R==\"number\")return new ca([R,R,R,R]);if(Array.isArray(R)&&!(R.length<1||R.length>4)){for(let J of R)if(typeof J!=\"number\")return;switch(R.length){case 1:R=[R[0],R[0],R[0],R[0]];break;case 2:R=[R[0],R[1],R[0],R[1]];break;case 3:R=[R[0],R[1],R[2],R[1]]}return new ca(R)}}toString(){return JSON.stringify(this.values)}}let Ba=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class $a{constructor(R){this.values=R.slice()}static parse(R){if(R instanceof $a)return R;if(Array.isArray(R)&&!(R.length<1)&&R.length%2==0){for(let J=0;J=0&&W<=255&&typeof R==\"number\"&&R>=0&&R<=255&&typeof J==\"number\"&&J>=0&&J<=255?ve===void 0||typeof ve==\"number\"&&ve>=0&&ve<=1?null:`Invalid rgba value [${[W,R,J,ve].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof ve==\"number\"?[W,R,J,ve]:[W,R,J]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function pi(W){if(W===null||typeof W==\"string\"||typeof W==\"boolean\"||typeof W==\"number\"||W instanceof Jt||W instanceof Or||W instanceof ra||W instanceof ca||W instanceof $a||W instanceof Za)return!0;if(Array.isArray(W)){for(let R of W)if(!pi(R))return!1;return!0}if(typeof W==\"object\"){for(let R in W)if(!pi(W[R]))return!1;return!0}return!1}function Ia(W){if(W===null)return rt;if(typeof W==\"string\")return St;if(typeof W==\"boolean\")return kt;if(typeof W==\"number\")return Ye;if(W instanceof Jt)return qt;if(W instanceof Or)return mr;if(W instanceof ra)return qr;if(W instanceof ca)return Er;if(W instanceof $a)return xt;if(W instanceof Za)return Dr;if(Array.isArray(W)){let R=W.length,J;for(let ve of W){let Ee=Ia(ve);if(J){if(J===Ee)continue;J=Tr;break}J=Ee}return Oe(J||Tr,R)}return Gt}function rn(W){let R=typeof W;return W===null?\"\":R===\"string\"||R===\"number\"||R===\"boolean\"?String(W):W instanceof Jt||W instanceof ra||W instanceof ca||W instanceof $a||W instanceof Za?W.toString():JSON.stringify(W)}class tn{constructor(R,J){this.type=R,this.value=J}static parse(R,J){if(R.length!==2)return J.error(`'literal' expression requires exactly one argument, but found ${R.length-1} instead.`);if(!pi(R[1]))return J.error(\"invalid value\");let ve=R[1],Ee=Ia(ve),Be=J.expectedType;return Ee.kind!==\"array\"||Ee.N!==0||!Be||Be.kind!==\"array\"||typeof Be.N==\"number\"&&Be.N!==0||(Ee=Be),new tn(Ee,ve)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class cn{constructor(R){this.name=\"ExpressionEvaluationError\",this.message=R}toJSON(){return this.message}}let _t={string:St,number:Ye,boolean:kt,object:Gt};class ut{constructor(R,J){this.type=R,this.args=J}static parse(R,J){if(R.length<2)return J.error(\"Expected at least one argument.\");let ve,Ee=1,Be=R[0];if(Be===\"array\"){let ct,At;if(R.length>2){let Bt=R[1];if(typeof Bt!=\"string\"||!(Bt in _t)||Bt===\"object\")return J.error('The item type argument of \"array\" must be one of string, number, boolean',1);ct=_t[Bt],Ee++}else ct=Tr;if(R.length>3){if(R[2]!==null&&(typeof R[2]!=\"number\"||R[2]<0||R[2]!==Math.floor(R[2])))return J.error('The length argument to \"array\" must be a positive integer literal',2);At=R[2],Ee++}ve=Oe(ct,At)}else{if(!_t[Be])throw new Error(`Types doesn't contain name = ${Be}`);ve=_t[Be]}let Ve=[];for(;EeR.outputDefined())}}let Br={\"to-boolean\":kt,\"to-color\":qt,\"to-number\":Ye,\"to-string\":St};class Cr{constructor(R,J){this.type=R,this.args=J}static parse(R,J){if(R.length<2)return J.error(\"Expected at least one argument.\");let ve=R[0];if(!Br[ve])throw new Error(`Can't parse ${ve} as it is not part of the known types`);if((ve===\"to-boolean\"||ve===\"to-string\")&&R.length!==2)return J.error(\"Expected one argument.\");let Ee=Br[ve],Be=[];for(let Ve=1;Ve4?`Invalid rbga value ${JSON.stringify(J)}: expected an array containing either three or four numeric values.`:ri(J[0],J[1],J[2],J[3]),!ve))return new Jt(J[0]/255,J[1]/255,J[2]/255,J[3])}throw new cn(ve||`Could not parse color from value '${typeof J==\"string\"?J:JSON.stringify(J)}'`)}case\"padding\":{let J;for(let ve of this.args){J=ve.evaluate(R);let Ee=ca.parse(J);if(Ee)return Ee}throw new cn(`Could not parse padding from value '${typeof J==\"string\"?J:JSON.stringify(J)}'`)}case\"variableAnchorOffsetCollection\":{let J;for(let ve of this.args){J=ve.evaluate(R);let Ee=$a.parse(J);if(Ee)return Ee}throw new cn(`Could not parse variableAnchorOffsetCollection from value '${typeof J==\"string\"?J:JSON.stringify(J)}'`)}case\"number\":{let J=null;for(let ve of this.args){if(J=ve.evaluate(R),J===null)return 0;let Ee=Number(J);if(!isNaN(Ee))return Ee}throw new cn(`Could not convert ${JSON.stringify(J)} to number.`)}case\"formatted\":return ra.fromString(rn(this.args[0].evaluate(R)));case\"resolvedImage\":return Za.fromString(rn(this.args[0].evaluate(R)));default:return rn(this.args[0].evaluate(R))}}eachChild(R){this.args.forEach(R)}outputDefined(){return this.args.every(R=>R.outputDefined())}}let wr=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Rr{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?wr[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(R){let J=this._parseColorCache[R];return J||(J=this._parseColorCache[R]=Jt.parse(R)),J}}class Ur{constructor(R,J,ve=[],Ee,Be=new Ze,Ve=[]){this.registry=R,this.path=ve,this.key=ve.map(ct=>`[${ct}]`).join(\"\"),this.scope=Be,this.errors=Ve,this.expectedType=Ee,this._isConstant=J}parse(R,J,ve,Ee,Be={}){return J?this.concat(J,ve,Ee)._parse(R,Be):this._parse(R,Be)}_parse(R,J){function ve(Ee,Be,Ve){return Ve===\"assert\"?new ut(Be,[Ee]):Ve===\"coerce\"?new Cr(Be,[Ee]):Ee}if(R!==null&&typeof R!=\"string\"&&typeof R!=\"boolean\"&&typeof R!=\"number\"||(R=[\"literal\",R]),Array.isArray(R)){if(R.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let Ee=R[0];if(typeof Ee!=\"string\")return this.error(`Expression name must be a string, but found ${typeof Ee} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let Be=this.registry[Ee];if(Be){let Ve=Be.parse(R,this);if(!Ve)return null;if(this.expectedType){let ct=this.expectedType,At=Ve.type;if(ct.kind!==\"string\"&&ct.kind!==\"number\"&&ct.kind!==\"boolean\"&&ct.kind!==\"object\"&&ct.kind!==\"array\"||At.kind!==\"value\")if(ct.kind!==\"color\"&&ct.kind!==\"formatted\"&&ct.kind!==\"resolvedImage\"||At.kind!==\"value\"&&At.kind!==\"string\")if(ct.kind!==\"padding\"||At.kind!==\"value\"&&At.kind!==\"number\"&&At.kind!==\"array\")if(ct.kind!==\"variableAnchorOffsetCollection\"||At.kind!==\"value\"&&At.kind!==\"array\"){if(this.checkSubtype(ct,At))return null}else Ve=ve(Ve,ct,J.typeAnnotation||\"coerce\");else Ve=ve(Ve,ct,J.typeAnnotation||\"coerce\");else Ve=ve(Ve,ct,J.typeAnnotation||\"coerce\");else Ve=ve(Ve,ct,J.typeAnnotation||\"assert\")}if(!(Ve instanceof tn)&&Ve.type.kind!==\"resolvedImage\"&&this._isConstant(Ve)){let ct=new Rr;try{Ve=new tn(Ve.type,Ve.evaluate(ct))}catch(At){return this.error(At.message),null}}return Ve}return this.error(`Unknown expression \"${Ee}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(R===void 0?\"'undefined' value invalid. Use null instead.\":typeof R==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof R} instead.`)}concat(R,J,ve){let Ee=typeof R==\"number\"?this.path.concat(R):this.path,Be=ve?this.scope.concat(ve):this.scope;return new Ur(this.registry,this._isConstant,Ee,J||null,Be,this.errors)}error(R,...J){let ve=`${this.key}${J.map(Ee=>`[${Ee}]`).join(\"\")}`;this.errors.push(new Ce(ve,R))}checkSubtype(R,J){let ve=Le(R,J);return ve&&this.error(ve),ve}}class Hr{constructor(R,J){this.type=J.type,this.bindings=[].concat(R),this.result=J}evaluate(R){return this.result.evaluate(R)}eachChild(R){for(let J of this.bindings)R(J[1]);R(this.result)}static parse(R,J){if(R.length<4)return J.error(`Expected at least 3 arguments, but found ${R.length-1} instead.`);let ve=[];for(let Be=1;Be=ve.length)throw new cn(`Array index out of bounds: ${J} > ${ve.length-1}.`);if(J!==Math.floor(J))throw new cn(`Array index must be an integer, but found ${J} instead.`);return ve[J]}eachChild(R){R(this.index),R(this.input)}outputDefined(){return!1}}class vr{constructor(R,J){this.type=kt,this.needle=R,this.haystack=J}static parse(R,J){if(R.length!==3)return J.error(`Expected 2 arguments, but found ${R.length-1} instead.`);let ve=J.parse(R[1],1,Tr),Ee=J.parse(R[2],2,Tr);return ve&&Ee?We(ve.type,[kt,St,Ye,rt,Tr])?new vr(ve,Ee):J.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(ve.type)} instead`):null}evaluate(R){let J=this.needle.evaluate(R),ve=this.haystack.evaluate(R);if(!ve)return!1;if(!Je(J,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(Ia(J))} instead.`);if(!Je(ve,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${Ke(Ia(ve))} instead.`);return ve.indexOf(J)>=0}eachChild(R){R(this.needle),R(this.haystack)}outputDefined(){return!0}}class Ir{constructor(R,J,ve){this.type=Ye,this.needle=R,this.haystack=J,this.fromIndex=ve}static parse(R,J){if(R.length<=2||R.length>=5)return J.error(`Expected 3 or 4 arguments, but found ${R.length-1} instead.`);let ve=J.parse(R[1],1,Tr),Ee=J.parse(R[2],2,Tr);if(!ve||!Ee)return null;if(!We(ve.type,[kt,St,Ye,rt,Tr]))return J.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(ve.type)} instead`);if(R.length===4){let Be=J.parse(R[3],3,Ye);return Be?new Ir(ve,Ee,Be):null}return new Ir(ve,Ee)}evaluate(R){let J=this.needle.evaluate(R),ve=this.haystack.evaluate(R);if(!Je(J,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${Ke(Ia(J))} instead.`);let Ee;if(this.fromIndex&&(Ee=this.fromIndex.evaluate(R)),Je(ve,[\"string\"])){let Be=ve.indexOf(J,Ee);return Be===-1?-1:[...ve.slice(0,Be)].length}if(Je(ve,[\"array\"]))return ve.indexOf(J,Ee);throw new cn(`Expected second argument to be of type array or string, but found ${Ke(Ia(ve))} instead.`)}eachChild(R){R(this.needle),R(this.haystack),this.fromIndex&&R(this.fromIndex)}outputDefined(){return!1}}class va{constructor(R,J,ve,Ee,Be,Ve){this.inputType=R,this.type=J,this.input=ve,this.cases=Ee,this.outputs=Be,this.otherwise=Ve}static parse(R,J){if(R.length<5)return J.error(`Expected at least 4 arguments, but found only ${R.length-1}.`);if(R.length%2!=1)return J.error(\"Expected an even number of arguments.\");let ve,Ee;J.expectedType&&J.expectedType.kind!==\"value\"&&(Ee=J.expectedType);let Be={},Ve=[];for(let Bt=2;BtNumber.MAX_SAFE_INTEGER)return Fr.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ia==\"number\"&&Math.floor(ia)!==ia)return Fr.error(\"Numeric branch labels must be integer values.\");if(ve){if(Fr.checkSubtype(ve,Ia(ia)))return null}else ve=Ia(ia);if(Be[String(ia)]!==void 0)return Fr.error(\"Branch labels must be unique.\");Be[String(ia)]=Ve.length}let Wr=J.parse(Mr,Bt,Ee);if(!Wr)return null;Ee=Ee||Wr.type,Ve.push(Wr)}let ct=J.parse(R[1],1,Tr);if(!ct)return null;let At=J.parse(R[R.length-1],R.length-1,Ee);return At?ct.type.kind!==\"value\"&&J.concat(1).checkSubtype(ve,ct.type)?null:new va(ve,Ee,ct,Be,Ve,At):null}evaluate(R){let J=this.input.evaluate(R);return(Ia(J)===this.inputType&&this.outputs[this.cases[J]]||this.otherwise).evaluate(R)}eachChild(R){R(this.input),this.outputs.forEach(R),R(this.otherwise)}outputDefined(){return this.outputs.every(R=>R.outputDefined())&&this.otherwise.outputDefined()}}class Pa{constructor(R,J,ve){this.type=R,this.branches=J,this.otherwise=ve}static parse(R,J){if(R.length<4)return J.error(`Expected at least 3 arguments, but found only ${R.length-1}.`);if(R.length%2!=0)return J.error(\"Expected an odd number of arguments.\");let ve;J.expectedType&&J.expectedType.kind!==\"value\"&&(ve=J.expectedType);let Ee=[];for(let Ve=1;VeJ.outputDefined())&&this.otherwise.outputDefined()}}class ga{constructor(R,J,ve,Ee){this.type=R,this.input=J,this.beginIndex=ve,this.endIndex=Ee}static parse(R,J){if(R.length<=2||R.length>=5)return J.error(`Expected 3 or 4 arguments, but found ${R.length-1} instead.`);let ve=J.parse(R[1],1,Tr),Ee=J.parse(R[2],2,Ye);if(!ve||!Ee)return null;if(!We(ve.type,[Oe(Tr),St,Tr]))return J.error(`Expected first argument to be of type array or string, but found ${Ke(ve.type)} instead`);if(R.length===4){let Be=J.parse(R[3],3,Ye);return Be?new ga(ve.type,ve,Ee,Be):null}return new ga(ve.type,ve,Ee)}evaluate(R){let J=this.input.evaluate(R),ve=this.beginIndex.evaluate(R),Ee;if(this.endIndex&&(Ee=this.endIndex.evaluate(R)),Je(J,[\"string\"]))return[...J].slice(ve,Ee).join(\"\");if(Je(J,[\"array\"]))return J.slice(ve,Ee);throw new cn(`Expected first argument to be of type array or string, but found ${Ke(Ia(J))} instead.`)}eachChild(R){R(this.input),R(this.beginIndex),this.endIndex&&R(this.endIndex)}outputDefined(){return!1}}function la(W,R){let J=W.length-1,ve,Ee,Be=0,Ve=J,ct=0;for(;Be<=Ve;)if(ct=Math.floor((Be+Ve)/2),ve=W[ct],Ee=W[ct+1],ve<=R){if(ct===J||RR))throw new cn(\"Input is not a number.\");Ve=ct-1}return 0}class ba{constructor(R,J,ve){this.type=R,this.input=J,this.labels=[],this.outputs=[];for(let[Ee,Be]of ve)this.labels.push(Ee),this.outputs.push(Be)}static parse(R,J){if(R.length-1<4)return J.error(`Expected at least 4 arguments, but found only ${R.length-1}.`);if((R.length-1)%2!=0)return J.error(\"Expected an even number of arguments.\");let ve=J.parse(R[1],1,Ye);if(!ve)return null;let Ee=[],Be=null;J.expectedType&&J.expectedType.kind!==\"value\"&&(Be=J.expectedType);for(let Ve=1;Ve=ct)return J.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',Bt);let Mr=J.parse(At,ar,Be);if(!Mr)return null;Be=Be||Mr.type,Ee.push([ct,Mr])}return new ba(Be,ve,Ee)}evaluate(R){let J=this.labels,ve=this.outputs;if(J.length===1)return ve[0].evaluate(R);let Ee=this.input.evaluate(R);if(Ee<=J[0])return ve[0].evaluate(R);let Be=J.length;return Ee>=J[Be-1]?ve[Be-1].evaluate(R):ve[la(J,Ee)].evaluate(R)}eachChild(R){R(this.input);for(let J of this.outputs)R(J)}outputDefined(){return this.outputs.every(R=>R.outputDefined())}}function Ai(W){return W&&W.__esModule&&Object.prototype.hasOwnProperty.call(W,\"default\")?W.default:W}var ki=Ki;function Ki(W,R,J,ve){this.cx=3*W,this.bx=3*(J-W)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*R,this.by=3*(ve-R)-this.cy,this.ay=1-this.cy-this.by,this.p1x=W,this.p1y=R,this.p2x=J,this.p2y=ve}Ki.prototype={sampleCurveX:function(W){return((this.ax*W+this.bx)*W+this.cx)*W},sampleCurveY:function(W){return((this.ay*W+this.by)*W+this.cy)*W},sampleCurveDerivativeX:function(W){return(3*this.ax*W+2*this.bx)*W+this.cx},solveCurveX:function(W,R){if(R===void 0&&(R=1e-6),W<0)return 0;if(W>1)return 1;for(var J=W,ve=0;ve<8;ve++){var Ee=this.sampleCurveX(J)-W;if(Math.abs(Ee)Ee?Ve=J:ct=J,J=.5*(ct-Ve)+Ve;return J},solve:function(W,R){return this.sampleCurveY(this.solveCurveX(W,R))}};var Mn=Ai(ki);function wn(W,R,J){return W+J*(R-W)}function On(W,R,J){return W.map((ve,Ee)=>wn(ve,R[Ee],J))}let En={number:wn,color:function(W,R,J,ve=\"rgb\"){switch(ve){case\"rgb\":{let[Ee,Be,Ve,ct]=On(W.rgb,R.rgb,J);return new Jt(Ee,Be,Ve,ct,!1)}case\"hcl\":{let[Ee,Be,Ve,ct]=W.hcl,[At,Bt,ar,Mr]=R.hcl,Fr,Wr;if(isNaN(Ee)||isNaN(At))isNaN(Ee)?isNaN(At)?Fr=NaN:(Fr=At,Ve!==1&&Ve!==0||(Wr=Bt)):(Fr=Ee,ar!==1&&ar!==0||(Wr=Be));else{let Wi=At-Ee;At>Ee&&Wi>180?Wi-=360:At180&&(Wi+=360),Fr=Ee+J*Wi}let[ia,fa,ja,Ka]=function([Wi,gi,qi,en]){return Wi=isNaN(Wi)?0:Wi*lr,qa([qi,Math.cos(Wi)*gi,Math.sin(Wi)*gi,en])}([Fr,Wr??wn(Be,Bt,J),wn(Ve,ar,J),wn(ct,Mr,J)]);return new Jt(ia,fa,ja,Ka,!1)}case\"lab\":{let[Ee,Be,Ve,ct]=qa(On(W.lab,R.lab,J));return new Jt(Ee,Be,Ve,ct,!1)}}},array:On,padding:function(W,R,J){return new ca(On(W.values,R.values,J))},variableAnchorOffsetCollection:function(W,R,J){let ve=W.values,Ee=R.values;if(ve.length!==Ee.length)throw new cn(`Cannot interpolate values of different length. from: ${W.toString()}, to: ${R.toString()}`);let Be=[];for(let Ve=0;Vetypeof ar!=\"number\"||ar<0||ar>1))return J.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);Ee={name:\"cubic-bezier\",controlPoints:Bt}}}if(R.length-1<4)return J.error(`Expected at least 4 arguments, but found only ${R.length-1}.`);if((R.length-1)%2!=0)return J.error(\"Expected an even number of arguments.\");if(Be=J.parse(Be,2,Ye),!Be)return null;let ct=[],At=null;ve===\"interpolate-hcl\"||ve===\"interpolate-lab\"?At=qt:J.expectedType&&J.expectedType.kind!==\"value\"&&(At=J.expectedType);for(let Bt=0;Bt=ar)return J.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Fr);let ia=J.parse(Mr,Wr,At);if(!ia)return null;At=At||ia.type,ct.push([ar,ia])}return st(At,Ye)||st(At,qt)||st(At,Er)||st(At,xt)||st(At,Oe(Ye))?new ao(At,ve,Ee,Be,ct):J.error(`Type ${Ke(At)} is not interpolatable.`)}evaluate(R){let J=this.labels,ve=this.outputs;if(J.length===1)return ve[0].evaluate(R);let Ee=this.input.evaluate(R);if(Ee<=J[0])return ve[0].evaluate(R);let Be=J.length;if(Ee>=J[Be-1])return ve[Be-1].evaluate(R);let Ve=la(J,Ee),ct=ao.interpolationFactor(this.interpolation,Ee,J[Ve],J[Ve+1]),At=ve[Ve].evaluate(R),Bt=ve[Ve+1].evaluate(R);switch(this.operator){case\"interpolate\":return En[this.type.kind](At,Bt,ct);case\"interpolate-hcl\":return En.color(At,Bt,ct,\"hcl\");case\"interpolate-lab\":return En.color(At,Bt,ct,\"lab\")}}eachChild(R){R(this.input);for(let J of this.outputs)R(J)}outputDefined(){return this.outputs.every(R=>R.outputDefined())}}function Co(W,R,J,ve){let Ee=ve-J,Be=W-J;return Ee===0?0:R===1?Be/Ee:(Math.pow(R,Be)-1)/(Math.pow(R,Ee)-1)}class bo{constructor(R,J){this.type=R,this.args=J}static parse(R,J){if(R.length<2)return J.error(\"Expectected at least one argument.\");let ve=null,Ee=J.expectedType;Ee&&Ee.kind!==\"value\"&&(ve=Ee);let Be=[];for(let ct of R.slice(1)){let At=J.parse(ct,1+Be.length,ve,void 0,{typeAnnotation:\"omit\"});if(!At)return null;ve=ve||At.type,Be.push(At)}if(!ve)throw new Error(\"No output type\");let Ve=Ee&&Be.some(ct=>Le(Ee,ct.type));return new bo(Ve?Tr:ve,Be)}evaluate(R){let J,ve=null,Ee=0;for(let Be of this.args)if(Ee++,ve=Be.evaluate(R),ve&&ve instanceof Za&&!ve.available&&(J||(J=ve.name),ve=null,Ee===this.args.length&&(ve=J)),ve!==null)break;return ve}eachChild(R){this.args.forEach(R)}outputDefined(){return this.args.every(R=>R.outputDefined())}}function zs(W,R){return W===\"==\"||W===\"!=\"?R.kind===\"boolean\"||R.kind===\"string\"||R.kind===\"number\"||R.kind===\"null\"||R.kind===\"value\":R.kind===\"string\"||R.kind===\"number\"||R.kind===\"value\"}function kn(W,R,J,ve){return ve.compare(R,J)===0}function wo(W,R,J){let ve=W!==\"==\"&&W!==\"!=\";return class t7{constructor(Be,Ve,ct){this.type=kt,this.lhs=Be,this.rhs=Ve,this.collator=ct,this.hasUntypedArgument=Be.type.kind===\"value\"||Ve.type.kind===\"value\"}static parse(Be,Ve){if(Be.length!==3&&Be.length!==4)return Ve.error(\"Expected two or three arguments.\");let ct=Be[0],At=Ve.parse(Be[1],1,Tr);if(!At)return null;if(!zs(ct,At.type))return Ve.concat(1).error(`\"${ct}\" comparisons are not supported for type '${Ke(At.type)}'.`);let Bt=Ve.parse(Be[2],2,Tr);if(!Bt)return null;if(!zs(ct,Bt.type))return Ve.concat(2).error(`\"${ct}\" comparisons are not supported for type '${Ke(Bt.type)}'.`);if(At.type.kind!==Bt.type.kind&&At.type.kind!==\"value\"&&Bt.type.kind!==\"value\")return Ve.error(`Cannot compare types '${Ke(At.type)}' and '${Ke(Bt.type)}'.`);ve&&(At.type.kind===\"value\"&&Bt.type.kind!==\"value\"?At=new ut(Bt.type,[At]):At.type.kind!==\"value\"&&Bt.type.kind===\"value\"&&(Bt=new ut(At.type,[Bt])));let ar=null;if(Be.length===4){if(At.type.kind!==\"string\"&&Bt.type.kind!==\"string\"&&At.type.kind!==\"value\"&&Bt.type.kind!==\"value\")return Ve.error(\"Cannot use collator to compare non-string types.\");if(ar=Ve.parse(Be[3],3,mr),!ar)return null}return new t7(At,Bt,ar)}evaluate(Be){let Ve=this.lhs.evaluate(Be),ct=this.rhs.evaluate(Be);if(ve&&this.hasUntypedArgument){let At=Ia(Ve),Bt=Ia(ct);if(At.kind!==Bt.kind||At.kind!==\"string\"&&At.kind!==\"number\")throw new cn(`Expected arguments for \"${W}\" to be (string, string) or (number, number), but found (${At.kind}, ${Bt.kind}) instead.`)}if(this.collator&&!ve&&this.hasUntypedArgument){let At=Ia(Ve),Bt=Ia(ct);if(At.kind!==\"string\"||Bt.kind!==\"string\")return R(Be,Ve,ct)}return this.collator?J(Be,Ve,ct,this.collator.evaluate(Be)):R(Be,Ve,ct)}eachChild(Be){Be(this.lhs),Be(this.rhs),this.collator&&Be(this.collator)}outputDefined(){return!0}}}let Kn=wo(\"==\",function(W,R,J){return R===J},kn),go=wo(\"!=\",function(W,R,J){return R!==J},function(W,R,J,ve){return!kn(0,R,J,ve)}),os=wo(\"<\",function(W,R,J){return R\",function(W,R,J){return R>J},function(W,R,J,ve){return ve.compare(R,J)>0}),jo=wo(\"<=\",function(W,R,J){return R<=J},function(W,R,J,ve){return ve.compare(R,J)<=0}),Zn=wo(\">=\",function(W,R,J){return R>=J},function(W,R,J,ve){return ve.compare(R,J)>=0});class Gn{constructor(R,J,ve){this.type=mr,this.locale=ve,this.caseSensitive=R,this.diacriticSensitive=J}static parse(R,J){if(R.length!==2)return J.error(\"Expected one argument.\");let ve=R[1];if(typeof ve!=\"object\"||Array.isArray(ve))return J.error(\"Collator options argument must be an object.\");let Ee=J.parse(ve[\"case-sensitive\"]!==void 0&&ve[\"case-sensitive\"],1,kt);if(!Ee)return null;let Be=J.parse(ve[\"diacritic-sensitive\"]!==void 0&&ve[\"diacritic-sensitive\"],1,kt);if(!Be)return null;let Ve=null;return ve.locale&&(Ve=J.parse(ve.locale,1,St),!Ve)?null:new Gn(Ee,Be,Ve)}evaluate(R){return new Or(this.caseSensitive.evaluate(R),this.diacriticSensitive.evaluate(R),this.locale?this.locale.evaluate(R):null)}eachChild(R){R(this.caseSensitive),R(this.diacriticSensitive),this.locale&&R(this.locale)}outputDefined(){return!1}}class Hn{constructor(R,J,ve,Ee,Be){this.type=St,this.number=R,this.locale=J,this.currency=ve,this.minFractionDigits=Ee,this.maxFractionDigits=Be}static parse(R,J){if(R.length!==3)return J.error(\"Expected two arguments.\");let ve=J.parse(R[1],1,Ye);if(!ve)return null;let Ee=R[2];if(typeof Ee!=\"object\"||Array.isArray(Ee))return J.error(\"NumberFormat options argument must be an object.\");let Be=null;if(Ee.locale&&(Be=J.parse(Ee.locale,1,St),!Be))return null;let Ve=null;if(Ee.currency&&(Ve=J.parse(Ee.currency,1,St),!Ve))return null;let ct=null;if(Ee[\"min-fraction-digits\"]&&(ct=J.parse(Ee[\"min-fraction-digits\"],1,Ye),!ct))return null;let At=null;return Ee[\"max-fraction-digits\"]&&(At=J.parse(Ee[\"max-fraction-digits\"],1,Ye),!At)?null:new Hn(ve,Be,Ve,ct,At)}evaluate(R){return new Intl.NumberFormat(this.locale?this.locale.evaluate(R):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(R):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(R):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(R):void 0}).format(this.number.evaluate(R))}eachChild(R){R(this.number),this.locale&&R(this.locale),this.currency&&R(this.currency),this.minFractionDigits&&R(this.minFractionDigits),this.maxFractionDigits&&R(this.maxFractionDigits)}outputDefined(){return!1}}class ss{constructor(R){this.type=qr,this.sections=R}static parse(R,J){if(R.length<2)return J.error(\"Expected at least one argument.\");let ve=R[1];if(!Array.isArray(ve)&&typeof ve==\"object\")return J.error(\"First argument must be an image or text section.\");let Ee=[],Be=!1;for(let Ve=1;Ve<=R.length-1;++Ve){let ct=R[Ve];if(Be&&typeof ct==\"object\"&&!Array.isArray(ct)){Be=!1;let At=null;if(ct[\"font-scale\"]&&(At=J.parse(ct[\"font-scale\"],1,Ye),!At))return null;let Bt=null;if(ct[\"text-font\"]&&(Bt=J.parse(ct[\"text-font\"],1,Oe(St)),!Bt))return null;let ar=null;if(ct[\"text-color\"]&&(ar=J.parse(ct[\"text-color\"],1,qt),!ar))return null;let Mr=Ee[Ee.length-1];Mr.scale=At,Mr.font=Bt,Mr.textColor=ar}else{let At=J.parse(R[Ve],1,Tr);if(!At)return null;let Bt=At.type.kind;if(Bt!==\"string\"&&Bt!==\"value\"&&Bt!==\"null\"&&Bt!==\"resolvedImage\")return J.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");Be=!0,Ee.push({content:At,scale:null,font:null,textColor:null})}}return new ss(Ee)}evaluate(R){return new ra(this.sections.map(J=>{let ve=J.content.evaluate(R);return Ia(ve)===Dr?new ta(\"\",ve,null,null,null):new ta(rn(ve),null,J.scale?J.scale.evaluate(R):null,J.font?J.font.evaluate(R).join(\",\"):null,J.textColor?J.textColor.evaluate(R):null)}))}eachChild(R){for(let J of this.sections)R(J.content),J.scale&&R(J.scale),J.font&&R(J.font),J.textColor&&R(J.textColor)}outputDefined(){return!1}}class ys{constructor(R){this.type=Dr,this.input=R}static parse(R,J){if(R.length!==2)return J.error(\"Expected two arguments.\");let ve=J.parse(R[1],1,St);return ve?new ys(ve):J.error(\"No image name provided.\")}evaluate(R){let J=this.input.evaluate(R),ve=Za.fromString(J);return ve&&R.availableImages&&(ve.available=R.availableImages.indexOf(J)>-1),ve}eachChild(R){R(this.input)}outputDefined(){return!1}}class Rs{constructor(R){this.type=Ye,this.input=R}static parse(R,J){if(R.length!==2)return J.error(`Expected 1 argument, but found ${R.length-1} instead.`);let ve=J.parse(R[1],1);return ve?ve.type.kind!==\"array\"&&ve.type.kind!==\"string\"&&ve.type.kind!==\"value\"?J.error(`Expected argument of type string or array, but found ${Ke(ve.type)} instead.`):new Rs(ve):null}evaluate(R){let J=this.input.evaluate(R);if(typeof J==\"string\")return[...J].length;if(Array.isArray(J))return J.length;throw new cn(`Expected value to be of type string or array, but found ${Ke(Ia(J))} instead.`)}eachChild(R){R(this.input)}outputDefined(){return!1}}let Ko=8192;function Gi(W,R){let J=(180+W[0])/360,ve=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+W[1]*Math.PI/360)))/360,Ee=Math.pow(2,R.z);return[Math.round(J*Ee*Ko),Math.round(ve*Ee*Ko)]}function Pn(W,R){let J=Math.pow(2,R.z);return[(Ee=(W[0]/Ko+R.x)/J,360*Ee-180),(ve=(W[1]/Ko+R.y)/J,360/Math.PI*Math.atan(Math.exp((180-360*ve)*Math.PI/180))-90)];var ve,Ee}function qs(W,R){W[0]=Math.min(W[0],R[0]),W[1]=Math.min(W[1],R[1]),W[2]=Math.max(W[2],R[0]),W[3]=Math.max(W[3],R[1])}function xs(W,R){return!(W[0]<=R[0]||W[2]>=R[2]||W[1]<=R[1]||W[3]>=R[3])}function lo(W,R,J){let ve=W[0]-R[0],Ee=W[1]-R[1],Be=W[0]-J[0],Ve=W[1]-J[1];return ve*Ve-Be*Ee==0&&ve*Be<=0&&Ee*Ve<=0}function Zo(W,R,J,ve){return(Ee=[ve[0]-J[0],ve[1]-J[1]])[0]*(Be=[R[0]-W[0],R[1]-W[1]])[1]-Ee[1]*Be[0]!=0&&!(!To(W,R,J,ve)||!To(J,ve,W,R));var Ee,Be}function bs(W,R,J){for(let ve of J)for(let Ee=0;Ee(Ee=W)[1]!=(Ve=ct[At+1])[1]>Ee[1]&&Ee[0]<(Ve[0]-Be[0])*(Ee[1]-Be[1])/(Ve[1]-Be[1])+Be[0]&&(ve=!ve)}var Ee,Be,Ve;return ve}function il(W,R){for(let J of R)if(Hs(W,J))return!0;return!1}function yn(W,R){for(let J of W)if(!Hs(J,R))return!1;for(let J=0;J0&&ct<0||Ve<0&&ct>0}function Ws(W,R,J){let ve=[];for(let Ee=0;EeJ[2]){let Ee=.5*ve,Be=W[0]-J[0]>Ee?-ve:J[0]-W[0]>Ee?ve:0;Be===0&&(Be=W[0]-J[2]>Ee?-ve:J[2]-W[0]>Ee?ve:0),W[0]+=Be}qs(R,W)}function Nl(W,R,J,ve){let Ee=Math.pow(2,ve.z)*Ko,Be=[ve.x*Ko,ve.y*Ko],Ve=[];for(let ct of W)for(let At of ct){let Bt=[At.x+Be[0],At.y+Be[1]];uo(Bt,R,J,Ee),Ve.push(Bt)}return Ve}function Ks(W,R,J,ve){let Ee=Math.pow(2,ve.z)*Ko,Be=[ve.x*Ko,ve.y*Ko],Ve=[];for(let At of W){let Bt=[];for(let ar of At){let Mr=[ar.x+Be[0],ar.y+Be[1]];qs(R,Mr),Bt.push(Mr)}Ve.push(Bt)}if(R[2]-R[0]<=Ee/2){(ct=R)[0]=ct[1]=1/0,ct[2]=ct[3]=-1/0;for(let At of Ve)for(let Bt of At)uo(Bt,R,J,Ee)}var ct;return Ve}class ws{constructor(R,J){this.type=kt,this.geojson=R,this.geometries=J}static parse(R,J){if(R.length!==2)return J.error(`'within' expression requires exactly one argument, but found ${R.length-1} instead.`);if(pi(R[1])){let ve=R[1];if(ve.type===\"FeatureCollection\"){let Ee=[];for(let Be of ve.features){let{type:Ve,coordinates:ct}=Be.geometry;Ve===\"Polygon\"&&Ee.push(ct),Ve===\"MultiPolygon\"&&Ee.push(...ct)}if(Ee.length)return new ws(ve,{type:\"MultiPolygon\",coordinates:Ee})}else if(ve.type===\"Feature\"){let Ee=ve.geometry.type;if(Ee===\"Polygon\"||Ee===\"MultiPolygon\")return new ws(ve,ve.geometry)}else if(ve.type===\"Polygon\"||ve.type===\"MultiPolygon\")return new ws(ve,ve)}return J.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(R){if(R.geometry()!=null&&R.canonicalID()!=null){if(R.geometryType()===\"Point\")return function(J,ve){let Ee=[1/0,1/0,-1/0,-1/0],Be=[1/0,1/0,-1/0,-1/0],Ve=J.canonicalID();if(ve.type===\"Polygon\"){let ct=Ws(ve.coordinates,Be,Ve),At=Nl(J.geometry(),Ee,Be,Ve);if(!xs(Ee,Be))return!1;for(let Bt of At)if(!Hs(Bt,ct))return!1}if(ve.type===\"MultiPolygon\"){let ct=Ll(ve.coordinates,Be,Ve),At=Nl(J.geometry(),Ee,Be,Ve);if(!xs(Ee,Be))return!1;for(let Bt of At)if(!il(Bt,ct))return!1}return!0}(R,this.geometries);if(R.geometryType()===\"LineString\")return function(J,ve){let Ee=[1/0,1/0,-1/0,-1/0],Be=[1/0,1/0,-1/0,-1/0],Ve=J.canonicalID();if(ve.type===\"Polygon\"){let ct=Ws(ve.coordinates,Be,Ve),At=Ks(J.geometry(),Ee,Be,Ve);if(!xs(Ee,Be))return!1;for(let Bt of At)if(!yn(Bt,ct))return!1}if(ve.type===\"MultiPolygon\"){let ct=Ll(ve.coordinates,Be,Ve),At=Ks(J.geometry(),Ee,Be,Ve);if(!xs(Ee,Be))return!1;for(let Bt of At)if(!Po(Bt,ct))return!1}return!0}(R,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Cs=class{constructor(W=[],R=(J,ve)=>Jve?1:0){if(this.data=W,this.length=this.data.length,this.compare=R,this.length>0)for(let J=(this.length>>1)-1;J>=0;J--)this._down(J)}push(W){this.data.push(W),this._up(this.length++)}pop(){if(this.length===0)return;let W=this.data[0],R=this.data.pop();return--this.length>0&&(this.data[0]=R,this._down(0)),W}peek(){return this.data[0]}_up(W){let{data:R,compare:J}=this,ve=R[W];for(;W>0;){let Ee=W-1>>1,Be=R[Ee];if(J(ve,Be)>=0)break;R[W]=Be,W=Ee}R[W]=ve}_down(W){let{data:R,compare:J}=this,ve=this.length>>1,Ee=R[W];for(;W=0)break;R[W]=R[Be],W=Be}R[W]=Ee}};function Jo(W,R,J,ve,Ee){Ms(W,R,J,ve||W.length-1,Ee||lu)}function Ms(W,R,J,ve,Ee){for(;ve>J;){if(ve-J>600){var Be=ve-J+1,Ve=R-J+1,ct=Math.log(Be),At=.5*Math.exp(2*ct/3),Bt=.5*Math.sqrt(ct*At*(Be-At)/Be)*(Ve-Be/2<0?-1:1);Ms(W,R,Math.max(J,Math.floor(R-Ve*At/Be+Bt)),Math.min(ve,Math.floor(R+(Be-Ve)*At/Be+Bt)),Ee)}var ar=W[R],Mr=J,Fr=ve;for(Ul(W,J,R),Ee(W[ve],ar)>0&&Ul(W,J,ve);Mr0;)Fr--}Ee(W[J],ar)===0?Ul(W,J,Fr):Ul(W,++Fr,ve),Fr<=R&&(J=Fr+1),R<=Fr&&(ve=Fr-1)}}function Ul(W,R,J){var ve=W[R];W[R]=W[J],W[J]=ve}function lu(W,R){return WR?1:0}function Tc(W,R){if(W.length<=1)return[W];let J=[],ve,Ee;for(let Be of W){let Ve=Sf(Be);Ve!==0&&(Be.area=Math.abs(Ve),Ee===void 0&&(Ee=Ve<0),Ee===Ve<0?(ve&&J.push(ve),ve=[Be]):ve.push(Be))}if(ve&&J.push(ve),R>1)for(let Be=0;Be1?(Bt=R[At+1][0],ar=R[At+1][1]):Wr>0&&(Bt+=Mr/this.kx*Wr,ar+=Fr/this.ky*Wr)),Mr=this.wrap(J[0]-Bt)*this.kx,Fr=(J[1]-ar)*this.ky;let ia=Mr*Mr+Fr*Fr;ia180;)R-=360;return R}}function uu(W,R){return R[0]-W[0]}function Pl(W){return W[1]-W[0]+1}function ic(W,R){return W[1]>=W[0]&&W[1]W[1])return[null,null];let J=Pl(W);if(R){if(J===2)return[W,null];let Ee=Math.floor(J/2);return[[W[0],W[0]+Ee],[W[0]+Ee,W[1]]]}if(J===1)return[W,null];let ve=Math.floor(J/2)-1;return[[W[0],W[0]+ve],[W[0]+ve+1,W[1]]]}function nl(W,R){if(!ic(R,W.length))return[1/0,1/0,-1/0,-1/0];let J=[1/0,1/0,-1/0,-1/0];for(let ve=R[0];ve<=R[1];++ve)qs(J,W[ve]);return J}function vl(W){let R=[1/0,1/0,-1/0,-1/0];for(let J of W)for(let ve of J)qs(R,ve);return R}function Ts(W){return W[0]!==-1/0&&W[1]!==-1/0&&W[2]!==1/0&&W[3]!==1/0}function Xs(W,R,J){if(!Ts(W)||!Ts(R))return NaN;let ve=0,Ee=0;return W[2]R[2]&&(ve=W[0]-R[2]),W[1]>R[3]&&(Ee=W[1]-R[3]),W[3]=ve)return ve;if(xs(Ee,Be)){if(bh(W,R))return 0}else if(bh(R,W))return 0;let Ve=1/0;for(let ct of W)for(let At=0,Bt=ct.length,ar=Bt-1;At0;){let At=Ve.pop();if(At[0]>=Be)continue;let Bt=At[1],ar=R?50:100;if(Pl(Bt)<=ar){if(!ic(Bt,W.length))return NaN;if(R){let Mr=us(W,Bt,J,ve);if(isNaN(Mr)||Mr===0)return Mr;Be=Math.min(Be,Mr)}else for(let Mr=Bt[0];Mr<=Bt[1];++Mr){let Fr=xh(W[Mr],J,ve);if(Be=Math.min(Be,Fr),Be===0)return 0}}else{let Mr=Ou(Bt,R);to(Ve,Be,ve,W,ct,Mr[0]),to(Ve,Be,ve,W,ct,Mr[1])}}return Be}function ql(W,R,J,ve,Ee,Be=1/0){let Ve=Math.min(Be,Ee.distance(W[0],J[0]));if(Ve===0)return Ve;let ct=new Cs([[0,[0,W.length-1],[0,J.length-1]]],uu);for(;ct.length>0;){let At=ct.pop();if(At[0]>=Ve)continue;let Bt=At[1],ar=At[2],Mr=R?50:100,Fr=ve?50:100;if(Pl(Bt)<=Mr&&Pl(ar)<=Fr){if(!ic(Bt,W.length)&&ic(ar,J.length))return NaN;let Wr;if(R&&ve)Wr=qu(W,Bt,J,ar,Ee),Ve=Math.min(Ve,Wr);else if(R&&!ve){let ia=W.slice(Bt[0],Bt[1]+1);for(let fa=ar[0];fa<=ar[1];++fa)if(Wr=nc(J[fa],ia,Ee),Ve=Math.min(Ve,Wr),Ve===0)return Ve}else if(!R&&ve){let ia=J.slice(ar[0],ar[1]+1);for(let fa=Bt[0];fa<=Bt[1];++fa)if(Wr=nc(W[fa],ia,Ee),Ve=Math.min(Ve,Wr),Ve===0)return Ve}else Wr=fl(W,Bt,J,ar,Ee),Ve=Math.min(Ve,Wr)}else{let Wr=Ou(Bt,R),ia=Ou(ar,ve);Xc(ct,Ve,Ee,W,J,Wr[0],ia[0]),Xc(ct,Ve,Ee,W,J,Wr[0],ia[1]),Xc(ct,Ve,Ee,W,J,Wr[1],ia[0]),Xc(ct,Ve,Ee,W,J,Wr[1],ia[1])}}return Ve}function Mf(W){return W.type===\"MultiPolygon\"?W.coordinates.map(R=>({type:\"Polygon\",coordinates:R})):W.type===\"MultiLineString\"?W.coordinates.map(R=>({type:\"LineString\",coordinates:R})):W.type===\"MultiPoint\"?W.coordinates.map(R=>({type:\"Point\",coordinates:R})):[W]}class Ac{constructor(R,J){this.type=Ye,this.geojson=R,this.geometries=J}static parse(R,J){if(R.length!==2)return J.error(`'distance' expression requires exactly one argument, but found ${R.length-1} instead.`);if(pi(R[1])){let ve=R[1];if(ve.type===\"FeatureCollection\")return new Ac(ve,ve.features.map(Ee=>Mf(Ee.geometry)).flat());if(ve.type===\"Feature\")return new Ac(ve,Mf(ve.geometry));if(\"type\"in ve&&\"coordinates\"in ve)return new Ac(ve,Mf(ve))}return J.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(R){if(R.geometry()!=null&&R.canonicalID()!=null){if(R.geometryType()===\"Point\")return function(J,ve){let Ee=J.geometry(),Be=Ee.flat().map(At=>Pn([At.x,At.y],J.canonical));if(Ee.length===0)return NaN;let Ve=new Wc(Be[0][1]),ct=1/0;for(let At of ve){switch(At.type){case\"Point\":ct=Math.min(ct,ql(Be,!1,[At.coordinates],!1,Ve,ct));break;case\"LineString\":ct=Math.min(ct,ql(Be,!1,At.coordinates,!0,Ve,ct));break;case\"Polygon\":ct=Math.min(ct,Vu(Be,!1,At.coordinates,Ve,ct))}if(ct===0)return ct}return ct}(R,this.geometries);if(R.geometryType()===\"LineString\")return function(J,ve){let Ee=J.geometry(),Be=Ee.flat().map(At=>Pn([At.x,At.y],J.canonical));if(Ee.length===0)return NaN;let Ve=new Wc(Be[0][1]),ct=1/0;for(let At of ve){switch(At.type){case\"Point\":ct=Math.min(ct,ql(Be,!0,[At.coordinates],!1,Ve,ct));break;case\"LineString\":ct=Math.min(ct,ql(Be,!0,At.coordinates,!0,Ve,ct));break;case\"Polygon\":ct=Math.min(ct,Vu(Be,!0,At.coordinates,Ve,ct))}if(ct===0)return ct}return ct}(R,this.geometries);if(R.geometryType()===\"Polygon\")return function(J,ve){let Ee=J.geometry();if(Ee.length===0||Ee[0].length===0)return NaN;let Be=Tc(Ee,0).map(At=>At.map(Bt=>Bt.map(ar=>Pn([ar.x,ar.y],J.canonical)))),Ve=new Wc(Be[0][0][0][1]),ct=1/0;for(let At of ve)for(let Bt of Be){switch(At.type){case\"Point\":ct=Math.min(ct,Vu([At.coordinates],!1,Bt,Ve,ct));break;case\"LineString\":ct=Math.min(ct,Vu(At.coordinates,!0,Bt,Ve,ct));break;case\"Polygon\":ct=Math.min(ct,Ls(Bt,At.coordinates,Ve,ct))}if(ct===0)return ct}return ct}(R,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let nf={\"==\":Kn,\"!=\":go,\">\":gs,\"<\":os,\">=\":Zn,\"<=\":jo,array:ut,at:Kt,boolean:ut,case:Pa,coalesce:bo,collator:Gn,format:ss,image:ys,in:vr,\"index-of\":Ir,interpolate:ao,\"interpolate-hcl\":ao,\"interpolate-lab\":ao,length:Rs,let:Hr,literal:tn,match:va,number:ut,\"number-format\":Hn,object:ut,slice:ga,step:ba,string:ut,\"to-boolean\":Cr,\"to-color\":Cr,\"to-number\":Cr,\"to-string\":Cr,var:gt,within:ws,distance:Ac};class Ql{constructor(R,J,ve,Ee){this.name=R,this.type=J,this._evaluate=ve,this.args=Ee}evaluate(R){return this._evaluate(R,this.args)}eachChild(R){this.args.forEach(R)}outputDefined(){return!1}static parse(R,J){let ve=R[0],Ee=Ql.definitions[ve];if(!Ee)return J.error(`Unknown expression \"${ve}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let Be=Array.isArray(Ee)?Ee[0]:Ee.type,Ve=Array.isArray(Ee)?[[Ee[1],Ee[2]]]:Ee.overloads,ct=Ve.filter(([Bt])=>!Array.isArray(Bt)||Bt.length===R.length-1),At=null;for(let[Bt,ar]of ct){At=new Ur(J.registry,Bf,J.path,null,J.scope);let Mr=[],Fr=!1;for(let Wr=1;Wr{return Fr=Mr,Array.isArray(Fr)?`(${Fr.map(Ke).join(\", \")})`:`(${Ke(Fr.type)}...)`;var Fr}).join(\" | \"),ar=[];for(let Mr=1;Mr{J=R?J&&Bf(ve):J&&ve instanceof tn}),!!J&&Nf(W)&&Ef(W,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Nf(W){if(W instanceof Ql&&(W.name===\"get\"&&W.args.length===1||W.name===\"feature-state\"||W.name===\"has\"&&W.args.length===1||W.name===\"properties\"||W.name===\"geometry-type\"||W.name===\"id\"||/^filter-/.test(W.name))||W instanceof ws||W instanceof Ac)return!1;let R=!0;return W.eachChild(J=>{R&&!Nf(J)&&(R=!1)}),R}function Gu(W){if(W instanceof Ql&&W.name===\"feature-state\")return!1;let R=!0;return W.eachChild(J=>{R&&!Gu(J)&&(R=!1)}),R}function Ef(W,R){if(W instanceof Ql&&R.indexOf(W.name)>=0)return!1;let J=!0;return W.eachChild(ve=>{J&&!Ef(ve,R)&&(J=!1)}),J}function oc(W){return{result:\"success\",value:W}}function Zc(W){return{result:\"error\",value:W}}function eu(W){return W[\"property-type\"]===\"data-driven\"||W[\"property-type\"]===\"cross-faded-data-driven\"}function qc(W){return!!W.expression&&W.expression.parameters.indexOf(\"zoom\")>-1}function Sc(W){return!!W.expression&&W.expression.interpolated}function Zs(W){return W instanceof Number?\"number\":W instanceof String?\"string\":W instanceof Boolean?\"boolean\":Array.isArray(W)?\"array\":W===null?\"null\":typeof W}function kf(W){return typeof W==\"object\"&&W!==null&&!Array.isArray(W)}function fh(W){return W}function Uf(W,R){let J=R.type===\"color\",ve=W.stops&&typeof W.stops[0][0]==\"object\",Ee=ve||!(ve||W.property!==void 0),Be=W.type||(Sc(R)?\"exponential\":\"interval\");if(J||R.type===\"padding\"){let ar=J?Jt.parse:ca.parse;(W=ne({},W)).stops&&(W.stops=W.stops.map(Mr=>[Mr[0],ar(Mr[1])])),W.default=ar(W.default?W.default:R.default)}if(W.colorSpace&&(Ve=W.colorSpace)!==\"rgb\"&&Ve!==\"hcl\"&&Ve!==\"lab\")throw new Error(`Unknown color space: \"${W.colorSpace}\"`);var Ve;let ct,At,Bt;if(Be===\"exponential\")ct=jf;else if(Be===\"interval\")ct=Cu;else if(Be===\"categorical\"){ct=$f,At=Object.create(null);for(let ar of W.stops)At[ar[0]]=ar[1];Bt=typeof W.stops[0][0]}else{if(Be!==\"identity\")throw new Error(`Unknown function type \"${Be}\"`);ct=ml}if(ve){let ar={},Mr=[];for(let ia=0;iaia[0]),evaluate:({zoom:ia},fa)=>jf({stops:Fr,base:W.base},R,ia).evaluate(ia,fa)}}if(Ee){let ar=Be===\"exponential\"?{name:\"exponential\",base:W.base!==void 0?W.base:1}:null;return{kind:\"camera\",interpolationType:ar,interpolationFactor:ao.interpolationFactor.bind(void 0,ar),zoomStops:W.stops.map(Mr=>Mr[0]),evaluate:({zoom:Mr})=>ct(W,R,Mr,At,Bt)}}return{kind:\"source\",evaluate(ar,Mr){let Fr=Mr&&Mr.properties?Mr.properties[W.property]:void 0;return Fr===void 0?Yc(W.default,R.default):ct(W,R,Fr,At,Bt)}}}function Yc(W,R,J){return W!==void 0?W:R!==void 0?R:J!==void 0?J:void 0}function $f(W,R,J,ve,Ee){return Yc(typeof J===Ee?ve[J]:void 0,W.default,R.default)}function Cu(W,R,J){if(Zs(J)!==\"number\")return Yc(W.default,R.default);let ve=W.stops.length;if(ve===1||J<=W.stops[0][0])return W.stops[0][1];if(J>=W.stops[ve-1][0])return W.stops[ve-1][1];let Ee=la(W.stops.map(Be=>Be[0]),J);return W.stops[Ee][1]}function jf(W,R,J){let ve=W.base!==void 0?W.base:1;if(Zs(J)!==\"number\")return Yc(W.default,R.default);let Ee=W.stops.length;if(Ee===1||J<=W.stops[0][0])return W.stops[0][1];if(J>=W.stops[Ee-1][0])return W.stops[Ee-1][1];let Be=la(W.stops.map(ar=>ar[0]),J),Ve=function(ar,Mr,Fr,Wr){let ia=Wr-Fr,fa=ar-Fr;return ia===0?0:Mr===1?fa/ia:(Math.pow(Mr,fa)-1)/(Math.pow(Mr,ia)-1)}(J,ve,W.stops[Be][0],W.stops[Be+1][0]),ct=W.stops[Be][1],At=W.stops[Be+1][1],Bt=En[R.type]||fh;return typeof ct.evaluate==\"function\"?{evaluate(...ar){let Mr=ct.evaluate.apply(void 0,ar),Fr=At.evaluate.apply(void 0,ar);if(Mr!==void 0&&Fr!==void 0)return Bt(Mr,Fr,Ve,W.colorSpace)}}:Bt(ct,At,Ve,W.colorSpace)}function ml(W,R,J){switch(R.type){case\"color\":J=Jt.parse(J);break;case\"formatted\":J=ra.fromString(J.toString());break;case\"resolvedImage\":J=Za.fromString(J.toString());break;case\"padding\":J=ca.parse(J);break;default:Zs(J)===R.type||R.type===\"enum\"&&R.values[J]||(J=void 0)}return Yc(J,W.default,R.default)}Ql.register(nf,{error:[{kind:\"error\"},[St],(W,[R])=>{throw new cn(R.evaluate(W))}],typeof:[St,[Tr],(W,[R])=>Ke(Ia(R.evaluate(W)))],\"to-rgba\":[Oe(Ye,4),[qt],(W,[R])=>{let[J,ve,Ee,Be]=R.evaluate(W).rgb;return[255*J,255*ve,255*Ee,Be]}],rgb:[qt,[Ye,Ye,Ye],Jf],rgba:[qt,[Ye,Ye,Ye,Ye],Jf],has:{type:kt,overloads:[[[St],(W,[R])=>Of(R.evaluate(W),W.properties())],[[St,Gt],(W,[R,J])=>Of(R.evaluate(W),J.evaluate(W))]]},get:{type:Tr,overloads:[[[St],(W,[R])=>of(R.evaluate(W),W.properties())],[[St,Gt],(W,[R,J])=>of(R.evaluate(W),J.evaluate(W))]]},\"feature-state\":[Tr,[St],(W,[R])=>of(R.evaluate(W),W.featureState||{})],properties:[Gt,[],W=>W.properties()],\"geometry-type\":[St,[],W=>W.geometryType()],id:[Tr,[],W=>W.id()],zoom:[Ye,[],W=>W.globals.zoom],\"heatmap-density\":[Ye,[],W=>W.globals.heatmapDensity||0],\"line-progress\":[Ye,[],W=>W.globals.lineProgress||0],accumulated:[Tr,[],W=>W.globals.accumulated===void 0?null:W.globals.accumulated],\"+\":[Ye,jc(Ye),(W,R)=>{let J=0;for(let ve of R)J+=ve.evaluate(W);return J}],\"*\":[Ye,jc(Ye),(W,R)=>{let J=1;for(let ve of R)J*=ve.evaluate(W);return J}],\"-\":{type:Ye,overloads:[[[Ye,Ye],(W,[R,J])=>R.evaluate(W)-J.evaluate(W)],[[Ye],(W,[R])=>-R.evaluate(W)]]},\"/\":[Ye,[Ye,Ye],(W,[R,J])=>R.evaluate(W)/J.evaluate(W)],\"%\":[Ye,[Ye,Ye],(W,[R,J])=>R.evaluate(W)%J.evaluate(W)],ln2:[Ye,[],()=>Math.LN2],pi:[Ye,[],()=>Math.PI],e:[Ye,[],()=>Math.E],\"^\":[Ye,[Ye,Ye],(W,[R,J])=>Math.pow(R.evaluate(W),J.evaluate(W))],sqrt:[Ye,[Ye],(W,[R])=>Math.sqrt(R.evaluate(W))],log10:[Ye,[Ye],(W,[R])=>Math.log(R.evaluate(W))/Math.LN10],ln:[Ye,[Ye],(W,[R])=>Math.log(R.evaluate(W))],log2:[Ye,[Ye],(W,[R])=>Math.log(R.evaluate(W))/Math.LN2],sin:[Ye,[Ye],(W,[R])=>Math.sin(R.evaluate(W))],cos:[Ye,[Ye],(W,[R])=>Math.cos(R.evaluate(W))],tan:[Ye,[Ye],(W,[R])=>Math.tan(R.evaluate(W))],asin:[Ye,[Ye],(W,[R])=>Math.asin(R.evaluate(W))],acos:[Ye,[Ye],(W,[R])=>Math.acos(R.evaluate(W))],atan:[Ye,[Ye],(W,[R])=>Math.atan(R.evaluate(W))],min:[Ye,jc(Ye),(W,R)=>Math.min(...R.map(J=>J.evaluate(W)))],max:[Ye,jc(Ye),(W,R)=>Math.max(...R.map(J=>J.evaluate(W)))],abs:[Ye,[Ye],(W,[R])=>Math.abs(R.evaluate(W))],round:[Ye,[Ye],(W,[R])=>{let J=R.evaluate(W);return J<0?-Math.round(-J):Math.round(J)}],floor:[Ye,[Ye],(W,[R])=>Math.floor(R.evaluate(W))],ceil:[Ye,[Ye],(W,[R])=>Math.ceil(R.evaluate(W))],\"filter-==\":[kt,[St,Tr],(W,[R,J])=>W.properties()[R.value]===J.value],\"filter-id-==\":[kt,[Tr],(W,[R])=>W.id()===R.value],\"filter-type-==\":[kt,[St],(W,[R])=>W.geometryType()===R.value],\"filter-<\":[kt,[St,Tr],(W,[R,J])=>{let ve=W.properties()[R.value],Ee=J.value;return typeof ve==typeof Ee&&ve{let J=W.id(),ve=R.value;return typeof J==typeof ve&&J\":[kt,[St,Tr],(W,[R,J])=>{let ve=W.properties()[R.value],Ee=J.value;return typeof ve==typeof Ee&&ve>Ee}],\"filter-id->\":[kt,[Tr],(W,[R])=>{let J=W.id(),ve=R.value;return typeof J==typeof ve&&J>ve}],\"filter-<=\":[kt,[St,Tr],(W,[R,J])=>{let ve=W.properties()[R.value],Ee=J.value;return typeof ve==typeof Ee&&ve<=Ee}],\"filter-id-<=\":[kt,[Tr],(W,[R])=>{let J=W.id(),ve=R.value;return typeof J==typeof ve&&J<=ve}],\"filter->=\":[kt,[St,Tr],(W,[R,J])=>{let ve=W.properties()[R.value],Ee=J.value;return typeof ve==typeof Ee&&ve>=Ee}],\"filter-id->=\":[kt,[Tr],(W,[R])=>{let J=W.id(),ve=R.value;return typeof J==typeof ve&&J>=ve}],\"filter-has\":[kt,[Tr],(W,[R])=>R.value in W.properties()],\"filter-has-id\":[kt,[],W=>W.id()!==null&&W.id()!==void 0],\"filter-type-in\":[kt,[Oe(St)],(W,[R])=>R.value.indexOf(W.geometryType())>=0],\"filter-id-in\":[kt,[Oe(Tr)],(W,[R])=>R.value.indexOf(W.id())>=0],\"filter-in-small\":[kt,[St,Oe(Tr)],(W,[R,J])=>J.value.indexOf(W.properties()[R.value])>=0],\"filter-in-large\":[kt,[St,Oe(Tr)],(W,[R,J])=>function(ve,Ee,Be,Ve){for(;Be<=Ve;){let ct=Be+Ve>>1;if(Ee[ct]===ve)return!0;Ee[ct]>ve?Ve=ct-1:Be=ct+1}return!1}(W.properties()[R.value],J.value,0,J.value.length-1)],all:{type:kt,overloads:[[[kt,kt],(W,[R,J])=>R.evaluate(W)&&J.evaluate(W)],[jc(kt),(W,R)=>{for(let J of R)if(!J.evaluate(W))return!1;return!0}]]},any:{type:kt,overloads:[[[kt,kt],(W,[R,J])=>R.evaluate(W)||J.evaluate(W)],[jc(kt),(W,R)=>{for(let J of R)if(J.evaluate(W))return!0;return!1}]]},\"!\":[kt,[kt],(W,[R])=>!R.evaluate(W)],\"is-supported-script\":[kt,[St],(W,[R])=>{let J=W.globals&&W.globals.isSupportedScript;return!J||J(R.evaluate(W))}],upcase:[St,[St],(W,[R])=>R.evaluate(W).toUpperCase()],downcase:[St,[St],(W,[R])=>R.evaluate(W).toLowerCase()],concat:[St,jc(Tr),(W,R)=>R.map(J=>rn(J.evaluate(W))).join(\"\")],\"resolved-locale\":[St,[mr],(W,[R])=>R.evaluate(W).resolvedLocale()]});class Lu{constructor(R,J){var ve;this.expression=R,this._warningHistory={},this._evaluator=new Rr,this._defaultValue=J?(ve=J).type===\"color\"&&kf(ve.default)?new Jt(0,0,0,0):ve.type===\"color\"?Jt.parse(ve.default)||null:ve.type===\"padding\"?ca.parse(ve.default)||null:ve.type===\"variableAnchorOffsetCollection\"?$a.parse(ve.default)||null:ve.default===void 0?null:ve.default:null,this._enumValues=J&&J.type===\"enum\"?J.values:null}evaluateWithoutErrorHandling(R,J,ve,Ee,Be,Ve){return this._evaluator.globals=R,this._evaluator.feature=J,this._evaluator.featureState=ve,this._evaluator.canonical=Ee,this._evaluator.availableImages=Be||null,this._evaluator.formattedSection=Ve,this.expression.evaluate(this._evaluator)}evaluate(R,J,ve,Ee,Be,Ve){this._evaluator.globals=R,this._evaluator.feature=J||null,this._evaluator.featureState=ve||null,this._evaluator.canonical=Ee,this._evaluator.availableImages=Be||null,this._evaluator.formattedSection=Ve||null;try{let ct=this.expression.evaluate(this._evaluator);if(ct==null||typeof ct==\"number\"&&ct!=ct)return this._defaultValue;if(this._enumValues&&!(ct in this._enumValues))throw new cn(`Expected value to be one of ${Object.keys(this._enumValues).map(At=>JSON.stringify(At)).join(\", \")}, but found ${JSON.stringify(ct)} instead.`);return ct}catch(ct){return this._warningHistory[ct.message]||(this._warningHistory[ct.message]=!0,typeof console<\"u\"&&console.warn(ct.message)),this._defaultValue}}}function Mc(W){return Array.isArray(W)&&W.length>0&&typeof W[0]==\"string\"&&W[0]in nf}function ol(W,R){let J=new Ur(nf,Bf,[],R?function(Ee){let Be={color:qt,string:St,number:Ye,enum:St,boolean:kt,formatted:qr,padding:Er,resolvedImage:Dr,variableAnchorOffsetCollection:xt};return Ee.type===\"array\"?Oe(Be[Ee.value]||Tr,Ee.length):Be[Ee.type]}(R):void 0),ve=J.parse(W,void 0,void 0,void 0,R&&R.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return ve?oc(new Lu(ve,R)):Zc(J.errors)}class vc{constructor(R,J){this.kind=R,this._styleExpression=J,this.isStateDependent=R!==\"constant\"&&!Gu(J.expression)}evaluateWithoutErrorHandling(R,J,ve,Ee,Be,Ve){return this._styleExpression.evaluateWithoutErrorHandling(R,J,ve,Ee,Be,Ve)}evaluate(R,J,ve,Ee,Be,Ve){return this._styleExpression.evaluate(R,J,ve,Ee,Be,Ve)}}class yu{constructor(R,J,ve,Ee){this.kind=R,this.zoomStops=ve,this._styleExpression=J,this.isStateDependent=R!==\"camera\"&&!Gu(J.expression),this.interpolationType=Ee}evaluateWithoutErrorHandling(R,J,ve,Ee,Be,Ve){return this._styleExpression.evaluateWithoutErrorHandling(R,J,ve,Ee,Be,Ve)}evaluate(R,J,ve,Ee,Be,Ve){return this._styleExpression.evaluate(R,J,ve,Ee,Be,Ve)}interpolationFactor(R,J,ve){return this.interpolationType?ao.interpolationFactor(this.interpolationType,R,J,ve):0}}function Tu(W,R){let J=ol(W,R);if(J.result===\"error\")return J;let ve=J.value.expression,Ee=Nf(ve);if(!Ee&&!eu(R))return Zc([new Ce(\"\",\"data expressions not supported\")]);let Be=Ef(ve,[\"zoom\"]);if(!Be&&!qc(R))return Zc([new Ce(\"\",\"zoom expressions not supported\")]);let Ve=qf(ve);return Ve||Be?Ve instanceof Ce?Zc([Ve]):Ve instanceof ao&&!Sc(R)?Zc([new Ce(\"\",'\"interpolate\" expressions cannot be used with this property')]):oc(Ve?new yu(Ee?\"camera\":\"composite\",J.value,Ve.labels,Ve instanceof ao?Ve.interpolation:void 0):new vc(Ee?\"constant\":\"source\",J.value)):Zc([new Ce(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Ml{constructor(R,J){this._parameters=R,this._specification=J,ne(this,Uf(this._parameters,this._specification))}static deserialize(R){return new Ml(R._parameters,R._specification)}static serialize(R){return{_parameters:R._parameters,_specification:R._specification}}}function qf(W){let R=null;if(W instanceof Hr)R=qf(W.result);else if(W instanceof bo){for(let J of W.args)if(R=qf(J),R)break}else(W instanceof ba||W instanceof ao)&&W.input instanceof Ql&&W.input.name===\"zoom\"&&(R=W);return R instanceof Ce||W.eachChild(J=>{let ve=qf(J);ve instanceof Ce?R=ve:!R&&ve?R=new Ce(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):R&&ve&&R!==ve&&(R=new Ce(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),R}function Qf(W){if(W===!0||W===!1)return!0;if(!Array.isArray(W)||W.length===0)return!1;switch(W[0]){case\"has\":return W.length>=2&&W[1]!==\"$id\"&&W[1]!==\"$type\";case\"in\":return W.length>=3&&(typeof W[1]!=\"string\"||Array.isArray(W[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return W.length!==3||Array.isArray(W[1])||Array.isArray(W[2]);case\"any\":case\"all\":for(let R of W.slice(1))if(!Qf(R)&&typeof R!=\"boolean\")return!1;return!0;default:return!0}}let Bu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Ec(W){if(W==null)return{filter:()=>!0,needGeometry:!1};Qf(W)||(W=sf(W));let R=ol(W,Bu);if(R.result===\"error\")throw new Error(R.value.map(J=>`${J.key}: ${J.message}`).join(\", \"));return{filter:(J,ve,Ee)=>R.value.evaluate(J,ve,{},Ee),needGeometry:Lh(W)}}function mc(W,R){return WR?1:0}function Lh(W){if(!Array.isArray(W))return!1;if(W[0]===\"within\"||W[0]===\"distance\")return!0;for(let R=1;R\"||R===\"<=\"||R===\">=\"?vf(W[1],W[2],R):R===\"any\"?(J=W.slice(1),[\"any\"].concat(J.map(sf))):R===\"all\"?[\"all\"].concat(W.slice(1).map(sf)):R===\"none\"?[\"all\"].concat(W.slice(1).map(sf).map(iu)):R===\"in\"?Nu(W[1],W.slice(2)):R===\"!in\"?iu(Nu(W[1],W.slice(2))):R===\"has\"?lf(W[1]):R!==\"!has\"||iu(lf(W[1]));var J}function vf(W,R,J){switch(W){case\"$type\":return[`filter-type-${J}`,R];case\"$id\":return[`filter-id-${J}`,R];default:return[`filter-${J}`,W,R]}}function Nu(W,R){if(R.length===0)return!1;switch(W){case\"$type\":return[\"filter-type-in\",[\"literal\",R]];case\"$id\":return[\"filter-id-in\",[\"literal\",R]];default:return R.length>200&&!R.some(J=>typeof J!=typeof R[0])?[\"filter-in-large\",W,[\"literal\",R.sort(mc)]]:[\"filter-in-small\",W,[\"literal\",R]]}}function lf(W){switch(W){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",W]}}function iu(W){return[\"!\",W]}function Kc(W){let R=typeof W;if(R===\"number\"||R===\"boolean\"||R===\"string\"||W==null)return JSON.stringify(W);if(Array.isArray(W)){let Ee=\"[\";for(let Be of W)Ee+=`${Kc(Be)},`;return`${Ee}]`}let J=Object.keys(W).sort(),ve=\"{\";for(let Ee=0;Eeve.maximum?[new le(R,J,`${J} is greater than the maximum value ${ve.maximum}`)]:[]}function uf(W){let R=W.valueSpec,J=sl(W.value.type),ve,Ee,Be,Ve={},ct=J!==\"categorical\"&&W.value.property===void 0,At=!ct,Bt=Zs(W.value.stops)===\"array\"&&Zs(W.value.stops[0])===\"array\"&&Zs(W.value.stops[0][0])===\"object\",ar=Pu({key:W.key,value:W.value,valueSpec:W.styleSpec.function,validateSpec:W.validateSpec,style:W.style,styleSpec:W.styleSpec,objectElementValidators:{stops:function(Wr){if(J===\"identity\")return[new le(Wr.key,Wr.value,'identity function may not have a \"stops\" property')];let ia=[],fa=Wr.value;return ia=ia.concat(Cf({key:Wr.key,value:fa,valueSpec:Wr.valueSpec,validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec,arrayElementValidator:Mr})),Zs(fa)===\"array\"&&fa.length===0&&ia.push(new le(Wr.key,fa,\"array must have at least one stop\")),ia},default:function(Wr){return Wr.validateSpec({key:Wr.key,value:Wr.value,valueSpec:R,validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec})}}});return J===\"identity\"&&ct&&ar.push(new le(W.key,W.value,'missing required property \"property\"')),J===\"identity\"||W.value.stops||ar.push(new le(W.key,W.value,'missing required property \"stops\"')),J===\"exponential\"&&W.valueSpec.expression&&!Sc(W.valueSpec)&&ar.push(new le(W.key,W.value,\"exponential functions not supported\")),W.styleSpec.$version>=8&&(At&&!eu(W.valueSpec)?ar.push(new le(W.key,W.value,\"property functions not supported\")):ct&&!qc(W.valueSpec)&&ar.push(new le(W.key,W.value,\"zoom functions not supported\"))),J!==\"categorical\"&&!Bt||W.value.property!==void 0||ar.push(new le(W.key,W.value,'\"property\" property is required')),ar;function Mr(Wr){let ia=[],fa=Wr.value,ja=Wr.key;if(Zs(fa)!==\"array\")return[new le(ja,fa,`array expected, ${Zs(fa)} found`)];if(fa.length!==2)return[new le(ja,fa,`array length 2 expected, length ${fa.length} found`)];if(Bt){if(Zs(fa[0])!==\"object\")return[new le(ja,fa,`object expected, ${Zs(fa[0])} found`)];if(fa[0].zoom===void 0)return[new le(ja,fa,\"object stop key must have zoom\")];if(fa[0].value===void 0)return[new le(ja,fa,\"object stop key must have value\")];if(Be&&Be>sl(fa[0].zoom))return[new le(ja,fa[0].zoom,\"stop zoom values must appear in ascending order\")];sl(fa[0].zoom)!==Be&&(Be=sl(fa[0].zoom),Ee=void 0,Ve={}),ia=ia.concat(Pu({key:`${ja}[0]`,value:fa[0],valueSpec:{zoom:{}},validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec,objectElementValidators:{zoom:hl,value:Fr}}))}else ia=ia.concat(Fr({key:`${ja}[0]`,value:fa[0],valueSpec:{},validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec},fa));return Mc(_u(fa[1]))?ia.concat([new le(`${ja}[1]`,fa[1],\"expressions are not allowed in function stops.\")]):ia.concat(Wr.validateSpec({key:`${ja}[1]`,value:fa[1],valueSpec:R,validateSpec:Wr.validateSpec,style:Wr.style,styleSpec:Wr.styleSpec}))}function Fr(Wr,ia){let fa=Zs(Wr.value),ja=sl(Wr.value),Ka=Wr.value!==null?Wr.value:ia;if(ve){if(fa!==ve)return[new le(Wr.key,Ka,`${fa} stop domain type must match previous stop domain type ${ve}`)]}else ve=fa;if(fa!==\"number\"&&fa!==\"string\"&&fa!==\"boolean\")return[new le(Wr.key,Ka,\"stop domain value must be a number, string, or boolean\")];if(fa!==\"number\"&&J!==\"categorical\"){let Wi=`number expected, ${fa} found`;return eu(R)&&J===void 0&&(Wi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new le(Wr.key,Ka,Wi)]}return J!==\"categorical\"||fa!==\"number\"||isFinite(ja)&&Math.floor(ja)===ja?J!==\"categorical\"&&fa===\"number\"&&Ee!==void 0&&janew le(`${W.key}${ve.key}`,W.value,ve.message));let J=R.value.expression||R.value._styleExpression.expression;if(W.expressionContext===\"property\"&&W.propertyKey===\"text-font\"&&!J.outputDefined())return[new le(W.key,W.value,`Invalid data expression for \"${W.propertyKey}\". Output values must be contained as literals within the expression.`)];if(W.expressionContext===\"property\"&&W.propertyType===\"layout\"&&!Gu(J))return[new le(W.key,W.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(W.expressionContext===\"filter\"&&!Gu(J))return[new le(W.key,W.value,'\"feature-state\" data expressions are not supported with filters.')];if(W.expressionContext&&W.expressionContext.indexOf(\"cluster\")===0){if(!Ef(J,[\"zoom\",\"feature-state\"]))return[new le(W.key,W.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(W.expressionContext===\"cluster-initial\"&&!Nf(J))return[new le(W.key,W.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Hu(W){let R=W.key,J=W.value,ve=W.valueSpec,Ee=[];return Array.isArray(ve.values)?ve.values.indexOf(sl(J))===-1&&Ee.push(new le(R,J,`expected one of [${ve.values.join(\", \")}], ${JSON.stringify(J)} found`)):Object.keys(ve.values).indexOf(sl(J))===-1&&Ee.push(new le(R,J,`expected one of [${Object.keys(ve.values).join(\", \")}], ${JSON.stringify(J)} found`)),Ee}function gf(W){return Qf(_u(W.value))?kc(ne({},W,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Wu(W)}function Wu(W){let R=W.value,J=W.key;if(Zs(R)!==\"array\")return[new le(J,R,`array expected, ${Zs(R)} found`)];let ve=W.styleSpec,Ee,Be=[];if(R.length<1)return[new le(J,R,\"filter array must have at least 1 element\")];switch(Be=Be.concat(Hu({key:`${J}[0]`,value:R[0],valueSpec:ve.filter_operator,style:W.style,styleSpec:W.styleSpec})),sl(R[0])){case\"<\":case\"<=\":case\">\":case\">=\":R.length>=2&&sl(R[1])===\"$type\"&&Be.push(new le(J,R,`\"$type\" cannot be use with operator \"${R[0]}\"`));case\"==\":case\"!=\":R.length!==3&&Be.push(new le(J,R,`filter array for operator \"${R[0]}\" must have 3 elements`));case\"in\":case\"!in\":R.length>=2&&(Ee=Zs(R[1]),Ee!==\"string\"&&Be.push(new le(`${J}[1]`,R[1],`string expected, ${Ee} found`)));for(let Ve=2;Ve{Bt in J&&R.push(new le(ve,J[Bt],`\"${Bt}\" is prohibited for ref layers`))}),Ee.layers.forEach(Bt=>{sl(Bt.id)===ct&&(At=Bt)}),At?At.ref?R.push(new le(ve,J.ref,\"ref cannot reference another ref layer\")):Ve=sl(At.type):R.push(new le(ve,J.ref,`ref layer \"${ct}\" not found`))}else if(Ve!==\"background\")if(J.source){let At=Ee.sources&&Ee.sources[J.source],Bt=At&&sl(At.type);At?Bt===\"vector\"&&Ve===\"raster\"?R.push(new le(ve,J.source,`layer \"${J.id}\" requires a raster source`)):Bt!==\"raster-dem\"&&Ve===\"hillshade\"?R.push(new le(ve,J.source,`layer \"${J.id}\" requires a raster-dem source`)):Bt===\"raster\"&&Ve!==\"raster\"?R.push(new le(ve,J.source,`layer \"${J.id}\" requires a vector source`)):Bt!==\"vector\"||J[\"source-layer\"]?Bt===\"raster-dem\"&&Ve!==\"hillshade\"?R.push(new le(ve,J.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):Ve!==\"line\"||!J.paint||!J.paint[\"line-gradient\"]||Bt===\"geojson\"&&At.lineMetrics||R.push(new le(ve,J,`layer \"${J.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):R.push(new le(ve,J,`layer \"${J.id}\" must specify a \"source-layer\"`)):R.push(new le(ve,J.source,`source \"${J.source}\" not found`))}else R.push(new le(ve,J,'missing required property \"source\"'));return R=R.concat(Pu({key:ve,value:J,valueSpec:Be.layer,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>W.validateSpec({key:`${ve}.type`,value:J.type,valueSpec:Be.layer.type,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,object:J,objectKey:\"type\"}),filter:gf,layout:At=>Pu({layer:J,key:At.key,value:At.value,style:At.style,styleSpec:At.styleSpec,validateSpec:At.validateSpec,objectElementValidators:{\"*\":Bt=>nu(ne({layerType:Ve},Bt))}}),paint:At=>Pu({layer:J,key:At.key,value:At.value,style:At.style,styleSpec:At.styleSpec,validateSpec:At.validateSpec,objectElementValidators:{\"*\":Bt=>Lf(ne({layerType:Ve},Bt))}})}})),R}function Xu(W){let R=W.value,J=W.key,ve=Zs(R);return ve!==\"string\"?[new le(J,R,`string expected, ${ve} found`)]:[]}let Cc={promoteId:function({key:W,value:R}){if(Zs(R)===\"string\")return Xu({key:W,value:R});{let J=[];for(let ve in R)J.push(...Xu({key:`${W}.${ve}`,value:R[ve]}));return J}}};function gc(W){let R=W.value,J=W.key,ve=W.styleSpec,Ee=W.style,Be=W.validateSpec;if(!R.type)return[new le(J,R,'\"type\" is required')];let Ve=sl(R.type),ct;switch(Ve){case\"vector\":case\"raster\":return ct=Pu({key:J,value:R,valueSpec:ve[`source_${Ve.replace(\"-\",\"_\")}`],style:W.style,styleSpec:ve,objectElementValidators:Cc,validateSpec:Be}),ct;case\"raster-dem\":return ct=function(At){var Bt;let ar=(Bt=At.sourceName)!==null&&Bt!==void 0?Bt:\"\",Mr=At.value,Fr=At.styleSpec,Wr=Fr.source_raster_dem,ia=At.style,fa=[],ja=Zs(Mr);if(Mr===void 0)return fa;if(ja!==\"object\")return fa.push(new le(\"source_raster_dem\",Mr,`object expected, ${ja} found`)),fa;let Ka=sl(Mr.encoding)===\"custom\",Wi=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],gi=At.value.encoding?`\"${At.value.encoding}\"`:\"Default\";for(let qi in Mr)!Ka&&Wi.includes(qi)?fa.push(new le(qi,Mr[qi],`In \"${ar}\": \"${qi}\" is only valid when \"encoding\" is set to \"custom\". ${gi} encoding found`)):Wr[qi]?fa=fa.concat(At.validateSpec({key:qi,value:Mr[qi],valueSpec:Wr[qi],validateSpec:At.validateSpec,style:ia,styleSpec:Fr})):fa.push(new le(qi,Mr[qi],`unknown property \"${qi}\"`));return fa}({sourceName:J,value:R,style:W.style,styleSpec:ve,validateSpec:Be}),ct;case\"geojson\":if(ct=Pu({key:J,value:R,valueSpec:ve.source_geojson,style:Ee,styleSpec:ve,validateSpec:Be,objectElementValidators:Cc}),R.cluster)for(let At in R.clusterProperties){let[Bt,ar]=R.clusterProperties[At],Mr=typeof Bt==\"string\"?[Bt,[\"accumulated\"],[\"get\",At]]:Bt;ct.push(...kc({key:`${J}.${At}.map`,value:ar,validateSpec:Be,expressionContext:\"cluster-map\"})),ct.push(...kc({key:`${J}.${At}.reduce`,value:Mr,validateSpec:Be,expressionContext:\"cluster-reduce\"}))}return ct;case\"video\":return Pu({key:J,value:R,valueSpec:ve.source_video,style:Ee,validateSpec:Be,styleSpec:ve});case\"image\":return Pu({key:J,value:R,valueSpec:ve.source_image,style:Ee,validateSpec:Be,styleSpec:ve});case\"canvas\":return[new le(J,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Hu({key:`${J}.type`,value:R.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:Ee,validateSpec:Be,styleSpec:ve})}}function Vl(W){let R=W.value,J=W.styleSpec,ve=J.light,Ee=W.style,Be=[],Ve=Zs(R);if(R===void 0)return Be;if(Ve!==\"object\")return Be=Be.concat([new le(\"light\",R,`object expected, ${Ve} found`)]),Be;for(let ct in R){let At=ct.match(/^(.*)-transition$/);Be=Be.concat(At&&ve[At[1]]&&ve[At[1]].transition?W.validateSpec({key:ct,value:R[ct],valueSpec:J.transition,validateSpec:W.validateSpec,style:Ee,styleSpec:J}):ve[ct]?W.validateSpec({key:ct,value:R[ct],valueSpec:ve[ct],validateSpec:W.validateSpec,style:Ee,styleSpec:J}):[new le(ct,R[ct],`unknown property \"${ct}\"`)])}return Be}function xu(W){let R=W.value,J=W.styleSpec,ve=J.sky,Ee=W.style,Be=Zs(R);if(R===void 0)return[];if(Be!==\"object\")return[new le(\"sky\",R,`object expected, ${Be} found`)];let Ve=[];for(let ct in R)Ve=Ve.concat(ve[ct]?W.validateSpec({key:ct,value:R[ct],valueSpec:ve[ct],style:Ee,styleSpec:J}):[new le(ct,R[ct],`unknown property \"${ct}\"`)]);return Ve}function Lc(W){let R=W.value,J=W.styleSpec,ve=J.terrain,Ee=W.style,Be=[],Ve=Zs(R);if(R===void 0)return Be;if(Ve!==\"object\")return Be=Be.concat([new le(\"terrain\",R,`object expected, ${Ve} found`)]),Be;for(let ct in R)Be=Be.concat(ve[ct]?W.validateSpec({key:ct,value:R[ct],valueSpec:ve[ct],validateSpec:W.validateSpec,style:Ee,styleSpec:J}):[new le(ct,R[ct],`unknown property \"${ct}\"`)]);return Be}function $c(W){let R=[],J=W.value,ve=W.key;if(Array.isArray(J)){let Ee=[],Be=[];for(let Ve in J)J[Ve].id&&Ee.includes(J[Ve].id)&&R.push(new le(ve,J,`all the sprites' ids must be unique, but ${J[Ve].id} is duplicated`)),Ee.push(J[Ve].id),J[Ve].url&&Be.includes(J[Ve].url)&&R.push(new le(ve,J,`all the sprites' URLs must be unique, but ${J[Ve].url} is duplicated`)),Be.push(J[Ve].url),R=R.concat(Pu({key:`${ve}[${Ve}]`,value:J[Ve],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:W.validateSpec}));return R}return Xu({key:ve,value:J})}let sc={\"*\":()=>[],array:Cf,boolean:function(W){let R=W.value,J=W.key,ve=Zs(R);return ve!==\"boolean\"?[new le(J,R,`boolean expected, ${ve} found`)]:[]},number:hl,color:function(W){let R=W.key,J=W.value,ve=Zs(J);return ve!==\"string\"?[new le(R,J,`color expected, ${ve} found`)]:Jt.parse(String(J))?[]:[new le(R,J,`color expected, \"${J}\" found`)]},constants:mf,enum:Hu,filter:gf,function:uf,layer:Vf,object:Pu,source:gc,light:Vl,sky:xu,terrain:Lc,projection:function(W){let R=W.value,J=W.styleSpec,ve=J.projection,Ee=W.style,Be=Zs(R);if(R===void 0)return[];if(Be!==\"object\")return[new le(\"projection\",R,`object expected, ${Be} found`)];let Ve=[];for(let ct in R)Ve=Ve.concat(ve[ct]?W.validateSpec({key:ct,value:R[ct],valueSpec:ve[ct],style:Ee,styleSpec:J}):[new le(ct,R[ct],`unknown property \"${ct}\"`)]);return Ve},string:Xu,formatted:function(W){return Xu(W).length===0?[]:kc(W)},resolvedImage:function(W){return Xu(W).length===0?[]:kc(W)},padding:function(W){let R=W.key,J=W.value;if(Zs(J)===\"array\"){if(J.length<1||J.length>4)return[new le(R,J,`padding requires 1 to 4 values; ${J.length} values found`)];let ve={type:\"number\"},Ee=[];for(let Be=0;Be[]}})),W.constants&&(J=J.concat(mf({key:\"constants\",value:W.constants,style:W,styleSpec:R,validateSpec:Pc}))),$r(J)}function aa(W){return function(R){return W(ds(So({},R),{validateSpec:Pc}))}}function $r(W){return[].concat(W).sort((R,J)=>R.line-J.line)}function ka(W){return function(...R){return $r(W.apply(this,R))}}xr.source=ka(aa(gc)),xr.sprite=ka(aa($c)),xr.glyphs=ka(aa(Qt)),xr.light=ka(aa(Vl)),xr.sky=ka(aa(xu)),xr.terrain=ka(aa(Lc)),xr.layer=ka(aa(Vf)),xr.filter=ka(aa(gf)),xr.paintProperty=ka(aa(Lf)),xr.layoutProperty=ka(aa(nu));let li=xr,Ci=li.light,Hi=li.sky,Qi=li.paintProperty,pn=li.layoutProperty;function Pi(W,R){let J=!1;if(R&&R.length)for(let ve of R)W.fire(new j(new Error(ve.message))),J=!0;return J}class Di{constructor(R,J,ve){let Ee=this.cells=[];if(R instanceof ArrayBuffer){this.arrayBuffer=R;let Ve=new Int32Array(this.arrayBuffer);R=Ve[0],this.d=(J=Ve[1])+2*(ve=Ve[2]);for(let At=0;At=Mr[ia+0]&&Ee>=Mr[ia+1])?(ct[Wr]=!0,Ve.push(ar[Wr])):ct[Wr]=!1}}}}_forEachCell(R,J,ve,Ee,Be,Ve,ct,At){let Bt=this._convertToCellCoord(R),ar=this._convertToCellCoord(J),Mr=this._convertToCellCoord(ve),Fr=this._convertToCellCoord(Ee);for(let Wr=Bt;Wr<=Mr;Wr++)for(let ia=ar;ia<=Fr;ia++){let fa=this.d*ia+Wr;if((!At||At(this._convertFromCellCoord(Wr),this._convertFromCellCoord(ia),this._convertFromCellCoord(Wr+1),this._convertFromCellCoord(ia+1)))&&Be.call(this,R,J,ve,Ee,fa,Ve,ct,At))return}}_convertFromCellCoord(R){return(R-this.padding)/this.scale}_convertToCellCoord(R){return Math.max(0,Math.min(this.d-1,Math.floor(R*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let R=this.cells,J=3+this.cells.length+1+1,ve=0;for(let Ve=0;Ve=0)continue;let Ve=W[Be];Ee[Be]=Ni[J].shallow.indexOf(Be)>=0?Ve:eo(Ve,R)}W instanceof Error&&(Ee.message=W.message)}if(Ee.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return J!==\"Object\"&&(Ee.$name=J),Ee}function co(W){if(io(W))return W;if(Array.isArray(W))return W.map(co);if(typeof W!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof W);let R=Qn(W)||\"Object\";if(!Ni[R])throw new Error(`can't deserialize unregistered class ${R}`);let{klass:J}=Ni[R];if(!J)throw new Error(`can't deserialize unregistered class ${R}`);if(J.deserialize)return J.deserialize(W);let ve=Object.create(J.prototype);for(let Ee of Object.keys(W)){if(Ee===\"$name\")continue;let Be=W[Ee];ve[Ee]=Ni[R].shallow.indexOf(Ee)>=0?Be:co(Be)}return ve}class Tn{constructor(){this.first=!0}update(R,J){let ve=Math.floor(R);return this.first?(this.first=!1,this.lastIntegerZoom=ve,this.lastIntegerZoomTime=0,this.lastZoom=R,this.lastFloorZoom=ve,!0):(this.lastFloorZoom>ve?(this.lastIntegerZoom=ve+1,this.lastIntegerZoomTime=J):this.lastFloorZoomW>=128&&W<=255,\"Hangul Jamo\":W=>W>=4352&&W<=4607,Khmer:W=>W>=6016&&W<=6143,\"General Punctuation\":W=>W>=8192&&W<=8303,\"Letterlike Symbols\":W=>W>=8448&&W<=8527,\"Number Forms\":W=>W>=8528&&W<=8591,\"Miscellaneous Technical\":W=>W>=8960&&W<=9215,\"Control Pictures\":W=>W>=9216&&W<=9279,\"Optical Character Recognition\":W=>W>=9280&&W<=9311,\"Enclosed Alphanumerics\":W=>W>=9312&&W<=9471,\"Geometric Shapes\":W=>W>=9632&&W<=9727,\"Miscellaneous Symbols\":W=>W>=9728&&W<=9983,\"Miscellaneous Symbols and Arrows\":W=>W>=11008&&W<=11263,\"Ideographic Description Characters\":W=>W>=12272&&W<=12287,\"CJK Symbols and Punctuation\":W=>W>=12288&&W<=12351,Katakana:W=>W>=12448&&W<=12543,Kanbun:W=>W>=12688&&W<=12703,\"CJK Strokes\":W=>W>=12736&&W<=12783,\"Enclosed CJK Letters and Months\":W=>W>=12800&&W<=13055,\"CJK Compatibility\":W=>W>=13056&&W<=13311,\"Yijing Hexagram Symbols\":W=>W>=19904&&W<=19967,\"Private Use Area\":W=>W>=57344&&W<=63743,\"Vertical Forms\":W=>W>=65040&&W<=65055,\"CJK Compatibility Forms\":W=>W>=65072&&W<=65103,\"Small Form Variants\":W=>W>=65104&&W<=65135,\"Halfwidth and Fullwidth Forms\":W=>W>=65280&&W<=65519};function yo(W){for(let R of W)if(As(R.charCodeAt(0)))return!0;return!1}function Qo(W){for(let R of W)if(!Ns(R.charCodeAt(0)))return!1;return!0}function Es(W){let R=W.map(J=>{try{return new RegExp(`\\\\p{sc=${J}}`,\"u\").source}catch{return null}}).filter(J=>J);return new RegExp(R.join(\"|\"),\"u\")}let rl=Es([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Ns(W){return!rl.test(String.fromCodePoint(W))}let el=Es([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function As(W){return!(W!==746&&W!==747&&(W<4352||!(un[\"CJK Compatibility Forms\"](W)&&!(W>=65097&&W<=65103)||un[\"CJK Compatibility\"](W)||un[\"CJK Strokes\"](W)||!(!un[\"CJK Symbols and Punctuation\"](W)||W>=12296&&W<=12305||W>=12308&&W<=12319||W===12336)||un[\"Enclosed CJK Letters and Months\"](W)||un[\"Ideographic Description Characters\"](W)||un.Kanbun(W)||un.Katakana(W)&&W!==12540||!(!un[\"Halfwidth and Fullwidth Forms\"](W)||W===65288||W===65289||W===65293||W>=65306&&W<=65310||W===65339||W===65341||W===65343||W>=65371&&W<=65503||W===65507||W>=65512&&W<=65519)||!(!un[\"Small Form Variants\"](W)||W>=65112&&W<=65118||W>=65123&&W<=65126)||un[\"Vertical Forms\"](W)||un[\"Yijing Hexagram Symbols\"](W)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(W))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(W))||el.test(String.fromCodePoint(W)))))}function Fl(W){return!(As(W)||function(R){return!!(un[\"Latin-1 Supplement\"](R)&&(R===167||R===169||R===174||R===177||R===188||R===189||R===190||R===215||R===247)||un[\"General Punctuation\"](R)&&(R===8214||R===8224||R===8225||R===8240||R===8241||R===8251||R===8252||R===8258||R===8263||R===8264||R===8265||R===8273)||un[\"Letterlike Symbols\"](R)||un[\"Number Forms\"](R)||un[\"Miscellaneous Technical\"](R)&&(R>=8960&&R<=8967||R>=8972&&R<=8991||R>=8996&&R<=9e3||R===9003||R>=9085&&R<=9114||R>=9150&&R<=9165||R===9167||R>=9169&&R<=9179||R>=9186&&R<=9215)||un[\"Control Pictures\"](R)&&R!==9251||un[\"Optical Character Recognition\"](R)||un[\"Enclosed Alphanumerics\"](R)||un[\"Geometric Shapes\"](R)||un[\"Miscellaneous Symbols\"](R)&&!(R>=9754&&R<=9759)||un[\"Miscellaneous Symbols and Arrows\"](R)&&(R>=11026&&R<=11055||R>=11088&&R<=11097||R>=11192&&R<=11243)||un[\"CJK Symbols and Punctuation\"](R)||un.Katakana(R)||un[\"Private Use Area\"](R)||un[\"CJK Compatibility Forms\"](R)||un[\"Small Form Variants\"](R)||un[\"Halfwidth and Fullwidth Forms\"](R)||R===8734||R===8756||R===8757||R>=9984&&R<=10087||R>=10102&&R<=10131||R===65532||R===65533)}(W))}let yl=Es([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function ll(W){return yl.test(String.fromCodePoint(W))}function Un(W,R){return!(!R&&ll(W)||W>=2304&&W<=3583||W>=3840&&W<=4255||un.Khmer(W))}function Ro(W){for(let R of W)if(ll(R.charCodeAt(0)))return!0;return!1}let Js=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(W){this.pluginStatus=W.pluginStatus,this.pluginURL=W.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(W){this.applyArabicShaping=W.applyArabicShaping,this.processBidirectionalText=W.processBidirectionalText,this.processStyledBidirectionalText=W.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Fs{constructor(R,J){this.zoom=R,J?(this.now=J.now,this.fadeDuration=J.fadeDuration,this.zoomHistory=J.zoomHistory,this.transition=J.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Tn,this.transition={})}isSupportedScript(R){return function(J,ve){for(let Ee of J)if(!Un(Ee.charCodeAt(0),ve))return!1;return!0}(R,Js.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let R=this.zoom,J=R-Math.floor(R),ve=this.crossFadingFactor();return R>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:J+(1-J)*ve}:{fromScale:.5,toScale:1,t:1-(1-ve)*J}}}class cu{constructor(R,J){this.property=R,this.value=J,this.expression=function(ve,Ee){if(kf(ve))return new Ml(ve,Ee);if(Mc(ve)){let Be=Tu(ve,Ee);if(Be.result===\"error\")throw new Error(Be.value.map(Ve=>`${Ve.key}: ${Ve.message}`).join(\", \"));return Be.value}{let Be=ve;return Ee.type===\"color\"&&typeof ve==\"string\"?Be=Jt.parse(ve):Ee.type!==\"padding\"||typeof ve!=\"number\"&&!Array.isArray(ve)?Ee.type===\"variableAnchorOffsetCollection\"&&Array.isArray(ve)&&(Be=$a.parse(ve)):Be=ca.parse(ve),{kind:\"constant\",evaluate:()=>Be}}}(J===void 0?R.specification.default:J,R.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(R,J,ve){return this.property.possiblyEvaluate(this,R,J,ve)}}class Iu{constructor(R){this.property=R,this.value=new cu(R,void 0)}transitioned(R,J){return new Ic(this.property,this.value,J,M({},R.transition,this.transition),R.now)}untransitioned(){return new Ic(this.property,this.value,null,{},0)}}class Zu{constructor(R){this._properties=R,this._values=Object.create(R.defaultTransitionablePropertyValues)}getValue(R){return u(this._values[R].value.value)}setValue(R,J){Object.prototype.hasOwnProperty.call(this._values,R)||(this._values[R]=new Iu(this._values[R].property)),this._values[R].value=new cu(this._values[R].property,J===null?void 0:u(J))}getTransition(R){return u(this._values[R].transition)}setTransition(R,J){Object.prototype.hasOwnProperty.call(this._values,R)||(this._values[R]=new Iu(this._values[R].property)),this._values[R].transition=u(J)||void 0}serialize(){let R={};for(let J of Object.keys(this._values)){let ve=this.getValue(J);ve!==void 0&&(R[J]=ve);let Ee=this.getTransition(J);Ee!==void 0&&(R[`${J}-transition`]=Ee)}return R}transitioned(R,J){let ve=new bu(this._properties);for(let Ee of Object.keys(this._values))ve._values[Ee]=this._values[Ee].transitioned(R,J._values[Ee]);return ve}untransitioned(){let R=new bu(this._properties);for(let J of Object.keys(this._values))R._values[J]=this._values[J].untransitioned();return R}}class Ic{constructor(R,J,ve,Ee,Be){this.property=R,this.value=J,this.begin=Be+Ee.delay||0,this.end=this.begin+Ee.duration||0,R.specification.transition&&(Ee.delay||Ee.duration)&&(this.prior=ve)}possiblyEvaluate(R,J,ve){let Ee=R.now||0,Be=this.value.possiblyEvaluate(R,J,ve),Ve=this.prior;if(Ve){if(Ee>this.end)return this.prior=null,Be;if(this.value.isDataDriven())return this.prior=null,Be;if(Ee=1)return 1;let Bt=At*At,ar=Bt*At;return 4*(At<.5?ar:3*(At-Bt)+ar-.75)}(ct))}}return Be}}class bu{constructor(R){this._properties=R,this._values=Object.create(R.defaultTransitioningPropertyValues)}possiblyEvaluate(R,J,ve){let Ee=new yc(this._properties);for(let Be of Object.keys(this._values))Ee._values[Be]=this._values[Be].possiblyEvaluate(R,J,ve);return Ee}hasTransition(){for(let R of Object.keys(this._values))if(this._values[R].prior)return!0;return!1}}class Rc{constructor(R){this._properties=R,this._values=Object.create(R.defaultPropertyValues)}hasValue(R){return this._values[R].value!==void 0}getValue(R){return u(this._values[R].value)}setValue(R,J){this._values[R]=new cu(this._values[R].property,J===null?void 0:u(J))}serialize(){let R={};for(let J of Object.keys(this._values)){let ve=this.getValue(J);ve!==void 0&&(R[J]=ve)}return R}possiblyEvaluate(R,J,ve){let Ee=new yc(this._properties);for(let Be of Object.keys(this._values))Ee._values[Be]=this._values[Be].possiblyEvaluate(R,J,ve);return Ee}}class Au{constructor(R,J,ve){this.property=R,this.value=J,this.parameters=ve}isConstant(){return this.value.kind===\"constant\"}constantOr(R){return this.value.kind===\"constant\"?this.value.value:R}evaluate(R,J,ve,Ee){return this.property.evaluate(this.value,this.parameters,R,J,ve,Ee)}}class yc{constructor(R){this._properties=R,this._values=Object.create(R.defaultPossiblyEvaluatedValues)}get(R){return this._values[R]}}class fo{constructor(R){this.specification=R}possiblyEvaluate(R,J){if(R.isDataDriven())throw new Error(\"Value should not be data driven\");return R.expression.evaluate(J)}interpolate(R,J,ve){let Ee=En[this.specification.type];return Ee?Ee(R,J,ve):R}}class Fo{constructor(R,J){this.specification=R,this.overrides=J}possiblyEvaluate(R,J,ve,Ee){return new Au(this,R.expression.kind===\"constant\"||R.expression.kind===\"camera\"?{kind:\"constant\",value:R.expression.evaluate(J,null,{},ve,Ee)}:R.expression,J)}interpolate(R,J,ve){if(R.value.kind!==\"constant\"||J.value.kind!==\"constant\")return R;if(R.value.value===void 0||J.value.value===void 0)return new Au(this,{kind:\"constant\",value:void 0},R.parameters);let Ee=En[this.specification.type];if(Ee){let Be=Ee(R.value.value,J.value.value,ve);return new Au(this,{kind:\"constant\",value:Be},R.parameters)}return R}evaluate(R,J,ve,Ee,Be,Ve){return R.kind===\"constant\"?R.value:R.evaluate(J,ve,Ee,Be,Ve)}}class Dc extends Fo{possiblyEvaluate(R,J,ve,Ee){if(R.value===void 0)return new Au(this,{kind:\"constant\",value:void 0},J);if(R.expression.kind===\"constant\"){let Be=R.expression.evaluate(J,null,{},ve,Ee),Ve=R.property.specification.type===\"resolvedImage\"&&typeof Be!=\"string\"?Be.name:Be,ct=this._calculate(Ve,Ve,Ve,J);return new Au(this,{kind:\"constant\",value:ct},J)}if(R.expression.kind===\"camera\"){let Be=this._calculate(R.expression.evaluate({zoom:J.zoom-1}),R.expression.evaluate({zoom:J.zoom}),R.expression.evaluate({zoom:J.zoom+1}),J);return new Au(this,{kind:\"constant\",value:Be},J)}return new Au(this,R.expression,J)}evaluate(R,J,ve,Ee,Be,Ve){if(R.kind===\"source\"){let ct=R.evaluate(J,ve,Ee,Be,Ve);return this._calculate(ct,ct,ct,J)}return R.kind===\"composite\"?this._calculate(R.evaluate({zoom:Math.floor(J.zoom)-1},ve,Ee),R.evaluate({zoom:Math.floor(J.zoom)},ve,Ee),R.evaluate({zoom:Math.floor(J.zoom)+1},ve,Ee),J):R.value}_calculate(R,J,ve,Ee){return Ee.zoom>Ee.zoomHistory.lastIntegerZoom?{from:R,to:J}:{from:ve,to:J}}interpolate(R){return R}}class lc{constructor(R){this.specification=R}possiblyEvaluate(R,J,ve,Ee){if(R.value!==void 0){if(R.expression.kind===\"constant\"){let Be=R.expression.evaluate(J,null,{},ve,Ee);return this._calculate(Be,Be,Be,J)}return this._calculate(R.expression.evaluate(new Fs(Math.floor(J.zoom-1),J)),R.expression.evaluate(new Fs(Math.floor(J.zoom),J)),R.expression.evaluate(new Fs(Math.floor(J.zoom+1),J)),J)}}_calculate(R,J,ve,Ee){return Ee.zoom>Ee.zoomHistory.lastIntegerZoom?{from:R,to:J}:{from:ve,to:J}}interpolate(R){return R}}class Yu{constructor(R){this.specification=R}possiblyEvaluate(R,J,ve,Ee){return!!R.expression.evaluate(J,null,{},ve,Ee)}interpolate(){return!1}}class Fe{constructor(R){this.properties=R,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let J in R){let ve=R[J];ve.specification.overridable&&this.overridableProperties.push(J);let Ee=this.defaultPropertyValues[J]=new cu(ve,void 0),Be=this.defaultTransitionablePropertyValues[J]=new Iu(ve);this.defaultTransitioningPropertyValues[J]=Be.untransitioned(),this.defaultPossiblyEvaluatedValues[J]=Ee.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",Fo),mi(\"DataConstantProperty\",fo),mi(\"CrossFadedDataDrivenProperty\",Dc),mi(\"CrossFadedProperty\",lc),mi(\"ColorRampProperty\",Yu);let I=\"-transition\";class ie extends Q{constructor(R,J){if(super(),this.id=R.id,this.type=R.type,this._featureFilter={filter:()=>!0,needGeometry:!1},R.type!==\"custom\"&&(this.metadata=R.metadata,this.minzoom=R.minzoom,this.maxzoom=R.maxzoom,R.type!==\"background\"&&(this.source=R.source,this.sourceLayer=R[\"source-layer\"],this.filter=R.filter),J.layout&&(this._unevaluatedLayout=new Rc(J.layout)),J.paint)){this._transitionablePaint=new Zu(J.paint);for(let ve in R.paint)this.setPaintProperty(ve,R.paint[ve],{validate:!1});for(let ve in R.layout)this.setLayoutProperty(ve,R.layout[ve],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new yc(J.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(R){return R===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(R)}setLayoutProperty(R,J,ve={}){J!=null&&this._validate(pn,`layers.${this.id}.layout.${R}`,R,J,ve)||(R!==\"visibility\"?this._unevaluatedLayout.setValue(R,J):this.visibility=J)}getPaintProperty(R){return R.endsWith(I)?this._transitionablePaint.getTransition(R.slice(0,-11)):this._transitionablePaint.getValue(R)}setPaintProperty(R,J,ve={}){if(J!=null&&this._validate(Qi,`layers.${this.id}.paint.${R}`,R,J,ve))return!1;if(R.endsWith(I))return this._transitionablePaint.setTransition(R.slice(0,-11),J||void 0),!1;{let Ee=this._transitionablePaint._values[R],Be=Ee.property.specification[\"property-type\"]===\"cross-faded-data-driven\",Ve=Ee.value.isDataDriven(),ct=Ee.value;this._transitionablePaint.setValue(R,J),this._handleSpecialPaintPropertyUpdate(R);let At=this._transitionablePaint._values[R].value;return At.isDataDriven()||Ve||Be||this._handleOverridablePaintPropertyUpdate(R,ct,At)}}_handleSpecialPaintPropertyUpdate(R){}_handleOverridablePaintPropertyUpdate(R,J,ve){return!1}isHidden(R){return!!(this.minzoom&&R=this.maxzoom)||this.visibility===\"none\"}updateTransitions(R){this._transitioningPaint=this._transitionablePaint.transitioned(R,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(R,J){R.getCrossfadeParameters&&(this._crossfadeParameters=R.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(R,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(R,void 0,J)}serialize(){let R={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&&(R.layout=R.layout||{},R.layout.visibility=this.visibility),p(R,(J,ve)=>!(J===void 0||ve===\"layout\"&&!Object.keys(J).length||ve===\"paint\"&&!Object.keys(J).length))}_validate(R,J,ve,Ee,Be={}){return(!Be||Be.validate!==!1)&&Pi(this,R.call(li,{key:J,layerType:this.type,objectKey:ve,value:Ee,styleSpec:re,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let R in this.paint._values){let J=this.paint.get(R);if(J instanceof Au&&eu(J.property.specification)&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1}}let Te={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Me{constructor(R,J){this._structArray=R,this._pos1=J*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class ze{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(R,J){return R._trim(),J&&(R.isTransferred=!0,J.push(R.arrayBuffer)),{length:R.length,arrayBuffer:R.arrayBuffer}}static deserialize(R){let J=Object.create(this.prototype);return J.arrayBuffer=R.arrayBuffer,J.length=R.length,J.capacity=R.arrayBuffer.byteLength/J.bytesPerElement,J._refreshViews(),J}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(R){this.reserve(R),this.length=R}reserve(R){if(R>this.capacity){this.capacity=Math.max(R,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let J=this.uint8;this._refreshViews(),J&&this.uint8.set(J)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function ht(W,R=1){let J=0,ve=0;return{members:W.map(Ee=>{let Be=Te[Ee.type].BYTES_PER_ELEMENT,Ve=J=wt(J,Math.max(R,Be)),ct=Ee.components||1;return ve=Math.max(ve,Be),J+=Be*ct,{name:Ee.name,type:Ee.type,components:ct,offset:Ve}}),size:wt(J,Math.max(ve,R)),alignment:R}}function wt(W,R){return Math.ceil(W/R)*R}class Ot extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J){let ve=this.length;return this.resize(ve+1),this.emplace(ve,R,J)}emplace(R,J,ve){let Ee=2*R;return this.int16[Ee+0]=J,this.int16[Ee+1]=ve,R}}Ot.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",Ot);class $t extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J,ve){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,R,J,ve)}emplace(R,J,ve,Ee){let Be=3*R;return this.int16[Be+0]=J,this.int16[Be+1]=ve,this.int16[Be+2]=Ee,R}}$t.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",$t);class Ar extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee){let Be=this.length;return this.resize(Be+1),this.emplace(Be,R,J,ve,Ee)}emplace(R,J,ve,Ee,Be){let Ve=4*R;return this.int16[Ve+0]=J,this.int16[Ve+1]=ve,this.int16[Ve+2]=Ee,this.int16[Ve+3]=Be,R}}Ar.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Ar);class Sr extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve){let ct=this.length;return this.resize(ct+1),this.emplace(ct,R,J,ve,Ee,Be,Ve)}emplace(R,J,ve,Ee,Be,Ve,ct){let At=6*R;return this.int16[At+0]=J,this.int16[At+1]=ve,this.int16[At+2]=Ee,this.int16[At+3]=Be,this.int16[At+4]=Ve,this.int16[At+5]=ct,R}}Sr.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Sr);class Kr extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve){let ct=this.length;return this.resize(ct+1),this.emplace(ct,R,J,ve,Ee,Be,Ve)}emplace(R,J,ve,Ee,Be,Ve,ct){let At=4*R,Bt=8*R;return this.int16[At+0]=J,this.int16[At+1]=ve,this.uint8[Bt+4]=Ee,this.uint8[Bt+5]=Be,this.uint8[Bt+6]=Ve,this.uint8[Bt+7]=ct,R}}Kr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",Kr);class na extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(R,J){let ve=this.length;return this.resize(ve+1),this.emplace(ve,R,J)}emplace(R,J,ve){let Ee=2*R;return this.float32[Ee+0]=J,this.float32[Ee+1]=ve,R}}na.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",na);class qe extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar){let Mr=this.length;return this.resize(Mr+1),this.emplace(Mr,R,J,ve,Ee,Be,Ve,ct,At,Bt,ar)}emplace(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr){let Fr=10*R;return this.uint16[Fr+0]=J,this.uint16[Fr+1]=ve,this.uint16[Fr+2]=Ee,this.uint16[Fr+3]=Be,this.uint16[Fr+4]=Ve,this.uint16[Fr+5]=ct,this.uint16[Fr+6]=At,this.uint16[Fr+7]=Bt,this.uint16[Fr+8]=ar,this.uint16[Fr+9]=Mr,R}}qe.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",qe);class $e extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr){let Wr=this.length;return this.resize(Wr+1),this.emplace(Wr,R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr)}emplace(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr){let ia=12*R;return this.int16[ia+0]=J,this.int16[ia+1]=ve,this.int16[ia+2]=Ee,this.int16[ia+3]=Be,this.uint16[ia+4]=Ve,this.uint16[ia+5]=ct,this.uint16[ia+6]=At,this.uint16[ia+7]=Bt,this.int16[ia+8]=ar,this.int16[ia+9]=Mr,this.int16[ia+10]=Fr,this.int16[ia+11]=Wr,R}}$e.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",$e);class lt extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(R,J,ve){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,R,J,ve)}emplace(R,J,ve,Ee){let Be=3*R;return this.float32[Be+0]=J,this.float32[Be+1]=ve,this.float32[Be+2]=Ee,R}}lt.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",lt);class pt extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(R){let J=this.length;return this.resize(J+1),this.emplace(J,R)}emplace(R,J){return this.uint32[1*R+0]=J,R}}pt.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",pt);class Et extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve,ct,At,Bt){let ar=this.length;return this.resize(ar+1),this.emplace(ar,R,J,ve,Ee,Be,Ve,ct,At,Bt)}emplace(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar){let Mr=10*R,Fr=5*R;return this.int16[Mr+0]=J,this.int16[Mr+1]=ve,this.int16[Mr+2]=Ee,this.int16[Mr+3]=Be,this.int16[Mr+4]=Ve,this.int16[Mr+5]=ct,this.uint32[Fr+3]=At,this.uint16[Mr+8]=Bt,this.uint16[Mr+9]=ar,R}}Et.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Et);class bt extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve){let ct=this.length;return this.resize(ct+1),this.emplace(ct,R,J,ve,Ee,Be,Ve)}emplace(R,J,ve,Ee,Be,Ve,ct){let At=6*R;return this.int16[At+0]=J,this.int16[At+1]=ve,this.int16[At+2]=Ee,this.int16[At+3]=Be,this.int16[At+4]=Ve,this.int16[At+5]=ct,R}}bt.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",bt);class Dt extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be){let Ve=this.length;return this.resize(Ve+1),this.emplace(Ve,R,J,ve,Ee,Be)}emplace(R,J,ve,Ee,Be,Ve){let ct=4*R,At=8*R;return this.float32[ct+0]=J,this.float32[ct+1]=ve,this.float32[ct+2]=Ee,this.int16[At+6]=Be,this.int16[At+7]=Ve,R}}Dt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",Dt);class ur extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve){let ct=this.length;return this.resize(ct+1),this.emplace(ct,R,J,ve,Ee,Be,Ve)}emplace(R,J,ve,Ee,Be,Ve,ct){let At=16*R,Bt=4*R,ar=8*R;return this.uint8[At+0]=J,this.uint8[At+1]=ve,this.float32[Bt+1]=Ee,this.float32[Bt+2]=Be,this.int16[ar+6]=Ve,this.int16[ar+7]=ct,R}}ur.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",ur);class yr extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(R,J,ve){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,R,J,ve)}emplace(R,J,ve,Ee){let Be=3*R;return this.uint16[Be+0]=J,this.uint16[Be+1]=ve,this.uint16[Be+2]=Ee,R}}yr.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",yr);class kr extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia,fa,ja,Ka){let Wi=this.length;return this.resize(Wi+1),this.emplace(Wi,R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia,fa,ja,Ka)}emplace(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia,fa,ja,Ka,Wi){let gi=24*R,qi=12*R,en=48*R;return this.int16[gi+0]=J,this.int16[gi+1]=ve,this.uint16[gi+2]=Ee,this.uint16[gi+3]=Be,this.uint32[qi+2]=Ve,this.uint32[qi+3]=ct,this.uint32[qi+4]=At,this.uint16[gi+10]=Bt,this.uint16[gi+11]=ar,this.uint16[gi+12]=Mr,this.float32[qi+7]=Fr,this.float32[qi+8]=Wr,this.uint8[en+36]=ia,this.uint8[en+37]=fa,this.uint8[en+38]=ja,this.uint32[qi+10]=Ka,this.int16[gi+22]=Wi,R}}kr.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",kr);class jr extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia,fa,ja,Ka,Wi,gi,qi,en,jn,Lo,_s,vo,zn,is,qo){let Bo=this.length;return this.resize(Bo+1),this.emplace(Bo,R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia,fa,ja,Ka,Wi,gi,qi,en,jn,Lo,_s,vo,zn,is,qo)}emplace(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia,fa,ja,Ka,Wi,gi,qi,en,jn,Lo,_s,vo,zn,is,qo,Bo){let xn=32*R,cs=16*R;return this.int16[xn+0]=J,this.int16[xn+1]=ve,this.int16[xn+2]=Ee,this.int16[xn+3]=Be,this.int16[xn+4]=Ve,this.int16[xn+5]=ct,this.int16[xn+6]=At,this.int16[xn+7]=Bt,this.uint16[xn+8]=ar,this.uint16[xn+9]=Mr,this.uint16[xn+10]=Fr,this.uint16[xn+11]=Wr,this.uint16[xn+12]=ia,this.uint16[xn+13]=fa,this.uint16[xn+14]=ja,this.uint16[xn+15]=Ka,this.uint16[xn+16]=Wi,this.uint16[xn+17]=gi,this.uint16[xn+18]=qi,this.uint16[xn+19]=en,this.uint16[xn+20]=jn,this.uint16[xn+21]=Lo,this.uint16[xn+22]=_s,this.uint32[cs+12]=vo,this.float32[cs+13]=zn,this.float32[cs+14]=is,this.uint16[xn+30]=qo,this.uint16[xn+31]=Bo,R}}jr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",jr);class Qr extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(R){let J=this.length;return this.resize(J+1),this.emplace(J,R)}emplace(R,J){return this.float32[1*R+0]=J,R}}Qr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",Qr);class ha extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(R,J,ve){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,R,J,ve)}emplace(R,J,ve,Ee){let Be=3*R;return this.uint16[6*R+0]=J,this.float32[Be+1]=ve,this.float32[Be+2]=Ee,R}}ha.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",ha);class Aa extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(R,J,ve){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,R,J,ve)}emplace(R,J,ve,Ee){let Be=4*R;return this.uint32[2*R+0]=J,this.uint16[Be+2]=ve,this.uint16[Be+3]=Ee,R}}Aa.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",Aa);class Da extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(R,J){let ve=this.length;return this.resize(ve+1),this.emplace(ve,R,J)}emplace(R,J,ve){let Ee=2*R;return this.uint16[Ee+0]=J,this.uint16[Ee+1]=ve,R}}Da.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",Da);class ci extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(R){let J=this.length;return this.resize(J+1),this.emplace(J,R)}emplace(R,J){return this.uint16[1*R+0]=J,R}}ci.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",ci);class Vi extends ze{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(R,J,ve,Ee){let Be=this.length;return this.resize(Be+1),this.emplace(Be,R,J,ve,Ee)}emplace(R,J,ve,Ee,Be){let Ve=4*R;return this.float32[Ve+0]=J,this.float32[Ve+1]=ve,this.float32[Ve+2]=Ee,this.float32[Ve+3]=Be,R}}Vi.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Vi);class ji extends Me{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new n(this.anchorPointX,this.anchorPointY)}}ji.prototype.size=20;class on extends Et{get(R){return new ji(this,R)}}mi(\"CollisionBoxArray\",on);class An extends Me{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(R){this._structArray.uint8[this._pos1+37]=R}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(R){this._structArray.uint8[this._pos1+38]=R}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(R){this._structArray.uint32[this._pos4+10]=R}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}An.prototype.size=48;class Yn extends kr{get(R){return new An(this,R)}}mi(\"PlacedSymbolArray\",Yn);class Bn extends Me{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(R){this._structArray.uint32[this._pos4+12]=R}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Bn.prototype.size=64;class Ao extends jr{get(R){return new Bn(this,R)}}mi(\"SymbolInstanceArray\",Ao);class ls extends Qr{getoffsetX(R){return this.float32[1*R+0]}}mi(\"GlyphOffsetArray\",ls);class Mo extends $t{getx(R){return this.int16[3*R+0]}gety(R){return this.int16[3*R+1]}gettileUnitDistanceFromAnchor(R){return this.int16[3*R+2]}}mi(\"SymbolLineVertexArray\",Mo);class Yo extends Me{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Yo.prototype.size=12;class ps extends ha{get(R){return new Yo(this,R)}}mi(\"TextAnchorOffsetArray\",ps);class ul extends Me{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}ul.prototype.size=8;class tl extends Aa{get(R){return new ul(this,R)}}mi(\"FeatureIndexArray\",tl);class es extends Ot{}class ts extends Ot{}class Il extends Ot{}class tu extends Sr{}class Ru extends Kr{}class vu extends na{}class wl extends qe{}class fu extends $e{}class uc extends lt{}class Gl extends pt{}class Hl extends bt{}class me extends ur{}class De extends yr{}class et extends Da{}let dt=ht([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:yt}=dt;class Tt{constructor(R=[]){this.segments=R}prepareSegment(R,J,ve,Ee){let Be=this.segments[this.segments.length-1];return R>Tt.MAX_VERTEX_ARRAY_LENGTH&&y(`Max vertices per segment is ${Tt.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${R}`),(!Be||Be.vertexLength+R>Tt.MAX_VERTEX_ARRAY_LENGTH||Be.sortKey!==Ee)&&(Be={vertexOffset:J.length,primitiveOffset:ve.length,vertexLength:0,primitiveLength:0},Ee!==void 0&&(Be.sortKey=Ee),this.segments.push(Be)),Be}get(){return this.segments}destroy(){for(let R of this.segments)for(let J in R.vaos)R.vaos[J].destroy()}static simpleSegment(R,J,ve,Ee){return new Tt([{vertexOffset:R,primitiveOffset:J,vertexLength:ve,primitiveLength:Ee,vaos:{},sortKey:0}])}}function tr(W,R){return 256*(W=w(Math.floor(W),0,255))+w(Math.floor(R),0,255)}Tt.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",Tt);let zt=ht([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var _r={exports:{}},Gr={exports:{}};Gr.exports=function(W,R){var J,ve,Ee,Be,Ve,ct,At,Bt;for(ve=W.length-(J=3&W.length),Ee=R,Ve=3432918353,ct=461845907,Bt=0;Bt>>16)*Ve&65535)<<16)&4294967295)<<15|At>>>17))*ct+(((At>>>16)*ct&65535)<<16)&4294967295)<<13|Ee>>>19))+((5*(Ee>>>16)&65535)<<16)&4294967295))+((58964+(Be>>>16)&65535)<<16);switch(At=0,J){case 3:At^=(255&W.charCodeAt(Bt+2))<<16;case 2:At^=(255&W.charCodeAt(Bt+1))<<8;case 1:Ee^=At=(65535&(At=(At=(65535&(At^=255&W.charCodeAt(Bt)))*Ve+(((At>>>16)*Ve&65535)<<16)&4294967295)<<15|At>>>17))*ct+(((At>>>16)*ct&65535)<<16)&4294967295}return Ee^=W.length,Ee=2246822507*(65535&(Ee^=Ee>>>16))+((2246822507*(Ee>>>16)&65535)<<16)&4294967295,Ee=3266489909*(65535&(Ee^=Ee>>>13))+((3266489909*(Ee>>>16)&65535)<<16)&4294967295,(Ee^=Ee>>>16)>>>0};var Xr=Gr.exports,wa={exports:{}};wa.exports=function(W,R){for(var J,ve=W.length,Ee=R^ve,Be=0;ve>=4;)J=1540483477*(65535&(J=255&W.charCodeAt(Be)|(255&W.charCodeAt(++Be))<<8|(255&W.charCodeAt(++Be))<<16|(255&W.charCodeAt(++Be))<<24))+((1540483477*(J>>>16)&65535)<<16),Ee=1540483477*(65535&Ee)+((1540483477*(Ee>>>16)&65535)<<16)^(J=1540483477*(65535&(J^=J>>>24))+((1540483477*(J>>>16)&65535)<<16)),ve-=4,++Be;switch(ve){case 3:Ee^=(255&W.charCodeAt(Be+2))<<16;case 2:Ee^=(255&W.charCodeAt(Be+1))<<8;case 1:Ee=1540483477*(65535&(Ee^=255&W.charCodeAt(Be)))+((1540483477*(Ee>>>16)&65535)<<16)}return Ee=1540483477*(65535&(Ee^=Ee>>>13))+((1540483477*(Ee>>>16)&65535)<<16),(Ee^=Ee>>>15)>>>0};var pa=Xr,Ja=wa.exports;_r.exports=pa,_r.exports.murmur3=pa,_r.exports.murmur2=Ja;var ti=r(_r.exports);class Sa{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(R,J,ve,Ee){this.ids.push(za(R)),this.positions.push(J,ve,Ee)}getPositions(R){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let J=za(R),ve=0,Ee=this.ids.length-1;for(;ve>1;this.ids[Ve]>=J?Ee=Ve:ve=Ve+1}let Be=[];for(;this.ids[ve]===J;)Be.push({index:this.positions[3*ve],start:this.positions[3*ve+1],end:this.positions[3*ve+2]}),ve++;return Be}static serialize(R,J){let ve=new Float64Array(R.ids),Ee=new Uint32Array(R.positions);return Xa(ve,Ee,0,ve.length-1),J&&J.push(ve.buffer,Ee.buffer),{ids:ve,positions:Ee}}static deserialize(R){let J=new Sa;return J.ids=R.ids,J.positions=R.positions,J.indexed=!0,J}}function za(W){let R=+W;return!isNaN(R)&&R<=Number.MAX_SAFE_INTEGER?R:ti(String(W))}function Xa(W,R,J,ve){for(;J>1],Be=J-1,Ve=ve+1;for(;;){do Be++;while(W[Be]Ee);if(Be>=Ve)break;fi(W,Be,Ve),fi(R,3*Be,3*Ve),fi(R,3*Be+1,3*Ve+1),fi(R,3*Be+2,3*Ve+2)}Ve-J`u_${Ee}`),this.type=ve}setUniform(R,J,ve){R.set(ve.constantOr(this.value))}getBinding(R,J,ve){return this.type===\"color\"?new an(R,J):new La(R,J)}}class ro{constructor(R,J){this.uniformNames=J.map(ve=>`u_${ve}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(R,J){this.pixelRatioFrom=J.pixelRatio,this.pixelRatioTo=R.pixelRatio,this.patternFrom=J.tlbr,this.patternTo=R.tlbr}setUniform(R,J,ve,Ee){let Be=Ee===\"u_pattern_to\"?this.patternTo:Ee===\"u_pattern_from\"?this.patternFrom:Ee===\"u_pixel_ratio_to\"?this.pixelRatioTo:Ee===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;Be&&R.set(Be)}getBinding(R,J,ve){return ve.substr(0,9)===\"u_pattern\"?new sn(R,J):new La(R,J)}}class $o{constructor(R,J,ve,Ee){this.expression=R,this.type=ve,this.maxValue=0,this.paintVertexAttributes=J.map(Be=>({name:`a_${Be}`,type:\"Float32\",components:ve===\"color\"?2:1,offset:0})),this.paintVertexArray=new Ee}populatePaintArray(R,J,ve,Ee,Be){let Ve=this.paintVertexArray.length,ct=this.expression.evaluate(new Fs(0),J,{},Ee,[],Be);this.paintVertexArray.resize(R),this._setPaintValue(Ve,R,ct)}updatePaintArray(R,J,ve,Ee){let Be=this.expression.evaluate({zoom:0},ve,Ee);this._setPaintValue(R,J,Be)}_setPaintValue(R,J,ve){if(this.type===\"color\"){let Ee=In(ve);for(let Be=R;Be`u_${ct}_t`),this.type=ve,this.useIntegerZoom=Ee,this.zoom=Be,this.maxValue=0,this.paintVertexAttributes=J.map(ct=>({name:`a_${ct}`,type:\"Float32\",components:ve===\"color\"?4:2,offset:0})),this.paintVertexArray=new Ve}populatePaintArray(R,J,ve,Ee,Be){let Ve=this.expression.evaluate(new Fs(this.zoom),J,{},Ee,[],Be),ct=this.expression.evaluate(new Fs(this.zoom+1),J,{},Ee,[],Be),At=this.paintVertexArray.length;this.paintVertexArray.resize(R),this._setPaintValue(At,R,Ve,ct)}updatePaintArray(R,J,ve,Ee){let Be=this.expression.evaluate({zoom:this.zoom},ve,Ee),Ve=this.expression.evaluate({zoom:this.zoom+1},ve,Ee);this._setPaintValue(R,J,Be,Ve)}_setPaintValue(R,J,ve,Ee){if(this.type===\"color\"){let Be=In(ve),Ve=In(Ee);for(let ct=R;ct`#define HAS_UNIFORM_${Ee}`))}return R}getBinderAttributes(){let R=[];for(let J in this.binders){let ve=this.binders[J];if(ve instanceof $o||ve instanceof no)for(let Ee=0;Ee!0){this.programConfigurations={};for(let Ee of R)this.programConfigurations[Ee.id]=new cl(Ee,J,ve);this.needsUpload=!1,this._featureMap=new Sa,this._bufferOffset=0}populatePaintArrays(R,J,ve,Ee,Be,Ve){for(let ct in this.programConfigurations)this.programConfigurations[ct].populatePaintArrays(R,J,Ee,Be,Ve);J.id!==void 0&&this._featureMap.add(J.id,ve,this._bufferOffset,R),this._bufferOffset=R,this.needsUpload=!0}updatePaintArrays(R,J,ve,Ee){for(let Be of ve)this.needsUpload=this.programConfigurations[Be.id].updatePaintArrays(R,this._featureMap,J,Be,Ee)||this.needsUpload}get(R){return this.programConfigurations[R]}upload(R){if(this.needsUpload){for(let J in this.programConfigurations)this.programConfigurations[J].upload(R);this.needsUpload=!1}}destroy(){for(let R in this.programConfigurations)this.programConfigurations[R].destroy()}}function _l(W,R){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[W]||[W.replace(`${R}-`,\"\").replace(/-/g,\"_\")]}function mn(W,R,J){let ve={color:{source:na,composite:Vi},number:{source:Qr,composite:na}},Ee=function(Be){return{\"line-pattern\":{source:wl,composite:wl},\"fill-pattern\":{source:wl,composite:wl},\"fill-extrusion-pattern\":{source:wl,composite:wl}}[Be]}(W);return Ee&&Ee[J]||ve[R][J]}mi(\"ConstantBinder\",Jn),mi(\"CrossFadedConstantBinder\",ro),mi(\"SourceExpressionBinder\",$o),mi(\"CrossFadedCompositeBinder\",Xo),mi(\"CompositeExpressionBinder\",no),mi(\"ProgramConfiguration\",cl,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",al);let po=8192,fs=Math.pow(2,14)-1,vs=-fs-1;function Tl(W){let R=po/W.extent,J=W.loadGeometry();for(let ve=0;veVe.x+1||AtVe.y+1)&&y(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return J}function Wl(W,R){return{type:W.type,id:W.id,properties:W.properties,geometry:R?Tl(W):[]}}function Su(W,R,J,ve,Ee){W.emplaceBack(2*R+(ve+1)/2,2*J+(Ee+1)/2)}class Rl{constructor(R){this.zoom=R.zoom,this.overscaling=R.overscaling,this.layers=R.layers,this.layerIds=this.layers.map(J=>J.id),this.index=R.index,this.hasPattern=!1,this.layoutVertexArray=new ts,this.indexArray=new De,this.segments=new Tt,this.programConfigurations=new al(R.layers,R.zoom),this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(R,J,ve){let Ee=this.layers[0],Be=[],Ve=null,ct=!1;Ee.type===\"circle\"&&(Ve=Ee.layout.get(\"circle-sort-key\"),ct=!Ve.isConstant());for(let{feature:At,id:Bt,index:ar,sourceLayerIndex:Mr}of R){let Fr=this.layers[0]._featureFilter.needGeometry,Wr=Wl(At,Fr);if(!this.layers[0]._featureFilter.filter(new Fs(this.zoom),Wr,ve))continue;let ia=ct?Ve.evaluate(Wr,{},ve):void 0,fa={id:Bt,properties:At.properties,type:At.type,sourceLayerIndex:Mr,index:ar,geometry:Fr?Wr.geometry:Tl(At),patterns:{},sortKey:ia};Be.push(fa)}ct&&Be.sort((At,Bt)=>At.sortKey-Bt.sortKey);for(let At of Be){let{geometry:Bt,index:ar,sourceLayerIndex:Mr}=At,Fr=R[ar].feature;this.addFeature(At,Bt,ar,ve),J.featureIndex.insert(Fr,Bt,ar,Mr,this.index)}}update(R,J,ve){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(R,J,this.stateDependentLayers,ve)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(R){this.uploaded||(this.layoutVertexBuffer=R.createVertexBuffer(this.layoutVertexArray,yt),this.indexBuffer=R.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(R),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(R,J,ve,Ee){for(let Be of J)for(let Ve of Be){let ct=Ve.x,At=Ve.y;if(ct<0||ct>=po||At<0||At>=po)continue;let Bt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,R.sortKey),ar=Bt.vertexLength;Su(this.layoutVertexArray,ct,At,-1,-1),Su(this.layoutVertexArray,ct,At,1,-1),Su(this.layoutVertexArray,ct,At,1,1),Su(this.layoutVertexArray,ct,At,-1,1),this.indexArray.emplaceBack(ar,ar+1,ar+2),this.indexArray.emplaceBack(ar,ar+3,ar+2),Bt.vertexLength+=4,Bt.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,R,ve,{},Ee)}}function _c(W,R){for(let J=0;J1){if(oa(W,R))return!0;for(let ve=0;ve1?J:J.sub(R)._mult(Ee)._add(R))}function Ya(W,R){let J,ve,Ee,Be=!1;for(let Ve=0;VeR.y!=Ee.y>R.y&&R.x<(Ee.x-ve.x)*(R.y-ve.y)/(Ee.y-ve.y)+ve.x&&(Be=!Be)}return Be}function bi(W,R){let J=!1;for(let ve=0,Ee=W.length-1;veR.y!=Ve.y>R.y&&R.x<(Ve.x-Be.x)*(R.y-Be.y)/(Ve.y-Be.y)+Be.x&&(J=!J)}return J}function yi(W,R,J){let ve=J[0],Ee=J[2];if(W.xEe.x&&R.x>Ee.x||W.yEe.y&&R.y>Ee.y)return!1;let Be=D(W,R,J[0]);return Be!==D(W,R,J[1])||Be!==D(W,R,J[2])||Be!==D(W,R,J[3])}function si(W,R,J){let ve=R.paint.get(W).value;return ve.kind===\"constant\"?ve.value:J.programConfigurations.get(R.id).getMaxValue(W)}function gn(W){return Math.sqrt(W[0]*W[0]+W[1]*W[1])}function zi(W,R,J,ve,Ee){if(!R[0]&&!R[1])return W;let Be=n.convert(R)._mult(Ee);J===\"viewport\"&&Be._rotate(-ve);let Ve=[];for(let ct=0;ctUa(ja,fa))}(Bt,At),Wr=Mr?ar*ct:ar;for(let ia of Ee)for(let fa of ia){let ja=Mr?fa:Ua(fa,At),Ka=Wr,Wi=hn([],[fa.x,fa.y,0,1],At);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Ka*=Wi[3]/Ve.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Ka*=Ve.cameraToCenterDistance/Wi[3]),it(Fr,ja,Ka))return!0}return!1}}function Ua(W,R){let J=hn([],[W.x,W.y,0,1],R);return new n(J[0]/J[3],J[1]/J[3])}class Yi extends Rl{}let Ri;mi(\"HeatmapBucket\",Yi,{omit:[\"layers\"]});var Ti={get paint(){return Ri=Ri||new Fe({\"heatmap-radius\":new Fo(re.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Fo(re.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new fo(re.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Yu(re.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new fo(re.paint_heatmap[\"heatmap-opacity\"])})}};function xi(W,{width:R,height:J},ve,Ee){if(Ee){if(Ee instanceof Uint8ClampedArray)Ee=new Uint8Array(Ee.buffer);else if(Ee.length!==R*J*ve)throw new RangeError(`mismatched image size. expected: ${Ee.length} but got: ${R*J*ve}`)}else Ee=new Uint8Array(R*J*ve);return W.width=R,W.height=J,W.data=Ee,W}function Xi(W,{width:R,height:J},ve){if(R===W.width&&J===W.height)return;let Ee=xi({},{width:R,height:J},ve);vn(W,Ee,{x:0,y:0},{x:0,y:0},{width:Math.min(W.width,R),height:Math.min(W.height,J)},ve),W.width=R,W.height=J,W.data=Ee.data}function vn(W,R,J,ve,Ee,Be){if(Ee.width===0||Ee.height===0)return R;if(Ee.width>W.width||Ee.height>W.height||J.x>W.width-Ee.width||J.y>W.height-Ee.height)throw new RangeError(\"out of range source coordinates for image copy\");if(Ee.width>R.width||Ee.height>R.height||ve.x>R.width-Ee.width||ve.y>R.height-Ee.height)throw new RangeError(\"out of range destination coordinates for image copy\");let Ve=W.data,ct=R.data;if(Ve===ct)throw new Error(\"srcData equals dstData, so image is already copied\");for(let At=0;At{R[W.evaluationKey]=At;let Bt=W.expression.evaluate(R);Ee.data[Ve+ct+0]=Math.floor(255*Bt.r/Bt.a),Ee.data[Ve+ct+1]=Math.floor(255*Bt.g/Bt.a),Ee.data[Ve+ct+2]=Math.floor(255*Bt.b/Bt.a),Ee.data[Ve+ct+3]=Math.floor(255*Bt.a)};if(W.clips)for(let Ve=0,ct=0;Ve80*J){ct=1/0,At=1/0;let ar=-1/0,Mr=-1/0;for(let Fr=J;Frar&&(ar=Wr),ia>Mr&&(Mr=ia)}Bt=Math.max(ar-ct,Mr-At),Bt=Bt!==0?32767/Bt:0}return ru(Be,Ve,J,ct,At,Bt,0),Ve}function Al(W,R,J,ve,Ee){let Be;if(Ee===function(Ve,ct,At,Bt){let ar=0;for(let Mr=ct,Fr=At-Bt;Mr0)for(let Ve=R;Ve=R;Ve-=ve)Be=pr(Ve/ve|0,W[Ve],W[Ve+1],Be);return Be&&ke(Be,Be.next)&&(mt(Be),Be=Be.next),Be}function El(W,R){if(!W)return W;R||(R=W);let J,ve=W;do if(J=!1,ve.steiner||!ke(ve,ve.next)&&je(ve.prev,ve,ve.next)!==0)ve=ve.next;else{if(mt(ve),ve=R=ve.prev,ve===ve.next)break;J=!0}while(J||ve!==R);return R}function ru(W,R,J,ve,Ee,Be,Ve){if(!W)return;!Ve&&Be&&function(At,Bt,ar,Mr){let Fr=At;do Fr.z===0&&(Fr.z=K(Fr.x,Fr.y,Bt,ar,Mr)),Fr.prevZ=Fr.prev,Fr.nextZ=Fr.next,Fr=Fr.next;while(Fr!==At);Fr.prevZ.nextZ=null,Fr.prevZ=null,function(Wr){let ia,fa=1;do{let ja,Ka=Wr;Wr=null;let Wi=null;for(ia=0;Ka;){ia++;let gi=Ka,qi=0;for(let jn=0;jn0||en>0&&gi;)qi!==0&&(en===0||!gi||Ka.z<=gi.z)?(ja=Ka,Ka=Ka.nextZ,qi--):(ja=gi,gi=gi.nextZ,en--),Wi?Wi.nextZ=ja:Wr=ja,ja.prevZ=Wi,Wi=ja;Ka=gi}Wi.nextZ=null,fa*=2}while(ia>1)}(Fr)}(W,ve,Ee,Be);let ct=W;for(;W.prev!==W.next;){let At=W.prev,Bt=W.next;if(Be?pl(W,ve,Ee,Be):js(W))R.push(At.i,W.i,Bt.i),mt(W),W=Bt.next,ct=Bt.next;else if((W=Bt)===ct){Ve?Ve===1?ru(W=bl(El(W),R),R,J,ve,Ee,Be,2):Ve===2&&Xn(W,R,J,ve,Ee,Be):ru(El(W),R,J,ve,Ee,Be,1);break}}}function js(W){let R=W.prev,J=W,ve=W.next;if(je(R,J,ve)>=0)return!1;let Ee=R.x,Be=J.x,Ve=ve.x,ct=R.y,At=J.y,Bt=ve.y,ar=EeBe?Ee>Ve?Ee:Ve:Be>Ve?Be:Ve,Wr=ct>At?ct>Bt?ct:Bt:At>Bt?At:Bt,ia=ve.next;for(;ia!==R;){if(ia.x>=ar&&ia.x<=Fr&&ia.y>=Mr&&ia.y<=Wr&&te(Ee,ct,Be,At,Ve,Bt,ia.x,ia.y)&&je(ia.prev,ia,ia.next)>=0)return!1;ia=ia.next}return!0}function pl(W,R,J,ve){let Ee=W.prev,Be=W,Ve=W.next;if(je(Ee,Be,Ve)>=0)return!1;let ct=Ee.x,At=Be.x,Bt=Ve.x,ar=Ee.y,Mr=Be.y,Fr=Ve.y,Wr=ctAt?ct>Bt?ct:Bt:At>Bt?At:Bt,ja=ar>Mr?ar>Fr?ar:Fr:Mr>Fr?Mr:Fr,Ka=K(Wr,ia,R,J,ve),Wi=K(fa,ja,R,J,ve),gi=W.prevZ,qi=W.nextZ;for(;gi&&gi.z>=Ka&&qi&&qi.z<=Wi;){if(gi.x>=Wr&&gi.x<=fa&&gi.y>=ia&&gi.y<=ja&&gi!==Ee&&gi!==Ve&&te(ct,ar,At,Mr,Bt,Fr,gi.x,gi.y)&&je(gi.prev,gi,gi.next)>=0||(gi=gi.prevZ,qi.x>=Wr&&qi.x<=fa&&qi.y>=ia&&qi.y<=ja&&qi!==Ee&&qi!==Ve&&te(ct,ar,At,Mr,Bt,Fr,qi.x,qi.y)&&je(qi.prev,qi,qi.next)>=0))return!1;qi=qi.nextZ}for(;gi&&gi.z>=Ka;){if(gi.x>=Wr&&gi.x<=fa&&gi.y>=ia&&gi.y<=ja&&gi!==Ee&&gi!==Ve&&te(ct,ar,At,Mr,Bt,Fr,gi.x,gi.y)&&je(gi.prev,gi,gi.next)>=0)return!1;gi=gi.prevZ}for(;qi&&qi.z<=Wi;){if(qi.x>=Wr&&qi.x<=fa&&qi.y>=ia&&qi.y<=ja&&qi!==Ee&&qi!==Ve&&te(ct,ar,At,Mr,Bt,Fr,qi.x,qi.y)&&je(qi.prev,qi,qi.next)>=0)return!1;qi=qi.nextZ}return!0}function bl(W,R){let J=W;do{let ve=J.prev,Ee=J.next.next;!ke(ve,Ee)&&Qe(ve,J,J.next,Ee)&&br(ve,Ee)&&br(Ee,ve)&&(R.push(ve.i,J.i,Ee.i),mt(J),mt(J.next),J=W=Ee),J=J.next}while(J!==W);return El(J)}function Xn(W,R,J,ve,Ee,Be){let Ve=W;do{let ct=Ve.next.next;for(;ct!==Ve.prev;){if(Ve.i!==ct.i&&ye(Ve,ct)){let At=Nr(Ve,ct);return Ve=El(Ve,Ve.next),At=El(At,At.next),ru(Ve,R,J,ve,Ee,Be,0),void ru(At,R,J,ve,Ee,Be,0)}ct=ct.next}Ve=Ve.next}while(Ve!==W)}function kl(W,R){return W.x-R.x}function Io(W,R){let J=function(Ee,Be){let Ve=Be,ct=Ee.x,At=Ee.y,Bt,ar=-1/0;do{if(At<=Ve.y&&At>=Ve.next.y&&Ve.next.y!==Ve.y){let fa=Ve.x+(At-Ve.y)*(Ve.next.x-Ve.x)/(Ve.next.y-Ve.y);if(fa<=ct&&fa>ar&&(ar=fa,Bt=Ve.x=Ve.x&&Ve.x>=Fr&&ct!==Ve.x&&te(AtBt.x||Ve.x===Bt.x&&ge(Bt,Ve)))&&(Bt=Ve,ia=fa)}Ve=Ve.next}while(Ve!==Mr);return Bt}(W,R);if(!J)return R;let ve=Nr(J,W);return El(ve,ve.next),El(J,J.next)}function ge(W,R){return je(W.prev,W,R.prev)<0&&je(R.next,W,W.next)<0}function K(W,R,J,ve,Ee){return(W=1431655765&((W=858993459&((W=252645135&((W=16711935&((W=(W-J)*Ee|0)|W<<8))|W<<4))|W<<2))|W<<1))|(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-ve)*Ee|0)|R<<8))|R<<4))|R<<2))|R<<1))<<1}function xe(W){let R=W,J=W;do(R.x=(W-Ve)*(Be-ct)&&(W-Ve)*(ve-ct)>=(J-Ve)*(R-ct)&&(J-Ve)*(Be-ct)>=(Ee-Ve)*(ve-ct)}function ye(W,R){return W.next.i!==R.i&&W.prev.i!==R.i&&!function(J,ve){let Ee=J;do{if(Ee.i!==J.i&&Ee.next.i!==J.i&&Ee.i!==ve.i&&Ee.next.i!==ve.i&&Qe(Ee,Ee.next,J,ve))return!0;Ee=Ee.next}while(Ee!==J);return!1}(W,R)&&(br(W,R)&&br(R,W)&&function(J,ve){let Ee=J,Be=!1,Ve=(J.x+ve.x)/2,ct=(J.y+ve.y)/2;do Ee.y>ct!=Ee.next.y>ct&&Ee.next.y!==Ee.y&&Ve<(Ee.next.x-Ee.x)*(ct-Ee.y)/(Ee.next.y-Ee.y)+Ee.x&&(Be=!Be),Ee=Ee.next;while(Ee!==J);return Be}(W,R)&&(je(W.prev,W,R.prev)||je(W,R.prev,R))||ke(W,R)&&je(W.prev,W,W.next)>0&&je(R.prev,R,R.next)>0)}function je(W,R,J){return(R.y-W.y)*(J.x-R.x)-(R.x-W.x)*(J.y-R.y)}function ke(W,R){return W.x===R.x&&W.y===R.y}function Qe(W,R,J,ve){let Ee=jt(je(W,R,J)),Be=jt(je(W,R,ve)),Ve=jt(je(J,ve,W)),ct=jt(je(J,ve,R));return Ee!==Be&&Ve!==ct||!(Ee!==0||!vt(W,J,R))||!(Be!==0||!vt(W,ve,R))||!(Ve!==0||!vt(J,W,ve))||!(ct!==0||!vt(J,R,ve))}function vt(W,R,J){return R.x<=Math.max(W.x,J.x)&&R.x>=Math.min(W.x,J.x)&&R.y<=Math.max(W.y,J.y)&&R.y>=Math.min(W.y,J.y)}function jt(W){return W>0?1:W<0?-1:0}function br(W,R){return je(W.prev,W,W.next)<0?je(W,R,W.next)>=0&&je(W,W.prev,R)>=0:je(W,R,W.prev)<0||je(W,W.next,R)<0}function Nr(W,R){let J=Mt(W.i,W.x,W.y),ve=Mt(R.i,R.x,R.y),Ee=W.next,Be=R.prev;return W.next=R,R.prev=W,J.next=Ee,Ee.prev=J,ve.next=J,J.prev=ve,Be.next=ve,ve.prev=Be,ve}function pr(W,R,J,ve){let Ee=Mt(W,R,J);return ve?(Ee.next=ve.next,Ee.prev=ve,ve.next.prev=Ee,ve.next=Ee):(Ee.prev=Ee,Ee.next=Ee),Ee}function mt(W){W.next.prev=W.prev,W.prev.next=W.next,W.prevZ&&(W.prevZ.nextZ=W.nextZ),W.nextZ&&(W.nextZ.prevZ=W.prevZ)}function Mt(W,R,J){return{i:W,x:R,y:J,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Ft(W,R,J){let ve=J.patternDependencies,Ee=!1;for(let Be of R){let Ve=Be.paint.get(`${W}-pattern`);Ve.isConstant()||(Ee=!0);let ct=Ve.constantOr(null);ct&&(Ee=!0,ve[ct.to]=!0,ve[ct.from]=!0)}return Ee}function rr(W,R,J,ve,Ee){let Be=Ee.patternDependencies;for(let Ve of R){let ct=Ve.paint.get(`${W}-pattern`).value;if(ct.kind!==\"constant\"){let At=ct.evaluate({zoom:ve-1},J,{},Ee.availableImages),Bt=ct.evaluate({zoom:ve},J,{},Ee.availableImages),ar=ct.evaluate({zoom:ve+1},J,{},Ee.availableImages);At=At&&At.name?At.name:At,Bt=Bt&&Bt.name?Bt.name:Bt,ar=ar&&ar.name?ar.name:ar,Be[At]=!0,Be[Bt]=!0,Be[ar]=!0,J.patterns[Ve.id]={min:At,mid:Bt,max:ar}}}return J}class hr{constructor(R){this.zoom=R.zoom,this.overscaling=R.overscaling,this.layers=R.layers,this.layerIds=this.layers.map(J=>J.id),this.index=R.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Il,this.indexArray=new De,this.indexArray2=new et,this.programConfigurations=new al(R.layers,R.zoom),this.segments=new Tt,this.segments2=new Tt,this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(R,J,ve){this.hasPattern=Ft(\"fill\",this.layers,J);let Ee=this.layers[0].layout.get(\"fill-sort-key\"),Be=!Ee.isConstant(),Ve=[];for(let{feature:ct,id:At,index:Bt,sourceLayerIndex:ar}of R){let Mr=this.layers[0]._featureFilter.needGeometry,Fr=Wl(ct,Mr);if(!this.layers[0]._featureFilter.filter(new Fs(this.zoom),Fr,ve))continue;let Wr=Be?Ee.evaluate(Fr,{},ve,J.availableImages):void 0,ia={id:At,properties:ct.properties,type:ct.type,sourceLayerIndex:ar,index:Bt,geometry:Mr?Fr.geometry:Tl(ct),patterns:{},sortKey:Wr};Ve.push(ia)}Be&&Ve.sort((ct,At)=>ct.sortKey-At.sortKey);for(let ct of Ve){let{geometry:At,index:Bt,sourceLayerIndex:ar}=ct;if(this.hasPattern){let Mr=rr(\"fill\",this.layers,ct,this.zoom,J);this.patternFeatures.push(Mr)}else this.addFeature(ct,At,Bt,ve,{});J.featureIndex.insert(R[Bt].feature,At,Bt,ar,this.index)}}update(R,J,ve){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(R,J,this.stateDependentLayers,ve)}addFeatures(R,J,ve){for(let Ee of this.patternFeatures)this.addFeature(Ee,Ee.geometry,Ee.index,J,ve)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(R){this.uploaded||(this.layoutVertexBuffer=R.createVertexBuffer(this.layoutVertexArray,Xl),this.indexBuffer=R.createIndexBuffer(this.indexArray),this.indexBuffer2=R.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(R),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(R,J,ve,Ee,Be){for(let Ve of Tc(J,500)){let ct=0;for(let Wr of Ve)ct+=Wr.length;let At=this.segments.prepareSegment(ct,this.layoutVertexArray,this.indexArray),Bt=At.vertexLength,ar=[],Mr=[];for(let Wr of Ve){if(Wr.length===0)continue;Wr!==Ve[0]&&Mr.push(ar.length/2);let ia=this.segments2.prepareSegment(Wr.length,this.layoutVertexArray,this.indexArray2),fa=ia.vertexLength;this.layoutVertexArray.emplaceBack(Wr[0].x,Wr[0].y),this.indexArray2.emplaceBack(fa+Wr.length-1,fa),ar.push(Wr[0].x),ar.push(Wr[0].y);for(let ja=1;ja>3}if(Ee--,ve===1||ve===2)Be+=W.readSVarint(),Ve+=W.readSVarint(),ve===1&&(R&&ct.push(R),R=[]),R.push(new ya(Be,Ve));else{if(ve!==7)throw new Error(\"unknown command \"+ve);R&&R.push(R[0].clone())}}return R&&ct.push(R),ct},Ga.prototype.bbox=function(){var W=this._pbf;W.pos=this._geometry;for(var R=W.readVarint()+W.pos,J=1,ve=0,Ee=0,Be=0,Ve=1/0,ct=-1/0,At=1/0,Bt=-1/0;W.pos>3}if(ve--,J===1||J===2)(Ee+=W.readSVarint())ct&&(ct=Ee),(Be+=W.readSVarint())Bt&&(Bt=Be);else if(J!==7)throw new Error(\"unknown command \"+J)}return[Ve,At,ct,Bt]},Ga.prototype.toGeoJSON=function(W,R,J){var ve,Ee,Be=this.extent*Math.pow(2,J),Ve=this.extent*W,ct=this.extent*R,At=this.loadGeometry(),Bt=Ga.types[this.type];function ar(Wr){for(var ia=0;ia>3;Ee=Ve===1?ve.readString():Ve===2?ve.readFloat():Ve===3?ve.readDouble():Ve===4?ve.readVarint64():Ve===5?ve.readVarint():Ve===6?ve.readSVarint():Ve===7?ve.readBoolean():null}return Ee}(J))}_i.prototype.feature=function(W){if(W<0||W>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[W];var R=this._pbf.readVarint()+this._pbf.pos;return new Fi(this._pbf,R,this.extent,this._keys,this._values)};var Ui=ui;function fn(W,R,J){if(W===3){var ve=new Ui(J,J.readVarint()+J.pos);ve.length&&(R[ve.name]=ve)}}Jr.VectorTile=function(W,R){this.layers=W.readFields(fn,{},R)},Jr.VectorTileFeature=vi,Jr.VectorTileLayer=ui;let _o=Jr.VectorTileFeature.types,Uo=Math.pow(2,13);function Ds(W,R,J,ve,Ee,Be,Ve,ct){W.emplaceBack(R,J,2*Math.floor(ve*Uo)+Ve,Ee*Uo*2,Be*Uo*2,Math.round(ct))}class Oo{constructor(R){this.zoom=R.zoom,this.overscaling=R.overscaling,this.layers=R.layers,this.layerIds=this.layers.map(J=>J.id),this.index=R.index,this.hasPattern=!1,this.layoutVertexArray=new tu,this.centroidVertexArray=new es,this.indexArray=new De,this.programConfigurations=new al(R.layers,R.zoom),this.segments=new Tt,this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(R,J,ve){this.features=[],this.hasPattern=Ft(\"fill-extrusion\",this.layers,J);for(let{feature:Ee,id:Be,index:Ve,sourceLayerIndex:ct}of R){let At=this.layers[0]._featureFilter.needGeometry,Bt=Wl(Ee,At);if(!this.layers[0]._featureFilter.filter(new Fs(this.zoom),Bt,ve))continue;let ar={id:Be,sourceLayerIndex:ct,index:Ve,geometry:At?Bt.geometry:Tl(Ee),properties:Ee.properties,type:Ee.type,patterns:{}};this.hasPattern?this.features.push(rr(\"fill-extrusion\",this.layers,ar,this.zoom,J)):this.addFeature(ar,ar.geometry,Ve,ve,{}),J.featureIndex.insert(Ee,ar.geometry,Ve,ct,this.index,!0)}}addFeatures(R,J,ve){for(let Ee of this.features){let{geometry:Be}=Ee;this.addFeature(Ee,Be,Ee.index,J,ve)}}update(R,J,ve){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(R,J,this.stateDependentLayers,ve)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(R){this.uploaded||(this.layoutVertexBuffer=R.createVertexBuffer(this.layoutVertexArray,zr),this.centroidVertexBuffer=R.createVertexBuffer(this.centroidVertexArray,Vt.members,!0),this.indexBuffer=R.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(R),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(R,J,ve,Ee,Be){for(let Ve of Tc(J,500)){let ct={x:0,y:0,vertexCount:0},At=0;for(let ia of Ve)At+=ia.length;let Bt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ia of Ve){if(ia.length===0||Ys(ia))continue;let fa=0;for(let ja=0;ja=1){let Wi=ia[ja-1];if(!ks(Ka,Wi)){Bt.vertexLength+4>Tt.MAX_VERTEX_ARRAY_LENGTH&&(Bt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let gi=Ka.sub(Wi)._perp()._unit(),qi=Wi.dist(Ka);fa+qi>32768&&(fa=0),Ds(this.layoutVertexArray,Ka.x,Ka.y,gi.x,gi.y,0,0,fa),Ds(this.layoutVertexArray,Ka.x,Ka.y,gi.x,gi.y,0,1,fa),ct.x+=2*Ka.x,ct.y+=2*Ka.y,ct.vertexCount+=2,fa+=qi,Ds(this.layoutVertexArray,Wi.x,Wi.y,gi.x,gi.y,0,0,fa),Ds(this.layoutVertexArray,Wi.x,Wi.y,gi.x,gi.y,0,1,fa),ct.x+=2*Wi.x,ct.y+=2*Wi.y,ct.vertexCount+=2;let en=Bt.vertexLength;this.indexArray.emplaceBack(en,en+2,en+1),this.indexArray.emplaceBack(en+1,en+2,en+3),Bt.vertexLength+=4,Bt.primitiveLength+=2}}}}if(Bt.vertexLength+At>Tt.MAX_VERTEX_ARRAY_LENGTH&&(Bt=this.segments.prepareSegment(At,this.layoutVertexArray,this.indexArray)),_o[R.type]!==\"Polygon\")continue;let ar=[],Mr=[],Fr=Bt.vertexLength;for(let ia of Ve)if(ia.length!==0){ia!==Ve[0]&&Mr.push(ar.length/2);for(let fa=0;fapo)||W.y===R.y&&(W.y<0||W.y>po)}function Ys(W){return W.every(R=>R.x<0)||W.every(R=>R.x>po)||W.every(R=>R.y<0)||W.every(R=>R.y>po)}let mu;mi(\"FillExtrusionBucket\",Oo,{omit:[\"layers\",\"features\"]});var Ep={get paint(){return mu=mu||new Fe({\"fill-extrusion-opacity\":new fo(re[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Fo(re[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new fo(re[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new fo(re[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Dc(re[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Fo(re[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Fo(re[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new fo(re[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class kp extends ie{constructor(R){super(R,Ep)}createBucket(R){return new Oo(R)}queryRadius(){return gn(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(R,J,ve,Ee,Be,Ve,ct,At){let Bt=zi(R,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Ve.angle,ct),ar=this.paint.get(\"fill-extrusion-height\").evaluate(J,ve),Mr=this.paint.get(\"fill-extrusion-base\").evaluate(J,ve),Fr=function(ia,fa,ja,Ka){let Wi=[];for(let gi of ia){let qi=[gi.x,gi.y,0,1];hn(qi,qi,fa),Wi.push(new n(qi[0]/qi[3],qi[1]/qi[3]))}return Wi}(Bt,At),Wr=function(ia,fa,ja,Ka){let Wi=[],gi=[],qi=Ka[8]*fa,en=Ka[9]*fa,jn=Ka[10]*fa,Lo=Ka[11]*fa,_s=Ka[8]*ja,vo=Ka[9]*ja,zn=Ka[10]*ja,is=Ka[11]*ja;for(let qo of ia){let Bo=[],xn=[];for(let cs of qo){let No=cs.x,Is=cs.y,Ku=Ka[0]*No+Ka[4]*Is+Ka[12],Uu=Ka[1]*No+Ka[5]*Is+Ka[13],th=Ka[2]*No+Ka[6]*Is+Ka[14],Hp=Ka[3]*No+Ka[7]*Is+Ka[15],Th=th+jn,rh=Hp+Lo,Jh=Ku+_s,$h=Uu+vo,Qh=th+zn,ff=Hp+is,ah=new n((Ku+qi)/rh,(Uu+en)/rh);ah.z=Th/rh,Bo.push(ah);let Fh=new n(Jh/ff,$h/ff);Fh.z=Qh/ff,xn.push(Fh)}Wi.push(Bo),gi.push(xn)}return[Wi,gi]}(Ee,Mr,ar,At);return function(ia,fa,ja){let Ka=1/0;Xt(ja,fa)&&(Ka=qp(ja,fa[0]));for(let Wi=0;WiJ.id),this.index=R.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(J=>{this.gradients[J.id]={}}),this.layoutVertexArray=new Ru,this.layoutVertexArray2=new vu,this.indexArray=new De,this.programConfigurations=new al(R.layers,R.zoom),this.segments=new Tt,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(J=>J.isStateDependent()).map(J=>J.id)}populate(R,J,ve){this.hasPattern=Ft(\"line\",this.layers,J);let Ee=this.layers[0].layout.get(\"line-sort-key\"),Be=!Ee.isConstant(),Ve=[];for(let{feature:ct,id:At,index:Bt,sourceLayerIndex:ar}of R){let Mr=this.layers[0]._featureFilter.needGeometry,Fr=Wl(ct,Mr);if(!this.layers[0]._featureFilter.filter(new Fs(this.zoom),Fr,ve))continue;let Wr=Be?Ee.evaluate(Fr,{},ve):void 0,ia={id:At,properties:ct.properties,type:ct.type,sourceLayerIndex:ar,index:Bt,geometry:Mr?Fr.geometry:Tl(ct),patterns:{},sortKey:Wr};Ve.push(ia)}Be&&Ve.sort((ct,At)=>ct.sortKey-At.sortKey);for(let ct of Ve){let{geometry:At,index:Bt,sourceLayerIndex:ar}=ct;if(this.hasPattern){let Mr=rr(\"line\",this.layers,ct,this.zoom,J);this.patternFeatures.push(Mr)}else this.addFeature(ct,At,Bt,ve,{});J.featureIndex.insert(R[Bt].feature,At,Bt,ar,this.index)}}update(R,J,ve){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(R,J,this.stateDependentLayers,ve)}addFeatures(R,J,ve){for(let Ee of this.patternFeatures)this.addFeature(Ee,Ee.geometry,Ee.index,J,ve)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(R){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=R.createVertexBuffer(this.layoutVertexArray2,td)),this.layoutVertexBuffer=R.createVertexBuffer(this.layoutVertexArray,ed),this.indexBuffer=R.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(R),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(R){if(R.properties&&Object.prototype.hasOwnProperty.call(R.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(R.properties,\"mapbox_clip_end\"))return{start:+R.properties.mapbox_clip_start,end:+R.properties.mapbox_clip_end}}addFeature(R,J,ve,Ee,Be){let Ve=this.layers[0].layout,ct=Ve.get(\"line-join\").evaluate(R,{}),At=Ve.get(\"line-cap\"),Bt=Ve.get(\"line-miter-limit\"),ar=Ve.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(R);for(let Mr of J)this.addLine(Mr,R,ct,At,Bt,ar);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,R,ve,Be,Ee)}addLine(R,J,ve,Ee,Be,Ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Ka=0;Ka=2&&R[At-1].equals(R[At-2]);)At--;let Bt=0;for(;Bt0;if(Lo&&Ka>Bt){let is=Fr.dist(Wr);if(is>2*ar){let qo=Fr.sub(Fr.sub(Wr)._mult(ar/is)._round());this.updateDistance(Wr,qo),this.addCurrentVertex(qo,fa,0,0,Mr),Wr=qo}}let vo=Wr&&ia,zn=vo?ve:ct?\"butt\":Ee;if(vo&&zn===\"round\"&&(enBe&&(zn=\"bevel\"),zn===\"bevel\"&&(en>2&&(zn=\"flipbevel\"),en100)Wi=ja.mult(-1);else{let is=en*fa.add(ja).mag()/fa.sub(ja).mag();Wi._perp()._mult(is*(_s?-1:1))}this.addCurrentVertex(Fr,Wi,0,0,Mr),this.addCurrentVertex(Fr,Wi.mult(-1),0,0,Mr)}else if(zn===\"bevel\"||zn===\"fakeround\"){let is=-Math.sqrt(en*en-1),qo=_s?is:0,Bo=_s?0:is;if(Wr&&this.addCurrentVertex(Fr,fa,qo,Bo,Mr),zn===\"fakeround\"){let xn=Math.round(180*jn/Math.PI/20);for(let cs=1;cs2*ar){let qo=Fr.add(ia.sub(Fr)._mult(ar/is)._round());this.updateDistance(Fr,qo),this.addCurrentVertex(qo,ja,0,0,Mr),Fr=qo}}}}addCurrentVertex(R,J,ve,Ee,Be,Ve=!1){let ct=J.y*Ee-J.x,At=-J.y-J.x*Ee;this.addHalfVertex(R,J.x+J.y*ve,J.y-J.x*ve,Ve,!1,ve,Be),this.addHalfVertex(R,ct,At,Ve,!0,-Ee,Be),this.distance>Cp/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(R,J,ve,Ee,Be,Ve))}addHalfVertex({x:R,y:J},ve,Ee,Be,Ve,ct,At){let Bt=.5*(this.lineClips?this.scaledDistance*(Cp-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((R<<1)+(Be?1:0),(J<<1)+(Ve?1:0),Math.round(63*ve)+128,Math.round(63*Ee)+128,1+(ct===0?0:ct<0?-1:1)|(63&Bt)<<2,Bt>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let ar=At.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,ar),At.primitiveLength++),Ve?this.e2=ar:this.e1=ar}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(R,J){this.distance+=R.dist(J),this.updateScaledDistance()}}let Lp,Cv;mi(\"LineBucket\",Vp,{omit:[\"layers\",\"patternFeatures\"]});var Vd={get paint(){return Cv=Cv||new Fe({\"line-opacity\":new Fo(re.paint_line[\"line-opacity\"]),\"line-color\":new Fo(re.paint_line[\"line-color\"]),\"line-translate\":new fo(re.paint_line[\"line-translate\"]),\"line-translate-anchor\":new fo(re.paint_line[\"line-translate-anchor\"]),\"line-width\":new Fo(re.paint_line[\"line-width\"]),\"line-gap-width\":new Fo(re.paint_line[\"line-gap-width\"]),\"line-offset\":new Fo(re.paint_line[\"line-offset\"]),\"line-blur\":new Fo(re.paint_line[\"line-blur\"]),\"line-dasharray\":new lc(re.paint_line[\"line-dasharray\"]),\"line-pattern\":new Dc(re.paint_line[\"line-pattern\"]),\"line-gradient\":new Yu(re.paint_line[\"line-gradient\"])})},get layout(){return Lp=Lp||new Fe({\"line-cap\":new fo(re.layout_line[\"line-cap\"]),\"line-join\":new Fo(re.layout_line[\"line-join\"]),\"line-miter-limit\":new fo(re.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new fo(re.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Fo(re.layout_line[\"line-sort-key\"])})}};class Gf extends Fo{possiblyEvaluate(R,J){return J=new Fs(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),super.possiblyEvaluate(R,J)}evaluate(R,J,ve,Ee){return J=M({},J,{zoom:Math.floor(J.zoom)}),super.evaluate(R,J,ve,Ee)}}let Gd;class Lv extends ie{constructor(R){super(R,Vd),this.gradientVersion=0,Gd||(Gd=new Gf(Vd.paint.properties[\"line-width\"].specification),Gd.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(R){if(R===\"line-gradient\"){let J=this.gradientExpression();this.stepInterpolant=!!function(ve){return ve._styleExpression!==void 0}(J)&&J._styleExpression.expression instanceof ba,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(R,J){super.recalculate(R,J),this.paint._values[\"line-floorwidth\"]=Gd.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,R)}createBucket(R){return new Vp(R)}queryRadius(R){let J=R,ve=ph(si(\"line-width\",this,J),si(\"line-gap-width\",this,J)),Ee=si(\"line-offset\",this,J);return ve/2+Math.abs(Ee)+gn(this.paint.get(\"line-translate\"))}queryIntersectsFeature(R,J,ve,Ee,Be,Ve,ct){let At=zi(R,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Ve.angle,ct),Bt=ct/2*ph(this.paint.get(\"line-width\").evaluate(J,ve),this.paint.get(\"line-gap-width\").evaluate(J,ve)),ar=this.paint.get(\"line-offset\").evaluate(J,ve);return ar&&(Ee=function(Mr,Fr){let Wr=[];for(let ia=0;ia=3){for(let ja=0;ja0?R+2*W:W}let iv=ht([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),nm=ht([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);ht([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let om=ht([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);ht([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let Pv=ht([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),nv=ht([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function ov(W,R,J){return W.sections.forEach(ve=>{ve.text=function(Ee,Be,Ve){let ct=Be.layout.get(\"text-transform\").evaluate(Ve,{});return ct===\"uppercase\"?Ee=Ee.toLocaleUpperCase():ct===\"lowercase\"&&(Ee=Ee.toLocaleLowerCase()),Js.applyArabicShaping&&(Ee=Js.applyArabicShaping(Ee)),Ee}(ve.text,R,J)}),W}ht([{name:\"triangle\",components:3,type:\"Uint16\"}]),ht([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),ht([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),ht([{type:\"Float32\",name:\"offsetX\"}]),ht([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),ht([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let cc={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var hu=24,Dh=Mu,Iv=function(W,R,J,ve,Ee){var Be,Ve,ct=8*Ee-ve-1,At=(1<>1,ar=-7,Mr=J?Ee-1:0,Fr=J?-1:1,Wr=W[R+Mr];for(Mr+=Fr,Be=Wr&(1<<-ar)-1,Wr>>=-ar,ar+=ct;ar>0;Be=256*Be+W[R+Mr],Mr+=Fr,ar-=8);for(Ve=Be&(1<<-ar)-1,Be>>=-ar,ar+=ve;ar>0;Ve=256*Ve+W[R+Mr],Mr+=Fr,ar-=8);if(Be===0)Be=1-Bt;else{if(Be===At)return Ve?NaN:1/0*(Wr?-1:1);Ve+=Math.pow(2,ve),Be-=Bt}return(Wr?-1:1)*Ve*Math.pow(2,Be-ve)},sm=function(W,R,J,ve,Ee,Be){var Ve,ct,At,Bt=8*Be-Ee-1,ar=(1<>1,Fr=Ee===23?Math.pow(2,-24)-Math.pow(2,-77):0,Wr=ve?0:Be-1,ia=ve?1:-1,fa=R<0||R===0&&1/R<0?1:0;for(R=Math.abs(R),isNaN(R)||R===1/0?(ct=isNaN(R)?1:0,Ve=ar):(Ve=Math.floor(Math.log(R)/Math.LN2),R*(At=Math.pow(2,-Ve))<1&&(Ve--,At*=2),(R+=Ve+Mr>=1?Fr/At:Fr*Math.pow(2,1-Mr))*At>=2&&(Ve++,At/=2),Ve+Mr>=ar?(ct=0,Ve=ar):Ve+Mr>=1?(ct=(R*At-1)*Math.pow(2,Ee),Ve+=Mr):(ct=R*Math.pow(2,Mr-1)*Math.pow(2,Ee),Ve=0));Ee>=8;W[J+Wr]=255&ct,Wr+=ia,ct/=256,Ee-=8);for(Ve=Ve<0;W[J+Wr]=255&Ve,Wr+=ia,Ve/=256,Bt-=8);W[J+Wr-ia]|=128*fa};function Mu(W){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(W)?W:new Uint8Array(W||0),this.pos=0,this.type=0,this.length=this.buf.length}Mu.Varint=0,Mu.Fixed64=1,Mu.Bytes=2,Mu.Fixed32=5;var w0=4294967296,sv=1/w0,xg=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf-8\");function Pp(W){return W.type===Mu.Bytes?W.readVarint()+W.pos:W.pos+1}function lv(W,R,J){return J?4294967296*R+(W>>>0):4294967296*(R>>>0)+(W>>>0)}function bg(W,R,J){var ve=R<=16383?1:R<=2097151?2:R<=268435455?3:Math.floor(Math.log(R)/(7*Math.LN2));J.realloc(ve);for(var Ee=J.pos-1;Ee>=W;Ee--)J.buf[Ee+ve]=J.buf[Ee]}function T0(W,R){for(var J=0;J>>8,W[J+2]=R>>>16,W[J+3]=R>>>24}function Lx(W,R){return(W[R]|W[R+1]<<8|W[R+2]<<16)+(W[R+3]<<24)}Mu.prototype={destroy:function(){this.buf=null},readFields:function(W,R,J){for(J=J||this.length;this.pos>3,Be=this.pos;this.type=7&ve,W(Ee,R,this),this.pos===Be&&this.skip(ve)}return R},readMessage:function(W,R){return this.readFields(W,R,this.readVarint()+this.pos)},readFixed32:function(){var W=Rv(this.buf,this.pos);return this.pos+=4,W},readSFixed32:function(){var W=Lx(this.buf,this.pos);return this.pos+=4,W},readFixed64:function(){var W=Rv(this.buf,this.pos)+Rv(this.buf,this.pos+4)*w0;return this.pos+=8,W},readSFixed64:function(){var W=Rv(this.buf,this.pos)+Lx(this.buf,this.pos+4)*w0;return this.pos+=8,W},readFloat:function(){var W=Iv(this.buf,this.pos,!0,23,4);return this.pos+=4,W},readDouble:function(){var W=Iv(this.buf,this.pos,!0,52,8);return this.pos+=8,W},readVarint:function(W){var R,J,ve=this.buf;return R=127&(J=ve[this.pos++]),J<128?R:(R|=(127&(J=ve[this.pos++]))<<7,J<128?R:(R|=(127&(J=ve[this.pos++]))<<14,J<128?R:(R|=(127&(J=ve[this.pos++]))<<21,J<128?R:function(Ee,Be,Ve){var ct,At,Bt=Ve.buf;if(ct=(112&(At=Bt[Ve.pos++]))>>4,At<128||(ct|=(127&(At=Bt[Ve.pos++]))<<3,At<128)||(ct|=(127&(At=Bt[Ve.pos++]))<<10,At<128)||(ct|=(127&(At=Bt[Ve.pos++]))<<17,At<128)||(ct|=(127&(At=Bt[Ve.pos++]))<<24,At<128)||(ct|=(1&(At=Bt[Ve.pos++]))<<31,At<128))return lv(Ee,ct,Be);throw new Error(\"Expected varint not more than 10 bytes\")}(R|=(15&(J=ve[this.pos]))<<28,W,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var W=this.readVarint();return W%2==1?(W+1)/-2:W/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var W=this.readVarint()+this.pos,R=this.pos;return this.pos=W,W-R>=12&&xg?function(J,ve,Ee){return xg.decode(J.subarray(ve,Ee))}(this.buf,R,W):function(J,ve,Ee){for(var Be=\"\",Ve=ve;Ve239?4:ar>223?3:ar>191?2:1;if(Ve+Fr>Ee)break;Fr===1?ar<128&&(Mr=ar):Fr===2?(192&(ct=J[Ve+1]))==128&&(Mr=(31&ar)<<6|63&ct)<=127&&(Mr=null):Fr===3?(At=J[Ve+2],(192&(ct=J[Ve+1]))==128&&(192&At)==128&&((Mr=(15&ar)<<12|(63&ct)<<6|63&At)<=2047||Mr>=55296&&Mr<=57343)&&(Mr=null)):Fr===4&&(At=J[Ve+2],Bt=J[Ve+3],(192&(ct=J[Ve+1]))==128&&(192&At)==128&&(192&Bt)==128&&((Mr=(15&ar)<<18|(63&ct)<<12|(63&At)<<6|63&Bt)<=65535||Mr>=1114112)&&(Mr=null)),Mr===null?(Mr=65533,Fr=1):Mr>65535&&(Mr-=65536,Be+=String.fromCharCode(Mr>>>10&1023|55296),Mr=56320|1023&Mr),Be+=String.fromCharCode(Mr),Ve+=Fr}return Be}(this.buf,R,W)},readBytes:function(){var W=this.readVarint()+this.pos,R=this.buf.subarray(this.pos,W);return this.pos=W,R},readPackedVarint:function(W,R){if(this.type!==Mu.Bytes)return W.push(this.readVarint(R));var J=Pp(this);for(W=W||[];this.pos127;);else if(R===Mu.Bytes)this.pos=this.readVarint()+this.pos;else if(R===Mu.Fixed32)this.pos+=4;else{if(R!==Mu.Fixed64)throw new Error(\"Unimplemented type: \"+R);this.pos+=8}},writeTag:function(W,R){this.writeVarint(W<<3|R)},realloc:function(W){for(var R=this.length||16;R268435455||W<0?function(R,J){var ve,Ee;if(R>=0?(ve=R%4294967296|0,Ee=R/4294967296|0):(Ee=~(-R/4294967296),4294967295^(ve=~(-R%4294967296))?ve=ve+1|0:(ve=0,Ee=Ee+1|0)),R>=18446744073709552e3||R<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");J.realloc(10),function(Be,Ve,ct){ct.buf[ct.pos++]=127&Be|128,Be>>>=7,ct.buf[ct.pos++]=127&Be|128,Be>>>=7,ct.buf[ct.pos++]=127&Be|128,Be>>>=7,ct.buf[ct.pos++]=127&Be|128,ct.buf[ct.pos]=127&(Be>>>=7)}(ve,0,J),function(Be,Ve){var ct=(7&Be)<<4;Ve.buf[Ve.pos++]|=ct|((Be>>>=3)?128:0),Be&&(Ve.buf[Ve.pos++]=127&Be|((Be>>>=7)?128:0),Be&&(Ve.buf[Ve.pos++]=127&Be|((Be>>>=7)?128:0),Be&&(Ve.buf[Ve.pos++]=127&Be|((Be>>>=7)?128:0),Be&&(Ve.buf[Ve.pos++]=127&Be|((Be>>>=7)?128:0),Be&&(Ve.buf[Ve.pos++]=127&Be)))))}(Ee,J)}(W,this):(this.realloc(4),this.buf[this.pos++]=127&W|(W>127?128:0),W<=127||(this.buf[this.pos++]=127&(W>>>=7)|(W>127?128:0),W<=127||(this.buf[this.pos++]=127&(W>>>=7)|(W>127?128:0),W<=127||(this.buf[this.pos++]=W>>>7&127))))},writeSVarint:function(W){this.writeVarint(W<0?2*-W-1:2*W)},writeBoolean:function(W){this.writeVarint(!!W)},writeString:function(W){W=String(W),this.realloc(4*W.length),this.pos++;var R=this.pos;this.pos=function(ve,Ee,Be){for(var Ve,ct,At=0;At55295&&Ve<57344){if(!ct){Ve>56319||At+1===Ee.length?(ve[Be++]=239,ve[Be++]=191,ve[Be++]=189):ct=Ve;continue}if(Ve<56320){ve[Be++]=239,ve[Be++]=191,ve[Be++]=189,ct=Ve;continue}Ve=ct-55296<<10|Ve-56320|65536,ct=null}else ct&&(ve[Be++]=239,ve[Be++]=191,ve[Be++]=189,ct=null);Ve<128?ve[Be++]=Ve:(Ve<2048?ve[Be++]=Ve>>6|192:(Ve<65536?ve[Be++]=Ve>>12|224:(ve[Be++]=Ve>>18|240,ve[Be++]=Ve>>12&63|128),ve[Be++]=Ve>>6&63|128),ve[Be++]=63&Ve|128)}return Be}(this.buf,W,this.pos);var J=this.pos-R;J>=128&&bg(R,J,this),this.pos=R-1,this.writeVarint(J),this.pos+=J},writeFloat:function(W){this.realloc(4),sm(this.buf,W,this.pos,!0,23,4),this.pos+=4},writeDouble:function(W){this.realloc(8),sm(this.buf,W,this.pos,!0,52,8),this.pos+=8},writeBytes:function(W){var R=W.length;this.writeVarint(R),this.realloc(R);for(var J=0;J=128&&bg(J,ve,this),this.pos=J-1,this.writeVarint(ve),this.pos+=ve},writeMessage:function(W,R,J){this.writeTag(W,Mu.Bytes),this.writeRawMessage(R,J)},writePackedVarint:function(W,R){R.length&&this.writeMessage(W,T0,R)},writePackedSVarint:function(W,R){R.length&&this.writeMessage(W,UT,R)},writePackedBoolean:function(W,R){R.length&&this.writeMessage(W,VT,R)},writePackedFloat:function(W,R){R.length&&this.writeMessage(W,jT,R)},writePackedDouble:function(W,R){R.length&&this.writeMessage(W,qT,R)},writePackedFixed32:function(W,R){R.length&&this.writeMessage(W,vk,R)},writePackedSFixed32:function(W,R){R.length&&this.writeMessage(W,GT,R)},writePackedFixed64:function(W,R){R.length&&this.writeMessage(W,HT,R)},writePackedSFixed64:function(W,R){R.length&&this.writeMessage(W,WT,R)},writeBytesField:function(W,R){this.writeTag(W,Mu.Bytes),this.writeBytes(R)},writeFixed32Field:function(W,R){this.writeTag(W,Mu.Fixed32),this.writeFixed32(R)},writeSFixed32Field:function(W,R){this.writeTag(W,Mu.Fixed32),this.writeSFixed32(R)},writeFixed64Field:function(W,R){this.writeTag(W,Mu.Fixed64),this.writeFixed64(R)},writeSFixed64Field:function(W,R){this.writeTag(W,Mu.Fixed64),this.writeSFixed64(R)},writeVarintField:function(W,R){this.writeTag(W,Mu.Varint),this.writeVarint(R)},writeSVarintField:function(W,R){this.writeTag(W,Mu.Varint),this.writeSVarint(R)},writeStringField:function(W,R){this.writeTag(W,Mu.Bytes),this.writeString(R)},writeFloatField:function(W,R){this.writeTag(W,Mu.Fixed32),this.writeFloat(R)},writeDoubleField:function(W,R){this.writeTag(W,Mu.Fixed64),this.writeDouble(R)},writeBooleanField:function(W,R){this.writeVarintField(W,!!R)}};var P1=r(Dh);let I1=3;function mk(W,R,J){W===1&&J.readMessage(XT,R)}function XT(W,R,J){if(W===3){let{id:ve,bitmap:Ee,width:Be,height:Ve,left:ct,top:At,advance:Bt}=J.readMessage(Px,{});R.push({id:ve,bitmap:new Rn({width:Be+2*I1,height:Ve+2*I1},Ee),metrics:{width:Be,height:Ve,left:ct,top:At,advance:Bt}})}}function Px(W,R,J){W===1?R.id=J.readVarint():W===2?R.bitmap=J.readBytes():W===3?R.width=J.readVarint():W===4?R.height=J.readVarint():W===5?R.left=J.readSVarint():W===6?R.top=J.readSVarint():W===7&&(R.advance=J.readVarint())}let Ix=I1;function R1(W){let R=0,J=0;for(let Ve of W)R+=Ve.w*Ve.h,J=Math.max(J,Ve.w);W.sort((Ve,ct)=>ct.h-Ve.h);let ve=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(R/.95)),J),h:1/0}],Ee=0,Be=0;for(let Ve of W)for(let ct=ve.length-1;ct>=0;ct--){let At=ve[ct];if(!(Ve.w>At.w||Ve.h>At.h)){if(Ve.x=At.x,Ve.y=At.y,Be=Math.max(Be,Ve.y+Ve.h),Ee=Math.max(Ee,Ve.x+Ve.w),Ve.w===At.w&&Ve.h===At.h){let Bt=ve.pop();ct=0&&ve>=R&&Ag[this.text.charCodeAt(ve)];ve--)J--;this.text=this.text.substring(R,J),this.sectionIndex=this.sectionIndex.slice(R,J)}substring(R,J){let ve=new lm;return ve.text=this.text.substring(R,J),ve.sectionIndex=this.sectionIndex.slice(R,J),ve.sections=this.sections,ve}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((R,J)=>Math.max(R,this.sections[J].scale),0)}addTextSection(R,J){this.text+=R.text,this.sections.push(S0.forText(R.scale,R.fontStack||J));let ve=this.sections.length-1;for(let Ee=0;Ee=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function M0(W,R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia){let fa=lm.fromFeature(W,Ee),ja;Mr===e.ah.vertical&&fa.verticalizePunctuation();let{processBidirectionalText:Ka,processStyledBidirectionalText:Wi}=Js;if(Ka&&fa.sections.length===1){ja=[];let en=Ka(fa.toString(),um(fa,Bt,Be,R,ve,Wr));for(let jn of en){let Lo=new lm;Lo.text=jn,Lo.sections=fa.sections;for(let _s=0;_s0&&Xp>yf&&(yf=Xp)}else{let zc=Lo[pu.fontStack],Pf=zc&&zc[Ju];if(Pf&&Pf.rect)vm=Pf.rect,Qc=Pf.metrics;else{let Xp=jn[pu.fontStack],Zd=Xp&&Xp[Ju];if(!Zd)continue;Qc=Zd.metrics}Dp=(ah-pu.scale)*hu}Wp?(en.verticalizable=!0,dh.push({glyph:Ju,imageName:_d,x:Is,y:Ku+Dp,vertical:Wp,scale:pu.scale,fontStack:pu.fontStack,sectionIndex:fc,metrics:Qc,rect:vm}),Is+=fd*pu.scale+xn):(dh.push({glyph:Ju,imageName:_d,x:Is,y:Ku+Dp,vertical:Wp,scale:pu.scale,fontStack:pu.fontStack,sectionIndex:fc,metrics:Qc,rect:vm}),Is+=Qc.advance*pu.scale+xn)}dh.length!==0&&(Uu=Math.max(Is-xn,Uu),uv(dh,0,dh.length-1,Hp,yf)),Is=0;let Rp=zn*ah+yf;Ah.lineOffset=Math.max(yf,Fh),Ku+=Rp,th=Math.max(Rp,th),++Th}var rh;let Jh=Ku-eh,{horizontalAlign:$h,verticalAlign:Qh}=Mg(is);(function(ff,ah,Fh,Ah,dh,yf,Rp,vp,pu){let fc=(ah-Fh)*dh,Ju=0;Ju=yf!==Rp?-vp*Ah-eh:(-Ah*pu+.5)*Rp;for(let Dp of ff)for(let Qc of Dp.positionedGlyphs)Qc.x+=fc,Qc.y+=Ju})(en.positionedLines,Hp,$h,Qh,Uu,th,zn,Jh,vo.length),en.top+=-Qh*Jh,en.bottom=en.top+Jh,en.left+=-$h*Uu,en.right=en.left+Uu}(qi,R,J,ve,ja,Ve,ct,At,Mr,Bt,Fr,ia),!function(en){for(let jn of en)if(jn.positionedGlyphs.length!==0)return!1;return!0}(gi)&&qi}let Ag={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ZT={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},YT={40:!0};function Rx(W,R,J,ve,Ee,Be){if(R.imageName){let Ve=ve[R.imageName];return Ve?Ve.displaySize[0]*R.scale*hu/Be+Ee:0}{let Ve=J[R.fontStack],ct=Ve&&Ve[W];return ct?ct.metrics.advance*R.scale+Ee:0}}function Dx(W,R,J,ve){let Ee=Math.pow(W-R,2);return ve?W=0,Bt=0;for(let Mr=0;MrBt){let ar=Math.ceil(Be/Bt);Ee*=ar/Ve,Ve=ar}return{x1:ve,y1:Ee,x2:ve+Be,y2:Ee+Ve}}function Ox(W,R,J,ve,Ee,Be){let Ve=W.image,ct;if(Ve.content){let ja=Ve.content,Ka=Ve.pixelRatio||1;ct=[ja[0]/Ka,ja[1]/Ka,Ve.displaySize[0]-ja[2]/Ka,Ve.displaySize[1]-ja[3]/Ka]}let At=R.left*Be,Bt=R.right*Be,ar,Mr,Fr,Wr;J===\"width\"||J===\"both\"?(Wr=Ee[0]+At-ve[3],Mr=Ee[0]+Bt+ve[1]):(Wr=Ee[0]+(At+Bt-Ve.displaySize[0])/2,Mr=Wr+Ve.displaySize[0]);let ia=R.top*Be,fa=R.bottom*Be;return J===\"height\"||J===\"both\"?(ar=Ee[1]+ia-ve[0],Fr=Ee[1]+fa+ve[2]):(ar=Ee[1]+(ia+fa-Ve.displaySize[1])/2,Fr=ar+Ve.displaySize[1]),{image:Ve,top:ar,right:Mr,bottom:Fr,left:Wr,collisionPadding:ct}}let k0=255,yd=128,cv=k0*yd;function Bx(W,R){let{expression:J}=R;if(J.kind===\"constant\")return{kind:\"constant\",layoutSize:J.evaluate(new Fs(W+1))};if(J.kind===\"source\")return{kind:\"source\"};{let{zoomStops:ve,interpolationType:Ee}=J,Be=0;for(;BeVe.id),this.index=R.index,this.pixelRatio=R.pixelRatio,this.sourceLayerIndex=R.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=di([]),this.placementViewportMatrix=di([]);let J=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Bx(this.zoom,J[\"text-size\"]),this.iconSizeData=Bx(this.zoom,J[\"icon-size\"]);let ve=this.layers[0].layout,Ee=ve.get(\"symbol-sort-key\"),Be=ve.get(\"symbol-z-order\");this.canOverlap=D1(ve,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||D1(ve,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||ve.get(\"text-ignore-placement\")||ve.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=Be!==\"viewport-y\"&&!Ee.isConstant(),this.sortFeaturesByY=(Be===\"viewport-y\"||Be===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,ve.get(\"symbol-placement\")===\"point\"&&(this.writingModes=ve.get(\"text-writing-mode\").map(Ve=>e.ah[Ve])),this.stateDependentLayerIds=this.layers.filter(Ve=>Ve.isStateDependent()).map(Ve=>Ve.id),this.sourceID=R.sourceID}createArrays(){this.text=new O1(new al(this.layers,this.zoom,R=>/^text/.test(R))),this.icon=new O1(new al(this.layers,this.zoom,R=>/^icon/.test(R))),this.glyphOffsetArray=new ls,this.lineVertexArray=new Mo,this.symbolInstances=new Ao,this.textAnchorOffsets=new ps}calculateGlyphDependencies(R,J,ve,Ee,Be){for(let Ve=0;Ve0)&&(Ve.value.kind!==\"constant\"||Ve.value.value.length>0),ar=At.value.kind!==\"constant\"||!!At.value.value||Object.keys(At.parameters).length>0,Mr=Be.get(\"symbol-sort-key\");if(this.features=[],!Bt&&!ar)return;let Fr=J.iconDependencies,Wr=J.glyphDependencies,ia=J.availableImages,fa=new Fs(this.zoom);for(let{feature:ja,id:Ka,index:Wi,sourceLayerIndex:gi}of R){let qi=Ee._featureFilter.needGeometry,en=Wl(ja,qi);if(!Ee._featureFilter.filter(fa,en,ve))continue;let jn,Lo;if(qi||(en.geometry=Tl(ja)),Bt){let vo=Ee.getValueAndResolveTokens(\"text-field\",en,ve,ia),zn=ra.factory(vo),is=this.hasRTLText=this.hasRTLText||F1(zn);(!is||Js.getRTLTextPluginStatus()===\"unavailable\"||is&&Js.isParsed())&&(jn=ov(zn,Ee,en))}if(ar){let vo=Ee.getValueAndResolveTokens(\"icon-image\",en,ve,ia);Lo=vo instanceof Za?vo:Za.fromString(vo)}if(!jn&&!Lo)continue;let _s=this.sortFeaturesByKey?Mr.evaluate(en,{},ve):void 0;if(this.features.push({id:Ka,text:jn,icon:Lo,index:Wi,sourceLayerIndex:gi,geometry:en.geometry,properties:ja.properties,type:JT[ja.type],sortKey:_s}),Lo&&(Fr[Lo.name]=!0),jn){let vo=Ve.evaluate(en,{},ve).join(\",\"),zn=Be.get(\"text-rotation-alignment\")!==\"viewport\"&&Be.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.ah.vertical)>=0;for(let is of jn.sections)if(is.image)Fr[is.image.name]=!0;else{let qo=yo(jn.toString()),Bo=is.fontStack||vo,xn=Wr[Bo]=Wr[Bo]||{};this.calculateGlyphDependencies(is.text,xn,zn,this.allowVerticalPlacement,qo)}}}Be.get(\"symbol-placement\")===\"line\"&&(this.features=function(ja){let Ka={},Wi={},gi=[],qi=0;function en(vo){gi.push(ja[vo]),qi++}function jn(vo,zn,is){let qo=Wi[vo];return delete Wi[vo],Wi[zn]=qo,gi[qo].geometry[0].pop(),gi[qo].geometry[0]=gi[qo].geometry[0].concat(is[0]),qo}function Lo(vo,zn,is){let qo=Ka[zn];return delete Ka[zn],Ka[vo]=qo,gi[qo].geometry[0].shift(),gi[qo].geometry[0]=is[0].concat(gi[qo].geometry[0]),qo}function _s(vo,zn,is){let qo=is?zn[0][zn[0].length-1]:zn[0][0];return`${vo}:${qo.x}:${qo.y}`}for(let vo=0;vovo.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((ja,Ka)=>ja.sortKey-Ka.sortKey)}update(R,J,ve){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(R,J,this.layers,ve),this.icon.programConfigurations.updatePaintArrays(R,J,this.layers,ve))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(R){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(R),this.iconCollisionBox.upload(R)),this.text.upload(R,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(R,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(R,J){let ve=this.lineVertexArray.length;if(R.segment!==void 0){let Ee=R.dist(J[R.segment+1]),Be=R.dist(J[R.segment]),Ve={};for(let ct=R.segment+1;ct=0;ct--)Ve[ct]={x:J[ct].x,y:J[ct].y,tileUnitDistanceFromAnchor:Be},ct>0&&(Be+=J[ct-1].dist(J[ct]));for(let ct=0;ct0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(R,J){let ve=R.placedSymbolArray.get(J),Ee=ve.vertexStartIndex+4*ve.numGlyphs;for(let Be=ve.vertexStartIndex;BeEe[ct]-Ee[At]||Be[At]-Be[ct]),Ve}addToSortKeyRanges(R,J){let ve=this.sortKeyRanges[this.sortKeyRanges.length-1];ve&&ve.sortKey===J?ve.symbolInstanceEnd=R+1:this.sortKeyRanges.push({sortKey:J,symbolInstanceStart:R,symbolInstanceEnd:R+1})}sortFeatures(R){if(this.sortFeaturesByY&&this.sortedAngle!==R&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(R),this.sortedAngle=R,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let J of this.symbolInstanceIndexes){let ve=this.symbolInstances.get(J);this.featureSortOrder.push(ve.featureIndex),[ve.rightJustifiedTextSymbolIndex,ve.centerJustifiedTextSymbolIndex,ve.leftJustifiedTextSymbolIndex].forEach((Ee,Be,Ve)=>{Ee>=0&&Ve.indexOf(Ee)===Be&&this.addIndicesForPlacedSymbol(this.text,Ee)}),ve.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,ve.verticalPlacedTextSymbolIndex),ve.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,ve.placedIconSymbolIndex),ve.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,ve.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let cf,C0;mi(\"SymbolBucket\",cm,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),cm.MAX_GLYPHS=65535,cm.addDynamicAttributes=z1;var kg={get paint(){return C0=C0||new Fe({\"icon-opacity\":new Fo(re.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Fo(re.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Fo(re.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Fo(re.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Fo(re.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new fo(re.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new fo(re.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Fo(re.paint_symbol[\"text-opacity\"]),\"text-color\":new Fo(re.paint_symbol[\"text-color\"],{runtimeType:qt,getOverride:W=>W.textColor,hasOverride:W=>!!W.textColor}),\"text-halo-color\":new Fo(re.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Fo(re.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Fo(re.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new fo(re.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new fo(re.paint_symbol[\"text-translate-anchor\"])})},get layout(){return cf=cf||new Fe({\"symbol-placement\":new fo(re.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new fo(re.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new fo(re.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Fo(re.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new fo(re.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new fo(re.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new fo(re.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new fo(re.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new fo(re.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new fo(re.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Fo(re.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new fo(re.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new fo(re.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Fo(re.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Fo(re.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Fo(re.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new fo(re.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Fo(re.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Fo(re.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new fo(re.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new fo(re.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new fo(re.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Fo(re.layout_symbol[\"text-field\"]),\"text-font\":new Fo(re.layout_symbol[\"text-font\"]),\"text-size\":new Fo(re.layout_symbol[\"text-size\"]),\"text-max-width\":new Fo(re.layout_symbol[\"text-max-width\"]),\"text-line-height\":new fo(re.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Fo(re.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Fo(re.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Fo(re.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new fo(re.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new Fo(re.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new Fo(re.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new fo(re.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new fo(re.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Fo(re.layout_symbol[\"text-rotate\"]),\"text-padding\":new fo(re.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new fo(re.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Fo(re.layout_symbol[\"text-transform\"]),\"text-offset\":new Fo(re.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new fo(re.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new fo(re.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new fo(re.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new fo(re.layout_symbol[\"text-optional\"])})}};class L0{constructor(R){if(R.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=R.property.overrides?R.property.overrides.runtimeType:rt,this.defaultValue=R}evaluate(R){if(R.formattedSection){let J=this.defaultValue.property.overrides;if(J&&J.hasOverride(R.formattedSection))return J.getOverride(R.formattedSection)}return R.feature&&R.featureState?this.defaultValue.evaluate(R.feature,R.featureState):this.defaultValue.property.specification.default}eachChild(R){this.defaultValue.isConstant()||R(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",L0,{omit:[\"defaultValue\"]});class Dv extends ie{constructor(R){super(R,kg)}recalculate(R,J){if(super.recalculate(R,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let ve=this.layout.get(\"text-writing-mode\");if(ve){let Ee=[];for(let Be of ve)Ee.indexOf(Be)<0&&Ee.push(Be);this.layout._values[\"text-writing-mode\"]=Ee}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(R,J,ve,Ee){let Be=this.layout.get(R).evaluate(J,{},ve,Ee),Ve=this._unevaluatedLayout._values[R];return Ve.isDataDriven()||Mc(Ve.value)||!Be?Be:function(ct,At){return At.replace(/{([^{}]+)}/g,(Bt,ar)=>ct&&ar in ct?String(ct[ar]):\"\")}(J.properties,Be)}createBucket(R){return new cm(R)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let R of kg.paint.overridableProperties){if(!Dv.hasPaintOverride(this.layout,R))continue;let J=this.paint.get(R),ve=new L0(J),Ee=new Lu(ve,J.property.specification),Be=null;Be=J.value.kind===\"constant\"||J.value.kind===\"source\"?new vc(\"source\",Ee):new yu(\"composite\",Ee,J.value.zoomStops),this.paint._values[R]=new Au(J.property,Be,J.parameters)}}_handleOverridablePaintPropertyUpdate(R,J,ve){return!(!this.layout||J.isDataDriven()||ve.isDataDriven())&&Dv.hasPaintOverride(this.layout,R)}static hasPaintOverride(R,J){let ve=R.get(\"text-field\"),Ee=kg.paint.properties[J],Be=!1,Ve=ct=>{for(let At of ct)if(Ee.overrides&&Ee.overrides.hasOverride(At))return void(Be=!0)};if(ve.value.kind===\"constant\"&&ve.value.value instanceof ra)Ve(ve.value.value.sections);else if(ve.value.kind===\"source\"){let ct=Bt=>{Be||(Bt instanceof tn&&Ia(Bt.value)===qr?Ve(Bt.value.sections):Bt instanceof ss?Ve(Bt.sections):Bt.eachChild(ct))},At=ve.value;At._styleExpression&&ct(At._styleExpression.expression)}return Be}}let Nx;var P0={get paint(){return Nx=Nx||new Fe({\"background-color\":new fo(re.paint_background[\"background-color\"]),\"background-pattern\":new lc(re.paint_background[\"background-pattern\"]),\"background-opacity\":new fo(re.paint_background[\"background-opacity\"])})}};class QT extends ie{constructor(R){super(R,P0)}}let B1;var Ux={get paint(){return B1=B1||new Fe({\"raster-opacity\":new fo(re.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new fo(re.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new fo(re.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new fo(re.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new fo(re.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new fo(re.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new fo(re.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new fo(re.paint_raster[\"raster-fade-duration\"])})}};class I0 extends ie{constructor(R){super(R,Ux)}}class N1 extends ie{constructor(R){super(R,{}),this.onAdd=J=>{this.implementation.onAdd&&this.implementation.onAdd(J,J.painter.context.gl)},this.onRemove=J=>{this.implementation.onRemove&&this.implementation.onRemove(J,J.painter.context.gl)},this.implementation=R}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class U1{constructor(R){this._methodToThrottle=R,this._triggered=!1,typeof MessageChannel<\"u\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let j1=63710088e-1;class Hd{constructor(R,J){if(isNaN(R)||isNaN(J))throw new Error(`Invalid LngLat object: (${R}, ${J})`);if(this.lng=+R,this.lat=+J,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new Hd(S(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(R){let J=Math.PI/180,ve=this.lat*J,Ee=R.lat*J,Be=Math.sin(ve)*Math.sin(Ee)+Math.cos(ve)*Math.cos(Ee)*Math.cos((R.lng-this.lng)*J);return j1*Math.acos(Math.min(Be,1))}static convert(R){if(R instanceof Hd)return R;if(Array.isArray(R)&&(R.length===2||R.length===3))return new Hd(Number(R[0]),Number(R[1]));if(!Array.isArray(R)&&typeof R==\"object\"&&R!==null)return new Hd(Number(\"lng\"in R?R.lng:R.lon),Number(R.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let fm=2*Math.PI*j1;function jx(W){return fm*Math.cos(W*Math.PI/180)}function Cg(W){return(180+W)/360}function qx(W){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+W*Math.PI/360)))/360}function Lg(W,R){return W/jx(R)}function R0(W){return 360/Math.PI*Math.atan(Math.exp((180-360*W)*Math.PI/180))-90}class D0{constructor(R,J,ve=0){this.x=+R,this.y=+J,this.z=+ve}static fromLngLat(R,J=0){let ve=Hd.convert(R);return new D0(Cg(ve.lng),qx(ve.lat),Lg(J,ve.lat))}toLngLat(){return new Hd(360*this.x-180,R0(this.y))}toAltitude(){return this.z*jx(R0(this.y))}meterInMercatorCoordinateUnits(){return 1/fm*(R=R0(this.y),1/Math.cos(R*Math.PI/180));var R}}function rd(W,R,J){var ve=2*Math.PI*6378137/256/Math.pow(2,J);return[W*ve-2*Math.PI*6378137/2,R*ve-2*Math.PI*6378137/2]}class q1{constructor(R,J,ve){if(!function(Ee,Be,Ve){return!(Ee<0||Ee>25||Ve<0||Ve>=Math.pow(2,Ee)||Be<0||Be>=Math.pow(2,Ee))}(R,J,ve))throw new Error(`x=${J}, y=${ve}, z=${R} outside of bounds. 0<=x<${Math.pow(2,R)}, 0<=y<${Math.pow(2,R)} 0<=z<=25 `);this.z=R,this.x=J,this.y=ve,this.key=z0(0,R,R,J,ve)}equals(R){return this.z===R.z&&this.x===R.x&&this.y===R.y}url(R,J,ve){let Ee=(Ve=this.y,ct=this.z,At=rd(256*(Be=this.x),256*(Ve=Math.pow(2,ct)-Ve-1),ct),Bt=rd(256*(Be+1),256*(Ve+1),ct),At[0]+\",\"+At[1]+\",\"+Bt[0]+\",\"+Bt[1]);var Be,Ve,ct,At,Bt;let ar=function(Mr,Fr,Wr){let ia,fa=\"\";for(let ja=Mr;ja>0;ja--)ia=1<1?\"@2x\":\"\").replace(/{quadkey}/g,ar).replace(/{bbox-epsg-3857}/g,Ee)}isChildOf(R){let J=this.z-R.z;return J>0&&R.x===this.x>>J&&R.y===this.y>>J}getTilePoint(R){let J=Math.pow(2,this.z);return new n((R.x*J-this.x)*po,(R.y*J-this.y)*po)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Vx{constructor(R,J){this.wrap=R,this.canonical=J,this.key=z0(R,J.z,J.z,J.x,J.y)}}class Gp{constructor(R,J,ve,Ee,Be){if(R= z; overscaledZ = ${R}; z = ${ve}`);this.overscaledZ=R,this.wrap=J,this.canonical=new q1(ve,+Ee,+Be),this.key=z0(J,R,ve,Ee,Be)}clone(){return new Gp(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(R){return this.overscaledZ===R.overscaledZ&&this.wrap===R.wrap&&this.canonical.equals(R.canonical)}scaledTo(R){if(R>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${R}; overscaledZ = ${this.overscaledZ}`);let J=this.canonical.z-R;return R>this.canonical.z?new Gp(R,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Gp(R,this.wrap,R,this.canonical.x>>J,this.canonical.y>>J)}calculateScaledKey(R,J){if(R>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${R}; overscaledZ = ${this.overscaledZ}`);let ve=this.canonical.z-R;return R>this.canonical.z?z0(this.wrap*+J,R,this.canonical.z,this.canonical.x,this.canonical.y):z0(this.wrap*+J,R,R,this.canonical.x>>ve,this.canonical.y>>ve)}isChildOf(R){if(R.wrap!==this.wrap)return!1;let J=this.canonical.z-R.canonical.z;return R.overscaledZ===0||R.overscaledZ>J&&R.canonical.y===this.canonical.y>>J}children(R){if(this.overscaledZ>=R)return[new Gp(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let J=this.canonical.z+1,ve=2*this.canonical.x,Ee=2*this.canonical.y;return[new Gp(J,this.wrap,J,ve,Ee),new Gp(J,this.wrap,J,ve+1,Ee),new Gp(J,this.wrap,J,ve,Ee+1),new Gp(J,this.wrap,J,ve+1,Ee+1)]}isLessThan(R){return this.wrapR.wrap)&&(this.overscaledZR.overscaledZ)&&(this.canonical.xR.canonical.x)&&this.canonical.ythis.max&&(this.max=Mr),Mr=this.dim+1||J<-1||J>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(J+1)*this.stride+(R+1)}unpack(R,J,ve){return R*this.redFactor+J*this.greenFactor+ve*this.blueFactor-this.baseShift}getPixels(){return new Ii({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(R,J,ve){if(this.dim!==R.dim)throw new Error(\"dem dimension mismatch\");let Ee=J*this.dim,Be=J*this.dim+this.dim,Ve=ve*this.dim,ct=ve*this.dim+this.dim;switch(J){case-1:Ee=Be-1;break;case 1:Be=Ee+1}switch(ve){case-1:Ve=ct-1;break;case 1:ct=Ve+1}let At=-J*this.dim,Bt=-ve*this.dim;for(let ar=Ve;ar=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${R} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[R]}}class V1{constructor(R,J,ve,Ee,Be){this.type=\"Feature\",this._vectorTileFeature=R,R._z=J,R._x=ve,R._y=Ee,this.properties=R.properties,this.id=Be}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(R){this._geometry=R}toJSON(){let R={geometry:this.geometry};for(let J in this)J!==\"_geometry\"&&J!==\"_vectorTileFeature\"&&(R[J]=this[J]);return R}}class zv{constructor(R,J){this.tileID=R,this.x=R.canonical.x,this.y=R.canonical.y,this.z=R.canonical.z,this.grid=new Di(po,16,0),this.grid3D=new Di(po,16,0),this.featureIndexArray=new tl,this.promoteId=J}insert(R,J,ve,Ee,Be,Ve){let ct=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(ve,Ee,Be);let At=Ve?this.grid3D:this.grid;for(let Bt=0;Bt=0&&Mr[3]>=0&&At.insert(ct,Mr[0],Mr[1],Mr[2],Mr[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Jr.VectorTile(new P1(this.rawTileData)).layers,this.sourceLayerCoder=new Hx(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(R,J,ve,Ee){this.loadVTLayers();let Be=R.params||{},Ve=po/R.tileSize/R.scale,ct=Ec(Be.filter),At=R.queryGeometry,Bt=R.queryPadding*Ve,ar=Xx(At),Mr=this.grid.query(ar.minX-Bt,ar.minY-Bt,ar.maxX+Bt,ar.maxY+Bt),Fr=Xx(R.cameraQueryGeometry),Wr=this.grid3D.query(Fr.minX-Bt,Fr.minY-Bt,Fr.maxX+Bt,Fr.maxY+Bt,(ja,Ka,Wi,gi)=>function(qi,en,jn,Lo,_s){for(let zn of qi)if(en<=zn.x&&jn<=zn.y&&Lo>=zn.x&&_s>=zn.y)return!0;let vo=[new n(en,jn),new n(en,_s),new n(Lo,_s),new n(Lo,jn)];if(qi.length>2){for(let zn of vo)if(bi(qi,zn))return!0}for(let zn=0;zn(gi||(gi=Tl(qi)),en.queryIntersectsFeature(At,qi,jn,gi,this.z,R.transform,Ve,R.pixelPosMatrix)))}return ia}loadMatchingFeature(R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr){let Fr=this.bucketLayerIDs[J];if(Ve&&!function(ja,Ka){for(let Wi=0;Wi=0)return!0;return!1}(Ve,Fr))return;let Wr=this.sourceLayerCoder.decode(ve),ia=this.vtLayers[Wr].feature(Ee);if(Be.needGeometry){let ja=Wl(ia,!0);if(!Be.filter(new Fs(this.tileID.overscaledZ),ja,this.tileID.canonical))return}else if(!Be.filter(new Fs(this.tileID.overscaledZ),ia))return;let fa=this.getId(ia,Wr);for(let ja=0;ja{let ct=R instanceof yc?R.get(Ve):null;return ct&&ct.evaluate?ct.evaluate(J,ve,Ee):ct})}function Xx(W){let R=1/0,J=1/0,ve=-1/0,Ee=-1/0;for(let Be of W)R=Math.min(R,Be.x),J=Math.min(J,Be.y),ve=Math.max(ve,Be.x),Ee=Math.max(Ee,Be.y);return{minX:R,minY:J,maxX:ve,maxY:Ee}}function eA(W,R){return R-W}function Zx(W,R,J,ve,Ee){let Be=[];for(let Ve=0;Ve=ve&&Mr.x>=ve||(ar.x>=ve?ar=new n(ve,ar.y+(ve-ar.x)/(Mr.x-ar.x)*(Mr.y-ar.y))._round():Mr.x>=ve&&(Mr=new n(ve,ar.y+(ve-ar.x)/(Mr.x-ar.x)*(Mr.y-ar.y))._round()),ar.y>=Ee&&Mr.y>=Ee||(ar.y>=Ee?ar=new n(ar.x+(Ee-ar.y)/(Mr.y-ar.y)*(Mr.x-ar.x),Ee)._round():Mr.y>=Ee&&(Mr=new n(ar.x+(Ee-ar.y)/(Mr.y-ar.y)*(Mr.x-ar.x),Ee)._round()),At&&ar.equals(At[At.length-1])||(At=[ar],Be.push(At)),At.push(Mr)))))}}return Be}mi(\"FeatureIndex\",zv,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class Wd extends n{constructor(R,J,ve,Ee){super(R,J),this.angle=ve,Ee!==void 0&&(this.segment=Ee)}clone(){return new Wd(this.x,this.y,this.angle,this.segment)}}function G1(W,R,J,ve,Ee){if(R.segment===void 0||J===0)return!0;let Be=R,Ve=R.segment+1,ct=0;for(;ct>-J/2;){if(Ve--,Ve<0)return!1;ct-=W[Ve].dist(Be),Be=W[Ve]}ct+=W[Ve].dist(W[Ve+1]),Ve++;let At=[],Bt=0;for(;ctve;)Bt-=At.shift().angleDelta;if(Bt>Ee)return!1;Ve++,ct+=ar.dist(Mr)}return!0}function Yx(W){let R=0;for(let J=0;JBt){let ia=(Bt-At)/Wr,fa=En.number(Mr.x,Fr.x,ia),ja=En.number(Mr.y,Fr.y,ia),Ka=new Wd(fa,ja,Fr.angleTo(Mr),ar);return Ka._round(),!Ve||G1(W,Ka,ct,Ve,R)?Ka:void 0}At+=Wr}}function rA(W,R,J,ve,Ee,Be,Ve,ct,At){let Bt=Kx(ve,Be,Ve),ar=Jx(ve,Ee),Mr=ar*Ve,Fr=W[0].x===0||W[0].x===At||W[0].y===0||W[0].y===At;return R-Mr=0&&qi=0&&en=0&&Fr+Bt<=ar){let jn=new Wd(qi,en,Wi,ia);jn._round(),ve&&!G1(W,jn,Be,ve,Ee)||Wr.push(jn)}}Mr+=Ka}return ct||Wr.length||Ve||(Wr=$x(W,Mr/2,J,ve,Ee,Be,Ve,!0,At)),Wr}mi(\"Anchor\",Wd);let hm=zh;function Qx(W,R,J,ve){let Ee=[],Be=W.image,Ve=Be.pixelRatio,ct=Be.paddedRect.w-2*hm,At=Be.paddedRect.h-2*hm,Bt={x1:W.left,y1:W.top,x2:W.right,y2:W.bottom},ar=Be.stretchX||[[0,ct]],Mr=Be.stretchY||[[0,At]],Fr=(xn,cs)=>xn+cs[1]-cs[0],Wr=ar.reduce(Fr,0),ia=Mr.reduce(Fr,0),fa=ct-Wr,ja=At-ia,Ka=0,Wi=Wr,gi=0,qi=ia,en=0,jn=fa,Lo=0,_s=ja;if(Be.content&&ve){let xn=Be.content,cs=xn[2]-xn[0],No=xn[3]-xn[1];(Be.textFitWidth||Be.textFitHeight)&&(Bt=Fx(W)),Ka=Xd(ar,0,xn[0]),gi=Xd(Mr,0,xn[1]),Wi=Xd(ar,xn[0],xn[2]),qi=Xd(Mr,xn[1],xn[3]),en=xn[0]-Ka,Lo=xn[1]-gi,jn=cs-Wi,_s=No-qi}let vo=Bt.x1,zn=Bt.y1,is=Bt.x2-vo,qo=Bt.y2-zn,Bo=(xn,cs,No,Is)=>{let Ku=Pg(xn.stretch-Ka,Wi,is,vo),Uu=pm(xn.fixed-en,jn,xn.stretch,Wr),th=Pg(cs.stretch-gi,qi,qo,zn),Hp=pm(cs.fixed-Lo,_s,cs.stretch,ia),Th=Pg(No.stretch-Ka,Wi,is,vo),rh=pm(No.fixed-en,jn,No.stretch,Wr),Jh=Pg(Is.stretch-gi,qi,qo,zn),$h=pm(Is.fixed-Lo,_s,Is.stretch,ia),Qh=new n(Ku,th),ff=new n(Th,th),ah=new n(Th,Jh),Fh=new n(Ku,Jh),Ah=new n(Uu/Ve,Hp/Ve),dh=new n(rh/Ve,$h/Ve),yf=R*Math.PI/180;if(yf){let pu=Math.sin(yf),fc=Math.cos(yf),Ju=[fc,-pu,pu,fc];Qh._matMult(Ju),ff._matMult(Ju),Fh._matMult(Ju),ah._matMult(Ju)}let Rp=xn.stretch+xn.fixed,vp=cs.stretch+cs.fixed;return{tl:Qh,tr:ff,bl:Fh,br:ah,tex:{x:Be.paddedRect.x+hm+Rp,y:Be.paddedRect.y+hm+vp,w:No.stretch+No.fixed-Rp,h:Is.stretch+Is.fixed-vp},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Ah,pixelOffsetBR:dh,minFontScaleX:jn/Ve/is,minFontScaleY:_s/Ve/qo,isSDF:J}};if(ve&&(Be.stretchX||Be.stretchY)){let xn=eb(ar,fa,Wr),cs=eb(Mr,ja,ia);for(let No=0;No0&&(fa=Math.max(10,fa),this.circleDiameter=fa)}else{let Fr=!((Mr=Ve.image)===null||Mr===void 0)&&Mr.content&&(Ve.image.textFitWidth||Ve.image.textFitHeight)?Fx(Ve):{x1:Ve.left,y1:Ve.top,x2:Ve.right,y2:Ve.bottom};Fr.y1=Fr.y1*ct-At[0],Fr.y2=Fr.y2*ct+At[2],Fr.x1=Fr.x1*ct-At[3],Fr.x2=Fr.x2*ct+At[1];let Wr=Ve.collisionPadding;if(Wr&&(Fr.x1-=Wr[0]*ct,Fr.y1-=Wr[1]*ct,Fr.x2+=Wr[2]*ct,Fr.y2+=Wr[3]*ct),ar){let ia=new n(Fr.x1,Fr.y1),fa=new n(Fr.x2,Fr.y1),ja=new n(Fr.x1,Fr.y2),Ka=new n(Fr.x2,Fr.y2),Wi=ar*Math.PI/180;ia._rotate(Wi),fa._rotate(Wi),ja._rotate(Wi),Ka._rotate(Wi),Fr.x1=Math.min(ia.x,fa.x,ja.x,Ka.x),Fr.x2=Math.max(ia.x,fa.x,ja.x,Ka.x),Fr.y1=Math.min(ia.y,fa.y,ja.y,Ka.y),Fr.y2=Math.max(ia.y,fa.y,ja.y,Ka.y)}R.emplaceBack(J.x,J.y,Fr.x1,Fr.y1,Fr.x2,Fr.y2,ve,Ee,Be)}this.boxEndIndex=R.length}}class cd{constructor(R=[],J=(ve,Ee)=>veEe?1:0){if(this.data=R,this.length=this.data.length,this.compare=J,this.length>0)for(let ve=(this.length>>1)-1;ve>=0;ve--)this._down(ve)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],J=this.data.pop();return--this.length>0&&(this.data[0]=J,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:J,compare:ve}=this,Ee=J[R];for(;R>0;){let Be=R-1>>1,Ve=J[Be];if(ve(Ee,Ve)>=0)break;J[R]=Ve,R=Be}J[R]=Ee}_down(R){let{data:J,compare:ve}=this,Ee=this.length>>1,Be=J[R];for(;R=0)break;J[R]=J[Ve],R=Ve}J[R]=Be}}function aA(W,R=1,J=!1){let ve=1/0,Ee=1/0,Be=-1/0,Ve=-1/0,ct=W[0];for(let Wr=0;WrBe)&&(Be=ia.x),(!Wr||ia.y>Ve)&&(Ve=ia.y)}let At=Math.min(Be-ve,Ve-Ee),Bt=At/2,ar=new cd([],iA);if(At===0)return new n(ve,Ee);for(let Wr=ve;WrMr.d||!Mr.d)&&(Mr=Wr,J&&console.log(\"found best %d after %d probes\",Math.round(1e4*Wr.d)/1e4,Fr)),Wr.max-Mr.d<=R||(Bt=Wr.h/2,ar.push(new dm(Wr.p.x-Bt,Wr.p.y-Bt,Bt,W)),ar.push(new dm(Wr.p.x+Bt,Wr.p.y-Bt,Bt,W)),ar.push(new dm(Wr.p.x-Bt,Wr.p.y+Bt,Bt,W)),ar.push(new dm(Wr.p.x+Bt,Wr.p.y+Bt,Bt,W)),Fr+=4)}return J&&(console.log(`num probes: ${Fr}`),console.log(`best distance: ${Mr.d}`)),Mr.p}function iA(W,R){return R.max-W.max}function dm(W,R,J,ve){this.p=new n(W,R),this.h=J,this.d=function(Ee,Be){let Ve=!1,ct=1/0;for(let At=0;AtEe.y!=ia.y>Ee.y&&Ee.x<(ia.x-Wr.x)*(Ee.y-Wr.y)/(ia.y-Wr.y)+Wr.x&&(Ve=!Ve),ct=Math.min(ct,xa(Ee,Wr,ia))}}return(Ve?1:-1)*Math.sqrt(ct)}(this.p,ve),this.max=this.d+this.h*Math.SQRT2}var wh;e.aq=void 0,(wh=e.aq||(e.aq={}))[wh.center=1]=\"center\",wh[wh.left=2]=\"left\",wh[wh.right=3]=\"right\",wh[wh.top=4]=\"top\",wh[wh.bottom=5]=\"bottom\",wh[wh[\"top-left\"]=6]=\"top-left\",wh[wh[\"top-right\"]=7]=\"top-right\",wh[wh[\"bottom-left\"]=8]=\"bottom-left\",wh[wh[\"bottom-right\"]=9]=\"bottom-right\";let pv=7,Fv=Number.POSITIVE_INFINITY;function H1(W,R){return R[1]!==Fv?function(J,ve,Ee){let Be=0,Ve=0;switch(ve=Math.abs(ve),Ee=Math.abs(Ee),J){case\"top-right\":case\"top-left\":case\"top\":Ve=Ee-pv;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":Ve=-Ee+pv}switch(J){case\"top-right\":case\"bottom-right\":case\"right\":Be=-ve;break;case\"top-left\":case\"bottom-left\":case\"left\":Be=ve}return[Be,Ve]}(W,R[0],R[1]):function(J,ve){let Ee=0,Be=0;ve<0&&(ve=0);let Ve=ve/Math.SQRT2;switch(J){case\"top-right\":case\"top-left\":Be=Ve-pv;break;case\"bottom-right\":case\"bottom-left\":Be=-Ve+pv;break;case\"bottom\":Be=-ve+pv;break;case\"top\":Be=ve-pv}switch(J){case\"top-right\":case\"bottom-right\":Ee=-Ve;break;case\"top-left\":case\"bottom-left\":Ee=Ve;break;case\"left\":Ee=ve;break;case\"right\":Ee=-ve}return[Ee,Be]}(W,R[0])}function tb(W,R,J){var ve;let Ee=W.layout,Be=(ve=Ee.get(\"text-variable-anchor-offset\"))===null||ve===void 0?void 0:ve.evaluate(R,{},J);if(Be){let ct=Be.values,At=[];for(let Bt=0;BtFr*hu);ar.startsWith(\"top\")?Mr[1]-=pv:ar.startsWith(\"bottom\")&&(Mr[1]+=pv),At[Bt+1]=Mr}return new $a(At)}let Ve=Ee.get(\"text-variable-anchor\");if(Ve){let ct;ct=W._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[Ee.get(\"text-radial-offset\").evaluate(R,{},J)*hu,Fv]:Ee.get(\"text-offset\").evaluate(R,{},J).map(Bt=>Bt*hu);let At=[];for(let Bt of Ve)At.push(Bt,H1(Bt,ct));return new $a(At)}return null}function W1(W){switch(W){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function nA(W,R,J,ve,Ee,Be,Ve,ct,At,Bt,ar){let Mr=Be.textMaxSize.evaluate(R,{});Mr===void 0&&(Mr=Ve);let Fr=W.layers[0].layout,Wr=Fr.get(\"icon-offset\").evaluate(R,{},ar),ia=ab(J.horizontal),fa=Ve/24,ja=W.tilePixelRatio*fa,Ka=W.tilePixelRatio*Mr/24,Wi=W.tilePixelRatio*ct,gi=W.tilePixelRatio*Fr.get(\"symbol-spacing\"),qi=Fr.get(\"text-padding\")*W.tilePixelRatio,en=function(xn,cs,No,Is=1){let Ku=xn.get(\"icon-padding\").evaluate(cs,{},No),Uu=Ku&&Ku.values;return[Uu[0]*Is,Uu[1]*Is,Uu[2]*Is,Uu[3]*Is]}(Fr,R,ar,W.tilePixelRatio),jn=Fr.get(\"text-max-angle\")/180*Math.PI,Lo=Fr.get(\"text-rotation-alignment\")!==\"viewport\"&&Fr.get(\"symbol-placement\")!==\"point\",_s=Fr.get(\"icon-rotation-alignment\")===\"map\"&&Fr.get(\"symbol-placement\")!==\"point\",vo=Fr.get(\"symbol-placement\"),zn=gi/2,is=Fr.get(\"icon-text-fit\"),qo;ve&&is!==\"none\"&&(W.allowVerticalPlacement&&J.vertical&&(qo=Ox(ve,J.vertical,is,Fr.get(\"icon-text-fit-padding\"),Wr,fa)),ia&&(ve=Ox(ve,ia,is,Fr.get(\"icon-text-fit-padding\"),Wr,fa)));let Bo=(xn,cs)=>{cs.x<0||cs.x>=po||cs.y<0||cs.y>=po||function(No,Is,Ku,Uu,th,Hp,Th,rh,Jh,$h,Qh,ff,ah,Fh,Ah,dh,yf,Rp,vp,pu,fc,Ju,Dp,Qc,vm){let _d=No.addToLineVertexArray(Is,Ku),fd,Wp,zc,Pf,Xp=0,Zd=0,mp=0,mm=0,J1=-1,zg=-1,xd={},Ov=ti(\"\");if(No.allowVerticalPlacement&&Uu.vertical){let Oh=rh.layout.get(\"text-rotate\").evaluate(fc,{},Qc)+90;zc=new hv(Jh,Is,$h,Qh,ff,Uu.vertical,ah,Fh,Ah,Oh),Th&&(Pf=new hv(Jh,Is,$h,Qh,ff,Th,yf,Rp,Ah,Oh))}if(th){let Oh=rh.layout.get(\"icon-rotate\").evaluate(fc,{}),Zp=rh.layout.get(\"icon-text-fit\")!==\"none\",dv=Qx(th,Oh,Dp,Zp),ep=Th?Qx(Th,Oh,Dp,Zp):void 0;Wp=new hv(Jh,Is,$h,Qh,ff,th,yf,Rp,!1,Oh),Xp=4*dv.length;let Bh=No.iconSizeData,id=null;Bh.kind===\"source\"?(id=[yd*rh.layout.get(\"icon-size\").evaluate(fc,{})],id[0]>cv&&y(`${No.layerIds[0]}: Value for \"icon-size\" is >= ${k0}. Reduce your \"icon-size\".`)):Bh.kind===\"composite\"&&(id=[yd*Ju.compositeIconSizes[0].evaluate(fc,{},Qc),yd*Ju.compositeIconSizes[1].evaluate(fc,{},Qc)],(id[0]>cv||id[1]>cv)&&y(`${No.layerIds[0]}: Value for \"icon-size\" is >= ${k0}. Reduce your \"icon-size\".`)),No.addSymbols(No.icon,dv,id,pu,vp,fc,e.ah.none,Is,_d.lineStartIndex,_d.lineLength,-1,Qc),J1=No.icon.placedSymbolArray.length-1,ep&&(Zd=4*ep.length,No.addSymbols(No.icon,ep,id,pu,vp,fc,e.ah.vertical,Is,_d.lineStartIndex,_d.lineLength,-1,Qc),zg=No.icon.placedSymbolArray.length-1)}let vh=Object.keys(Uu.horizontal);for(let Oh of vh){let Zp=Uu.horizontal[Oh];if(!fd){Ov=ti(Zp.text);let ep=rh.layout.get(\"text-rotate\").evaluate(fc,{},Qc);fd=new hv(Jh,Is,$h,Qh,ff,Zp,ah,Fh,Ah,ep)}let dv=Zp.positionedLines.length===1;if(mp+=rb(No,Is,Zp,Hp,rh,Ah,fc,dh,_d,Uu.vertical?e.ah.horizontal:e.ah.horizontalOnly,dv?vh:[Oh],xd,J1,Ju,Qc),dv)break}Uu.vertical&&(mm+=rb(No,Is,Uu.vertical,Hp,rh,Ah,fc,dh,_d,e.ah.vertical,[\"vertical\"],xd,zg,Ju,Qc));let lA=fd?fd.boxStartIndex:No.collisionBoxArray.length,Fg=fd?fd.boxEndIndex:No.collisionBoxArray.length,bd=zc?zc.boxStartIndex:No.collisionBoxArray.length,gp=zc?zc.boxEndIndex:No.collisionBoxArray.length,sb=Wp?Wp.boxStartIndex:No.collisionBoxArray.length,uA=Wp?Wp.boxEndIndex:No.collisionBoxArray.length,lb=Pf?Pf.boxStartIndex:No.collisionBoxArray.length,cA=Pf?Pf.boxEndIndex:No.collisionBoxArray.length,ad=-1,B0=(Oh,Zp)=>Oh&&Oh.circleDiameter?Math.max(Oh.circleDiameter,Zp):Zp;ad=B0(fd,ad),ad=B0(zc,ad),ad=B0(Wp,ad),ad=B0(Pf,ad);let Og=ad>-1?1:0;Og&&(ad*=vm/hu),No.glyphOffsetArray.length>=cm.MAX_GLYPHS&&y(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),fc.sortKey!==void 0&&No.addToSortKeyRanges(No.symbolInstances.length,fc.sortKey);let $1=tb(rh,fc,Qc),[fA,hA]=function(Oh,Zp){let dv=Oh.length,ep=Zp?.values;if(ep?.length>0)for(let Bh=0;Bh=0?xd.right:-1,xd.center>=0?xd.center:-1,xd.left>=0?xd.left:-1,xd.vertical||-1,J1,zg,Ov,lA,Fg,bd,gp,sb,uA,lb,cA,$h,mp,mm,Xp,Zd,Og,0,ah,ad,fA,hA)}(W,cs,xn,J,ve,Ee,qo,W.layers[0],W.collisionBoxArray,R.index,R.sourceLayerIndex,W.index,ja,[qi,qi,qi,qi],Lo,At,Wi,en,_s,Wr,R,Be,Bt,ar,Ve)};if(vo===\"line\")for(let xn of Zx(R.geometry,0,0,po,po)){let cs=rA(xn,gi,jn,J.vertical||ia,ve,24,Ka,W.overscaling,po);for(let No of cs)ia&&oA(W,ia.text,zn,No)||Bo(xn,No)}else if(vo===\"line-center\"){for(let xn of R.geometry)if(xn.length>1){let cs=tA(xn,jn,J.vertical||ia,ve,24,Ka);cs&&Bo(xn,cs)}}else if(R.type===\"Polygon\")for(let xn of Tc(R.geometry,0)){let cs=aA(xn,16);Bo(xn[0],new Wd(cs.x,cs.y,0))}else if(R.type===\"LineString\")for(let xn of R.geometry)Bo(xn,new Wd(xn[0].x,xn[0].y,0));else if(R.type===\"Point\")for(let xn of R.geometry)for(let cs of xn)Bo([cs],new Wd(cs.x,cs.y,0))}function rb(W,R,J,ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia){let fa=function(Wi,gi,qi,en,jn,Lo,_s,vo){let zn=en.layout.get(\"text-rotate\").evaluate(Lo,{})*Math.PI/180,is=[];for(let qo of gi.positionedLines)for(let Bo of qo.positionedGlyphs){if(!Bo.rect)continue;let xn=Bo.rect||{},cs=Ix+1,No=!0,Is=1,Ku=0,Uu=(jn||vo)&&Bo.vertical,th=Bo.metrics.advance*Bo.scale/2;if(vo&&gi.verticalizable&&(Ku=qo.lineOffset/2-(Bo.imageName?-(hu-Bo.metrics.width*Bo.scale)/2:(Bo.scale-1)*hu)),Bo.imageName){let pu=_s[Bo.imageName];No=pu.sdf,Is=pu.pixelRatio,cs=zh/Is}let Hp=jn?[Bo.x+th,Bo.y]:[0,0],Th=jn?[0,0]:[Bo.x+th+qi[0],Bo.y+qi[1]-Ku],rh=[0,0];Uu&&(rh=Th,Th=[0,0]);let Jh=Bo.metrics.isDoubleResolution?2:1,$h=(Bo.metrics.left-cs)*Bo.scale-th+Th[0],Qh=(-Bo.metrics.top-cs)*Bo.scale+Th[1],ff=$h+xn.w/Jh*Bo.scale/Is,ah=Qh+xn.h/Jh*Bo.scale/Is,Fh=new n($h,Qh),Ah=new n(ff,Qh),dh=new n($h,ah),yf=new n(ff,ah);if(Uu){let pu=new n(-th,th-eh),fc=-Math.PI/2,Ju=hu/2-th,Dp=new n(5-eh-Ju,-(Bo.imageName?Ju:0)),Qc=new n(...rh);Fh._rotateAround(fc,pu)._add(Dp)._add(Qc),Ah._rotateAround(fc,pu)._add(Dp)._add(Qc),dh._rotateAround(fc,pu)._add(Dp)._add(Qc),yf._rotateAround(fc,pu)._add(Dp)._add(Qc)}if(zn){let pu=Math.sin(zn),fc=Math.cos(zn),Ju=[fc,-pu,pu,fc];Fh._matMult(Ju),Ah._matMult(Ju),dh._matMult(Ju),yf._matMult(Ju)}let Rp=new n(0,0),vp=new n(0,0);is.push({tl:Fh,tr:Ah,bl:dh,br:yf,tex:xn,writingMode:gi.writingMode,glyphOffset:Hp,sectionIndex:Bo.sectionIndex,isSDF:No,pixelOffsetTL:Rp,pixelOffsetBR:vp,minFontScaleX:0,minFontScaleY:0})}return is}(0,J,ct,Ee,Be,Ve,ve,W.allowVerticalPlacement),ja=W.textSizeData,Ka=null;ja.kind===\"source\"?(Ka=[yd*Ee.layout.get(\"text-size\").evaluate(Ve,{})],Ka[0]>cv&&y(`${W.layerIds[0]}: Value for \"text-size\" is >= ${k0}. Reduce your \"text-size\".`)):ja.kind===\"composite\"&&(Ka=[yd*Wr.compositeTextSizes[0].evaluate(Ve,{},ia),yd*Wr.compositeTextSizes[1].evaluate(Ve,{},ia)],(Ka[0]>cv||Ka[1]>cv)&&y(`${W.layerIds[0]}: Value for \"text-size\" is >= ${k0}. Reduce your \"text-size\".`)),W.addSymbols(W.text,fa,Ka,ct,Be,Ve,Bt,R,At.lineStartIndex,At.lineLength,Fr,ia);for(let Wi of ar)Mr[Wi]=W.text.placedSymbolArray.length-1;return 4*fa.length}function ab(W){for(let R in W)return W[R];return null}function oA(W,R,J,ve){let Ee=W.compareText;if(R in Ee){let Be=Ee[R];for(let Ve=Be.length-1;Ve>=0;Ve--)if(ve.dist(Be[Ve])>4;if(Ee!==1)throw new Error(`Got v${Ee} data when expected v1.`);let Be=ib[15&ve];if(!Be)throw new Error(\"Unrecognized array type.\");let[Ve]=new Uint16Array(R,2,1),[ct]=new Uint32Array(R,4,1);return new X1(ct,Ve,Be,R)}constructor(R,J=64,ve=Float64Array,Ee){if(isNaN(R)||R<0)throw new Error(`Unpexpected numItems value: ${R}.`);this.numItems=+R,this.nodeSize=Math.min(Math.max(+J,2),65535),this.ArrayType=ve,this.IndexArrayType=R<65536?Uint16Array:Uint32Array;let Be=ib.indexOf(this.ArrayType),Ve=2*R*this.ArrayType.BYTES_PER_ELEMENT,ct=R*this.IndexArrayType.BYTES_PER_ELEMENT,At=(8-ct%8)%8;if(Be<0)throw new Error(`Unexpected typed array class: ${ve}.`);Ee&&Ee instanceof ArrayBuffer?(this.data=Ee,this.ids=new this.IndexArrayType(this.data,8,R),this.coords=new this.ArrayType(this.data,8+ct+At,2*R),this._pos=2*R,this._finished=!0):(this.data=new ArrayBuffer(8+Ve+ct+At),this.ids=new this.IndexArrayType(this.data,8,R),this.coords=new this.ArrayType(this.data,8+ct+At,2*R),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+Be]),new Uint16Array(this.data,2,1)[0]=J,new Uint32Array(this.data,4,1)[0]=R)}add(R,J){let ve=this._pos>>1;return this.ids[ve]=ve,this.coords[this._pos++]=R,this.coords[this._pos++]=J,ve}finish(){let R=this._pos>>1;if(R!==this.numItems)throw new Error(`Added ${R} items when expected ${this.numItems}.`);return Ig(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(R,J,ve,Ee){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:Be,coords:Ve,nodeSize:ct}=this,At=[0,Be.length-1,0],Bt=[];for(;At.length;){let ar=At.pop()||0,Mr=At.pop()||0,Fr=At.pop()||0;if(Mr-Fr<=ct){for(let ja=Fr;ja<=Mr;ja++){let Ka=Ve[2*ja],Wi=Ve[2*ja+1];Ka>=R&&Ka<=ve&&Wi>=J&&Wi<=Ee&&Bt.push(Be[ja])}continue}let Wr=Fr+Mr>>1,ia=Ve[2*Wr],fa=Ve[2*Wr+1];ia>=R&&ia<=ve&&fa>=J&&fa<=Ee&&Bt.push(Be[Wr]),(ar===0?R<=ia:J<=fa)&&(At.push(Fr),At.push(Wr-1),At.push(1-ar)),(ar===0?ve>=ia:Ee>=fa)&&(At.push(Wr+1),At.push(Mr),At.push(1-ar))}return Bt}within(R,J,ve){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:Ee,coords:Be,nodeSize:Ve}=this,ct=[0,Ee.length-1,0],At=[],Bt=ve*ve;for(;ct.length;){let ar=ct.pop()||0,Mr=ct.pop()||0,Fr=ct.pop()||0;if(Mr-Fr<=Ve){for(let ja=Fr;ja<=Mr;ja++)ob(Be[2*ja],Be[2*ja+1],R,J)<=Bt&&At.push(Ee[ja]);continue}let Wr=Fr+Mr>>1,ia=Be[2*Wr],fa=Be[2*Wr+1];ob(ia,fa,R,J)<=Bt&&At.push(Ee[Wr]),(ar===0?R-ve<=ia:J-ve<=fa)&&(ct.push(Fr),ct.push(Wr-1),ct.push(1-ar)),(ar===0?R+ve>=ia:J+ve>=fa)&&(ct.push(Wr+1),ct.push(Mr),ct.push(1-ar))}return At}}function Ig(W,R,J,ve,Ee,Be){if(Ee-ve<=J)return;let Ve=ve+Ee>>1;nb(W,R,Ve,ve,Ee,Be),Ig(W,R,J,ve,Ve-1,1-Be),Ig(W,R,J,Ve+1,Ee,1-Be)}function nb(W,R,J,ve,Ee,Be){for(;Ee>ve;){if(Ee-ve>600){let Bt=Ee-ve+1,ar=J-ve+1,Mr=Math.log(Bt),Fr=.5*Math.exp(2*Mr/3),Wr=.5*Math.sqrt(Mr*Fr*(Bt-Fr)/Bt)*(ar-Bt/2<0?-1:1);nb(W,R,J,Math.max(ve,Math.floor(J-ar*Fr/Bt+Wr)),Math.min(Ee,Math.floor(J+(Bt-ar)*Fr/Bt+Wr)),Be)}let Ve=R[2*J+Be],ct=ve,At=Ee;for(F0(W,R,ve,J),R[2*Ee+Be]>Ve&&F0(W,R,ve,Ee);ctVe;)At--}R[2*ve+Be]===Ve?F0(W,R,ve,At):(At++,F0(W,R,At,Ee)),At<=J&&(ve=At+1),J<=At&&(Ee=At-1)}}function F0(W,R,J,ve){Z1(W,J,ve),Z1(R,2*J,2*ve),Z1(R,2*J+1,2*ve+1)}function Z1(W,R,J){let ve=W[R];W[R]=W[J],W[J]=ve}function ob(W,R,J,ve){let Ee=W-J,Be=R-ve;return Ee*Ee+Be*Be}var Rg;e.bg=void 0,(Rg=e.bg||(e.bg={})).create=\"create\",Rg.load=\"load\",Rg.fullLoad=\"fullLoad\";let O0=null,Hf=[],Y1=1e3/60,K1=\"loadTime\",Dg=\"fullLoadTime\",sA={mark(W){performance.mark(W)},frame(W){let R=W;O0!=null&&Hf.push(R-O0),O0=R},clearMetrics(){O0=null,Hf=[],performance.clearMeasures(K1),performance.clearMeasures(Dg);for(let W in e.bg)performance.clearMarks(e.bg[W])},getPerformanceMetrics(){performance.measure(K1,e.bg.create,e.bg.load),performance.measure(Dg,e.bg.create,e.bg.fullLoad);let W=performance.getEntriesByName(K1)[0].duration,R=performance.getEntriesByName(Dg)[0].duration,J=Hf.length,ve=1/(Hf.reduce((Be,Ve)=>Be+Ve,0)/J/1e3),Ee=Hf.filter(Be=>Be>Y1).reduce((Be,Ve)=>Be+(Ve-Y1)/Y1,0);return{loadTime:W,fullLoadTime:R,fps:ve,percentDroppedFrames:Ee/(J+Ee)*100,totalFrames:J}}};e.$=class extends Ar{},e.A=Qa,e.B=Hi,e.C=function(W){if(z==null){let R=W.navigator?W.navigator.userAgent:null;z=!!W.safari||!(!R||!(/\\b(iPad|iPhone|iPod)\\b/.test(R)||R.match(\"Safari\")&&!R.match(\"Chrome\")))}return z},e.D=fo,e.E=Q,e.F=class{constructor(W,R){this.target=W,this.mapId=R,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new U1(()=>this.process()),this.subscription=function(J,ve,Ee,Be){return J.addEventListener(ve,Ee,!1),{unsubscribe:()=>{J.removeEventListener(ve,Ee,!1)}}}(this.target,\"message\",J=>this.receive(J)),this.globalScope=L(self)?W:window}registerMessageHandler(W,R){this.messageHandlers[W]=R}sendAsync(W,R){return new Promise((J,ve)=>{let Ee=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[Ee]={resolve:J,reject:ve},R&&R.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[Ee];let ct={id:Ee,type:\"\",origin:location.origin,targetMapId:W.targetMapId,sourceMapId:this.mapId};this.target.postMessage(ct)},{once:!0});let Be=[],Ve=Object.assign(Object.assign({},W),{id:Ee,sourceMapId:this.mapId,origin:location.origin,data:eo(W.data,Be)});this.target.postMessage(Ve,{transfer:Be})})}receive(W){let R=W.data,J=R.id;if(!(R.origin!==\"file://\"&&location.origin!==\"file://\"&&R.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&R.origin!==location.origin||R.targetMapId&&this.mapId!==R.targetMapId)){if(R.type===\"\"){delete this.tasks[J];let ve=this.abortControllers[J];return delete this.abortControllers[J],void(ve&&ve.abort())}if(L(self)||R.mustQueue)return this.tasks[J]=R,this.taskQueue.push(J),void this.invoker.trigger();this.processTask(J,R)}}process(){if(this.taskQueue.length===0)return;let W=this.taskQueue.shift(),R=this.tasks[W];delete this.tasks[W],this.taskQueue.length>0&&this.invoker.trigger(),R&&this.processTask(W,R)}processTask(W,R){return t(this,void 0,void 0,function*(){if(R.type===\"\"){let Ee=this.resolveRejects[W];return delete this.resolveRejects[W],Ee?void(R.error?Ee.reject(co(R.error)):Ee.resolve(co(R.data))):void 0}if(!this.messageHandlers[R.type])return void this.completeTask(W,new Error(`Could not find a registered handler for ${R.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let J=co(R.data),ve=new AbortController;this.abortControllers[W]=ve;try{let Ee=yield this.messageHandlers[R.type](R.sourceMapId,J,ve);this.completeTask(W,null,Ee)}catch(Ee){this.completeTask(W,Ee)}})}completeTask(W,R,J){let ve=[];delete this.abortControllers[W];let Ee={id:W,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:R?eo(R):null,data:eo(J,ve)};this.target.postMessage(Ee,{transfer:ve})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.G=ce,e.H=function(){var W=new Qa(16);return Qa!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[11]=0,W[12]=0,W[13]=0,W[14]=0),W[0]=1,W[5]=1,W[10]=1,W[15]=1,W},e.I=wg,e.J=function(W,R,J){var ve,Ee,Be,Ve,ct,At,Bt,ar,Mr,Fr,Wr,ia,fa=J[0],ja=J[1],Ka=J[2];return R===W?(W[12]=R[0]*fa+R[4]*ja+R[8]*Ka+R[12],W[13]=R[1]*fa+R[5]*ja+R[9]*Ka+R[13],W[14]=R[2]*fa+R[6]*ja+R[10]*Ka+R[14],W[15]=R[3]*fa+R[7]*ja+R[11]*Ka+R[15]):(Ee=R[1],Be=R[2],Ve=R[3],ct=R[4],At=R[5],Bt=R[6],ar=R[7],Mr=R[8],Fr=R[9],Wr=R[10],ia=R[11],W[0]=ve=R[0],W[1]=Ee,W[2]=Be,W[3]=Ve,W[4]=ct,W[5]=At,W[6]=Bt,W[7]=ar,W[8]=Mr,W[9]=Fr,W[10]=Wr,W[11]=ia,W[12]=ve*fa+ct*ja+Mr*Ka+R[12],W[13]=Ee*fa+At*ja+Fr*Ka+R[13],W[14]=Be*fa+Bt*ja+Wr*Ka+R[14],W[15]=Ve*fa+ar*ja+ia*Ka+R[15]),W},e.K=function(W,R,J){var ve=J[0],Ee=J[1],Be=J[2];return W[0]=R[0]*ve,W[1]=R[1]*ve,W[2]=R[2]*ve,W[3]=R[3]*ve,W[4]=R[4]*Ee,W[5]=R[5]*Ee,W[6]=R[6]*Ee,W[7]=R[7]*Ee,W[8]=R[8]*Be,W[9]=R[9]*Be,W[10]=R[10]*Be,W[11]=R[11]*Be,W[12]=R[12],W[13]=R[13],W[14]=R[14],W[15]=R[15],W},e.L=Va,e.M=function(W,R){let J={};for(let ve=0;ve{let R=window.document.createElement(\"video\");return R.muted=!0,new Promise(J=>{R.onloadstart=()=>{J(R)};for(let ve of W){let Ee=window.document.createElement(\"source\");ee(ve)||(R.crossOrigin=\"Anonymous\"),Ee.src=ve,R.appendChild(Ee)}})},e.a4=function(){return m++},e.a5=on,e.a6=cm,e.a7=Ec,e.a8=Wl,e.a9=V1,e.aA=function(W){if(W.type===\"custom\")return new N1(W);switch(W.type){case\"background\":return new QT(W);case\"circle\":return new Ha(W);case\"fill\":return new Wt(W);case\"fill-extrusion\":return new kp(W);case\"heatmap\":return new Dn(W);case\"hillshade\":return new xl(W);case\"line\":return new Lv(W);case\"raster\":return new I0(W);case\"symbol\":return new Dv(W)}},e.aB=u,e.aC=function(W,R){if(!W)return[{command:\"setStyle\",args:[R]}];let J=[];try{if(!Se(W.version,R.version))return[{command:\"setStyle\",args:[R]}];Se(W.center,R.center)||J.push({command:\"setCenter\",args:[R.center]}),Se(W.zoom,R.zoom)||J.push({command:\"setZoom\",args:[R.zoom]}),Se(W.bearing,R.bearing)||J.push({command:\"setBearing\",args:[R.bearing]}),Se(W.pitch,R.pitch)||J.push({command:\"setPitch\",args:[R.pitch]}),Se(W.sprite,R.sprite)||J.push({command:\"setSprite\",args:[R.sprite]}),Se(W.glyphs,R.glyphs)||J.push({command:\"setGlyphs\",args:[R.glyphs]}),Se(W.transition,R.transition)||J.push({command:\"setTransition\",args:[R.transition]}),Se(W.light,R.light)||J.push({command:\"setLight\",args:[R.light]}),Se(W.terrain,R.terrain)||J.push({command:\"setTerrain\",args:[R.terrain]}),Se(W.sky,R.sky)||J.push({command:\"setSky\",args:[R.sky]}),Se(W.projection,R.projection)||J.push({command:\"setProjection\",args:[R.projection]});let ve={},Ee=[];(function(Ve,ct,At,Bt){let ar;for(ar in ct=ct||{},Ve=Ve||{})Object.prototype.hasOwnProperty.call(Ve,ar)&&(Object.prototype.hasOwnProperty.call(ct,ar)||He(ar,At,Bt));for(ar in ct)Object.prototype.hasOwnProperty.call(ct,ar)&&(Object.prototype.hasOwnProperty.call(Ve,ar)?Se(Ve[ar],ct[ar])||(Ve[ar].type===\"geojson\"&&ct[ar].type===\"geojson\"&&nt(Ve,ct,ar)?Ie(At,{command:\"setGeoJSONSourceData\",args:[ar,ct[ar].data]}):at(ar,ct,At,Bt)):Re(ar,ct,At))})(W.sources,R.sources,Ee,ve);let Be=[];W.layers&&W.layers.forEach(Ve=>{\"source\"in Ve&&ve[Ve.source]?J.push({command:\"removeLayer\",args:[Ve.id]}):Be.push(Ve)}),J=J.concat(Ee),function(Ve,ct,At){ct=ct||[];let Bt=(Ve=Ve||[]).map(Ue),ar=ct.map(Ue),Mr=Ve.reduce(he,{}),Fr=ct.reduce(he,{}),Wr=Bt.slice(),ia=Object.create(null),fa,ja,Ka,Wi,gi;for(let qi=0,en=0;qi@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(J,ve,Ee,Be)=>{let Ve=Ee||Be;return R[ve]=!Ve||Ve.toLowerCase(),\"\"}),R[\"max-age\"]){let J=parseInt(R[\"max-age\"],10);isNaN(J)?delete R[\"max-age\"]:R[\"max-age\"]=J}return R},e.ab=function(W,R){let J=[];for(let ve in W)ve in R||J.push(ve);return J},e.ac=w,e.ad=function(W,R,J){var ve=Math.sin(J),Ee=Math.cos(J),Be=R[0],Ve=R[1],ct=R[2],At=R[3],Bt=R[4],ar=R[5],Mr=R[6],Fr=R[7];return R!==W&&(W[8]=R[8],W[9]=R[9],W[10]=R[10],W[11]=R[11],W[12]=R[12],W[13]=R[13],W[14]=R[14],W[15]=R[15]),W[0]=Be*Ee+Bt*ve,W[1]=Ve*Ee+ar*ve,W[2]=ct*Ee+Mr*ve,W[3]=At*Ee+Fr*ve,W[4]=Bt*Ee-Be*ve,W[5]=ar*Ee-Ve*ve,W[6]=Mr*Ee-ct*ve,W[7]=Fr*Ee-At*ve,W},e.ae=function(W){var R=new Qa(16);return R[0]=W[0],R[1]=W[1],R[2]=W[2],R[3]=W[3],R[4]=W[4],R[5]=W[5],R[6]=W[6],R[7]=W[7],R[8]=W[8],R[9]=W[9],R[10]=W[10],R[11]=W[11],R[12]=W[12],R[13]=W[13],R[14]=W[14],R[15]=W[15],R},e.af=hn,e.ag=function(W,R){let J=0,ve=0;if(W.kind===\"constant\")ve=W.layoutSize;else if(W.kind!==\"source\"){let{interpolationType:Ee,minZoom:Be,maxZoom:Ve}=W,ct=Ee?w(ao.interpolationFactor(Ee,R,Be,Ve),0,1):0;W.kind===\"camera\"?ve=En.number(W.minSize,W.maxSize,ct):J=ct}return{uSizeT:J,uSize:ve}},e.ai=function(W,{uSize:R,uSizeT:J},{lowerSize:ve,upperSize:Ee}){return W.kind===\"source\"?ve/yd:W.kind===\"composite\"?En.number(ve/yd,Ee/yd,J):R},e.aj=z1,e.ak=function(W,R,J,ve){let Ee=R.y-W.y,Be=R.x-W.x,Ve=ve.y-J.y,ct=ve.x-J.x,At=Ve*Be-ct*Ee;if(At===0)return null;let Bt=(ct*(W.y-J.y)-Ve*(W.x-J.x))/At;return new n(W.x+Bt*Be,W.y+Bt*Ee)},e.al=Zx,e.am=_c,e.an=di,e.ao=function(W){let R=1/0,J=1/0,ve=-1/0,Ee=-1/0;for(let Be of W)R=Math.min(R,Be.x),J=Math.min(J,Be.y),ve=Math.max(ve,Be.x),Ee=Math.max(Ee,Be.y);return[R,J,ve,Ee]},e.ap=hu,e.ar=D1,e.as=function(W,R){var J=R[0],ve=R[1],Ee=R[2],Be=R[3],Ve=R[4],ct=R[5],At=R[6],Bt=R[7],ar=R[8],Mr=R[9],Fr=R[10],Wr=R[11],ia=R[12],fa=R[13],ja=R[14],Ka=R[15],Wi=J*ct-ve*Ve,gi=J*At-Ee*Ve,qi=J*Bt-Be*Ve,en=ve*At-Ee*ct,jn=ve*Bt-Be*ct,Lo=Ee*Bt-Be*At,_s=ar*fa-Mr*ia,vo=ar*ja-Fr*ia,zn=ar*Ka-Wr*ia,is=Mr*ja-Fr*fa,qo=Mr*Ka-Wr*fa,Bo=Fr*Ka-Wr*ja,xn=Wi*Bo-gi*qo+qi*is+en*zn-jn*vo+Lo*_s;return xn?(W[0]=(ct*Bo-At*qo+Bt*is)*(xn=1/xn),W[1]=(Ee*qo-ve*Bo-Be*is)*xn,W[2]=(fa*Lo-ja*jn+Ka*en)*xn,W[3]=(Fr*jn-Mr*Lo-Wr*en)*xn,W[4]=(At*zn-Ve*Bo-Bt*vo)*xn,W[5]=(J*Bo-Ee*zn+Be*vo)*xn,W[6]=(ja*qi-ia*Lo-Ka*gi)*xn,W[7]=(ar*Lo-Fr*qi+Wr*gi)*xn,W[8]=(Ve*qo-ct*zn+Bt*_s)*xn,W[9]=(ve*zn-J*qo-Be*_s)*xn,W[10]=(ia*jn-fa*qi+Ka*Wi)*xn,W[11]=(Mr*qi-ar*jn-Wr*Wi)*xn,W[12]=(ct*vo-Ve*is-At*_s)*xn,W[13]=(J*is-ve*vo+Ee*_s)*xn,W[14]=(fa*gi-ia*en-ja*Wi)*xn,W[15]=(ar*en-Mr*gi+Fr*Wi)*xn,W):null},e.at=W1,e.au=Mg,e.av=X1,e.aw=function(){let W={},R=re.$version;for(let J in re.$root){let ve=re.$root[J];if(ve.required){let Ee=null;Ee=J===\"version\"?R:ve.type===\"array\"?[]:{},Ee!=null&&(W[J]=Ee)}}return W},e.ax=Tn,e.ay=V,e.az=function(W){W=W.slice();let R=Object.create(null);for(let J=0;J25||ve<0||ve>=1||J<0||J>=1)},e.bc=function(W,R){return W[0]=R[0],W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=R[1],W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[10]=R[2],W[11]=0,W[12]=0,W[13]=0,W[14]=0,W[15]=1,W},e.bd=class extends $t{},e.be=j1,e.bf=sA,e.bh=de,e.bi=function(W,R){$.REGISTERED_PROTOCOLS[W]=R},e.bj=function(W){delete $.REGISTERED_PROTOCOLS[W]},e.bk=function(W,R){let J={};for(let Ee=0;EeBo*hu)}let vo=Ve?\"center\":J.get(\"text-justify\").evaluate(Bt,{},W.canonical),zn=J.get(\"symbol-placement\")===\"point\"?J.get(\"text-max-width\").evaluate(Bt,{},W.canonical)*hu:1/0,is=()=>{W.bucket.allowVerticalPlacement&&yo(qi)&&(ia.vertical=M0(fa,W.glyphMap,W.glyphPositions,W.imagePositions,ar,zn,Be,Lo,\"left\",jn,Ka,e.ah.vertical,!0,Fr,Mr))};if(!Ve&&_s){let qo=new Set;if(vo===\"auto\")for(let xn=0;xn<_s.values.length;xn+=2)qo.add(W1(_s.values[xn]));else qo.add(vo);let Bo=!1;for(let xn of qo)if(!ia.horizontal[xn])if(Bo)ia.horizontal[xn]=ia.horizontal[0];else{let cs=M0(fa,W.glyphMap,W.glyphPositions,W.imagePositions,ar,zn,Be,\"center\",xn,jn,Ka,e.ah.horizontal,!1,Fr,Mr);cs&&(ia.horizontal[xn]=cs,Bo=cs.positionedLines.length===1)}is()}else{vo===\"auto\"&&(vo=W1(Lo));let qo=M0(fa,W.glyphMap,W.glyphPositions,W.imagePositions,ar,zn,Be,Lo,vo,jn,Ka,e.ah.horizontal,!1,Fr,Mr);qo&&(ia.horizontal[vo]=qo),is(),yo(qi)&&Ve&&ct&&(ia.vertical=M0(fa,W.glyphMap,W.glyphPositions,W.imagePositions,ar,zn,Be,Lo,vo,jn,Ka,e.ah.vertical,!1,Fr,Mr))}}let Wi=!1;if(Bt.icon&&Bt.icon.name){let qi=W.imageMap[Bt.icon.name];qi&&(ja=E0(W.imagePositions[Bt.icon.name],J.get(\"icon-offset\").evaluate(Bt,{},W.canonical),J.get(\"icon-anchor\").evaluate(Bt,{},W.canonical)),Wi=!!qi.sdf,W.bucket.sdfIcons===void 0?W.bucket.sdfIcons=Wi:W.bucket.sdfIcons!==Wi&&y(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(qi.pixelRatio!==W.bucket.pixelRatio||J.get(\"icon-rotate\").constantOr(1)!==0)&&(W.bucket.iconsNeedLinear=!0))}let gi=ab(ia.horizontal)||ia.vertical;W.bucket.iconsInText=!!gi&&gi.iconsInText,(gi||ja)&&nA(W.bucket,Bt,ia,ja,W.imageMap,Ee,Fr,Wr,Ka,Wi,W.canonical)}W.showCollisionBoxes&&W.bucket.generateCollisionDebugBuffers()},e.bq=Vp,e.br=hr,e.bs=Oo,e.bt=Jr,e.bu=P1,e.bv=class{constructor(W){this._marks={start:[W.url,\"start\"].join(\"#\"),end:[W.url,\"end\"].join(\"#\"),measure:W.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let W=performance.getEntriesByName(this._marks.measure);return W.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),W=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),W}},e.bw=function(W,R,J,ve,Ee){return t(this,void 0,void 0,function*(){if(T())try{return yield O(W,R,J,ve,Ee)}catch{}return function(Be,Ve,ct,At,Bt){let ar=Be.width,Mr=Be.height;P&&U||(P=new OffscreenCanvas(ar,Mr),U=P.getContext(\"2d\",{willReadFrequently:!0})),P.width=ar,P.height=Mr,U.drawImage(Be,0,0,ar,Mr);let Fr=U.getImageData(Ve,ct,At,Bt);return U.clearRect(0,0,ar,Mr),Fr.data}(W,R,J,ve,Ee)})},e.bx=Gx,e.by=r,e.bz=o,e.c=X,e.d=W=>t(void 0,void 0,void 0,function*(){if(W.byteLength===0)return createImageBitmap(new ImageData(1,1));let R=new Blob([new Uint8Array(W)],{type:\"image/png\"});try{return createImageBitmap(R)}catch(J){throw new Error(`Could not load image because of ${J.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),e.e=M,e.f=W=>new Promise((R,J)=>{let ve=new Image;ve.onload=()=>{R(ve),URL.revokeObjectURL(ve.src),ve.onload=null,window.requestAnimationFrame(()=>{ve.src=B})},ve.onerror=()=>J(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let Ee=new Blob([new Uint8Array(W)],{type:\"image/png\"});ve.src=W.byteLength?URL.createObjectURL(Ee):B}),e.g=ue,e.h=(W,R)=>Y(M(W,{type:\"json\"}),R),e.i=L,e.j=j,e.k=ae,e.l=(W,R)=>Y(M(W,{type:\"arrayBuffer\"}),R),e.m=Y,e.n=function(W){return new P1(W).readFields(mk,[])},e.o=Rn,e.p=R1,e.q=Fe,e.r=Ci,e.s=ee,e.t=Pi,e.u=li,e.v=re,e.w=y,e.x=function([W,R,J]){return R+=90,R*=Math.PI/180,J*=Math.PI/180,{x:W*Math.cos(R)*Math.sin(J),y:W*Math.sin(R)*Math.sin(J),z:W*Math.cos(J)}},e.y=En,e.z=Fs}),A(\"worker\",[\"./shared\"],function(e){\"use strict\";class t{constructor(Oe){this.keyCache={},Oe&&this.replace(Oe)}replace(Oe){this._layerConfigs={},this._layers={},this.update(Oe,[])}update(Oe,Ke){for(let Le of Oe){this._layerConfigs[Le.id]=Le;let We=this._layers[Le.id]=e.aA(Le);We._featureFilter=e.a7(We.filter),this.keyCache[Le.id]&&delete this.keyCache[Le.id]}for(let Le of Ke)delete this.keyCache[Le],delete this._layerConfigs[Le],delete this._layers[Le];this.familiesBySource={};let Ae=e.bk(Object.values(this._layerConfigs),this.keyCache);for(let Le of Ae){let We=Le.map(Pt=>this._layers[Pt.id]),Je=We[0];if(Je.visibility===\"none\")continue;let st=Je.source||\"\",ot=this.familiesBySource[st];ot||(ot=this.familiesBySource[st]={});let Ut=Je.sourceLayer||\"_geojsonTileLayer\",Ct=ot[Ut];Ct||(Ct=ot[Ut]=[]),Ct.push(We)}}}class r{constructor(Oe){let Ke={},Ae=[];for(let st in Oe){let ot=Oe[st],Ut=Ke[st]={};for(let Ct in ot){let Pt=ot[+Ct];if(!Pt||Pt.bitmap.width===0||Pt.bitmap.height===0)continue;let Nt={x:0,y:0,w:Pt.bitmap.width+2,h:Pt.bitmap.height+2};Ae.push(Nt),Ut[Ct]={rect:Nt,metrics:Pt.metrics}}}let{w:Le,h:We}=e.p(Ae),Je=new e.o({width:Le||1,height:We||1});for(let st in Oe){let ot=Oe[st];for(let Ut in ot){let Ct=ot[+Ut];if(!Ct||Ct.bitmap.width===0||Ct.bitmap.height===0)continue;let Pt=Ke[st][Ut].rect;e.o.copy(Ct.bitmap,Je,{x:0,y:0},{x:Pt.x+1,y:Pt.y+1},Ct.bitmap)}}this.image=Je,this.positions=Ke}}e.bl(\"GlyphAtlas\",r);class o{constructor(Oe){this.tileID=new e.S(Oe.tileID.overscaledZ,Oe.tileID.wrap,Oe.tileID.canonical.z,Oe.tileID.canonical.x,Oe.tileID.canonical.y),this.uid=Oe.uid,this.zoom=Oe.zoom,this.pixelRatio=Oe.pixelRatio,this.tileSize=Oe.tileSize,this.source=Oe.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Oe.showCollisionBoxes,this.collectResourceTiming=!!Oe.collectResourceTiming,this.returnDependencies=!!Oe.returnDependencies,this.promoteId=Oe.promoteId,this.inFlightDependencies=[]}parse(Oe,Ke,Ae,Le){return e._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Oe,this.collisionBoxArray=new e.a5;let We=new e.bm(Object.keys(Oe.layers).sort()),Je=new e.bn(this.tileID,this.promoteId);Je.bucketLayerIDs=[];let st={},ot={featureIndex:Je,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ae},Ut=Ke.familiesBySource[this.source];for(let Wa in Ut){let Ca=Oe.layers[Wa];if(!Ca)continue;Ca.version===1&&e.w(`Vector tile source \"${this.source}\" layer \"${Wa}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let hi=We.encode(Wa),wi=[];for(let Yt=0;Yt=Rt.maxzoom||Rt.visibility!==\"none\"&&(a(Yt,this.zoom,Ae),(st[Rt.id]=Rt.createBucket({index:Je.bucketLayerIDs.length,layers:Yt,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:hi,sourceID:this.source})).populate(wi,ot,this.tileID.canonical),Je.bucketLayerIDs.push(Yt.map(Zt=>Zt.id)))}}let Ct=e.aF(ot.glyphDependencies,Wa=>Object.keys(Wa).map(Number));this.inFlightDependencies.forEach(Wa=>Wa?.abort()),this.inFlightDependencies=[];let Pt=Promise.resolve({});if(Object.keys(Ct).length){let Wa=new AbortController;this.inFlightDependencies.push(Wa),Pt=Le.sendAsync({type:\"GG\",data:{stacks:Ct,source:this.source,tileID:this.tileID,type:\"glyphs\"}},Wa)}let Nt=Object.keys(ot.iconDependencies),cr=Promise.resolve({});if(Nt.length){let Wa=new AbortController;this.inFlightDependencies.push(Wa),cr=Le.sendAsync({type:\"GI\",data:{icons:Nt,source:this.source,tileID:this.tileID,type:\"icons\"}},Wa)}let lr=Object.keys(ot.patternDependencies),sr=Promise.resolve({});if(lr.length){let Wa=new AbortController;this.inFlightDependencies.push(Wa),sr=Le.sendAsync({type:\"GI\",data:{icons:lr,source:this.source,tileID:this.tileID,type:\"patterns\"}},Wa)}let[Pr,_a,Fa]=yield Promise.all([Pt,cr,sr]),Ra=new r(Pr),qa=new e.bo(_a,Fa);for(let Wa in st){let Ca=st[Wa];Ca instanceof e.a6?(a(Ca.layers,this.zoom,Ae),e.bp({bucket:Ca,glyphMap:Pr,glyphPositions:Ra.positions,imageMap:_a,imagePositions:qa.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Ca.hasPattern&&(Ca instanceof e.bq||Ca instanceof e.br||Ca instanceof e.bs)&&(a(Ca.layers,this.zoom,Ae),Ca.addFeatures(ot,this.tileID.canonical,qa.patternPositions))}return this.status=\"done\",{buckets:Object.values(st).filter(Wa=>!Wa.isEmpty()),featureIndex:Je,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Ra.image,imageAtlas:qa,glyphMap:this.returnDependencies?Pr:null,iconMap:this.returnDependencies?_a:null,glyphPositions:this.returnDependencies?Ra.positions:null}})}}function a(xt,Oe,Ke){let Ae=new e.z(Oe);for(let Le of xt)Le.recalculate(Ae,Ke)}class n{constructor(Oe,Ke,Ae){this.actor=Oe,this.layerIndex=Ke,this.availableImages=Ae,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Oe,Ke){return e._(this,void 0,void 0,function*(){let Ae=yield e.l(Oe.request,Ke);try{return{vectorTile:new e.bt.VectorTile(new e.bu(Ae.data)),rawData:Ae.data,cacheControl:Ae.cacheControl,expires:Ae.expires}}catch(Le){let We=new Uint8Array(Ae.data),Je=`Unable to parse the tile at ${Oe.request.url}, `;throw Je+=We[0]===31&&We[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Le.message}`,new Error(Je)}})}loadTile(Oe){return e._(this,void 0,void 0,function*(){let Ke=Oe.uid,Ae=!!(Oe&&Oe.request&&Oe.request.collectResourceTiming)&&new e.bv(Oe.request),Le=new o(Oe);this.loading[Ke]=Le;let We=new AbortController;Le.abort=We;try{let Je=yield this.loadVectorTile(Oe,We);if(delete this.loading[Ke],!Je)return null;let st=Je.rawData,ot={};Je.expires&&(ot.expires=Je.expires),Je.cacheControl&&(ot.cacheControl=Je.cacheControl);let Ut={};if(Ae){let Pt=Ae.finish();Pt&&(Ut.resourceTiming=JSON.parse(JSON.stringify(Pt)))}Le.vectorTile=Je.vectorTile;let Ct=Le.parse(Je.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ke]=Le,this.fetching[Ke]={rawTileData:st,cacheControl:ot,resourceTiming:Ut};try{let Pt=yield Ct;return e.e({rawTileData:st.slice(0)},Pt,ot,Ut)}finally{delete this.fetching[Ke]}}catch(Je){throw delete this.loading[Ke],Le.status=\"done\",this.loaded[Ke]=Le,Je}})}reloadTile(Oe){return e._(this,void 0,void 0,function*(){let Ke=Oe.uid;if(!this.loaded||!this.loaded[Ke])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Ae=this.loaded[Ke];if(Ae.showCollisionBoxes=Oe.showCollisionBoxes,Ae.status===\"parsing\"){let Le=yield Ae.parse(Ae.vectorTile,this.layerIndex,this.availableImages,this.actor),We;if(this.fetching[Ke]){let{rawTileData:Je,cacheControl:st,resourceTiming:ot}=this.fetching[Ke];delete this.fetching[Ke],We=e.e({rawTileData:Je.slice(0)},Le,st,ot)}else We=Le;return We}if(Ae.status===\"done\"&&Ae.vectorTile)return Ae.parse(Ae.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Oe){return e._(this,void 0,void 0,function*(){let Ke=this.loading,Ae=Oe.uid;Ke&&Ke[Ae]&&Ke[Ae].abort&&(Ke[Ae].abort.abort(),delete Ke[Ae])})}removeTile(Oe){return e._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Oe.uid]&&delete this.loaded[Oe.uid]})}}class i{constructor(){this.loaded={}}loadTile(Oe){return e._(this,void 0,void 0,function*(){let{uid:Ke,encoding:Ae,rawImageData:Le,redFactor:We,greenFactor:Je,blueFactor:st,baseShift:ot}=Oe,Ut=Le.width+2,Ct=Le.height+2,Pt=e.b(Le)?new e.R({width:Ut,height:Ct},yield e.bw(Le,-1,-1,Ut,Ct)):Le,Nt=new e.bx(Ke,Pt,Ae,We,Je,st,ot);return this.loaded=this.loaded||{},this.loaded[Ke]=Nt,Nt})}removeTile(Oe){let Ke=this.loaded,Ae=Oe.uid;Ke&&Ke[Ae]&&delete Ke[Ae]}}function s(xt,Oe){if(xt.length!==0){h(xt[0],Oe);for(var Ke=1;Ke=Math.abs(st)?Ke-ot+st:st-ot+Ke,Ke=ot}Ke+Ae>=0!=!!Oe&&xt.reverse()}var f=e.by(function xt(Oe,Ke){var Ae,Le=Oe&&Oe.type;if(Le===\"FeatureCollection\")for(Ae=0;Ae>31}function L(xt,Oe){for(var Ke=xt.loadGeometry(),Ae=xt.type,Le=0,We=0,Je=Ke.length,st=0;stxt},O=Math.fround||(P=new Float32Array(1),xt=>(P[0]=+xt,P[0]));var P;let U=3,N=5,X=6;class ${constructor(Oe){this.options=Object.assign(Object.create(B),Oe),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Oe){let{log:Ke,minZoom:Ae,maxZoom:Le}=this.options;Ke&&console.time(\"total time\");let We=`prepare ${Oe.length} points`;Ke&&console.time(We),this.points=Oe;let Je=[];for(let ot=0;ot=Ae;ot--){let Ut=+Date.now();st=this.trees[ot]=this._createTree(this._cluster(st,ot)),Ke&&console.log(\"z%d: %d clusters in %dms\",ot,st.numItems,+Date.now()-Ut)}return Ke&&console.timeEnd(\"total time\"),this}getClusters(Oe,Ke){let Ae=((Oe[0]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Oe[1])),We=Oe[2]===180?180:((Oe[2]+180)%360+360)%360-180,Je=Math.max(-90,Math.min(90,Oe[3]));if(Oe[2]-Oe[0]>=360)Ae=-180,We=180;else if(Ae>We){let Pt=this.getClusters([Ae,Le,180,Je],Ke),Nt=this.getClusters([-180,Le,We,Je],Ke);return Pt.concat(Nt)}let st=this.trees[this._limitZoom(Ke)],ot=st.range(de(Ae),V(Je),de(We),V(Le)),Ut=st.data,Ct=[];for(let Pt of ot){let Nt=this.stride*Pt;Ct.push(Ut[Nt+N]>1?ue(Ut,Nt,this.clusterProps):this.points[Ut[Nt+U]])}return Ct}getChildren(Oe){let Ke=this._getOriginId(Oe),Ae=this._getOriginZoom(Oe),Le=\"No cluster with the specified id.\",We=this.trees[Ae];if(!We)throw new Error(Le);let Je=We.data;if(Ke*this.stride>=Je.length)throw new Error(Le);let st=this.options.radius/(this.options.extent*Math.pow(2,Ae-1)),ot=We.within(Je[Ke*this.stride],Je[Ke*this.stride+1],st),Ut=[];for(let Ct of ot){let Pt=Ct*this.stride;Je[Pt+4]===Oe&&Ut.push(Je[Pt+N]>1?ue(Je,Pt,this.clusterProps):this.points[Je[Pt+U]])}if(Ut.length===0)throw new Error(Le);return Ut}getLeaves(Oe,Ke,Ae){let Le=[];return this._appendLeaves(Le,Oe,Ke=Ke||10,Ae=Ae||0,0),Le}getTile(Oe,Ke,Ae){let Le=this.trees[this._limitZoom(Oe)],We=Math.pow(2,Oe),{extent:Je,radius:st}=this.options,ot=st/Je,Ut=(Ae-ot)/We,Ct=(Ae+1+ot)/We,Pt={features:[]};return this._addTileFeatures(Le.range((Ke-ot)/We,Ut,(Ke+1+ot)/We,Ct),Le.data,Ke,Ae,We,Pt),Ke===0&&this._addTileFeatures(Le.range(1-ot/We,Ut,1,Ct),Le.data,We,Ae,We,Pt),Ke===We-1&&this._addTileFeatures(Le.range(0,Ut,ot/We,Ct),Le.data,-1,Ae,We,Pt),Pt.features.length?Pt:null}getClusterExpansionZoom(Oe){let Ke=this._getOriginZoom(Oe)-1;for(;Ke<=this.options.maxZoom;){let Ae=this.getChildren(Oe);if(Ke++,Ae.length!==1)break;Oe=Ae[0].properties.cluster_id}return Ke}_appendLeaves(Oe,Ke,Ae,Le,We){let Je=this.getChildren(Ke);for(let st of Je){let ot=st.properties;if(ot&&ot.cluster?We+ot.point_count<=Le?We+=ot.point_count:We=this._appendLeaves(Oe,ot.cluster_id,Ae,Le,We):We1,Ct,Pt,Nt;if(Ut)Ct=ce(Ke,ot,this.clusterProps),Pt=Ke[ot],Nt=Ke[ot+1];else{let sr=this.points[Ke[ot+U]];Ct=sr.properties;let[Pr,_a]=sr.geometry.coordinates;Pt=de(Pr),Nt=V(_a)}let cr={type:1,geometry:[[Math.round(this.options.extent*(Pt*We-Ae)),Math.round(this.options.extent*(Nt*We-Le))]],tags:Ct},lr;lr=Ut||this.options.generateId?Ke[ot+U]:this.points[Ke[ot+U]].id,lr!==void 0&&(cr.id=lr),Je.features.push(cr)}}_limitZoom(Oe){return Math.max(this.options.minZoom,Math.min(Math.floor(+Oe),this.options.maxZoom+1))}_cluster(Oe,Ke){let{radius:Ae,extent:Le,reduce:We,minPoints:Je}=this.options,st=Ae/(Le*Math.pow(2,Ke)),ot=Oe.data,Ut=[],Ct=this.stride;for(let Pt=0;PtKe&&(Pr+=ot[Fa+N])}if(Pr>sr&&Pr>=Je){let _a,Fa=Nt*sr,Ra=cr*sr,qa=-1,Wa=((Pt/Ct|0)<<5)+(Ke+1)+this.points.length;for(let Ca of lr){let hi=Ca*Ct;if(ot[hi+2]<=Ke)continue;ot[hi+2]=Ke;let wi=ot[hi+N];Fa+=ot[hi]*wi,Ra+=ot[hi+1]*wi,ot[hi+4]=Wa,We&&(_a||(_a=this._map(ot,Pt,!0),qa=this.clusterProps.length,this.clusterProps.push(_a)),We(_a,this._map(ot,hi)))}ot[Pt+4]=Wa,Ut.push(Fa/Pr,Ra/Pr,1/0,Wa,-1,Pr),We&&Ut.push(qa)}else{for(let _a=0;_a1)for(let _a of lr){let Fa=_a*Ct;if(!(ot[Fa+2]<=Ke)){ot[Fa+2]=Ke;for(let Ra=0;Ra>5}_getOriginZoom(Oe){return(Oe-this.points.length)%32}_map(Oe,Ke,Ae){if(Oe[Ke+N]>1){let Je=this.clusterProps[Oe[Ke+X]];return Ae?Object.assign({},Je):Je}let Le=this.points[Oe[Ke+U]].properties,We=this.options.map(Le);return Ae&&We===Le?Object.assign({},We):We}}function ue(xt,Oe,Ke){return{type:\"Feature\",id:xt[Oe+U],properties:ce(xt,Oe,Ke),geometry:{type:\"Point\",coordinates:[(Ae=xt[Oe],360*(Ae-.5)),Y(xt[Oe+1])]}};var Ae}function ce(xt,Oe,Ke){let Ae=xt[Oe+N],Le=Ae>=1e4?`${Math.round(Ae/1e3)}k`:Ae>=1e3?Math.round(Ae/100)/10+\"k\":Ae,We=xt[Oe+X],Je=We===-1?{}:Object.assign({},Ke[We]);return Object.assign(Je,{cluster:!0,cluster_id:xt[Oe+U],point_count:Ae,point_count_abbreviated:Le})}function de(xt){return xt/360+.5}function V(xt){let Oe=Math.sin(xt*Math.PI/180),Ke=.5-.25*Math.log((1+Oe)/(1-Oe))/Math.PI;return Ke<0?0:Ke>1?1:Ke}function Y(xt){let Oe=(180-360*xt)*Math.PI/180;return 360*Math.atan(Math.exp(Oe))/Math.PI-90}function ee(xt,Oe,Ke,Ae){let Le=Ae,We=Oe+(Ke-Oe>>1),Je,st=Ke-Oe,ot=xt[Oe],Ut=xt[Oe+1],Ct=xt[Ke],Pt=xt[Ke+1];for(let Nt=Oe+3;NtLe)Je=Nt,Le=cr;else if(cr===Le){let lr=Math.abs(Nt-We);lrAe&&(Je-Oe>3&&ee(xt,Oe,Je,Ae),xt[Je+2]=Le,Ke-Je>3&&ee(xt,Je,Ke,Ae))}function q(xt,Oe,Ke,Ae,Le,We){let Je=Le-Ke,st=We-Ae;if(Je!==0||st!==0){let ot=((xt-Ke)*Je+(Oe-Ae)*st)/(Je*Je+st*st);ot>1?(Ke=Le,Ae=We):ot>0&&(Ke+=Je*ot,Ae+=st*ot)}return Je=xt-Ke,st=Oe-Ae,Je*Je+st*st}function se(xt,Oe,Ke,Ae){let Le={id:xt??null,type:Oe,geometry:Ke,tags:Ae,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Oe===\"Point\"||Oe===\"MultiPoint\"||Oe===\"LineString\")ae(Le,Ke);else if(Oe===\"Polygon\")ae(Le,Ke[0]);else if(Oe===\"MultiLineString\")for(let We of Ke)ae(Le,We);else if(Oe===\"MultiPolygon\")for(let We of Ke)ae(Le,We[0]);return Le}function ae(xt,Oe){for(let Ke=0;Ke0&&(Je+=Ae?(Le*Ct-Ut*We)/2:Math.sqrt(Math.pow(Ut-Le,2)+Math.pow(Ct-We,2))),Le=Ut,We=Ct}let st=Oe.length-3;Oe[2]=1,ee(Oe,0,st,Ke),Oe[st+2]=1,Oe.size=Math.abs(Je),Oe.start=0,Oe.end=Oe.size}function pe(xt,Oe,Ke,Ae){for(let Le=0;Le1?1:Ke}function Ie(xt,Oe,Ke,Ae,Le,We,Je,st){if(Ae/=Oe,We>=(Ke/=Oe)&&Je=Ae)return null;let ot=[];for(let Ut of xt){let Ct=Ut.geometry,Pt=Ut.type,Nt=Le===0?Ut.minX:Ut.minY,cr=Le===0?Ut.maxX:Ut.maxY;if(Nt>=Ke&&cr=Ae)continue;let lr=[];if(Pt===\"Point\"||Pt===\"MultiPoint\")Re(Ct,lr,Ke,Ae,Le);else if(Pt===\"LineString\")He(Ct,lr,Ke,Ae,Le,!1,st.lineMetrics);else if(Pt===\"MultiLineString\")nt(Ct,lr,Ke,Ae,Le,!1);else if(Pt===\"Polygon\")nt(Ct,lr,Ke,Ae,Le,!0);else if(Pt===\"MultiPolygon\")for(let sr of Ct){let Pr=[];nt(sr,Pr,Ke,Ae,Le,!0),Pr.length&&lr.push(Pr)}if(lr.length){if(st.lineMetrics&&Pt===\"LineString\"){for(let sr of lr)ot.push(se(Ut.id,Pt,sr,Ut.tags));continue}Pt!==\"LineString\"&&Pt!==\"MultiLineString\"||(lr.length===1?(Pt=\"LineString\",lr=lr[0]):Pt=\"MultiLineString\"),Pt!==\"Point\"&&Pt!==\"MultiPoint\"||(Pt=lr.length===3?\"Point\":\"MultiPoint\"),ot.push(se(Ut.id,Pt,lr,Ut.tags))}}return ot.length?ot:null}function Re(xt,Oe,Ke,Ae,Le){for(let We=0;We=Ke&&Je<=Ae&&tt(Oe,xt[We],xt[We+1],xt[We+2])}}function He(xt,Oe,Ke,Ae,Le,We,Je){let st=at(xt),ot=Le===0?Ue:he,Ut,Ct,Pt=xt.start;for(let Pr=0;PrKe&&(Ct=ot(st,_a,Fa,qa,Wa,Ke),Je&&(st.start=Pt+Ut*Ct)):Ca>Ae?hi=Ke&&(Ct=ot(st,_a,Fa,qa,Wa,Ke),wi=!0),hi>Ae&&Ca<=Ae&&(Ct=ot(st,_a,Fa,qa,Wa,Ae),wi=!0),!We&&wi&&(Je&&(st.end=Pt+Ut*Ct),Oe.push(st),st=at(xt)),Je&&(Pt+=Ut)}let Nt=xt.length-3,cr=xt[Nt],lr=xt[Nt+1],sr=Le===0?cr:lr;sr>=Ke&&sr<=Ae&&tt(st,cr,lr,xt[Nt+2]),Nt=st.length-3,We&&Nt>=3&&(st[Nt]!==st[0]||st[Nt+1]!==st[1])&&tt(st,st[0],st[1],st[2]),st.length&&Oe.push(st)}function at(xt){let Oe=[];return Oe.size=xt.size,Oe.start=xt.start,Oe.end=xt.end,Oe}function nt(xt,Oe,Ke,Ae,Le,We){for(let Je of xt)He(Je,Oe,Ke,Ae,Le,We,!1)}function tt(xt,Oe,Ke,Ae){xt.push(Oe,Ke,Ae)}function Ue(xt,Oe,Ke,Ae,Le,We){let Je=(We-Oe)/(Ae-Oe);return tt(xt,We,Ke+(Le-Ke)*Je,1),Je}function he(xt,Oe,Ke,Ae,Le,We){let Je=(We-Ke)/(Le-Ke);return tt(xt,Oe+(Ae-Oe)*Je,We,1),Je}function le(xt,Oe){let Ke=[];for(let Ae=0;Ae0&&Oe.size<(Le?Je:Ae))return void(Ke.numPoints+=Oe.length/3);let st=[];for(let ot=0;otJe)&&(Ke.numSimplified++,st.push(Oe[ot],Oe[ot+1])),Ke.numPoints++;Le&&function(ot,Ut){let Ct=0;for(let Pt=0,Nt=ot.length,cr=Nt-2;Pt0===Ut)for(let Pt=0,Nt=ot.length;Pt24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ke.promoteId&&Ke.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Le=function(We,Je){let st=[];if(We.type===\"FeatureCollection\")for(let ot=0;ot1&&console.time(\"creation\"),cr=this.tiles[Nt]=rt(Oe,Ke,Ae,Le,Ut),this.tileCoords.push({z:Ke,x:Ae,y:Le}),Ct)){Ct>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ke,Ae,Le,cr.numFeatures,cr.numPoints,cr.numSimplified),console.timeEnd(\"creation\"));let wi=`z${Ke}`;this.stats[wi]=(this.stats[wi]||0)+1,this.total++}if(cr.source=Oe,We==null){if(Ke===Ut.indexMaxZoom||cr.numPoints<=Ut.indexMaxPoints)continue}else{if(Ke===Ut.maxZoom||Ke===We)continue;if(We!=null){let wi=We-Ke;if(Ae!==Je>>wi||Le!==st>>wi)continue}}if(cr.source=null,Oe.length===0)continue;Ct>1&&console.time(\"clipping\");let lr=.5*Ut.buffer/Ut.extent,sr=.5-lr,Pr=.5+lr,_a=1+lr,Fa=null,Ra=null,qa=null,Wa=null,Ca=Ie(Oe,Pt,Ae-lr,Ae+Pr,0,cr.minX,cr.maxX,Ut),hi=Ie(Oe,Pt,Ae+sr,Ae+_a,0,cr.minX,cr.maxX,Ut);Oe=null,Ca&&(Fa=Ie(Ca,Pt,Le-lr,Le+Pr,1,cr.minY,cr.maxY,Ut),Ra=Ie(Ca,Pt,Le+sr,Le+_a,1,cr.minY,cr.maxY,Ut),Ca=null),hi&&(qa=Ie(hi,Pt,Le-lr,Le+Pr,1,cr.minY,cr.maxY,Ut),Wa=Ie(hi,Pt,Le+sr,Le+_a,1,cr.minY,cr.maxY,Ut),hi=null),Ct>1&&console.timeEnd(\"clipping\"),ot.push(Fa||[],Ke+1,2*Ae,2*Le),ot.push(Ra||[],Ke+1,2*Ae,2*Le+1),ot.push(qa||[],Ke+1,2*Ae+1,2*Le),ot.push(Wa||[],Ke+1,2*Ae+1,2*Le+1)}}getTile(Oe,Ke,Ae){Oe=+Oe,Ke=+Ke,Ae=+Ae;let Le=this.options,{extent:We,debug:Je}=Le;if(Oe<0||Oe>24)return null;let st=1<1&&console.log(\"drilling down to z%d-%d-%d\",Oe,Ke,Ae);let Ut,Ct=Oe,Pt=Ke,Nt=Ae;for(;!Ut&&Ct>0;)Ct--,Pt>>=1,Nt>>=1,Ut=this.tiles[Gt(Ct,Pt,Nt)];return Ut&&Ut.source?(Je>1&&(console.log(\"found parent tile z%d-%d-%d\",Ct,Pt,Nt),console.time(\"drilling down\")),this.splitTile(Ut.source,Ct,Pt,Nt,Oe,Ke,Ae),Je>1&&console.timeEnd(\"drilling down\"),this.tiles[ot]?Ce(this.tiles[ot],We):null):null}}function Gt(xt,Oe,Ke){return 32*((1<{Pt.properties=cr;let lr={};for(let sr of Nt)lr[sr]=ot[sr].evaluate(Ct,Pt);return lr},Je.reduce=(cr,lr)=>{Pt.properties=lr;for(let sr of Nt)Ct.accumulated=cr[sr],cr[sr]=Ut[sr].evaluate(Ct,Pt)},Je}(Oe)).load((yield this._pendingData).features):(Le=yield this._pendingData,new qt(Le,Oe.geojsonVtOptions)),this.loaded={};let We={};if(Ae){let Je=Ae.finish();Je&&(We.resourceTiming={},We.resourceTiming[Oe.source]=JSON.parse(JSON.stringify(Je)))}return We}catch(We){if(delete this._pendingRequest,e.bB(We))return{abandoned:!0};throw We}var Le})}getData(){return e._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Oe){let Ke=this.loaded;return Ke&&Ke[Oe.uid]?super.reloadTile(Oe):this.loadTile(Oe)}loadAndProcessGeoJSON(Oe,Ke){return e._(this,void 0,void 0,function*(){let Ae=yield this.loadGeoJSON(Oe,Ke);if(delete this._pendingRequest,typeof Ae!=\"object\")throw new Error(`Input data given to '${Oe.source}' is not a valid GeoJSON object.`);if(f(Ae,!0),Oe.filter){let Le=e.bC(Oe.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Le.result===\"error\")throw new Error(Le.value.map(Je=>`${Je.key}: ${Je.message}`).join(\", \"));Ae={type:\"FeatureCollection\",features:Ae.features.filter(Je=>Le.value.evaluate({zoom:0},Je))}}return Ae})}loadGeoJSON(Oe,Ke){return e._(this,void 0,void 0,function*(){let{promoteId:Ae}=Oe;if(Oe.request){let Le=yield e.h(Oe.request,Ke);return this._dataUpdateable=mr(Le.data,Ae)?qr(Le.data,Ae):void 0,Le.data}if(typeof Oe.data==\"string\")try{let Le=JSON.parse(Oe.data);return this._dataUpdateable=mr(Le,Ae)?qr(Le,Ae):void 0,Le}catch{throw new Error(`Input data given to '${Oe.source}' is not a valid GeoJSON object.`)}if(!Oe.dataDiff)throw new Error(`Input data given to '${Oe.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Oe.source}`);return function(Le,We,Je){var st,ot,Ut,Ct;if(We.removeAll&&Le.clear(),We.remove)for(let Pt of We.remove)Le.delete(Pt);if(We.add)for(let Pt of We.add){let Nt=Tr(Pt,Je);Nt!=null&&Le.set(Nt,Pt)}if(We.update)for(let Pt of We.update){let Nt=Le.get(Pt.id);if(Nt==null)continue;let cr=!Pt.removeAllProperties&&(((st=Pt.removeProperties)===null||st===void 0?void 0:st.length)>0||((ot=Pt.addOrUpdateProperties)===null||ot===void 0?void 0:ot.length)>0);if((Pt.newGeometry||Pt.removeAllProperties||cr)&&(Nt=Object.assign({},Nt),Le.set(Pt.id,Nt),cr&&(Nt.properties=Object.assign({},Nt.properties))),Pt.newGeometry&&(Nt.geometry=Pt.newGeometry),Pt.removeAllProperties)Nt.properties={};else if(((Ut=Pt.removeProperties)===null||Ut===void 0?void 0:Ut.length)>0)for(let lr of Pt.removeProperties)Object.prototype.hasOwnProperty.call(Nt.properties,lr)&&delete Nt.properties[lr];if(((Ct=Pt.addOrUpdateProperties)===null||Ct===void 0?void 0:Ct.length)>0)for(let{key:lr,value:sr}of Pt.addOrUpdateProperties)Nt.properties[lr]=sr}}(this._dataUpdateable,Oe.dataDiff,Ae),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Oe){return e._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Oe){return this._geoJSONIndex.getClusterExpansionZoom(Oe.clusterId)}getClusterChildren(Oe){return this._geoJSONIndex.getChildren(Oe.clusterId)}getClusterLeaves(Oe){return this._geoJSONIndex.getLeaves(Oe.clusterId,Oe.limit,Oe.offset)}}class Dr{constructor(Oe){this.self=Oe,this.actor=new e.F(Oe),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ke,Ae)=>{if(this.externalWorkerSourceTypes[Ke])throw new Error(`Worker source with name \"${Ke}\" already registered.`);this.externalWorkerSourceTypes[Ke]=Ae},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=Ke=>{if(e.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");e.bD.setMethods(Ke)},this.actor.registerMessageHandler(\"LDT\",(Ke,Ae)=>this._getDEMWorkerSource(Ke,Ae.source).loadTile(Ae)),this.actor.registerMessageHandler(\"RDT\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ke,Ae.source).removeTile(Ae)})),this.actor.registerMessageHandler(\"GCEZ\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ke,Ae.type,Ae.source).getClusterExpansionZoom(Ae)})),this.actor.registerMessageHandler(\"GCC\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ke,Ae.type,Ae.source).getClusterChildren(Ae)})),this.actor.registerMessageHandler(\"GCL\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ke,Ae.type,Ae.source).getClusterLeaves(Ae)})),this.actor.registerMessageHandler(\"LD\",(Ke,Ae)=>this._getWorkerSource(Ke,Ae.type,Ae.source).loadData(Ae)),this.actor.registerMessageHandler(\"GD\",(Ke,Ae)=>this._getWorkerSource(Ke,Ae.type,Ae.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ke,Ae)=>this._getWorkerSource(Ke,Ae.type,Ae.source).loadTile(Ae)),this.actor.registerMessageHandler(\"RT\",(Ke,Ae)=>this._getWorkerSource(Ke,Ae.type,Ae.source).reloadTile(Ae)),this.actor.registerMessageHandler(\"AT\",(Ke,Ae)=>this._getWorkerSource(Ke,Ae.type,Ae.source).abortTile(Ae)),this.actor.registerMessageHandler(\"RMT\",(Ke,Ae)=>this._getWorkerSource(Ke,Ae.type,Ae.source).removeTile(Ae)),this.actor.registerMessageHandler(\"RS\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){if(!this.workerSources[Ke]||!this.workerSources[Ke][Ae.type]||!this.workerSources[Ke][Ae.type][Ae.source])return;let Le=this.workerSources[Ke][Ae.type][Ae.source];delete this.workerSources[Ke][Ae.type][Ae.source],Le.removeSource!==void 0&&Le.removeSource(Ae)})),this.actor.registerMessageHandler(\"RM\",Ke=>e._(this,void 0,void 0,function*(){delete this.layerIndexes[Ke],delete this.availableImages[Ke],delete this.workerSources[Ke],delete this.demWorkerSources[Ke]})),this.actor.registerMessageHandler(\"SR\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){this.referrer=Ae})),this.actor.registerMessageHandler(\"SRPS\",(Ke,Ae)=>this._syncRTLPluginState(Ke,Ae)),this.actor.registerMessageHandler(\"IS\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){this.self.importScripts(Ae)})),this.actor.registerMessageHandler(\"SI\",(Ke,Ae)=>this._setImages(Ke,Ae)),this.actor.registerMessageHandler(\"UL\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(Ke).update(Ae.layers,Ae.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ke,Ae)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(Ke).replace(Ae)}))}_setImages(Oe,Ke){return e._(this,void 0,void 0,function*(){this.availableImages[Oe]=Ke;for(let Ae in this.workerSources[Oe]){let Le=this.workerSources[Oe][Ae];for(let We in Le)Le[We].availableImages=Ke}})}_syncRTLPluginState(Oe,Ke){return e._(this,void 0,void 0,function*(){if(e.bD.isParsed())return e.bD.getState();if(Ke.pluginStatus!==\"loading\")return e.bD.setState(Ke),Ke;let Ae=Ke.pluginURL;if(this.self.importScripts(Ae),e.bD.isParsed()){let Le={pluginStatus:\"loaded\",pluginURL:Ae};return e.bD.setState(Le),Le}throw e.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Ae}`)})}_getAvailableImages(Oe){let Ke=this.availableImages[Oe];return Ke||(Ke=[]),Ke}_getLayerIndex(Oe){let Ke=this.layerIndexes[Oe];return Ke||(Ke=this.layerIndexes[Oe]=new t),Ke}_getWorkerSource(Oe,Ke,Ae){if(this.workerSources[Oe]||(this.workerSources[Oe]={}),this.workerSources[Oe][Ke]||(this.workerSources[Oe][Ke]={}),!this.workerSources[Oe][Ke][Ae]){let Le={sendAsync:(We,Je)=>(We.targetMapId=Oe,this.actor.sendAsync(We,Je))};switch(Ke){case\"vector\":this.workerSources[Oe][Ke][Ae]=new n(Le,this._getLayerIndex(Oe),this._getAvailableImages(Oe));break;case\"geojson\":this.workerSources[Oe][Ke][Ae]=new Er(Le,this._getLayerIndex(Oe),this._getAvailableImages(Oe));break;default:this.workerSources[Oe][Ke][Ae]=new this.externalWorkerSourceTypes[Ke](Le,this._getLayerIndex(Oe),this._getAvailableImages(Oe))}}return this.workerSources[Oe][Ke][Ae]}_getDEMWorkerSource(Oe,Ke){return this.demWorkerSources[Oe]||(this.demWorkerSources[Oe]={}),this.demWorkerSources[Oe][Ke]||(this.demWorkerSources[Oe][Ke]=new i),this.demWorkerSources[Oe][Ke]}}return e.i(self)&&(self.worker=new Dr(self)),Dr}),A(\"index\",[\"exports\",\"./shared\"],function(e,t){\"use strict\";var r=\"4.7.1\";let o,a,n={now:typeof performance<\"u\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:Fe=>new Promise((I,ie)=>{let Te=requestAnimationFrame(I);Fe.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Te),ie(t.c())})}),getImageData(Fe,I=0){return this.getImageCanvasContext(Fe).getImageData(-I,-I,Fe.width+2*I,Fe.height+2*I)},getImageCanvasContext(Fe){let I=window.document.createElement(\"canvas\"),ie=I.getContext(\"2d\",{willReadFrequently:!0});if(!ie)throw new Error(\"failed to create canvas 2d context\");return I.width=Fe.width,I.height=Fe.height,ie.drawImage(Fe,0,0,Fe.width,Fe.height),ie},resolveURL:Fe=>(o||(o=document.createElement(\"a\")),o.href=Fe,o.href),hardwareConcurrency:typeof navigator<\"u\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(a==null&&(a=matchMedia(\"(prefers-reduced-motion: reduce)\")),a.matches)}};class i{static testProp(I){if(!i.docStyle)return I[0];for(let ie=0;ie{window.removeEventListener(\"click\",i.suppressClickInternal,!0)},0)}static getScale(I){let ie=I.getBoundingClientRect();return{x:ie.width/I.offsetWidth||1,y:ie.height/I.offsetHeight||1,boundingClientRect:ie}}static getPoint(I,ie,Te){let Me=ie.boundingClientRect;return new t.P((Te.clientX-Me.left)/ie.x-I.clientLeft,(Te.clientY-Me.top)/ie.y-I.clientTop)}static mousePos(I,ie){let Te=i.getScale(I);return i.getPoint(I,Te,ie)}static touchPos(I,ie){let Te=[],Me=i.getScale(I);for(let ze=0;ze{h&&T(h),h=null,c=!0},f.onerror=()=>{v=!0,h=null},f.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(Fe){let I,ie,Te,Me;Fe.resetRequestQueue=()=>{I=[],ie=0,Te=0,Me={}},Fe.addThrottleControl=Ot=>{let $t=Te++;return Me[$t]=Ot,$t},Fe.removeThrottleControl=Ot=>{delete Me[Ot],ht()},Fe.getImage=(Ot,$t,Ar=!0)=>new Promise((Sr,Kr)=>{s.supported&&(Ot.headers||(Ot.headers={}),Ot.headers.accept=\"image/webp,*/*\"),t.e(Ot,{type:\"image\"}),I.push({abortController:$t,requestParameters:Ot,supportImageRefresh:Ar,state:\"queued\",onError:na=>{Kr(na)},onSuccess:na=>{Sr(na)}}),ht()});let ze=Ot=>t._(this,void 0,void 0,function*(){Ot.state=\"running\";let{requestParameters:$t,supportImageRefresh:Ar,onError:Sr,onSuccess:Kr,abortController:na}=Ot,qe=Ar===!1&&!t.i(self)&&!t.g($t.url)&&(!$t.headers||Object.keys($t.headers).reduce((pt,Et)=>pt&&Et===\"accept\",!0));ie++;let $e=qe?wt($t,na):t.m($t,na);try{let pt=yield $e;delete Ot.abortController,Ot.state=\"completed\",pt.data instanceof HTMLImageElement||t.b(pt.data)?Kr(pt):pt.data&&Kr({data:yield(lt=pt.data,typeof createImageBitmap==\"function\"?t.d(lt):t.f(lt)),cacheControl:pt.cacheControl,expires:pt.expires})}catch(pt){delete Ot.abortController,Sr(pt)}finally{ie--,ht()}var lt}),ht=()=>{let Ot=(()=>{for(let $t of Object.keys(Me))if(Me[$t]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let $t=ie;$t0;$t++){let Ar=I.shift();Ar.abortController.signal.aborted?$t--:ze(Ar)}},wt=(Ot,$t)=>new Promise((Ar,Sr)=>{let Kr=new Image,na=Ot.url,qe=Ot.credentials;qe&&qe===\"include\"?Kr.crossOrigin=\"use-credentials\":(qe&&qe===\"same-origin\"||!t.s(na))&&(Kr.crossOrigin=\"anonymous\"),$t.signal.addEventListener(\"abort\",()=>{Kr.src=\"\",Sr(t.c())}),Kr.fetchPriority=\"high\",Kr.onload=()=>{Kr.onerror=Kr.onload=null,Ar({data:Kr})},Kr.onerror=()=>{Kr.onerror=Kr.onload=null,$t.signal.aborted||Sr(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.\"))},Kr.src=na})}(l||(l={})),l.resetRequestQueue();class x{constructor(I){this._transformRequestFn=I}transformRequest(I,ie){return this._transformRequestFn&&this._transformRequestFn(I,ie)||{url:I}}setTransformRequest(I){this._transformRequestFn=I}}function w(Fe){var I=new t.A(3);return I[0]=Fe[0],I[1]=Fe[1],I[2]=Fe[2],I}var S,M=function(Fe,I,ie){return Fe[0]=I[0]-ie[0],Fe[1]=I[1]-ie[1],Fe[2]=I[2]-ie[2],Fe};S=new t.A(3),t.A!=Float32Array&&(S[0]=0,S[1]=0,S[2]=0);var m=function(Fe){var I=Fe[0],ie=Fe[1];return I*I+ie*ie};function b(Fe){let I=[];if(typeof Fe==\"string\")I.push({id:\"default\",url:Fe});else if(Fe&&Fe.length>0){let ie=[];for(let{id:Te,url:Me}of Fe){let ze=`${Te}${Me}`;ie.indexOf(ze)===-1&&(ie.push(ze),I.push({id:Te,url:Me}))}}return I}function p(Fe,I,ie){let Te=Fe.split(\"?\");return Te[0]+=`${I}${ie}`,Te.join(\"?\")}(function(){var Fe=new t.A(2);t.A!=Float32Array&&(Fe[0]=0,Fe[1]=0)})();class u{constructor(I,ie,Te,Me){this.context=I,this.format=Te,this.texture=I.gl.createTexture(),this.update(ie,Me)}update(I,ie,Te){let{width:Me,height:ze}=I,ht=!(this.size&&this.size[0]===Me&&this.size[1]===ze||Te),{context:wt}=this,{gl:Ot}=wt;if(this.useMipmap=!!(ie&&ie.useMipmap),Ot.bindTexture(Ot.TEXTURE_2D,this.texture),wt.pixelStoreUnpackFlipY.set(!1),wt.pixelStoreUnpack.set(1),wt.pixelStoreUnpackPremultiplyAlpha.set(this.format===Ot.RGBA&&(!ie||ie.premultiply!==!1)),ht)this.size=[Me,ze],I instanceof HTMLImageElement||I instanceof HTMLCanvasElement||I instanceof HTMLVideoElement||I instanceof ImageData||t.b(I)?Ot.texImage2D(Ot.TEXTURE_2D,0,this.format,this.format,Ot.UNSIGNED_BYTE,I):Ot.texImage2D(Ot.TEXTURE_2D,0,this.format,Me,ze,0,this.format,Ot.UNSIGNED_BYTE,I.data);else{let{x:$t,y:Ar}=Te||{x:0,y:0};I instanceof HTMLImageElement||I instanceof HTMLCanvasElement||I instanceof HTMLVideoElement||I instanceof ImageData||t.b(I)?Ot.texSubImage2D(Ot.TEXTURE_2D,0,$t,Ar,Ot.RGBA,Ot.UNSIGNED_BYTE,I):Ot.texSubImage2D(Ot.TEXTURE_2D,0,$t,Ar,Me,ze,Ot.RGBA,Ot.UNSIGNED_BYTE,I.data)}this.useMipmap&&this.isSizePowerOfTwo()&&Ot.generateMipmap(Ot.TEXTURE_2D)}bind(I,ie,Te){let{context:Me}=this,{gl:ze}=Me;ze.bindTexture(ze.TEXTURE_2D,this.texture),Te!==ze.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Te=ze.LINEAR),I!==this.filter&&(ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_MAG_FILTER,I),ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_MIN_FILTER,Te||I),this.filter=I),ie!==this.wrap&&(ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_WRAP_S,ie),ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_WRAP_T,ie),this.wrap=ie)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:I}=this.context;I.deleteTexture(this.texture),this.texture=null}}function g(Fe){let{userImage:I}=Fe;return!!(I&&I.render&&I.render())&&(Fe.data.replace(new Uint8Array(I.data.buffer)),!0)}class y extends t.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(I){if(this.loaded!==I&&(this.loaded=I,I)){for(let{ids:ie,promiseResolve:Te}of this.requestors)Te(this._getImagesForIds(ie));this.requestors=[]}}getImage(I){let ie=this.images[I];if(ie&&!ie.data&&ie.spriteData){let Te=ie.spriteData;ie.data=new t.R({width:Te.width,height:Te.height},Te.context.getImageData(Te.x,Te.y,Te.width,Te.height).data),ie.spriteData=null}return ie}addImage(I,ie){if(this.images[I])throw new Error(`Image id ${I} already exist, use updateImage instead`);this._validate(I,ie)&&(this.images[I]=ie)}_validate(I,ie){let Te=!0,Me=ie.data||ie.spriteData;return this._validateStretch(ie.stretchX,Me&&Me.width)||(this.fire(new t.j(new Error(`Image \"${I}\" has invalid \"stretchX\" value`))),Te=!1),this._validateStretch(ie.stretchY,Me&&Me.height)||(this.fire(new t.j(new Error(`Image \"${I}\" has invalid \"stretchY\" value`))),Te=!1),this._validateContent(ie.content,ie)||(this.fire(new t.j(new Error(`Image \"${I}\" has invalid \"content\" value`))),Te=!1),Te}_validateStretch(I,ie){if(!I)return!0;let Te=0;for(let Me of I){if(Me[0]{let Me=!0;if(!this.isLoaded())for(let ze of I)this.images[ze]||(Me=!1);this.isLoaded()||Me?ie(this._getImagesForIds(I)):this.requestors.push({ids:I,promiseResolve:ie})})}_getImagesForIds(I){let ie={};for(let Te of I){let Me=this.getImage(Te);Me||(this.fire(new t.k(\"styleimagemissing\",{id:Te})),Me=this.getImage(Te)),Me?ie[Te]={data:Me.data.clone(),pixelRatio:Me.pixelRatio,sdf:Me.sdf,version:Me.version,stretchX:Me.stretchX,stretchY:Me.stretchY,content:Me.content,textFitWidth:Me.textFitWidth,textFitHeight:Me.textFitHeight,hasRenderCallback:!!(Me.userImage&&Me.userImage.render)}:t.w(`Image \"${Te}\" 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.`)}return ie}getPixelSize(){let{width:I,height:ie}=this.atlasImage;return{width:I,height:ie}}getPattern(I){let ie=this.patterns[I],Te=this.getImage(I);if(!Te)return null;if(ie&&ie.position.version===Te.version)return ie.position;if(ie)ie.position.version=Te.version;else{let Me={w:Te.data.width+2,h:Te.data.height+2,x:0,y:0},ze=new t.I(Me,Te);this.patterns[I]={bin:Me,position:ze}}return this._updatePatternAtlas(),this.patterns[I].position}bind(I){let ie=I.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new u(I,this.atlasImage,ie.RGBA),this.atlasTexture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE)}_updatePatternAtlas(){let I=[];for(let ze in this.patterns)I.push(this.patterns[ze].bin);let{w:ie,h:Te}=t.p(I),Me=this.atlasImage;Me.resize({width:ie||1,height:Te||1});for(let ze in this.patterns){let{bin:ht}=this.patterns[ze],wt=ht.x+1,Ot=ht.y+1,$t=this.getImage(ze).data,Ar=$t.width,Sr=$t.height;t.R.copy($t,Me,{x:0,y:0},{x:wt,y:Ot},{width:Ar,height:Sr}),t.R.copy($t,Me,{x:0,y:Sr-1},{x:wt,y:Ot-1},{width:Ar,height:1}),t.R.copy($t,Me,{x:0,y:0},{x:wt,y:Ot+Sr},{width:Ar,height:1}),t.R.copy($t,Me,{x:Ar-1,y:0},{x:wt-1,y:Ot},{width:1,height:Sr}),t.R.copy($t,Me,{x:0,y:0},{x:wt+Ar,y:Ot},{width:1,height:Sr})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(I){for(let ie of I){if(this.callbackDispatchedThisFrame[ie])continue;this.callbackDispatchedThisFrame[ie]=!0;let Te=this.getImage(ie);Te||t.w(`Image with ID: \"${ie}\" was not found`),g(Te)&&this.updateImage(ie,Te)}}}let D=1e20;function L(Fe,I,ie,Te,Me,ze,ht,wt,Ot){for(let $t=I;$t-1);Ot++,ze[Ot]=wt,ht[Ot]=$t,ht[Ot+1]=D}for(let wt=0,Ot=0;wt65535)throw new Error(\"glyphs > 65535 not supported\");if(Te.ranges[ze])return{stack:I,id:ie,glyph:Me};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Te.requests[ze]){let wt=F.loadGlyphRange(I,ze,this.url,this.requestManager);Te.requests[ze]=wt}let ht=yield Te.requests[ze];for(let wt in ht)this._doesCharSupportLocalGlyph(+wt)||(Te.glyphs[+wt]=ht[+wt]);return Te.ranges[ze]=!0,{stack:I,id:ie,glyph:ht[ie]||null}})}_doesCharSupportLocalGlyph(I){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(I))}_tinySDF(I,ie,Te){let Me=this.localIdeographFontFamily;if(!Me||!this._doesCharSupportLocalGlyph(Te))return;let ze=I.tinySDF;if(!ze){let wt=\"400\";/bold/i.test(ie)?wt=\"900\":/medium/i.test(ie)?wt=\"500\":/light/i.test(ie)&&(wt=\"200\"),ze=I.tinySDF=new F.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:Me,fontWeight:wt})}let ht=ze.draw(String.fromCharCode(Te));return{id:Te,bitmap:new t.o({width:ht.width||60,height:ht.height||60},ht.data),metrics:{width:ht.glyphWidth/2||24,height:ht.glyphHeight/2||24,left:ht.glyphLeft/2+.5||0,top:ht.glyphTop/2-27.5||-8,advance:ht.glyphAdvance/2||24,isDoubleResolution:!0}}}}F.loadGlyphRange=function(Fe,I,ie,Te){return t._(this,void 0,void 0,function*(){let Me=256*I,ze=Me+255,ht=Te.transformRequest(ie.replace(\"{fontstack}\",Fe).replace(\"{range}\",`${Me}-${ze}`),\"Glyphs\"),wt=yield t.l(ht,new AbortController);if(!wt||!wt.data)throw new Error(`Could not load glyph range. range: ${I}, ${Me}-${ze}`);let Ot={};for(let $t of t.n(wt.data))Ot[$t.id]=$t;return Ot})},F.TinySDF=class{constructor({fontSize:Fe=24,buffer:I=3,radius:ie=8,cutoff:Te=.25,fontFamily:Me=\"sans-serif\",fontWeight:ze=\"normal\",fontStyle:ht=\"normal\"}={}){this.buffer=I,this.cutoff=Te,this.radius=ie;let wt=this.size=Fe+4*I,Ot=this._createCanvas(wt),$t=this.ctx=Ot.getContext(\"2d\",{willReadFrequently:!0});$t.font=`${ht} ${ze} ${Fe}px ${Me}`,$t.textBaseline=\"alphabetic\",$t.textAlign=\"left\",$t.fillStyle=\"black\",this.gridOuter=new Float64Array(wt*wt),this.gridInner=new Float64Array(wt*wt),this.f=new Float64Array(wt),this.z=new Float64Array(wt+1),this.v=new Uint16Array(wt)}_createCanvas(Fe){let I=document.createElement(\"canvas\");return I.width=I.height=Fe,I}draw(Fe){let{width:I,actualBoundingBoxAscent:ie,actualBoundingBoxDescent:Te,actualBoundingBoxLeft:Me,actualBoundingBoxRight:ze}=this.ctx.measureText(Fe),ht=Math.ceil(ie),wt=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(ze-Me))),Ot=Math.min(this.size-this.buffer,ht+Math.ceil(Te)),$t=wt+2*this.buffer,Ar=Ot+2*this.buffer,Sr=Math.max($t*Ar,0),Kr=new Uint8ClampedArray(Sr),na={data:Kr,width:$t,height:Ar,glyphWidth:wt,glyphHeight:Ot,glyphTop:ht,glyphLeft:0,glyphAdvance:I};if(wt===0||Ot===0)return na;let{ctx:qe,buffer:$e,gridInner:lt,gridOuter:pt}=this;qe.clearRect($e,$e,wt,Ot),qe.fillText(Fe,$e,$e+ht);let Et=qe.getImageData($e,$e,wt,Ot);pt.fill(D,0,Sr),lt.fill(0,0,Sr);for(let bt=0;bt0?kr*kr:0,lt[yr]=kr<0?kr*kr:0}}L(pt,0,0,$t,Ar,$t,this.f,this.v,this.z),L(lt,$e,$e,wt,Ot,$t,this.f,this.v,this.z);for(let bt=0;bt1&&(Ot=I[++wt]);let Ar=Math.abs($t-Ot.left),Sr=Math.abs($t-Ot.right),Kr=Math.min(Ar,Sr),na,qe=ze/Te*(Me+1);if(Ot.isDash){let $e=Me-Math.abs(qe);na=Math.sqrt(Kr*Kr+$e*$e)}else na=Me-Math.sqrt(Kr*Kr+qe*qe);this.data[ht+$t]=Math.max(0,Math.min(255,na+128))}}}addRegularDash(I){for(let wt=I.length-1;wt>=0;--wt){let Ot=I[wt],$t=I[wt+1];Ot.zeroLength?I.splice(wt,1):$t&&$t.isDash===Ot.isDash&&($t.left=Ot.left,I.splice(wt,1))}let ie=I[0],Te=I[I.length-1];ie.isDash===Te.isDash&&(ie.left=Te.left-this.width,Te.right=ie.right+this.width);let Me=this.width*this.nextRow,ze=0,ht=I[ze];for(let wt=0;wt1&&(ht=I[++ze]);let Ot=Math.abs(wt-ht.left),$t=Math.abs(wt-ht.right),Ar=Math.min(Ot,$t);this.data[Me+wt]=Math.max(0,Math.min(255,(ht.isDash?Ar:-Ar)+128))}}addDash(I,ie){let Te=ie?7:0,Me=2*Te+1;if(this.nextRow+Me>this.height)return t.w(\"LineAtlas out of space\"),null;let ze=0;for(let wt=0;wt{ie.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[$]}numActive(){return Object.keys(this.active).length}}let ce=Math.floor(n.hardwareConcurrency/2),de,V;function Y(){return de||(de=new ue),de}ue.workerCount=t.C(globalThis)?Math.max(Math.min(ce,3),1):1;class ee{constructor(I,ie){this.workerPool=I,this.actors=[],this.currentActor=0,this.id=ie;let Te=this.workerPool.acquire(ie);for(let Me=0;Me{ie.remove()}),this.actors=[],I&&this.workerPool.release(this.id)}registerMessageHandler(I,ie){for(let Te of this.actors)Te.registerMessageHandler(I,ie)}}function q(){return V||(V=new ee(Y(),t.G),V.registerMessageHandler(\"GR\",(Fe,I,ie)=>t.m(I,ie))),V}function se(Fe,I){let ie=t.H();return t.J(ie,ie,[1,1,0]),t.K(ie,ie,[.5*Fe.width,.5*Fe.height,1]),t.L(ie,ie,Fe.calculatePosMatrix(I.toUnwrapped()))}function ae(Fe,I,ie,Te,Me,ze){let ht=function(Sr,Kr,na){if(Sr)for(let qe of Sr){let $e=Kr[qe];if($e&&$e.source===na&&$e.type===\"fill-extrusion\")return!0}else for(let qe in Kr){let $e=Kr[qe];if($e.source===na&&$e.type===\"fill-extrusion\")return!0}return!1}(Me&&Me.layers,I,Fe.id),wt=ze.maxPitchScaleFactor(),Ot=Fe.tilesIn(Te,wt,ht);Ot.sort(j);let $t=[];for(let Sr of Ot)$t.push({wrappedTileID:Sr.tileID.wrapped().key,queryResults:Sr.tile.queryRenderedFeatures(I,ie,Fe._state,Sr.queryGeometry,Sr.cameraQueryGeometry,Sr.scale,Me,ze,wt,se(Fe.transform,Sr.tileID))});let Ar=function(Sr){let Kr={},na={};for(let qe of Sr){let $e=qe.queryResults,lt=qe.wrappedTileID,pt=na[lt]=na[lt]||{};for(let Et in $e){let bt=$e[Et],Dt=pt[Et]=pt[Et]||{},ur=Kr[Et]=Kr[Et]||[];for(let yr of bt)Dt[yr.featureIndex]||(Dt[yr.featureIndex]=!0,ur.push(yr))}}return Kr}($t);for(let Sr in Ar)Ar[Sr].forEach(Kr=>{let na=Kr.feature,qe=Fe.getFeatureState(na.layer[\"source-layer\"],na.id);na.source=na.layer.source,na.layer[\"source-layer\"]&&(na.sourceLayer=na.layer[\"source-layer\"]),na.state=qe});return Ar}function j(Fe,I){let ie=Fe.tileID,Te=I.tileID;return ie.overscaledZ-Te.overscaledZ||ie.canonical.y-Te.canonical.y||ie.wrap-Te.wrap||ie.canonical.x-Te.canonical.x}function Q(Fe,I,ie){return t._(this,void 0,void 0,function*(){let Te=Fe;if(Fe.url?Te=(yield t.h(I.transformRequest(Fe.url,\"Source\"),ie)).data:yield n.frameAsync(ie),!Te)return null;let Me=t.M(t.e(Te,Fe),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Te&&Te.vector_layers&&(Me.vectorLayerIds=Te.vector_layers.map(ze=>ze.id)),Me})}class re{constructor(I,ie){I&&(ie?this.setSouthWest(I).setNorthEast(ie):Array.isArray(I)&&(I.length===4?this.setSouthWest([I[0],I[1]]).setNorthEast([I[2],I[3]]):this.setSouthWest(I[0]).setNorthEast(I[1])))}setNorthEast(I){return this._ne=I instanceof t.N?new t.N(I.lng,I.lat):t.N.convert(I),this}setSouthWest(I){return this._sw=I instanceof t.N?new t.N(I.lng,I.lat):t.N.convert(I),this}extend(I){let ie=this._sw,Te=this._ne,Me,ze;if(I instanceof t.N)Me=I,ze=I;else{if(!(I instanceof re))return Array.isArray(I)?I.length===4||I.every(Array.isArray)?this.extend(re.convert(I)):this.extend(t.N.convert(I)):I&&(\"lng\"in I||\"lon\"in I)&&\"lat\"in I?this.extend(t.N.convert(I)):this;if(Me=I._sw,ze=I._ne,!Me||!ze)return this}return ie||Te?(ie.lng=Math.min(Me.lng,ie.lng),ie.lat=Math.min(Me.lat,ie.lat),Te.lng=Math.max(ze.lng,Te.lng),Te.lat=Math.max(ze.lat,Te.lat)):(this._sw=new t.N(Me.lng,Me.lat),this._ne=new t.N(ze.lng,ze.lat)),this}getCenter(){return new t.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new t.N(this.getWest(),this.getNorth())}getSouthEast(){return new t.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(I){let{lng:ie,lat:Te}=t.N.convert(I),Me=this._sw.lng<=ie&&ie<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Me=this._sw.lng>=ie&&ie>=this._ne.lng),this._sw.lat<=Te&&Te<=this._ne.lat&&Me}static convert(I){return I instanceof re?I:I&&new re(I)}static fromLngLat(I,ie=0){let Te=360*ie/40075017,Me=Te/Math.cos(Math.PI/180*I.lat);return new re(new t.N(I.lng-Me,I.lat-Te),new t.N(I.lng+Me,I.lat+Te))}adjustAntiMeridian(){let I=new t.N(this._sw.lng,this._sw.lat),ie=new t.N(this._ne.lng,this._ne.lat);return new re(I,I.lng>ie.lng?new t.N(ie.lng+360,ie.lat):ie)}}class pe{constructor(I,ie,Te){this.bounds=re.convert(this.validateBounds(I)),this.minzoom=ie||0,this.maxzoom=Te||24}validateBounds(I){return Array.isArray(I)&&I.length===4?[Math.max(-180,I[0]),Math.max(-90,I[1]),Math.min(180,I[2]),Math.min(90,I[3])]:[-180,-90,180,90]}contains(I){let ie=Math.pow(2,I.z),Te=Math.floor(t.O(this.bounds.getWest())*ie),Me=Math.floor(t.Q(this.bounds.getNorth())*ie),ze=Math.ceil(t.O(this.bounds.getEast())*ie),ht=Math.ceil(t.Q(this.bounds.getSouth())*ie);return I.x>=Te&&I.x=Me&&I.y{this._options.tiles=I}),this}setUrl(I){return this.setSourceProperty(()=>{this.url=I,this._options.url=I}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return t.e({},this._options)}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Te={request:this.map._requestManager.transformRequest(ie,\"Tile\"),uid:I.uid,tileID:I.tileID,zoom:I.tileID.overscaledZ,tileSize:this.tileSize*I.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Te.request.collectResourceTiming=this._collectResourceTiming;let Me=\"RT\";if(I.actor&&I.state!==\"expired\"){if(I.state===\"loading\")return new Promise((ze,ht)=>{I.reloadPromise={resolve:ze,reject:ht}})}else I.actor=this.dispatcher.getActor(),Me=\"LT\";I.abortController=new AbortController;try{let ze=yield I.actor.sendAsync({type:Me,data:Te},I.abortController);if(delete I.abortController,I.aborted)return;this._afterTileLoadWorkerResponse(I,ze)}catch(ze){if(delete I.abortController,I.aborted)return;if(ze&&ze.status!==404)throw ze;this._afterTileLoadWorkerResponse(I,null)}})}_afterTileLoadWorkerResponse(I,ie){if(ie&&ie.resourceTiming&&(I.resourceTiming=ie.resourceTiming),ie&&this.map._refreshExpiredTiles&&I.setExpiryData(ie),I.loadVectorData(ie,this.map.painter),I.reloadPromise){let Te=I.reloadPromise;I.reloadPromise=null,this.loadTile(I).then(Te.resolve).catch(Te.reject)}}abortTile(I){return t._(this,void 0,void 0,function*(){I.abortController&&(I.abortController.abort(),delete I.abortController),I.actor&&(yield I.actor.sendAsync({type:\"AT\",data:{uid:I.uid,type:this.type,source:this.id}}))})}unloadTile(I){return t._(this,void 0,void 0,function*(){I.unloadVectorData(),I.actor&&(yield I.actor.sendAsync({type:\"RMT\",data:{uid:I.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class Se extends t.E{constructor(I,ie,Te,Me){super(),this.id=I,this.dispatcher=Te,this.setEventedParent(Me),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.e({type:\"raster\"},ie),t.e(this,t.M(ie,[\"url\",\"scheme\",\"tileSize\"]))}load(){return t._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new t.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let I=yield Q(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,I&&(t.e(this,I),I.bounds&&(this.tileBounds=new pe(I.bounds,this.minzoom,this.maxzoom)),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(I){this._tileJSONRequest=null,this.fire(new t.j(I))}})}loaded(){return this._loaded}onAdd(I){this.map=I,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(I){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),I(),this.load()}setTiles(I){return this.setSourceProperty(()=>{this._options.tiles=I}),this}setUrl(I){return this.setSourceProperty(()=>{this.url=I,this._options.url=I}),this}serialize(){return t.e({},this._options)}hasTile(I){return!this.tileBounds||this.tileBounds.contains(I.canonical)}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);I.abortController=new AbortController;try{let Te=yield l.getImage(this.map._requestManager.transformRequest(ie,\"Tile\"),I.abortController,this.map._refreshExpiredTiles);if(delete I.abortController,I.aborted)return void(I.state=\"unloaded\");if(Te&&Te.data){this.map._refreshExpiredTiles&&Te.cacheControl&&Te.expires&&I.setExpiryData({cacheControl:Te.cacheControl,expires:Te.expires});let Me=this.map.painter.context,ze=Me.gl,ht=Te.data;I.texture=this.map.painter.getTileTexture(ht.width),I.texture?I.texture.update(ht,{useMipmap:!0}):(I.texture=new u(Me,ht,ze.RGBA,{useMipmap:!0}),I.texture.bind(ze.LINEAR,ze.CLAMP_TO_EDGE,ze.LINEAR_MIPMAP_NEAREST)),I.state=\"loaded\"}}catch(Te){if(delete I.abortController,I.aborted)I.state=\"unloaded\";else if(Te)throw I.state=\"errored\",Te}})}abortTile(I){return t._(this,void 0,void 0,function*(){I.abortController&&(I.abortController.abort(),delete I.abortController)})}unloadTile(I){return t._(this,void 0,void 0,function*(){I.texture&&this.map.painter.saveTileTexture(I.texture)})}hasTransition(){return!1}}class Ie extends Se{constructor(I,ie,Te,Me){super(I,ie,Te,Me),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.e({type:\"raster-dem\"},ie),this.encoding=ie.encoding||\"mapbox\",this.redFactor=ie.redFactor,this.greenFactor=ie.greenFactor,this.blueFactor=ie.blueFactor,this.baseShift=ie.baseShift}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Te=this.map._requestManager.transformRequest(ie,\"Tile\");I.neighboringTiles=this._getNeighboringTiles(I.tileID),I.abortController=new AbortController;try{let Me=yield l.getImage(Te,I.abortController,this.map._refreshExpiredTiles);if(delete I.abortController,I.aborted)return void(I.state=\"unloaded\");if(Me&&Me.data){let ze=Me.data;this.map._refreshExpiredTiles&&Me.cacheControl&&Me.expires&&I.setExpiryData({cacheControl:Me.cacheControl,expires:Me.expires});let ht=t.b(ze)&&t.U()?ze:yield this.readImageNow(ze),wt={type:this.type,uid:I.uid,source:this.id,rawImageData:ht,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!I.actor||I.state===\"expired\"){I.actor=this.dispatcher.getActor();let Ot=yield I.actor.sendAsync({type:\"LDT\",data:wt});I.dem=Ot,I.needsHillshadePrepare=!0,I.needsTerrainPrepare=!0,I.state=\"loaded\"}}}catch(Me){if(delete I.abortController,I.aborted)I.state=\"unloaded\";else if(Me)throw I.state=\"errored\",Me}})}readImageNow(I){return t._(this,void 0,void 0,function*(){if(typeof VideoFrame<\"u\"&&t.V()){let ie=I.width+2,Te=I.height+2;try{return new t.R({width:ie,height:Te},yield t.W(I,-1,-1,ie,Te))}catch{}}return n.getImageData(I,1)})}_getNeighboringTiles(I){let ie=I.canonical,Te=Math.pow(2,ie.z),Me=(ie.x-1+Te)%Te,ze=ie.x===0?I.wrap-1:I.wrap,ht=(ie.x+1+Te)%Te,wt=ie.x+1===Te?I.wrap+1:I.wrap,Ot={};return Ot[new t.S(I.overscaledZ,ze,ie.z,Me,ie.y).key]={backfilled:!1},Ot[new t.S(I.overscaledZ,wt,ie.z,ht,ie.y).key]={backfilled:!1},ie.y>0&&(Ot[new t.S(I.overscaledZ,ze,ie.z,Me,ie.y-1).key]={backfilled:!1},Ot[new t.S(I.overscaledZ,I.wrap,ie.z,ie.x,ie.y-1).key]={backfilled:!1},Ot[new t.S(I.overscaledZ,wt,ie.z,ht,ie.y-1).key]={backfilled:!1}),ie.y+10&&t.e(ze,{resourceTiming:Me}),this.fire(new t.k(\"data\",Object.assign(Object.assign({},ze),{sourceDataType:\"metadata\"}))),this.fire(new t.k(\"data\",Object.assign(Object.assign({},ze),{sourceDataType:\"content\"})))}catch(Te){if(this._pendingLoads--,this._removed)return void this.fire(new t.k(\"dataabort\",{dataType:\"source\"}));this.fire(new t.j(Te))}})}loaded(){return this._pendingLoads===0}loadTile(I){return t._(this,void 0,void 0,function*(){let ie=I.actor?\"RT\":\"LT\";I.actor=this.actor;let Te={type:this.type,uid:I.uid,tileID:I.tileID,zoom:I.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};I.abortController=new AbortController;let Me=yield this.actor.sendAsync({type:ie,data:Te},I.abortController);delete I.abortController,I.unloadVectorData(),I.aborted||I.loadVectorData(Me,this.map.painter,ie===\"RT\")})}abortTile(I){return t._(this,void 0,void 0,function*(){I.abortController&&(I.abortController.abort(),delete I.abortController),I.aborted=!0})}unloadTile(I){return t._(this,void 0,void 0,function*(){I.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:I.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}})}serialize(){return t.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var He=t.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class at extends t.E{constructor(I,ie,Te,Me){super(),this.id=I,this.dispatcher=Te,this.coordinates=ie.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(Me),this.options=ie}load(I){return t._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new t.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let ie=yield l.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,ie&&ie.data&&(this.image=ie.data,I&&(this.coordinates=I),this._finishLoading())}catch(ie){this._request=null,this._loaded=!0,this.fire(new t.j(ie))}})}loaded(){return this._loaded}updateImage(I){return I.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=I.url,this.load(I.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(I){this.map=I,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(I){this.coordinates=I;let ie=I.map(t.Z.fromLngLat);this.tileID=function(Me){let ze=1/0,ht=1/0,wt=-1/0,Ot=-1/0;for(let Kr of Me)ze=Math.min(ze,Kr.x),ht=Math.min(ht,Kr.y),wt=Math.max(wt,Kr.x),Ot=Math.max(Ot,Kr.y);let $t=Math.max(wt-ze,Ot-ht),Ar=Math.max(0,Math.floor(-Math.log($t)/Math.LN2)),Sr=Math.pow(2,Ar);return new t.a1(Ar,Math.floor((ze+wt)/2*Sr),Math.floor((ht+Ot)/2*Sr))}(ie),this.minzoom=this.maxzoom=this.tileID.z;let Te=ie.map(Me=>this.tileID.getTilePoint(Me)._round());return this._boundsArray=new t.$,this._boundsArray.emplaceBack(Te[0].x,Te[0].y,0,0),this._boundsArray.emplaceBack(Te[1].x,Te[1].y,t.X,0),this._boundsArray.emplaceBack(Te[3].x,Te[3].y,0,t.X),this._boundsArray.emplaceBack(Te[2].x,Te[2].y,t.X,t.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let I=this.map.painter.context,ie=I.gl;this.boundsBuffer||(this.boundsBuffer=I.createVertexBuffer(this._boundsArray,He.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new u(I,this.image,ie.RGBA),this.texture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE));let Te=!1;for(let Me in this.tiles){let ze=this.tiles[Me];ze.state!==\"loaded\"&&(ze.state=\"loaded\",ze.texture=this.texture,Te=!0)}Te&&this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(I){return t._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(I.tileID.canonical)?(this.tiles[String(I.tileID.wrap)]=I,I.buckets={}):I.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class nt extends at{constructor(I,ie,Te,Me){super(I,ie,Te,Me),this.roundZoom=!0,this.type=\"video\",this.options=ie}load(){return t._(this,void 0,void 0,function*(){this._loaded=!1;let I=this.options;this.urls=[];for(let ie of I.urls)this.urls.push(this.map._requestManager.transformRequest(ie,\"Source\").url);try{let ie=yield t.a3(this.urls);if(this._loaded=!0,!ie)return;this.video=ie,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(ie){this.fire(new t.j(ie))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(I){if(this.video){let ie=this.video.seekable;Iie.end(0)?this.fire(new t.j(new t.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${ie.start(0)} and ${ie.end(0)}-second mark.`))):this.video.currentTime=I}}getVideo(){return this.video}onAdd(I){this.map||(this.map=I,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let I=this.map.painter.context,ie=I.gl;this.boundsBuffer||(this.boundsBuffer=I.createVertexBuffer(this._boundsArray,He.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE),ie.texSubImage2D(ie.TEXTURE_2D,0,0,0,ie.RGBA,ie.UNSIGNED_BYTE,this.video)):(this.texture=new u(I,this.video,ie.RGBA),this.texture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE));let Te=!1;for(let Me in this.tiles){let ze=this.tiles[Me];ze.state!==\"loaded\"&&(ze.state=\"loaded\",ze.texture=this.texture,Te=!0)}Te&&this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class tt extends at{constructor(I,ie,Te,Me){super(I,ie,Te,Me),ie.coordinates?Array.isArray(ie.coordinates)&&ie.coordinates.length===4&&!ie.coordinates.some(ze=>!Array.isArray(ze)||ze.length!==2||ze.some(ht=>typeof ht!=\"number\"))||this.fire(new t.j(new t.a2(`sources.${I}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.j(new t.a2(`sources.${I}`,null,'missing required property \"coordinates\"'))),ie.animate&&typeof ie.animate!=\"boolean\"&&this.fire(new t.j(new t.a2(`sources.${I}`,null,'optional \"animate\" property must be a boolean value'))),ie.canvas?typeof ie.canvas==\"string\"||ie.canvas instanceof HTMLCanvasElement||this.fire(new t.j(new t.a2(`sources.${I}`,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.j(new t.a2(`sources.${I}`,null,'missing required property \"canvas\"'))),this.options=ie,this.animate=ie.animate===void 0||ie.animate}load(){return t._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(I){this.map=I,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let I=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,I=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,I=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let ie=this.map.painter.context,Te=ie.gl;this.boundsBuffer||(this.boundsBuffer=ie.createVertexBuffer(this._boundsArray,He.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?(I||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new u(ie,this.canvas,Te.RGBA,{premultiply:!0});let Me=!1;for(let ze in this.tiles){let ht=this.tiles[ze];ht.state!==\"loaded\"&&(ht.state=\"loaded\",ht.texture=this.texture,Me=!0)}Me&&this.fire(new t.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let I of[this.canvas.width,this.canvas.height])if(isNaN(I)||I<=0)return!0;return!1}}let Ue={},he=Fe=>{switch(Fe){case\"geojson\":return Re;case\"image\":return at;case\"raster\":return Se;case\"raster-dem\":return Ie;case\"vector\":return we;case\"video\":return nt;case\"canvas\":return tt}return Ue[Fe]},le=\"RTLPluginLoaded\";class ne extends t.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=q()}_syncState(I){return this.status=I,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:I,pluginURL:this.url}).catch(ie=>{throw this.status=\"error\",ie})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(I){return t._(this,arguments,void 0,function*(ie,Te=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=n.resolveURL(ie),!this.url)throw new Error(`requested url ${ie} is invalid`);if(this.status===\"unavailable\"){if(!Te)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return t._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new t.k(le))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let Ce=null;function Ze(){return Ce||(Ce=new ne),Ce}class rt{constructor(I,ie){this.timeAdded=0,this.fadeEndTime=0,this.tileID=I,this.uid=t.a4(),this.uses=0,this.tileSize=ie,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(I){let ie=I+this.timeAdded;ieze.getLayer($t)).filter(Boolean);if(Ot.length!==0){wt.layers=Ot,wt.stateDependentLayerIds&&(wt.stateDependentLayers=wt.stateDependentLayerIds.map($t=>Ot.filter(Ar=>Ar.id===$t)[0]));for(let $t of Ot)ht[$t.id]=wt}}return ht}(I.buckets,ie.style),this.hasSymbolBuckets=!1;for(let Me in this.buckets){let ze=this.buckets[Me];if(ze instanceof t.a6){if(this.hasSymbolBuckets=!0,!Te)break;ze.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let Me in this.buckets){let ze=this.buckets[Me];if(ze instanceof t.a6&&ze.hasRTLText){this.hasRTLText=!0,Ze().lazyLoad();break}}this.queryPadding=0;for(let Me in this.buckets){let ze=this.buckets[Me];this.queryPadding=Math.max(this.queryPadding,ie.style.getLayer(Me).queryRadius(ze))}I.imageAtlas&&(this.imageAtlas=I.imageAtlas),I.glyphAtlasImage&&(this.glyphAtlasImage=I.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let I in this.buckets)this.buckets[I].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(I){return this.buckets[I.id]}upload(I){for(let Te in this.buckets){let Me=this.buckets[Te];Me.uploadPending()&&Me.upload(I)}let ie=I.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new u(I,this.imageAtlas.image,ie.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new u(I,this.glyphAtlasImage,ie.ALPHA),this.glyphAtlasImage=null)}prepare(I){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(I,this.imageAtlasTexture)}queryRenderedFeatures(I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:Me,cameraQueryGeometry:ze,scale:ht,tileSize:this.tileSize,pixelPosMatrix:Ar,transform:Ot,params:wt,queryPadding:this.queryPadding*$t},I,ie,Te):{}}querySourceFeatures(I,ie){let Te=this.latestFeatureIndex;if(!Te||!Te.rawTileData)return;let Me=Te.loadVTLayers(),ze=ie&&ie.sourceLayer?ie.sourceLayer:\"\",ht=Me._geojsonTileLayer||Me[ze];if(!ht)return;let wt=t.a7(ie&&ie.filter),{z:Ot,x:$t,y:Ar}=this.tileID.canonical,Sr={z:Ot,x:$t,y:Ar};for(let Kr=0;KrTe)Me=!1;else if(ie)if(this.expirationTime{this.remove(I,ze)},Te)),this.data[Me].push(ze),this.order.push(Me),this.order.length>this.max){let ht=this._getAndRemoveByKey(this.order[0]);ht&&this.onRemove(ht)}return this}has(I){return I.wrapped().key in this.data}getAndRemove(I){return this.has(I)?this._getAndRemoveByKey(I.wrapped().key):null}_getAndRemoveByKey(I){let ie=this.data[I].shift();return ie.timeout&&clearTimeout(ie.timeout),this.data[I].length===0&&delete this.data[I],this.order.splice(this.order.indexOf(I),1),ie.value}getByKey(I){let ie=this.data[I];return ie?ie[0].value:null}get(I){return this.has(I)?this.data[I.wrapped().key][0].value:null}remove(I,ie){if(!this.has(I))return this;let Te=I.wrapped().key,Me=ie===void 0?0:this.data[Te].indexOf(ie),ze=this.data[Te][Me];return this.data[Te].splice(Me,1),ze.timeout&&clearTimeout(ze.timeout),this.data[Te].length===0&&delete this.data[Te],this.onRemove(ze.value),this.order.splice(this.order.indexOf(Te),1),this}setMaxSize(I){for(this.max=I;this.order.length>this.max;){let ie=this._getAndRemoveByKey(this.order[0]);ie&&this.onRemove(ie)}return this}filter(I){let ie=[];for(let Te in this.data)for(let Me of this.data[Te])I(Me.value)||ie.push(Me);for(let Te of ie)this.remove(Te.value.tileID,Te)}}class St{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(I,ie,Te){let Me=String(ie);if(this.stateChanges[I]=this.stateChanges[I]||{},this.stateChanges[I][Me]=this.stateChanges[I][Me]||{},t.e(this.stateChanges[I][Me],Te),this.deletedStates[I]===null){this.deletedStates[I]={};for(let ze in this.state[I])ze!==Me&&(this.deletedStates[I][ze]=null)}else if(this.deletedStates[I]&&this.deletedStates[I][Me]===null){this.deletedStates[I][Me]={};for(let ze in this.state[I][Me])Te[ze]||(this.deletedStates[I][Me][ze]=null)}else for(let ze in Te)this.deletedStates[I]&&this.deletedStates[I][Me]&&this.deletedStates[I][Me][ze]===null&&delete this.deletedStates[I][Me][ze]}removeFeatureState(I,ie,Te){if(this.deletedStates[I]===null)return;let Me=String(ie);if(this.deletedStates[I]=this.deletedStates[I]||{},Te&&ie!==void 0)this.deletedStates[I][Me]!==null&&(this.deletedStates[I][Me]=this.deletedStates[I][Me]||{},this.deletedStates[I][Me][Te]=null);else if(ie!==void 0)if(this.stateChanges[I]&&this.stateChanges[I][Me])for(Te in this.deletedStates[I][Me]={},this.stateChanges[I][Me])this.deletedStates[I][Me][Te]=null;else this.deletedStates[I][Me]=null;else this.deletedStates[I]=null}getState(I,ie){let Te=String(ie),Me=t.e({},(this.state[I]||{})[Te],(this.stateChanges[I]||{})[Te]);if(this.deletedStates[I]===null)return{};if(this.deletedStates[I]){let ze=this.deletedStates[I][ie];if(ze===null)return{};for(let ht in ze)delete Me[ht]}return Me}initializeTileState(I,ie){I.setFeatureState(this.state,ie)}coalesceChanges(I,ie){let Te={};for(let Me in this.stateChanges){this.state[Me]=this.state[Me]||{};let ze={};for(let ht in this.stateChanges[Me])this.state[Me][ht]||(this.state[Me][ht]={}),t.e(this.state[Me][ht],this.stateChanges[Me][ht]),ze[ht]=this.state[Me][ht];Te[Me]=ze}for(let Me in this.deletedStates){this.state[Me]=this.state[Me]||{};let ze={};if(this.deletedStates[Me]===null)for(let ht in this.state[Me])ze[ht]={},this.state[Me][ht]={};else for(let ht in this.deletedStates[Me]){if(this.deletedStates[Me][ht]===null)this.state[Me][ht]={};else for(let wt of Object.keys(this.deletedStates[Me][ht]))delete this.state[Me][ht][wt];ze[ht]=this.state[Me][ht]}Te[Me]=Te[Me]||{},t.e(Te[Me],ze)}if(this.stateChanges={},this.deletedStates={},Object.keys(Te).length!==0)for(let Me in I)I[Me].setFeatureState(Te,ie)}}class kt extends t.E{constructor(I,ie,Te){super(),this.id=I,this.dispatcher=Te,this.on(\"data\",Me=>this._dataHandler(Me)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((Me,ze,ht,wt)=>{let Ot=new(he(ze.type))(Me,ze,ht,wt);if(Ot.id!==Me)throw new Error(`Expected Source id to be ${Me} instead of ${Ot.id}`);return Ot})(I,ie,Te,this),this._tiles={},this._cache=new Ye(0,Me=>this._unloadTile(Me)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new St,this._didEmitContent=!1,this._updated=!1}onAdd(I){this.map=I,this._maxTileCacheSize=I?I._maxTileCacheSize:null,this._maxTileCacheZoomLevels=I?I._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(I)}onRemove(I){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(I)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let I in this._tiles){let ie=this._tiles[I];if(ie.state!==\"loaded\"&&ie.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let I=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,I&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(I,ie,Te){return t._(this,void 0,void 0,function*(){try{yield this._source.loadTile(I),this._tileLoaded(I,ie,Te)}catch(Me){I.state=\"errored\",Me.status!==404?this._source.fire(new t.j(Me,{tile:I})):this.update(this.transform,this.terrain)}})}_unloadTile(I){this._source.unloadTile&&this._source.unloadTile(I)}_abortTile(I){this._source.abortTile&&this._source.abortTile(I),this._source.fire(new t.k(\"dataabort\",{tile:I,coord:I.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(I){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let ie in this._tiles){let Te=this._tiles[ie];Te.upload(I),Te.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(I=>I.tileID).sort(qt).map(I=>I.key)}getRenderableIds(I){let ie=[];for(let Te in this._tiles)this._isIdRenderable(Te,I)&&ie.push(this._tiles[Te]);return I?ie.sort((Te,Me)=>{let ze=Te.tileID,ht=Me.tileID,wt=new t.P(ze.canonical.x,ze.canonical.y)._rotate(this.transform.angle),Ot=new t.P(ht.canonical.x,ht.canonical.y)._rotate(this.transform.angle);return ze.overscaledZ-ht.overscaledZ||Ot.y-wt.y||Ot.x-wt.x}).map(Te=>Te.tileID.key):ie.map(Te=>Te.tileID).sort(qt).map(Te=>Te.key)}hasRenderableParent(I){let ie=this.findLoadedParent(I,0);return!!ie&&this._isIdRenderable(ie.tileID.key)}_isIdRenderable(I,ie){return this._tiles[I]&&this._tiles[I].hasData()&&!this._coveredTiles[I]&&(ie||!this._tiles[I].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let I in this._tiles)this._tiles[I].state!==\"errored\"&&this._reloadTile(I,\"reloading\")}}_reloadTile(I,ie){return t._(this,void 0,void 0,function*(){let Te=this._tiles[I];Te&&(Te.state!==\"loading\"&&(Te.state=ie),yield this._loadTile(Te,I,ie))})}_tileLoaded(I,ie,Te){I.timeAdded=n.now(),Te===\"expired\"&&(I.refreshedUponExpiration=!0),this._setTileReloadTimer(ie,I),this.getSource().type===\"raster-dem\"&&I.dem&&this._backfillDEM(I),this._state.initializeTileState(I,this.map?this.map.painter:null),I.aborted||this._source.fire(new t.k(\"data\",{dataType:\"source\",tile:I,coord:I.tileID}))}_backfillDEM(I){let ie=this.getRenderableIds();for(let Me=0;Me1||(Math.abs(ht)>1&&(Math.abs(ht+Ot)===1?ht+=Ot:Math.abs(ht-Ot)===1&&(ht-=Ot)),ze.dem&&Me.dem&&(Me.dem.backfillBorder(ze.dem,ht,wt),Me.neighboringTiles&&Me.neighboringTiles[$t]&&(Me.neighboringTiles[$t].backfilled=!0)))}}getTile(I){return this.getTileByID(I.key)}getTileByID(I){return this._tiles[I]}_retainLoadedChildren(I,ie,Te,Me){for(let ze in this._tiles){let ht=this._tiles[ze];if(Me[ze]||!ht.hasData()||ht.tileID.overscaledZ<=ie||ht.tileID.overscaledZ>Te)continue;let wt=ht.tileID;for(;ht&&ht.tileID.overscaledZ>ie+1;){let $t=ht.tileID.scaledTo(ht.tileID.overscaledZ-1);ht=this._tiles[$t.key],ht&&ht.hasData()&&(wt=$t)}let Ot=wt;for(;Ot.overscaledZ>ie;)if(Ot=Ot.scaledTo(Ot.overscaledZ-1),I[Ot.key]){Me[wt.key]=wt;break}}}findLoadedParent(I,ie){if(I.key in this._loadedParentTiles){let Te=this._loadedParentTiles[I.key];return Te&&Te.tileID.overscaledZ>=ie?Te:null}for(let Te=I.overscaledZ-1;Te>=ie;Te--){let Me=I.scaledTo(Te),ze=this._getLoadedTile(Me);if(ze)return ze}}findLoadedSibling(I){return this._getLoadedTile(I)}_getLoadedTile(I){let ie=this._tiles[I.key];return ie&&ie.hasData()?ie:this._cache.getByKey(I.wrapped().key)}updateCacheSize(I){let ie=Math.ceil(I.width/this._source.tileSize)+1,Te=Math.ceil(I.height/this._source.tileSize)+1,Me=Math.floor(ie*Te*(this._maxTileCacheZoomLevels===null?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),ze=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,Me):Me;this._cache.setMaxSize(ze)}handleWrapJump(I){let ie=Math.round((I-(this._prevLng===void 0?I:this._prevLng))/360);if(this._prevLng=I,ie){let Te={};for(let Me in this._tiles){let ze=this._tiles[Me];ze.tileID=ze.tileID.unwrapTo(ze.tileID.wrap+ie),Te[ze.tileID.key]=ze}this._tiles=Te;for(let Me in this._timers)clearTimeout(this._timers[Me]),delete this._timers[Me];for(let Me in this._tiles)this._setTileReloadTimer(Me,this._tiles[Me])}}_updateCoveredAndRetainedTiles(I,ie,Te,Me,ze,ht){let wt={},Ot={},$t=Object.keys(I),Ar=n.now();for(let Sr of $t){let Kr=I[Sr],na=this._tiles[Sr];if(!na||na.fadeEndTime!==0&&na.fadeEndTime<=Ar)continue;let qe=this.findLoadedParent(Kr,ie),$e=this.findLoadedSibling(Kr),lt=qe||$e||null;lt&&(this._addTile(lt.tileID),wt[lt.tileID.key]=lt.tileID),Ot[Sr]=Kr}this._retainLoadedChildren(Ot,Me,Te,I);for(let Sr in wt)I[Sr]||(this._coveredTiles[Sr]=!0,I[Sr]=wt[Sr]);if(ht){let Sr={},Kr={};for(let na of ze)this._tiles[na.key].hasData()?Sr[na.key]=na:Kr[na.key]=na;for(let na in Kr){let qe=Kr[na].children(this._source.maxzoom);this._tiles[qe[0].key]&&this._tiles[qe[1].key]&&this._tiles[qe[2].key]&&this._tiles[qe[3].key]&&(Sr[qe[0].key]=I[qe[0].key]=qe[0],Sr[qe[1].key]=I[qe[1].key]=qe[1],Sr[qe[2].key]=I[qe[2].key]=qe[2],Sr[qe[3].key]=I[qe[3].key]=qe[3],delete Kr[na])}for(let na in Kr){let qe=Kr[na],$e=this.findLoadedParent(qe,this._source.minzoom),lt=this.findLoadedSibling(qe),pt=$e||lt||null;if(pt){Sr[pt.tileID.key]=I[pt.tileID.key]=pt.tileID;for(let Et in Sr)Sr[Et].isChildOf(pt.tileID)&&delete Sr[Et]}}for(let na in this._tiles)Sr[na]||(this._coveredTiles[na]=!0)}}update(I,ie){if(!this._sourceLoaded||this._paused)return;let Te;this.transform=I,this.terrain=ie,this.updateCacheSize(I),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Te=I.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ar=>new t.S(Ar.canonical.z,Ar.wrap,Ar.canonical.z,Ar.canonical.x,Ar.canonical.y)):(Te=I.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:ie}),this._source.hasTile&&(Te=Te.filter(Ar=>this._source.hasTile(Ar)))):Te=[];let Me=I.coveringZoomLevel(this._source),ze=Math.max(Me-kt.maxOverzooming,this._source.minzoom),ht=Math.max(Me+kt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ar={};for(let Sr of Te)if(Sr.canonical.z>this._source.minzoom){let Kr=Sr.scaledTo(Sr.canonical.z-1);Ar[Kr.key]=Kr;let na=Sr.scaledTo(Math.max(this._source.minzoom,Math.min(Sr.canonical.z,5)));Ar[na.key]=na}Te=Te.concat(Object.values(Ar))}let wt=Te.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,wt&&this.fire(new t.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let Ot=this._updateRetainedTiles(Te,Me);Gt(this._source.type)&&this._updateCoveredAndRetainedTiles(Ot,ze,ht,Me,Te,ie);for(let Ar in Ot)this._tiles[Ar].clearFadeHold();let $t=t.ab(this._tiles,Ot);for(let Ar of $t){let Sr=this._tiles[Ar];Sr.hasSymbolBuckets&&!Sr.holdingForFade()?Sr.setHoldDuration(this.map._fadeDuration):Sr.hasSymbolBuckets&&!Sr.symbolFadeFinished()||this._removeTile(Ar)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let I in this._tiles)this._tiles[I].holdingForFade()&&this._removeTile(I)}_updateRetainedTiles(I,ie){var Te;let Me={},ze={},ht=Math.max(ie-kt.maxOverzooming,this._source.minzoom),wt=Math.max(ie+kt.maxUnderzooming,this._source.minzoom),Ot={};for(let $t of I){let Ar=this._addTile($t);Me[$t.key]=$t,Ar.hasData()||iethis._source.maxzoom){let Kr=$t.children(this._source.maxzoom)[0],na=this.getTile(Kr);if(na&&na.hasData()){Me[Kr.key]=Kr;continue}}else{let Kr=$t.children(this._source.maxzoom);if(Me[Kr[0].key]&&Me[Kr[1].key]&&Me[Kr[2].key]&&Me[Kr[3].key])continue}let Sr=Ar.wasRequested();for(let Kr=$t.overscaledZ-1;Kr>=ht;--Kr){let na=$t.scaledTo(Kr);if(ze[na.key])break;if(ze[na.key]=!0,Ar=this.getTile(na),!Ar&&Sr&&(Ar=this._addTile(na)),Ar){let qe=Ar.hasData();if((qe||!(!((Te=this.map)===null||Te===void 0)&&Te.cancelPendingTileRequestsWhileZooming)||Sr)&&(Me[na.key]=na),Sr=Ar.wasRequested(),qe)break}}}return Me}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let I in this._tiles){let ie=[],Te,Me=this._tiles[I].tileID;for(;Me.overscaledZ>0;){if(Me.key in this._loadedParentTiles){Te=this._loadedParentTiles[Me.key];break}ie.push(Me.key);let ze=Me.scaledTo(Me.overscaledZ-1);if(Te=this._getLoadedTile(ze),Te)break;Me=ze}for(let ze of ie)this._loadedParentTiles[ze]=Te}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let I in this._tiles){let ie=this._tiles[I].tileID,Te=this._getLoadedTile(ie);this._loadedSiblingTiles[ie.key]=Te}}_addTile(I){let ie=this._tiles[I.key];if(ie)return ie;ie=this._cache.getAndRemove(I),ie&&(this._setTileReloadTimer(I.key,ie),ie.tileID=I,this._state.initializeTileState(ie,this.map?this.map.painter:null),this._cacheTimers[I.key]&&(clearTimeout(this._cacheTimers[I.key]),delete this._cacheTimers[I.key],this._setTileReloadTimer(I.key,ie)));let Te=ie;return ie||(ie=new rt(I,this._source.tileSize*I.overscaleFactor()),this._loadTile(ie,I.key,ie.state)),ie.uses++,this._tiles[I.key]=ie,Te||this._source.fire(new t.k(\"dataloading\",{tile:ie,coord:ie.tileID,dataType:\"source\"})),ie}_setTileReloadTimer(I,ie){I in this._timers&&(clearTimeout(this._timers[I]),delete this._timers[I]);let Te=ie.getExpiryTimeout();Te&&(this._timers[I]=setTimeout(()=>{this._reloadTile(I,\"expired\"),delete this._timers[I]},Te))}_removeTile(I){let ie=this._tiles[I];ie&&(ie.uses--,delete this._tiles[I],this._timers[I]&&(clearTimeout(this._timers[I]),delete this._timers[I]),ie.uses>0||(ie.hasData()&&ie.state!==\"reloading\"?this._cache.add(ie.tileID,ie,ie.getExpiryTimeout()):(ie.aborted=!0,this._abortTile(ie),this._unloadTile(ie))))}_dataHandler(I){let ie=I.sourceDataType;I.dataType===\"source\"&&ie===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&I.dataType===\"source\"&&ie===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let I in this._tiles)this._removeTile(I);this._cache.reset()}tilesIn(I,ie,Te){let Me=[],ze=this.transform;if(!ze)return Me;let ht=Te?ze.getCameraQueryGeometry(I):I,wt=I.map(qe=>ze.pointCoordinate(qe,this.terrain)),Ot=ht.map(qe=>ze.pointCoordinate(qe,this.terrain)),$t=this.getIds(),Ar=1/0,Sr=1/0,Kr=-1/0,na=-1/0;for(let qe of Ot)Ar=Math.min(Ar,qe.x),Sr=Math.min(Sr,qe.y),Kr=Math.max(Kr,qe.x),na=Math.max(na,qe.y);for(let qe=0;qe<$t.length;qe++){let $e=this._tiles[$t[qe]];if($e.holdingForFade())continue;let lt=$e.tileID,pt=Math.pow(2,ze.zoom-$e.tileID.overscaledZ),Et=ie*$e.queryPadding*t.X/$e.tileSize/pt,bt=[lt.getTilePoint(new t.Z(Ar,Sr)),lt.getTilePoint(new t.Z(Kr,na))];if(bt[0].x-Et=0&&bt[1].y+Et>=0){let Dt=wt.map(yr=>lt.getTilePoint(yr)),ur=Ot.map(yr=>lt.getTilePoint(yr));Me.push({tile:$e,tileID:lt,queryGeometry:Dt,cameraQueryGeometry:ur,scale:pt})}}return Me}getVisibleCoordinates(I){let ie=this.getRenderableIds(I).map(Te=>this._tiles[Te].tileID);for(let Te of ie)Te.posMatrix=this.transform.calculatePosMatrix(Te.toUnwrapped());return ie}hasTransition(){if(this._source.hasTransition())return!0;if(Gt(this._source.type)){let I=n.now();for(let ie in this._tiles)if(this._tiles[ie].fadeEndTime>=I)return!0}return!1}setFeatureState(I,ie,Te){this._state.updateState(I=I||\"_geojsonTileLayer\",ie,Te)}removeFeatureState(I,ie,Te){this._state.removeFeatureState(I=I||\"_geojsonTileLayer\",ie,Te)}getFeatureState(I,ie){return this._state.getState(I=I||\"_geojsonTileLayer\",ie)}setDependencies(I,ie,Te){let Me=this._tiles[I];Me&&Me.setDependencies(ie,Te)}reloadTilesForDependencies(I,ie){for(let Te in this._tiles)this._tiles[Te].hasDependency(I,ie)&&this._reloadTile(Te,\"reloading\");this._cache.filter(Te=>!Te.hasDependency(I,ie))}}function qt(Fe,I){let ie=Math.abs(2*Fe.wrap)-+(Fe.wrap<0),Te=Math.abs(2*I.wrap)-+(I.wrap<0);return Fe.overscaledZ-I.overscaledZ||Te-ie||I.canonical.y-Fe.canonical.y||I.canonical.x-Fe.canonical.x}function Gt(Fe){return Fe===\"raster\"||Fe===\"image\"||Fe===\"video\"}kt.maxOverzooming=10,kt.maxUnderzooming=3;class Tr{constructor(I,ie){this.reset(I,ie)}reset(I,ie){this.points=I||[],this._distances=[0];for(let Te=1;Te0?(Me-ht)/wt:0;return this.points[ze].mult(1-Ot).add(this.points[ie].mult(Ot))}}function mr(Fe,I){let ie=!0;return Fe===\"always\"||Fe!==\"never\"&&I!==\"never\"||(ie=!1),ie}class qr{constructor(I,ie,Te){let Me=this.boxCells=[],ze=this.circleCells=[];this.xCellCount=Math.ceil(I/Te),this.yCellCount=Math.ceil(ie/Te);for(let ht=0;htthis.width||Me<0||ie>this.height)return[];let Ot=[];if(I<=0&&ie<=0&&this.width<=Te&&this.height<=Me){if(ze)return[{key:null,x1:I,y1:ie,x2:Te,y2:Me}];for(let $t=0;$t0}hitTestCircle(I,ie,Te,Me,ze){let ht=I-Te,wt=I+Te,Ot=ie-Te,$t=ie+Te;if(wt<0||ht>this.width||$t<0||Ot>this.height)return!1;let Ar=[];return this._forEachCell(ht,Ot,wt,$t,this._queryCellCircle,Ar,{hitTest:!0,overlapMode:Me,circle:{x:I,y:ie,radius:Te},seenUids:{box:{},circle:{}}},ze),Ar.length>0}_queryCell(I,ie,Te,Me,ze,ht,wt,Ot){let{seenUids:$t,hitTest:Ar,overlapMode:Sr}=wt,Kr=this.boxCells[ze];if(Kr!==null){let qe=this.bboxes;for(let $e of Kr)if(!$t.box[$e]){$t.box[$e]=!0;let lt=4*$e,pt=this.boxKeys[$e];if(I<=qe[lt+2]&&ie<=qe[lt+3]&&Te>=qe[lt+0]&&Me>=qe[lt+1]&&(!Ot||Ot(pt))&&(!Ar||!mr(Sr,pt.overlapMode))&&(ht.push({key:pt,x1:qe[lt],y1:qe[lt+1],x2:qe[lt+2],y2:qe[lt+3]}),Ar))return!0}}let na=this.circleCells[ze];if(na!==null){let qe=this.circles;for(let $e of na)if(!$t.circle[$e]){$t.circle[$e]=!0;let lt=3*$e,pt=this.circleKeys[$e];if(this._circleAndRectCollide(qe[lt],qe[lt+1],qe[lt+2],I,ie,Te,Me)&&(!Ot||Ot(pt))&&(!Ar||!mr(Sr,pt.overlapMode))){let Et=qe[lt],bt=qe[lt+1],Dt=qe[lt+2];if(ht.push({key:pt,x1:Et-Dt,y1:bt-Dt,x2:Et+Dt,y2:bt+Dt}),Ar)return!0}}}return!1}_queryCellCircle(I,ie,Te,Me,ze,ht,wt,Ot){let{circle:$t,seenUids:Ar,overlapMode:Sr}=wt,Kr=this.boxCells[ze];if(Kr!==null){let qe=this.bboxes;for(let $e of Kr)if(!Ar.box[$e]){Ar.box[$e]=!0;let lt=4*$e,pt=this.boxKeys[$e];if(this._circleAndRectCollide($t.x,$t.y,$t.radius,qe[lt+0],qe[lt+1],qe[lt+2],qe[lt+3])&&(!Ot||Ot(pt))&&!mr(Sr,pt.overlapMode))return ht.push(!0),!0}}let na=this.circleCells[ze];if(na!==null){let qe=this.circles;for(let $e of na)if(!Ar.circle[$e]){Ar.circle[$e]=!0;let lt=3*$e,pt=this.circleKeys[$e];if(this._circlesCollide(qe[lt],qe[lt+1],qe[lt+2],$t.x,$t.y,$t.radius)&&(!Ot||Ot(pt))&&!mr(Sr,pt.overlapMode))return ht.push(!0),!0}}}_forEachCell(I,ie,Te,Me,ze,ht,wt,Ot){let $t=this._convertToXCellCoord(I),Ar=this._convertToYCellCoord(ie),Sr=this._convertToXCellCoord(Te),Kr=this._convertToYCellCoord(Me);for(let na=$t;na<=Sr;na++)for(let qe=Ar;qe<=Kr;qe++)if(ze.call(this,I,ie,Te,Me,this.xCellCount*qe+na,ht,wt,Ot))return}_convertToXCellCoord(I){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(I*this.xScale)))}_convertToYCellCoord(I){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(I*this.yScale)))}_circlesCollide(I,ie,Te,Me,ze,ht){let wt=Me-I,Ot=ze-ie,$t=Te+ht;return $t*$t>wt*wt+Ot*Ot}_circleAndRectCollide(I,ie,Te,Me,ze,ht,wt){let Ot=(ht-Me)/2,$t=Math.abs(I-(Me+Ot));if($t>Ot+Te)return!1;let Ar=(wt-ze)/2,Sr=Math.abs(ie-(ze+Ar));if(Sr>Ar+Te)return!1;if($t<=Ot||Sr<=Ar)return!0;let Kr=$t-Ot,na=Sr-Ar;return Kr*Kr+na*na<=Te*Te}}function Er(Fe,I,ie,Te,Me){let ze=t.H();return I?(t.K(ze,ze,[1/Me,1/Me,1]),ie||t.ad(ze,ze,Te.angle)):t.L(ze,Te.labelPlaneMatrix,Fe),ze}function Dr(Fe,I,ie,Te,Me){if(I){let ze=t.ae(Fe);return t.K(ze,ze,[Me,Me,1]),ie||t.ad(ze,ze,-Te.angle),ze}return Te.glCoordMatrix}function xt(Fe,I,ie,Te){let Me;Te?(Me=[Fe,I,Te(Fe,I),1],t.af(Me,Me,ie)):(Me=[Fe,I,0,1],sr(Me,Me,ie));let ze=Me[3];return{point:new t.P(Me[0]/ze,Me[1]/ze),signedDistanceFromCamera:ze,isOccluded:!1}}function Oe(Fe,I){return .5+Fe/I*.5}function Ke(Fe,I){return Fe.x>=-I[0]&&Fe.x<=I[0]&&Fe.y>=-I[1]&&Fe.y<=I[1]}function Ae(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,Sr,Kr,na,qe){let $e=Te?Fe.textSizeData:Fe.iconSizeData,lt=t.ag($e,ie.transform.zoom),pt=[256/ie.width*2+1,256/ie.height*2+1],Et=Te?Fe.text.dynamicLayoutVertexArray:Fe.icon.dynamicLayoutVertexArray;Et.clear();let bt=Fe.lineVertexArray,Dt=Te?Fe.text.placedSymbolArray:Fe.icon.placedSymbolArray,ur=ie.transform.width/ie.transform.height,yr=!1;for(let kr=0;krMath.abs(ie.x-I.x)*Te?{useVertical:!0}:(Fe===t.ah.vertical?I.yie.x)?{needsFlipping:!0}:null}function Je(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar){let Sr=ie/24,Kr=I.lineOffsetX*Sr,na=I.lineOffsetY*Sr,qe;if(I.numGlyphs>1){let $e=I.glyphStartIndex+I.numGlyphs,lt=I.lineStartIndex,pt=I.lineStartIndex+I.lineLength,Et=Le(Sr,wt,Kr,na,Te,I,Ar,Fe);if(!Et)return{notEnoughRoom:!0};let bt=xt(Et.first.point.x,Et.first.point.y,ht,Fe.getElevation).point,Dt=xt(Et.last.point.x,Et.last.point.y,ht,Fe.getElevation).point;if(Me&&!Te){let ur=We(I.writingMode,bt,Dt,$t);if(ur)return ur}qe=[Et.first];for(let ur=I.glyphStartIndex+1;ur<$e-1;ur++)qe.push(Nt(Sr*wt.getoffsetX(ur),Kr,na,Te,I.segment,lt,pt,Fe,Ar));qe.push(Et.last)}else{if(Me&&!Te){let lt=xt(Fe.tileAnchorPoint.x,Fe.tileAnchorPoint.y,ze,Fe.getElevation).point,pt=I.lineStartIndex+I.segment+1,Et=new t.P(Fe.lineVertexArray.getx(pt),Fe.lineVertexArray.gety(pt)),bt=xt(Et.x,Et.y,ze,Fe.getElevation),Dt=bt.signedDistanceFromCamera>0?bt.point:function(yr,kr,jr,Qr,ha,Aa){return st(yr,kr,jr,1,ha,Aa)}(Fe.tileAnchorPoint,Et,lt,0,ze,Fe),ur=We(I.writingMode,lt,Dt,$t);if(ur)return ur}let $e=Nt(Sr*wt.getoffsetX(I.glyphStartIndex),Kr,na,Te,I.segment,I.lineStartIndex,I.lineStartIndex+I.lineLength,Fe,Ar);if(!$e||Fe.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};qe=[$e]}for(let $e of qe)t.aj(Ot,$e.point,$e.angle);return{}}function st(Fe,I,ie,Te,Me,ze){let ht=Fe.add(Fe.sub(I)._unit()),wt=Me!==void 0?xt(ht.x,ht.y,Me,ze.getElevation).point:Ut(ht.x,ht.y,ze).point,Ot=ie.sub(wt);return ie.add(Ot._mult(Te/Ot.mag()))}function ot(Fe,I,ie){let Te=I.projectionCache;if(Te.projections[Fe])return Te.projections[Fe];let Me=new t.P(I.lineVertexArray.getx(Fe),I.lineVertexArray.gety(Fe)),ze=Ut(Me.x,Me.y,I);if(ze.signedDistanceFromCamera>0)return Te.projections[Fe]=ze.point,Te.anyProjectionOccluded=Te.anyProjectionOccluded||ze.isOccluded,ze.point;let ht=Fe-ie.direction;return function(wt,Ot,$t,Ar,Sr){return st(wt,Ot,$t,Ar,void 0,Sr)}(ie.distanceFromAnchor===0?I.tileAnchorPoint:new t.P(I.lineVertexArray.getx(ht),I.lineVertexArray.gety(ht)),Me,ie.previousVertex,ie.absOffsetX-ie.distanceFromAnchor+1,I)}function Ut(Fe,I,ie){let Te=Fe+ie.translation[0],Me=I+ie.translation[1],ze;return!ie.pitchWithMap&&ie.projection.useSpecialProjectionForSymbols?(ze=ie.projection.projectTileCoordinates(Te,Me,ie.unwrappedTileID,ie.getElevation),ze.point.x=(.5*ze.point.x+.5)*ie.width,ze.point.y=(.5*-ze.point.y+.5)*ie.height):(ze=xt(Te,Me,ie.labelPlaneMatrix,ie.getElevation),ze.isOccluded=!1),ze}function Ct(Fe,I,ie){return Fe._unit()._perp()._mult(I*ie)}function Pt(Fe,I,ie,Te,Me,ze,ht,wt,Ot){if(wt.projectionCache.offsets[Fe])return wt.projectionCache.offsets[Fe];let $t=ie.add(I);if(Fe+Ot.direction=Me)return wt.projectionCache.offsets[Fe]=$t,$t;let Ar=ot(Fe+Ot.direction,wt,Ot),Sr=Ct(Ar.sub(ie),ht,Ot.direction),Kr=ie.add(Sr),na=Ar.add(Sr);return wt.projectionCache.offsets[Fe]=t.ak(ze,$t,Kr,na)||$t,wt.projectionCache.offsets[Fe]}function Nt(Fe,I,ie,Te,Me,ze,ht,wt,Ot){let $t=Te?Fe-I:Fe+I,Ar=$t>0?1:-1,Sr=0;Te&&(Ar*=-1,Sr=Math.PI),Ar<0&&(Sr+=Math.PI);let Kr,na=Ar>0?ze+Me:ze+Me+1;wt.projectionCache.cachedAnchorPoint?Kr=wt.projectionCache.cachedAnchorPoint:(Kr=Ut(wt.tileAnchorPoint.x,wt.tileAnchorPoint.y,wt).point,wt.projectionCache.cachedAnchorPoint=Kr);let qe,$e,lt=Kr,pt=Kr,Et=0,bt=0,Dt=Math.abs($t),ur=[],yr;for(;Et+bt<=Dt;){if(na+=Ar,na=ht)return null;Et+=bt,pt=lt,$e=qe;let Qr={absOffsetX:Dt,direction:Ar,distanceFromAnchor:Et,previousVertex:pt};if(lt=ot(na,wt,Qr),ie===0)ur.push(pt),yr=lt.sub(pt);else{let ha,Aa=lt.sub(pt);ha=Aa.mag()===0?Ct(ot(na+Ar,wt,Qr).sub(lt),ie,Ar):Ct(Aa,ie,Ar),$e||($e=pt.add(ha)),qe=Pt(na,ha,lt,ze,ht,$e,ie,wt,Qr),ur.push($e),yr=qe.sub($e)}bt=yr.mag()}let kr=yr._mult((Dt-Et)/bt)._add($e||pt),jr=Sr+Math.atan2(lt.y-pt.y,lt.x-pt.x);return ur.push(kr),{point:kr,angle:Ot?jr:0,path:ur}}let cr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function lr(Fe,I){for(let ie=0;ie=1;Bn--)on.push(Vi.path[Bn]);for(let Bn=1;BnAo.signedDistanceFromCamera<=0)?[]:Bn.map(Ao=>Ao.point)}let Yn=[];if(on.length>0){let Bn=on[0].clone(),Ao=on[0].clone();for(let ls=1;ls=Aa.x&&Ao.x<=Da.x&&Bn.y>=Aa.y&&Ao.y<=Da.y?[on]:Ao.xDa.x||Ao.yDa.y?[]:t.al([on],Aa.x,Aa.y,Da.x,Da.y)}for(let Bn of Yn){ci.reset(Bn,.25*ha);let Ao=0;Ao=ci.length<=.5*ha?1:Math.ceil(ci.paddedLength/An)+1;for(let ls=0;lsxt(Me.x,Me.y,Te,ie.getElevation))}queryRenderedSymbols(I){if(I.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let ie=[],Te=1/0,Me=1/0,ze=-1/0,ht=-1/0;for(let Ar of I){let Sr=new t.P(Ar.x+Pr,Ar.y+Pr);Te=Math.min(Te,Sr.x),Me=Math.min(Me,Sr.y),ze=Math.max(ze,Sr.x),ht=Math.max(ht,Sr.y),ie.push(Sr)}let wt=this.grid.query(Te,Me,ze,ht).concat(this.ignoredGrid.query(Te,Me,ze,ht)),Ot={},$t={};for(let Ar of wt){let Sr=Ar.key;if(Ot[Sr.bucketInstanceId]===void 0&&(Ot[Sr.bucketInstanceId]={}),Ot[Sr.bucketInstanceId][Sr.featureIndex])continue;let Kr=[new t.P(Ar.x1,Ar.y1),new t.P(Ar.x2,Ar.y1),new t.P(Ar.x2,Ar.y2),new t.P(Ar.x1,Ar.y2)];t.am(ie,Kr)&&(Ot[Sr.bucketInstanceId][Sr.featureIndex]=!0,$t[Sr.bucketInstanceId]===void 0&&($t[Sr.bucketInstanceId]=[]),$t[Sr.bucketInstanceId].push(Sr.featureIndex))}return $t}insertCollisionBox(I,ie,Te,Me,ze,ht){(Te?this.ignoredGrid:this.grid).insert({bucketInstanceId:Me,featureIndex:ze,collisionGroupID:ht,overlapMode:ie},I[0],I[1],I[2],I[3])}insertCollisionCircles(I,ie,Te,Me,ze,ht){let wt=Te?this.ignoredGrid:this.grid,Ot={bucketInstanceId:Me,featureIndex:ze,collisionGroupID:ht,overlapMode:ie};for(let $t=0;$t=this.screenRightBoundary||Methis.screenBottomBoundary}isInsideGrid(I,ie,Te,Me){return Te>=0&&I=0&&iethis.projectAndGetPerspectiveRatio(Te,ha.x,ha.y,Me,$t));jr=Qr.some(ha=>!ha.isOccluded),kr=Qr.map(ha=>ha.point)}else jr=!0;return{box:t.ao(kr),allPointsOccluded:!jr}}}function Fa(Fe,I,ie){return I*(t.X/(Fe.tileSize*Math.pow(2,ie-Fe.tileID.overscaledZ)))}class Ra{constructor(I,ie,Te,Me){this.opacity=I?Math.max(0,Math.min(1,I.opacity+(I.placed?ie:-ie))):Me&&Te?1:0,this.placed=Te}isHidden(){return this.opacity===0&&!this.placed}}class qa{constructor(I,ie,Te,Me,ze){this.text=new Ra(I?I.text:null,ie,Te,ze),this.icon=new Ra(I?I.icon:null,ie,Me,ze)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Wa{constructor(I,ie,Te){this.text=I,this.icon=ie,this.skipFade=Te}}class Ca{constructor(){this.invProjMatrix=t.H(),this.viewportMatrix=t.H(),this.circles=[]}}class hi{constructor(I,ie,Te,Me,ze){this.bucketInstanceId=I,this.featureIndex=ie,this.sourceLayerIndex=Te,this.bucketIndex=Me,this.tileID=ze}}class wi{constructor(I){this.crossSourceCollisions=I,this.maxGroupID=0,this.collisionGroups={}}get(I){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[I]){let ie=++this.maxGroupID;this.collisionGroups[I]={ID:ie,predicate:Te=>Te.collisionGroupID===ie}}return this.collisionGroups[I]}}function Yt(Fe,I,ie,Te,Me){let{horizontalAlign:ze,verticalAlign:ht}=t.au(Fe);return new t.P(-(ze-.5)*I+Te[0]*Me,-(ht-.5)*ie+Te[1]*Me)}class Rt{constructor(I,ie,Te,Me,ze,ht){this.transform=I.clone(),this.terrain=Te,this.collisionIndex=new _a(this.transform,ie),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=Me,this.retainedQueryData={},this.collisionGroups=new wi(ze),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=ht,ht&&(ht.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(I){let ie=this.terrain;return ie?(Te,Me)=>ie.getElevation(I,Te,Me):null}getBucketParts(I,ie,Te,Me){let ze=Te.getBucket(ie),ht=Te.latestFeatureIndex;if(!ze||!ht||ie.id!==ze.layerIds[0])return;let wt=Te.collisionBoxArray,Ot=ze.layers[0].layout,$t=ze.layers[0].paint,Ar=Math.pow(2,this.transform.zoom-Te.tileID.overscaledZ),Sr=Te.tileSize/t.X,Kr=Te.tileID.toUnwrapped(),na=this.transform.calculatePosMatrix(Kr),qe=Ot.get(\"text-pitch-alignment\")===\"map\",$e=Ot.get(\"text-rotation-alignment\")===\"map\",lt=Fa(Te,1,this.transform.zoom),pt=this.collisionIndex.mapProjection.translatePosition(this.transform,Te,$t.get(\"text-translate\"),$t.get(\"text-translate-anchor\")),Et=this.collisionIndex.mapProjection.translatePosition(this.transform,Te,$t.get(\"icon-translate\"),$t.get(\"icon-translate-anchor\")),bt=Er(na,qe,$e,this.transform,lt),Dt=null;if(qe){let yr=Dr(na,qe,$e,this.transform,lt);Dt=t.L([],this.transform.labelPlaneMatrix,yr)}this.retainedQueryData[ze.bucketInstanceId]=new hi(ze.bucketInstanceId,ht,ze.sourceLayerIndex,ze.index,Te.tileID);let ur={bucket:ze,layout:Ot,translationText:pt,translationIcon:Et,posMatrix:na,unwrappedTileID:Kr,textLabelPlaneMatrix:bt,labelToScreenMatrix:Dt,scale:Ar,textPixelRatio:Sr,holdingForFade:Te.holdingForFade(),collisionBoxArray:wt,partiallyEvaluatedTextSize:t.ag(ze.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(ze.sourceID)};if(Me)for(let yr of ze.sortKeyRanges){let{sortKey:kr,symbolInstanceStart:jr,symbolInstanceEnd:Qr}=yr;I.push({sortKey:kr,symbolInstanceStart:jr,symbolInstanceEnd:Qr,parameters:ur})}else I.push({symbolInstanceStart:0,symbolInstanceEnd:ze.symbolInstances.length,parameters:ur})}attemptAnchorPlacement(I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,Sr,Kr,na,qe,$e,lt,pt,Et,bt){let Dt=t.aq[I.textAnchor],ur=[I.textOffset0,I.textOffset1],yr=Yt(Dt,Te,Me,ur,ze),kr=this.collisionIndex.placeCollisionBox(ie,Kr,Ot,$t,Ar,wt,ht,lt,Sr.predicate,bt,yr);if((!Et||this.collisionIndex.placeCollisionBox(Et,Kr,Ot,$t,Ar,wt,ht,pt,Sr.predicate,bt,yr).placeable)&&kr.placeable){let jr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[na.crossTileID]&&this.prevPlacement.placements[na.crossTileID]&&this.prevPlacement.placements[na.crossTileID].text&&(jr=this.prevPlacement.variableOffsets[na.crossTileID].anchor),na.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[na.crossTileID]={textOffset:ur,width:Te,height:Me,anchor:Dt,textBoxScale:ze,prevAnchor:jr},this.markUsedJustification(qe,Dt,na,$e),qe.allowVerticalPlacement&&(this.markUsedOrientation(qe,$e,na),this.placedOrientations[na.crossTileID]=$e),{shift:yr,placedGlyphBoxes:kr}}}placeLayerBucketPart(I,ie,Te){let{bucket:Me,layout:ze,translationText:ht,translationIcon:wt,posMatrix:Ot,unwrappedTileID:$t,textLabelPlaneMatrix:Ar,labelToScreenMatrix:Sr,textPixelRatio:Kr,holdingForFade:na,collisionBoxArray:qe,partiallyEvaluatedTextSize:$e,collisionGroup:lt}=I.parameters,pt=ze.get(\"text-optional\"),Et=ze.get(\"icon-optional\"),bt=t.ar(ze,\"text-overlap\",\"text-allow-overlap\"),Dt=bt===\"always\",ur=t.ar(ze,\"icon-overlap\",\"icon-allow-overlap\"),yr=ur===\"always\",kr=ze.get(\"text-rotation-alignment\")===\"map\",jr=ze.get(\"text-pitch-alignment\")===\"map\",Qr=ze.get(\"icon-text-fit\")!==\"none\",ha=ze.get(\"symbol-z-order\")===\"viewport-y\",Aa=Dt&&(yr||!Me.hasIconData()||Et),Da=yr&&(Dt||!Me.hasTextData()||pt);!Me.collisionArrays&&qe&&Me.deserializeCollisionBoxes(qe);let ci=this._getTerrainElevationFunc(this.retainedQueryData[Me.bucketInstanceId].tileID),Vi=(ji,on,An)=>{var Yn,Bn;if(ie[ji.crossTileID])return;if(na)return void(this.placements[ji.crossTileID]=new Wa(!1,!1,!1));let Ao=!1,ls=!1,Mo=!0,Yo=null,ps={box:null,placeable:!1,offscreen:null},ul={box:null,placeable:!1,offscreen:null},tl=null,es=null,ts=null,Il=0,tu=0,Ru=0;on.textFeatureIndex?Il=on.textFeatureIndex:ji.useRuntimeCollisionCircles&&(Il=ji.featureIndex),on.verticalTextFeatureIndex&&(tu=on.verticalTextFeatureIndex);let vu=on.textBox;if(vu){let Gl=et=>{let dt=t.ah.horizontal;if(Me.allowVerticalPlacement&&!et&&this.prevPlacement){let yt=this.prevPlacement.placedOrientations[ji.crossTileID];yt&&(this.placedOrientations[ji.crossTileID]=yt,dt=yt,this.markUsedOrientation(Me,dt,ji))}return dt},Hl=(et,dt)=>{if(Me.allowVerticalPlacement&&ji.numVerticalGlyphVertices>0&&on.verticalTextBox){for(let yt of Me.writingModes)if(yt===t.ah.vertical?(ps=dt(),ul=ps):ps=et(),ps&&ps.placeable)break}else ps=et()},me=ji.textAnchorOffsetStartIndex,De=ji.textAnchorOffsetEndIndex;if(De===me){let et=(dt,yt)=>{let Tt=this.collisionIndex.placeCollisionBox(dt,bt,Kr,Ot,$t,jr,kr,ht,lt.predicate,ci);return Tt&&Tt.placeable&&(this.markUsedOrientation(Me,yt,ji),this.placedOrientations[ji.crossTileID]=yt),Tt};Hl(()=>et(vu,t.ah.horizontal),()=>{let dt=on.verticalTextBox;return Me.allowVerticalPlacement&&ji.numVerticalGlyphVertices>0&&dt?et(dt,t.ah.vertical):{box:null,offscreen:null}}),Gl(ps&&ps.placeable)}else{let et=t.aq[(Bn=(Yn=this.prevPlacement)===null||Yn===void 0?void 0:Yn.variableOffsets[ji.crossTileID])===null||Bn===void 0?void 0:Bn.anchor],dt=(Tt,tr,zt)=>{let _r=Tt.x2-Tt.x1,Gr=Tt.y2-Tt.y1,Xr=ji.textBoxScale,wa=Qr&&ur===\"never\"?tr:null,pa=null,Ja=bt===\"never\"?1:2,ti=\"never\";et&&Ja++;for(let Sa=0;Sadt(vu,on.iconBox,t.ah.horizontal),()=>{let Tt=on.verticalTextBox;return Me.allowVerticalPlacement&&(!ps||!ps.placeable)&&ji.numVerticalGlyphVertices>0&&Tt?dt(Tt,on.verticalIconBox,t.ah.vertical):{box:null,occluded:!0,offscreen:null}}),ps&&(Ao=ps.placeable,Mo=ps.offscreen);let yt=Gl(ps&&ps.placeable);if(!Ao&&this.prevPlacement){let Tt=this.prevPlacement.variableOffsets[ji.crossTileID];Tt&&(this.variableOffsets[ji.crossTileID]=Tt,this.markUsedJustification(Me,Tt.anchor,ji,yt))}}}if(tl=ps,Ao=tl&&tl.placeable,Mo=tl&&tl.offscreen,ji.useRuntimeCollisionCircles){let Gl=Me.text.placedSymbolArray.get(ji.centerJustifiedTextSymbolIndex),Hl=t.ai(Me.textSizeData,$e,Gl),me=ze.get(\"text-padding\");es=this.collisionIndex.placeCollisionCircles(bt,Gl,Me.lineVertexArray,Me.glyphOffsetArray,Hl,Ot,$t,Ar,Sr,Te,jr,lt.predicate,ji.collisionCircleDiameter,me,ht,ci),es.circles.length&&es.collisionDetected&&!Te&&t.w(\"Collisions detected, but collision boxes are not shown\"),Ao=Dt||es.circles.length>0&&!es.collisionDetected,Mo=Mo&&es.offscreen}if(on.iconFeatureIndex&&(Ru=on.iconFeatureIndex),on.iconBox){let Gl=Hl=>this.collisionIndex.placeCollisionBox(Hl,ur,Kr,Ot,$t,jr,kr,wt,lt.predicate,ci,Qr&&Yo?Yo:void 0);ul&&ul.placeable&&on.verticalIconBox?(ts=Gl(on.verticalIconBox),ls=ts.placeable):(ts=Gl(on.iconBox),ls=ts.placeable),Mo=Mo&&ts.offscreen}let wl=pt||ji.numHorizontalGlyphVertices===0&&ji.numVerticalGlyphVertices===0,fu=Et||ji.numIconVertices===0;wl||fu?fu?wl||(ls=ls&&Ao):Ao=ls&&Ao:ls=Ao=ls&&Ao;let uc=ls&&ts.placeable;if(Ao&&tl.placeable&&this.collisionIndex.insertCollisionBox(tl.box,bt,ze.get(\"text-ignore-placement\"),Me.bucketInstanceId,ul&&ul.placeable&&tu?tu:Il,lt.ID),uc&&this.collisionIndex.insertCollisionBox(ts.box,ur,ze.get(\"icon-ignore-placement\"),Me.bucketInstanceId,Ru,lt.ID),es&&Ao&&this.collisionIndex.insertCollisionCircles(es.circles,bt,ze.get(\"text-ignore-placement\"),Me.bucketInstanceId,Il,lt.ID),Te&&this.storeCollisionData(Me.bucketInstanceId,An,on,tl,ts,es),ji.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(Me.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[ji.crossTileID]=new Wa(Ao||Aa,ls||Da,Mo||Me.justReloaded),ie[ji.crossTileID]=!0};if(ha){if(I.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let ji=Me.getSortedSymbolIndexes(this.transform.angle);for(let on=ji.length-1;on>=0;--on){let An=ji[on];Vi(Me.symbolInstances.get(An),Me.collisionArrays[An],An)}}else for(let ji=I.symbolInstanceStart;ji=0&&(I.text.placedSymbolArray.get(wt).crossTileID=ze>=0&&wt!==ze?0:Te.crossTileID)}markUsedOrientation(I,ie,Te){let Me=ie===t.ah.horizontal||ie===t.ah.horizontalOnly?ie:0,ze=ie===t.ah.vertical?ie:0,ht=[Te.leftJustifiedTextSymbolIndex,Te.centerJustifiedTextSymbolIndex,Te.rightJustifiedTextSymbolIndex];for(let wt of ht)I.text.placedSymbolArray.get(wt).placedOrientation=Me;Te.verticalPlacedTextSymbolIndex&&(I.text.placedSymbolArray.get(Te.verticalPlacedTextSymbolIndex).placedOrientation=ze)}commit(I){this.commitTime=I,this.zoomAtLastRecencyCheck=this.transform.zoom;let ie=this.prevPlacement,Te=!1;this.prevZoomAdjustment=ie?ie.zoomAdjustment(this.transform.zoom):0;let Me=ie?ie.symbolFadeChange(I):1,ze=ie?ie.opacities:{},ht=ie?ie.variableOffsets:{},wt=ie?ie.placedOrientations:{};for(let Ot in this.placements){let $t=this.placements[Ot],Ar=ze[Ot];Ar?(this.opacities[Ot]=new qa(Ar,Me,$t.text,$t.icon),Te=Te||$t.text!==Ar.text.placed||$t.icon!==Ar.icon.placed):(this.opacities[Ot]=new qa(null,Me,$t.text,$t.icon,$t.skipFade),Te=Te||$t.text||$t.icon)}for(let Ot in ze){let $t=ze[Ot];if(!this.opacities[Ot]){let Ar=new qa($t,Me,!1,!1);Ar.isHidden()||(this.opacities[Ot]=Ar,Te=Te||$t.text.placed||$t.icon.placed)}}for(let Ot in ht)this.variableOffsets[Ot]||!this.opacities[Ot]||this.opacities[Ot].isHidden()||(this.variableOffsets[Ot]=ht[Ot]);for(let Ot in wt)this.placedOrientations[Ot]||!this.opacities[Ot]||this.opacities[Ot].isHidden()||(this.placedOrientations[Ot]=wt[Ot]);if(ie&&ie.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Te?this.lastPlacementChangeTime=I:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=ie?ie.lastPlacementChangeTime:I)}updateLayerOpacities(I,ie){let Te={};for(let Me of ie){let ze=Me.getBucket(I);ze&&Me.latestFeatureIndex&&I.id===ze.layerIds[0]&&this.updateBucketOpacities(ze,Me.tileID,Te,Me.collisionBoxArray)}}updateBucketOpacities(I,ie,Te,Me){I.hasTextData()&&(I.text.opacityVertexArray.clear(),I.text.hasVisibleVertices=!1),I.hasIconData()&&(I.icon.opacityVertexArray.clear(),I.icon.hasVisibleVertices=!1),I.hasIconCollisionBoxData()&&I.iconCollisionBox.collisionVertexArray.clear(),I.hasTextCollisionBoxData()&&I.textCollisionBox.collisionVertexArray.clear();let ze=I.layers[0],ht=ze.layout,wt=new qa(null,0,!1,!1,!0),Ot=ht.get(\"text-allow-overlap\"),$t=ht.get(\"icon-allow-overlap\"),Ar=ze._unevaluatedLayout.hasValue(\"text-variable-anchor\")||ze._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Sr=ht.get(\"text-rotation-alignment\")===\"map\",Kr=ht.get(\"text-pitch-alignment\")===\"map\",na=ht.get(\"icon-text-fit\")!==\"none\",qe=new qa(null,0,Ot&&($t||!I.hasIconData()||ht.get(\"icon-optional\")),$t&&(Ot||!I.hasTextData()||ht.get(\"text-optional\")),!0);!I.collisionArrays&&Me&&(I.hasIconCollisionBoxData()||I.hasTextCollisionBoxData())&&I.deserializeCollisionBoxes(Me);let $e=(pt,Et,bt)=>{for(let Dt=0;Dt0,jr=this.placedOrientations[Et.crossTileID],Qr=jr===t.ah.vertical,ha=jr===t.ah.horizontal||jr===t.ah.horizontalOnly;if(bt>0||Dt>0){let Da=Za(yr.text);$e(I.text,bt,Qr?ri:Da),$e(I.text,Dt,ha?ri:Da);let ci=yr.text.isHidden();[Et.rightJustifiedTextSymbolIndex,Et.centerJustifiedTextSymbolIndex,Et.leftJustifiedTextSymbolIndex].forEach(on=>{on>=0&&(I.text.placedSymbolArray.get(on).hidden=ci||Qr?1:0)}),Et.verticalPlacedTextSymbolIndex>=0&&(I.text.placedSymbolArray.get(Et.verticalPlacedTextSymbolIndex).hidden=ci||ha?1:0);let Vi=this.variableOffsets[Et.crossTileID];Vi&&this.markUsedJustification(I,Vi.anchor,Et,jr);let ji=this.placedOrientations[Et.crossTileID];ji&&(this.markUsedJustification(I,\"left\",Et,ji),this.markUsedOrientation(I,ji,Et))}if(kr){let Da=Za(yr.icon),ci=!(na&&Et.verticalPlacedIconSymbolIndex&&Qr);Et.placedIconSymbolIndex>=0&&($e(I.icon,Et.numIconVertices,ci?Da:ri),I.icon.placedSymbolArray.get(Et.placedIconSymbolIndex).hidden=yr.icon.isHidden()),Et.verticalPlacedIconSymbolIndex>=0&&($e(I.icon,Et.numVerticalIconVertices,ci?ri:Da),I.icon.placedSymbolArray.get(Et.verticalPlacedIconSymbolIndex).hidden=yr.icon.isHidden())}let Aa=lt&<.has(pt)?lt.get(pt):{text:null,icon:null};if(I.hasIconCollisionBoxData()||I.hasTextCollisionBoxData()){let Da=I.collisionArrays[pt];if(Da){let ci=new t.P(0,0);if(Da.textBox||Da.verticalTextBox){let Vi=!0;if(Ar){let ji=this.variableOffsets[ur];ji?(ci=Yt(ji.anchor,ji.width,ji.height,ji.textOffset,ji.textBoxScale),Sr&&ci._rotate(Kr?this.transform.angle:-this.transform.angle)):Vi=!1}if(Da.textBox||Da.verticalTextBox){let ji;Da.textBox&&(ji=Qr),Da.verticalTextBox&&(ji=ha),Zt(I.textCollisionBox.collisionVertexArray,yr.text.placed,!Vi||ji,Aa.text,ci.x,ci.y)}}if(Da.iconBox||Da.verticalIconBox){let Vi=!!(!ha&&Da.verticalIconBox),ji;Da.iconBox&&(ji=Vi),Da.verticalIconBox&&(ji=!Vi),Zt(I.iconCollisionBox.collisionVertexArray,yr.icon.placed,ji,Aa.icon,na?ci.x:0,na?ci.y:0)}}}}if(I.sortFeatures(this.transform.angle),this.retainedQueryData[I.bucketInstanceId]&&(this.retainedQueryData[I.bucketInstanceId].featureSortOrder=I.featureSortOrder),I.hasTextData()&&I.text.opacityVertexBuffer&&I.text.opacityVertexBuffer.updateData(I.text.opacityVertexArray),I.hasIconData()&&I.icon.opacityVertexBuffer&&I.icon.opacityVertexBuffer.updateData(I.icon.opacityVertexArray),I.hasIconCollisionBoxData()&&I.iconCollisionBox.collisionVertexBuffer&&I.iconCollisionBox.collisionVertexBuffer.updateData(I.iconCollisionBox.collisionVertexArray),I.hasTextCollisionBoxData()&&I.textCollisionBox.collisionVertexBuffer&&I.textCollisionBox.collisionVertexBuffer.updateData(I.textCollisionBox.collisionVertexArray),I.text.opacityVertexArray.length!==I.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${I.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${I.text.layoutVertexArray.length}) / 4`);if(I.icon.opacityVertexArray.length!==I.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${I.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${I.icon.layoutVertexArray.length}) / 4`);if(I.bucketInstanceId in this.collisionCircleArrays){let pt=this.collisionCircleArrays[I.bucketInstanceId];I.placementInvProjMatrix=pt.invProjMatrix,I.placementViewportMatrix=pt.viewportMatrix,I.collisionCircleArray=pt.circles,delete this.collisionCircleArrays[I.bucketInstanceId]}}symbolFadeChange(I){return this.fadeDuration===0?1:(I-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(I){return Math.max(0,(this.transform.zoom-I)/1.5)}hasTransitions(I){return this.stale||I-this.lastPlacementChangeTimeI}setStale(){this.stale=!0}}function Zt(Fe,I,ie,Te,Me,ze){Te&&Te.length!==0||(Te=[0,0,0,0]);let ht=Te[0]-Pr,wt=Te[1]-Pr,Ot=Te[2]-Pr,$t=Te[3]-Pr;Fe.emplaceBack(I?1:0,ie?1:0,Me||0,ze||0,ht,wt),Fe.emplaceBack(I?1:0,ie?1:0,Me||0,ze||0,Ot,wt),Fe.emplaceBack(I?1:0,ie?1:0,Me||0,ze||0,Ot,$t),Fe.emplaceBack(I?1:0,ie?1:0,Me||0,ze||0,ht,$t)}let Jt=Math.pow(2,25),Or=Math.pow(2,24),ta=Math.pow(2,17),ra=Math.pow(2,16),ca=Math.pow(2,9),Ba=Math.pow(2,8),$a=Math.pow(2,1);function Za(Fe){if(Fe.opacity===0&&!Fe.placed)return 0;if(Fe.opacity===1&&Fe.placed)return 4294967295;let I=Fe.placed?1:0,ie=Math.floor(127*Fe.opacity);return ie*Jt+I*Or+ie*ta+I*ra+ie*ca+I*Ba+ie*$a+I}let ri=0;function pi(){return{isOccluded:(Fe,I,ie)=>!1,getPitchedTextCorrection:(Fe,I,ie)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(Fe,I,ie,Te){throw new Error(\"Not implemented.\")},translatePosition:(Fe,I,ie,Te)=>function(Me,ze,ht,wt,Ot=!1){if(!ht[0]&&!ht[1])return[0,0];let $t=Ot?wt===\"map\"?Me.angle:0:wt===\"viewport\"?-Me.angle:0;if($t){let Ar=Math.sin($t),Sr=Math.cos($t);ht=[ht[0]*Sr-ht[1]*Ar,ht[0]*Ar+ht[1]*Sr]}return[Ot?ht[0]:Fa(ze,ht[0],Me.zoom),Ot?ht[1]:Fa(ze,ht[1],Me.zoom)]}(Fe,I,ie,Te),getCircleRadiusCorrection:Fe=>1}}class Ia{constructor(I){this._sortAcrossTiles=I.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!I.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(I,ie,Te,Me,ze){let ht=this._bucketParts;for(;this._currentTileIndexwt.sortKey-Ot.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.now()-Me>2;for(;this._currentPlacementIndex>=0;){let ht=ie[I[this._currentPlacementIndex]],wt=this.placement.collisionIndex.transform.zoom;if(ht.type===\"symbol\"&&(!ht.minzoom||ht.minzoom<=wt)&&(!ht.maxzoom||ht.maxzoom>wt)){if(this._inProgressLayer||(this._inProgressLayer=new Ia(ht)),this._inProgressLayer.continuePlacement(Te[ht.source],this.placement,this._showCollisionBoxes,ht,ze))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(I){return this.placement.commit(I),this.placement}}let tn=512/t.X/2;class cn{constructor(I,ie,Te){this.tileID=I,this.bucketInstanceId=Te,this._symbolsByKey={};let Me=new Map;for(let ze=0;ze({x:Math.floor(Ot.anchorX*tn),y:Math.floor(Ot.anchorY*tn)})),crossTileIDs:ht.map(Ot=>Ot.crossTileID)};if(wt.positions.length>128){let Ot=new t.av(wt.positions.length,16,Uint16Array);for(let{x:$t,y:Ar}of wt.positions)Ot.add($t,Ar);Ot.finish(),delete wt.positions,wt.index=Ot}this._symbolsByKey[ze]=wt}}getScaledCoordinates(I,ie){let{x:Te,y:Me,z:ze}=this.tileID.canonical,{x:ht,y:wt,z:Ot}=ie.canonical,$t=tn/Math.pow(2,Ot-ze),Ar=(wt*t.X+I.anchorY)*$t,Sr=Me*t.X*tn;return{x:Math.floor((ht*t.X+I.anchorX)*$t-Te*t.X*tn),y:Math.floor(Ar-Sr)}}findMatches(I,ie,Te){let Me=this.tileID.canonical.zI)}}class _t{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ut{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(I){let ie=Math.round((I-this.lng)/360);if(ie!==0)for(let Te in this.indexes){let Me=this.indexes[Te],ze={};for(let ht in Me){let wt=Me[ht];wt.tileID=wt.tileID.unwrapTo(wt.tileID.wrap+ie),ze[wt.tileID.key]=wt}this.indexes[Te]=ze}this.lng=I}addBucket(I,ie,Te){if(this.indexes[I.overscaledZ]&&this.indexes[I.overscaledZ][I.key]){if(this.indexes[I.overscaledZ][I.key].bucketInstanceId===ie.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(I.overscaledZ,this.indexes[I.overscaledZ][I.key])}for(let ze=0;zeI.overscaledZ)for(let wt in ht){let Ot=ht[wt];Ot.tileID.isChildOf(I)&&Ot.findMatches(ie.symbolInstances,I,Me)}else{let wt=ht[I.scaledTo(Number(ze)).key];wt&&wt.findMatches(ie.symbolInstances,I,Me)}}for(let ze=0;ze{ie[Te]=!0});for(let Te in this.layerIndexes)ie[Te]||delete this.layerIndexes[Te]}}let Cr=(Fe,I)=>t.t(Fe,I&&I.filter(ie=>ie.identifier!==\"source.canvas\")),wr=t.aw();class Rr extends t.E{constructor(I,ie={}){super(),this._rtlPluginLoaded=()=>{for(let Te in this.sourceCaches){let Me=this.sourceCaches[Te].getSource().type;Me!==\"vector\"&&Me!==\"geojson\"||this.sourceCaches[Te].reload()}},this.map=I,this.dispatcher=new ee(Y(),I._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Te,Me)=>this.getGlyphs(Te,Me)),this.dispatcher.registerMessageHandler(\"GI\",(Te,Me)=>this.getImages(Te,Me)),this.imageManager=new y,this.imageManager.setEventedParent(this),this.glyphManager=new F(I._requestManager,ie.localIdeographFontFamily),this.lineAtlas=new X(256,512),this.crossTileSymbolIndex=new Br,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",t.ay()),Ze().on(le,this._rtlPluginLoaded),this.on(\"data\",Te=>{if(Te.dataType!==\"source\"||Te.sourceDataType!==\"metadata\")return;let Me=this.sourceCaches[Te.sourceId];if(!Me)return;let ze=Me.getSource();if(ze&&ze.vectorLayerIds)for(let ht in this._layers){let wt=this._layers[ht];wt.source===ze.id&&this._validateLayer(wt)}})}loadURL(I,ie={},Te){this.fire(new t.k(\"dataloading\",{dataType:\"style\"})),ie.validate=typeof ie.validate!=\"boolean\"||ie.validate;let Me=this.map._requestManager.transformRequest(I,\"Style\");this._loadStyleRequest=new AbortController;let ze=this._loadStyleRequest;t.h(Me,this._loadStyleRequest).then(ht=>{this._loadStyleRequest=null,this._load(ht.data,ie,Te)}).catch(ht=>{this._loadStyleRequest=null,ht&&!ze.signal.aborted&&this.fire(new t.j(ht))})}loadJSON(I,ie={},Te){this.fire(new t.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,ie.validate=ie.validate!==!1,this._load(I,ie,Te)}).catch(()=>{})}loadEmpty(){this.fire(new t.k(\"dataloading\",{dataType:\"style\"})),this._load(wr,{validate:!1})}_load(I,ie,Te){var Me;let ze=ie.transformStyle?ie.transformStyle(Te,I):I;if(!ie.validate||!Cr(this,t.u(ze))){this._loaded=!0,this.stylesheet=ze;for(let ht in ze.sources)this.addSource(ht,ze.sources[ht],{validate:!1});ze.sprite?this._loadSprite(ze.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(ze.glyphs),this._createLayers(),this.light=new P(this.stylesheet.light),this.sky=new N(this.stylesheet.sky),this.map.setTerrain((Me=this.stylesheet.terrain)!==null&&Me!==void 0?Me:null),this.fire(new t.k(\"data\",{dataType:\"style\"})),this.fire(new t.k(\"style.load\"))}}_createLayers(){let I=t.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",I),this._order=I.map(ie=>ie.id),this._layers={},this._serializedLayers=null;for(let ie of I){let Te=t.aA(ie);Te.setEventedParent(this,{layer:{id:ie.id}}),this._layers[ie.id]=Te}}_loadSprite(I,ie=!1,Te=void 0){let Me;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(ze,ht,wt,Ot){return t._(this,void 0,void 0,function*(){let $t=b(ze),Ar=wt>1?\"@2x\":\"\",Sr={},Kr={};for(let{id:na,url:qe}of $t){let $e=ht.transformRequest(p(qe,Ar,\".json\"),\"SpriteJSON\");Sr[na]=t.h($e,Ot);let lt=ht.transformRequest(p(qe,Ar,\".png\"),\"SpriteImage\");Kr[na]=l.getImage(lt,Ot)}return yield Promise.all([...Object.values(Sr),...Object.values(Kr)]),function(na,qe){return t._(this,void 0,void 0,function*(){let $e={};for(let lt in na){$e[lt]={};let pt=n.getImageCanvasContext((yield qe[lt]).data),Et=(yield na[lt]).data;for(let bt in Et){let{width:Dt,height:ur,x:yr,y:kr,sdf:jr,pixelRatio:Qr,stretchX:ha,stretchY:Aa,content:Da,textFitWidth:ci,textFitHeight:Vi}=Et[bt];$e[lt][bt]={data:null,pixelRatio:Qr,sdf:jr,stretchX:ha,stretchY:Aa,content:Da,textFitWidth:ci,textFitHeight:Vi,spriteData:{width:Dt,height:ur,x:yr,y:kr,context:pt}}}}return $e})}(Sr,Kr)})}(I,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(ze=>{if(this._spriteRequest=null,ze)for(let ht in ze){this._spritesImagesIds[ht]=[];let wt=this._spritesImagesIds[ht]?this._spritesImagesIds[ht].filter(Ot=>!(Ot in ze)):[];for(let Ot of wt)this.imageManager.removeImage(Ot),this._changedImages[Ot]=!0;for(let Ot in ze[ht]){let $t=ht===\"default\"?Ot:`${ht}:${Ot}`;this._spritesImagesIds[ht].push($t),$t in this.imageManager.images?this.imageManager.updateImage($t,ze[ht][Ot],!1):this.imageManager.addImage($t,ze[ht][Ot]),ie&&(this._changedImages[$t]=!0)}}}).catch(ze=>{this._spriteRequest=null,Me=ze,this.fire(new t.j(Me))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),ie&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"})),Te&&Te(Me)})}_unloadSprite(){for(let I of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(I),this._changedImages[I]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"}))}_validateLayer(I){let ie=this.sourceCaches[I.source];if(!ie)return;let Te=I.sourceLayer;if(!Te)return;let Me=ie.getSource();(Me.type===\"geojson\"||Me.vectorLayerIds&&Me.vectorLayerIds.indexOf(Te)===-1)&&this.fire(new t.j(new Error(`Source layer \"${Te}\" does not exist on source \"${Me.id}\" as specified by style layer \"${I.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let I in this.sourceCaches)if(!this.sourceCaches[I].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(I,ie=!1){let Te=this._serializedAllLayers();if(!I||I.length===0)return Object.values(ie?t.aB(Te):Te);let Me=[];for(let ze of I)if(Te[ze]){let ht=ie?t.aB(Te[ze]):Te[ze];Me.push(ht)}return Me}_serializedAllLayers(){let I=this._serializedLayers;if(I)return I;I=this._serializedLayers={};let ie=Object.keys(this._layers);for(let Te of ie){let Me=this._layers[Te];Me.type!==\"custom\"&&(I[Te]=Me.serialize())}return I}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let I in this.sourceCaches)if(this.sourceCaches[I].hasTransition())return!0;for(let I in this._layers)if(this._layers[I].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(I){if(!this._loaded)return;let ie=this._changed;if(ie){let Me=Object.keys(this._updatedLayers),ze=Object.keys(this._removedLayers);(Me.length||ze.length)&&this._updateWorkerLayers(Me,ze);for(let ht in this._updatedSources){let wt=this._updatedSources[ht];if(wt===\"reload\")this._reloadSource(ht);else{if(wt!==\"clear\")throw new Error(`Invalid action ${wt}`);this._clearSource(ht)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let ht in this._updatedPaintProps)this._layers[ht].updateTransitions(I);this.light.updateTransitions(I),this.sky.updateTransitions(I),this._resetUpdates()}let Te={};for(let Me in this.sourceCaches){let ze=this.sourceCaches[Me];Te[Me]=ze.used,ze.used=!1}for(let Me of this._order){let ze=this._layers[Me];ze.recalculate(I,this._availableImages),!ze.isHidden(I.zoom)&&ze.source&&(this.sourceCaches[ze.source].used=!0)}for(let Me in Te){let ze=this.sourceCaches[Me];!!Te[Me]!=!!ze.used&&ze.fire(new t.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:Me}))}this.light.recalculate(I),this.sky.recalculate(I),this.z=I.zoom,ie&&this.fire(new t.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let I=Object.keys(this._changedImages);if(I.length){for(let ie in this.sourceCaches)this.sourceCaches[ie].reloadTilesForDependencies([\"icons\",\"patterns\"],I);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let I in this.sourceCaches)this.sourceCaches[I].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(I,ie){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(I,!1),removedIds:ie})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(I,ie={}){var Te;this._checkLoaded();let Me=this.serialize();if(I=ie.transformStyle?ie.transformStyle(Me,I):I,((Te=ie.validate)===null||Te===void 0||Te)&&Cr(this,t.u(I)))return!1;(I=t.aB(I)).layers=t.az(I.layers);let ze=t.aC(Me,I),ht=this._getOperationsToPerform(ze);if(ht.unimplemented.length>0)throw new Error(`Unimplemented: ${ht.unimplemented.join(\", \")}.`);if(ht.operations.length===0)return!1;for(let wt of ht.operations)wt();return this.stylesheet=I,this._serializedLayers=null,!0}_getOperationsToPerform(I){let ie=[],Te=[];for(let Me of I)switch(Me.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":ie.push(()=>this.addLayer.apply(this,Me.args));break;case\"removeLayer\":ie.push(()=>this.removeLayer.apply(this,Me.args));break;case\"setPaintProperty\":ie.push(()=>this.setPaintProperty.apply(this,Me.args));break;case\"setLayoutProperty\":ie.push(()=>this.setLayoutProperty.apply(this,Me.args));break;case\"setFilter\":ie.push(()=>this.setFilter.apply(this,Me.args));break;case\"addSource\":ie.push(()=>this.addSource.apply(this,Me.args));break;case\"removeSource\":ie.push(()=>this.removeSource.apply(this,Me.args));break;case\"setLayerZoomRange\":ie.push(()=>this.setLayerZoomRange.apply(this,Me.args));break;case\"setLight\":ie.push(()=>this.setLight.apply(this,Me.args));break;case\"setGeoJSONSourceData\":ie.push(()=>this.setGeoJSONSourceData.apply(this,Me.args));break;case\"setGlyphs\":ie.push(()=>this.setGlyphs.apply(this,Me.args));break;case\"setSprite\":ie.push(()=>this.setSprite.apply(this,Me.args));break;case\"setSky\":ie.push(()=>this.setSky.apply(this,Me.args));break;case\"setTerrain\":ie.push(()=>this.map.setTerrain.apply(this,Me.args));break;case\"setTransition\":ie.push(()=>{});break;default:Te.push(Me.command)}return{operations:ie,unimplemented:Te}}addImage(I,ie){if(this.getImage(I))return this.fire(new t.j(new Error(`An image named \"${I}\" already exists.`)));this.imageManager.addImage(I,ie),this._afterImageUpdated(I)}updateImage(I,ie){this.imageManager.updateImage(I,ie)}getImage(I){return this.imageManager.getImage(I)}removeImage(I){if(!this.getImage(I))return this.fire(new t.j(new Error(`An image named \"${I}\" does not exist.`)));this.imageManager.removeImage(I),this._afterImageUpdated(I)}_afterImageUpdated(I){this._availableImages=this.imageManager.listImages(),this._changedImages[I]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(I,ie,Te={}){if(this._checkLoaded(),this.sourceCaches[I]!==void 0)throw new Error(`Source \"${I}\" already exists.`);if(!ie.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(ie).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(ie.type)>=0&&this._validate(t.u.source,`sources.${I}`,ie,null,Te))return;this.map&&this.map._collectResourceTiming&&(ie.collectResourceTiming=!0);let Me=this.sourceCaches[I]=new kt(I,ie,this.dispatcher);Me.style=this,Me.setEventedParent(this,()=>({isSourceLoaded:Me.loaded(),source:Me.serialize(),sourceId:I})),Me.onAdd(this.map),this._changed=!0}removeSource(I){if(this._checkLoaded(),this.sourceCaches[I]===void 0)throw new Error(\"There is no source with this ID\");for(let Te in this._layers)if(this._layers[Te].source===I)return this.fire(new t.j(new Error(`Source \"${I}\" cannot be removed while layer \"${Te}\" is using it.`)));let ie=this.sourceCaches[I];delete this.sourceCaches[I],delete this._updatedSources[I],ie.fire(new t.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:I})),ie.setEventedParent(null),ie.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(I,ie){if(this._checkLoaded(),this.sourceCaches[I]===void 0)throw new Error(`There is no source with this ID=${I}`);let Te=this.sourceCaches[I].getSource();if(Te.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Te.type}, which is !== 'geojson`);Te.setData(ie),this._changed=!0}getSource(I){return this.sourceCaches[I]&&this.sourceCaches[I].getSource()}addLayer(I,ie,Te={}){this._checkLoaded();let Me=I.id;if(this.getLayer(Me))return void this.fire(new t.j(new Error(`Layer \"${Me}\" already exists on this map.`)));let ze;if(I.type===\"custom\"){if(Cr(this,t.aD(I)))return;ze=t.aA(I)}else{if(\"source\"in I&&typeof I.source==\"object\"&&(this.addSource(Me,I.source),I=t.aB(I),I=t.e(I,{source:Me})),this._validate(t.u.layer,`layers.${Me}`,I,{arrayIndex:-1},Te))return;ze=t.aA(I),this._validateLayer(ze),ze.setEventedParent(this,{layer:{id:Me}})}let ht=ie?this._order.indexOf(ie):this._order.length;if(ie&&ht===-1)this.fire(new t.j(new Error(`Cannot add layer \"${Me}\" before non-existing layer \"${ie}\".`)));else{if(this._order.splice(ht,0,Me),this._layerOrderChanged=!0,this._layers[Me]=ze,this._removedLayers[Me]&&ze.source&&ze.type!==\"custom\"){let wt=this._removedLayers[Me];delete this._removedLayers[Me],wt.type!==ze.type?this._updatedSources[ze.source]=\"clear\":(this._updatedSources[ze.source]=\"reload\",this.sourceCaches[ze.source].pause())}this._updateLayer(ze),ze.onAdd&&ze.onAdd(this.map)}}moveLayer(I,ie){if(this._checkLoaded(),this._changed=!0,!this._layers[I])return void this.fire(new t.j(new Error(`The layer '${I}' does not exist in the map's style and cannot be moved.`)));if(I===ie)return;let Te=this._order.indexOf(I);this._order.splice(Te,1);let Me=ie?this._order.indexOf(ie):this._order.length;ie&&Me===-1?this.fire(new t.j(new Error(`Cannot move layer \"${I}\" before non-existing layer \"${ie}\".`))):(this._order.splice(Me,0,I),this._layerOrderChanged=!0)}removeLayer(I){this._checkLoaded();let ie=this._layers[I];if(!ie)return void this.fire(new t.j(new Error(`Cannot remove non-existing layer \"${I}\".`)));ie.setEventedParent(null);let Te=this._order.indexOf(I);this._order.splice(Te,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[I]=ie,delete this._layers[I],this._serializedLayers&&delete this._serializedLayers[I],delete this._updatedLayers[I],delete this._updatedPaintProps[I],ie.onRemove&&ie.onRemove(this.map)}getLayer(I){return this._layers[I]}getLayersOrder(){return[...this._order]}hasLayer(I){return I in this._layers}setLayerZoomRange(I,ie,Te){this._checkLoaded();let Me=this.getLayer(I);Me?Me.minzoom===ie&&Me.maxzoom===Te||(ie!=null&&(Me.minzoom=ie),Te!=null&&(Me.maxzoom=Te),this._updateLayer(Me)):this.fire(new t.j(new Error(`Cannot set the zoom range of non-existing layer \"${I}\".`)))}setFilter(I,ie,Te={}){this._checkLoaded();let Me=this.getLayer(I);if(Me){if(!t.aE(Me.filter,ie))return ie==null?(Me.filter=void 0,void this._updateLayer(Me)):void(this._validate(t.u.filter,`layers.${Me.id}.filter`,ie,null,Te)||(Me.filter=t.aB(ie),this._updateLayer(Me)))}else this.fire(new t.j(new Error(`Cannot filter non-existing layer \"${I}\".`)))}getFilter(I){return t.aB(this.getLayer(I).filter)}setLayoutProperty(I,ie,Te,Me={}){this._checkLoaded();let ze=this.getLayer(I);ze?t.aE(ze.getLayoutProperty(ie),Te)||(ze.setLayoutProperty(ie,Te,Me),this._updateLayer(ze)):this.fire(new t.j(new Error(`Cannot style non-existing layer \"${I}\".`)))}getLayoutProperty(I,ie){let Te=this.getLayer(I);if(Te)return Te.getLayoutProperty(ie);this.fire(new t.j(new Error(`Cannot get style of non-existing layer \"${I}\".`)))}setPaintProperty(I,ie,Te,Me={}){this._checkLoaded();let ze=this.getLayer(I);ze?t.aE(ze.getPaintProperty(ie),Te)||(ze.setPaintProperty(ie,Te,Me)&&this._updateLayer(ze),this._changed=!0,this._updatedPaintProps[I]=!0,this._serializedLayers=null):this.fire(new t.j(new Error(`Cannot style non-existing layer \"${I}\".`)))}getPaintProperty(I,ie){return this.getLayer(I).getPaintProperty(ie)}setFeatureState(I,ie){this._checkLoaded();let Te=I.source,Me=I.sourceLayer,ze=this.sourceCaches[Te];if(ze===void 0)return void this.fire(new t.j(new Error(`The source '${Te}' does not exist in the map's style.`)));let ht=ze.getSource().type;ht===\"geojson\"&&Me?this.fire(new t.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):ht!==\"vector\"||Me?(I.id===void 0&&this.fire(new t.j(new Error(\"The feature id parameter must be provided.\"))),ze.setFeatureState(Me,I.id,ie)):this.fire(new t.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(I,ie){this._checkLoaded();let Te=I.source,Me=this.sourceCaches[Te];if(Me===void 0)return void this.fire(new t.j(new Error(`The source '${Te}' does not exist in the map's style.`)));let ze=Me.getSource().type,ht=ze===\"vector\"?I.sourceLayer:void 0;ze!==\"vector\"||ht?ie&&typeof I.id!=\"string\"&&typeof I.id!=\"number\"?this.fire(new t.j(new Error(\"A feature id is required to remove its specific state property.\"))):Me.removeFeatureState(ht,I.id,ie):this.fire(new t.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(I){this._checkLoaded();let ie=I.source,Te=I.sourceLayer,Me=this.sourceCaches[ie];if(Me!==void 0)return Me.getSource().type!==\"vector\"||Te?(I.id===void 0&&this.fire(new t.j(new Error(\"The feature id parameter must be provided.\"))),Me.getFeatureState(Te,I.id)):void this.fire(new t.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new t.j(new Error(`The source '${ie}' does not exist in the map's style.`)))}getTransition(){return t.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let I=t.aF(this.sourceCaches,ze=>ze.serialize()),ie=this._serializeByIds(this._order,!0),Te=this.map.getTerrain()||void 0,Me=this.stylesheet;return t.aG({version:Me.version,name:Me.name,metadata:Me.metadata,light:Me.light,sky:Me.sky,center:Me.center,zoom:Me.zoom,bearing:Me.bearing,pitch:Me.pitch,sprite:Me.sprite,glyphs:Me.glyphs,transition:Me.transition,sources:I,layers:ie,terrain:Te},ze=>ze!==void 0)}_updateLayer(I){this._updatedLayers[I.id]=!0,I.source&&!this._updatedSources[I.source]&&this.sourceCaches[I.source].getSource().type!==\"raster\"&&(this._updatedSources[I.source]=\"reload\",this.sourceCaches[I.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(I){let ie=ht=>this._layers[ht].type===\"fill-extrusion\",Te={},Me=[];for(let ht=this._order.length-1;ht>=0;ht--){let wt=this._order[ht];if(ie(wt)){Te[wt]=ht;for(let Ot of I){let $t=Ot[wt];if($t)for(let Ar of $t)Me.push(Ar)}}}Me.sort((ht,wt)=>wt.intersectionZ-ht.intersectionZ);let ze=[];for(let ht=this._order.length-1;ht>=0;ht--){let wt=this._order[ht];if(ie(wt))for(let Ot=Me.length-1;Ot>=0;Ot--){let $t=Me[Ot].feature;if(Te[$t.layer.id]{let jr=pt.featureSortOrder;if(jr){let Qr=jr.indexOf(yr.featureIndex);return jr.indexOf(kr.featureIndex)-Qr}return kr.featureIndex-yr.featureIndex});for(let yr of ur)Dt.push(yr)}}for(let pt in qe)qe[pt].forEach(Et=>{let bt=Et.feature,Dt=$t[wt[pt].source].getFeatureState(bt.layer[\"source-layer\"],bt.id);bt.source=bt.layer.source,bt.layer[\"source-layer\"]&&(bt.sourceLayer=bt.layer[\"source-layer\"]),bt.state=Dt});return qe}(this._layers,ht,this.sourceCaches,I,ie,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(ze)}querySourceFeatures(I,ie){ie&&ie.filter&&this._validate(t.u.filter,\"querySourceFeatures.filter\",ie.filter,null,ie);let Te=this.sourceCaches[I];return Te?function(Me,ze){let ht=Me.getRenderableIds().map($t=>Me.getTileByID($t)),wt=[],Ot={};for(let $t=0;$tKr.getTileByID(na)).sort((na,qe)=>qe.tileID.overscaledZ-na.tileID.overscaledZ||(na.tileID.isLessThan(qe.tileID)?-1:1))}let Sr=this.crossTileSymbolIndex.addLayer(Ar,Ot[Ar.source],I.center.lng);ht=ht||Sr}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((ze=ze||this._layerOrderChanged||Te===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.now(),I.zoom))&&(this.pauseablePlacement=new rn(I,this.map.terrain,this._order,ze,ie,Te,Me,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Ot),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.now()),wt=!0),ht&&this.pauseablePlacement.placement.setStale()),wt||ht)for(let $t of this._order){let Ar=this._layers[$t];Ar.type===\"symbol\"&&this.placement.updateLayerOpacities(Ar,Ot[Ar.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.now())}_releaseSymbolFadeTiles(){for(let I in this.sourceCaches)this.sourceCaches[I].releaseSymbolFadeTiles()}getImages(I,ie){return t._(this,void 0,void 0,function*(){let Te=yield this.imageManager.getImages(ie.icons);this._updateTilesForChangedImages();let Me=this.sourceCaches[ie.source];return Me&&Me.setDependencies(ie.tileID.key,ie.type,ie.icons),Te})}getGlyphs(I,ie){return t._(this,void 0,void 0,function*(){let Te=yield this.glyphManager.getGlyphs(ie.stacks),Me=this.sourceCaches[ie.source];return Me&&Me.setDependencies(ie.tileID.key,ie.type,[\"\"]),Te})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(I,ie={}){this._checkLoaded(),I&&this._validate(t.u.glyphs,\"glyphs\",I,null,ie)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=I,this.glyphManager.entries={},this.glyphManager.setURL(I))}addSprite(I,ie,Te={},Me){this._checkLoaded();let ze=[{id:I,url:ie}],ht=[...b(this.stylesheet.sprite),...ze];this._validate(t.u.sprite,\"sprite\",ht,null,Te)||(this.stylesheet.sprite=ht,this._loadSprite(ze,!0,Me))}removeSprite(I){this._checkLoaded();let ie=b(this.stylesheet.sprite);if(ie.find(Te=>Te.id===I)){if(this._spritesImagesIds[I])for(let Te of this._spritesImagesIds[I])this.imageManager.removeImage(Te),this._changedImages[Te]=!0;ie.splice(ie.findIndex(Te=>Te.id===I),1),this.stylesheet.sprite=ie.length>0?ie:void 0,delete this._spritesImagesIds[I],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new t.k(\"data\",{dataType:\"style\"}))}else this.fire(new t.j(new Error(`Sprite \"${I}\" doesn't exists on this map.`)))}getSprite(){return b(this.stylesheet.sprite)}setSprite(I,ie={},Te){this._checkLoaded(),I&&this._validate(t.u.sprite,\"sprite\",I,null,ie)||(this.stylesheet.sprite=I,I?this._loadSprite(I,!0,Te):(this._unloadSprite(),Te&&Te(null)))}}var Ur=t.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let Hr={prelude:gt(`#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n`,`#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}`),background:gt(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:gt(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:gt(`varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:gt(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:gt(`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,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:gt(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:gt(\"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_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:gt(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:gt(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:gt(`#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:gt(`varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:gt(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:gt(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:gt(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:gt(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:gt(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:gt(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:gt(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),lineGradient:gt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),linePattern:gt(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:gt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:gt(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:gt(`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}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:gt(`#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:gt(`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:gt(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:gt(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:gt(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:gt(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function gt(Fe,I){let ie=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Te=I.match(/attribute ([\\w]+) ([\\w]+)/g),Me=Fe.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),ze=I.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),ht=ze?ze.concat(Me):Me,wt={};return{fragmentSource:Fe=Fe.replace(ie,(Ot,$t,Ar,Sr,Kr)=>(wt[Kr]=!0,$t===\"define\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\nvarying ${Ar} ${Sr} ${Kr};\n#else\nuniform ${Ar} ${Sr} u_${Kr};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${Kr}\n ${Ar} ${Sr} ${Kr} = u_${Kr};\n#endif\n`)),vertexSource:I=I.replace(ie,(Ot,$t,Ar,Sr,Kr)=>{let na=Sr===\"float\"?\"vec2\":\"vec4\",qe=Kr.match(/color/)?\"color\":na;return wt[Kr]?$t===\"define\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\nuniform lowp float u_${Kr}_t;\nattribute ${Ar} ${na} a_${Kr};\nvarying ${Ar} ${Sr} ${Kr};\n#else\nuniform ${Ar} ${Sr} u_${Kr};\n#endif\n`:qe===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Kr} = a_${Kr};\n#else\n ${Ar} ${Sr} ${Kr} = u_${Kr};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Kr} = unpack_mix_${qe}(a_${Kr}, u_${Kr}_t);\n#else\n ${Ar} ${Sr} ${Kr} = u_${Kr};\n#endif\n`:$t===\"define\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\nuniform lowp float u_${Kr}_t;\nattribute ${Ar} ${na} a_${Kr};\n#else\nuniform ${Ar} ${Sr} u_${Kr};\n#endif\n`:qe===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Ar} ${Sr} ${Kr} = a_${Kr};\n#else\n ${Ar} ${Sr} ${Kr} = u_${Kr};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${Kr}\n ${Ar} ${Sr} ${Kr} = unpack_mix_${qe}(a_${Kr}, u_${Kr}_t);\n#else\n ${Ar} ${Sr} ${Kr} = u_${Kr};\n#endif\n`}),staticAttributes:Te,staticUniforms:ht}}class Kt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(I,ie,Te,Me,ze,ht,wt,Ot,$t){this.context=I;let Ar=this.boundPaintVertexBuffers.length!==Me.length;for(let Sr=0;!Ar&&Sr({u_matrix:Fe,u_texture:0,u_ele_delta:I,u_fog_matrix:ie,u_fog_color:Te?Te.properties.get(\"fog-color\"):t.aM.white,u_fog_ground_blend:Te?Te.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Te?Te.calculateFogBlendOpacity(Me):0,u_horizon_color:Te?Te.properties.get(\"horizon-color\"):t.aM.white,u_horizon_fog_blend:Te?Te.properties.get(\"horizon-fog-blend\"):1});function Ir(Fe){let I=[];for(let ie=0;ie({u_depth:new t.aH(yr,kr.u_depth),u_terrain:new t.aH(yr,kr.u_terrain),u_terrain_dim:new t.aI(yr,kr.u_terrain_dim),u_terrain_matrix:new t.aJ(yr,kr.u_terrain_matrix),u_terrain_unpack:new t.aK(yr,kr.u_terrain_unpack),u_terrain_exaggeration:new t.aI(yr,kr.u_terrain_exaggeration)}))(I,ur),this.binderUniforms=Te?Te.getUniforms(I,ur):[]}draw(I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,Sr,Kr,na,qe,$e,lt,pt,Et){let bt=I.gl;if(this.failedToCreate)return;if(I.program.set(this.program),I.setDepthMode(Te),I.setStencilMode(Me),I.setColorMode(ze),I.setCullFace(ht),Ot){I.activeTexture.set(bt.TEXTURE2),bt.bindTexture(bt.TEXTURE_2D,Ot.depthTexture),I.activeTexture.set(bt.TEXTURE3),bt.bindTexture(bt.TEXTURE_2D,Ot.texture);for(let ur in this.terrainUniforms)this.terrainUniforms[ur].set(Ot[ur])}for(let ur in this.fixedUniforms)this.fixedUniforms[ur].set(wt[ur]);$e&&$e.setUniforms(I,this.binderUniforms,na,{zoom:qe});let Dt=0;switch(ie){case bt.LINES:Dt=2;break;case bt.TRIANGLES:Dt=3;break;case bt.LINE_STRIP:Dt=1}for(let ur of Kr.get()){let yr=ur.vaos||(ur.vaos={});(yr[$t]||(yr[$t]=new Kt)).bind(I,this,Ar,$e?$e.getPaintVertexBuffers():[],Sr,ur.vertexOffset,lt,pt,Et),bt.drawElements(ie,ur.primitiveLength*Dt,bt.UNSIGNED_SHORT,ur.primitiveOffset*Dt*2)}}}function Pa(Fe,I,ie){let Te=1/Fa(ie,1,I.transform.tileZoom),Me=Math.pow(2,ie.tileID.overscaledZ),ze=ie.tileSize*Math.pow(2,I.transform.tileZoom)/Me,ht=ze*(ie.tileID.canonical.x+ie.tileID.wrap*Me),wt=ze*ie.tileID.canonical.y;return{u_image:0,u_texsize:ie.imageAtlasTexture.size,u_scale:[Te,Fe.fromScale,Fe.toScale],u_fade:Fe.t,u_pixel_coord_upper:[ht>>16,wt>>16],u_pixel_coord_lower:[65535&ht,65535&wt]}}let ga=(Fe,I,ie,Te)=>{let Me=I.style.light,ze=Me.properties.get(\"position\"),ht=[ze.x,ze.y,ze.z],wt=function(){var $t=new t.A(9);return t.A!=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}();Me.properties.get(\"anchor\")===\"viewport\"&&function($t,Ar){var Sr=Math.sin(Ar),Kr=Math.cos(Ar);$t[0]=Kr,$t[1]=Sr,$t[2]=0,$t[3]=-Sr,$t[4]=Kr,$t[5]=0,$t[6]=0,$t[7]=0,$t[8]=1}(wt,-I.transform.angle),function($t,Ar,Sr){var Kr=Ar[0],na=Ar[1],qe=Ar[2];$t[0]=Kr*Sr[0]+na*Sr[3]+qe*Sr[6],$t[1]=Kr*Sr[1]+na*Sr[4]+qe*Sr[7],$t[2]=Kr*Sr[2]+na*Sr[5]+qe*Sr[8]}(ht,ht,wt);let Ot=Me.properties.get(\"color\");return{u_matrix:Fe,u_lightpos:ht,u_lightintensity:Me.properties.get(\"intensity\"),u_lightcolor:[Ot.r,Ot.g,Ot.b],u_vertical_gradient:+ie,u_opacity:Te}},la=(Fe,I,ie,Te,Me,ze,ht)=>t.e(ga(Fe,I,ie,Te),Pa(ze,I,ht),{u_height_factor:-Math.pow(2,Me.overscaledZ)/ht.tileSize/8}),ba=Fe=>({u_matrix:Fe}),Ai=(Fe,I,ie,Te)=>t.e(ba(Fe),Pa(ie,I,Te)),ki=(Fe,I)=>({u_matrix:Fe,u_world:I}),Ki=(Fe,I,ie,Te,Me)=>t.e(Ai(Fe,I,ie,Te),{u_world:Me}),Mn=(Fe,I,ie,Te)=>{let Me=Fe.transform,ze,ht;if(Te.paint.get(\"circle-pitch-alignment\")===\"map\"){let wt=Fa(ie,1,Me.zoom);ze=!0,ht=[wt,wt]}else ze=!1,ht=Me.pixelsToGLUnits;return{u_camera_to_center_distance:Me.cameraToCenterDistance,u_scale_with_map:+(Te.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Fe.translatePosMatrix(I.posMatrix,ie,Te.paint.get(\"circle-translate\"),Te.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+ze,u_device_pixel_ratio:Fe.pixelRatio,u_extrude_scale:ht}},wn=(Fe,I,ie)=>({u_matrix:Fe,u_inv_matrix:I,u_camera_to_center_distance:ie.cameraToCenterDistance,u_viewport_size:[ie.width,ie.height]}),On=(Fe,I,ie=1)=>({u_matrix:Fe,u_color:I,u_overlay:0,u_overlay_scale:ie}),En=Fe=>({u_matrix:Fe}),ao=(Fe,I,ie,Te)=>({u_matrix:Fe,u_extrude_scale:Fa(I,1,ie),u_intensity:Te}),Co=(Fe,I,ie,Te)=>{let Me=t.H();t.aP(Me,0,Fe.width,Fe.height,0,0,1);let ze=Fe.context.gl;return{u_matrix:Me,u_world:[ze.drawingBufferWidth,ze.drawingBufferHeight],u_image:ie,u_color_ramp:Te,u_opacity:I.paint.get(\"heatmap-opacity\")}};function bo(Fe,I){let ie=Math.pow(2,I.canonical.z),Te=I.canonical.y;return[new t.Z(0,Te/ie).toLngLat().lat,new t.Z(0,(Te+1)/ie).toLngLat().lat]}let zs=(Fe,I,ie,Te)=>{let Me=Fe.transform;return{u_matrix:os(Fe,I,ie,Te),u_ratio:1/Fa(I,1,Me.zoom),u_device_pixel_ratio:Fe.pixelRatio,u_units_to_pixels:[1/Me.pixelsToGLUnits[0],1/Me.pixelsToGLUnits[1]]}},kn=(Fe,I,ie,Te,Me)=>t.e(zs(Fe,I,ie,Me),{u_image:0,u_image_height:Te}),wo=(Fe,I,ie,Te,Me)=>{let ze=Fe.transform,ht=go(I,ze);return{u_matrix:os(Fe,I,ie,Me),u_texsize:I.imageAtlasTexture.size,u_ratio:1/Fa(I,1,ze.zoom),u_device_pixel_ratio:Fe.pixelRatio,u_image:0,u_scale:[ht,Te.fromScale,Te.toScale],u_fade:Te.t,u_units_to_pixels:[1/ze.pixelsToGLUnits[0],1/ze.pixelsToGLUnits[1]]}},Kn=(Fe,I,ie,Te,Me,ze)=>{let ht=Fe.lineAtlas,wt=go(I,Fe.transform),Ot=ie.layout.get(\"line-cap\")===\"round\",$t=ht.getDash(Te.from,Ot),Ar=ht.getDash(Te.to,Ot),Sr=$t.width*Me.fromScale,Kr=Ar.width*Me.toScale;return t.e(zs(Fe,I,ie,ze),{u_patternscale_a:[wt/Sr,-$t.height/2],u_patternscale_b:[wt/Kr,-Ar.height/2],u_sdfgamma:ht.width/(256*Math.min(Sr,Kr)*Fe.pixelRatio)/2,u_image:0,u_tex_y_a:$t.y,u_tex_y_b:Ar.y,u_mix:Me.t})};function go(Fe,I){return 1/Fa(Fe,1,I.tileZoom)}function os(Fe,I,ie,Te){return Fe.translatePosMatrix(Te?Te.posMatrix:I.tileID.posMatrix,I,ie.paint.get(\"line-translate\"),ie.paint.get(\"line-translate-anchor\"))}let gs=(Fe,I,ie,Te,Me)=>{return{u_matrix:Fe,u_tl_parent:I,u_scale_parent:ie,u_buffer_scale:1,u_fade_t:Te.mix,u_opacity:Te.opacity*Me.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:Me.paint.get(\"raster-brightness-min\"),u_brightness_high:Me.paint.get(\"raster-brightness-max\"),u_saturation_factor:(ht=Me.paint.get(\"raster-saturation\"),ht>0?1-1/(1.001-ht):-ht),u_contrast_factor:(ze=Me.paint.get(\"raster-contrast\"),ze>0?1/(1-ze):1+ze),u_spin_weights:jo(Me.paint.get(\"raster-hue-rotate\"))};var ze,ht};function jo(Fe){Fe*=Math.PI/180;let I=Math.sin(Fe),ie=Math.cos(Fe);return[(2*ie+1)/3,(-Math.sqrt(3)*I-ie+1)/3,(Math.sqrt(3)*I-ie+1)/3]}let Zn=(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,Sr,Kr,na)=>{let qe=ht.transform;return{u_is_size_zoom_constant:+(Fe===\"constant\"||Fe===\"source\"),u_is_size_feature_constant:+(Fe===\"constant\"||Fe===\"camera\"),u_size_t:I?I.uSizeT:0,u_size:I?I.uSize:0,u_camera_to_center_distance:qe.cameraToCenterDistance,u_pitch:qe.pitch/360*2*Math.PI,u_rotate_symbol:+ie,u_aspect_ratio:qe.width/qe.height,u_fade_change:ht.options.fadeDuration?ht.symbolFadeChange:1,u_matrix:wt,u_label_plane_matrix:Ot,u_coord_matrix:$t,u_is_text:+Sr,u_pitch_with_map:+Te,u_is_along_line:Me,u_is_variable_anchor:ze,u_texsize:Kr,u_texture:0,u_translation:Ar,u_pitched_scale:na}},Gn=(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,Sr,Kr,na,qe)=>{let $e=ht.transform;return t.e(Zn(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,Sr,Kr,qe),{u_gamma_scale:Te?Math.cos($e._pitch)*$e.cameraToCenterDistance:1,u_device_pixel_ratio:ht.pixelRatio,u_is_halo:+na})},Hn=(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,Sr,Kr,na)=>t.e(Gn(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t,Ar,!0,Sr,!0,na),{u_texsize_icon:Kr,u_texture_icon:1}),ss=(Fe,I,ie)=>({u_matrix:Fe,u_opacity:I,u_color:ie}),ys=(Fe,I,ie,Te,Me,ze)=>t.e(function(ht,wt,Ot,$t){let Ar=Ot.imageManager.getPattern(ht.from.toString()),Sr=Ot.imageManager.getPattern(ht.to.toString()),{width:Kr,height:na}=Ot.imageManager.getPixelSize(),qe=Math.pow(2,$t.tileID.overscaledZ),$e=$t.tileSize*Math.pow(2,Ot.transform.tileZoom)/qe,lt=$e*($t.tileID.canonical.x+$t.tileID.wrap*qe),pt=$e*$t.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ar.tl,u_pattern_br_a:Ar.br,u_pattern_tl_b:Sr.tl,u_pattern_br_b:Sr.br,u_texsize:[Kr,na],u_mix:wt.t,u_pattern_size_a:Ar.displaySize,u_pattern_size_b:Sr.displaySize,u_scale_a:wt.fromScale,u_scale_b:wt.toScale,u_tile_units_to_pixels:1/Fa($t,1,Ot.transform.tileZoom),u_pixel_coord_upper:[lt>>16,pt>>16],u_pixel_coord_lower:[65535<,65535&pt]}}(Te,ze,ie,Me),{u_matrix:Fe,u_opacity:I}),Rs={fillExtrusion:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_lightpos:new t.aN(Fe,I.u_lightpos),u_lightintensity:new t.aI(Fe,I.u_lightintensity),u_lightcolor:new t.aN(Fe,I.u_lightcolor),u_vertical_gradient:new t.aI(Fe,I.u_vertical_gradient),u_opacity:new t.aI(Fe,I.u_opacity)}),fillExtrusionPattern:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_lightpos:new t.aN(Fe,I.u_lightpos),u_lightintensity:new t.aI(Fe,I.u_lightintensity),u_lightcolor:new t.aN(Fe,I.u_lightcolor),u_vertical_gradient:new t.aI(Fe,I.u_vertical_gradient),u_height_factor:new t.aI(Fe,I.u_height_factor),u_image:new t.aH(Fe,I.u_image),u_texsize:new t.aO(Fe,I.u_texsize),u_pixel_coord_upper:new t.aO(Fe,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Fe,I.u_pixel_coord_lower),u_scale:new t.aN(Fe,I.u_scale),u_fade:new t.aI(Fe,I.u_fade),u_opacity:new t.aI(Fe,I.u_opacity)}),fill:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix)}),fillPattern:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_image:new t.aH(Fe,I.u_image),u_texsize:new t.aO(Fe,I.u_texsize),u_pixel_coord_upper:new t.aO(Fe,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Fe,I.u_pixel_coord_lower),u_scale:new t.aN(Fe,I.u_scale),u_fade:new t.aI(Fe,I.u_fade)}),fillOutline:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_world:new t.aO(Fe,I.u_world)}),fillOutlinePattern:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_world:new t.aO(Fe,I.u_world),u_image:new t.aH(Fe,I.u_image),u_texsize:new t.aO(Fe,I.u_texsize),u_pixel_coord_upper:new t.aO(Fe,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Fe,I.u_pixel_coord_lower),u_scale:new t.aN(Fe,I.u_scale),u_fade:new t.aI(Fe,I.u_fade)}),circle:(Fe,I)=>({u_camera_to_center_distance:new t.aI(Fe,I.u_camera_to_center_distance),u_scale_with_map:new t.aH(Fe,I.u_scale_with_map),u_pitch_with_map:new t.aH(Fe,I.u_pitch_with_map),u_extrude_scale:new t.aO(Fe,I.u_extrude_scale),u_device_pixel_ratio:new t.aI(Fe,I.u_device_pixel_ratio),u_matrix:new t.aJ(Fe,I.u_matrix)}),collisionBox:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_pixel_extrude_scale:new t.aO(Fe,I.u_pixel_extrude_scale)}),collisionCircle:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_inv_matrix:new t.aJ(Fe,I.u_inv_matrix),u_camera_to_center_distance:new t.aI(Fe,I.u_camera_to_center_distance),u_viewport_size:new t.aO(Fe,I.u_viewport_size)}),debug:(Fe,I)=>({u_color:new t.aL(Fe,I.u_color),u_matrix:new t.aJ(Fe,I.u_matrix),u_overlay:new t.aH(Fe,I.u_overlay),u_overlay_scale:new t.aI(Fe,I.u_overlay_scale)}),clippingMask:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix)}),heatmap:(Fe,I)=>({u_extrude_scale:new t.aI(Fe,I.u_extrude_scale),u_intensity:new t.aI(Fe,I.u_intensity),u_matrix:new t.aJ(Fe,I.u_matrix)}),heatmapTexture:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_world:new t.aO(Fe,I.u_world),u_image:new t.aH(Fe,I.u_image),u_color_ramp:new t.aH(Fe,I.u_color_ramp),u_opacity:new t.aI(Fe,I.u_opacity)}),hillshade:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_image:new t.aH(Fe,I.u_image),u_latrange:new t.aO(Fe,I.u_latrange),u_light:new t.aO(Fe,I.u_light),u_shadow:new t.aL(Fe,I.u_shadow),u_highlight:new t.aL(Fe,I.u_highlight),u_accent:new t.aL(Fe,I.u_accent)}),hillshadePrepare:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_image:new t.aH(Fe,I.u_image),u_dimension:new t.aO(Fe,I.u_dimension),u_zoom:new t.aI(Fe,I.u_zoom),u_unpack:new t.aK(Fe,I.u_unpack)}),line:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_ratio:new t.aI(Fe,I.u_ratio),u_device_pixel_ratio:new t.aI(Fe,I.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Fe,I.u_units_to_pixels)}),lineGradient:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_ratio:new t.aI(Fe,I.u_ratio),u_device_pixel_ratio:new t.aI(Fe,I.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Fe,I.u_units_to_pixels),u_image:new t.aH(Fe,I.u_image),u_image_height:new t.aI(Fe,I.u_image_height)}),linePattern:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_texsize:new t.aO(Fe,I.u_texsize),u_ratio:new t.aI(Fe,I.u_ratio),u_device_pixel_ratio:new t.aI(Fe,I.u_device_pixel_ratio),u_image:new t.aH(Fe,I.u_image),u_units_to_pixels:new t.aO(Fe,I.u_units_to_pixels),u_scale:new t.aN(Fe,I.u_scale),u_fade:new t.aI(Fe,I.u_fade)}),lineSDF:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_ratio:new t.aI(Fe,I.u_ratio),u_device_pixel_ratio:new t.aI(Fe,I.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Fe,I.u_units_to_pixels),u_patternscale_a:new t.aO(Fe,I.u_patternscale_a),u_patternscale_b:new t.aO(Fe,I.u_patternscale_b),u_sdfgamma:new t.aI(Fe,I.u_sdfgamma),u_image:new t.aH(Fe,I.u_image),u_tex_y_a:new t.aI(Fe,I.u_tex_y_a),u_tex_y_b:new t.aI(Fe,I.u_tex_y_b),u_mix:new t.aI(Fe,I.u_mix)}),raster:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_tl_parent:new t.aO(Fe,I.u_tl_parent),u_scale_parent:new t.aI(Fe,I.u_scale_parent),u_buffer_scale:new t.aI(Fe,I.u_buffer_scale),u_fade_t:new t.aI(Fe,I.u_fade_t),u_opacity:new t.aI(Fe,I.u_opacity),u_image0:new t.aH(Fe,I.u_image0),u_image1:new t.aH(Fe,I.u_image1),u_brightness_low:new t.aI(Fe,I.u_brightness_low),u_brightness_high:new t.aI(Fe,I.u_brightness_high),u_saturation_factor:new t.aI(Fe,I.u_saturation_factor),u_contrast_factor:new t.aI(Fe,I.u_contrast_factor),u_spin_weights:new t.aN(Fe,I.u_spin_weights)}),symbolIcon:(Fe,I)=>({u_is_size_zoom_constant:new t.aH(Fe,I.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Fe,I.u_is_size_feature_constant),u_size_t:new t.aI(Fe,I.u_size_t),u_size:new t.aI(Fe,I.u_size),u_camera_to_center_distance:new t.aI(Fe,I.u_camera_to_center_distance),u_pitch:new t.aI(Fe,I.u_pitch),u_rotate_symbol:new t.aH(Fe,I.u_rotate_symbol),u_aspect_ratio:new t.aI(Fe,I.u_aspect_ratio),u_fade_change:new t.aI(Fe,I.u_fade_change),u_matrix:new t.aJ(Fe,I.u_matrix),u_label_plane_matrix:new t.aJ(Fe,I.u_label_plane_matrix),u_coord_matrix:new t.aJ(Fe,I.u_coord_matrix),u_is_text:new t.aH(Fe,I.u_is_text),u_pitch_with_map:new t.aH(Fe,I.u_pitch_with_map),u_is_along_line:new t.aH(Fe,I.u_is_along_line),u_is_variable_anchor:new t.aH(Fe,I.u_is_variable_anchor),u_texsize:new t.aO(Fe,I.u_texsize),u_texture:new t.aH(Fe,I.u_texture),u_translation:new t.aO(Fe,I.u_translation),u_pitched_scale:new t.aI(Fe,I.u_pitched_scale)}),symbolSDF:(Fe,I)=>({u_is_size_zoom_constant:new t.aH(Fe,I.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Fe,I.u_is_size_feature_constant),u_size_t:new t.aI(Fe,I.u_size_t),u_size:new t.aI(Fe,I.u_size),u_camera_to_center_distance:new t.aI(Fe,I.u_camera_to_center_distance),u_pitch:new t.aI(Fe,I.u_pitch),u_rotate_symbol:new t.aH(Fe,I.u_rotate_symbol),u_aspect_ratio:new t.aI(Fe,I.u_aspect_ratio),u_fade_change:new t.aI(Fe,I.u_fade_change),u_matrix:new t.aJ(Fe,I.u_matrix),u_label_plane_matrix:new t.aJ(Fe,I.u_label_plane_matrix),u_coord_matrix:new t.aJ(Fe,I.u_coord_matrix),u_is_text:new t.aH(Fe,I.u_is_text),u_pitch_with_map:new t.aH(Fe,I.u_pitch_with_map),u_is_along_line:new t.aH(Fe,I.u_is_along_line),u_is_variable_anchor:new t.aH(Fe,I.u_is_variable_anchor),u_texsize:new t.aO(Fe,I.u_texsize),u_texture:new t.aH(Fe,I.u_texture),u_gamma_scale:new t.aI(Fe,I.u_gamma_scale),u_device_pixel_ratio:new t.aI(Fe,I.u_device_pixel_ratio),u_is_halo:new t.aH(Fe,I.u_is_halo),u_translation:new t.aO(Fe,I.u_translation),u_pitched_scale:new t.aI(Fe,I.u_pitched_scale)}),symbolTextAndIcon:(Fe,I)=>({u_is_size_zoom_constant:new t.aH(Fe,I.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Fe,I.u_is_size_feature_constant),u_size_t:new t.aI(Fe,I.u_size_t),u_size:new t.aI(Fe,I.u_size),u_camera_to_center_distance:new t.aI(Fe,I.u_camera_to_center_distance),u_pitch:new t.aI(Fe,I.u_pitch),u_rotate_symbol:new t.aH(Fe,I.u_rotate_symbol),u_aspect_ratio:new t.aI(Fe,I.u_aspect_ratio),u_fade_change:new t.aI(Fe,I.u_fade_change),u_matrix:new t.aJ(Fe,I.u_matrix),u_label_plane_matrix:new t.aJ(Fe,I.u_label_plane_matrix),u_coord_matrix:new t.aJ(Fe,I.u_coord_matrix),u_is_text:new t.aH(Fe,I.u_is_text),u_pitch_with_map:new t.aH(Fe,I.u_pitch_with_map),u_is_along_line:new t.aH(Fe,I.u_is_along_line),u_is_variable_anchor:new t.aH(Fe,I.u_is_variable_anchor),u_texsize:new t.aO(Fe,I.u_texsize),u_texsize_icon:new t.aO(Fe,I.u_texsize_icon),u_texture:new t.aH(Fe,I.u_texture),u_texture_icon:new t.aH(Fe,I.u_texture_icon),u_gamma_scale:new t.aI(Fe,I.u_gamma_scale),u_device_pixel_ratio:new t.aI(Fe,I.u_device_pixel_ratio),u_is_halo:new t.aH(Fe,I.u_is_halo),u_translation:new t.aO(Fe,I.u_translation),u_pitched_scale:new t.aI(Fe,I.u_pitched_scale)}),background:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_opacity:new t.aI(Fe,I.u_opacity),u_color:new t.aL(Fe,I.u_color)}),backgroundPattern:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_opacity:new t.aI(Fe,I.u_opacity),u_image:new t.aH(Fe,I.u_image),u_pattern_tl_a:new t.aO(Fe,I.u_pattern_tl_a),u_pattern_br_a:new t.aO(Fe,I.u_pattern_br_a),u_pattern_tl_b:new t.aO(Fe,I.u_pattern_tl_b),u_pattern_br_b:new t.aO(Fe,I.u_pattern_br_b),u_texsize:new t.aO(Fe,I.u_texsize),u_mix:new t.aI(Fe,I.u_mix),u_pattern_size_a:new t.aO(Fe,I.u_pattern_size_a),u_pattern_size_b:new t.aO(Fe,I.u_pattern_size_b),u_scale_a:new t.aI(Fe,I.u_scale_a),u_scale_b:new t.aI(Fe,I.u_scale_b),u_pixel_coord_upper:new t.aO(Fe,I.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Fe,I.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aI(Fe,I.u_tile_units_to_pixels)}),terrain:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_texture:new t.aH(Fe,I.u_texture),u_ele_delta:new t.aI(Fe,I.u_ele_delta),u_fog_matrix:new t.aJ(Fe,I.u_fog_matrix),u_fog_color:new t.aL(Fe,I.u_fog_color),u_fog_ground_blend:new t.aI(Fe,I.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.aI(Fe,I.u_fog_ground_blend_opacity),u_horizon_color:new t.aL(Fe,I.u_horizon_color),u_horizon_fog_blend:new t.aI(Fe,I.u_horizon_fog_blend)}),terrainDepth:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_ele_delta:new t.aI(Fe,I.u_ele_delta)}),terrainCoords:(Fe,I)=>({u_matrix:new t.aJ(Fe,I.u_matrix),u_texture:new t.aH(Fe,I.u_texture),u_terrain_coords_id:new t.aI(Fe,I.u_terrain_coords_id),u_ele_delta:new t.aI(Fe,I.u_ele_delta)}),sky:(Fe,I)=>({u_sky_color:new t.aL(Fe,I.u_sky_color),u_horizon_color:new t.aL(Fe,I.u_horizon_color),u_horizon:new t.aI(Fe,I.u_horizon),u_sky_horizon_blend:new t.aI(Fe,I.u_sky_horizon_blend)})};class Ko{constructor(I,ie,Te){this.context=I;let Me=I.gl;this.buffer=Me.createBuffer(),this.dynamicDraw=!!Te,this.context.unbindVAO(),I.bindElementBuffer.set(this.buffer),Me.bufferData(Me.ELEMENT_ARRAY_BUFFER,ie.arrayBuffer,this.dynamicDraw?Me.DYNAMIC_DRAW:Me.STATIC_DRAW),this.dynamicDraw||delete ie.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(I){let ie=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),ie.bufferSubData(ie.ELEMENT_ARRAY_BUFFER,0,I.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Gi={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Pn{constructor(I,ie,Te,Me){this.length=ie.length,this.attributes=Te,this.itemSize=ie.bytesPerElement,this.dynamicDraw=Me,this.context=I;let ze=I.gl;this.buffer=ze.createBuffer(),I.bindVertexBuffer.set(this.buffer),ze.bufferData(ze.ARRAY_BUFFER,ie.arrayBuffer,this.dynamicDraw?ze.DYNAMIC_DRAW:ze.STATIC_DRAW),this.dynamicDraw||delete ie.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(I){if(I.length!==this.length)throw new Error(`Length of new data is ${I.length}, which doesn't match current length of ${this.length}`);let ie=this.context.gl;this.bind(),ie.bufferSubData(ie.ARRAY_BUFFER,0,I.arrayBuffer)}enableAttributes(I,ie){for(let Te=0;Te0){let yr=t.H();t.aQ(yr,bt.placementInvProjMatrix,Fe.transform.glCoordMatrix),t.aQ(yr,yr,bt.placementViewportMatrix),Ot.push({circleArray:ur,circleOffset:Ar,transform:Et.posMatrix,invTransform:yr,coord:Et}),$t+=ur.length/4,Ar=$t}Dt&&wt.draw(ze,ht.LINES,us.disabled,Ls.disabled,Fe.colorModeForRenderPass(),to.disabled,{u_matrix:Et.posMatrix,u_pixel_extrude_scale:[1/(Sr=Fe.transform).width,1/Sr.height]},Fe.style.map.terrain&&Fe.style.map.terrain.getTerrainData(Et),ie.id,Dt.layoutVertexBuffer,Dt.indexBuffer,Dt.segments,null,Fe.transform.zoom,null,null,Dt.collisionVertexBuffer)}var Sr;if(!Me||!Ot.length)return;let Kr=Fe.useProgram(\"collisionCircle\"),na=new t.aR;na.resize(4*$t),na._trim();let qe=0;for(let pt of Ot)for(let Et=0;Et=0&&(pt[bt.associatedIconIndex]={shiftedAnchor:An,angle:Yn})}else lr(bt.numGlyphs,$e)}if($t){lt.clear();let Et=Fe.icon.placedSymbolArray;for(let bt=0;btFe.style.map.terrain.getElevation(Aa,zt,_r):null,tr=ie.layout.get(\"text-rotation-alignment\")===\"map\";Ae(ci,Aa.posMatrix,Fe,Me,tu,vu,pt,$t,tr,$e,Aa.toUnwrapped(),qe.width,qe.height,wl,Tt)}let Gl=Aa.posMatrix,Hl=Me&&jr||uc,me=Et||Hl?ql:tu,De=Ru,et=on&&ie.paint.get(Me?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,dt;dt=on?ci.iconsInText?Hn(An.kind,Ao,bt,pt,Et,Hl,Fe,Gl,me,De,wl,Mo,tl,ha):Gn(An.kind,Ao,bt,pt,Et,Hl,Fe,Gl,me,De,wl,Me,Mo,!0,ha):Zn(An.kind,Ao,bt,pt,Et,Hl,Fe,Gl,me,De,wl,Me,Mo,ha);let yt={program:Bn,buffers:Vi,uniformValues:dt,atlasTexture:Yo,atlasTextureIcon:es,atlasInterpolation:ps,atlasInterpolationIcon:ul,isSDF:on,hasHalo:et};if(ur&&ci.canOverlap){yr=!0;let Tt=Vi.segments.get();for(let tr of Tt)Qr.push({segments:new t.a0([tr]),sortKey:tr.sortKey,state:yt,terrainData:ls})}else Qr.push({segments:Vi.segments,sortKey:0,state:yt,terrainData:ls})}yr&&Qr.sort((Aa,Da)=>Aa.sortKey-Da.sortKey);for(let Aa of Qr){let Da=Aa.state;if(Kr.activeTexture.set(na.TEXTURE0),Da.atlasTexture.bind(Da.atlasInterpolation,na.CLAMP_TO_EDGE),Da.atlasTextureIcon&&(Kr.activeTexture.set(na.TEXTURE1),Da.atlasTextureIcon&&Da.atlasTextureIcon.bind(Da.atlasInterpolationIcon,na.CLAMP_TO_EDGE)),Da.isSDF){let ci=Da.uniformValues;Da.hasHalo&&(ci.u_is_halo=1,Of(Da.buffers,Aa.segments,ie,Fe,Da.program,kr,Ar,Sr,ci,Aa.terrainData)),ci.u_is_halo=0}Of(Da.buffers,Aa.segments,ie,Fe,Da.program,kr,Ar,Sr,Da.uniformValues,Aa.terrainData)}}function Of(Fe,I,ie,Te,Me,ze,ht,wt,Ot,$t){let Ar=Te.context;Me.draw(Ar,Ar.gl.TRIANGLES,ze,ht,wt,to.disabled,Ot,$t,ie.id,Fe.layoutVertexBuffer,Fe.indexBuffer,I,ie.paint,Te.transform.zoom,Fe.programConfigurations.get(ie.id),Fe.dynamicLayoutVertexBuffer,Fe.opacityVertexBuffer)}function of(Fe,I,ie,Te){let Me=Fe.context,ze=Me.gl,ht=Ls.disabled,wt=new fl([ze.ONE,ze.ONE],t.aM.transparent,[!0,!0,!0,!0]),Ot=I.getBucket(ie);if(!Ot)return;let $t=Te.key,Ar=ie.heatmapFbos.get($t);Ar||(Ar=Bf(Me,I.tileSize,I.tileSize),ie.heatmapFbos.set($t,Ar)),Me.bindFramebuffer.set(Ar.framebuffer),Me.viewport.set([0,0,I.tileSize,I.tileSize]),Me.clear({color:t.aM.transparent});let Sr=Ot.programConfigurations.get(ie.id),Kr=Fe.useProgram(\"heatmap\",Sr),na=Fe.style.map.terrain.getTerrainData(Te);Kr.draw(Me,ze.TRIANGLES,us.disabled,ht,wt,to.disabled,ao(Te.posMatrix,I,Fe.transform.zoom,ie.paint.get(\"heatmap-intensity\")),na,ie.id,Ot.layoutVertexBuffer,Ot.indexBuffer,Ot.segments,ie.paint,Fe.transform.zoom,Sr)}function jc(Fe,I,ie){let Te=Fe.context,Me=Te.gl;Te.setColorMode(Fe.colorModeForRenderPass());let ze=Nf(Te,I),ht=ie.key,wt=I.heatmapFbos.get(ht);wt&&(Te.activeTexture.set(Me.TEXTURE0),Me.bindTexture(Me.TEXTURE_2D,wt.colorAttachment.get()),Te.activeTexture.set(Me.TEXTURE1),ze.bind(Me.LINEAR,Me.CLAMP_TO_EDGE),Fe.useProgram(\"heatmapTexture\").draw(Te,Me.TRIANGLES,us.disabled,Ls.disabled,Fe.colorModeForRenderPass(),to.disabled,Co(Fe,I,0,1),null,I.id,Fe.rasterBoundsBuffer,Fe.quadTriangleIndexBuffer,Fe.rasterBoundsSegments,I.paint,Fe.transform.zoom),wt.destroy(),I.heatmapFbos.delete(ht))}function Bf(Fe,I,ie){var Te,Me;let ze=Fe.gl,ht=ze.createTexture();ze.bindTexture(ze.TEXTURE_2D,ht),ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_WRAP_S,ze.CLAMP_TO_EDGE),ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_WRAP_T,ze.CLAMP_TO_EDGE),ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_MIN_FILTER,ze.LINEAR),ze.texParameteri(ze.TEXTURE_2D,ze.TEXTURE_MAG_FILTER,ze.LINEAR);let wt=(Te=Fe.HALF_FLOAT)!==null&&Te!==void 0?Te:ze.UNSIGNED_BYTE,Ot=(Me=Fe.RGBA16F)!==null&&Me!==void 0?Me:ze.RGBA;ze.texImage2D(ze.TEXTURE_2D,0,Ot,I,ie,0,ze.RGBA,wt,null);let $t=Fe.createFramebuffer(I,ie,!1,!1);return $t.colorAttachment.set(ht),$t}function Nf(Fe,I){return I.colorRampTexture||(I.colorRampTexture=new u(Fe,I.colorRamp,Fe.gl.RGBA)),I.colorRampTexture}function Gu(Fe,I,ie,Te,Me){if(!ie||!Te||!Te.imageAtlas)return;let ze=Te.imageAtlas.patternPositions,ht=ze[ie.to.toString()],wt=ze[ie.from.toString()];if(!ht&&wt&&(ht=wt),!wt&&ht&&(wt=ht),!ht||!wt){let Ot=Me.getPaintProperty(I);ht=ze[Ot],wt=ze[Ot]}ht&&wt&&Fe.setConstantPatternPositions(ht,wt)}function Ef(Fe,I,ie,Te,Me,ze,ht){let wt=Fe.context.gl,Ot=\"fill-pattern\",$t=ie.paint.get(Ot),Ar=$t&&$t.constantOr(1),Sr=ie.getCrossfadeParameters(),Kr,na,qe,$e,lt;ht?(na=Ar&&!ie.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",Kr=wt.LINES):(na=Ar?\"fillPattern\":\"fill\",Kr=wt.TRIANGLES);let pt=$t.constantOr(null);for(let Et of Te){let bt=I.getTile(Et);if(Ar&&!bt.patternsLoaded())continue;let Dt=bt.getBucket(ie);if(!Dt)continue;let ur=Dt.programConfigurations.get(ie.id),yr=Fe.useProgram(na,ur),kr=Fe.style.map.terrain&&Fe.style.map.terrain.getTerrainData(Et);Ar&&(Fe.context.activeTexture.set(wt.TEXTURE0),bt.imageAtlasTexture.bind(wt.LINEAR,wt.CLAMP_TO_EDGE),ur.updatePaintBuffers(Sr)),Gu(ur,Ot,pt,bt,ie);let jr=kr?Et:null,Qr=Fe.translatePosMatrix(jr?jr.posMatrix:Et.posMatrix,bt,ie.paint.get(\"fill-translate\"),ie.paint.get(\"fill-translate-anchor\"));if(ht){$e=Dt.indexBuffer2,lt=Dt.segments2;let ha=[wt.drawingBufferWidth,wt.drawingBufferHeight];qe=na===\"fillOutlinePattern\"&&Ar?Ki(Qr,Fe,Sr,bt,ha):ki(Qr,ha)}else $e=Dt.indexBuffer,lt=Dt.segments,qe=Ar?Ai(Qr,Fe,Sr,bt):ba(Qr);yr.draw(Fe.context,Kr,Me,Fe.stencilModeForClipping(Et),ze,to.disabled,qe,kr,ie.id,Dt.layoutVertexBuffer,$e,lt,ie.paint,Fe.transform.zoom,ur)}}function oc(Fe,I,ie,Te,Me,ze,ht){let wt=Fe.context,Ot=wt.gl,$t=\"fill-extrusion-pattern\",Ar=ie.paint.get($t),Sr=Ar.constantOr(1),Kr=ie.getCrossfadeParameters(),na=ie.paint.get(\"fill-extrusion-opacity\"),qe=Ar.constantOr(null);for(let $e of Te){let lt=I.getTile($e),pt=lt.getBucket(ie);if(!pt)continue;let Et=Fe.style.map.terrain&&Fe.style.map.terrain.getTerrainData($e),bt=pt.programConfigurations.get(ie.id),Dt=Fe.useProgram(Sr?\"fillExtrusionPattern\":\"fillExtrusion\",bt);Sr&&(Fe.context.activeTexture.set(Ot.TEXTURE0),lt.imageAtlasTexture.bind(Ot.LINEAR,Ot.CLAMP_TO_EDGE),bt.updatePaintBuffers(Kr)),Gu(bt,$t,qe,lt,ie);let ur=Fe.translatePosMatrix($e.posMatrix,lt,ie.paint.get(\"fill-extrusion-translate\"),ie.paint.get(\"fill-extrusion-translate-anchor\")),yr=ie.paint.get(\"fill-extrusion-vertical-gradient\"),kr=Sr?la(ur,Fe,yr,na,$e,Kr,lt):ga(ur,Fe,yr,na);Dt.draw(wt,wt.gl.TRIANGLES,Me,ze,ht,to.backCCW,kr,Et,ie.id,pt.layoutVertexBuffer,pt.indexBuffer,pt.segments,ie.paint,Fe.transform.zoom,bt,Fe.style.map.terrain&&pt.centroidVertexBuffer)}}function Zc(Fe,I,ie,Te,Me,ze,ht){let wt=Fe.context,Ot=wt.gl,$t=ie.fbo;if(!$t)return;let Ar=Fe.useProgram(\"hillshade\"),Sr=Fe.style.map.terrain&&Fe.style.map.terrain.getTerrainData(I);wt.activeTexture.set(Ot.TEXTURE0),Ot.bindTexture(Ot.TEXTURE_2D,$t.colorAttachment.get()),Ar.draw(wt,Ot.TRIANGLES,Me,ze,ht,to.disabled,((Kr,na,qe,$e)=>{let lt=qe.paint.get(\"hillshade-shadow-color\"),pt=qe.paint.get(\"hillshade-highlight-color\"),Et=qe.paint.get(\"hillshade-accent-color\"),bt=qe.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);qe.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(bt-=Kr.transform.angle);let Dt=!Kr.options.moving;return{u_matrix:$e?$e.posMatrix:Kr.transform.calculatePosMatrix(na.tileID.toUnwrapped(),Dt),u_image:0,u_latrange:bo(0,na.tileID),u_light:[qe.paint.get(\"hillshade-exaggeration\"),bt],u_shadow:lt,u_highlight:pt,u_accent:Et}})(Fe,ie,Te,Sr?I:null),Sr,Te.id,Fe.rasterBoundsBuffer,Fe.quadTriangleIndexBuffer,Fe.rasterBoundsSegments)}function eu(Fe,I,ie,Te,Me,ze){let ht=Fe.context,wt=ht.gl,Ot=I.dem;if(Ot&&Ot.data){let $t=Ot.dim,Ar=Ot.stride,Sr=Ot.getPixels();if(ht.activeTexture.set(wt.TEXTURE1),ht.pixelStoreUnpackPremultiplyAlpha.set(!1),I.demTexture=I.demTexture||Fe.getTileTexture(Ar),I.demTexture){let na=I.demTexture;na.update(Sr,{premultiply:!1}),na.bind(wt.NEAREST,wt.CLAMP_TO_EDGE)}else I.demTexture=new u(ht,Sr,wt.RGBA,{premultiply:!1}),I.demTexture.bind(wt.NEAREST,wt.CLAMP_TO_EDGE);ht.activeTexture.set(wt.TEXTURE0);let Kr=I.fbo;if(!Kr){let na=new u(ht,{width:$t,height:$t,data:null},wt.RGBA);na.bind(wt.LINEAR,wt.CLAMP_TO_EDGE),Kr=I.fbo=ht.createFramebuffer($t,$t,!0,!1),Kr.colorAttachment.set(na.texture)}ht.bindFramebuffer.set(Kr.framebuffer),ht.viewport.set([0,0,$t,$t]),Fe.useProgram(\"hillshadePrepare\").draw(ht,wt.TRIANGLES,Te,Me,ze,to.disabled,((na,qe)=>{let $e=qe.stride,lt=t.H();return t.aP(lt,0,t.X,-t.X,0,0,1),t.J(lt,lt,[0,-t.X,0]),{u_matrix:lt,u_image:1,u_dimension:[$e,$e],u_zoom:na.overscaledZ,u_unpack:qe.getUnpackVector()}})(I.tileID,Ot),null,ie.id,Fe.rasterBoundsBuffer,Fe.quadTriangleIndexBuffer,Fe.rasterBoundsSegments),I.needsHillshadePrepare=!1}}function qc(Fe,I,ie,Te,Me,ze){let ht=Te.paint.get(\"raster-fade-duration\");if(!ze&&ht>0){let wt=n.now(),Ot=(wt-Fe.timeAdded)/ht,$t=I?(wt-I.timeAdded)/ht:-1,Ar=ie.getSource(),Sr=Me.coveringZoomLevel({tileSize:Ar.tileSize,roundZoom:Ar.roundZoom}),Kr=!I||Math.abs(I.tileID.overscaledZ-Sr)>Math.abs(Fe.tileID.overscaledZ-Sr),na=Kr&&Fe.refreshedUponExpiration?1:t.ac(Kr?Ot:1-$t,0,1);return Fe.refreshedUponExpiration&&Ot>=1&&(Fe.refreshedUponExpiration=!1),I?{opacity:1,mix:1-na}:{opacity:na,mix:0}}return{opacity:1,mix:0}}let Sc=new t.aM(1,0,0,1),Zs=new t.aM(0,1,0,1),kf=new t.aM(0,0,1,1),fh=new t.aM(1,0,1,1),Uf=new t.aM(0,1,1,1);function Yc(Fe,I,ie,Te){Cu(Fe,0,I+ie/2,Fe.transform.width,ie,Te)}function $f(Fe,I,ie,Te){Cu(Fe,I-ie/2,0,ie,Fe.transform.height,Te)}function Cu(Fe,I,ie,Te,Me,ze){let ht=Fe.context,wt=ht.gl;wt.enable(wt.SCISSOR_TEST),wt.scissor(I*Fe.pixelRatio,ie*Fe.pixelRatio,Te*Fe.pixelRatio,Me*Fe.pixelRatio),ht.clear({color:ze}),wt.disable(wt.SCISSOR_TEST)}function jf(Fe,I,ie){let Te=Fe.context,Me=Te.gl,ze=ie.posMatrix,ht=Fe.useProgram(\"debug\"),wt=us.disabled,Ot=Ls.disabled,$t=Fe.colorModeForRenderPass(),Ar=\"$debug\",Sr=Fe.style.map.terrain&&Fe.style.map.terrain.getTerrainData(ie);Te.activeTexture.set(Me.TEXTURE0);let Kr=I.getTileByID(ie.key).latestRawTileData,na=Math.floor((Kr&&Kr.byteLength||0)/1024),qe=I.getTile(ie).tileSize,$e=512/Math.min(qe,512)*(ie.overscaledZ/Fe.transform.zoom)*.5,lt=ie.canonical.toString();ie.overscaledZ!==ie.canonical.z&&(lt+=` => ${ie.overscaledZ}`),function(pt,Et){pt.initDebugOverlayCanvas();let bt=pt.debugOverlayCanvas,Dt=pt.context.gl,ur=pt.debugOverlayCanvas.getContext(\"2d\");ur.clearRect(0,0,bt.width,bt.height),ur.shadowColor=\"white\",ur.shadowBlur=2,ur.lineWidth=1.5,ur.strokeStyle=\"white\",ur.textBaseline=\"top\",ur.font=\"bold 36px Open Sans, sans-serif\",ur.fillText(Et,5,5),ur.strokeText(Et,5,5),pt.debugOverlayTexture.update(bt),pt.debugOverlayTexture.bind(Dt.LINEAR,Dt.CLAMP_TO_EDGE)}(Fe,`${lt} ${na}kB`),ht.draw(Te,Me.TRIANGLES,wt,Ot,fl.alphaBlended,to.disabled,On(ze,t.aM.transparent,$e),null,Ar,Fe.debugBuffer,Fe.quadTriangleIndexBuffer,Fe.debugSegments),ht.draw(Te,Me.LINE_STRIP,wt,Ot,$t,to.disabled,On(ze,t.aM.red),Sr,Ar,Fe.debugBuffer,Fe.tileBorderIndexBuffer,Fe.debugSegments)}function ml(Fe,I,ie){let Te=Fe.context,Me=Te.gl,ze=Fe.colorModeForRenderPass(),ht=new us(Me.LEQUAL,us.ReadWrite,Fe.depthRangeFor3D),wt=Fe.useProgram(\"terrain\"),Ot=I.getTerrainMesh();Te.bindFramebuffer.set(null),Te.viewport.set([0,0,Fe.width,Fe.height]);for(let $t of ie){let Ar=Fe.renderToTexture.getTexture($t),Sr=I.getTerrainData($t.tileID);Te.activeTexture.set(Me.TEXTURE0),Me.bindTexture(Me.TEXTURE_2D,Ar.texture);let Kr=Fe.transform.calculatePosMatrix($t.tileID.toUnwrapped()),na=I.getMeshFrameDelta(Fe.transform.zoom),qe=Fe.transform.calculateFogMatrix($t.tileID.toUnwrapped()),$e=vr(Kr,na,qe,Fe.style.sky,Fe.transform.pitch);wt.draw(Te,Me.TRIANGLES,ht,Ls.disabled,ze,to.backCCW,$e,Sr,\"terrain\",Ot.vertexBuffer,Ot.indexBuffer,Ot.segments)}}class Lu{constructor(I,ie,Te){this.vertexBuffer=I,this.indexBuffer=ie,this.segments=Te}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Mc{constructor(I,ie){this.context=new xh(I),this.transform=ie,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=kt.maxUnderzooming+kt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Br}resize(I,ie,Te){if(this.width=Math.floor(I*Te),this.height=Math.floor(ie*Te),this.pixelRatio=Te,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let Me of this.style._order)this.style._layers[Me].resize()}setup(){let I=this.context,ie=new t.aX;ie.emplaceBack(0,0),ie.emplaceBack(t.X,0),ie.emplaceBack(0,t.X),ie.emplaceBack(t.X,t.X),this.tileExtentBuffer=I.createVertexBuffer(ie,Ur.members),this.tileExtentSegments=t.a0.simpleSegment(0,0,4,2);let Te=new t.aX;Te.emplaceBack(0,0),Te.emplaceBack(t.X,0),Te.emplaceBack(0,t.X),Te.emplaceBack(t.X,t.X),this.debugBuffer=I.createVertexBuffer(Te,Ur.members),this.debugSegments=t.a0.simpleSegment(0,0,4,5);let Me=new t.$;Me.emplaceBack(0,0,0,0),Me.emplaceBack(t.X,0,t.X,0),Me.emplaceBack(0,t.X,0,t.X),Me.emplaceBack(t.X,t.X,t.X,t.X),this.rasterBoundsBuffer=I.createVertexBuffer(Me,He.members),this.rasterBoundsSegments=t.a0.simpleSegment(0,0,4,2);let ze=new t.aX;ze.emplaceBack(0,0),ze.emplaceBack(1,0),ze.emplaceBack(0,1),ze.emplaceBack(1,1),this.viewportBuffer=I.createVertexBuffer(ze,Ur.members),this.viewportSegments=t.a0.simpleSegment(0,0,4,2);let ht=new t.aZ;ht.emplaceBack(0),ht.emplaceBack(1),ht.emplaceBack(3),ht.emplaceBack(2),ht.emplaceBack(0),this.tileBorderIndexBuffer=I.createIndexBuffer(ht);let wt=new t.aY;wt.emplaceBack(0,1,2),wt.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=I.createIndexBuffer(wt);let Ot=this.context.gl;this.stencilClearMode=new Ls({func:Ot.ALWAYS,mask:0},0,255,Ot.ZERO,Ot.ZERO,Ot.ZERO)}clearStencil(){let I=this.context,ie=I.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Te=t.H();t.aP(Te,0,this.width,this.height,0,0,1),t.K(Te,Te,[ie.drawingBufferWidth,ie.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(I,ie.TRIANGLES,us.disabled,this.stencilClearMode,fl.disabled,to.disabled,En(Te),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(I,ie){if(this.currentStencilSource===I.source||!I.isTileClipped()||!ie||!ie.length)return;this.currentStencilSource=I.source;let Te=this.context,Me=Te.gl;this.nextStencilID+ie.length>256&&this.clearStencil(),Te.setColorMode(fl.disabled),Te.setDepthMode(us.disabled);let ze=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let ht of ie){let wt=this._tileClippingMaskIDs[ht.key]=this.nextStencilID++,Ot=this.style.map.terrain&&this.style.map.terrain.getTerrainData(ht);ze.draw(Te,Me.TRIANGLES,us.disabled,new Ls({func:Me.ALWAYS,mask:0},wt,255,Me.KEEP,Me.KEEP,Me.REPLACE),fl.disabled,to.disabled,En(ht.posMatrix),Ot,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let I=this.nextStencilID++,ie=this.context.gl;return new Ls({func:ie.NOTEQUAL,mask:255},I,255,ie.KEEP,ie.KEEP,ie.REPLACE)}stencilModeForClipping(I){let ie=this.context.gl;return new Ls({func:ie.EQUAL,mask:255},this._tileClippingMaskIDs[I.key],0,ie.KEEP,ie.KEEP,ie.REPLACE)}stencilConfigForOverlap(I){let ie=this.context.gl,Te=I.sort((ht,wt)=>wt.overscaledZ-ht.overscaledZ),Me=Te[Te.length-1].overscaledZ,ze=Te[0].overscaledZ-Me+1;if(ze>1){this.currentStencilSource=void 0,this.nextStencilID+ze>256&&this.clearStencil();let ht={};for(let wt=0;wt({u_sky_color:pt.properties.get(\"sky-color\"),u_horizon_color:pt.properties.get(\"horizon-color\"),u_horizon:(Et.height/2+Et.getHorizon())*bt,u_sky_horizon_blend:pt.properties.get(\"sky-horizon-blend\")*Et.height/2*bt}))($t,Ot.style.map.transform,Ot.pixelRatio),na=new us(Sr.LEQUAL,us.ReadWrite,[0,1]),qe=Ls.disabled,$e=Ot.colorModeForRenderPass(),lt=Ot.useProgram(\"sky\");if(!$t.mesh){let pt=new t.aX;pt.emplaceBack(-1,-1),pt.emplaceBack(1,-1),pt.emplaceBack(1,1),pt.emplaceBack(-1,1);let Et=new t.aY;Et.emplaceBack(0,1,2),Et.emplaceBack(0,2,3),$t.mesh=new Lu(Ar.createVertexBuffer(pt,Ur.members),Ar.createIndexBuffer(Et),t.a0.simpleSegment(0,0,pt.length,Et.length))}lt.draw(Ar,Sr.TRIANGLES,na,qe,$e,to.disabled,Kr,void 0,\"sky\",$t.mesh.vertexBuffer,$t.mesh.indexBuffer,$t.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=ie.showOverdrawInspector,this.depthRangeFor3D=[0,1-(I._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Te.length-1;this.currentLayer>=0;this.currentLayer--){let Ot=this.style._layers[Te[this.currentLayer]],$t=Me[Ot.source],Ar=ze[Ot.source];this._renderTileClippingMasks(Ot,Ar),this.renderLayer(this,$t,Ot,Ar)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerlt.source&&!lt.isHidden(Ar)?[$t.sourceCaches[lt.source]]:[]),na=Kr.filter(lt=>lt.getSource().type===\"vector\"),qe=Kr.filter(lt=>lt.getSource().type!==\"vector\"),$e=lt=>{(!Sr||Sr.getSource().maxzoom$e(lt)),Sr||qe.forEach(lt=>$e(lt)),Sr}(this.style,this.transform.zoom);Ot&&function($t,Ar,Sr){for(let Kr=0;Kr0),Me&&(t.b0(ie,Te),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(ze,ht){let wt=ze.context,Ot=wt.gl,$t=fl.unblended,Ar=new us(Ot.LEQUAL,us.ReadWrite,[0,1]),Sr=ht.getTerrainMesh(),Kr=ht.sourceCache.getRenderableTiles(),na=ze.useProgram(\"terrainDepth\");wt.bindFramebuffer.set(ht.getFramebuffer(\"depth\").framebuffer),wt.viewport.set([0,0,ze.width/devicePixelRatio,ze.height/devicePixelRatio]),wt.clear({color:t.aM.transparent,depth:1});for(let qe of Kr){let $e=ht.getTerrainData(qe.tileID),lt={u_matrix:ze.transform.calculatePosMatrix(qe.tileID.toUnwrapped()),u_ele_delta:ht.getMeshFrameDelta(ze.transform.zoom)};na.draw(wt,Ot.TRIANGLES,Ar,Ls.disabled,$t,to.backCCW,lt,$e,\"terrain\",Sr.vertexBuffer,Sr.indexBuffer,Sr.segments)}wt.bindFramebuffer.set(null),wt.viewport.set([0,0,ze.width,ze.height])}(this,this.style.map.terrain),function(ze,ht){let wt=ze.context,Ot=wt.gl,$t=fl.unblended,Ar=new us(Ot.LEQUAL,us.ReadWrite,[0,1]),Sr=ht.getTerrainMesh(),Kr=ht.getCoordsTexture(),na=ht.sourceCache.getRenderableTiles(),qe=ze.useProgram(\"terrainCoords\");wt.bindFramebuffer.set(ht.getFramebuffer(\"coords\").framebuffer),wt.viewport.set([0,0,ze.width/devicePixelRatio,ze.height/devicePixelRatio]),wt.clear({color:t.aM.transparent,depth:1}),ht.coordsIndex=[];for(let $e of na){let lt=ht.getTerrainData($e.tileID);wt.activeTexture.set(Ot.TEXTURE0),Ot.bindTexture(Ot.TEXTURE_2D,Kr.texture);let pt={u_matrix:ze.transform.calculatePosMatrix($e.tileID.toUnwrapped()),u_terrain_coords_id:(255-ht.coordsIndex.length)/255,u_texture:0,u_ele_delta:ht.getMeshFrameDelta(ze.transform.zoom)};qe.draw(wt,Ot.TRIANGLES,Ar,Ls.disabled,$t,to.backCCW,pt,lt,\"terrain\",Sr.vertexBuffer,Sr.indexBuffer,Sr.segments),ht.coordsIndex.push($e.tileID.key)}wt.bindFramebuffer.set(null),wt.viewport.set([0,0,ze.width,ze.height])}(this,this.style.map.terrain))}renderLayer(I,ie,Te,Me){if(!Te.isHidden(this.transform.zoom)&&(Te.type===\"background\"||Te.type===\"custom\"||(Me||[]).length))switch(this.id=Te.id,Te.type){case\"symbol\":(function(ze,ht,wt,Ot,$t){if(ze.renderPass!==\"translucent\")return;let Ar=Ls.disabled,Sr=ze.colorModeForRenderPass();(wt._unevaluatedLayout.hasValue(\"text-variable-anchor\")||wt._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(Kr,na,qe,$e,lt,pt,Et,bt,Dt){let ur=na.transform,yr=pi(),kr=lt===\"map\",jr=pt===\"map\";for(let Qr of Kr){let ha=$e.getTile(Qr),Aa=ha.getBucket(qe);if(!Aa||!Aa.text||!Aa.text.segments.get().length)continue;let Da=t.ag(Aa.textSizeData,ur.zoom),ci=Fa(ha,1,na.transform.zoom),Vi=Er(Qr.posMatrix,jr,kr,na.transform,ci),ji=qe.layout.get(\"icon-text-fit\")!==\"none\"&&Aa.hasIconData();if(Da){let on=Math.pow(2,ur.zoom-ha.tileID.overscaledZ),An=na.style.map.terrain?(Bn,Ao)=>na.style.map.terrain.getElevation(Qr,Bn,Ao):null,Yn=yr.translatePosition(ur,ha,Et,bt);nf(Aa,kr,jr,Dt,ur,Vi,Qr.posMatrix,on,Da,ji,yr,Yn,Qr.toUnwrapped(),An)}}}(Ot,ze,wt,ht,wt.layout.get(\"text-rotation-alignment\"),wt.layout.get(\"text-pitch-alignment\"),wt.paint.get(\"text-translate\"),wt.paint.get(\"text-translate-anchor\"),$t),wt.paint.get(\"icon-opacity\").constantOr(1)!==0&&Jf(ze,ht,wt,Ot,!1,wt.paint.get(\"icon-translate\"),wt.paint.get(\"icon-translate-anchor\"),wt.layout.get(\"icon-rotation-alignment\"),wt.layout.get(\"icon-pitch-alignment\"),wt.layout.get(\"icon-keep-upright\"),Ar,Sr),wt.paint.get(\"text-opacity\").constantOr(1)!==0&&Jf(ze,ht,wt,Ot,!0,wt.paint.get(\"text-translate\"),wt.paint.get(\"text-translate-anchor\"),wt.layout.get(\"text-rotation-alignment\"),wt.layout.get(\"text-pitch-alignment\"),wt.layout.get(\"text-keep-upright\"),Ar,Sr),ht.map.showCollisionBoxes&&(Vu(ze,ht,wt,Ot,!0),Vu(ze,ht,wt,Ot,!1))})(I,ie,Te,Me,this.style.placement.variableOffsets);break;case\"circle\":(function(ze,ht,wt,Ot){if(ze.renderPass!==\"translucent\")return;let $t=wt.paint.get(\"circle-opacity\"),Ar=wt.paint.get(\"circle-stroke-width\"),Sr=wt.paint.get(\"circle-stroke-opacity\"),Kr=!wt.layout.get(\"circle-sort-key\").isConstant();if($t.constantOr(1)===0&&(Ar.constantOr(1)===0||Sr.constantOr(1)===0))return;let na=ze.context,qe=na.gl,$e=ze.depthModeForSublayer(0,us.ReadOnly),lt=Ls.disabled,pt=ze.colorModeForRenderPass(),Et=[];for(let bt=0;btbt.sortKey-Dt.sortKey);for(let bt of Et){let{programConfiguration:Dt,program:ur,layoutVertexBuffer:yr,indexBuffer:kr,uniformValues:jr,terrainData:Qr}=bt.state;ur.draw(na,qe.TRIANGLES,$e,lt,pt,to.disabled,jr,Qr,wt.id,yr,kr,bt.segments,wt.paint,ze.transform.zoom,Dt)}})(I,ie,Te,Me);break;case\"heatmap\":(function(ze,ht,wt,Ot){if(wt.paint.get(\"heatmap-opacity\")===0)return;let $t=ze.context;if(ze.style.map.terrain){for(let Ar of Ot){let Sr=ht.getTile(Ar);ht.hasRenderableParent(Ar)||(ze.renderPass===\"offscreen\"?of(ze,Sr,wt,Ar):ze.renderPass===\"translucent\"&&jc(ze,wt,Ar))}$t.viewport.set([0,0,ze.width,ze.height])}else ze.renderPass===\"offscreen\"?function(Ar,Sr,Kr,na){let qe=Ar.context,$e=qe.gl,lt=Ls.disabled,pt=new fl([$e.ONE,$e.ONE],t.aM.transparent,[!0,!0,!0,!0]);(function(Et,bt,Dt){let ur=Et.gl;Et.activeTexture.set(ur.TEXTURE1),Et.viewport.set([0,0,bt.width/4,bt.height/4]);let yr=Dt.heatmapFbos.get(t.aU);yr?(ur.bindTexture(ur.TEXTURE_2D,yr.colorAttachment.get()),Et.bindFramebuffer.set(yr.framebuffer)):(yr=Bf(Et,bt.width/4,bt.height/4),Dt.heatmapFbos.set(t.aU,yr))})(qe,Ar,Kr),qe.clear({color:t.aM.transparent});for(let Et=0;Et20&&Ar.texParameterf(Ar.TEXTURE_2D,$t.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,$t.extTextureFilterAnisotropicMax);let Aa=ze.style.map.terrain&&ze.style.map.terrain.getTerrainData(Et),Da=Aa?Et:null,ci=Da?Da.posMatrix:ze.transform.calculatePosMatrix(Et.toUnwrapped(),pt),Vi=gs(ci,Qr||[0,0],jr||1,kr,wt);Sr instanceof at?Kr.draw($t,Ar.TRIANGLES,bt,Ls.disabled,na,to.disabled,Vi,Aa,wt.id,Sr.boundsBuffer,ze.quadTriangleIndexBuffer,Sr.boundsSegments):Kr.draw($t,Ar.TRIANGLES,bt,qe[Et.overscaledZ],na,to.disabled,Vi,Aa,wt.id,ze.rasterBoundsBuffer,ze.quadTriangleIndexBuffer,ze.rasterBoundsSegments)}})(I,ie,Te,Me);break;case\"background\":(function(ze,ht,wt,Ot){let $t=wt.paint.get(\"background-color\"),Ar=wt.paint.get(\"background-opacity\");if(Ar===0)return;let Sr=ze.context,Kr=Sr.gl,na=ze.transform,qe=na.tileSize,$e=wt.paint.get(\"background-pattern\");if(ze.isPatternMissing($e))return;let lt=!$e&&$t.a===1&&Ar===1&&ze.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(ze.renderPass!==lt)return;let pt=Ls.disabled,Et=ze.depthModeForSublayer(0,lt===\"opaque\"?us.ReadWrite:us.ReadOnly),bt=ze.colorModeForRenderPass(),Dt=ze.useProgram($e?\"backgroundPattern\":\"background\"),ur=Ot||na.coveringTiles({tileSize:qe,terrain:ze.style.map.terrain});$e&&(Sr.activeTexture.set(Kr.TEXTURE0),ze.imageManager.bind(ze.context));let yr=wt.getCrossfadeParameters();for(let kr of ur){let jr=Ot?kr.posMatrix:ze.transform.calculatePosMatrix(kr.toUnwrapped()),Qr=$e?ys(jr,Ar,ze,$e,{tileID:kr,tileSize:qe},yr):ss(jr,Ar,$t),ha=ze.style.map.terrain&&ze.style.map.terrain.getTerrainData(kr);Dt.draw(Sr,Kr.TRIANGLES,Et,pt,bt,to.disabled,Qr,ha,wt.id,ze.tileExtentBuffer,ze.quadTriangleIndexBuffer,ze.tileExtentSegments)}})(I,0,Te,Me);break;case\"custom\":(function(ze,ht,wt){let Ot=ze.context,$t=wt.implementation;if(ze.renderPass===\"offscreen\"){let Ar=$t.prerender;Ar&&(ze.setCustomLayerDefaults(),Ot.setColorMode(ze.colorModeForRenderPass()),Ar.call($t,Ot.gl,ze.transform.customLayerMatrix()),Ot.setDirty(),ze.setBaseState())}else if(ze.renderPass===\"translucent\"){ze.setCustomLayerDefaults(),Ot.setColorMode(ze.colorModeForRenderPass()),Ot.setStencilMode(Ls.disabled);let Ar=$t.renderingMode===\"3d\"?new us(ze.context.gl.LEQUAL,us.ReadWrite,ze.depthRangeFor3D):ze.depthModeForSublayer(0,us.ReadOnly);Ot.setDepthMode(Ar),$t.render(Ot.gl,ze.transform.customLayerMatrix(),{farZ:ze.transform.farZ,nearZ:ze.transform.nearZ,fov:ze.transform._fov,modelViewProjectionMatrix:ze.transform.modelViewProjectionMatrix,projectionMatrix:ze.transform.projectionMatrix}),Ot.setDirty(),ze.setBaseState(),Ot.bindFramebuffer.set(null)}})(I,0,Te)}}translatePosMatrix(I,ie,Te,Me,ze){if(!Te[0]&&!Te[1])return I;let ht=ze?Me===\"map\"?this.transform.angle:0:Me===\"viewport\"?-this.transform.angle:0;if(ht){let $t=Math.sin(ht),Ar=Math.cos(ht);Te=[Te[0]*Ar-Te[1]*$t,Te[0]*$t+Te[1]*Ar]}let wt=[ze?Te[0]:Fa(ie,Te[0],this.transform.zoom),ze?Te[1]:Fa(ie,Te[1],this.transform.zoom),0],Ot=new Float32Array(16);return t.J(Ot,I,wt),Ot}saveTileTexture(I){let ie=this._tileTextures[I.size[0]];ie?ie.push(I):this._tileTextures[I.size[0]]=[I]}getTileTexture(I){let ie=this._tileTextures[I];return ie&&ie.length>0?ie.pop():null}isPatternMissing(I){if(!I)return!1;if(!I.from||!I.to)return!0;let ie=this.imageManager.getPattern(I.from.toString()),Te=this.imageManager.getPattern(I.to.toString());return!ie||!Te}useProgram(I,ie){this.cache=this.cache||{};let Te=I+(ie?ie.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Te]||(this.cache[Te]=new va(this.context,Hr[I],ie,Rs[I],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Te]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let I=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(I.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new u(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:I,drawingBufferHeight:ie}=this.context.gl;return this.width!==I||this.height!==ie}}class ol{constructor(I,ie){this.points=I,this.planes=ie}static fromInvProjectionMatrix(I,ie,Te){let Me=Math.pow(2,Te),ze=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(wt=>{let Ot=1/(wt=t.af([],wt,I))[3]/ie*Me;return t.b1(wt,wt,[Ot,Ot,1/wt[3],Ot])}),ht=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(wt=>{let Ot=function(Kr,na){var qe=na[0],$e=na[1],lt=na[2],pt=qe*qe+$e*$e+lt*lt;return pt>0&&(pt=1/Math.sqrt(pt)),Kr[0]=na[0]*pt,Kr[1]=na[1]*pt,Kr[2]=na[2]*pt,Kr}([],function(Kr,na,qe){var $e=na[0],lt=na[1],pt=na[2],Et=qe[0],bt=qe[1],Dt=qe[2];return Kr[0]=lt*Dt-pt*bt,Kr[1]=pt*Et-$e*Dt,Kr[2]=$e*bt-lt*Et,Kr}([],M([],ze[wt[0]],ze[wt[1]]),M([],ze[wt[2]],ze[wt[1]]))),$t=-((Ar=Ot)[0]*(Sr=ze[wt[1]])[0]+Ar[1]*Sr[1]+Ar[2]*Sr[2]);var Ar,Sr;return Ot.concat($t)});return new ol(ze,ht)}}class vc{constructor(I,ie){this.min=I,this.max=ie,this.center=function(Te,Me,ze){return Te[0]=.5*Me[0],Te[1]=.5*Me[1],Te[2]=.5*Me[2],Te}([],function(Te,Me,ze){return Te[0]=Me[0]+ze[0],Te[1]=Me[1]+ze[1],Te[2]=Me[2]+ze[2],Te}([],this.min,this.max))}quadrant(I){let ie=[I%2==0,I<2],Te=w(this.min),Me=w(this.max);for(let ze=0;ze=0&&ht++;if(ht===0)return 0;ht!==ie.length&&(Te=!1)}if(Te)return 2;for(let Me=0;Me<3;Me++){let ze=Number.MAX_VALUE,ht=-Number.MAX_VALUE;for(let wt=0;wtthis.max[Me]-this.min[Me])return 0}return 1}}class yu{constructor(I=0,ie=0,Te=0,Me=0){if(isNaN(I)||I<0||isNaN(ie)||ie<0||isNaN(Te)||Te<0||isNaN(Me)||Me<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=I,this.bottom=ie,this.left=Te,this.right=Me}interpolate(I,ie,Te){return ie.top!=null&&I.top!=null&&(this.top=t.y.number(I.top,ie.top,Te)),ie.bottom!=null&&I.bottom!=null&&(this.bottom=t.y.number(I.bottom,ie.bottom,Te)),ie.left!=null&&I.left!=null&&(this.left=t.y.number(I.left,ie.left,Te)),ie.right!=null&&I.right!=null&&(this.right=t.y.number(I.right,ie.right,Te)),this}getCenter(I,ie){let Te=t.ac((this.left+I-this.right)/2,0,I),Me=t.ac((this.top+ie-this.bottom)/2,0,ie);return new t.P(Te,Me)}equals(I){return this.top===I.top&&this.bottom===I.bottom&&this.left===I.left&&this.right===I.right}clone(){return new yu(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let Tu=85.051129;class Ml{constructor(I,ie,Te,Me,ze){this.tileSize=512,this._renderWorldCopies=ze===void 0||!!ze,this._minZoom=I||0,this._maxZoom=ie||22,this._minPitch=Te??0,this._maxPitch=Me??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new yu,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let I=new Ml(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return I.apply(this),I}apply(I){this.tileSize=I.tileSize,this.latRange=I.latRange,this.lngRange=I.lngRange,this.width=I.width,this.height=I.height,this._center=I._center,this._elevation=I._elevation,this.minElevationForCurrentTile=I.minElevationForCurrentTile,this.zoom=I.zoom,this.angle=I.angle,this._fov=I._fov,this._pitch=I._pitch,this._unmodified=I._unmodified,this._edgeInsets=I._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(I){this._minZoom!==I&&(this._minZoom=I,this.zoom=Math.max(this.zoom,I))}get maxZoom(){return this._maxZoom}set maxZoom(I){this._maxZoom!==I&&(this._maxZoom=I,this.zoom=Math.min(this.zoom,I))}get minPitch(){return this._minPitch}set minPitch(I){this._minPitch!==I&&(this._minPitch=I,this.pitch=Math.max(this.pitch,I))}get maxPitch(){return this._maxPitch}set maxPitch(I){this._maxPitch!==I&&(this._maxPitch=I,this.pitch=Math.min(this.pitch,I))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(I){I===void 0?I=!0:I===null&&(I=!1),this._renderWorldCopies=I}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(I){let ie=-t.b3(I,-180,180)*Math.PI/180;this.angle!==ie&&(this._unmodified=!1,this.angle=ie,this._calcMatrices(),this.rotationMatrix=function(){var Te=new t.A(4);return t.A!=Float32Array&&(Te[1]=0,Te[2]=0),Te[0]=1,Te[3]=1,Te}(),function(Te,Me,ze){var ht=Me[0],wt=Me[1],Ot=Me[2],$t=Me[3],Ar=Math.sin(ze),Sr=Math.cos(ze);Te[0]=ht*Sr+Ot*Ar,Te[1]=wt*Sr+$t*Ar,Te[2]=ht*-Ar+Ot*Sr,Te[3]=wt*-Ar+$t*Sr}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(I){let ie=t.ac(I,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==ie&&(this._unmodified=!1,this._pitch=ie,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(I){I=Math.max(.01,Math.min(60,I)),this._fov!==I&&(this._unmodified=!1,this._fov=I/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(I){let ie=Math.min(Math.max(I,this.minZoom),this.maxZoom);this._zoom!==ie&&(this._unmodified=!1,this._zoom=ie,this.tileZoom=Math.max(0,Math.floor(ie)),this.scale=this.zoomScale(ie),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(I){I.lat===this._center.lat&&I.lng===this._center.lng||(this._unmodified=!1,this._center=I,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(I){I!==this._elevation&&(this._elevation=I,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(I){this._edgeInsets.equals(I)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,I,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(I){return this._edgeInsets.equals(I)}interpolatePadding(I,ie,Te){this._unmodified=!1,this._edgeInsets.interpolate(I,ie,Te),this._constrain(),this._calcMatrices()}coveringZoomLevel(I){let ie=(I.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/I.tileSize));return Math.max(0,ie)}getVisibleUnwrappedCoordinates(I){let ie=[new t.b4(0,I)];if(this._renderWorldCopies){let Te=this.pointCoordinate(new t.P(0,0)),Me=this.pointCoordinate(new t.P(this.width,0)),ze=this.pointCoordinate(new t.P(this.width,this.height)),ht=this.pointCoordinate(new t.P(0,this.height)),wt=Math.floor(Math.min(Te.x,Me.x,ze.x,ht.x)),Ot=Math.floor(Math.max(Te.x,Me.x,ze.x,ht.x)),$t=1;for(let Ar=wt-$t;Ar<=Ot+$t;Ar++)Ar!==0&&ie.push(new t.b4(Ar,I))}return ie}coveringTiles(I){var ie,Te;let Me=this.coveringZoomLevel(I),ze=Me;if(I.minzoom!==void 0&&MeI.maxzoom&&(Me=I.maxzoom);let ht=this.pointCoordinate(this.getCameraPoint()),wt=t.Z.fromLngLat(this.center),Ot=Math.pow(2,Me),$t=[Ot*ht.x,Ot*ht.y,0],Ar=[Ot*wt.x,Ot*wt.y,0],Sr=ol.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,Me),Kr=I.minzoom||0;!I.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(Kr=Me);let na=I.terrain?2/Math.min(this.tileSize,I.tileSize)*this.tileSize:3,qe=bt=>({aabb:new vc([bt*Ot,0,0],[(bt+1)*Ot,Ot,0]),zoom:0,x:0,y:0,wrap:bt,fullyVisible:!1}),$e=[],lt=[],pt=Me,Et=I.reparseOverscaled?ze:Me;if(this._renderWorldCopies)for(let bt=1;bt<=3;bt++)$e.push(qe(-bt)),$e.push(qe(bt));for($e.push(qe(0));$e.length>0;){let bt=$e.pop(),Dt=bt.x,ur=bt.y,yr=bt.fullyVisible;if(!yr){let Aa=bt.aabb.intersects(Sr);if(Aa===0)continue;yr=Aa===2}let kr=I.terrain?$t:Ar,jr=bt.aabb.distanceX(kr),Qr=bt.aabb.distanceY(kr),ha=Math.max(Math.abs(jr),Math.abs(Qr));if(bt.zoom===pt||ha>na+(1<=Kr){let Aa=pt-bt.zoom,Da=$t[0]-.5-(Dt<>1),Vi=bt.zoom+1,ji=bt.aabb.quadrant(Aa);if(I.terrain){let on=new t.S(Vi,bt.wrap,Vi,Da,ci),An=I.terrain.getMinMaxElevation(on),Yn=(ie=An.minElevation)!==null&&ie!==void 0?ie:this.elevation,Bn=(Te=An.maxElevation)!==null&&Te!==void 0?Te:this.elevation;ji=new vc([ji.min[0],ji.min[1],Yn],[ji.max[0],ji.max[1],Bn])}$e.push({aabb:ji,zoom:Vi,x:Da,y:ci,wrap:bt.wrap,fullyVisible:yr})}}return lt.sort((bt,Dt)=>bt.distanceSq-Dt.distanceSq).map(bt=>bt.tileID)}resize(I,ie){this.width=I,this.height=ie,this.pixelsToGLUnits=[2/I,-2/ie],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(I){return Math.pow(2,I)}scaleZoom(I){return Math.log(I)/Math.LN2}project(I){let ie=t.ac(I.lat,-85.051129,Tu);return new t.P(t.O(I.lng)*this.worldSize,t.Q(ie)*this.worldSize)}unproject(I){return new t.Z(I.x/this.worldSize,I.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(I){let ie=this.elevation,Te=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,Me=this.pointLocation(this.centerPoint,I),ze=I.getElevationForLngLatZoom(Me,this.tileZoom);if(!(this.elevation-ze))return;let ht=Te+ie-ze,wt=Math.cos(this._pitch)*this.cameraToCenterDistance/ht/t.b5(1,Me.lat),Ot=this.scaleZoom(wt/this.tileSize);this._elevation=ze,this._center=Me,this.zoom=Ot}setLocationAtPoint(I,ie){let Te=this.pointCoordinate(ie),Me=this.pointCoordinate(this.centerPoint),ze=this.locationCoordinate(I),ht=new t.Z(ze.x-(Te.x-Me.x),ze.y-(Te.y-Me.y));this.center=this.coordinateLocation(ht),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(I,ie){return ie?this.coordinatePoint(this.locationCoordinate(I),ie.getElevationForLngLatZoom(I,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(I))}pointLocation(I,ie){return this.coordinateLocation(this.pointCoordinate(I,ie))}locationCoordinate(I){return t.Z.fromLngLat(I)}coordinateLocation(I){return I&&I.toLngLat()}pointCoordinate(I,ie){if(ie){let Kr=ie.pointCoordinate(I);if(Kr!=null)return Kr}let Te=[I.x,I.y,0,1],Me=[I.x,I.y,1,1];t.af(Te,Te,this.pixelMatrixInverse),t.af(Me,Me,this.pixelMatrixInverse);let ze=Te[3],ht=Me[3],wt=Te[1]/ze,Ot=Me[1]/ht,$t=Te[2]/ze,Ar=Me[2]/ht,Sr=$t===Ar?0:(0-$t)/(Ar-$t);return new t.Z(t.y.number(Te[0]/ze,Me[0]/ht,Sr)/this.worldSize,t.y.number(wt,Ot,Sr)/this.worldSize)}coordinatePoint(I,ie=0,Te=this.pixelMatrix){let Me=[I.x*this.worldSize,I.y*this.worldSize,ie,1];return t.af(Me,Me,Te),new t.P(Me[0]/Me[3],Me[1]/Me[3])}getBounds(){let I=Math.max(0,this.height/2-this.getHorizon());return new re().extend(this.pointLocation(new t.P(0,I))).extend(this.pointLocation(new t.P(this.width,I))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new re([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(I){I?(this.lngRange=[I.getWest(),I.getEast()],this.latRange=[I.getSouth(),I.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Tu])}calculateTileMatrix(I){let ie=I.canonical,Te=this.worldSize/this.zoomScale(ie.z),Me=ie.x+Math.pow(2,ie.z)*I.wrap,ze=t.an(new Float64Array(16));return t.J(ze,ze,[Me*Te,ie.y*Te,0]),t.K(ze,ze,[Te/t.X,Te/t.X,1]),ze}calculatePosMatrix(I,ie=!1){let Te=I.key,Me=ie?this._alignedPosMatrixCache:this._posMatrixCache;if(Me[Te])return Me[Te];let ze=this.calculateTileMatrix(I);return t.L(ze,ie?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,ze),Me[Te]=new Float32Array(ze),Me[Te]}calculateFogMatrix(I){let ie=I.key,Te=this._fogMatrixCache;if(Te[ie])return Te[ie];let Me=this.calculateTileMatrix(I);return t.L(Me,this.fogMatrix,Me),Te[ie]=new Float32Array(Me),Te[ie]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(I,ie){ie=t.ac(+ie,this.minZoom,this.maxZoom);let Te={center:new t.N(I.lng,I.lat),zoom:ie},Me=this.lngRange;if(!this._renderWorldCopies&&Me===null){let bt=179.9999999999;Me=[-bt,bt]}let ze=this.tileSize*this.zoomScale(Te.zoom),ht=0,wt=ze,Ot=0,$t=ze,Ar=0,Sr=0,{x:Kr,y:na}=this.size;if(this.latRange){let bt=this.latRange;ht=t.Q(bt[1])*ze,wt=t.Q(bt[0])*ze,wt-htwt&&(pt=wt-bt)}if(Me){let bt=(Ot+$t)/2,Dt=qe;this._renderWorldCopies&&(Dt=t.b3(qe,bt-ze/2,bt+ze/2));let ur=Kr/2;Dt-ur$t&&(lt=$t-ur)}if(lt!==void 0||pt!==void 0){let bt=new t.P(lt??qe,pt??$e);Te.center=this.unproject.call({worldSize:ze},bt).wrap()}return Te}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let I=this._unmodified,{center:ie,zoom:Te}=this.getConstrained(this.center,this.zoom);this.center=ie,this.zoom=Te,this._unmodified=I,this._constraining=!1}_calcMatrices(){if(!this.height)return;let I=this.centerOffset,ie=this.point.x,Te=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b5(1,this.center.lat)*this.worldSize;let Me=t.an(new Float64Array(16));t.K(Me,Me,[this.width/2,-this.height/2,1]),t.J(Me,Me,[1,-1,0]),this.labelPlaneMatrix=Me,Me=t.an(new Float64Array(16)),t.K(Me,Me,[1,-1,1]),t.J(Me,Me,[-1,-1,0]),t.K(Me,Me,[2/this.width,2/this.height,1]),this.glCoordMatrix=Me;let ze=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),ht=Math.min(this.elevation,this.minElevationForCurrentTile),wt=ze-ht*this._pixelPerMeter/Math.cos(this._pitch),Ot=ht<0?wt:ze,$t=Math.PI/2+this._pitch,Ar=this._fov*(.5+I.y/this.height),Sr=Math.sin(Ar)*Ot/Math.sin(t.ac(Math.PI-$t-Ar,.01,Math.PI-.01)),Kr=this.getHorizon(),na=2*Math.atan(Kr/this.cameraToCenterDistance)*(.5+I.y/(2*Kr)),qe=Math.sin(na)*Ot/Math.sin(t.ac(Math.PI-$t-na,.01,Math.PI-.01)),$e=Math.min(Sr,qe);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*$e+Ot),this.nearZ=this.height/50,Me=new Float64Array(16),t.b6(Me,this._fov,this.width/this.height,this.nearZ,this.farZ),Me[8]=2*-I.x/this.width,Me[9]=2*I.y/this.height,this.projectionMatrix=t.ae(Me),t.K(Me,Me,[1,-1,1]),t.J(Me,Me,[0,0,-this.cameraToCenterDistance]),t.b7(Me,Me,this._pitch),t.ad(Me,Me,this.angle),t.J(Me,Me,[-ie,-Te,0]),this.mercatorMatrix=t.K([],Me,[this.worldSize,this.worldSize,this.worldSize]),t.K(Me,Me,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.L(new Float64Array(16),this.labelPlaneMatrix,Me),t.J(Me,Me,[0,0,-this.elevation]),this.modelViewProjectionMatrix=Me,this.invModelViewProjectionMatrix=t.as([],Me),this.fogMatrix=new Float64Array(16),t.b6(this.fogMatrix,this._fov,this.width/this.height,ze,this.farZ),this.fogMatrix[8]=2*-I.x/this.width,this.fogMatrix[9]=2*I.y/this.height,t.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),t.b7(this.fogMatrix,this.fogMatrix,this._pitch),t.ad(this.fogMatrix,this.fogMatrix,this.angle),t.J(this.fogMatrix,this.fogMatrix,[-ie,-Te,0]),t.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=t.L(new Float64Array(16),this.labelPlaneMatrix,Me);let lt=this.width%2/2,pt=this.height%2/2,Et=Math.cos(this.angle),bt=Math.sin(this.angle),Dt=ie-Math.round(ie)+Et*lt+bt*pt,ur=Te-Math.round(Te)+Et*pt+bt*lt,yr=new Float64Array(Me);if(t.J(yr,yr,[Dt>.5?Dt-1:Dt,ur>.5?ur-1:ur,0]),this.alignedModelViewProjectionMatrix=yr,Me=t.as(new Float64Array(16),this.pixelMatrix),!Me)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Me,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let I=this.pointCoordinate(new t.P(0,0)),ie=[I.x*this.worldSize,I.y*this.worldSize,0,1];return t.af(ie,ie,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let I=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,I))}getCameraQueryGeometry(I){let ie=this.getCameraPoint();if(I.length===1)return[I[0],ie];{let Te=ie.x,Me=ie.y,ze=ie.x,ht=ie.y;for(let wt of I)Te=Math.min(Te,wt.x),Me=Math.min(Me,wt.y),ze=Math.max(ze,wt.x),ht=Math.max(ht,wt.y);return[new t.P(Te,Me),new t.P(ze,Me),new t.P(ze,ht),new t.P(Te,ht),new t.P(Te,Me)]}}lngLatToCameraDepth(I,ie){let Te=this.locationCoordinate(I),Me=[Te.x*this.worldSize,Te.y*this.worldSize,ie,1];return t.af(Me,Me,this.modelViewProjectionMatrix),Me[2]/Me[3]}}function qf(Fe,I){let ie,Te=!1,Me=null,ze=null,ht=()=>{Me=null,Te&&(Fe.apply(ze,ie),Me=setTimeout(ht,I),Te=!1)};return(...wt)=>(Te=!0,ze=this,ie=wt,Me||ht(),Me)}class Qf{constructor(I){this._getCurrentHash=()=>{let ie=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Te;return ie.split(\"&\").map(Me=>Me.split(\"=\")).forEach(Me=>{Me[0]===this._hashName&&(Te=Me)}),(Te&&Te[1]||\"\").split(\"/\")}return ie.split(\"/\")},this._onHashChange=()=>{let ie=this._getCurrentHash();if(ie.length>=3&&!ie.some(Te=>isNaN(Te))){let Te=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(ie[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+ie[2],+ie[1]],zoom:+ie[0],bearing:Te,pitch:+(ie[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let ie=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,ie)},this._removeHash=()=>{let ie=this._getCurrentHash();if(ie.length===0)return;let Te=ie.join(\"/\"),Me=Te;Me.split(\"&\").length>0&&(Me=Me.split(\"&\")[0]),this._hashName&&(Me=`${this._hashName}=${Te}`);let ze=window.location.hash.replace(Me,\"\");ze.startsWith(\"#&\")?ze=ze.slice(0,1)+ze.slice(2):ze===\"#\"&&(ze=\"\");let ht=window.location.href.replace(/(#.+)?$/,ze);ht=ht.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,ht)},this._updateHash=qf(this._updateHashUnthrottled,300),this._hashName=I&&encodeURIComponent(I)}addTo(I){return this._map=I,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(I){let ie=this._map.getCenter(),Te=Math.round(100*this._map.getZoom())/100,Me=Math.ceil((Te*Math.LN2+Math.log(512/360/.5))/Math.LN10),ze=Math.pow(10,Me),ht=Math.round(ie.lng*ze)/ze,wt=Math.round(ie.lat*ze)/ze,Ot=this._map.getBearing(),$t=this._map.getPitch(),Ar=\"\";if(Ar+=I?`/${ht}/${wt}/${Te}`:`${Te}/${wt}/${ht}`,(Ot||$t)&&(Ar+=\"/\"+Math.round(10*Ot)/10),$t&&(Ar+=`/${Math.round($t)}`),this._hashName){let Sr=this._hashName,Kr=!1,na=window.location.hash.slice(1).split(\"&\").map(qe=>{let $e=qe.split(\"=\")[0];return $e===Sr?(Kr=!0,`${$e}=${Ar}`):qe}).filter(qe=>qe);return Kr||na.push(`${Sr}=${Ar}`),`#${na.join(\"&\")}`}return`#${Ar}`}}let Bu={linearity:.3,easing:t.b8(0,0,.3,1)},Ec=t.e({deceleration:2500,maxSpeed:1400},Bu),mc=t.e({deceleration:20,maxSpeed:1400},Bu),Lh=t.e({deceleration:1e3,maxSpeed:360},Bu),sf=t.e({deceleration:1e3,maxSpeed:90},Bu);class vf{constructor(I){this._map=I,this.clear()}clear(){this._inertiaBuffer=[]}record(I){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.now(),settings:I})}_drainInertiaBuffer(){let I=this._inertiaBuffer,ie=n.now();for(;I.length>0&&ie-I[0].time>160;)I.shift()}_onMoveEnd(I){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let ie={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:ze}of this._inertiaBuffer)ie.zoom+=ze.zoomDelta||0,ie.bearing+=ze.bearingDelta||0,ie.pitch+=ze.pitchDelta||0,ze.panDelta&&ie.pan._add(ze.panDelta),ze.around&&(ie.around=ze.around),ze.pinchAround&&(ie.pinchAround=ze.pinchAround);let Te=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,Me={};if(ie.pan.mag()){let ze=lf(ie.pan.mag(),Te,t.e({},Ec,I||{}));Me.offset=ie.pan.mult(ze.amount/ie.pan.mag()),Me.center=this._map.transform.center,Nu(Me,ze)}if(ie.zoom){let ze=lf(ie.zoom,Te,mc);Me.zoom=this._map.transform.zoom+ze.amount,Nu(Me,ze)}if(ie.bearing){let ze=lf(ie.bearing,Te,Lh);Me.bearing=this._map.transform.bearing+t.ac(ze.amount,-179,179),Nu(Me,ze)}if(ie.pitch){let ze=lf(ie.pitch,Te,sf);Me.pitch=this._map.transform.pitch+ze.amount,Nu(Me,ze)}if(Me.zoom||Me.bearing){let ze=ie.pinchAround===void 0?ie.around:ie.pinchAround;Me.around=ze?this._map.unproject(ze):this._map.getCenter()}return this.clear(),t.e(Me,{noMoveStart:!0})}}function Nu(Fe,I){(!Fe.duration||Fe.durationie.unproject(Ot)),wt=ze.reduce((Ot,$t,Ar,Sr)=>Ot.add($t.div(Sr.length)),new t.P(0,0));super(I,{points:ze,point:wt,lngLats:ht,lngLat:ie.unproject(wt),originalEvent:Te}),this._defaultPrevented=!1}}class hh extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(I,ie,Te){super(I,{originalEvent:Te}),this._defaultPrevented=!1}}class mf{constructor(I,ie){this._map=I,this._clickTolerance=ie.clickTolerance}reset(){delete this._mousedownPos}wheel(I){return this._firePreventable(new hh(I.type,this._map,I))}mousedown(I,ie){return this._mousedownPos=ie,this._firePreventable(new iu(I.type,this._map,I))}mouseup(I){this._map.fire(new iu(I.type,this._map,I))}click(I,ie){this._mousedownPos&&this._mousedownPos.dist(ie)>=this._clickTolerance||this._map.fire(new iu(I.type,this._map,I))}dblclick(I){return this._firePreventable(new iu(I.type,this._map,I))}mouseover(I){this._map.fire(new iu(I.type,this._map,I))}mouseout(I){this._map.fire(new iu(I.type,this._map,I))}touchstart(I){return this._firePreventable(new Kc(I.type,this._map,I))}touchmove(I){this._map.fire(new Kc(I.type,this._map,I))}touchend(I){this._map.fire(new Kc(I.type,this._map,I))}touchcancel(I){this._map.fire(new Kc(I.type,this._map,I))}_firePreventable(I){if(this._map.fire(I),I.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class sl{constructor(I){this._map=I}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(I){this._map.fire(new iu(I.type,this._map,I))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new iu(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(I){this._delayContextMenu?this._contextMenuEvent=I:this._ignoreContextMenu||this._map.fire(new iu(I.type,this._map,I)),this._map.listens(\"contextmenu\")&&I.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(I){this._map=I}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(I){return this.transform.pointLocation(t.P.convert(I),this._map.terrain)}}class Pu{constructor(I,ie){this._map=I,this._tr=new _u(I),this._el=I.getCanvasContainer(),this._container=I.getContainer(),this._clickTolerance=ie.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(I,ie){this.isEnabled()&&I.shiftKey&&I.button===0&&(i.disableDrag(),this._startPos=this._lastPos=ie,this._active=!0)}mousemoveWindow(I,ie){if(!this._active)return;let Te=ie;if(this._lastPos.equals(Te)||!this._box&&Te.dist(this._startPos)ze.fitScreenCoordinates(Te,Me,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",I)}keydown(I){this._active&&I.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",I))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(I,ie){return this._map.fire(new t.k(I,{originalEvent:ie}))}}function Cf(Fe,I){if(Fe.length!==I.length)throw new Error(`The number of touches and points are not equal - touches ${Fe.length}, points ${I.length}`);let ie={};for(let Te=0;Tethis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=I.timeStamp),Te.length===this.numTouches&&(this.centroid=function(Me){let ze=new t.P(0,0);for(let ht of Me)ze._add(ht);return ze.div(Me.length)}(ie),this.touches=Cf(Te,ie)))}touchmove(I,ie,Te){if(this.aborted||!this.centroid)return;let Me=Cf(Te,ie);for(let ze in this.touches){let ht=Me[ze];(!ht||ht.dist(this.touches[ze])>30)&&(this.aborted=!0)}}touchend(I,ie,Te){if((!this.centroid||I.timeStamp-this.startTime>500)&&(this.aborted=!0),Te.length===0){let Me=!this.aborted&&this.centroid;if(this.reset(),Me)return Me}}}class uf{constructor(I){this.singleTap=new hl(I),this.numTaps=I.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(I,ie,Te){this.singleTap.touchstart(I,ie,Te)}touchmove(I,ie,Te){this.singleTap.touchmove(I,ie,Te)}touchend(I,ie,Te){let Me=this.singleTap.touchend(I,ie,Te);if(Me){let ze=I.timeStamp-this.lastTime<500,ht=!this.lastTap||this.lastTap.dist(Me)<30;if(ze&&ht||this.reset(),this.count++,this.lastTime=I.timeStamp,this.lastTap=Me,this.count===this.numTaps)return this.reset(),Me}}}class kc{constructor(I){this._tr=new _u(I),this._zoomIn=new uf({numTouches:1,numTaps:2}),this._zoomOut=new uf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(I,ie,Te){this._zoomIn.touchstart(I,ie,Te),this._zoomOut.touchstart(I,ie,Te)}touchmove(I,ie,Te){this._zoomIn.touchmove(I,ie,Te),this._zoomOut.touchmove(I,ie,Te)}touchend(I,ie,Te){let Me=this._zoomIn.touchend(I,ie,Te),ze=this._zoomOut.touchend(I,ie,Te),ht=this._tr;return Me?(this._active=!0,I.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:wt=>wt.easeTo({duration:300,zoom:ht.zoom+1,around:ht.unproject(Me)},{originalEvent:I})}):ze?(this._active=!0,I.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:wt=>wt.easeTo({duration:300,zoom:ht.zoom-1,around:ht.unproject(ze)},{originalEvent:I})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Hu{constructor(I){this._enabled=!!I.enable,this._moveStateManager=I.moveStateManager,this._clickTolerance=I.clickTolerance||1,this._moveFunction=I.move,this._activateOnStart=!!I.activateOnStart,I.assignEvents(this),this.reset()}reset(I){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(I)}_move(...I){let ie=this._moveFunction(...I);if(ie.bearingDelta||ie.pitchDelta||ie.around||ie.panDelta)return this._active=!0,ie}dragStart(I,ie){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(I)&&(this._moveStateManager.startMove(I),this._lastPoint=ie.length?ie[0]:ie,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(I,ie){if(!this.isEnabled())return;let Te=this._lastPoint;if(!Te)return;if(I.preventDefault(),!this._moveStateManager.isValidMoveEvent(I))return void this.reset(I);let Me=ie.length?ie[0]:ie;return!this._moved&&Me.dist(Te){Fe.mousedown=Fe.dragStart,Fe.mousemoveWindow=Fe.dragMove,Fe.mouseup=Fe.dragEnd,Fe.contextmenu=I=>{I.preventDefault()}},nu=({enable:Fe,clickTolerance:I,bearingDegreesPerPixelMoved:ie=.8})=>{let Te=new Wu({checkCorrectEvent:Me=>i.mouseButton(Me)===0&&Me.ctrlKey||i.mouseButton(Me)===2});return new Hu({clickTolerance:I,move:(Me,ze)=>({bearingDelta:(ze.x-Me.x)*ie}),moveStateManager:Te,enable:Fe,assignEvents:Lf})},Vf=({enable:Fe,clickTolerance:I,pitchDegreesPerPixelMoved:ie=-.5})=>{let Te=new Wu({checkCorrectEvent:Me=>i.mouseButton(Me)===0&&Me.ctrlKey||i.mouseButton(Me)===2});return new Hu({clickTolerance:I,move:(Me,ze)=>({pitchDelta:(ze.y-Me.y)*ie}),moveStateManager:Te,enable:Fe,assignEvents:Lf})};class Xu{constructor(I,ie){this._clickTolerance=I.clickTolerance||1,this._map=ie,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(I){return I<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(I,ie,Te){return this._calculateTransform(I,ie,Te)}touchmove(I,ie,Te){if(this._active){if(!this._shouldBePrevented(Te.length))return I.preventDefault(),this._calculateTransform(I,ie,Te);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",I)}}touchend(I,ie,Te){this._calculateTransform(I,ie,Te),this._active&&this._shouldBePrevented(Te.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(I,ie,Te){Te.length>0&&(this._active=!0);let Me=Cf(Te,ie),ze=new t.P(0,0),ht=new t.P(0,0),wt=0;for(let $t in Me){let Ar=Me[$t],Sr=this._touches[$t];Sr&&(ze._add(Ar),ht._add(Ar.sub(Sr)),wt++,Me[$t]=Ar)}if(this._touches=Me,this._shouldBePrevented(wt)||!ht.mag())return;let Ot=ht.div(wt);return this._sum._add(Ot),this._sum.mag()Math.abs(Fe.x)}class Pc extends Cc{constructor(I){super(),this._currentTouchCount=0,this._map=I}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(I,ie,Te){super.touchstart(I,ie,Te),this._currentTouchCount=Te.length}_start(I){this._lastPoints=I,sc(I[0].sub(I[1]))&&(this._valid=!1)}_move(I,ie,Te){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let Me=I[0].sub(this._lastPoints[0]),ze=I[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(Me,ze,Te.timeStamp),this._valid?(this._lastPoints=I,this._active=!0,{pitchDelta:(Me.y+ze.y)/2*-.5}):void 0}gestureBeginsVertically(I,ie,Te){if(this._valid!==void 0)return this._valid;let Me=I.mag()>=2,ze=ie.mag()>=2;if(!Me&&!ze)return;if(!Me||!ze)return this._firstMove===void 0&&(this._firstMove=Te),Te-this._firstMove<100&&void 0;let ht=I.y>0==ie.y>0;return sc(I)&&sc(ie)&&ht}}let Qt={panStep:100,bearingStep:15,pitchStep:10};class xr{constructor(I){this._tr=new _u(I);let ie=Qt;this._panStep=ie.panStep,this._bearingStep=ie.bearingStep,this._pitchStep=ie.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(I){if(I.altKey||I.ctrlKey||I.metaKey)return;let ie=0,Te=0,Me=0,ze=0,ht=0;switch(I.keyCode){case 61:case 107:case 171:case 187:ie=1;break;case 189:case 109:case 173:ie=-1;break;case 37:I.shiftKey?Te=-1:(I.preventDefault(),ze=-1);break;case 39:I.shiftKey?Te=1:(I.preventDefault(),ze=1);break;case 38:I.shiftKey?Me=1:(I.preventDefault(),ht=-1);break;case 40:I.shiftKey?Me=-1:(I.preventDefault(),ht=1);break;default:return}return this._rotationDisabled&&(Te=0,Me=0),{cameraAnimation:wt=>{let Ot=this._tr;wt.easeTo({duration:300,easeId:\"keyboardHandler\",easing:aa,zoom:ie?Math.round(Ot.zoom)+ie*(I.shiftKey?2:1):Ot.zoom,bearing:Ot.bearing+Te*this._bearingStep,pitch:Ot.pitch+Me*this._pitchStep,offset:[-ze*this._panStep,-ht*this._panStep],center:Ot.center},{originalEvent:I})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function aa(Fe){return Fe*(2-Fe)}let $r=4.000244140625;class ka{constructor(I,ie){this._onTimeout=Te=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Te)},this._map=I,this._tr=new _u(I),this._triggerRenderFrame=ie,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(I){this._defaultZoomRate=I}setWheelZoomRate(I){this._wheelZoomRate=I}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(I){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!I&&I.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(I){return!!this._map.cooperativeGestures.isEnabled()&&!(I.ctrlKey||this._map.cooperativeGestures.isBypassed(I))}wheel(I){if(!this.isEnabled())return;if(this._shouldBePrevented(I))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",I);let ie=I.deltaMode===WheelEvent.DOM_DELTA_LINE?40*I.deltaY:I.deltaY,Te=n.now(),Me=Te-(this._lastWheelEventTime||0);this._lastWheelEventTime=Te,ie!==0&&ie%$r==0?this._type=\"wheel\":ie!==0&&Math.abs(ie)<4?this._type=\"trackpad\":Me>400?(this._type=null,this._lastValue=ie,this._timeout=setTimeout(this._onTimeout,40,I)):this._type||(this._type=Math.abs(Me*ie)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,ie+=this._lastValue)),I.shiftKey&&ie&&(ie/=4),this._type&&(this._lastWheelEvent=I,this._delta-=ie,this._active||this._start(I)),I.preventDefault()}_start(I){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let ie=i.mousePos(this._map.getCanvas(),I),Te=this._tr;this._around=ie.y>Te.transform.height/2-Te.transform.getHorizon()?t.N.convert(this._aroundCenter?Te.center:Te.unproject(ie)):t.N.convert(Te.center),this._aroundPoint=Te.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let I=this._tr.transform;if(this._delta!==0){let Ot=this._type===\"wheel\"&&Math.abs(this._delta)>$r?this._wheelZoomRate:this._defaultZoomRate,$t=2/(1+Math.exp(-Math.abs(this._delta*Ot)));this._delta<0&&$t!==0&&($t=1/$t);let Ar=typeof this._targetZoom==\"number\"?I.zoomScale(this._targetZoom):I.scale;this._targetZoom=Math.min(I.maxZoom,Math.max(I.minZoom,I.scaleZoom(Ar*$t))),this._type===\"wheel\"&&(this._startZoom=I.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let ie=typeof this._targetZoom==\"number\"?this._targetZoom:I.zoom,Te=this._startZoom,Me=this._easing,ze,ht=!1,wt=n.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Te&&Me&&wt){let Ot=Math.min(wt/200,1),$t=Me(Ot);ze=t.y.number(Te,ie,$t),Ot<1?this._frameId||(this._frameId=!0):ht=!0}else ze=ie,ht=!0;return this._active=!0,ht&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!ht,zoomDelta:ze-I.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(I){let ie=t.b9;if(this._prevEase){let Te=this._prevEase,Me=(n.now()-Te.start)/Te.duration,ze=Te.easing(Me+.01)-Te.easing(Me),ht=.27/Math.sqrt(ze*ze+1e-4)*.01,wt=Math.sqrt(.0729-ht*ht);ie=t.b8(ht,wt,.25,1)}return this._prevEase={start:n.now(),duration:I,easing:ie},ie}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class li{constructor(I,ie){this._clickZoom=I,this._tapZoom=ie}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Ci{constructor(I){this._tr=new _u(I),this.reset()}reset(){this._active=!1}dblclick(I,ie){return I.preventDefault(),{cameraAnimation:Te=>{Te.easeTo({duration:300,zoom:this._tr.zoom+(I.shiftKey?-1:1),around:this._tr.unproject(ie)},{originalEvent:I})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Hi{constructor(){this._tap=new uf({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(I,ie,Te){if(!this._swipePoint)if(this._tapTime){let Me=ie[0],ze=I.timeStamp-this._tapTime<500,ht=this._tapPoint.dist(Me)<30;ze&&ht?Te.length>0&&(this._swipePoint=Me,this._swipeTouch=Te[0].identifier):this.reset()}else this._tap.touchstart(I,ie,Te)}touchmove(I,ie,Te){if(this._tapTime){if(this._swipePoint){if(Te[0].identifier!==this._swipeTouch)return;let Me=ie[0],ze=Me.y-this._swipePoint.y;return this._swipePoint=Me,I.preventDefault(),this._active=!0,{zoomDelta:ze/128}}}else this._tap.touchmove(I,ie,Te)}touchend(I,ie,Te){if(this._tapTime)this._swipePoint&&Te.length===0&&this.reset();else{let Me=this._tap.touchend(I,ie,Te);Me&&(this._tapTime=I.timeStamp,this._tapPoint=Me)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Qi{constructor(I,ie,Te){this._el=I,this._mousePan=ie,this._touchPan=Te}enable(I){this._inertiaOptions=I||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class pn{constructor(I,ie,Te){this._pitchWithRotate=I.pitchWithRotate,this._mouseRotate=ie,this._mousePitch=Te}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Pi{constructor(I,ie,Te,Me){this._el=I,this._touchZoom=ie,this._touchRotate=Te,this._tapDragZoom=Me,this._rotationDisabled=!1,this._enabled=!0}enable(I){this._touchZoom.enable(I),this._rotationDisabled||this._touchRotate.enable(I),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Di{constructor(I,ie){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=I,this._options=ie,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let I=this._map.getCanvasContainer();I.classList.add(\"maplibregl-cooperative-gestures\"),this._container=i.create(\"div\",\"maplibregl-cooperative-gesture-screen\",I);let ie=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(ie=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Te=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),Me=document.createElement(\"div\");Me.className=\"maplibregl-desktop-message\",Me.textContent=ie,this._container.appendChild(Me);let ze=document.createElement(\"div\");ze.className=\"maplibregl-mobile-message\",ze.textContent=Te,this._container.appendChild(ze),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(i.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(I){return I[this._bypassKey]}notifyGestureBlocked(I,ie){this._enabled&&(this._map.fire(new t.k(\"cooperativegestureprevented\",{gestureType:I,originalEvent:ie})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ni=Fe=>Fe.zoom||Fe.drag||Fe.pitch||Fe.rotate;class mi extends t.k{}function Sn(Fe){return Fe.panDelta&&Fe.panDelta.mag()||Fe.zoomDelta||Fe.bearingDelta||Fe.pitchDelta}class Qn{constructor(I,ie){this.handleWindowEvent=Me=>{this.handleEvent(Me,`${Me.type}Window`)},this.handleEvent=(Me,ze)=>{if(Me.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let ht=Me.type===\"renderFrame\"?void 0:Me,wt={needsRenderFrame:!1},Ot={},$t={},Ar=Me.touches,Sr=Ar?this._getMapTouches(Ar):void 0,Kr=Sr?i.touchPos(this._map.getCanvas(),Sr):i.mousePos(this._map.getCanvas(),Me);for(let{handlerName:$e,handler:lt,allowed:pt}of this._handlers){if(!lt.isEnabled())continue;let Et;this._blockedByActive($t,pt,$e)?lt.reset():lt[ze||Me.type]&&(Et=lt[ze||Me.type](Me,Kr,Sr),this.mergeHandlerResult(wt,Ot,Et,$e,ht),Et&&Et.needsRenderFrame&&this._triggerRenderFrame()),(Et||lt.isActive())&&($t[$e]=lt)}let na={};for(let $e in this._previousActiveHandlers)$t[$e]||(na[$e]=ht);this._previousActiveHandlers=$t,(Object.keys(na).length||Sn(wt))&&(this._changes.push([wt,Ot,na]),this._triggerRenderFrame()),(Object.keys($t).length||Sn(wt))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:qe}=wt;qe&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],qe(this._map))},this._map=I,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new vf(I),this._bearingSnap=ie.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(ie);let Te=this._el;this._listeners=[[Te,\"touchstart\",{passive:!0}],[Te,\"touchmove\",{passive:!1}],[Te,\"touchend\",void 0],[Te,\"touchcancel\",void 0],[Te,\"mousedown\",void 0],[Te,\"mousemove\",void 0],[Te,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Te,\"mouseover\",void 0],[Te,\"mouseout\",void 0],[Te,\"dblclick\",void 0],[Te,\"click\",void 0],[Te,\"keydown\",{capture:!1}],[Te,\"keyup\",void 0],[Te,\"wheel\",{passive:!1}],[Te,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[Me,ze,ht]of this._listeners)i.addEventListener(Me,ze,Me===document?this.handleWindowEvent:this.handleEvent,ht)}destroy(){for(let[I,ie,Te]of this._listeners)i.removeEventListener(I,ie,I===document?this.handleWindowEvent:this.handleEvent,Te)}_addDefaultHandlers(I){let ie=this._map,Te=ie.getCanvasContainer();this._add(\"mapEvent\",new mf(ie,I));let Me=ie.boxZoom=new Pu(ie,I);this._add(\"boxZoom\",Me),I.interactive&&I.boxZoom&&Me.enable();let ze=ie.cooperativeGestures=new Di(ie,I.cooperativeGestures);this._add(\"cooperativeGestures\",ze),I.cooperativeGestures&&ze.enable();let ht=new kc(ie),wt=new Ci(ie);ie.doubleClickZoom=new li(wt,ht),this._add(\"tapZoom\",ht),this._add(\"clickZoom\",wt),I.interactive&&I.doubleClickZoom&&ie.doubleClickZoom.enable();let Ot=new Hi;this._add(\"tapDragZoom\",Ot);let $t=ie.touchPitch=new Pc(ie);this._add(\"touchPitch\",$t),I.interactive&&I.touchPitch&&ie.touchPitch.enable(I.touchPitch);let Ar=nu(I),Sr=Vf(I);ie.dragRotate=new pn(I,Ar,Sr),this._add(\"mouseRotate\",Ar,[\"mousePitch\"]),this._add(\"mousePitch\",Sr,[\"mouseRotate\"]),I.interactive&&I.dragRotate&&ie.dragRotate.enable();let Kr=(({enable:Et,clickTolerance:bt})=>{let Dt=new Wu({checkCorrectEvent:ur=>i.mouseButton(ur)===0&&!ur.ctrlKey});return new Hu({clickTolerance:bt,move:(ur,yr)=>({around:yr,panDelta:yr.sub(ur)}),activateOnStart:!0,moveStateManager:Dt,enable:Et,assignEvents:Lf})})(I),na=new Xu(I,ie);ie.dragPan=new Qi(Te,Kr,na),this._add(\"mousePan\",Kr),this._add(\"touchPan\",na,[\"touchZoom\",\"touchRotate\"]),I.interactive&&I.dragPan&&ie.dragPan.enable(I.dragPan);let qe=new $c,$e=new xu;ie.touchZoomRotate=new Pi(Te,$e,qe,Ot),this._add(\"touchRotate\",qe,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",$e,[\"touchPan\",\"touchRotate\"]),I.interactive&&I.touchZoomRotate&&ie.touchZoomRotate.enable(I.touchZoomRotate);let lt=ie.scrollZoom=new ka(ie,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",lt,[\"mousePan\"]),I.interactive&&I.scrollZoom&&ie.scrollZoom.enable(I.scrollZoom);let pt=ie.keyboard=new xr(ie);this._add(\"keyboard\",pt),I.interactive&&I.keyboard&&ie.keyboard.enable(),this._add(\"blockableMapEvent\",new sl(ie))}_add(I,ie,Te){this._handlers.push({handlerName:I,handler:ie,allowed:Te}),this._handlersById[I]=ie}stop(I){if(!this._updatingCamera){for(let{handler:ie}of this._handlers)ie.reset();this._inertia.clear(),this._fireEvents({},{},I),this._changes=[]}}isActive(){for(let{handler:I}of this._handlers)if(I.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ni(this._eventsInProgress)||this.isZooming()}_blockedByActive(I,ie,Te){for(let Me in I)if(Me!==Te&&(!ie||ie.indexOf(Me)<0))return!0;return!1}_getMapTouches(I){let ie=[];for(let Te of I)this._el.contains(Te.target)&&ie.push(Te);return ie}mergeHandlerResult(I,ie,Te,Me,ze){if(!Te)return;t.e(I,Te);let ht={handlerName:Me,originalEvent:Te.originalEvent||ze};Te.zoomDelta!==void 0&&(ie.zoom=ht),Te.panDelta!==void 0&&(ie.drag=ht),Te.pitchDelta!==void 0&&(ie.pitch=ht),Te.bearingDelta!==void 0&&(ie.rotate=ht)}_applyChanges(){let I={},ie={},Te={};for(let[Me,ze,ht]of this._changes)Me.panDelta&&(I.panDelta=(I.panDelta||new t.P(0,0))._add(Me.panDelta)),Me.zoomDelta&&(I.zoomDelta=(I.zoomDelta||0)+Me.zoomDelta),Me.bearingDelta&&(I.bearingDelta=(I.bearingDelta||0)+Me.bearingDelta),Me.pitchDelta&&(I.pitchDelta=(I.pitchDelta||0)+Me.pitchDelta),Me.around!==void 0&&(I.around=Me.around),Me.pinchAround!==void 0&&(I.pinchAround=Me.pinchAround),Me.noInertia&&(I.noInertia=Me.noInertia),t.e(ie,ze),t.e(Te,ht);this._updateMapTransform(I,ie,Te),this._changes=[]}_updateMapTransform(I,ie,Te){let Me=this._map,ze=Me._getTransformForUpdate(),ht=Me.terrain;if(!(Sn(I)||ht&&this._terrainMovement))return this._fireEvents(ie,Te,!0);let{panDelta:wt,zoomDelta:Ot,bearingDelta:$t,pitchDelta:Ar,around:Sr,pinchAround:Kr}=I;Kr!==void 0&&(Sr=Kr),Me._stop(!0),Sr=Sr||Me.transform.centerPoint;let na=ze.pointLocation(wt?Sr.sub(wt):Sr);$t&&(ze.bearing+=$t),Ar&&(ze.pitch+=Ar),Ot&&(ze.zoom+=Ot),ht?this._terrainMovement||!ie.drag&&!ie.zoom?ie.drag&&this._terrainMovement?ze.center=ze.pointLocation(ze.centerPoint.sub(wt)):ze.setLocationAtPoint(na,Sr):(this._terrainMovement=!0,this._map._elevationFreeze=!0,ze.setLocationAtPoint(na,Sr)):ze.setLocationAtPoint(na,Sr),Me._applyUpdatedTransform(ze),this._map._update(),I.noInertia||this._inertia.record(I),this._fireEvents(ie,Te,!0)}_fireEvents(I,ie,Te){let Me=Ni(this._eventsInProgress),ze=Ni(I),ht={};for(let Sr in I){let{originalEvent:Kr}=I[Sr];this._eventsInProgress[Sr]||(ht[`${Sr}start`]=Kr),this._eventsInProgress[Sr]=I[Sr]}!Me&&ze&&this._fireEvent(\"movestart\",ze.originalEvent);for(let Sr in ht)this._fireEvent(Sr,ht[Sr]);ze&&this._fireEvent(\"move\",ze.originalEvent);for(let Sr in I){let{originalEvent:Kr}=I[Sr];this._fireEvent(Sr,Kr)}let wt={},Ot;for(let Sr in this._eventsInProgress){let{handlerName:Kr,originalEvent:na}=this._eventsInProgress[Sr];this._handlersById[Kr].isActive()||(delete this._eventsInProgress[Sr],Ot=ie[Kr]||na,wt[`${Sr}end`]=Ot)}for(let Sr in wt)this._fireEvent(Sr,wt[Sr]);let $t=Ni(this._eventsInProgress),Ar=(Me||ze)&&!$t;if(Ar&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Sr=this._map._getTransformForUpdate();Sr.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Sr)}if(Te&&Ar){this._updatingCamera=!0;let Sr=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Kr=na=>na!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:I})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class io extends t.E{constructor(I,ie){super(),this._renderFrameCallback=()=>{let Te=Math.min((n.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Te)),Te<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=I,this._bearingSnap=ie.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new t.N(this.transform.center.lng,this.transform.center.lat)}setCenter(I,ie){return this.jumpTo({center:I},ie)}panBy(I,ie,Te){return I=t.P.convert(I).mult(-1),this.panTo(this.transform.center,t.e({offset:I},ie),Te)}panTo(I,ie,Te){return this.easeTo(t.e({center:I},ie),Te)}getZoom(){return this.transform.zoom}setZoom(I,ie){return this.jumpTo({zoom:I},ie),this}zoomTo(I,ie,Te){return this.easeTo(t.e({zoom:I},ie),Te)}zoomIn(I,ie){return this.zoomTo(this.getZoom()+1,I,ie),this}zoomOut(I,ie){return this.zoomTo(this.getZoom()-1,I,ie),this}getBearing(){return this.transform.bearing}setBearing(I,ie){return this.jumpTo({bearing:I},ie),this}getPadding(){return this.transform.padding}setPadding(I,ie){return this.jumpTo({padding:I},ie),this}rotateTo(I,ie,Te){return this.easeTo(t.e({bearing:I},ie),Te)}resetNorth(I,ie){return this.rotateTo(0,t.e({duration:1e3},I),ie),this}resetNorthPitch(I,ie){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},I),ie),this}snapToNorth(I,ie){return Math.abs(this.getBearing()){if(this._zooming&&(Me.zoom=t.y.number(ze,lt,kr)),this._rotating&&(Me.bearing=t.y.number(ht,$t,kr)),this._pitching&&(Me.pitch=t.y.number(wt,Ar,kr)),this._padding&&(Me.interpolatePadding(Ot,Sr,kr),na=Me.centerPoint.add(Kr)),this.terrain&&!I.freezeElevation&&this._updateElevation(kr),Dt)Me.setLocationAtPoint(Dt,ur);else{let jr=Me.zoomScale(Me.zoom-ze),Qr=lt>ze?Math.min(2,bt):Math.max(.5,bt),ha=Math.pow(Qr,1-kr),Aa=Me.unproject(pt.add(Et.mult(kr*ha)).mult(jr));Me.setLocationAtPoint(Me.renderWorldCopies?Aa.wrap():Aa,na)}this._applyUpdatedTransform(Me),this._fireMoveEvents(ie)},kr=>{this.terrain&&I.freezeElevation&&this._finalizeElevation(),this._afterEase(ie,kr)},I),this}_prepareEase(I,ie,Te={}){this._moving=!0,ie||Te.moving||this.fire(new t.k(\"movestart\",I)),this._zooming&&!Te.zooming&&this.fire(new t.k(\"zoomstart\",I)),this._rotating&&!Te.rotating&&this.fire(new t.k(\"rotatestart\",I)),this._pitching&&!Te.pitching&&this.fire(new t.k(\"pitchstart\",I))}_prepareElevation(I){this._elevationCenter=I,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(I,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(I){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let ie=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(I<1&&ie!==this._elevationTarget){let Te=this._elevationTarget-this._elevationStart;this._elevationStart+=I*(Te-(ie-(Te*I+this._elevationStart))/(1-I)),this._elevationTarget=ie}this.transform.elevation=t.y.number(this._elevationStart,this._elevationTarget,I)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(I){let ie=I.getCameraPosition(),Te=this.terrain.getElevationForLngLatZoom(ie.lngLat,I.zoom);if(ie.altitudethis._elevateCameraIfInsideTerrain(Me)),this.transformCameraUpdate&&ie.push(Me=>this.transformCameraUpdate(Me)),!ie.length)return;let Te=I.clone();for(let Me of ie){let ze=Te.clone(),{center:ht,zoom:wt,pitch:Ot,bearing:$t,elevation:Ar}=Me(ze);ht&&(ze.center=ht),wt!==void 0&&(ze.zoom=wt),Ot!==void 0&&(ze.pitch=Ot),$t!==void 0&&(ze.bearing=$t),Ar!==void 0&&(ze.elevation=Ar),Te.apply(ze)}this.transform.apply(Te)}_fireMoveEvents(I){this.fire(new t.k(\"move\",I)),this._zooming&&this.fire(new t.k(\"zoom\",I)),this._rotating&&this.fire(new t.k(\"rotate\",I)),this._pitching&&this.fire(new t.k(\"pitch\",I))}_afterEase(I,ie){if(this._easeId&&ie&&this._easeId===ie)return;delete this._easeId;let Te=this._zooming,Me=this._rotating,ze=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Te&&this.fire(new t.k(\"zoomend\",I)),Me&&this.fire(new t.k(\"rotateend\",I)),ze&&this.fire(new t.k(\"pitchend\",I)),this.fire(new t.k(\"moveend\",I))}flyTo(I,ie){var Te;if(!I.essential&&n.prefersReducedMotion){let on=t.M(I,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(on,ie)}this.stop(),I=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b9},I);let Me=this._getTransformForUpdate(),ze=Me.zoom,ht=Me.bearing,wt=Me.pitch,Ot=Me.padding,$t=\"bearing\"in I?this._normalizeBearing(I.bearing,ht):ht,Ar=\"pitch\"in I?+I.pitch:wt,Sr=\"padding\"in I?I.padding:Me.padding,Kr=t.P.convert(I.offset),na=Me.centerPoint.add(Kr),qe=Me.pointLocation(na),{center:$e,zoom:lt}=Me.getConstrained(t.N.convert(I.center||qe),(Te=I.zoom)!==null&&Te!==void 0?Te:ze);this._normalizeCenter($e,Me);let pt=Me.zoomScale(lt-ze),Et=Me.project(qe),bt=Me.project($e).sub(Et),Dt=I.curve,ur=Math.max(Me.width,Me.height),yr=ur/pt,kr=bt.mag();if(\"minZoom\"in I){let on=t.ac(Math.min(I.minZoom,ze,lt),Me.minZoom,Me.maxZoom),An=ur/Me.zoomScale(on-ze);Dt=Math.sqrt(An/kr*2)}let jr=Dt*Dt;function Qr(on){let An=(yr*yr-ur*ur+(on?-1:1)*jr*jr*kr*kr)/(2*(on?yr:ur)*jr*kr);return Math.log(Math.sqrt(An*An+1)-An)}function ha(on){return(Math.exp(on)-Math.exp(-on))/2}function Aa(on){return(Math.exp(on)+Math.exp(-on))/2}let Da=Qr(!1),ci=function(on){return Aa(Da)/Aa(Da+Dt*on)},Vi=function(on){return ur*((Aa(Da)*(ha(An=Da+Dt*on)/Aa(An))-ha(Da))/jr)/kr;var An},ji=(Qr(!0)-Da)/Dt;if(Math.abs(kr)<1e-6||!isFinite(ji)){if(Math.abs(ur-yr)<1e-6)return this.easeTo(I,ie);let on=yr0,ci=An=>Math.exp(on*Dt*An)}return I.duration=\"duration\"in I?+I.duration:1e3*ji/(\"screenSpeed\"in I?+I.screenSpeed/Dt:+I.speed),I.maxDuration&&I.duration>I.maxDuration&&(I.duration=0),this._zooming=!0,this._rotating=ht!==$t,this._pitching=Ar!==wt,this._padding=!Me.isPaddingEqual(Sr),this._prepareEase(ie,!1),this.terrain&&this._prepareElevation($e),this._ease(on=>{let An=on*ji,Yn=1/ci(An);Me.zoom=on===1?lt:ze+Me.scaleZoom(Yn),this._rotating&&(Me.bearing=t.y.number(ht,$t,on)),this._pitching&&(Me.pitch=t.y.number(wt,Ar,on)),this._padding&&(Me.interpolatePadding(Ot,Sr,on),na=Me.centerPoint.add(Kr)),this.terrain&&!I.freezeElevation&&this._updateElevation(on);let Bn=on===1?$e:Me.unproject(Et.add(bt.mult(Vi(An))).mult(Yn));Me.setLocationAtPoint(Me.renderWorldCopies?Bn.wrap():Bn,na),this._applyUpdatedTransform(Me),this._fireMoveEvents(ie)},()=>{this.terrain&&I.freezeElevation&&this._finalizeElevation(),this._afterEase(ie)},I),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(I,ie){var Te;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let Me=this._onEaseEnd;delete this._onEaseEnd,Me.call(this,ie)}return I||(Te=this.handlers)===null||Te===void 0||Te.stop(!1),this}_ease(I,ie,Te){Te.animate===!1||Te.duration===0?(I(1),ie()):(this._easeStart=n.now(),this._easeOptions=Te,this._onEaseFrame=I,this._onEaseEnd=ie,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(I,ie){I=t.b3(I,-180,180);let Te=Math.abs(I-ie);return Math.abs(I-360-ie)180?-360:Te<-180?360:0}queryTerrainElevation(I){return this.terrain?this.terrain.getElevationForLngLatZoom(t.N.convert(I),this.transform.tileZoom)-this.transform.elevation:null}}let eo={compact:!0,customAttribution:'MapLibre'};class co{constructor(I=eo){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=ie=>{!ie||ie.sourceDataType!==\"metadata\"&&ie.sourceDataType!==\"visibility\"&&ie.dataType!==\"style\"&&ie.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=I}getDefaultPosition(){return\"bottom-right\"}onAdd(I){return this._map=I,this._compact=this.options.compact,this._container=i.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=i.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=i.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){i.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(I,ie){let Te=this._map._getUIString(`AttributionControl.${ie}`);I.title=Te,I.setAttribute(\"aria-label\",Te)}_updateAttributions(){if(!this._map.style)return;let I=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?I=I.concat(this.options.customAttribution.map(Me=>typeof Me!=\"string\"?\"\":Me)):typeof this.options.customAttribution==\"string\"&&I.push(this.options.customAttribution)),this._map.style.stylesheet){let Me=this._map.style.stylesheet;this.styleOwner=Me.owner,this.styleId=Me.id}let ie=this._map.style.sourceCaches;for(let Me in ie){let ze=ie[Me];if(ze.used||ze.usedForTerrain){let ht=ze.getSource();ht.attribution&&I.indexOf(ht.attribution)<0&&I.push(ht.attribution)}}I=I.filter(Me=>String(Me).trim()),I.sort((Me,ze)=>Me.length-ze.length),I=I.filter((Me,ze)=>{for(let ht=ze+1;ht=0)return!1;return!0});let Te=I.join(\" | \");Te!==this._attribHTML&&(this._attribHTML=Te,I.length?(this._innerContainer.innerHTML=Te,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Tn{constructor(I={}){this._updateCompact=()=>{let ie=this._container.children;if(ie.length){let Te=ie[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Te.classList.add(\"maplibregl-compact\"):Te.classList.remove(\"maplibregl-compact\")}},this.options=I}getDefaultPosition(){return\"bottom-left\"}onAdd(I){this._map=I,this._compact=this.options&&this.options.compact,this._container=i.create(\"div\",\"maplibregl-ctrl\");let ie=i.create(\"a\",\"maplibregl-ctrl-logo\");return ie.target=\"_blank\",ie.rel=\"noopener nofollow\",ie.href=\"https://maplibre.org/\",ie.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),ie.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(ie),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){i.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class un{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(I){let ie=++this._id;return this._queue.push({callback:I,id:ie,cancelled:!1}),ie}remove(I){let ie=this._currentlyRunning,Te=ie?this._queue.concat(ie):this._queue;for(let Me of Te)if(Me.id===I)return void(Me.cancelled=!0)}run(I=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let ie=this._currentlyRunning=this._queue;this._queue=[];for(let Te of ie)if(!Te.cancelled&&(Te.callback(I),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var yo=t.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class Qo extends t.E{constructor(I){super(),this.sourceCache=I,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,I.usedForTerrain=!0,I.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(I,ie){this.sourceCache.update(I,ie),this._renderableTilesKeys=[];let Te={};for(let Me of I.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:ie}))Te[Me.key]=!0,this._renderableTilesKeys.push(Me.key),this._tiles[Me.key]||(Me.posMatrix=new Float64Array(16),t.aP(Me.posMatrix,0,t.X,0,t.X,0,1),this._tiles[Me.key]=new rt(Me,this.tileSize));for(let Me in this._tiles)Te[Me]||delete this._tiles[Me]}freeRtt(I){for(let ie in this._tiles){let Te=this._tiles[ie];(!I||Te.tileID.equals(I)||Te.tileID.isChildOf(I)||I.isChildOf(Te.tileID))&&(Te.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(I=>this.getTileByID(I))}getTileByID(I){return this._tiles[I]}getTerrainCoords(I){let ie={};for(let Te of this._renderableTilesKeys){let Me=this._tiles[Te].tileID;if(Me.canonical.equals(I.canonical)){let ze=I.clone();ze.posMatrix=new Float64Array(16),t.aP(ze.posMatrix,0,t.X,0,t.X,0,1),ie[Te]=ze}else if(Me.canonical.isChildOf(I.canonical)){let ze=I.clone();ze.posMatrix=new Float64Array(16);let ht=Me.canonical.z-I.canonical.z,wt=Me.canonical.x-(Me.canonical.x>>ht<>ht<>ht;t.aP(ze.posMatrix,0,$t,0,$t,0,1),t.J(ze.posMatrix,ze.posMatrix,[-wt*$t,-Ot*$t,0]),ie[Te]=ze}else if(I.canonical.isChildOf(Me.canonical)){let ze=I.clone();ze.posMatrix=new Float64Array(16);let ht=I.canonical.z-Me.canonical.z,wt=I.canonical.x-(I.canonical.x>>ht<>ht<>ht;t.aP(ze.posMatrix,0,t.X,0,t.X,0,1),t.J(ze.posMatrix,ze.posMatrix,[wt*$t,Ot*$t,0]),t.K(ze.posMatrix,ze.posMatrix,[1/2**ht,1/2**ht,0]),ie[Te]=ze}}return ie}getSourceTile(I,ie){let Te=this.sourceCache._source,Me=I.overscaledZ-this.deltaZoom;if(Me>Te.maxzoom&&(Me=Te.maxzoom),Me=Te.minzoom&&(!ze||!ze.dem);)ze=this.sourceCache.getTileByID(I.scaledTo(Me--).key);return ze}tilesAfterTime(I=Date.now()){return Object.values(this._tiles).filter(ie=>ie.timeAdded>=I)}}class Es{constructor(I,ie,Te){this.painter=I,this.sourceCache=new Qo(ie),this.options=Te,this.exaggeration=typeof Te.exaggeration==\"number\"?Te.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(I,ie,Te,Me=t.X){var ze;if(!(ie>=0&&ie=0&&TeI.canonical.z&&(I.canonical.z>=Me?ze=I.canonical.z-Me:t.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let ht=I.canonical.x-(I.canonical.x>>ze<>ze<>8<<4|ze>>8,ie[ht+3]=0;let Te=new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(ie.buffer)),Me=new u(I,Te,I.gl.RGBA,{premultiply:!1});return Me.bind(I.gl.NEAREST,I.gl.CLAMP_TO_EDGE),this._coordsTexture=Me,Me}pointCoordinate(I){this.painter.maybeDrawDepthAndCoords(!0);let ie=new Uint8Array(4),Te=this.painter.context,Me=Te.gl,ze=Math.round(I.x*this.painter.pixelRatio/devicePixelRatio),ht=Math.round(I.y*this.painter.pixelRatio/devicePixelRatio),wt=Math.round(this.painter.height/devicePixelRatio);Te.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),Me.readPixels(ze,wt-ht-1,1,1,Me.RGBA,Me.UNSIGNED_BYTE,ie),Te.bindFramebuffer.set(null);let Ot=ie[0]+(ie[2]>>4<<8),$t=ie[1]+((15&ie[2])<<8),Ar=this.coordsIndex[255-ie[3]],Sr=Ar&&this.sourceCache.getTileByID(Ar);if(!Sr)return null;let Kr=this._coordsTextureSize,na=(1<I.id!==ie),this._recentlyUsed.push(I.id)}stampObject(I){I.stamp=++this._stamp}getOrCreateFreeObject(){for(let ie of this._recentlyUsed)if(!this._objects[ie].inUse)return this._objects[ie];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let I=this._createObject(this._objects.length);return this._objects.push(I),I}freeObject(I){I.inUse=!1}freeAllObjects(){for(let I of this._objects)this.freeObject(I)}isFull(){return!(this._objects.length!I.inUse)===!1}}let Ns={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class el{constructor(I,ie){this.painter=I,this.terrain=ie,this.pool=new rl(I.context,30,ie.sourceCache.tileSize*ie.qualityFactor)}destruct(){this.pool.destruct()}getTexture(I){return this.pool.getObjectForId(I.rtt[this._stacks.length-1].id).texture}prepareForRender(I,ie){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=I._order.filter(Te=>!I._layers[Te].isHidden(ie)),this._coordsDescendingInv={};for(let Te in I.sourceCaches){this._coordsDescendingInv[Te]={};let Me=I.sourceCaches[Te].getVisibleCoordinates();for(let ze of Me){let ht=this.terrain.sourceCache.getTerrainCoords(ze);for(let wt in ht)this._coordsDescendingInv[Te][wt]||(this._coordsDescendingInv[Te][wt]=[]),this._coordsDescendingInv[Te][wt].push(ht[wt])}}this._coordsDescendingInvStr={};for(let Te of I._order){let Me=I._layers[Te],ze=Me.source;if(Ns[Me.type]&&!this._coordsDescendingInvStr[ze]){this._coordsDescendingInvStr[ze]={};for(let ht in this._coordsDescendingInv[ze])this._coordsDescendingInvStr[ze][ht]=this._coordsDescendingInv[ze][ht].map(wt=>wt.key).sort().join()}}for(let Te of this._renderableTiles)for(let Me in this._coordsDescendingInvStr){let ze=this._coordsDescendingInvStr[Me][Te.tileID.key];ze&&ze!==Te.rttCoords[Me]&&(Te.rtt=[])}}renderLayer(I){if(I.isHidden(this.painter.transform.zoom))return!1;let ie=I.type,Te=this.painter,Me=this._renderableLayerIds[this._renderableLayerIds.length-1]===I.id;if(Ns[ie]&&(this._prevType&&Ns[this._prevType]||this._stacks.push([]),this._prevType=ie,this._stacks[this._stacks.length-1].push(I.id),!Me))return!0;if(Ns[this._prevType]||Ns[ie]&&Me){this._prevType=ie;let ze=this._stacks.length-1,ht=this._stacks[ze]||[];for(let wt of this._renderableTiles){if(this.pool.isFull()&&(ml(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(wt),wt.rtt[ze]){let $t=this.pool.getObjectForId(wt.rtt[ze].id);if($t.stamp===wt.rtt[ze].stamp){this.pool.useObject($t);continue}}let Ot=this.pool.getOrCreateFreeObject();this.pool.useObject(Ot),this.pool.stampObject(Ot),wt.rtt[ze]={id:Ot.id,stamp:Ot.stamp},Te.context.bindFramebuffer.set(Ot.fbo.framebuffer),Te.context.clear({color:t.aM.transparent,stencil:0}),Te.currentStencilSource=void 0;for(let $t=0;$t{Fe.touchstart=Fe.dragStart,Fe.touchmoveWindow=Fe.dragMove,Fe.touchend=Fe.dragEnd},Un={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ro{constructor(I,ie,Te=!1){this.mousedown=ht=>{this.startMouse(t.e({},ht,{ctrlKey:!0,preventDefault:()=>ht.preventDefault()}),i.mousePos(this.element,ht)),i.addEventListener(window,\"mousemove\",this.mousemove),i.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=ht=>{this.moveMouse(ht,i.mousePos(this.element,ht))},this.mouseup=ht=>{this.mouseRotate.dragEnd(ht),this.mousePitch&&this.mousePitch.dragEnd(ht),this.offTemp()},this.touchstart=ht=>{ht.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=i.touchPos(this.element,ht.targetTouches)[0],this.startTouch(ht,this._startPos),i.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=ht=>{ht.targetTouches.length!==1?this.reset():(this._lastPos=i.touchPos(this.element,ht.targetTouches)[0],this.moveTouch(ht,this._lastPos))},this.touchend=ht=>{ht.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let Me=I.dragRotate._mouseRotate.getClickTolerance(),ze=I.dragRotate._mousePitch.getClickTolerance();this.element=ie,this.mouseRotate=nu({clickTolerance:Me,enable:!0}),this.touchRotate=(({enable:ht,clickTolerance:wt,bearingDegreesPerPixelMoved:Ot=.8})=>{let $t=new Jc;return new Hu({clickTolerance:wt,move:(Ar,Sr)=>({bearingDelta:(Sr.x-Ar.x)*Ot}),moveStateManager:$t,enable:ht,assignEvents:ll})})({clickTolerance:Me,enable:!0}),this.map=I,Te&&(this.mousePitch=Vf({clickTolerance:ze,enable:!0}),this.touchPitch=(({enable:ht,clickTolerance:wt,pitchDegreesPerPixelMoved:Ot=-.5})=>{let $t=new Jc;return new Hu({clickTolerance:wt,move:(Ar,Sr)=>({pitchDelta:(Sr.y-Ar.y)*Ot}),moveStateManager:$t,enable:ht,assignEvents:ll})})({clickTolerance:ze,enable:!0})),i.addEventListener(ie,\"mousedown\",this.mousedown),i.addEventListener(ie,\"touchstart\",this.touchstart,{passive:!1}),i.addEventListener(ie,\"touchcancel\",this.reset)}startMouse(I,ie){this.mouseRotate.dragStart(I,ie),this.mousePitch&&this.mousePitch.dragStart(I,ie),i.disableDrag()}startTouch(I,ie){this.touchRotate.dragStart(I,ie),this.touchPitch&&this.touchPitch.dragStart(I,ie),i.disableDrag()}moveMouse(I,ie){let Te=this.map,{bearingDelta:Me}=this.mouseRotate.dragMove(I,ie)||{};if(Me&&Te.setBearing(Te.getBearing()+Me),this.mousePitch){let{pitchDelta:ze}=this.mousePitch.dragMove(I,ie)||{};ze&&Te.setPitch(Te.getPitch()+ze)}}moveTouch(I,ie){let Te=this.map,{bearingDelta:Me}=this.touchRotate.dragMove(I,ie)||{};if(Me&&Te.setBearing(Te.getBearing()+Me),this.touchPitch){let{pitchDelta:ze}=this.touchPitch.dragMove(I,ie)||{};ze&&Te.setPitch(Te.getPitch()+ze)}}off(){let I=this.element;i.removeEventListener(I,\"mousedown\",this.mousedown),i.removeEventListener(I,\"touchstart\",this.touchstart,{passive:!1}),i.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.removeEventListener(window,\"touchend\",this.touchend),i.removeEventListener(I,\"touchcancel\",this.reset),this.offTemp()}offTemp(){i.enableDrag(),i.removeEventListener(window,\"mousemove\",this.mousemove),i.removeEventListener(window,\"mouseup\",this.mouseup),i.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.removeEventListener(window,\"touchend\",this.touchend)}}let Js;function Fs(Fe,I,ie){let Te=new t.N(Fe.lng,Fe.lat);if(Fe=new t.N(Fe.lng,Fe.lat),I){let Me=new t.N(Fe.lng-360,Fe.lat),ze=new t.N(Fe.lng+360,Fe.lat),ht=ie.locationPoint(Fe).distSqr(I);ie.locationPoint(Me).distSqr(I)180;){let Me=ie.locationPoint(Fe);if(Me.x>=0&&Me.y>=0&&Me.x<=ie.width&&Me.y<=ie.height)break;Fe.lng>ie.center.lng?Fe.lng-=360:Fe.lng+=360}return Fe.lng!==Te.lng&&ie.locationPoint(Fe).y>ie.height/2-ie.getHorizon()?Fe:Te}let cu={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 Iu(Fe,I,ie){let Te=Fe.classList;for(let Me in cu)Te.remove(`maplibregl-${ie}-anchor-${Me}`);Te.add(`maplibregl-${ie}-anchor-${I}`)}class Zu extends t.E{constructor(I){if(super(),this._onKeyPress=ie=>{let Te=ie.code,Me=ie.charCode||ie.keyCode;Te!==\"Space\"&&Te!==\"Enter\"&&Me!==32&&Me!==13||this.togglePopup()},this._onMapClick=ie=>{let Te=ie.originalEvent.target,Me=this._element;this._popup&&(Te===Me||Me.contains(Te))&&this.togglePopup()},this._update=ie=>{var Te;if(!this._map)return;let Me=this._map.loaded()&&!this._map.isMoving();(ie?.type===\"terrain\"||ie?.type===\"render\"&&!Me)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Fs(this._lngLat,this._flatPos,this._map.transform):(Te=this._lngLat)===null||Te===void 0?void 0:Te.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let ze=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?ze=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(ze=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let ht=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?ht=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(ht=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||ie&&ie.type!==\"moveend\"||(this._pos=this._pos.round()),i.setTransform(this._element,`${cu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${ht} ${ze}`),n.frameAsync(new AbortController).then(()=>{this._updateOpacity(ie&&ie.type===\"moveend\")}).catch(()=>{})},this._onMove=ie=>{if(!this._isDragging){let Te=this._clickTolerance||this._map._clickTolerance;this._isDragging=ie.point.dist(this._pointerdownPos)>=Te}this._isDragging&&(this._pos=ie.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new t.k(\"dragstart\"))),this.fire(new t.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new t.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=ie=>{this._element.contains(ie.originalEvent.target)&&(ie.preventDefault(),this._positionDelta=ie.point.sub(this._pos).add(this._offset),this._pointerdownPos=ie.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=I&&I.anchor||\"center\",this._color=I&&I.color||\"#3FB1CE\",this._scale=I&&I.scale||1,this._draggable=I&&I.draggable||!1,this._clickTolerance=I&&I.clickTolerance||0,this._subpixelPositioning=I&&I.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=I&&I.rotation||0,this._rotationAlignment=I&&I.rotationAlignment||\"auto\",this._pitchAlignment=I&&I.pitchAlignment&&I.pitchAlignment!==\"auto\"?I.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(I?.opacity,I?.opacityWhenCovered),I&&I.element)this._element=I.element,this._offset=t.P.convert(I&&I.offset||[0,0]);else{this._defaultMarker=!0,this._element=i.create(\"div\");let ie=i.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Te=41,Me=27;ie.setAttributeNS(null,\"display\",\"block\"),ie.setAttributeNS(null,\"height\",`${Te}px`),ie.setAttributeNS(null,\"width\",`${Me}px`),ie.setAttributeNS(null,\"viewBox\",`0 0 ${Me} ${Te}`);let ze=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");ze.setAttributeNS(null,\"stroke\",\"none\"),ze.setAttributeNS(null,\"stroke-width\",\"1\"),ze.setAttributeNS(null,\"fill\",\"none\"),ze.setAttributeNS(null,\"fill-rule\",\"evenodd\");let ht=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");ht.setAttributeNS(null,\"fill-rule\",\"nonzero\");let wt=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");wt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),wt.setAttributeNS(null,\"fill\",\"#000000\");let Ot=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let pt of Ot){let Et=i.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Et.setAttributeNS(null,\"opacity\",\"0.04\"),Et.setAttributeNS(null,\"cx\",\"10.5\"),Et.setAttributeNS(null,\"cy\",\"5.80029008\"),Et.setAttributeNS(null,\"rx\",pt.rx),Et.setAttributeNS(null,\"ry\",pt.ry),wt.appendChild(Et)}let $t=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");$t.setAttributeNS(null,\"fill\",this._color);let Ar=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");Ar.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\"),$t.appendChild(Ar);let Sr=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");Sr.setAttributeNS(null,\"opacity\",\"0.25\"),Sr.setAttributeNS(null,\"fill\",\"#000000\");let Kr=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");Kr.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\"),Sr.appendChild(Kr);let na=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");na.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),na.setAttributeNS(null,\"fill\",\"#FFFFFF\");let qe=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");qe.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let $e=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");$e.setAttributeNS(null,\"fill\",\"#000000\"),$e.setAttributeNS(null,\"opacity\",\"0.25\"),$e.setAttributeNS(null,\"cx\",\"5.5\"),$e.setAttributeNS(null,\"cy\",\"5.5\"),$e.setAttributeNS(null,\"r\",\"5.4999962\");let lt=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");lt.setAttributeNS(null,\"fill\",\"#FFFFFF\"),lt.setAttributeNS(null,\"cx\",\"5.5\"),lt.setAttributeNS(null,\"cy\",\"5.5\"),lt.setAttributeNS(null,\"r\",\"5.4999962\"),qe.appendChild($e),qe.appendChild(lt),ht.appendChild(wt),ht.appendChild($t),ht.appendChild(Sr),ht.appendChild(na),ht.appendChild(qe),ie.appendChild(ht),ie.setAttributeNS(null,\"height\",Te*this._scale+\"px\"),ie.setAttributeNS(null,\"width\",Me*this._scale+\"px\"),this._element.appendChild(ie),this._offset=t.P.convert(I&&I.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",ie=>{ie.preventDefault()}),this._element.addEventListener(\"mousedown\",ie=>{ie.preventDefault()}),Iu(this._element,this._anchor,\"marker\"),I&&I.className)for(let ie of I.className.split(\" \"))this._element.classList.add(ie);this._popup=null}addTo(I){return this.remove(),this._map=I,this._element.setAttribute(\"aria-label\",I._getUIString(\"Marker.Title\")),I.getCanvasContainer().appendChild(this._element),I.on(\"move\",this._update),I.on(\"moveend\",this._update),I.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"terrain\",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),i.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(I){return this._lngLat=t.N.convert(I),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(I){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),I){if(!(\"offset\"in I.options)){let Me=Math.abs(13.5)/Math.SQRT2;I.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[Me,-1*(38.1-13.5+Me)],\"bottom-right\":[-Me,-1*(38.1-13.5+Me)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=I,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(I){return this._subpixelPositioning=I,this}getPopup(){return this._popup}togglePopup(){let I=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:I?(I.isOpen()?I.remove():(I.setLngLat(this._lngLat),I.addTo(this._map)),this):this}_updateOpacity(I=!1){var ie,Te;if(!(!((ie=this._map)===null||ie===void 0)&&ie.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(I)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let Me=this._map,ze=Me.terrain.depthAtPoint(this._pos),ht=Me.terrain.getElevationForLngLatZoom(this._lngLat,Me.transform.tileZoom);if(Me.transform.lngLatToCameraDepth(this._lngLat,ht)-ze<.006)return void(this._element.style.opacity=this._opacity);let wt=-this._offset.y/Me.transform._pixelPerMeter,Ot=Math.sin(Me.getPitch()*Math.PI/180)*wt,$t=Me.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),Ar=Me.transform.lngLatToCameraDepth(this._lngLat,ht+Ot)-$t>.006;!((Te=this._popup)===null||Te===void 0)&&Te.isOpen()&&Ar&&this._popup.remove(),this._element.style.opacity=Ar?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(I){return this._offset=t.P.convert(I),this._update(),this}addClassName(I){this._element.classList.add(I)}removeClassName(I){this._element.classList.remove(I)}toggleClassName(I){return this._element.classList.toggle(I)}setDraggable(I){return this._draggable=!!I,this._map&&(I?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(I){return this._rotation=I||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(I){return this._rotationAlignment=I||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(I){return this._pitchAlignment=I&&I!==\"auto\"?I:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(I,ie){return I===void 0&&ie===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),I!==void 0&&(this._opacity=I),ie!==void 0&&(this._opacityWhenCovered=ie),this._map&&this._updateOpacity(!0),this}}let Ic={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Rc=!1,Au={maxWidth:100,unit:\"metric\"};function yc(Fe,I,ie){let Te=ie&&ie.maxWidth||100,Me=Fe._container.clientHeight/2,ze=Fe.unproject([0,Me]),ht=Fe.unproject([Te,Me]),wt=ze.distanceTo(ht);if(ie&&ie.unit===\"imperial\"){let Ot=3.2808*wt;Ot>5280?fo(I,Te,Ot/5280,Fe._getUIString(\"ScaleControl.Miles\")):fo(I,Te,Ot,Fe._getUIString(\"ScaleControl.Feet\"))}else ie&&ie.unit===\"nautical\"?fo(I,Te,wt/1852,Fe._getUIString(\"ScaleControl.NauticalMiles\")):wt>=1e3?fo(I,Te,wt/1e3,Fe._getUIString(\"ScaleControl.Kilometers\")):fo(I,Te,wt,Fe._getUIString(\"ScaleControl.Meters\"))}function fo(Fe,I,ie,Te){let Me=function(ze){let ht=Math.pow(10,`${Math.floor(ze)}`.length-1),wt=ze/ht;return wt=wt>=10?10:wt>=5?5:wt>=3?3:wt>=2?2:wt>=1?1:function(Ot){let $t=Math.pow(10,Math.ceil(-Math.log(Ot)/Math.LN10));return Math.round(Ot*$t)/$t}(wt),ht*wt}(ie);Fe.style.width=I*(Me/ie)+\"px\",Fe.innerHTML=`${Me} ${Te}`}let Fo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Dc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function lc(Fe){if(Fe){if(typeof Fe==\"number\"){let I=Math.round(Math.abs(Fe)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,Fe),\"top-left\":new t.P(I,I),\"top-right\":new t.P(-I,I),bottom:new t.P(0,-Fe),\"bottom-left\":new t.P(I,-I),\"bottom-right\":new t.P(-I,-I),left:new t.P(Fe,0),right:new t.P(-Fe,0)}}if(Fe instanceof t.P||Array.isArray(Fe)){let I=t.P.convert(Fe);return{center:I,top:I,\"top-left\":I,\"top-right\":I,bottom:I,\"bottom-left\":I,\"bottom-right\":I,left:I,right:I}}return{center:t.P.convert(Fe.center||[0,0]),top:t.P.convert(Fe.top||[0,0]),\"top-left\":t.P.convert(Fe[\"top-left\"]||[0,0]),\"top-right\":t.P.convert(Fe[\"top-right\"]||[0,0]),bottom:t.P.convert(Fe.bottom||[0,0]),\"bottom-left\":t.P.convert(Fe[\"bottom-left\"]||[0,0]),\"bottom-right\":t.P.convert(Fe[\"bottom-right\"]||[0,0]),left:t.P.convert(Fe.left||[0,0]),right:t.P.convert(Fe.right||[0,0])}}return lc(new t.P(0,0))}let Yu=r;e.AJAXError=t.bh,e.Evented=t.E,e.LngLat=t.N,e.MercatorCoordinate=t.Z,e.Point=t.P,e.addProtocol=t.bi,e.config=t.a,e.removeProtocol=t.bj,e.AttributionControl=co,e.BoxZoomHandler=Pu,e.CanvasSource=tt,e.CooperativeGesturesHandler=Di,e.DoubleClickZoomHandler=li,e.DragPanHandler=Qi,e.DragRotateHandler=pn,e.EdgeInsets=yu,e.FullscreenControl=class extends t.E{constructor(Fe={}){super(),this._onFullscreenChange=()=>{var I;let ie=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((I=ie?.shadowRoot)===null||I===void 0)&&I.fullscreenElement;)ie=ie.shadowRoot.fullscreenElement;ie===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,Fe&&Fe.container&&(Fe.container instanceof HTMLElement?this._container=Fe.container:t.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(Fe){return this._map=Fe,this._container||(this._container=this._map.getContainer()),this._controlContainer=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){i.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let Fe=this._fullscreenButton=i.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);i.create(\"span\",\"maplibregl-ctrl-icon\",Fe).setAttribute(\"aria-hidden\",\"true\"),Fe.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let Fe=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",Fe),this._fullscreenButton.title=Fe}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new t.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=Re,e.GeolocateControl=class extends t.E{constructor(Fe){super(),this._onSuccess=I=>{if(this._map){if(this._isOutOfMapMaxBounds(I))return this._setErrorState(),this.fire(new t.k(\"outofmaxbounds\",I)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=I,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(I),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(I),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new t.k(\"geolocate\",I)),this._finish()}},this._updateCamera=I=>{let ie=new t.N(I.coords.longitude,I.coords.latitude),Te=I.coords.accuracy,Me=this._map.getBearing(),ze=t.e({bearing:Me},this.options.fitBoundsOptions),ht=re.fromLngLat(ie,Te);this._map.fitBounds(ht,ze,{geolocateSource:!0})},this._updateMarker=I=>{if(I){let ie=new t.N(I.coords.longitude,I.coords.latitude);this._accuracyCircleMarker.setLngLat(ie).addTo(this._map),this._userLocationDotMarker.setLngLat(ie).addTo(this._map),this._accuracy=I.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=I=>{if(this._map){if(this.options.trackUserLocation)if(I.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let ie=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=ie,this._geolocateButton.setAttribute(\"aria-label\",ie),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(I.code===3&&Rc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new t.k(\"error\",I)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",I=>I.preventDefault()),this._geolocateButton=i.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),i.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=I=>{if(this._map){if(I===!1){t.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let ie=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=ie,this._geolocateButton.setAttribute(\"aria-label\",ie)}else{let ie=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=ie,this._geolocateButton.setAttribute(\"aria-label\",ie)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=i.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Zu({element:this._dotElement}),this._circleElement=i.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Zu({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",ie=>{ie.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||ie.originalEvent&&ie.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new t.k(\"trackuserlocationend\")),this.fire(new t.k(\"userlocationlostfocus\")))})}},this.options=t.e({},Ic,Fe)}onAdd(Fe){return this._map=Fe,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return t._(this,arguments,void 0,function*(I=!1){if(Js!==void 0&&!I)return Js;if(window.navigator.permissions===void 0)return Js=!!window.navigator.geolocation,Js;try{Js=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch{Js=!!window.navigator.geolocation}return Js})}().then(I=>this._finishSetupUI(I)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),i.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Rc=!1}_isOutOfMapMaxBounds(Fe){let I=this._map.getMaxBounds(),ie=Fe.coords;return I&&(ie.longitudeI.getEast()||ie.latitudeI.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let Fe=this._map.getBounds(),I=Fe.getSouthEast(),ie=Fe.getNorthEast(),Te=I.distanceTo(ie),Me=Math.ceil(this._accuracy/(Te/this._map._container.clientHeight)*2);this._circleElement.style.width=`${Me}px`,this._circleElement.style.height=`${Me}px`}trigger(){if(!this._setup)return t.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Rc=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new t.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.k(\"trackuserlocationstart\")),this.fire(new t.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let Fe;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(Fe={maximumAge:6e5,timeout:0},Rc=!0):(Fe=this.options.positionOptions,Rc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,Fe)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},e.Hash=Qf,e.ImageSource=at,e.KeyboardHandler=xr,e.LngLatBounds=re,e.LogoControl=Tn,e.Map=class extends io{constructor(Fe){t.bf.mark(t.bg.create);let I=Object.assign(Object.assign({},yl),Fe);if(I.minZoom!=null&&I.maxZoom!=null&&I.minZoom>I.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(I.minPitch!=null&&I.maxPitch!=null&&I.minPitch>I.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(I.minPitch!=null&&I.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(I.maxPitch!=null&&I.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Ml(I.minZoom,I.maxZoom,I.minPitch,I.maxPitch,I.renderWorldCopies),{bearingSnap:I.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new un,this._controls=[],this._mapId=t.a4(),this._contextLost=ie=>{ie.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k(\"webglcontextlost\",{originalEvent:ie}))},this._contextRestored=ie=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k(\"webglcontextrestored\",{originalEvent:ie}))},this._onMapScroll=ie=>{if(ie.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=I.interactive,this._maxTileCacheSize=I.maxTileCacheSize,this._maxTileCacheZoomLevels=I.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=I.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=I.preserveDrawingBuffer===!0,this._antialias=I.antialias===!0,this._trackResize=I.trackResize===!0,this._bearingSnap=I.bearingSnap,this._refreshExpiredTiles=I.refreshExpiredTiles===!0,this._fadeDuration=I.fadeDuration,this._crossSourceCollisions=I.crossSourceCollisions===!0,this._collectResourceTiming=I.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},As),I.locale),this._clickTolerance=I.clickTolerance,this._overridePixelRatio=I.pixelRatio,this._maxCanvasSize=I.maxCanvasSize,this.transformCameraUpdate=I.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=I.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=l.addThrottleControl(()=>this.isMoving()),this._requestManager=new x(I.transformRequest),typeof I.container==\"string\"){if(this._container=document.getElementById(I.container),!this._container)throw new Error(`Container '${I.container}' not found.`)}else{if(!(I.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=I.container}if(I.maxBounds&&this.setMaxBounds(I.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)).on(\"moveend\",()=>this._update(!1)).on(\"zoom\",()=>this._update(!0)).on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once(\"idle\",()=>{this._idleTriggered=!0}),typeof window<\"u\"){addEventListener(\"online\",this._onWindowOnline,!1);let ie=!1,Te=qf(Me=>{this._trackResize&&!this._removed&&(this.resize(Me),this.redraw())},50);this._resizeObserver=new ResizeObserver(Me=>{ie?Te(Me):ie=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Qn(this,I),this._hash=I.hash&&new Qf(typeof I.hash==\"string\"&&I.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:I.center,zoom:I.zoom,bearing:I.bearing,pitch:I.pitch}),I.bounds&&(this.resize(),this.fitBounds(I.bounds,t.e({},I.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=I.localIdeographFontFamily,this._validateStyle=I.validateStyle,I.style&&this.setStyle(I.style,{localIdeographFontFamily:I.localIdeographFontFamily}),I.attributionControl&&this.addControl(new co(typeof I.attributionControl==\"boolean\"?void 0:I.attributionControl)),I.maplibreLogo&&this.addControl(new Tn,I.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",ie=>{this._update(ie.dataType===\"style\"),this.fire(new t.k(`${ie.dataType}data`,ie))}),this.on(\"dataloading\",ie=>{this.fire(new t.k(`${ie.dataType}dataloading`,ie))}),this.on(\"dataabort\",ie=>{this.fire(new t.k(\"sourcedataabort\",ie))})}_getMapId(){return this._mapId}addControl(Fe,I){if(I===void 0&&(I=Fe.getDefaultPosition?Fe.getDefaultPosition():\"top-right\"),!Fe||!Fe.onAdd)return this.fire(new t.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let ie=Fe.onAdd(this);this._controls.push(Fe);let Te=this._controlPositions[I];return I.indexOf(\"bottom\")!==-1?Te.insertBefore(ie,Te.firstChild):Te.appendChild(ie),this}removeControl(Fe){if(!Fe||!Fe.onRemove)return this.fire(new t.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let I=this._controls.indexOf(Fe);return I>-1&&this._controls.splice(I,1),Fe.onRemove(this),this}hasControl(Fe){return this._controls.indexOf(Fe)>-1}calculateCameraOptionsFromTo(Fe,I,ie,Te){return Te==null&&this.terrain&&(Te=this.terrain.getElevationForLngLatZoom(ie,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(Fe,I,ie,Te)}resize(Fe){var I;let ie=this._containerDimensions(),Te=ie[0],Me=ie[1],ze=this._getClampedPixelRatio(Te,Me);if(this._resizeCanvas(Te,Me,ze),this.painter.resize(Te,Me,ze),this.painter.overLimit()){let wt=this.painter.context.gl;this._maxCanvasSize=[wt.drawingBufferWidth,wt.drawingBufferHeight];let Ot=this._getClampedPixelRatio(Te,Me);this._resizeCanvas(Te,Me,Ot),this.painter.resize(Te,Me,Ot)}this.transform.resize(Te,Me),(I=this._requestedCameraState)===null||I===void 0||I.resize(Te,Me);let ht=!this._moving;return ht&&(this.stop(),this.fire(new t.k(\"movestart\",Fe)).fire(new t.k(\"move\",Fe))),this.fire(new t.k(\"resize\",Fe)),ht&&this.fire(new t.k(\"moveend\",Fe)),this}_getClampedPixelRatio(Fe,I){let{0:ie,1:Te}=this._maxCanvasSize,Me=this.getPixelRatio(),ze=Fe*Me,ht=I*Me;return Math.min(ze>ie?ie/ze:1,ht>Te?Te/ht:1)*Me}getPixelRatio(){var Fe;return(Fe=this._overridePixelRatio)!==null&&Fe!==void 0?Fe:devicePixelRatio}setPixelRatio(Fe){this._overridePixelRatio=Fe,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(Fe){return this.transform.setMaxBounds(re.convert(Fe)),this._update()}setMinZoom(Fe){if((Fe=Fe??-2)>=-2&&Fe<=this.transform.maxZoom)return this.transform.minZoom=Fe,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=Fe,this._update(),this.getZoom()>Fe&&this.setZoom(Fe),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(Fe){if((Fe=Fe??0)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(Fe>=0&&Fe<=this.transform.maxPitch)return this.transform.minPitch=Fe,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(Fe>=this.transform.minPitch)return this.transform.maxPitch=Fe,this._update(),this.getPitch()>Fe&&this.setPitch(Fe),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(Fe){return this.transform.renderWorldCopies=Fe,this._update()}project(Fe){return this.transform.locationPoint(t.N.convert(Fe),this.style&&this.terrain)}unproject(Fe){return this.transform.pointLocation(t.P.convert(Fe),this.terrain)}isMoving(){var Fe;return this._moving||((Fe=this.handlers)===null||Fe===void 0?void 0:Fe.isMoving())}isZooming(){var Fe;return this._zooming||((Fe=this.handlers)===null||Fe===void 0?void 0:Fe.isZooming())}isRotating(){var Fe;return this._rotating||((Fe=this.handlers)===null||Fe===void 0?void 0:Fe.isRotating())}_createDelegatedListener(Fe,I,ie){if(Fe===\"mouseenter\"||Fe===\"mouseover\"){let Te=!1;return{layers:I,listener:ie,delegates:{mousemove:ze=>{let ht=I.filter(Ot=>this.getLayer(Ot)),wt=ht.length!==0?this.queryRenderedFeatures(ze.point,{layers:ht}):[];wt.length?Te||(Te=!0,ie.call(this,new iu(Fe,this,ze.originalEvent,{features:wt}))):Te=!1},mouseout:()=>{Te=!1}}}}if(Fe===\"mouseleave\"||Fe===\"mouseout\"){let Te=!1;return{layers:I,listener:ie,delegates:{mousemove:ht=>{let wt=I.filter(Ot=>this.getLayer(Ot));(wt.length!==0?this.queryRenderedFeatures(ht.point,{layers:wt}):[]).length?Te=!0:Te&&(Te=!1,ie.call(this,new iu(Fe,this,ht.originalEvent)))},mouseout:ht=>{Te&&(Te=!1,ie.call(this,new iu(Fe,this,ht.originalEvent)))}}}}{let Te=Me=>{let ze=I.filter(wt=>this.getLayer(wt)),ht=ze.length!==0?this.queryRenderedFeatures(Me.point,{layers:ze}):[];ht.length&&(Me.features=ht,ie.call(this,Me),delete Me.features)};return{layers:I,listener:ie,delegates:{[Fe]:Te}}}}_saveDelegatedListener(Fe,I){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[Fe]=this._delegatedListeners[Fe]||[],this._delegatedListeners[Fe].push(I)}_removeDelegatedListener(Fe,I,ie){if(!this._delegatedListeners||!this._delegatedListeners[Fe])return;let Te=this._delegatedListeners[Fe];for(let Me=0;MeI.includes(ht))){for(let ht in ze.delegates)this.off(ht,ze.delegates[ht]);return void Te.splice(Me,1)}}}on(Fe,I,ie){if(ie===void 0)return super.on(Fe,I);let Te=this._createDelegatedListener(Fe,typeof I==\"string\"?[I]:I,ie);this._saveDelegatedListener(Fe,Te);for(let Me in Te.delegates)this.on(Me,Te.delegates[Me]);return this}once(Fe,I,ie){if(ie===void 0)return super.once(Fe,I);let Te=typeof I==\"string\"?[I]:I,Me=this._createDelegatedListener(Fe,Te,ie);for(let ze in Me.delegates){let ht=Me.delegates[ze];Me.delegates[ze]=(...wt)=>{this._removeDelegatedListener(Fe,Te,ie),ht(...wt)}}this._saveDelegatedListener(Fe,Me);for(let ze in Me.delegates)this.once(ze,Me.delegates[ze]);return this}off(Fe,I,ie){return ie===void 0?super.off(Fe,I):(this._removeDelegatedListener(Fe,typeof I==\"string\"?[I]:I,ie),this)}queryRenderedFeatures(Fe,I){if(!this.style)return[];let ie,Te=Fe instanceof t.P||Array.isArray(Fe),Me=Te?Fe:[[0,0],[this.transform.width,this.transform.height]];if(I=I||(Te?{}:Fe)||{},Me instanceof t.P||typeof Me[0]==\"number\")ie=[t.P.convert(Me)];else{let ze=t.P.convert(Me[0]),ht=t.P.convert(Me[1]);ie=[ze,new t.P(ht.x,ze.y),ht,new t.P(ze.x,ht.y),ze]}return this.style.queryRenderedFeatures(ie,I,this.transform)}querySourceFeatures(Fe,I){return this.style.querySourceFeatures(Fe,I)}setStyle(Fe,I){return(I=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},I)).diff!==!1&&I.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&Fe?(this._diffStyle(Fe,I),this):(this._localIdeographFontFamily=I.localIdeographFontFamily,this._updateStyle(Fe,I))}setTransformRequest(Fe){return this._requestManager.setTransformRequest(Fe),this}_getUIString(Fe){let I=this._locale[Fe];if(I==null)throw new Error(`Missing UI string '${Fe}'`);return I}_updateStyle(Fe,I){if(I.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(Fe,I));let ie=this.style&&I.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!Fe)),Fe?(this.style=new Rr(this,I||{}),this.style.setEventedParent(this,{style:this.style}),typeof Fe==\"string\"?this.style.loadURL(Fe,I,ie):this.style.loadJSON(Fe,I,ie),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Rr(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(Fe,I){if(typeof Fe==\"string\"){let ie=this._requestManager.transformRequest(Fe,\"Style\");t.h(ie,new AbortController).then(Te=>{this._updateDiff(Te.data,I)}).catch(Te=>{Te&&this.fire(new t.j(Te))})}else typeof Fe==\"object\"&&this._updateDiff(Fe,I)}_updateDiff(Fe,I){try{this.style.setState(Fe,I)&&this._update(!0)}catch(ie){t.w(`Unable to perform style diff: ${ie.message||ie.error||ie}. Rebuilding the style from scratch.`),this._updateStyle(Fe,I)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w(\"There is no style added to the map.\")}addSource(Fe,I){return this._lazyInitEmptyStyle(),this.style.addSource(Fe,I),this._update(!0)}isSourceLoaded(Fe){let I=this.style&&this.style.sourceCaches[Fe];if(I!==void 0)return I.loaded();this.fire(new t.j(new Error(`There is no source with ID '${Fe}'`)))}setTerrain(Fe){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),Fe){let I=this.style.sourceCaches[Fe.source];if(!I)throw new Error(`cannot load terrain, because there exists no source with ID: ${Fe.source}`);this.terrain===null&&I.reload();for(let ie in this.style._layers){let Te=this.style._layers[ie];Te.type===\"hillshade\"&&Te.source===Fe.source&&t.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new Es(this.painter,I,Fe),this.painter.renderToTexture=new el(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=ie=>{ie.dataType===\"style\"?this.terrain.sourceCache.freeRtt():ie.dataType===\"source\"&&ie.tile&&(ie.sourceId!==Fe.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(ie.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new t.k(\"terrain\",{terrain:Fe})),this}getTerrain(){var Fe,I;return(I=(Fe=this.terrain)===null||Fe===void 0?void 0:Fe.options)!==null&&I!==void 0?I:null}areTilesLoaded(){let Fe=this.style&&this.style.sourceCaches;for(let I in Fe){let ie=Fe[I]._tiles;for(let Te in ie){let Me=ie[Te];if(Me.state!==\"loaded\"&&Me.state!==\"errored\")return!1}}return!0}removeSource(Fe){return this.style.removeSource(Fe),this._update(!0)}getSource(Fe){return this.style.getSource(Fe)}addImage(Fe,I,ie={}){let{pixelRatio:Te=1,sdf:Me=!1,stretchX:ze,stretchY:ht,content:wt,textFitWidth:Ot,textFitHeight:$t}=ie;if(this._lazyInitEmptyStyle(),!(I instanceof HTMLImageElement||t.b(I))){if(I.width===void 0||I.height===void 0)return this.fire(new t.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:Ar,height:Sr,data:Kr}=I,na=I;return this.style.addImage(Fe,{data:new t.R({width:Ar,height:Sr},new Uint8Array(Kr)),pixelRatio:Te,stretchX:ze,stretchY:ht,content:wt,textFitWidth:Ot,textFitHeight:$t,sdf:Me,version:0,userImage:na}),na.onAdd&&na.onAdd(this,Fe),this}}{let{width:Ar,height:Sr,data:Kr}=n.getImageData(I);this.style.addImage(Fe,{data:new t.R({width:Ar,height:Sr},Kr),pixelRatio:Te,stretchX:ze,stretchY:ht,content:wt,textFitWidth:Ot,textFitHeight:$t,sdf:Me,version:0})}}updateImage(Fe,I){let ie=this.style.getImage(Fe);if(!ie)return this.fire(new t.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Te=I instanceof HTMLImageElement||t.b(I)?n.getImageData(I):I,{width:Me,height:ze,data:ht}=Te;if(Me===void 0||ze===void 0)return this.fire(new t.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(Me!==ie.data.width||ze!==ie.data.height)return this.fire(new t.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let wt=!(I instanceof HTMLImageElement||t.b(I));return ie.data.replace(ht,wt),this.style.updateImage(Fe,ie),this}getImage(Fe){return this.style.getImage(Fe)}hasImage(Fe){return Fe?!!this.style.getImage(Fe):(this.fire(new t.j(new Error(\"Missing required image id\"))),!1)}removeImage(Fe){this.style.removeImage(Fe)}loadImage(Fe){return l.getImage(this._requestManager.transformRequest(Fe,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(Fe,I){return this._lazyInitEmptyStyle(),this.style.addLayer(Fe,I),this._update(!0)}moveLayer(Fe,I){return this.style.moveLayer(Fe,I),this._update(!0)}removeLayer(Fe){return this.style.removeLayer(Fe),this._update(!0)}getLayer(Fe){return this.style.getLayer(Fe)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(Fe,I,ie){return this.style.setLayerZoomRange(Fe,I,ie),this._update(!0)}setFilter(Fe,I,ie={}){return this.style.setFilter(Fe,I,ie),this._update(!0)}getFilter(Fe){return this.style.getFilter(Fe)}setPaintProperty(Fe,I,ie,Te={}){return this.style.setPaintProperty(Fe,I,ie,Te),this._update(!0)}getPaintProperty(Fe,I){return this.style.getPaintProperty(Fe,I)}setLayoutProperty(Fe,I,ie,Te={}){return this.style.setLayoutProperty(Fe,I,ie,Te),this._update(!0)}getLayoutProperty(Fe,I){return this.style.getLayoutProperty(Fe,I)}setGlyphs(Fe,I={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(Fe,I),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(Fe,I,ie={}){return this._lazyInitEmptyStyle(),this.style.addSprite(Fe,I,ie,Te=>{Te||this._update(!0)}),this}removeSprite(Fe){return this._lazyInitEmptyStyle(),this.style.removeSprite(Fe),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(Fe,I={}){return this._lazyInitEmptyStyle(),this.style.setSprite(Fe,I,ie=>{ie||this._update(!0)}),this}setLight(Fe,I={}){return this._lazyInitEmptyStyle(),this.style.setLight(Fe,I),this._update(!0)}getLight(){return this.style.getLight()}setSky(Fe){return this._lazyInitEmptyStyle(),this.style.setSky(Fe),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(Fe,I){return this.style.setFeatureState(Fe,I),this._update()}removeFeatureState(Fe,I){return this.style.removeFeatureState(Fe,I),this._update()}getFeatureState(Fe){return this.style.getFeatureState(Fe)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let Fe=0,I=0;return this._container&&(Fe=this._container.clientWidth||400,I=this._container.clientHeight||300),[Fe,I]}_setupContainer(){let Fe=this._container;Fe.classList.add(\"maplibregl-map\");let I=this._canvasContainer=i.create(\"div\",\"maplibregl-canvas-container\",Fe);this._interactive&&I.classList.add(\"maplibregl-interactive\"),this._canvas=i.create(\"canvas\",\"maplibregl-canvas\",I),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");let ie=this._containerDimensions(),Te=this._getClampedPixelRatio(ie[0],ie[1]);this._resizeCanvas(ie[0],ie[1],Te);let Me=this._controlContainer=i.create(\"div\",\"maplibregl-control-container\",Fe),ze=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(ht=>{ze[ht]=i.create(\"div\",`maplibregl-ctrl-${ht} `,Me)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(Fe,I,ie){this._canvas.width=Math.floor(ie*Fe),this._canvas.height=Math.floor(ie*I),this._canvas.style.width=`${Fe}px`,this._canvas.style.height=`${I}px`}_setupPainter(){let Fe={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},I=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Te=>{I={requestedAttributes:Fe},Te&&(I.statusMessage=Te.statusMessage,I.type=Te.type)},{once:!0});let ie=this._canvas.getContext(\"webgl2\",Fe)||this._canvas.getContext(\"webgl\",Fe);if(!ie){let Te=\"Failed to initialize WebGL\";throw I?(I.message=Te,new Error(JSON.stringify(I))):new Error(Te)}this.painter=new Mc(ie,this.transform),s.testSupport(ie)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(Fe){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||Fe,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(Fe){return this._update(),this._renderTaskQueue.add(Fe)}_cancelRenderFrame(Fe){this._renderTaskQueue.remove(Fe)}_render(Fe){let I=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(Fe),this._removed)return;let ie=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let Me=this.transform.zoom,ze=n.now();this.style.zoomHistory.update(Me,ze);let ht=new t.z(Me,{now:ze,fadeDuration:I,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),wt=ht.crossFadingFactor();wt===1&&wt===this._crossFadingFactor||(ie=!0,this._crossFadingFactor=wt),this.style.update(ht)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,I,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:I,showPadding:this.showPadding}),this.fire(new t.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.bf.mark(t.bg.load),this.fire(new t.k(\"load\"))),this.style&&(this.style.hasTransitions()||ie)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Te=this._sourcesDirty||this._styleDirty||this._placementDirty;return Te||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k(\"idle\")),!this._loaded||this._fullyLoaded||Te||(this._fullyLoaded=!0,t.bf.mark(t.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var Fe;this._hash&&this._hash.remove();for(let ie of this._controls)ie.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<\"u\"&&removeEventListener(\"online\",this._onWindowOnline,!1),l.removeThrottleControl(this._imageQueueHandle),(Fe=this._resizeObserver)===null||Fe===void 0||Fe.disconnect();let I=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");I?.loseContext&&I.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),i.remove(this._canvasContainer),i.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),t.bf.clearMetrics(),this._removed=!0,this.fire(new t.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(Fe=>{t.bf.frame(Fe),this._frameRequest=null,this._render(Fe)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(Fe){this._showTileBoundaries!==Fe&&(this._showTileBoundaries=Fe,this._update())}get showPadding(){return!!this._showPadding}set showPadding(Fe){this._showPadding!==Fe&&(this._showPadding=Fe,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(Fe){this._showCollisionBoxes!==Fe&&(this._showCollisionBoxes=Fe,Fe?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(Fe){this._showOverdrawInspector!==Fe&&(this._showOverdrawInspector=Fe,this._update())}get repaint(){return!!this._repaint}set repaint(Fe){this._repaint!==Fe&&(this._repaint=Fe,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(Fe){this._vertices=Fe,this._update()}get version(){return Fl}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=iu,e.MapTouchEvent=Kc,e.MapWheelEvent=hh,e.Marker=Zu,e.NavigationControl=class{constructor(Fe){this._updateZoomButtons=()=>{let I=this._map.getZoom(),ie=I===this._map.getMaxZoom(),Te=I===this._map.getMinZoom();this._zoomInButton.disabled=ie,this._zoomOutButton.disabled=Te,this._zoomInButton.setAttribute(\"aria-disabled\",ie.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Te.toString())},this._rotateCompassArrow=()=>{let I=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=I},this._setButtonTitle=(I,ie)=>{let Te=this._map._getUIString(`NavigationControl.${ie}`);I.title=Te,I.setAttribute(\"aria-label\",Te)},this.options=t.e({},Un,Fe),this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",I=>I.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",I=>this._map.zoomIn({},{originalEvent:I})),i.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",I=>this._map.zoomOut({},{originalEvent:I})),i.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",I=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:I}):this._map.resetNorth({},{originalEvent:I})}),this._compassIcon=i.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(Fe){return this._map=Fe,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ro(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){i.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(Fe,I){let ie=i.create(\"button\",Fe,this._container);return ie.type=\"button\",ie.addEventListener(\"click\",I),ie}},e.Popup=class extends t.E{constructor(Fe){super(),this.remove=()=>(this._content&&i.remove(this._content),this._container&&(i.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new t.k(\"close\"))),this),this._onMouseUp=I=>{this._update(I.point)},this._onMouseMove=I=>{this._update(I.point)},this._onDrag=I=>{this._update(I.point)},this._update=I=>{var ie;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=i.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=i.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let wt of this.options.className.split(\" \"))this._container.classList.add(wt);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Fs(this._lngLat,this._flatPos,this._map.transform):(ie=this._lngLat)===null||ie===void 0?void 0:ie.wrap(),this._trackPointer&&!I)return;let Te=this._flatPos=this._pos=this._trackPointer&&I?I:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&I?I:this._map.transform.locationPoint(this._lngLat));let Me=this.options.anchor,ze=lc(this.options.offset);if(!Me){let wt=this._container.offsetWidth,Ot=this._container.offsetHeight,$t;$t=Te.y+ze.bottom.ythis._map.transform.height-Ot?[\"bottom\"]:[],Te.xthis._map.transform.width-wt/2&&$t.push(\"right\"),Me=$t.length===0?\"bottom\":$t.join(\"-\")}let ht=Te.add(ze[Me]);this.options.subpixelPositioning||(ht=ht.round()),i.setTransform(this._container,`${cu[Me]} translate(${ht.x}px,${ht.y}px)`),Iu(this._container,Me,\"popup\")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(Fo),Fe)}addTo(Fe){return this._map&&this.remove(),this._map=Fe,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(Fe){return this._lngLat=t.N.convert(Fe),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(Fe){return this.setDOMContent(document.createTextNode(Fe))}setHTML(Fe){let I=document.createDocumentFragment(),ie=document.createElement(\"body\"),Te;for(ie.innerHTML=Fe;Te=ie.firstChild,Te;)I.appendChild(Te);return this.setDOMContent(I)}getMaxWidth(){var Fe;return(Fe=this._container)===null||Fe===void 0?void 0:Fe.style.maxWidth}setMaxWidth(Fe){return this.options.maxWidth=Fe,this._update(),this}setDOMContent(Fe){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=i.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(Fe),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(Fe){return this._container&&this._container.classList.add(Fe),this}removeClassName(Fe){return this._container&&this._container.classList.remove(Fe),this}setOffset(Fe){return this.options.offset=Fe,this._update(),this}toggleClassName(Fe){if(this._container)return this._container.classList.toggle(Fe)}setSubpixelPositioning(Fe){this.options.subpixelPositioning=Fe}_createCloseButton(){this.options.closeButton&&(this._closeButton=i.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let Fe=this._container.querySelector(Dc);Fe&&Fe.focus()}},e.RasterDEMTileSource=Ie,e.RasterTileSource=Se,e.ScaleControl=class{constructor(Fe){this._onMove=()=>{yc(this._map,this._container,this.options)},this.setUnit=I=>{this.options.unit=I,yc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Au),Fe)}getDefaultPosition(){return\"bottom-left\"}onAdd(Fe){return this._map=Fe,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",Fe.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){i.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},e.ScrollZoomHandler=ka,e.Style=Rr,e.TerrainControl=class{constructor(Fe){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"))},this.options=Fe}onAdd(Fe){return this._map=Fe,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=i.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),i.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){i.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=Pc,e.TwoFingersTouchRotateHandler=$c,e.TwoFingersTouchZoomHandler=xu,e.TwoFingersTouchZoomRotateHandler=Pi,e.VectorTileSource=we,e.VideoSource=nt,e.addSourceType=(Fe,I)=>t._(void 0,void 0,void 0,function*(){if(he(Fe))throw new Error(`A source type called \"${Fe}\" already exists.`);((ie,Te)=>{Ue[ie]=Te})(Fe,I)}),e.clearPrewarmedResources=function(){let Fe=de;Fe&&(Fe.isPreloaded()&&Fe.numActive()===1?(Fe.release($),de=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return Ze().getRTLTextPluginStatus()},e.getVersion=function(){return Yu},e.getWorkerCount=function(){return ue.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(Fe){return q().broadcast(\"IS\",Fe)},e.prewarm=function(){Y().acquire($)},e.setMaxParallelImageRequests=function(Fe){t.a.MAX_PARALLEL_IMAGE_REQUESTS=Fe},e.setRTLTextPlugin=function(Fe,I){return Ze().setRTLTextPlugin(Fe,I)},e.setWorkerCount=function(Fe){ue.workerCount=Fe},e.setWorkerUrl=function(Fe){t.a.WORKER_URL=Fe}});var E=d;return E})}}),VV=Ge({\"src/plots/map/layers.js\"(Z,G){\"use strict\";var d=sa(),_=su().sanitizeHTML,A=D6(),E=b0();function e(n,i){this.subplot=n,this.uid=n.uid+\"-\"+i,this.index=i,this.idSource=\"source-\"+this.uid,this.idLayer=E.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var t=e.prototype;t.update=function(i){this.visible?this.needsNewImage(i)?this.updateImage(i):this.needsNewSource(i)?(this.removeLayer(),this.updateSource(i),this.updateLayer(i)):this.needsNewLayer(i)?this.updateLayer(i):this.updateStyle(i):(this.updateSource(i),this.updateLayer(i)),this.visible=r(i)},t.needsNewImage=function(n){var i=this.subplot.map;return i.getSource(this.idSource)&&this.sourceType===\"image\"&&n.sourcetype===\"image\"&&(this.source!==n.source||JSON.stringify(this.coordinates)!==JSON.stringify(n.coordinates))},t.needsNewSource=function(n){return this.sourceType!==n.sourcetype||JSON.stringify(this.source)!==JSON.stringify(n.source)||this.layerType!==n.type},t.needsNewLayer=function(n){return this.layerType!==n.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},t.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},t.updateImage=function(n){var i=this.subplot.map;i.getSource(this.idSource).updateImage({url:n.source,coordinates:n.coordinates});var s=this.findFollowingMapLayerId(this.lookupBelow());s!==null&&this.subplot.map.moveLayer(this.idLayer,s)},t.updateSource=function(n){var i=this.subplot.map;if(i.getSource(this.idSource)&&i.removeSource(this.idSource),this.sourceType=n.sourcetype,this.source=n.source,!!r(n)){var s=a(n);i.addSource(this.idSource,s)}},t.findFollowingMapLayerId=function(n){if(n===\"traces\")for(var i=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function o(n){var i={},s={};switch(n.type){case\"circle\":d.extendFlat(s,{\"circle-radius\":n.circle.radius,\"circle-color\":n.color,\"circle-opacity\":n.opacity});break;case\"line\":d.extendFlat(s,{\"line-width\":n.line.width,\"line-color\":n.color,\"line-opacity\":n.opacity,\"line-dasharray\":n.line.dash});break;case\"fill\":d.extendFlat(s,{\"fill-color\":n.color,\"fill-outline-color\":n.fill.outlinecolor,\"fill-opacity\":n.opacity});break;case\"symbol\":var h=n.symbol,f=A(h.textposition,h.iconsize);d.extendFlat(i,{\"icon-image\":h.icon+\"-15\",\"icon-size\":h.iconsize/10,\"text-field\":h.text,\"text-size\":h.textfont.size,\"text-anchor\":f.anchor,\"text-offset\":f.offset,\"symbol-placement\":h.placement}),d.extendFlat(s,{\"icon-color\":n.color,\"text-color\":h.textfont.color,\"text-opacity\":n.opacity});break;case\"raster\":d.extendFlat(s,{\"raster-fade-duration\":0,\"raster-opacity\":n.opacity});break}return{layout:i,paint:s}}function a(n){var i=n.sourcetype,s=n.source,h={type:i},f;return i===\"geojson\"?f=\"data\":i===\"vector\"?f=typeof s==\"string\"?\"url\":\"tiles\":i===\"raster\"?(f=\"tiles\",h.tileSize=256):i===\"image\"&&(f=\"url\",h.coordinates=n.coordinates),h[f]=s,n.sourceattribution&&(h.attribution=_(n.sourceattribution)),h}G.exports=function(i,s,h){var f=new e(i,s);return f.update(h),f}}}),GV=Ge({\"src/plots/map/map.js\"(Z,G){\"use strict\";var d=qV(),_=sa(),A=g0(),E=so(),e=Wo(),t=Ap(),r=Hc(),o=Jd(),a=o.drawMode,n=o.selectMode,i=Af().prepSelect,s=Af().clearOutline,h=Af().clearSelectionsCache,f=Af().selectOnClick,v=b0(),c=VV();function T(m,b){this.id=b,this.gd=m;var p=m._fullLayout,u=m._context;this.container=p._glcontainer.node(),this.isStatic=u.staticPlot,this.uid=p._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(p),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var l=T.prototype;l.plot=function(m,b,p){var u=this,g;u.map?g=new Promise(function(y,D){u.updateMap(m,b,y,D)}):g=new Promise(function(y,D){u.createMap(m,b,y,D)}),p.push(g)},l.createMap=function(m,b,p,u){var g=this,y=b[g.id],D=g.styleObj=w(y.style),L=y.bounds,z=L?[[L.west,L.south],[L.east,L.north]]:null,F=g.map=new d.Map({container:g.div,style:D.style,center:M(y.center),zoom:y.zoom,bearing:y.bearing,pitch:y.pitch,maxBounds:z,interactive:!g.isStatic,preserveDrawingBuffer:g.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new d.AttributionControl({compact:!0})),B={};F.on(\"styleimagemissing\",function(P){var U=P.id;if(!B[U]&&U.includes(\"-15\")){B[U]=!0;var N=new Image(15,15);N.onload=function(){F.addImage(U,N)},N.crossOrigin=\"Anonymous\",N.src=\"https://unpkg.com/maki@2.1.0/icons/\"+U+\".svg\"}}),F.setTransformRequest(function(P){return P=P.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),P=P.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),P=P.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:P}}),F._canvas.style.left=\"0px\",F._canvas.style.top=\"0px\",g.rejectOnError(u),g.isStatic||g.initFx(m,b);var O=[];O.push(new Promise(function(P){F.once(\"load\",P)})),O=O.concat(A.fetchTraceGeoData(m)),Promise.all(O).then(function(){g.fillBelowLookup(m,b),g.updateData(m),g.updateLayout(b),g.resolveOnRender(p)}).catch(u)},l.updateMap=function(m,b,p,u){var g=this,y=g.map,D=b[this.id];g.rejectOnError(u);var L=[],z=w(D.style);JSON.stringify(g.styleObj)!==JSON.stringify(z)&&(g.styleObj=z,y.setStyle(z.style),g.traceHash={},L.push(new Promise(function(F){y.once(\"styledata\",F)}))),L=L.concat(A.fetchTraceGeoData(m)),Promise.all(L).then(function(){g.fillBelowLookup(m,b),g.updateData(m),g.updateLayout(b),g.resolveOnRender(p)}).catch(u)},l.fillBelowLookup=function(m,b){var p=b[this.id],u=p.layers,g,y,D=this.belowLookup={},L=!1;for(g=0;g1)for(g=0;g-1&&f(z.originalEvent,u,[p.xaxis],[p.yaxis],p.id,L),F.indexOf(\"event\")>-1&&r.click(u,z.originalEvent)}}},l.updateFx=function(m){var b=this,p=b.map,u=b.gd;if(b.isStatic)return;function g(z){var F=b.map.unproject(z);return[F.lng,F.lat]}var y=m.dragmode,D;D=function(z,F){if(F.isRect){var B=z.range={};B[b.id]=[g([F.xmin,F.ymin]),g([F.xmax,F.ymax])]}else{var O=z.lassoPoints={};O[b.id]=F.map(g)}};var L=b.dragOptions;b.dragOptions=_.extendDeep(L||{},{dragmode:m.dragmode,element:b.div,gd:u,plotinfo:{id:b.id,domain:m[b.id].domain,xaxis:b.xaxis,yaxis:b.yaxis,fillRangeItems:D},xaxes:[b.xaxis],yaxes:[b.yaxis],subplot:b.id}),p.off(\"click\",b.onClickInPanHandler),n(y)||a(y)?(p.dragPan.disable(),p.on(\"zoomstart\",b.clearOutline),b.dragOptions.prepFn=function(z,F,B){i(z,F,B,b.dragOptions,y)},t.init(b.dragOptions)):(p.dragPan.enable(),p.off(\"zoomstart\",b.clearOutline),b.div.onmousedown=null,b.div.ontouchstart=null,b.div.removeEventListener(\"touchstart\",b.div._ontouchstart),b.onClickInPanHandler=b.onClickInPanFn(b.dragOptions),p.on(\"click\",b.onClickInPanHandler))},l.updateFramework=function(m){var b=m[this.id].domain,p=m._size,u=this.div.style;u.width=p.w*(b.x[1]-b.x[0])+\"px\",u.height=p.h*(b.y[1]-b.y[0])+\"px\",u.left=p.l+b.x[0]*p.w+\"px\",u.top=p.t+(1-b.y[1])*p.h+\"px\",this.xaxis._offset=p.l+b.x[0]*p.w,this.xaxis._length=p.w*(b.x[1]-b.x[0]),this.yaxis._offset=p.t+(1-b.y[1])*p.h,this.yaxis._length=p.h*(b.y[1]-b.y[0])},l.updateLayers=function(m){var b=m[this.id],p=b.layers,u=this.layerList,g;if(p.length!==u.length){for(g=0;gp/2){var u=S.split(\"|\").join(\"
\");m.text(u).attr(\"data-unformatted\",u).call(r.convertToTspans,n),b=t.bBox(m.node())}m.attr(\"transform\",d(-3,-b.height+8)),M.insert(\"rect\",\".static-attribution\").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var g=1;b.width+6>p&&(g=p/(b.width+6));var y=[h.l+h.w*c.x[1],h.t+h.h*(1-c.y[0])];M.attr(\"transform\",d(y[0],y[1])+_(g))}},Z.updateFx=function(n){for(var i=n._fullLayout,s=i._subplots[a],h=0;h=0;o--)t.removeLayer(r[o][1])},e.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},G.exports=function(r,o){var a=o[0].trace,n=new E(r,a.uid),i=n.sourceId,s=d(o),h=n.below=r.belowLookup[\"trace-\"+a.uid];return r.map.addSource(i,{type:\"geojson\",data:s.geojson}),n._addLayers(s,h),o[0].trace._glTrace=n,n}}}),KV=Ge({\"src/traces/choroplethmap/index.js\"(Z,G){\"use strict\";G.exports={attributes:z6(),supplyDefaults:ZV(),colorbar:n0(),calc:lT(),plot:YV(),hoverPoints:cT(),eventData:fT(),selectPoints:hT(),styleOnSelect:function(d,_){if(_){var A=_[0].trace;A._glTrace.updateOnSelect(_)}},getBelow:function(d,_){for(var A=_.getMapLayers(),E=A.length-2;E>=0;E--){var e=A[E].id;if(typeof e==\"string\"&&e.indexOf(\"water\")===0){for(var t=E+1;t0?+c[f]:0),h.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:w},properties:S})}}var m=E.extractOpts(a),b=m.reversescale?E.flipScale(m.colorscale):m.colorscale,p=b[0][1],u=A.opacity(p)<1?p:A.addOpacity(p,0),g=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,u];for(f=1;f=0;r--)e.removeLayer(t[r][1])},E.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},G.exports=function(t,r){var o=r[0].trace,a=new A(t,o.uid),n=a.sourceId,i=d(r),s=a.below=t.belowLookup[\"trace-\"+o.uid];return t.map.addSource(n,{type:\"geojson\",data:i.geojson}),a._addLayers(i,s),a}}}),rG=Ge({\"src/traces/densitymap/hover.js\"(Z,G){\"use strict\";var d=Wo(),_=kT().hoverPoints,A=kT().getExtraText;G.exports=function(e,t,r){var o=_(e,t,r);if(o){var a=o[0],n=a.cd,i=n[0].trace,s=n[a.index];if(delete a.color,\"z\"in s){var h=a.subplot.mockAxis;a.z=s.z,a.zLabel=d.tickText(h,h.c2l(s.z),\"hover\").text}return a.extraText=A(i,s,n[0].t.labels),[a]}}}}),aG=Ge({\"src/traces/densitymap/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A){return _.lon=A.lon,_.lat=A.lat,_.z=A.z,_}}}),iG=Ge({\"src/traces/densitymap/index.js\"(Z,G){\"use strict\";G.exports={attributes:O6(),supplyDefaults:$V(),colorbar:n0(),formatLabels:R6(),calc:QV(),plot:tG(),hoverPoints:rG(),eventData:aG(),getBelow:function(d,_){for(var A=_.getMapLayers(),E=0;E0;){l=w[w.length-1];var S=_[l];if(r[l]=0&&a[l].push(o[m])}r[l]=M}else{if(e[l]===E[l]){for(var b=[],p=[],u=0,M=x.length-1;M>=0;--M){var g=x[M];if(t[g]=!1,b.push(g),p.push(a[g]),u+=a[g].length,o[g]=s.length,g===l){x.length=M;break}}s.push(b);for(var y=new Array(u),M=0;Mm&&(m=i.source[x]),i.target[x]>m&&(m=i.target[x]);var b=m+1;a.node._count=b;var p,u=a.node.groups,g={};for(x=0;x0&&e(B,b)&&e(O,b)&&!(g.hasOwnProperty(B)&&g.hasOwnProperty(O)&&g[B]===g[O])){g.hasOwnProperty(O)&&(O=g[O]),g.hasOwnProperty(B)&&(B=g[B]),B=+B,O=+O,c[B]=c[O]=!0;var P=\"\";i.label&&i.label[x]&&(P=i.label[x]);var U=null;P&&T.hasOwnProperty(P)&&(U=T[P]),s.push({pointNumber:x,label:P,color:h?i.color[x]:i.color,hovercolor:f?i.hovercolor[x]:i.hovercolor,customdata:v?i.customdata[x]:i.customdata,concentrationscale:U,source:B,target:O,value:+F}),z.source.push(B),z.target.push(O)}}var N=b+u.length,X=E(n.color),$=E(n.customdata),ue=[];for(x=0;xb-1,childrenNodes:[],pointNumber:x,label:ce,color:X?n.color[x]:n.color,customdata:$?n.customdata[x]:n.customdata})}var de=!1;return o(N,z.source,z.target)&&(de=!0),{circular:de,links:s,nodes:ue,groups:u,groupLookup:g}}function o(a,n,i){for(var s=_.init2dArray(a,0),h=0;h1})}G.exports=function(n,i){var s=r(i);return A({circular:s.circular,_nodes:s.nodes,_links:s.links,_groups:s.groups,_groupLookup:s.groupLookup})}}}),lG=Ge({\"node_modules/d3-quadtree/dist/d3-quadtree.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z):(d=d||self,_(d.d3=d.d3||{}))})(Z,function(d){\"use strict\";function _(b){var p=+this._x.call(null,b),u=+this._y.call(null,b);return A(this.cover(p,u),p,u,b)}function A(b,p,u,g){if(isNaN(p)||isNaN(u))return b;var y,D=b._root,L={data:g},z=b._x0,F=b._y0,B=b._x1,O=b._y1,P,U,N,X,$,ue,ce,de;if(!D)return b._root=L,b;for(;D.length;)if(($=p>=(P=(z+B)/2))?z=P:B=P,(ue=u>=(U=(F+O)/2))?F=U:O=U,y=D,!(D=D[ce=ue<<1|$]))return y[ce]=L,b;if(N=+b._x.call(null,D.data),X=+b._y.call(null,D.data),p===N&&u===X)return L.next=D,y?y[ce]=L:b._root=L,b;do y=y?y[ce]=new Array(4):b._root=new Array(4),($=p>=(P=(z+B)/2))?z=P:B=P,(ue=u>=(U=(F+O)/2))?F=U:O=U;while((ce=ue<<1|$)===(de=(X>=U)<<1|N>=P));return y[de]=D,y[ce]=L,b}function E(b){var p,u,g=b.length,y,D,L=new Array(g),z=new Array(g),F=1/0,B=1/0,O=-1/0,P=-1/0;for(u=0;uO&&(O=y),DP&&(P=D));if(F>O||B>P)return this;for(this.cover(F,B).cover(O,P),u=0;ub||b>=y||g>p||p>=D;)switch(B=(pO||(z=X.y0)>P||(F=X.x1)=ce)<<1|b>=ue)&&(X=U[U.length-1],U[U.length-1]=U[U.length-1-$],U[U.length-1-$]=X)}else{var de=b-+this._x.call(null,N.data),V=p-+this._y.call(null,N.data),Y=de*de+V*V;if(Y=(U=(L+F)/2))?L=U:F=U,($=P>=(N=(z+B)/2))?z=N:B=N,p=u,!(u=u[ue=$<<1|X]))return this;if(!u.length)break;(p[ue+1&3]||p[ue+2&3]||p[ue+3&3])&&(g=p,ce=ue)}for(;u.data!==b;)if(y=u,!(u=u.next))return this;return(D=u.next)&&delete u.next,y?(D?y.next=D:delete y.next,this):p?(D?p[ue]=D:delete p[ue],(u=p[0]||p[1]||p[2]||p[3])&&u===(p[3]||p[2]||p[1]||p[0])&&!u.length&&(g?g[ce]=u:this._root=u),this):(this._root=D,this)}function i(b){for(var p=0,u=b.length;p=c.length)return l!=null&&m.sort(l),x!=null?x(m):m;for(var g=-1,y=m.length,D=c[b++],L,z,F=E(),B,O=p();++gc.length)return m;var p,u=T[b-1];return x!=null&&b>=c.length?p=m.entries():(p=[],m.each(function(g,y){p.push({key:y,values:M(g,b)})})),u!=null?p.sort(function(g,y){return u(g.key,y.key)}):p}return w={object:function(m){return S(m,0,t,r)},map:function(m){return S(m,0,o,a)},entries:function(m){return M(S(m,0,o,a),0)},key:function(m){return c.push(m),w},sortKeys:function(m){return T[c.length-1]=m,w},sortValues:function(m){return l=m,w},rollup:function(m){return x=m,w}}}function t(){return{}}function r(c,T,l){c[T]=l}function o(){return E()}function a(c,T,l){c.set(T,l)}function n(){}var i=E.prototype;n.prototype=s.prototype={constructor:n,has:i.has,add:function(c){return c+=\"\",this[_+c]=c,this},remove:i.remove,clear:i.clear,values:i.keys,size:i.size,empty:i.empty,each:i.each};function s(c,T){var l=new n;if(c instanceof n)c.each(function(S){l.add(S)});else if(c){var x=-1,w=c.length;if(T==null)for(;++x=0&&(i=n.slice(s+1),n=n.slice(0,s)),n&&!a.hasOwnProperty(n))throw new Error(\"unknown type: \"+n);return{type:n,name:i}})}E.prototype=A.prototype={constructor:E,on:function(o,a){var n=this._,i=e(o+\"\",n),s,h=-1,f=i.length;if(arguments.length<2){for(;++h0)for(var n=new Array(s),i=0,s,h;i=0&&b._call.call(null,p),b=b._next;--_}function l(){a=(o=i.now())+n,_=A=0;try{T()}finally{_=0,w(),a=0}}function x(){var b=i.now(),p=b-o;p>e&&(n-=p,o=b)}function w(){for(var b,p=t,u,g=1/0;p;)p._call?(g>p._time&&(g=p._time),b=p,p=p._next):(u=p._next,p._next=null,p=b?b._next=u:t=u);r=b,S(g)}function S(b){if(!_){A&&(A=clearTimeout(A));var p=b-a;p>24?(b<1/0&&(A=setTimeout(l,b-i.now()-n)),E&&(E=clearInterval(E))):(E||(o=i.now(),E=setInterval(x,e)),_=1,s(l))}}function M(b,p,u){var g=new v;return p=p==null?0:+p,g.restart(function(y){g.stop(),b(y+p)},p,u),g}function m(b,p,u){var g=new v,y=p;return p==null?(g.restart(b,p,u),g):(p=+p,u=u==null?h():+u,g.restart(function D(L){L+=y,g.restart(D,y+=p,u),b(L)},p,u),g)}d.interval=m,d.now=h,d.timeout=M,d.timer=c,d.timerFlush=T,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),fG=Ge({\"node_modules/d3-force/dist/d3-force.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z,lG(),LT(),uG(),cG()):_(d.d3=d.d3||{},d.d3,d.d3,d.d3,d.d3)})(Z,function(d,_,A,E,e){\"use strict\";function t(b,p){var u;b==null&&(b=0),p==null&&(p=0);function g(){var y,D=u.length,L,z=0,F=0;for(y=0;yP.index){var Q=U-se.x-se.vx,re=N-se.y-se.vy,pe=Q*Q+re*re;peU+j||eeN+j||qF.r&&(F.r=F[B].r)}function z(){if(p){var F,B=p.length,O;for(u=new Array(B),F=0;F1?($==null?z.remove(X):z.set(X,N($)),p):z.get(X)},find:function(X,$,ue){var ce=0,de=b.length,V,Y,ee,q,se;for(ue==null?ue=1/0:ue*=ue,ce=0;ce1?(B.on(X,$),p):B.on(X)}}}function w(){var b,p,u,g=r(-30),y,D=1,L=1/0,z=.81;function F(U){var N,X=b.length,$=_.quadtree(b,v,c).visitAfter(O);for(u=U,N=0;N=L)return;(U.data!==p||U.next)&&(ue===0&&(ue=o(),V+=ue*ue),ce===0&&(ce=o(),V+=ce*ce),VE)if(!(Math.abs(l*v-c*T)>E)||!s)this._+=\"L\"+(this._x1=o)+\",\"+(this._y1=a);else{var w=n-h,S=i-f,M=v*v+c*c,m=w*w+S*S,b=Math.sqrt(M),p=Math.sqrt(x),u=s*Math.tan((_-Math.acos((M+x-m)/(2*b*p)))/2),g=u/p,y=u/b;Math.abs(g-1)>E&&(this._+=\"L\"+(o+g*T)+\",\"+(a+g*l)),this._+=\"A\"+s+\",\"+s+\",0,0,\"+ +(l*w>T*S)+\",\"+(this._x1=o+y*v)+\",\"+(this._y1=a+y*c)}},arc:function(o,a,n,i,s,h){o=+o,a=+a,n=+n,h=!!h;var f=n*Math.cos(i),v=n*Math.sin(i),c=o+f,T=a+v,l=1^h,x=h?i-s:s-i;if(n<0)throw new Error(\"negative radius: \"+n);this._x1===null?this._+=\"M\"+c+\",\"+T:(Math.abs(this._x1-c)>E||Math.abs(this._y1-T)>E)&&(this._+=\"L\"+c+\",\"+T),n&&(x<0&&(x=x%A+A),x>e?this._+=\"A\"+n+\",\"+n+\",0,1,\"+l+\",\"+(o-f)+\",\"+(a-v)+\"A\"+n+\",\"+n+\",0,1,\"+l+\",\"+(this._x1=c)+\",\"+(this._y1=T):x>E&&(this._+=\"A\"+n+\",\"+n+\",0,\"+ +(x>=_)+\",\"+l+\",\"+(this._x1=o+n*Math.cos(s))+\",\"+(this._y1=a+n*Math.sin(s))))},rect:function(o,a,n,i){this._+=\"M\"+(this._x0=this._x1=+o)+\",\"+(this._y0=this._y1=+a)+\"h\"+ +n+\"v\"+ +i+\"h\"+-n+\"Z\"},toString:function(){return this._}},d.path=r,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),U6=Ge({\"node_modules/d3-shape/dist/d3-shape.js\"(Z,G){(function(d,_){typeof Z==\"object\"&&typeof G<\"u\"?_(Z,hG()):(d=d||self,_(d.d3=d.d3||{},d.d3))})(Z,function(d,_){\"use strict\";function A(gt){return function(){return gt}}var E=Math.abs,e=Math.atan2,t=Math.cos,r=Math.max,o=Math.min,a=Math.sin,n=Math.sqrt,i=1e-12,s=Math.PI,h=s/2,f=2*s;function v(gt){return gt>1?0:gt<-1?s:Math.acos(gt)}function c(gt){return gt>=1?h:gt<=-1?-h:Math.asin(gt)}function T(gt){return gt.innerRadius}function l(gt){return gt.outerRadius}function x(gt){return gt.startAngle}function w(gt){return gt.endAngle}function S(gt){return gt&>.padAngle}function M(gt,Kt,vr,Ir,va,Pa,ga,la){var ba=vr-gt,Ai=Ir-Kt,ki=ga-va,Ki=la-Pa,Mn=Ki*ba-ki*Ai;if(!(Mn*Mnss*ss+ys*ys&&(os=jo,gs=Zn),{cx:os,cy:gs,x01:-ki,y01:-Ki,x11:os*(va/wo-1),y11:gs*(va/wo-1)}}function b(){var gt=T,Kt=l,vr=A(0),Ir=null,va=x,Pa=w,ga=S,la=null;function ba(){var Ai,ki,Ki=+gt.apply(this,arguments),Mn=+Kt.apply(this,arguments),wn=va.apply(this,arguments)-h,On=Pa.apply(this,arguments)-h,En=E(On-wn),ao=On>wn;if(la||(la=Ai=_.path()),Mni))la.moveTo(0,0);else if(En>f-i)la.moveTo(Mn*t(wn),Mn*a(wn)),la.arc(0,0,Mn,wn,On,!ao),Ki>i&&(la.moveTo(Ki*t(On),Ki*a(On)),la.arc(0,0,Ki,On,wn,ao));else{var Co=wn,bo=On,zs=wn,kn=On,wo=En,Kn=En,go=ga.apply(this,arguments)/2,os=go>i&&(Ir?+Ir.apply(this,arguments):n(Ki*Ki+Mn*Mn)),gs=o(E(Mn-Ki)/2,+vr.apply(this,arguments)),jo=gs,Zn=gs,Gn,Hn;if(os>i){var ss=c(os/Ki*a(go)),ys=c(os/Mn*a(go));(wo-=ss*2)>i?(ss*=ao?1:-1,zs+=ss,kn-=ss):(wo=0,zs=kn=(wn+On)/2),(Kn-=ys*2)>i?(ys*=ao?1:-1,Co+=ys,bo-=ys):(Kn=0,Co=bo=(wn+On)/2)}var Rs=Mn*t(Co),Ko=Mn*a(Co),Gi=Ki*t(kn),Pn=Ki*a(kn);if(gs>i){var qs=Mn*t(bo),xs=Mn*a(bo),lo=Ki*t(zs),Zo=Ki*a(zs),bs;if(Eni?Zn>i?(Gn=m(lo,Zo,Rs,Ko,Mn,Zn,ao),Hn=m(qs,xs,Gi,Pn,Mn,Zn,ao),la.moveTo(Gn.cx+Gn.x01,Gn.cy+Gn.y01),Zni)||!(wo>i)?la.lineTo(Gi,Pn):jo>i?(Gn=m(Gi,Pn,qs,xs,Ki,-jo,ao),Hn=m(Rs,Ko,lo,Zo,Ki,-jo,ao),la.lineTo(Gn.cx+Gn.x01,Gn.cy+Gn.y01),jo=Mn;--wn)la.point(bo[wn],zs[wn]);la.lineEnd(),la.areaEnd()}ao&&(bo[Ki]=+gt(En,Ki,ki),zs[Ki]=+vr(En,Ki,ki),la.point(Kt?+Kt(En,Ki,ki):bo[Ki],Ir?+Ir(En,Ki,ki):zs[Ki]))}if(Co)return la=null,Co+\"\"||null}function Ai(){return D().defined(va).curve(ga).context(Pa)}return ba.x=function(ki){return arguments.length?(gt=typeof ki==\"function\"?ki:A(+ki),Kt=null,ba):gt},ba.x0=function(ki){return arguments.length?(gt=typeof ki==\"function\"?ki:A(+ki),ba):gt},ba.x1=function(ki){return arguments.length?(Kt=ki==null?null:typeof ki==\"function\"?ki:A(+ki),ba):Kt},ba.y=function(ki){return arguments.length?(vr=typeof ki==\"function\"?ki:A(+ki),Ir=null,ba):vr},ba.y0=function(ki){return arguments.length?(vr=typeof ki==\"function\"?ki:A(+ki),ba):vr},ba.y1=function(ki){return arguments.length?(Ir=ki==null?null:typeof ki==\"function\"?ki:A(+ki),ba):Ir},ba.lineX0=ba.lineY0=function(){return Ai().x(gt).y(vr)},ba.lineY1=function(){return Ai().x(gt).y(Ir)},ba.lineX1=function(){return Ai().x(Kt).y(vr)},ba.defined=function(ki){return arguments.length?(va=typeof ki==\"function\"?ki:A(!!ki),ba):va},ba.curve=function(ki){return arguments.length?(ga=ki,Pa!=null&&(la=ga(Pa)),ba):ga},ba.context=function(ki){return arguments.length?(ki==null?Pa=la=null:la=ga(Pa=ki),ba):Pa},ba}function z(gt,Kt){return Ktgt?1:Kt>=gt?0:NaN}function F(gt){return gt}function B(){var gt=F,Kt=z,vr=null,Ir=A(0),va=A(f),Pa=A(0);function ga(la){var ba,Ai=la.length,ki,Ki,Mn=0,wn=new Array(Ai),On=new Array(Ai),En=+Ir.apply(this,arguments),ao=Math.min(f,Math.max(-f,va.apply(this,arguments)-En)),Co,bo=Math.min(Math.abs(ao)/Ai,Pa.apply(this,arguments)),zs=bo*(ao<0?-1:1),kn;for(ba=0;ba0&&(Mn+=kn);for(Kt!=null?wn.sort(function(wo,Kn){return Kt(On[wo],On[Kn])}):vr!=null&&wn.sort(function(wo,Kn){return vr(la[wo],la[Kn])}),ba=0,Ki=Mn?(ao-Ai*zs)/Mn:0;ba0?kn*Ki:0)+zs,On[ki]={data:la[ki],index:ba,value:kn,startAngle:En,endAngle:Co,padAngle:bo};return On}return ga.value=function(la){return arguments.length?(gt=typeof la==\"function\"?la:A(+la),ga):gt},ga.sortValues=function(la){return arguments.length?(Kt=la,vr=null,ga):Kt},ga.sort=function(la){return arguments.length?(vr=la,Kt=null,ga):vr},ga.startAngle=function(la){return arguments.length?(Ir=typeof la==\"function\"?la:A(+la),ga):Ir},ga.endAngle=function(la){return arguments.length?(va=typeof la==\"function\"?la:A(+la),ga):va},ga.padAngle=function(la){return arguments.length?(Pa=typeof la==\"function\"?la:A(+la),ga):Pa},ga}var O=U(u);function P(gt){this._curve=gt}P.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(gt,Kt){this._curve.point(Kt*Math.sin(gt),Kt*-Math.cos(gt))}};function U(gt){function Kt(vr){return new P(gt(vr))}return Kt._curve=gt,Kt}function N(gt){var Kt=gt.curve;return gt.angle=gt.x,delete gt.x,gt.radius=gt.y,delete gt.y,gt.curve=function(vr){return arguments.length?Kt(U(vr)):Kt()._curve},gt}function X(){return N(D().curve(O))}function $(){var gt=L().curve(O),Kt=gt.curve,vr=gt.lineX0,Ir=gt.lineX1,va=gt.lineY0,Pa=gt.lineY1;return gt.angle=gt.x,delete gt.x,gt.startAngle=gt.x0,delete gt.x0,gt.endAngle=gt.x1,delete gt.x1,gt.radius=gt.y,delete gt.y,gt.innerRadius=gt.y0,delete gt.y0,gt.outerRadius=gt.y1,delete gt.y1,gt.lineStartAngle=function(){return N(vr())},delete gt.lineX0,gt.lineEndAngle=function(){return N(Ir())},delete gt.lineX1,gt.lineInnerRadius=function(){return N(va())},delete gt.lineY0,gt.lineOuterRadius=function(){return N(Pa())},delete gt.lineY1,gt.curve=function(ga){return arguments.length?Kt(U(ga)):Kt()._curve},gt}function ue(gt,Kt){return[(Kt=+Kt)*Math.cos(gt-=Math.PI/2),Kt*Math.sin(gt)]}var ce=Array.prototype.slice;function de(gt){return gt.source}function V(gt){return gt.target}function Y(gt){var Kt=de,vr=V,Ir=g,va=y,Pa=null;function ga(){var la,ba=ce.call(arguments),Ai=Kt.apply(this,ba),ki=vr.apply(this,ba);if(Pa||(Pa=la=_.path()),gt(Pa,+Ir.apply(this,(ba[0]=Ai,ba)),+va.apply(this,ba),+Ir.apply(this,(ba[0]=ki,ba)),+va.apply(this,ba)),la)return Pa=null,la+\"\"||null}return ga.source=function(la){return arguments.length?(Kt=la,ga):Kt},ga.target=function(la){return arguments.length?(vr=la,ga):vr},ga.x=function(la){return arguments.length?(Ir=typeof la==\"function\"?la:A(+la),ga):Ir},ga.y=function(la){return arguments.length?(va=typeof la==\"function\"?la:A(+la),ga):va},ga.context=function(la){return arguments.length?(Pa=la??null,ga):Pa},ga}function ee(gt,Kt,vr,Ir,va){gt.moveTo(Kt,vr),gt.bezierCurveTo(Kt=(Kt+Ir)/2,vr,Kt,va,Ir,va)}function q(gt,Kt,vr,Ir,va){gt.moveTo(Kt,vr),gt.bezierCurveTo(Kt,vr=(vr+va)/2,Ir,vr,Ir,va)}function se(gt,Kt,vr,Ir,va){var Pa=ue(Kt,vr),ga=ue(Kt,vr=(vr+va)/2),la=ue(Ir,vr),ba=ue(Ir,va);gt.moveTo(Pa[0],Pa[1]),gt.bezierCurveTo(ga[0],ga[1],la[0],la[1],ba[0],ba[1])}function ae(){return Y(ee)}function j(){return Y(q)}function Q(){var gt=Y(se);return gt.angle=gt.x,delete gt.x,gt.radius=gt.y,delete gt.y,gt}var re={draw:function(gt,Kt){var vr=Math.sqrt(Kt/s);gt.moveTo(vr,0),gt.arc(0,0,vr,0,f)}},pe={draw:function(gt,Kt){var vr=Math.sqrt(Kt/5)/2;gt.moveTo(-3*vr,-vr),gt.lineTo(-vr,-vr),gt.lineTo(-vr,-3*vr),gt.lineTo(vr,-3*vr),gt.lineTo(vr,-vr),gt.lineTo(3*vr,-vr),gt.lineTo(3*vr,vr),gt.lineTo(vr,vr),gt.lineTo(vr,3*vr),gt.lineTo(-vr,3*vr),gt.lineTo(-vr,vr),gt.lineTo(-3*vr,vr),gt.closePath()}},we=Math.sqrt(1/3),Se=we*2,Ie={draw:function(gt,Kt){var vr=Math.sqrt(Kt/Se),Ir=vr*we;gt.moveTo(0,-vr),gt.lineTo(Ir,0),gt.lineTo(0,vr),gt.lineTo(-Ir,0),gt.closePath()}},Re=.8908130915292852,He=Math.sin(s/10)/Math.sin(7*s/10),at=Math.sin(f/10)*He,nt=-Math.cos(f/10)*He,tt={draw:function(gt,Kt){var vr=Math.sqrt(Kt*Re),Ir=at*vr,va=nt*vr;gt.moveTo(0,-vr),gt.lineTo(Ir,va);for(var Pa=1;Pa<5;++Pa){var ga=f*Pa/5,la=Math.cos(ga),ba=Math.sin(ga);gt.lineTo(ba*vr,-la*vr),gt.lineTo(la*Ir-ba*va,ba*Ir+la*va)}gt.closePath()}},Ue={draw:function(gt,Kt){var vr=Math.sqrt(Kt),Ir=-vr/2;gt.rect(Ir,Ir,vr,vr)}},he=Math.sqrt(3),le={draw:function(gt,Kt){var vr=-Math.sqrt(Kt/(he*3));gt.moveTo(0,vr*2),gt.lineTo(-he*vr,-vr),gt.lineTo(he*vr,-vr),gt.closePath()}},ne=-.5,Ce=Math.sqrt(3)/2,Ze=1/Math.sqrt(12),rt=(Ze/2+1)*3,Ye={draw:function(gt,Kt){var vr=Math.sqrt(Kt/rt),Ir=vr/2,va=vr*Ze,Pa=Ir,ga=vr*Ze+vr,la=-Pa,ba=ga;gt.moveTo(Ir,va),gt.lineTo(Pa,ga),gt.lineTo(la,ba),gt.lineTo(ne*Ir-Ce*va,Ce*Ir+ne*va),gt.lineTo(ne*Pa-Ce*ga,Ce*Pa+ne*ga),gt.lineTo(ne*la-Ce*ba,Ce*la+ne*ba),gt.lineTo(ne*Ir+Ce*va,ne*va-Ce*Ir),gt.lineTo(ne*Pa+Ce*ga,ne*ga-Ce*Pa),gt.lineTo(ne*la+Ce*ba,ne*ba-Ce*la),gt.closePath()}},St=[re,pe,Ie,Ue,tt,le,Ye];function kt(){var gt=A(re),Kt=A(64),vr=null;function Ir(){var va;if(vr||(vr=va=_.path()),gt.apply(this,arguments).draw(vr,+Kt.apply(this,arguments)),va)return vr=null,va+\"\"||null}return Ir.type=function(va){return arguments.length?(gt=typeof va==\"function\"?va:A(va),Ir):gt},Ir.size=function(va){return arguments.length?(Kt=typeof va==\"function\"?va:A(+va),Ir):Kt},Ir.context=function(va){return arguments.length?(vr=va??null,Ir):vr},Ir}function qt(){}function Gt(gt,Kt,vr){gt._context.bezierCurveTo((2*gt._x0+gt._x1)/3,(2*gt._y0+gt._y1)/3,(gt._x0+2*gt._x1)/3,(gt._y0+2*gt._y1)/3,(gt._x0+4*gt._x1+Kt)/6,(gt._y0+4*gt._y1+vr)/6)}function Tr(gt){this._context=gt}Tr.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:Gt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(gt,Kt){switch(gt=+gt,Kt=+Kt,this._point){case 0:this._point=1,this._line?this._context.lineTo(gt,Kt):this._context.moveTo(gt,Kt);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:Gt(this,gt,Kt);break}this._x0=this._x1,this._x1=gt,this._y0=this._y1,this._y1=Kt}};function mr(gt){return new Tr(gt)}function qr(gt){this._context=gt}qr.prototype={areaStart:qt,areaEnd:qt,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);break}}},point:function(gt,Kt){switch(gt=+gt,Kt=+Kt,this._point){case 0:this._point=1,this._x2=gt,this._y2=Kt;break;case 1:this._point=2,this._x3=gt,this._y3=Kt;break;case 2:this._point=3,this._x4=gt,this._y4=Kt,this._context.moveTo((this._x0+4*this._x1+gt)/6,(this._y0+4*this._y1+Kt)/6);break;default:Gt(this,gt,Kt);break}this._x0=this._x1,this._x1=gt,this._y0=this._y1,this._y1=Kt}};function Er(gt){return new qr(gt)}function Dr(gt){this._context=gt}Dr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(gt,Kt){switch(gt=+gt,Kt=+Kt,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var vr=(this._x0+4*this._x1+gt)/6,Ir=(this._y0+4*this._y1+Kt)/6;this._line?this._context.lineTo(vr,Ir):this._context.moveTo(vr,Ir);break;case 3:this._point=4;default:Gt(this,gt,Kt);break}this._x0=this._x1,this._x1=gt,this._y0=this._y1,this._y1=Kt}};function xt(gt){return new Dr(gt)}function Oe(gt,Kt){this._basis=new Tr(gt),this._beta=Kt}Oe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var gt=this._x,Kt=this._y,vr=gt.length-1;if(vr>0)for(var Ir=gt[0],va=Kt[0],Pa=gt[vr]-Ir,ga=Kt[vr]-va,la=-1,ba;++la<=vr;)ba=la/vr,this._basis.point(this._beta*gt[la]+(1-this._beta)*(Ir+ba*Pa),this._beta*Kt[la]+(1-this._beta)*(va+ba*ga));this._x=this._y=null,this._basis.lineEnd()},point:function(gt,Kt){this._x.push(+gt),this._y.push(+Kt)}};var Ke=function gt(Kt){function vr(Ir){return Kt===1?new Tr(Ir):new Oe(Ir,Kt)}return vr.beta=function(Ir){return gt(+Ir)},vr}(.85);function Ae(gt,Kt,vr){gt._context.bezierCurveTo(gt._x1+gt._k*(gt._x2-gt._x0),gt._y1+gt._k*(gt._y2-gt._y0),gt._x2+gt._k*(gt._x1-Kt),gt._y2+gt._k*(gt._y1-vr),gt._x2,gt._y2)}function Le(gt,Kt){this._context=gt,this._k=(1-Kt)/6}Le.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:Ae(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(gt,Kt){switch(gt=+gt,Kt=+Kt,this._point){case 0:this._point=1,this._line?this._context.lineTo(gt,Kt):this._context.moveTo(gt,Kt);break;case 1:this._point=2,this._x1=gt,this._y1=Kt;break;case 2:this._point=3;default:Ae(this,gt,Kt);break}this._x0=this._x1,this._x1=this._x2,this._x2=gt,this._y0=this._y1,this._y1=this._y2,this._y2=Kt}};var We=function gt(Kt){function vr(Ir){return new Le(Ir,Kt)}return vr.tension=function(Ir){return gt(+Ir)},vr}(0);function Je(gt,Kt){this._context=gt,this._k=(1-Kt)/6}Je.prototype={areaStart:qt,areaEnd:qt,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);break}}},point:function(gt,Kt){switch(gt=+gt,Kt=+Kt,this._point){case 0:this._point=1,this._x3=gt,this._y3=Kt;break;case 1:this._point=2,this._context.moveTo(this._x4=gt,this._y4=Kt);break;case 2:this._point=3,this._x5=gt,this._y5=Kt;break;default:Ae(this,gt,Kt);break}this._x0=this._x1,this._x1=this._x2,this._x2=gt,this._y0=this._y1,this._y1=this._y2,this._y2=Kt}};var st=function gt(Kt){function vr(Ir){return new Je(Ir,Kt)}return vr.tension=function(Ir){return gt(+Ir)},vr}(0);function ot(gt,Kt){this._context=gt,this._k=(1-Kt)/6}ot.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(gt,Kt){switch(gt=+gt,Kt=+Kt,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:Ae(this,gt,Kt);break}this._x0=this._x1,this._x1=this._x2,this._x2=gt,this._y0=this._y1,this._y1=this._y2,this._y2=Kt}};var Ut=function gt(Kt){function vr(Ir){return new ot(Ir,Kt)}return vr.tension=function(Ir){return gt(+Ir)},vr}(0);function Ct(gt,Kt,vr){var Ir=gt._x1,va=gt._y1,Pa=gt._x2,ga=gt._y2;if(gt._l01_a>i){var la=2*gt._l01_2a+3*gt._l01_a*gt._l12_a+gt._l12_2a,ba=3*gt._l01_a*(gt._l01_a+gt._l12_a);Ir=(Ir*la-gt._x0*gt._l12_2a+gt._x2*gt._l01_2a)/ba,va=(va*la-gt._y0*gt._l12_2a+gt._y2*gt._l01_2a)/ba}if(gt._l23_a>i){var Ai=2*gt._l23_2a+3*gt._l23_a*gt._l12_a+gt._l12_2a,ki=3*gt._l23_a*(gt._l23_a+gt._l12_a);Pa=(Pa*Ai+gt._x1*gt._l23_2a-Kt*gt._l12_2a)/ki,ga=(ga*Ai+gt._y1*gt._l23_2a-vr*gt._l12_2a)/ki}gt._context.bezierCurveTo(Ir,va,Pa,ga,gt._x2,gt._y2)}function Pt(gt,Kt){this._context=gt,this._alpha=Kt}Pt.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(gt,Kt){if(gt=+gt,Kt=+Kt,this._point){var vr=this._x2-gt,Ir=this._y2-Kt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(vr*vr+Ir*Ir,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(gt,Kt):this._context.moveTo(gt,Kt);break;case 1:this._point=2;break;case 2:this._point=3;default:Ct(this,gt,Kt);break}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=gt,this._y0=this._y1,this._y1=this._y2,this._y2=Kt}};var Nt=function gt(Kt){function vr(Ir){return Kt?new Pt(Ir,Kt):new Le(Ir,0)}return vr.alpha=function(Ir){return gt(+Ir)},vr}(.5);function cr(gt,Kt){this._context=gt,this._alpha=Kt}cr.prototype={areaStart:qt,areaEnd:qt,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);break}}},point:function(gt,Kt){if(gt=+gt,Kt=+Kt,this._point){var vr=this._x2-gt,Ir=this._y2-Kt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(vr*vr+Ir*Ir,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=gt,this._y3=Kt;break;case 1:this._point=2,this._context.moveTo(this._x4=gt,this._y4=Kt);break;case 2:this._point=3,this._x5=gt,this._y5=Kt;break;default:Ct(this,gt,Kt);break}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=gt,this._y0=this._y1,this._y1=this._y2,this._y2=Kt}};var lr=function gt(Kt){function vr(Ir){return Kt?new cr(Ir,Kt):new Je(Ir,0)}return vr.alpha=function(Ir){return gt(+Ir)},vr}(.5);function sr(gt,Kt){this._context=gt,this._alpha=Kt}sr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(gt,Kt){if(gt=+gt,Kt=+Kt,this._point){var vr=this._x2-gt,Ir=this._y2-Kt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(vr*vr+Ir*Ir,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:Ct(this,gt,Kt);break}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=gt,this._y0=this._y1,this._y1=this._y2,this._y2=Kt}};var Pr=function gt(Kt){function vr(Ir){return Kt?new sr(Ir,Kt):new ot(Ir,0)}return vr.alpha=function(Ir){return gt(+Ir)},vr}(.5);function _a(gt){this._context=gt}_a.prototype={areaStart:qt,areaEnd:qt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(gt,Kt){gt=+gt,Kt=+Kt,this._point?this._context.lineTo(gt,Kt):(this._point=1,this._context.moveTo(gt,Kt))}};function Fa(gt){return new _a(gt)}function Ra(gt){return gt<0?-1:1}function qa(gt,Kt,vr){var Ir=gt._x1-gt._x0,va=Kt-gt._x1,Pa=(gt._y1-gt._y0)/(Ir||va<0&&-0),ga=(vr-gt._y1)/(va||Ir<0&&-0),la=(Pa*va+ga*Ir)/(Ir+va);return(Ra(Pa)+Ra(ga))*Math.min(Math.abs(Pa),Math.abs(ga),.5*Math.abs(la))||0}function Wa(gt,Kt){var vr=gt._x1-gt._x0;return vr?(3*(gt._y1-gt._y0)/vr-Kt)/2:Kt}function Ca(gt,Kt,vr){var Ir=gt._x0,va=gt._y0,Pa=gt._x1,ga=gt._y1,la=(Pa-Ir)/3;gt._context.bezierCurveTo(Ir+la,va+la*Kt,Pa-la,ga-la*vr,Pa,ga)}function hi(gt){this._context=gt}hi.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:Ca(this,this._t0,Wa(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(gt,Kt){var vr=NaN;if(gt=+gt,Kt=+Kt,!(gt===this._x1&&Kt===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(gt,Kt):this._context.moveTo(gt,Kt);break;case 1:this._point=2;break;case 2:this._point=3,Ca(this,Wa(this,vr=qa(this,gt,Kt)),vr);break;default:Ca(this,this._t0,vr=qa(this,gt,Kt));break}this._x0=this._x1,this._x1=gt,this._y0=this._y1,this._y1=Kt,this._t0=vr}}};function wi(gt){this._context=new Yt(gt)}(wi.prototype=Object.create(hi.prototype)).point=function(gt,Kt){hi.prototype.point.call(this,Kt,gt)};function Yt(gt){this._context=gt}Yt.prototype={moveTo:function(gt,Kt){this._context.moveTo(Kt,gt)},closePath:function(){this._context.closePath()},lineTo:function(gt,Kt){this._context.lineTo(Kt,gt)},bezierCurveTo:function(gt,Kt,vr,Ir,va,Pa){this._context.bezierCurveTo(Kt,gt,Ir,vr,Pa,va)}};function Rt(gt){return new hi(gt)}function Zt(gt){return new wi(gt)}function Jt(gt){this._context=gt}Jt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var gt=this._x,Kt=this._y,vr=gt.length;if(vr)if(this._line?this._context.lineTo(gt[0],Kt[0]):this._context.moveTo(gt[0],Kt[0]),vr===2)this._context.lineTo(gt[1],Kt[1]);else for(var Ir=Or(gt),va=Or(Kt),Pa=0,ga=1;ga=0;--Kt)va[Kt]=(ga[Kt]-va[Kt+1])/Pa[Kt];for(Pa[vr-1]=(gt[vr]+va[vr-1])/2,Kt=0;Kt=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(gt,Kt){switch(gt=+gt,Kt=+Kt,this._point){case 0:this._point=1,this._line?this._context.lineTo(gt,Kt):this._context.moveTo(gt,Kt);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,Kt),this._context.lineTo(gt,Kt);else{var vr=this._x*(1-this._t)+gt*this._t;this._context.lineTo(vr,this._y),this._context.lineTo(vr,Kt)}break}}this._x=gt,this._y=Kt}};function ca(gt){return new ra(gt,.5)}function Ba(gt){return new ra(gt,0)}function $a(gt){return new ra(gt,1)}function Za(gt,Kt){if((ga=gt.length)>1)for(var vr=1,Ir,va,Pa=gt[Kt[0]],ga,la=Pa.length;vr=0;)vr[Kt]=Kt;return vr}function pi(gt,Kt){return gt[Kt]}function Ia(){var gt=A([]),Kt=ri,vr=Za,Ir=pi;function va(Pa){var ga=gt.apply(this,arguments),la,ba=Pa.length,Ai=ga.length,ki=new Array(Ai),Ki;for(la=0;la0){for(var vr,Ir,va=0,Pa=gt[0].length,ga;va0)for(var vr,Ir=0,va,Pa,ga,la,ba,Ai=gt[Kt[0]].length;Ir0?(va[0]=ga,va[1]=ga+=Pa):Pa<0?(va[1]=la,va[0]=la+=Pa):(va[0]=0,va[1]=Pa)}function cn(gt,Kt){if((va=gt.length)>0){for(var vr=0,Ir=gt[Kt[0]],va,Pa=Ir.length;vr0)||!((Pa=(va=gt[Kt[0]]).length)>0))){for(var vr=0,Ir=1,va,Pa,ga;IrPa&&(Pa=va,vr=Kt);return vr}function Cr(gt){var Kt=gt.map(wr);return ri(gt).sort(function(vr,Ir){return Kt[vr]-Kt[Ir]})}function wr(gt){for(var Kt=0,vr=-1,Ir=gt.length,va;++vr0;--se)Q(q*=.99),re(),j(q),re();function ae(){var pe=_.max(ee,function(Ie){return Ie.length}),we=N*(D-g)/(pe-1);z>we&&(z=we);var Se=_.min(ee,function(Ie){return(D-g-(Ie.length-1)*z)/_.sum(Ie,f)});ee.forEach(function(Ie){Ie.forEach(function(Re,He){Re.y1=(Re.y0=He)+Re.value*Se})}),Y.links.forEach(function(Ie){Ie.width=Ie.value*Se})}function j(pe){ee.forEach(function(we){we.forEach(function(Se){if(Se.targetLinks.length){var Ie=(_.sum(Se.targetLinks,c)/_.sum(Se.targetLinks,f)-v(Se))*pe;Se.y0+=Ie,Se.y1+=Ie}})})}function Q(pe){ee.slice().reverse().forEach(function(we){we.forEach(function(Se){if(Se.sourceLinks.length){var Ie=(_.sum(Se.sourceLinks,T)/_.sum(Se.sourceLinks,f)-v(Se))*pe;Se.y0+=Ie,Se.y1+=Ie}})})}function re(){ee.forEach(function(pe){var we,Se,Ie=g,Re=pe.length,He;for(pe.sort(h),He=0;He0&&(we.y0+=Se,we.y1+=Se),Ie=we.y1+z;if(Se=Ie-z-D,Se>0)for(Ie=we.y0-=Se,we.y1-=Se,He=Re-2;He>=0;--He)we=pe[He],Se=we.y1+z-Ie,Se>0&&(we.y0-=Se,we.y1-=Se),Ie=we.y0})}}function V(Y){Y.nodes.forEach(function(ee){ee.sourceLinks.sort(s),ee.targetLinks.sort(i)}),Y.nodes.forEach(function(ee){var q=ee.y0,se=q;ee.sourceLinks.forEach(function(ae){ae.y0=q+ae.width/2,q+=ae.width}),ee.targetLinks.forEach(function(ae){ae.y1=se+ae.width/2,se+=ae.width})})}return X};function m(u){return[u.source.x1,u.y0]}function b(u){return[u.target.x0,u.y1]}var p=function(){return E.linkHorizontal().source(m).target(b)};d.sankey=M,d.sankeyCenter=a,d.sankeyLeft=t,d.sankeyRight=r,d.sankeyJustify=o,d.sankeyLinkHorizontal=p,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),dG=Ge({\"node_modules/elementary-circuits-directed-graph/johnson.js\"(Z,G){var d=N6();G.exports=function(A,E){var e=[],t=[],r=[],o={},a=[],n;function i(S){r[S]=!1,o.hasOwnProperty(S)&&Object.keys(o[S]).forEach(function(M){delete o[S][M],r[M]&&i(M)})}function s(S){var M=!1;t.push(S),r[S]=!0;var m,b;for(m=0;m=S})}function v(S){f(S);for(var M=A,m=d(M),b=m.components.filter(function(z){return z.length>1}),p=1/0,u,g=0;g\"u\"?\"undefined\":s(Le))!==\"object\"&&(Le=Ke.source=m(Oe,Le)),(typeof We>\"u\"?\"undefined\":s(We))!==\"object\"&&(We=Ke.target=m(Oe,We)),Le.sourceLinks.push(Ke),We.targetLinks.push(Ke)}),xt}function Gt(xt){xt.nodes.forEach(function(Oe){Oe.partOfCycle=!1,Oe.value=Math.max(_.sum(Oe.sourceLinks,c),_.sum(Oe.targetLinks,c)),Oe.sourceLinks.forEach(function(Ke){Ke.circular&&(Oe.partOfCycle=!0,Oe.circularLinkType=Ke.circularLinkType)}),Oe.targetLinks.forEach(function(Ke){Ke.circular&&(Oe.partOfCycle=!0,Oe.circularLinkType=Ke.circularLinkType)})})}function Tr(xt){var Oe=0,Ke=0,Ae=0,Le=0,We=_.max(xt.nodes,function(Je){return Je.column});return xt.links.forEach(function(Je){Je.circular&&(Je.circularLinkType==\"top\"?Oe=Oe+Je.width:Ke=Ke+Je.width,Je.target.column==0&&(Le=Le+Je.width),Je.source.column==We&&(Ae=Ae+Je.width))}),Oe=Oe>0?Oe+p+u:Oe,Ke=Ke>0?Ke+p+u:Ke,Ae=Ae>0?Ae+p+u:Ae,Le=Le>0?Le+p+u:Le,{top:Oe,bottom:Ke,left:Le,right:Ae}}function mr(xt,Oe){var Ke=_.max(xt.nodes,function(Ut){return Ut.column}),Ae=at-Re,Le=nt-He,We=Ae+Oe.right+Oe.left,Je=Le+Oe.top+Oe.bottom,st=Ae/We,ot=Le/Je;return Re=Re*st+Oe.left,at=Oe.right==0?at:at*st,He=He*ot+Oe.top,nt=nt*ot,xt.nodes.forEach(function(Ut){Ut.x0=Re+Ut.column*((at-Re-tt)/Ke),Ut.x1=Ut.x0+tt}),ot}function qr(xt){var Oe,Ke,Ae;for(Oe=xt.nodes,Ke=[],Ae=0;Oe.length;++Ae,Oe=Ke,Ke=[])Oe.forEach(function(Le){Le.depth=Ae,Le.sourceLinks.forEach(function(We){Ke.indexOf(We.target)<0&&!We.circular&&Ke.push(We.target)})});for(Oe=xt.nodes,Ke=[],Ae=0;Oe.length;++Ae,Oe=Ke,Ke=[])Oe.forEach(function(Le){Le.height=Ae,Le.targetLinks.forEach(function(We){Ke.indexOf(We.source)<0&&!We.circular&&Ke.push(We.source)})});xt.nodes.forEach(function(Le){Le.column=Math.floor(le.call(null,Le,Ae))})}function Er(xt,Oe,Ke){var Ae=A.nest().key(function(Ut){return Ut.column}).sortKeys(_.ascending).entries(xt.nodes).map(function(Ut){return Ut.values});Je(Ke),ot();for(var Le=1,We=Oe;We>0;--We)st(Le*=.99,Ke),ot();function Je(Ut){if(Ye){var Ct=1/0;Ae.forEach(function(lr){var sr=nt*Ye/(lr.length+1);Ct=sr0))if(lr==0&&cr==1)Pr=sr.y1-sr.y0,sr.y0=nt/2-Pr/2,sr.y1=nt/2+Pr/2;else if(lr==Pt-1&&cr==1)Pr=sr.y1-sr.y0,sr.y0=nt/2-Pr/2,sr.y1=nt/2+Pr/2;else{var _a=0,Fa=_.mean(sr.sourceLinks,x),Ra=_.mean(sr.targetLinks,l);Fa&&Ra?_a=(Fa+Ra)/2:_a=Fa||Ra;var qa=(_a-T(sr))*Ut;sr.y0+=qa,sr.y1+=qa}})})}function ot(){Ae.forEach(function(Ut){var Ct,Pt,Nt=He,cr=Ut.length,lr;for(Ut.sort(v),lr=0;lr0&&(Ct.y0+=Pt,Ct.y1+=Pt),Nt=Ct.y1+Ue;if(Pt=Nt-Ue-nt,Pt>0)for(Nt=Ct.y0-=Pt,Ct.y1-=Pt,lr=cr-2;lr>=0;--lr)Ct=Ut[lr],Pt=Ct.y1+Ue-Nt,Pt>0&&(Ct.y0-=Pt,Ct.y1-=Pt),Nt=Ct.y0})}}function Dr(xt){xt.nodes.forEach(function(Oe){Oe.sourceLinks.sort(f),Oe.targetLinks.sort(h)}),xt.nodes.forEach(function(Oe){var Ke=Oe.y0,Ae=Ke,Le=Oe.y1,We=Le;Oe.sourceLinks.forEach(function(Je){Je.circular?(Je.y0=Le-Je.width/2,Le=Le-Je.width):(Je.y0=Ke+Je.width/2,Ke+=Je.width)}),Oe.targetLinks.forEach(function(Je){Je.circular?(Je.y1=We-Je.width/2,We=We-Je.width):(Je.y1=Ae+Je.width/2,Ae+=Je.width)})})}return kt}function D(Re,He,at){var nt=0;if(at===null){for(var tt=[],Ue=0;UeHe.source.column)}function B(Re,He){var at=0;Re.sourceLinks.forEach(function(tt){at=tt.circular&&!Se(tt,He)?at+1:at});var nt=0;return Re.targetLinks.forEach(function(tt){nt=tt.circular&&!Se(tt,He)?nt+1:nt}),at+nt}function O(Re){var He=Re.source.sourceLinks,at=0;He.forEach(function(Ue){at=Ue.circular?at+1:at});var nt=Re.target.targetLinks,tt=0;return nt.forEach(function(Ue){tt=Ue.circular?tt+1:tt}),!(at>1||tt>1)}function P(Re,He,at){return Re.sort(X),Re.forEach(function(nt,tt){var Ue=0;if(Se(nt,at)&&O(nt))nt.circularPathData.verticalBuffer=Ue+nt.width/2;else{var he=0;for(he;heUe?le:Ue}nt.circularPathData.verticalBuffer=Ue+nt.width/2}}),Re}function U(Re,He,at,nt){var tt=5,Ue=_.min(Re.links,function(ne){return ne.source.y0});Re.links.forEach(function(ne){ne.circular&&(ne.circularPathData={})});var he=Re.links.filter(function(ne){return ne.circularLinkType==\"top\"});P(he,He,nt);var le=Re.links.filter(function(ne){return ne.circularLinkType==\"bottom\"});P(le,He,nt),Re.links.forEach(function(ne){if(ne.circular){if(ne.circularPathData.arcRadius=ne.width+u,ne.circularPathData.leftNodeBuffer=tt,ne.circularPathData.rightNodeBuffer=tt,ne.circularPathData.sourceWidth=ne.source.x1-ne.source.x0,ne.circularPathData.sourceX=ne.source.x0+ne.circularPathData.sourceWidth,ne.circularPathData.targetX=ne.target.x0,ne.circularPathData.sourceY=ne.y0,ne.circularPathData.targetY=ne.y1,Se(ne,nt)&&O(ne))ne.circularPathData.leftSmallArcRadius=u+ne.width/2,ne.circularPathData.leftLargeArcRadius=u+ne.width/2,ne.circularPathData.rightSmallArcRadius=u+ne.width/2,ne.circularPathData.rightLargeArcRadius=u+ne.width/2,ne.circularLinkType==\"bottom\"?(ne.circularPathData.verticalFullExtent=ne.source.y1+p+ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.rightLargeArcRadius):(ne.circularPathData.verticalFullExtent=ne.source.y0-p-ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.rightLargeArcRadius);else{var Ce=ne.source.column,Ze=ne.circularLinkType,rt=Re.links.filter(function(kt){return kt.source.column==Ce&&kt.circularLinkType==Ze});ne.circularLinkType==\"bottom\"?rt.sort(ue):rt.sort($);var Ye=0;rt.forEach(function(kt,qt){kt.circularLinkID==ne.circularLinkID&&(ne.circularPathData.leftSmallArcRadius=u+ne.width/2+Ye,ne.circularPathData.leftLargeArcRadius=u+ne.width/2+qt*He+Ye),Ye=Ye+kt.width}),Ce=ne.target.column,rt=Re.links.filter(function(kt){return kt.target.column==Ce&&kt.circularLinkType==Ze}),ne.circularLinkType==\"bottom\"?rt.sort(de):rt.sort(ce),Ye=0,rt.forEach(function(kt,qt){kt.circularLinkID==ne.circularLinkID&&(ne.circularPathData.rightSmallArcRadius=u+ne.width/2+Ye,ne.circularPathData.rightLargeArcRadius=u+ne.width/2+qt*He+Ye),Ye=Ye+kt.width}),ne.circularLinkType==\"bottom\"?(ne.circularPathData.verticalFullExtent=Math.max(at,ne.source.y1,ne.target.y1)+p+ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.rightLargeArcRadius):(ne.circularPathData.verticalFullExtent=Ue-p-ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.rightLargeArcRadius)}ne.circularPathData.leftInnerExtent=ne.circularPathData.sourceX+ne.circularPathData.leftNodeBuffer,ne.circularPathData.rightInnerExtent=ne.circularPathData.targetX-ne.circularPathData.rightNodeBuffer,ne.circularPathData.leftFullExtent=ne.circularPathData.sourceX+ne.circularPathData.leftLargeArcRadius+ne.circularPathData.leftNodeBuffer,ne.circularPathData.rightFullExtent=ne.circularPathData.targetX-ne.circularPathData.rightLargeArcRadius-ne.circularPathData.rightNodeBuffer}if(ne.circular)ne.path=N(ne);else{var St=E.linkHorizontal().source(function(kt){var qt=kt.source.x0+(kt.source.x1-kt.source.x0),Gt=kt.y0;return[qt,Gt]}).target(function(kt){var qt=kt.target.x0,Gt=kt.y1;return[qt,Gt]});ne.path=St(ne)}})}function N(Re){var He=\"\";return Re.circularLinkType==\"top\"?He=\"M\"+Re.circularPathData.sourceX+\" \"+Re.circularPathData.sourceY+\" L\"+Re.circularPathData.leftInnerExtent+\" \"+Re.circularPathData.sourceY+\" A\"+Re.circularPathData.leftLargeArcRadius+\" \"+Re.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+Re.circularPathData.leftFullExtent+\" \"+(Re.circularPathData.sourceY-Re.circularPathData.leftSmallArcRadius)+\" L\"+Re.circularPathData.leftFullExtent+\" \"+Re.circularPathData.verticalLeftInnerExtent+\" A\"+Re.circularPathData.leftLargeArcRadius+\" \"+Re.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+Re.circularPathData.leftInnerExtent+\" \"+Re.circularPathData.verticalFullExtent+\" L\"+Re.circularPathData.rightInnerExtent+\" \"+Re.circularPathData.verticalFullExtent+\" A\"+Re.circularPathData.rightLargeArcRadius+\" \"+Re.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+Re.circularPathData.rightFullExtent+\" \"+Re.circularPathData.verticalRightInnerExtent+\" L\"+Re.circularPathData.rightFullExtent+\" \"+(Re.circularPathData.targetY-Re.circularPathData.rightSmallArcRadius)+\" A\"+Re.circularPathData.rightLargeArcRadius+\" \"+Re.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+Re.circularPathData.rightInnerExtent+\" \"+Re.circularPathData.targetY+\" L\"+Re.circularPathData.targetX+\" \"+Re.circularPathData.targetY:He=\"M\"+Re.circularPathData.sourceX+\" \"+Re.circularPathData.sourceY+\" L\"+Re.circularPathData.leftInnerExtent+\" \"+Re.circularPathData.sourceY+\" A\"+Re.circularPathData.leftLargeArcRadius+\" \"+Re.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+Re.circularPathData.leftFullExtent+\" \"+(Re.circularPathData.sourceY+Re.circularPathData.leftSmallArcRadius)+\" L\"+Re.circularPathData.leftFullExtent+\" \"+Re.circularPathData.verticalLeftInnerExtent+\" A\"+Re.circularPathData.leftLargeArcRadius+\" \"+Re.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+Re.circularPathData.leftInnerExtent+\" \"+Re.circularPathData.verticalFullExtent+\" L\"+Re.circularPathData.rightInnerExtent+\" \"+Re.circularPathData.verticalFullExtent+\" A\"+Re.circularPathData.rightLargeArcRadius+\" \"+Re.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+Re.circularPathData.rightFullExtent+\" \"+Re.circularPathData.verticalRightInnerExtent+\" L\"+Re.circularPathData.rightFullExtent+\" \"+(Re.circularPathData.targetY+Re.circularPathData.rightSmallArcRadius)+\" A\"+Re.circularPathData.rightLargeArcRadius+\" \"+Re.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+Re.circularPathData.rightInnerExtent+\" \"+Re.circularPathData.targetY+\" L\"+Re.circularPathData.targetX+\" \"+Re.circularPathData.targetY,He}function X(Re,He){return V(Re)==V(He)?Re.circularLinkType==\"bottom\"?ue(Re,He):$(Re,He):V(He)-V(Re)}function $(Re,He){return Re.y0-He.y0}function ue(Re,He){return He.y0-Re.y0}function ce(Re,He){return Re.y1-He.y1}function de(Re,He){return He.y1-Re.y1}function V(Re){return Re.target.column-Re.source.column}function Y(Re){return Re.target.x0-Re.source.x1}function ee(Re,He){var at=z(Re),nt=Y(He)/Math.tan(at),tt=we(Re)==\"up\"?Re.y1+nt:Re.y1-nt;return tt}function q(Re,He){var at=z(Re),nt=Y(He)/Math.tan(at),tt=we(Re)==\"up\"?Re.y1-nt:Re.y1+nt;return tt}function se(Re,He,at,nt){Re.links.forEach(function(tt){if(!tt.circular&&tt.target.column-tt.source.column>1){var Ue=tt.source.column+1,he=tt.target.column-1,le=1,ne=he-Ue+1;for(le=1;Ue<=he;Ue++,le++)Re.nodes.forEach(function(Ce){if(Ce.column==Ue){var Ze=le/(ne+1),rt=Math.pow(1-Ze,3),Ye=3*Ze*Math.pow(1-Ze,2),St=3*Math.pow(Ze,2)*(1-Ze),kt=Math.pow(Ze,3),qt=rt*tt.y0+Ye*tt.y0+St*tt.y1+kt*tt.y1,Gt=qt-tt.width/2,Tr=qt+tt.width/2,mr;Gt>Ce.y0&&GtCe.y0&&TrCe.y1&&j(qr,mr,He,at)})):GtCe.y1&&(mr=Tr-Ce.y0+10,Ce=j(Ce,mr,He,at),Re.nodes.forEach(function(qr){b(qr,nt)==b(Ce,nt)||qr.column!=Ce.column||qr.y0Ce.y1&&j(qr,mr,He,at)}))}})}})}function ae(Re,He){return Re.y0>He.y0&&Re.y0He.y0&&Re.y1He.y1}function j(Re,He,at,nt){return Re.y0+He>=at&&Re.y1+He<=nt&&(Re.y0=Re.y0+He,Re.y1=Re.y1+He,Re.targetLinks.forEach(function(tt){tt.y1=tt.y1+He}),Re.sourceLinks.forEach(function(tt){tt.y0=tt.y0+He})),Re}function Q(Re,He,at,nt){Re.nodes.forEach(function(tt){nt&&tt.y+(tt.y1-tt.y0)>He&&(tt.y=tt.y-(tt.y+(tt.y1-tt.y0)-He));var Ue=Re.links.filter(function(ne){return b(ne.source,at)==b(tt,at)}),he=Ue.length;he>1&&Ue.sort(function(ne,Ce){if(!ne.circular&&!Ce.circular){if(ne.target.column==Ce.target.column)return ne.y1-Ce.y1;if(pe(ne,Ce)){if(ne.target.column>Ce.target.column){var Ze=q(Ce,ne);return ne.y1-Ze}if(Ce.target.column>ne.target.column){var rt=q(ne,Ce);return rt-Ce.y1}}else return ne.y1-Ce.y1}if(ne.circular&&!Ce.circular)return ne.circularLinkType==\"top\"?-1:1;if(Ce.circular&&!ne.circular)return Ce.circularLinkType==\"top\"?1:-1;if(ne.circular&&Ce.circular)return ne.circularLinkType===Ce.circularLinkType&&ne.circularLinkType==\"top\"?ne.target.column===Ce.target.column?ne.target.y1-Ce.target.y1:Ce.target.column-ne.target.column:ne.circularLinkType===Ce.circularLinkType&&ne.circularLinkType==\"bottom\"?ne.target.column===Ce.target.column?Ce.target.y1-ne.target.y1:ne.target.column-Ce.target.column:ne.circularLinkType==\"top\"?-1:1});var le=tt.y0;Ue.forEach(function(ne){ne.y0=le+ne.width/2,le=le+ne.width}),Ue.forEach(function(ne,Ce){if(ne.circularLinkType==\"bottom\"){var Ze=Ce+1,rt=0;for(Ze;Ze1&&tt.sort(function(le,ne){if(!le.circular&&!ne.circular){if(le.source.column==ne.source.column)return le.y0-ne.y0;if(pe(le,ne)){if(ne.source.column0?\"up\":\"down\"}function Se(Re,He){return b(Re.source,He)==b(Re.target,He)}function Ie(Re,He,at){var nt=Re.nodes,tt=Re.links,Ue=!1,he=!1;if(tt.forEach(function(Ye){Ye.circularLinkType==\"top\"?Ue=!0:Ye.circularLinkType==\"bottom\"&&(he=!0)}),Ue==!1||he==!1){var le=_.min(nt,function(Ye){return Ye.y0}),ne=_.max(nt,function(Ye){return Ye.y1}),Ce=ne-le,Ze=at-He,rt=Ze/Ce;nt.forEach(function(Ye){var St=(Ye.y1-Ye.y0)*rt;Ye.y0=(Ye.y0-le)*rt,Ye.y1=Ye.y0+St}),tt.forEach(function(Ye){Ye.y0=(Ye.y0-le)*rt,Ye.y1=(Ye.y1-le)*rt,Ye.width=Ye.width*rt})}}d.sankeyCircular=y,d.sankeyCenter=n,d.sankeyLeft=r,d.sankeyRight=o,d.sankeyJustify=a,Object.defineProperty(d,\"__esModule\",{value:!0})})}}),j6=Ge({\"src/traces/sankey/constants.js\"(Z,G){\"use strict\";G.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\",nodeLabel:\"node-label\"}}}}),mG=Ge({\"src/traces/sankey/render.js\"(Z,G){\"use strict\";var d=fG(),_=(pg(),zf(p0)).interpolateNumber,A=Vn(),E=pG(),e=vG(),t=j6(),r=Ch(),o=$n(),a=as(),n=sa(),i=n.strTranslate,s=n.strRotate,h=kv(),f=h.keyFun,v=h.repeat,c=h.unwrap,T=su(),l=so(),x=uh(),w=x.CAP_SHIFT,S=x.LINE_SPACING,M=3;function m(ee,q,se){var ae=c(q),j=ae.trace,Q=j.domain,re=j.orientation===\"h\",pe=j.node.pad,we=j.node.thickness,Se={justify:E.sankeyJustify,left:E.sankeyLeft,right:E.sankeyRight,center:E.sankeyCenter}[j.node.align],Ie=ee.width*(Q.x[1]-Q.x[0]),Re=ee.height*(Q.y[1]-Q.y[0]),He=ae._nodes,at=ae._links,nt=ae.circular,tt;nt?tt=e.sankeyCircular().circularLinkGap(0):tt=E.sankey(),tt.iterations(t.sankeyIterations).size(re?[Ie,Re]:[Re,Ie]).nodeWidth(we).nodePadding(pe).nodeId(function(qr){return qr.pointNumber}).nodeAlign(Se).nodes(He).links(at);var Ue=tt();tt.nodePadding()=Oe||(xt=Oe-Dr.y0,xt>1e-6&&(Dr.y0+=xt,Dr.y1+=xt)),Oe=Dr.y1+pe})}function qt(qr){var Er=qr.map(function(We,Je){return{x0:We.x0,index:Je}}).sort(function(We,Je){return We.x0-Je.x0}),Dr=[],xt=-1,Oe,Ke=-1/0,Ae;for(he=0;heKe+we&&(xt+=1,Oe=Le.x0),Ke=Le.x0,Dr[xt]||(Dr[xt]=[]),Dr[xt].push(Le),Ae=Oe-Le.x0,Le.x0+=Ae,Le.x1+=Ae}return Dr}if(j.node.x.length&&j.node.y.length){for(he=0;he0?\" L \"+j.targetX+\" \"+j.targetY:\"\")+\"Z\"):(se=\"M \"+(j.targetX-q)+\" \"+(j.targetY-ae)+\" L \"+(j.rightInnerExtent-q)+\" \"+(j.targetY-ae)+\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightSmallArcRadius+ae)+\" 0 0 0 \"+(j.rightFullExtent-ae-q)+\" \"+(j.targetY+j.rightSmallArcRadius)+\" L \"+(j.rightFullExtent-ae-q)+\" \"+j.verticalRightInnerExtent,Q&&re?se+=\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.rightInnerExtent-ae-q)+\" \"+(j.verticalFullExtent+ae)+\" L \"+(j.rightFullExtent+ae-q-(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent+ae)+\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.leftFullExtent+ae)+\" \"+j.verticalLeftInnerExtent:Q?se+=\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.rightFullExtent-q-ae-(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" L \"+(j.leftFullExtent+ae+(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.leftFullExtent+ae)+\" \"+j.verticalLeftInnerExtent:se+=\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.rightInnerExtent-q)+\" \"+(j.verticalFullExtent+ae)+\" L \"+j.leftInnerExtent+\" \"+(j.verticalFullExtent+ae)+\" A \"+(j.leftLargeArcRadius+ae)+\" \"+(j.leftLargeArcRadius+ae)+\" 0 0 0 \"+(j.leftFullExtent+ae)+\" \"+j.verticalLeftInnerExtent,se+=\" L \"+(j.leftFullExtent+ae)+\" \"+(j.sourceY+j.leftSmallArcRadius)+\" A \"+(j.leftLargeArcRadius+ae)+\" \"+(j.leftSmallArcRadius+ae)+\" 0 0 0 \"+j.leftInnerExtent+\" \"+(j.sourceY-ae)+\" L \"+j.sourceX+\" \"+(j.sourceY-ae)+\" L \"+j.sourceX+\" \"+(j.sourceY+ae)+\" L \"+j.leftInnerExtent+\" \"+(j.sourceY+ae)+\" A \"+(j.leftLargeArcRadius-ae)+\" \"+(j.leftSmallArcRadius-ae)+\" 0 0 1 \"+(j.leftFullExtent-ae)+\" \"+(j.sourceY+j.leftSmallArcRadius)+\" L \"+(j.leftFullExtent-ae)+\" \"+j.verticalLeftInnerExtent,Q&&re?se+=\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.leftFullExtent-ae-(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" L \"+(j.rightFullExtent+ae-q+(j.rightLargeArcRadius-ae))+\" \"+(j.verticalFullExtent-ae)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.rightFullExtent+ae-q)+\" \"+j.verticalRightInnerExtent:Q?se+=\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.leftFullExtent+ae)+\" \"+(j.verticalFullExtent+ae)+\" L \"+(j.rightFullExtent-q-ae)+\" \"+(j.verticalFullExtent+ae)+\" A \"+(j.rightLargeArcRadius+ae)+\" \"+(j.rightLargeArcRadius+ae)+\" 0 0 0 \"+(j.rightFullExtent+ae-q)+\" \"+j.verticalRightInnerExtent:se+=\" A \"+(j.leftLargeArcRadius-ae)+\" \"+(j.leftLargeArcRadius-ae)+\" 0 0 1 \"+j.leftInnerExtent+\" \"+(j.verticalFullExtent-ae)+\" L \"+(j.rightInnerExtent-q)+\" \"+(j.verticalFullExtent-ae)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightLargeArcRadius-ae)+\" 0 0 1 \"+(j.rightFullExtent+ae-q)+\" \"+j.verticalRightInnerExtent,se+=\" L \"+(j.rightFullExtent+ae-q)+\" \"+(j.targetY+j.rightSmallArcRadius)+\" A \"+(j.rightLargeArcRadius-ae)+\" \"+(j.rightSmallArcRadius-ae)+\" 0 0 1 \"+(j.rightInnerExtent-q)+\" \"+(j.targetY+ae)+\" L \"+(j.targetX-q)+\" \"+(j.targetY+ae)+(q>0?\" L \"+j.targetX+\" \"+j.targetY:\"\")+\"Z\"),se}function u(){var ee=.5;function q(se){var ae=se.linkArrowLength;if(se.link.circular)return p(se.link,ae);var j=Math.abs((se.link.target.x0-se.link.source.x1)/2);ae>j&&(ae=j);var Q=se.link.source.x1,re=se.link.target.x0-ae,pe=_(Q,re),we=pe(ee),Se=pe(1-ee),Ie=se.link.y0-se.link.width/2,Re=se.link.y0+se.link.width/2,He=se.link.y1-se.link.width/2,at=se.link.y1+se.link.width/2,nt=\"M\"+Q+\",\"+Ie,tt=\"C\"+we+\",\"+Ie+\" \"+Se+\",\"+He+\" \"+re+\",\"+He,Ue=\"C\"+Se+\",\"+at+\" \"+we+\",\"+Re+\" \"+Q+\",\"+Re,he=ae>0?\"L\"+(re+ae)+\",\"+(He+se.link.width/2):\"\";return he+=\"L\"+re+\",\"+at,nt+tt+he+Ue+\"Z\"}return q}function g(ee,q){var se=r(q.color),ae=t.nodePadAcross,j=ee.nodePad/2;q.dx=q.x1-q.x0,q.dy=q.y1-q.y0;var Q=q.dx,re=Math.max(.5,q.dy),pe=\"node_\"+q.pointNumber;return q.group&&(pe=n.randstr()),q.trace=ee.trace,q.curveNumber=ee.trace.index,{index:q.pointNumber,key:pe,partOfGroup:q.partOfGroup||!1,group:q.group,traceId:ee.key,trace:ee.trace,node:q,nodePad:ee.nodePad,nodeLineColor:ee.nodeLineColor,nodeLineWidth:ee.nodeLineWidth,textFont:ee.textFont,size:ee.horizontal?ee.height:ee.width,visibleWidth:Math.ceil(Q),visibleHeight:re,zoneX:-ae,zoneY:-j,zoneWidth:Q+2*ae,zoneHeight:re+2*j,labelY:ee.horizontal?q.dy/2+1:q.dx/2+1,left:q.originalLayer===1,sizeAcross:ee.width,forceLayouts:ee.forceLayouts,horizontal:ee.horizontal,darkBackground:se.getBrightness()<=128,tinyColorHue:o.tinyRGB(se),tinyColorAlpha:se.getAlpha(),valueFormat:ee.valueFormat,valueSuffix:ee.valueSuffix,sankey:ee.sankey,graph:ee.graph,arrangement:ee.arrangement,uniqueNodeLabelPathId:[ee.guid,ee.key,pe].join(\"_\"),interactionState:ee.interactionState,figure:ee}}function y(ee){ee.attr(\"transform\",function(q){return i(q.node.x0.toFixed(3),q.node.y0.toFixed(3))})}function D(ee){ee.call(y)}function L(ee,q){ee.call(D),q.attr(\"d\",u())}function z(ee){ee.attr(\"width\",function(q){return q.node.x1-q.node.x0}).attr(\"height\",function(q){return q.visibleHeight})}function F(ee){return ee.link.width>1||ee.linkLineWidth>0}function B(ee){var q=i(ee.translateX,ee.translateY);return q+(ee.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function O(ee,q,se){ee.on(\".basic\",null).on(\"mouseover.basic\",function(ae){!ae.interactionState.dragInProgress&&!ae.partOfGroup&&(se.hover(this,ae,q),ae.interactionState.hovered=[this,ae])}).on(\"mousemove.basic\",function(ae){!ae.interactionState.dragInProgress&&!ae.partOfGroup&&(se.follow(this,ae),ae.interactionState.hovered=[this,ae])}).on(\"mouseout.basic\",function(ae){!ae.interactionState.dragInProgress&&!ae.partOfGroup&&(se.unhover(this,ae,q),ae.interactionState.hovered=!1)}).on(\"click.basic\",function(ae){ae.interactionState.hovered&&(se.unhover(this,ae,q),ae.interactionState.hovered=!1),!ae.interactionState.dragInProgress&&!ae.partOfGroup&&se.select(this,ae,q)})}function P(ee,q,se,ae){var j=A.behavior.drag().origin(function(Q){return{x:Q.node.x0+Q.visibleWidth/2,y:Q.node.y0+Q.visibleHeight/2}}).on(\"dragstart\",function(Q){if(Q.arrangement!==\"fixed\"&&(n.ensureSingle(ae._fullLayout._infolayer,\"g\",\"dragcover\",function(pe){ae._fullLayout._dragCover=pe}),n.raiseToTop(this),Q.interactionState.dragInProgress=Q.node,ce(Q.node),Q.interactionState.hovered&&(se.nodeEvents.unhover.apply(0,Q.interactionState.hovered),Q.interactionState.hovered=!1),Q.arrangement===\"snap\")){var re=Q.traceId+\"|\"+Q.key;Q.forceLayouts[re]?Q.forceLayouts[re].alpha(1):U(ee,re,Q,ae),N(ee,q,Q,re,ae)}}).on(\"drag\",function(Q){if(Q.arrangement!==\"fixed\"){var re=A.event.x,pe=A.event.y;Q.arrangement===\"snap\"?(Q.node.x0=re-Q.visibleWidth/2,Q.node.x1=re+Q.visibleWidth/2,Q.node.y0=pe-Q.visibleHeight/2,Q.node.y1=pe+Q.visibleHeight/2):(Q.arrangement===\"freeform\"&&(Q.node.x0=re-Q.visibleWidth/2,Q.node.x1=re+Q.visibleWidth/2),pe=Math.max(0,Math.min(Q.size-Q.visibleHeight/2,pe)),Q.node.y0=pe-Q.visibleHeight/2,Q.node.y1=pe+Q.visibleHeight/2),ce(Q.node),Q.arrangement!==\"snap\"&&(Q.sankey.update(Q.graph),L(ee.filter(de(Q)),q))}}).on(\"dragend\",function(Q){if(Q.arrangement!==\"fixed\"){Q.interactionState.dragInProgress=!1;for(var re=0;re0)window.requestAnimationFrame(Q);else{var we=se.node.originalX;se.node.x0=we-se.visibleWidth/2,se.node.x1=we+se.visibleWidth/2,$(se,j)}})}function X(ee,q,se,ae){return function(){for(var Q=0,re=0;re0&&ae.forceLayouts[q].alpha(0)}}function $(ee,q){for(var se=[],ae=[],j=0;j\"),color:x(V,\"bgcolor\")||t.addOpacity(ae.color,1),borderColor:x(V,\"bordercolor\"),fontFamily:x(V,\"font.family\"),fontSize:x(V,\"font.size\"),fontColor:x(V,\"font.color\"),fontWeight:x(V,\"font.weight\"),fontStyle:x(V,\"font.style\"),fontVariant:x(V,\"font.variant\"),fontTextcase:x(V,\"font.textcase\"),fontLineposition:x(V,\"font.lineposition\"),fontShadow:x(V,\"font.shadow\"),nameLength:x(V,\"namelength\"),textAlign:x(V,\"align\"),idealAlign:d.event.x\"),color:x(V,\"bgcolor\")||de.tinyColorHue,borderColor:x(V,\"bordercolor\"),fontFamily:x(V,\"font.family\"),fontSize:x(V,\"font.size\"),fontColor:x(V,\"font.color\"),fontWeight:x(V,\"font.weight\"),fontStyle:x(V,\"font.style\"),fontVariant:x(V,\"font.variant\"),fontTextcase:x(V,\"font.textcase\"),fontLineposition:x(V,\"font.lineposition\"),fontShadow:x(V,\"font.shadow\"),nameLength:x(V,\"namelength\"),textAlign:x(V,\"align\"),idealAlign:\"left\",hovertemplate:V.hovertemplate,hovertemplateLabels:Q,eventData:[de.node]},{container:m._hoverlayer.node(),outerContainer:m._paper.node(),gd:S});i(we,.85),s(we)}}},ue=function(ce,de,V){S._fullLayout.hovermode!==!1&&(d.select(ce).call(c,de,V),de.node.trace.node.hoverinfo!==\"skip\"&&(de.node.fullData=de.node.trace,S.emit(\"plotly_unhover\",{event:d.event,points:[de.node]})),e.loneUnhover(m._hoverlayer.node()))};E(S,b,M,{width:p.w,height:p.h,margin:{t:p.t,r:p.r,b:p.b,l:p.l}},{linkEvents:{hover:D,follow:P,unhover:U,select:y},nodeEvents:{hover:X,follow:$,unhover:ue,select:N}})}}}),gG=Ge({\"src/traces/sankey/base_plot.js\"(Z){\"use strict\";var G=pc().overrideAll,d=Hh().getModuleCalcData,_=q6(),A=Zm(),E=Kd(),e=Ap(),t=Af().prepSelect,r=sa(),o=so(),a=\"sankey\";Z.name=a,Z.baseLayoutAttrOverrides=G({hoverlabel:A.hoverlabel},\"plot\",\"nested\"),Z.plot=function(i){var s=d(i.calcdata,a)[0];_(i,s),Z.updateFx(i)},Z.clean=function(i,s,h,f){var v=f._has&&f._has(a),c=s._has&&s._has(a);v&&!c&&(f._paperdiv.selectAll(\".sankey\").remove(),f._paperdiv.selectAll(\".bgsankey\").remove())},Z.updateFx=function(i){for(var s=0;s0}G.exports=function(F,B,O,P){var U=F._fullLayout,N;w(O)&&P&&(N=P()),E.makeTraceGroups(U._indicatorlayer,B,\"trace\").each(function(X){var $=X[0],ue=$.trace,ce=d.select(this),de=ue._hasGauge,V=ue._isAngular,Y=ue._isBullet,ee=ue.domain,q={w:U._size.w*(ee.x[1]-ee.x[0]),h:U._size.h*(ee.y[1]-ee.y[0]),l:U._size.l+U._size.w*ee.x[0],r:U._size.r+U._size.w*(1-ee.x[1]),t:U._size.t+U._size.h*(1-ee.y[1]),b:U._size.b+U._size.h*ee.y[0]},se=q.l+q.w/2,ae=q.t+q.h/2,j=Math.min(q.w/2,q.h),Q=n.innerRadius*j,re,pe,we,Se=ue.align||\"center\";if(pe=ae,!de)re=q.l+l[Se]*q.w,we=function(ne){return g(ne,q.w,q.h)};else if(V&&(re=se,pe=ae+j/2,we=function(ne){return y(ne,.9*Q)}),Y){var Ie=n.bulletPadding,Re=1-n.bulletNumberDomainSize+Ie;re=q.l+(Re+(1-Re)*l[Se])*q.w,we=function(ne){return g(ne,(n.bulletNumberDomainSize-Ie)*q.w,q.h)}}m(F,ce,X,{numbersX:re,numbersY:pe,numbersScaler:we,transitionOpts:O,onComplete:N});var He,at;de&&(He={range:ue.gauge.axis.range,color:ue.gauge.bgcolor,line:{color:ue.gauge.bordercolor,width:0},thickness:1},at={range:ue.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:ue.gauge.bordercolor,width:ue.gauge.borderwidth},thickness:1});var nt=ce.selectAll(\"g.angular\").data(V?X:[]);nt.exit().remove();var tt=ce.selectAll(\"g.angularaxis\").data(V?X:[]);tt.exit().remove(),V&&M(F,ce,X,{radius:j,innerRadius:Q,gauge:nt,layer:tt,size:q,gaugeBg:He,gaugeOutline:at,transitionOpts:O,onComplete:N});var Ue=ce.selectAll(\"g.bullet\").data(Y?X:[]);Ue.exit().remove();var he=ce.selectAll(\"g.bulletaxis\").data(Y?X:[]);he.exit().remove(),Y&&S(F,ce,X,{gauge:Ue,layer:he,size:q,gaugeBg:He,gaugeOutline:at,transitionOpts:O,onComplete:N});var le=ce.selectAll(\"text.title\").data(X);le.exit().remove(),le.enter().append(\"text\").classed(\"title\",!0),le.attr(\"text-anchor\",function(){return Y?T.right:T[ue.title.align]}).text(ue.title.text).call(a.font,ue.title.font).call(i.convertToTspans,F),le.attr(\"transform\",function(){var ne=q.l+q.w*l[ue.title.align],Ce,Ze=n.titlePadding,rt=a.bBox(le.node());if(de){if(V)if(ue.gauge.axis.visible){var Ye=a.bBox(tt.node());Ce=Ye.top-Ze-rt.bottom}else Ce=q.t+q.h/2-j/2-rt.bottom-Ze;Y&&(Ce=pe-(rt.top+rt.bottom)/2,ne=q.l-n.bulletPadding*q.w)}else Ce=ue._numbersTop-Ze-rt.bottom;return t(ne,Ce)})})};function S(z,F,B,O){var P=B[0].trace,U=O.gauge,N=O.layer,X=O.gaugeBg,$=O.gaugeOutline,ue=O.size,ce=P.domain,de=O.transitionOpts,V=O.onComplete,Y,ee,q,se,ae;U.enter().append(\"g\").classed(\"bullet\",!0),U.attr(\"transform\",t(ue.l,ue.t)),N.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),N.selectAll(\"g.xbulletaxistick,path,text\").remove();var j=ue.h,Q=P.gauge.bar.thickness*j,re=ce.x[0],pe=ce.x[0]+(ce.x[1]-ce.x[0])*(P._hasNumber||P._hasDelta?1-n.bulletNumberDomainSize:1);Y=u(z,P.gauge.axis),Y._id=\"xbulletaxis\",Y.domain=[re,pe],Y.setScale(),ee=s.calcTicks(Y),q=s.makeTransTickFn(Y),se=s.getTickSigns(Y)[2],ae=ue.t+ue.h,Y.visible&&(s.drawTicks(z,Y,{vals:Y.ticks===\"inside\"?s.clipEnds(Y,ee):ee,layer:N,path:s.makeTickPath(Y,ae,se),transFn:q}),s.drawLabels(z,Y,{vals:ee,layer:N,transFn:q,labelFns:s.makeLabelFns(Y,ae)}));function we(tt){tt.attr(\"width\",function(Ue){return Math.max(0,Y.c2p(Ue.range[1])-Y.c2p(Ue.range[0]))}).attr(\"x\",function(Ue){return Y.c2p(Ue.range[0])}).attr(\"y\",function(Ue){return .5*(1-Ue.thickness)*j}).attr(\"height\",function(Ue){return Ue.thickness*j})}var Se=[X].concat(P.gauge.steps),Ie=U.selectAll(\"g.bg-bullet\").data(Se);Ie.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),Ie.select(\"rect\").call(we).call(b),Ie.exit().remove();var Re=U.selectAll(\"g.value-bullet\").data([P.gauge.bar]);Re.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),Re.select(\"rect\").attr(\"height\",Q).attr(\"y\",(j-Q)/2).call(b),w(de)?Re.select(\"rect\").transition().duration(de.duration).ease(de.easing).each(\"end\",function(){V&&V()}).each(\"interrupt\",function(){V&&V()}).attr(\"width\",Math.max(0,Y.c2p(Math.min(P.gauge.axis.range[1],B[0].y)))):Re.select(\"rect\").attr(\"width\",typeof B[0].y==\"number\"?Math.max(0,Y.c2p(Math.min(P.gauge.axis.range[1],B[0].y))):0),Re.exit().remove();var He=B.filter(function(){return P.gauge.threshold.value||P.gauge.threshold.value===0}),at=U.selectAll(\"g.threshold-bullet\").data(He);at.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),at.select(\"line\").attr(\"x1\",Y.c2p(P.gauge.threshold.value)).attr(\"x2\",Y.c2p(P.gauge.threshold.value)).attr(\"y1\",(1-P.gauge.threshold.thickness)/2*j).attr(\"y2\",(1-(1-P.gauge.threshold.thickness)/2)*j).call(c.stroke,P.gauge.threshold.line.color).style(\"stroke-width\",P.gauge.threshold.line.width),at.exit().remove();var nt=U.selectAll(\"g.gauge-outline\").data([$]);nt.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),nt.select(\"rect\").call(we).call(b),nt.exit().remove()}function M(z,F,B,O){var P=B[0].trace,U=O.size,N=O.radius,X=O.innerRadius,$=O.gaugeBg,ue=O.gaugeOutline,ce=[U.l+U.w/2,U.t+U.h/2+N/2],de=O.gauge,V=O.layer,Y=O.transitionOpts,ee=O.onComplete,q=Math.PI/2;function se(St){var kt=P.gauge.axis.range[0],qt=P.gauge.axis.range[1],Gt=(St-kt)/(qt-kt)*Math.PI-q;return Gt<-q?-q:Gt>q?q:Gt}function ae(St){return d.svg.arc().innerRadius((X+N)/2-St/2*(N-X)).outerRadius((X+N)/2+St/2*(N-X)).startAngle(-q)}function j(St){St.attr(\"d\",function(kt){return ae(kt.thickness).startAngle(se(kt.range[0])).endAngle(se(kt.range[1]))()})}var Q,re,pe,we;de.enter().append(\"g\").classed(\"angular\",!0),de.attr(\"transform\",t(ce[0],ce[1])),V.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),V.selectAll(\"g.xangularaxistick,path,text\").remove(),Q=u(z,P.gauge.axis),Q.type=\"linear\",Q.range=P.gauge.axis.range,Q._id=\"xangularaxis\",Q.ticklabeloverflow=\"allow\",Q.setScale();var Se=function(St){return(Q.range[0]-St.x)/(Q.range[1]-Q.range[0])*Math.PI+Math.PI},Ie={},Re=s.makeLabelFns(Q,0),He=Re.labelStandoff;Ie.xFn=function(St){var kt=Se(St);return Math.cos(kt)*He},Ie.yFn=function(St){var kt=Se(St),qt=Math.sin(kt)>0?.2:1;return-Math.sin(kt)*(He+St.fontSize*qt)+Math.abs(Math.cos(kt))*(St.fontSize*o)},Ie.anchorFn=function(St){var kt=Se(St),qt=Math.cos(kt);return Math.abs(qt)<.1?\"middle\":qt>0?\"start\":\"end\"},Ie.heightFn=function(St,kt,qt){var Gt=Se(St);return-.5*(1+Math.sin(Gt))*qt};var at=function(St){return t(ce[0]+N*Math.cos(St),ce[1]-N*Math.sin(St))};pe=function(St){return at(Se(St))};var nt=function(St){var kt=Se(St);return at(kt)+\"rotate(\"+-r(kt)+\")\"};if(re=s.calcTicks(Q),we=s.getTickSigns(Q)[2],Q.visible){we=Q.ticks===\"inside\"?-1:1;var tt=(Q.linewidth||1)/2;s.drawTicks(z,Q,{vals:re,layer:V,path:\"M\"+we*tt+\",0h\"+we*Q.ticklen,transFn:nt}),s.drawLabels(z,Q,{vals:re,layer:V,transFn:pe,labelFns:Ie})}var Ue=[$].concat(P.gauge.steps),he=de.selectAll(\"g.bg-arc\").data(Ue);he.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),he.select(\"path\").call(j).call(b),he.exit().remove();var le=ae(P.gauge.bar.thickness),ne=de.selectAll(\"g.value-arc\").data([P.gauge.bar]);ne.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var Ce=ne.select(\"path\");w(Y)?(Ce.transition().duration(Y.duration).ease(Y.easing).each(\"end\",function(){ee&&ee()}).each(\"interrupt\",function(){ee&&ee()}).attrTween(\"d\",p(le,se(B[0].lastY),se(B[0].y))),P._lastValue=B[0].y):Ce.attr(\"d\",typeof B[0].y==\"number\"?le.endAngle(se(B[0].y)):\"M0,0Z\"),Ce.call(b),ne.exit().remove(),Ue=[];var Ze=P.gauge.threshold.value;(Ze||Ze===0)&&Ue.push({range:[Ze,Ze],color:P.gauge.threshold.color,line:{color:P.gauge.threshold.line.color,width:P.gauge.threshold.line.width},thickness:P.gauge.threshold.thickness});var rt=de.selectAll(\"g.threshold-arc\").data(Ue);rt.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),rt.select(\"path\").call(j).call(b),rt.exit().remove();var Ye=de.selectAll(\"g.gauge-outline\").data([ue]);Ye.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),Ye.select(\"path\").call(j).call(b),Ye.exit().remove()}function m(z,F,B,O){var P=B[0].trace,U=O.numbersX,N=O.numbersY,X=P.align||\"center\",$=T[X],ue=O.transitionOpts,ce=O.onComplete,de=E.ensureSingle(F,\"g\",\"numbers\"),V,Y,ee,q=[];P._hasNumber&&q.push(\"number\"),P._hasDelta&&(q.push(\"delta\"),P.delta.position===\"left\"&&q.reverse());var se=de.selectAll(\"text\").data(q);se.enter().append(\"text\"),se.attr(\"text-anchor\",function(){return $}).attr(\"class\",function(at){return at}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),se.exit().remove();function ae(at,nt,tt,Ue){if(at.match(\"s\")&&tt>=0!=Ue>=0&&!nt(tt).slice(-1).match(x)&&!nt(Ue).slice(-1).match(x)){var he=at.slice().replace(\"s\",\"f\").replace(/\\d+/,function(ne){return parseInt(ne)-1}),le=u(z,{tickformat:he});return function(ne){return Math.abs(ne)<1?s.tickText(le,ne).text:nt(ne)}}else return nt}function j(){var at=u(z,{tickformat:P.number.valueformat},P._range);at.setScale(),s.prepTicks(at);var nt=function(ne){return s.tickText(at,ne).text},tt=P.number.suffix,Ue=P.number.prefix,he=de.select(\"text.number\");function le(){var ne=typeof B[0].y==\"number\"?Ue+nt(B[0].y)+tt:\"-\";he.text(ne).call(a.font,P.number.font).call(i.convertToTspans,z)}return w(ue)?he.transition().duration(ue.duration).ease(ue.easing).each(\"end\",function(){le(),ce&&ce()}).each(\"interrupt\",function(){le(),ce&&ce()}).attrTween(\"text\",function(){var ne=d.select(this),Ce=A(B[0].lastY,B[0].y);P._lastValue=B[0].y;var Ze=ae(P.number.valueformat,nt,B[0].lastY,B[0].y);return function(rt){ne.text(Ue+Ze(Ce(rt))+tt)}}):le(),V=D(Ue+nt(B[0].y)+tt,P.number.font,$,z),he}function Q(){var at=u(z,{tickformat:P.delta.valueformat},P._range);at.setScale(),s.prepTicks(at);var nt=function(rt){return s.tickText(at,rt).text},tt=P.delta.suffix,Ue=P.delta.prefix,he=function(rt){var Ye=P.delta.relative?rt.relativeDelta:rt.delta;return Ye},le=function(rt,Ye){return rt===0||typeof rt!=\"number\"||isNaN(rt)?\"-\":(rt>0?P.delta.increasing.symbol:P.delta.decreasing.symbol)+Ue+Ye(rt)+tt},ne=function(rt){return rt.delta>=0?P.delta.increasing.color:P.delta.decreasing.color};P._deltaLastValue===void 0&&(P._deltaLastValue=he(B[0]));var Ce=de.select(\"text.delta\");Ce.call(a.font,P.delta.font).call(c.fill,ne({delta:P._deltaLastValue}));function Ze(){Ce.text(le(he(B[0]),nt)).call(c.fill,ne(B[0])).call(i.convertToTspans,z)}return w(ue)?Ce.transition().duration(ue.duration).ease(ue.easing).tween(\"text\",function(){var rt=d.select(this),Ye=he(B[0]),St=P._deltaLastValue,kt=ae(P.delta.valueformat,nt,St,Ye),qt=A(St,Ye);return P._deltaLastValue=Ye,function(Gt){rt.text(le(qt(Gt),kt)),rt.call(c.fill,ne({delta:qt(Gt)}))}}).each(\"end\",function(){Ze(),ce&&ce()}).each(\"interrupt\",function(){Ze(),ce&&ce()}):Ze(),Y=D(le(he(B[0]),nt),P.delta.font,$,z),Ce}var re=P.mode+P.align,pe;if(P._hasDelta&&(pe=Q(),re+=P.delta.position+P.delta.font.size+P.delta.font.family+P.delta.valueformat,re+=P.delta.increasing.symbol+P.delta.decreasing.symbol,ee=Y),P._hasNumber&&(j(),re+=P.number.font.size+P.number.font.family+P.number.valueformat+P.number.suffix+P.number.prefix,ee=V),P._hasDelta&&P._hasNumber){var we=[(V.left+V.right)/2,(V.top+V.bottom)/2],Se=[(Y.left+Y.right)/2,(Y.top+Y.bottom)/2],Ie,Re,He=.75*P.delta.font.size;P.delta.position===\"left\"&&(Ie=L(P,\"deltaPos\",0,-1*(V.width*l[P.align]+Y.width*(1-l[P.align])+He),re,Math.min),Re=we[1]-Se[1],ee={width:V.width+Y.width+He,height:Math.max(V.height,Y.height),left:Y.left+Ie,right:V.right,top:Math.min(V.top,Y.top+Re),bottom:Math.max(V.bottom,Y.bottom+Re)}),P.delta.position===\"right\"&&(Ie=L(P,\"deltaPos\",0,V.width*(1-l[P.align])+Y.width*l[P.align]+He,re,Math.max),Re=we[1]-Se[1],ee={width:V.width+Y.width+He,height:Math.max(V.height,Y.height),left:V.left,right:Y.right+Ie,top:Math.min(V.top,Y.top+Re),bottom:Math.max(V.bottom,Y.bottom+Re)}),P.delta.position===\"bottom\"&&(Ie=null,Re=Y.height,ee={width:Math.max(V.width,Y.width),height:V.height+Y.height,left:Math.min(V.left,Y.left),right:Math.max(V.right,Y.right),top:V.bottom-V.height,bottom:V.bottom+Y.height}),P.delta.position===\"top\"&&(Ie=null,Re=V.top,ee={width:Math.max(V.width,Y.width),height:V.height+Y.height,left:Math.min(V.left,Y.left),right:Math.max(V.right,Y.right),top:V.bottom-V.height-Y.height,bottom:V.bottom}),pe.attr({dx:Ie,dy:Re})}(P._hasNumber||P._hasDelta)&&de.attr(\"transform\",function(){var at=O.numbersScaler(ee);re+=at[2];var nt=L(P,\"numbersScale\",1,at[0],re,Math.min),tt;P._scaleNumbers||(nt=1),P._isAngular?tt=N-nt*ee.bottom:tt=N-nt*(ee.top+ee.bottom)/2,P._numbersTop=nt*ee.top+tt;var Ue=ee[X];X===\"center\"&&(Ue=(ee.left+ee.right)/2);var he=U-nt*Ue;return he=L(P,\"numbersTranslate\",0,he,re,Math.max),t(he,tt)+e(nt)})}function b(z){z.each(function(F){c.stroke(d.select(this),F.line.color)}).each(function(F){c.fill(d.select(this),F.color)}).style(\"stroke-width\",function(F){return F.line.width})}function p(z,F,B){return function(){var O=_(F,B);return function(P){return z.endAngle(O(P))()}}}function u(z,F,B){var O=z._fullLayout,P=E.extendFlat({type:\"linear\",ticks:\"outside\",range:B,showline:!0},F),U={type:\"linear\",_id:\"x\"+F._id},N={letter:\"x\",font:O.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function X($,ue){return E.coerce(P,U,v,$,ue)}return h(P,U,X,N,O),f(P,U,X,N),U}function g(z,F,B){var O=Math.min(F/z.width,B/z.height);return[O,z,F+\"x\"+B]}function y(z,F){var B=Math.sqrt(z.width/2*(z.width/2)+z.height*z.height),O=F/B;return[O,z,F]}function D(z,F,B,O){var P=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),U=d.select(P);return U.text(z).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",B).attr(\"data-unformatted\",z).call(i.convertToTspans,O).call(a.font,F),a.bBox(U.node())}function L(z,F,B,O,P,U){var N=\"_cache\"+F;z[N]&&z[N].key===P||(z[N]={key:P,value:B});var X=E.aggNums(U,null,[z[N].value,O],2);return z[N].value=X,X}}}),SG=Ge({\"src/traces/indicator/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:bG(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:V6(),supplyDefaults:wG().supplyDefaults,calc:TG().calc,plot:AG(),meta:{}}}}),MG=Ge({\"lib/indicator.js\"(Z,G){\"use strict\";G.exports=SG()}}),H6=Ge({\"src/traces/table/attributes.js\"(Z,G){\"use strict\";var d=$0(),_=rs().extendFlat,A=pc().overrideAll,E=tc(),e=wc().attributes,t=rf().descriptionOnlyNumbers,r=G.exports=A({domain:e({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:[],description:t(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:_({},d.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:_({},E({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:t(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:_({},d.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:_({},E({arrayOk:!0}))}},\"calc\",\"from-root\")}}),EG=Ge({\"src/traces/table/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=H6(),A=wc().defaults;function E(e,t){for(var r=e.columnorder||[],o=e.header.values.length,a=r.slice(0,o),n=a.slice().sort(function(h,f){return h-f}),i=a.map(function(h){return n.indexOf(h)}),s=i.length;s\",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\"}}}}),CG=Ge({\"src/traces/table/data_preparation_helper.js\"(Z,G){\"use strict\";var d=W6(),_=rs().extendFlat,A=ns(),E=hp().isTypedArray,e=hp().isArrayOrTypedArray;G.exports=function(v,c){var T=o(c.cells.values),l=function($){return $.slice(c.header.values.length,$.length)},x=o(c.header.values);x.length&&!x[0].length&&(x[0]=[\"\"],x=o(x));var w=x.concat(l(T).map(function(){return a((x[0]||[\"\"]).length)})),S=c.domain,M=Math.floor(v._fullLayout._size.w*(S.x[1]-S.x[0])),m=Math.floor(v._fullLayout._size.h*(S.y[1]-S.y[0])),b=c.header.values.length?w[0].map(function(){return c.header.height}):[d.emptyHeaderHeight],p=T.length?T[0].map(function(){return c.cells.height}):[],u=b.reduce(r,0),g=m-u,y=g+d.uplift,D=s(p,y),L=s(b,u),z=i(L,[]),F=i(D,z),B={},O=c._fullInput.columnorder;e(O)&&(O=Array.from(O)),O=O.concat(l(T.map(function($,ue){return ue})));var P=w.map(function($,ue){var ce=e(c.columnwidth)?c.columnwidth[Math.min(ue,c.columnwidth.length-1)]:c.columnwidth;return A(ce)?Number(ce):1}),U=P.reduce(r,0);P=P.map(function($){return $/U*M});var N=Math.max(t(c.header.line.width),t(c.cells.line.width)),X={key:c.uid+v._context.staticPlot,translateX:S.x[0]*v._fullLayout._size.w,translateY:v._fullLayout._size.h*(1-S.y[1]),size:v._fullLayout._size,width:M,maxLineWidth:N,height:m,columnOrder:O,groupHeight:m,rowBlocks:F,headerRowBlocks:z,scrollY:0,cells:_({},c.cells,{values:T}),headerCells:_({},c.header,{values:w}),gdColumns:w.map(function($){return $[0]}),gdColumnsOriginalOrder:w.map(function($){return $[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:w.map(function($,ue){var ce=B[$];B[$]=(ce||0)+1;var de=$+\"__\"+B[$];return{key:de,label:$,specIndex:ue,xIndex:O[ue],xScale:n,x:void 0,calcdata:void 0,columnWidth:P[ue]}})};return X.columns.forEach(function($){$.calcdata=X,$.x=n($)}),X};function t(f){if(e(f)){for(var v=0,c=0;c=v||m===f.length-1)&&(c[l]=w,w.key=M++,w.firstRowIndex=S,w.lastRowIndex=m,w=h(),l+=x,S=m+1,x=0);return c}function h(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}}}),LG=Ge({\"src/traces/table/data_split_helpers.js\"(Z){\"use strict\";var G=rs().extendFlat;Z.splitToPanels=function(_){var A=[0,0],E=G({},_,{key:\"header\",type:\"header\",page:0,prevPages:A,currentRepaint:[null,null],dragHandle:!0,values:_.calcdata.headerCells.values[_.specIndex],rowBlocks:_.calcdata.headerRowBlocks,calcdata:G({},_.calcdata,{cells:_.calcdata.headerCells})}),e=G({},_,{key:\"cells1\",type:\"cells\",page:0,prevPages:A,currentRepaint:[null,null],dragHandle:!1,values:_.calcdata.cells.values[_.specIndex],rowBlocks:_.calcdata.rowBlocks}),t=G({},_,{key:\"cells2\",type:\"cells\",page:1,prevPages:A,currentRepaint:[null,null],dragHandle:!1,values:_.calcdata.cells.values[_.specIndex],rowBlocks:_.calcdata.rowBlocks});return[e,t,E]},Z.splitToCells=function(_){var A=d(_);return(_.values||[]).slice(A[0],A[1]).map(function(E,e){var t=typeof E==\"string\"&&E.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:e+t,key:A[0]+e,column:_,calcdata:_.calcdata,page:_.page,rowBlocks:_.rowBlocks,value:E}})};function d(_){var A=_.rowBlocks[_.page],E=A?A.rows[0].rowIndex:0,e=A?E+A.rows.length:0;return[E,e]}}}),X6=Ge({\"src/traces/table/plot.js\"(Z,G){\"use strict\";var d=W6(),_=Vn(),A=sa(),E=A.numberFormat,e=kv(),t=as(),r=su(),o=sa().raiseToTop,a=sa().strTranslate,n=sa().cancelTransition,i=CG(),s=LG(),h=$n();G.exports=function(re,pe){var we=!re._context.staticPlot,Se=re._fullLayout._paper.selectAll(\".\"+d.cn.table).data(pe.map(function(Ye){var St=e.unwrap(Ye),kt=St.trace;return i(re,kt)}),e.keyFun);Se.exit().remove(),Se.enter().append(\"g\").classed(d.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\"),Se.attr(\"width\",function(Ye){return Ye.width+Ye.size.l+Ye.size.r}).attr(\"height\",function(Ye){return Ye.height+Ye.size.t+Ye.size.b}).attr(\"transform\",function(Ye){return a(Ye.translateX,Ye.translateY)});var Ie=Se.selectAll(\".\"+d.cn.tableControlView).data(e.repeat,e.keyFun),Re=Ie.enter().append(\"g\").classed(d.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(we){var He=\"onwheel\"in document?\"wheel\":\"mousewheel\";Re.on(\"mousemove\",function(Ye){Ie.filter(function(St){return Ye===St}).call(l,re)}).on(He,function(Ye){if(!Ye.scrollbarState.wheeling){Ye.scrollbarState.wheeling=!0;var St=Ye.scrollY+_.event.deltaY,kt=$(re,Ie,null,St)(Ye);kt||(_.event.stopPropagation(),_.event.preventDefault()),Ye.scrollbarState.wheeling=!1}}).call(l,re,!0)}Ie.attr(\"transform\",function(Ye){return a(Ye.size.l,Ye.size.t)});var at=Ie.selectAll(\".\"+d.cn.scrollBackground).data(e.repeat,e.keyFun);at.enter().append(\"rect\").classed(d.cn.scrollBackground,!0).attr(\"fill\",\"none\"),at.attr(\"width\",function(Ye){return Ye.width}).attr(\"height\",function(Ye){return Ye.height}),Ie.each(function(Ye){t.setClipUrl(_.select(this),v(re,Ye),re)});var nt=Ie.selectAll(\".\"+d.cn.yColumn).data(function(Ye){return Ye.columns},e.keyFun);nt.enter().append(\"g\").classed(d.cn.yColumn,!0),nt.exit().remove(),nt.attr(\"transform\",function(Ye){return a(Ye.x,0)}),we&&nt.call(_.behavior.drag().origin(function(Ye){var St=_.select(this);return B(St,Ye,-d.uplift),o(this),Ye.calcdata.columnDragInProgress=!0,l(Ie.filter(function(kt){return Ye.calcdata.key===kt.key}),re),Ye}).on(\"drag\",function(Ye){var St=_.select(this),kt=function(Tr){return(Ye===Tr?_.event.x:Tr.x)+Tr.columnWidth/2};Ye.x=Math.max(-d.overdrag,Math.min(Ye.calcdata.width+d.overdrag-Ye.columnWidth,_.event.x));var qt=T(nt).filter(function(Tr){return Tr.calcdata.key===Ye.calcdata.key}),Gt=qt.sort(function(Tr,mr){return kt(Tr)-kt(mr)});Gt.forEach(function(Tr,mr){Tr.xIndex=mr,Tr.x=Ye===Tr?Tr.x:Tr.xScale(Tr)}),nt.filter(function(Tr){return Ye!==Tr}).transition().ease(d.transitionEase).duration(d.transitionDuration).attr(\"transform\",function(Tr){return a(Tr.x,0)}),St.call(n).attr(\"transform\",a(Ye.x,-d.uplift))}).on(\"dragend\",function(Ye){var St=_.select(this),kt=Ye.calcdata;Ye.x=Ye.xScale(Ye),Ye.calcdata.columnDragInProgress=!1,B(St,Ye,0),z(re,kt,kt.columns.map(function(qt){return qt.xIndex}))})),nt.each(function(Ye){t.setClipUrl(_.select(this),c(re,Ye),re)});var tt=nt.selectAll(\".\"+d.cn.columnBlock).data(s.splitToPanels,e.keyFun);tt.enter().append(\"g\").classed(d.cn.columnBlock,!0).attr(\"id\",function(Ye){return Ye.key}),tt.style(\"cursor\",function(Ye){return Ye.dragHandle?\"ew-resize\":Ye.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var Ue=tt.filter(P),he=tt.filter(O);we&&he.call(_.behavior.drag().origin(function(Ye){return _.event.stopPropagation(),Ye}).on(\"drag\",$(re,Ie,-1)).on(\"dragend\",function(){})),x(re,Ie,Ue,tt),x(re,Ie,he,tt);var le=Ie.selectAll(\".\"+d.cn.scrollAreaClip).data(e.repeat,e.keyFun);le.enter().append(\"clipPath\").classed(d.cn.scrollAreaClip,!0).attr(\"id\",function(Ye){return v(re,Ye)});var ne=le.selectAll(\".\"+d.cn.scrollAreaClipRect).data(e.repeat,e.keyFun);ne.enter().append(\"rect\").classed(d.cn.scrollAreaClipRect,!0).attr(\"x\",-d.overdrag).attr(\"y\",-d.uplift).attr(\"fill\",\"none\"),ne.attr(\"width\",function(Ye){return Ye.width+2*d.overdrag}).attr(\"height\",function(Ye){return Ye.height+d.uplift});var Ce=nt.selectAll(\".\"+d.cn.columnBoundary).data(e.repeat,e.keyFun);Ce.enter().append(\"g\").classed(d.cn.columnBoundary,!0);var Ze=nt.selectAll(\".\"+d.cn.columnBoundaryClippath).data(e.repeat,e.keyFun);Ze.enter().append(\"clipPath\").classed(d.cn.columnBoundaryClippath,!0),Ze.attr(\"id\",function(Ye){return c(re,Ye)});var rt=Ze.selectAll(\".\"+d.cn.columnBoundaryRect).data(e.repeat,e.keyFun);rt.enter().append(\"rect\").classed(d.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),rt.attr(\"width\",function(Ye){return Ye.columnWidth+2*f(Ye)}).attr(\"height\",function(Ye){return Ye.calcdata.height+2*f(Ye)+d.uplift}).attr(\"x\",function(Ye){return-f(Ye)}).attr(\"y\",function(Ye){return-f(Ye)}),X(null,he,Ie)};function f(Q){return Math.ceil(Q.calcdata.maxLineWidth/2)}function v(Q,re){return\"clip\"+Q._fullLayout._uid+\"_scrollAreaBottomClip_\"+re.key}function c(Q,re){return\"clip\"+Q._fullLayout._uid+\"_columnBoundaryClippath_\"+re.calcdata.key+\"_\"+re.specIndex}function T(Q){return[].concat.apply([],Q.map(function(re){return re})).map(function(re){return re.__data__})}function l(Q,re,pe){function we(nt){var tt=nt.rowBlocks;return ee(tt,tt.length-1)+(tt.length?q(tt[tt.length-1],1/0):1)}var Se=Q.selectAll(\".\"+d.cn.scrollbarKit).data(e.repeat,e.keyFun);Se.enter().append(\"g\").classed(d.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),Se.each(function(nt){var tt=nt.scrollbarState;tt.totalHeight=we(nt),tt.scrollableAreaHeight=nt.groupHeight-U(nt),tt.currentlyVisibleHeight=Math.min(tt.totalHeight,tt.scrollableAreaHeight),tt.ratio=tt.currentlyVisibleHeight/tt.totalHeight,tt.barLength=Math.max(tt.ratio*tt.currentlyVisibleHeight,d.goldenRatio*d.scrollbarWidth),tt.barWiggleRoom=tt.currentlyVisibleHeight-tt.barLength,tt.wiggleRoom=Math.max(0,tt.totalHeight-tt.scrollableAreaHeight),tt.topY=tt.barWiggleRoom===0?0:nt.scrollY/tt.wiggleRoom*tt.barWiggleRoom,tt.bottomY=tt.topY+tt.barLength,tt.dragMultiplier=tt.wiggleRoom/tt.barWiggleRoom}).attr(\"transform\",function(nt){var tt=nt.width+d.scrollbarWidth/2+d.scrollbarOffset;return a(tt,U(nt))});var Ie=Se.selectAll(\".\"+d.cn.scrollbar).data(e.repeat,e.keyFun);Ie.enter().append(\"g\").classed(d.cn.scrollbar,!0);var Re=Ie.selectAll(\".\"+d.cn.scrollbarSlider).data(e.repeat,e.keyFun);Re.enter().append(\"g\").classed(d.cn.scrollbarSlider,!0),Re.attr(\"transform\",function(nt){return a(0,nt.scrollbarState.topY||0)});var He=Re.selectAll(\".\"+d.cn.scrollbarGlyph).data(e.repeat,e.keyFun);He.enter().append(\"line\").classed(d.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",d.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",d.scrollbarWidth/2),He.attr(\"y2\",function(nt){return nt.scrollbarState.barLength-d.scrollbarWidth/2}).attr(\"stroke-opacity\",function(nt){return nt.columnDragInProgress||!nt.scrollbarState.barWiggleRoom||pe?0:.4}),He.transition().delay(0).duration(0),He.transition().delay(d.scrollbarHideDelay).duration(d.scrollbarHideDuration).attr(\"stroke-opacity\",0);var at=Ie.selectAll(\".\"+d.cn.scrollbarCaptureZone).data(e.repeat,e.keyFun);at.enter().append(\"line\").classed(d.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",d.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(nt){var tt=_.event.y,Ue=this.getBoundingClientRect(),he=nt.scrollbarState,le=tt-Ue.top,ne=_.scale.linear().domain([0,he.scrollableAreaHeight]).range([0,he.totalHeight]).clamp(!0);he.topY<=le&&le<=he.bottomY||$(re,Q,null,ne(le-he.barLength/2))(nt)}).call(_.behavior.drag().origin(function(nt){return _.event.stopPropagation(),nt.scrollbarState.scrollbarScrollInProgress=!0,nt}).on(\"drag\",$(re,Q)).on(\"dragend\",function(){})),at.attr(\"y2\",function(nt){return nt.scrollbarState.scrollableAreaHeight}),re._context.staticPlot&&(He.remove(),at.remove())}function x(Q,re,pe,we){var Se=w(pe),Ie=S(Se);p(Ie);var Re=M(Ie);g(Re);var He=b(Ie),at=m(He);u(at),y(at,re,we,Q),Y(Ie)}function w(Q){var re=Q.selectAll(\".\"+d.cn.columnCells).data(e.repeat,e.keyFun);return re.enter().append(\"g\").classed(d.cn.columnCells,!0),re.exit().remove(),re}function S(Q){var re=Q.selectAll(\".\"+d.cn.columnCell).data(s.splitToCells,function(pe){return pe.keyWithinBlock});return re.enter().append(\"g\").classed(d.cn.columnCell,!0),re.exit().remove(),re}function M(Q){var re=Q.selectAll(\".\"+d.cn.cellRect).data(e.repeat,function(pe){return pe.keyWithinBlock});return re.enter().append(\"rect\").classed(d.cn.cellRect,!0),re}function m(Q){var re=Q.selectAll(\".\"+d.cn.cellText).data(e.repeat,function(pe){return pe.keyWithinBlock});return re.enter().append(\"text\").classed(d.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){_.event.stopPropagation()}),re}function b(Q){var re=Q.selectAll(\".\"+d.cn.cellTextHolder).data(e.repeat,function(pe){return pe.keyWithinBlock});return re.enter().append(\"g\").classed(d.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),re}function p(Q){Q.each(function(re,pe){var we=re.calcdata.cells.font,Se=re.column.specIndex,Ie={size:F(we.size,Se,pe),color:F(we.color,Se,pe),family:F(we.family,Se,pe),weight:F(we.weight,Se,pe),style:F(we.style,Se,pe),variant:F(we.variant,Se,pe),textcase:F(we.textcase,Se,pe),lineposition:F(we.lineposition,Se,pe),shadow:F(we.shadow,Se,pe)};re.rowNumber=re.key,re.align=F(re.calcdata.cells.align,Se,pe),re.cellBorderWidth=F(re.calcdata.cells.line.width,Se,pe),re.font=Ie})}function u(Q){Q.each(function(re){t.font(_.select(this),re.font)})}function g(Q){Q.attr(\"width\",function(re){return re.column.columnWidth}).attr(\"stroke-width\",function(re){return re.cellBorderWidth}).each(function(re){var pe=_.select(this);h.stroke(pe,F(re.calcdata.cells.line.color,re.column.specIndex,re.rowNumber)),h.fill(pe,F(re.calcdata.cells.fill.color,re.column.specIndex,re.rowNumber))})}function y(Q,re,pe,we){Q.text(function(Se){var Ie=Se.column.specIndex,Re=Se.rowNumber,He=Se.value,at=typeof He==\"string\",nt=at&&He.match(/
/i),tt=!at||nt;Se.mayHaveMarkup=at&&He.match(/[<&>]/);var Ue=D(He);Se.latex=Ue;var he=Ue?\"\":F(Se.calcdata.cells.prefix,Ie,Re)||\"\",le=Ue?\"\":F(Se.calcdata.cells.suffix,Ie,Re)||\"\",ne=Ue?null:F(Se.calcdata.cells.format,Ie,Re)||null,Ce=he+(ne?E(ne)(Se.value):Se.value)+le,Ze;Se.wrappingNeeded=!Se.wrapped&&!tt&&!Ue&&(Ze=L(Ce)),Se.cellHeightMayIncrease=nt||Ue||Se.mayHaveMarkup||(Ze===void 0?L(Ce):Ze),Se.needsConvertToTspans=Se.mayHaveMarkup||Se.wrappingNeeded||Se.latex;var rt;if(Se.wrappingNeeded){var Ye=d.wrapSplitCharacter===\" \"?Ce.replace(/Se&&we.push(Ie),Se+=at}return we}function X(Q,re,pe){var we=T(re)[0];if(we!==void 0){var Se=we.rowBlocks,Ie=we.calcdata,Re=ee(Se,Se.length),He=we.calcdata.groupHeight-U(we),at=Ie.scrollY=Math.max(0,Math.min(Re-He,Ie.scrollY)),nt=N(Se,at,He);nt.length===1&&(nt[0]===Se.length-1?nt.unshift(nt[0]-1):nt.push(nt[0]+1)),nt[0]%2&&nt.reverse(),re.each(function(tt,Ue){tt.page=nt[Ue],tt.scrollY=at}),re.attr(\"transform\",function(tt){var Ue=ee(tt.rowBlocks,tt.page)-tt.scrollY;return a(0,Ue)}),Q&&(ue(Q,pe,re,nt,we.prevPages,we,0),ue(Q,pe,re,nt,we.prevPages,we,1),l(pe,Q))}}function $(Q,re,pe,we){return function(Ie){var Re=Ie.calcdata?Ie.calcdata:Ie,He=re.filter(function(Ue){return Re.key===Ue.key}),at=pe||Re.scrollbarState.dragMultiplier,nt=Re.scrollY;Re.scrollY=we===void 0?Re.scrollY+at*_.event.dy:we;var tt=He.selectAll(\".\"+d.cn.yColumn).selectAll(\".\"+d.cn.columnBlock).filter(O);return X(Q,tt,He),Re.scrollY===nt}}function ue(Q,re,pe,we,Se,Ie,Re){var He=we[Re]!==Se[Re];He&&(clearTimeout(Ie.currentRepaint[Re]),Ie.currentRepaint[Re]=setTimeout(function(){var at=pe.filter(function(nt,tt){return tt===Re&&we[tt]!==Se[tt]});x(Q,re,at,pe),Se[Re]=we[Re]}))}function ce(Q,re,pe,we){return function(){var Ie=_.select(re.parentNode);Ie.each(function(Re){var He=Re.fragments;Ie.selectAll(\"tspan.line\").each(function(Ce,Ze){He[Ze].width=this.getComputedTextLength()});var at=He[He.length-1].width,nt=He.slice(0,-1),tt=[],Ue,he,le=0,ne=Re.column.columnWidth-2*d.cellPad;for(Re.value=\"\";nt.length;)Ue=nt.shift(),he=Ue.width+at,le+he>ne&&(Re.value+=tt.join(d.wrapSpacer)+d.lineBreaker,tt=[],le=0),tt.push(Ue.text),le+=he;le&&(Re.value+=tt.join(d.wrapSpacer)),Re.wrapped=!0}),Ie.selectAll(\"tspan.line\").remove(),y(Ie.select(\".\"+d.cn.cellText),pe,Q,we),_.select(re.parentNode.parentNode).call(Y)}}function de(Q,re,pe,we,Se){return function(){if(!Se.settledY){var Re=_.select(re.parentNode),He=ae(Se),at=Se.key-He.firstRowIndex,nt=He.rows[at].rowHeight,tt=Se.cellHeightMayIncrease?re.parentNode.getBoundingClientRect().height+2*d.cellPad:nt,Ue=Math.max(tt,nt),he=Ue-He.rows[at].rowHeight;he&&(He.rows[at].rowHeight=Ue,Q.selectAll(\".\"+d.cn.columnCell).call(Y),X(null,Q.filter(O),0),l(pe,we,!0)),Re.attr(\"transform\",function(){var le=this,ne=le.parentNode,Ce=ne.getBoundingClientRect(),Ze=_.select(le.parentNode).select(\".\"+d.cn.cellRect).node().getBoundingClientRect(),rt=le.transform.baseVal.consolidate(),Ye=Ze.top-Ce.top+(rt?rt.matrix.f:d.cellPad);return a(V(Se,_.select(le.parentNode).select(\".\"+d.cn.cellTextHolder).node().getBoundingClientRect().width),Ye)}),Se.settledY=!0}}}function V(Q,re){switch(Q.align){case\"left\":return d.cellPad;case\"right\":return Q.column.columnWidth-(re||0)-d.cellPad;case\"center\":return(Q.column.columnWidth-(re||0))/2;default:return d.cellPad}}function Y(Q){Q.attr(\"transform\",function(re){var pe=re.rowBlocks[0].auxiliaryBlocks.reduce(function(Re,He){return Re+q(He,1/0)},0),we=ae(re),Se=q(we,re.key),Ie=Se+pe;return a(0,Ie)}).selectAll(\".\"+d.cn.cellRect).attr(\"height\",function(re){return j(ae(re),re.key).rowHeight})}function ee(Q,re){for(var pe=0,we=re-1;we>=0;we--)pe+=se(Q[we]);return pe}function q(Q,re){for(var pe=0,we=0;weE.length&&(A=A.slice(0,E.length)):A=[],t=0;t90&&(v-=180,n=-n),{angle:v,flip:n,p:_.c2p(e,A,E),offsetMultplier:i}}}}),UG=Ge({\"src/traces/carpet/plot.js\"(Z,G){\"use strict\";var d=Vn(),_=as(),A=Z6(),E=Y6(),e=NG(),t=su(),r=sa(),o=r.strRotate,a=r.strTranslate,n=uh();G.exports=function(x,w,S,M){var m=x._context.staticPlot,b=w.xaxis,p=w.yaxis,u=x._fullLayout,g=u._clips;r.makeTraceGroups(M,S,\"trace\").each(function(y){var D=d.select(this),L=y[0],z=L.trace,F=z.aaxis,B=z.baxis,O=r.ensureSingle(D,\"g\",\"minorlayer\"),P=r.ensureSingle(D,\"g\",\"majorlayer\"),U=r.ensureSingle(D,\"g\",\"boundarylayer\"),N=r.ensureSingle(D,\"g\",\"labellayer\");D.style(\"opacity\",z.opacity),s(b,p,P,F,\"a\",F._gridlines,!0,m),s(b,p,P,B,\"b\",B._gridlines,!0,m),s(b,p,O,F,\"a\",F._minorgridlines,!0,m),s(b,p,O,B,\"b\",B._minorgridlines,!0,m),s(b,p,U,F,\"a-boundary\",F._boundarylines,m),s(b,p,U,B,\"b-boundary\",B._boundarylines,m);var X=h(x,b,p,z,L,N,F._labels,\"a-label\"),$=h(x,b,p,z,L,N,B._labels,\"b-label\");f(x,N,z,L,b,p,X,$),i(z,L,g,b,p)})};function i(l,x,w,S,M){var m,b,p,u,g=w.select(\"#\"+l._clipPathId);g.size()||(g=w.append(\"clipPath\").classed(\"carpetclip\",!0));var y=r.ensureSingle(g,\"path\",\"carpetboundary\"),D=x.clipsegments,L=[];for(u=0;u0?\"start\":\"end\",\"data-notex\":1}).call(_.font,D.font).text(D.text).call(t.convertToTspans,l),P=_.bBox(this);O.attr(\"transform\",a(z.p[0],z.p[1])+o(z.angle)+a(D.axis.labelpadding*B,P.height*.3)),g=Math.max(g,P.width+D.axis.labelpadding)}),u.exit().remove(),y.maxExtent=g,y}function f(l,x,w,S,M,m,b,p){var u,g,y,D,L=r.aggNums(Math.min,null,w.a),z=r.aggNums(Math.max,null,w.a),F=r.aggNums(Math.min,null,w.b),B=r.aggNums(Math.max,null,w.b);u=.5*(L+z),g=F,y=w.ab2xy(u,g,!0),D=w.dxyda_rough(u,g),b.angle===void 0&&r.extendFlat(b,e(w,M,m,y,w.dxydb_rough(u,g))),T(l,x,w,S,y,D,w.aaxis,M,m,b,\"a-title\"),u=L,g=.5*(F+B),y=w.ab2xy(u,g,!0),D=w.dxydb_rough(u,g),p.angle===void 0&&r.extendFlat(p,e(w,M,m,y,w.dxyda_rough(u,g))),T(l,x,w,S,y,D,w.baxis,M,m,p,\"b-title\")}var v=n.LINE_SPACING,c=(1-n.MID_SHIFT)/v+1;function T(l,x,w,S,M,m,b,p,u,g,y){var D=[];b.title.text&&D.push(b.title.text);var L=x.selectAll(\"text.\"+y).data(D),z=g.maxExtent;L.enter().append(\"text\").classed(y,!0),L.each(function(){var F=e(w,p,u,M,m);[\"start\",\"both\"].indexOf(b.showticklabels)===-1&&(z=0);var B=b.title.font.size;z+=B+b.title.offset;var O=g.angle+(g.flip<0?180:0),P=(O-F.angle+450)%360,U=P>90&&P<270,N=d.select(this);N.text(b.title.text).call(t.convertToTspans,l),U&&(z=(-t.lineCount(N)+c)*v*B-z),N.attr(\"transform\",a(F.p[0],F.p[1])+o(F.angle)+a(0,z)).attr(\"text-anchor\",\"middle\").call(_.font,b.title.font)}),L.exit().remove()}}}),jG=Ge({\"src/traces/carpet/cheater_basis.js\"(Z,G){\"use strict\";var d=sa().isArrayOrTypedArray;G.exports=function(_,A,E){var e,t,r,o,a,n,i=[],s=d(_)?_.length:_,h=d(A)?A.length:A,f=d(_)?_:null,v=d(A)?A:null;f&&(r=(f.length-1)/(f[f.length-1]-f[0])/(s-1)),v&&(o=(v.length-1)/(v[v.length-1]-v[0])/(h-1));var c,T=1/0,l=-1/0;for(t=0;t=10)return null;for(var e=1/0,t=-1/0,r=A.length,o=0;o0&&(q=E.dxydi([],X-1,ue,0,ce),Q.push(de[0]+q[0]/3),re.push(de[1]+q[1]/3),se=E.dxydi([],X-1,ue,1,ce),Q.push(ee[0]-se[0]/3),re.push(ee[1]-se[1]/3)),Q.push(ee[0]),re.push(ee[1]),de=ee;else for(X=E.a2i(N),V=Math.floor(Math.max(0,Math.min(F-2,X))),Y=X-V,pe.length=F,pe.crossLength=B,pe.xy=function(we){return E.evalxy([],X,we)},pe.dxy=function(we,Se){return E.dxydj([],V,we,Y,Se)},$=0;$0&&(ae=E.dxydj([],V,$-1,Y,0),Q.push(de[0]+ae[0]/3),re.push(de[1]+ae[1]/3),j=E.dxydj([],V,$-1,Y,1),Q.push(ee[0]-j[0]/3),re.push(ee[1]-j[1]/3)),Q.push(ee[0]),re.push(ee[1]),de=ee;return pe.axisLetter=e,pe.axis=M,pe.crossAxis=g,pe.value=N,pe.constvar=t,pe.index=f,pe.x=Q,pe.y=re,pe.smoothing=g.smoothing,pe}function U(N){var X,$,ue,ce,de,V=[],Y=[],ee={};if(ee.length=S.length,ee.crossLength=u.length,e===\"b\")for(ue=Math.max(0,Math.min(B-2,N)),de=Math.min(1,Math.max(0,N-ue)),ee.xy=function(q){return E.evalxy([],q,N)},ee.dxy=function(q,se){return E.dxydi([],q,ue,se,de)},X=0;XS.length-1)&&m.push(_(U(o),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=s;fS.length-1)&&!(T<0||T>S.length-1))for(l=S[a],x=S[T],r=0;rS[S.length-1])&&b.push(_(P(c),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash})));M.startline&&p.push(_(U(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&p.push(_(U(S.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(n=5e-15,i=[Math.floor((S[S.length-1]-M.tick0)/M.dtick*(1+n)),Math.ceil((S[0]-M.tick0)/M.dtick/(1+n))].sort(function(N,X){return N-X}),s=i[0],h=i[1],f=s;f<=h;f++)v=M.tick0+M.dtick*f,m.push(_(P(v),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=s-1;fS[S.length-1])&&b.push(_(P(c),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash}));M.startline&&p.push(_(P(S[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&p.push(_(P(S[S.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}}}),GG=Ge({\"src/traces/carpet/calc_labels.js\"(Z,G){\"use strict\";var d=Wo(),_=rs().extendFlat;G.exports=function(E,e){var t,r,o,a,n,i=e._labels=[],s=e._gridlines;for(t=0;t=0;t--)r[s-t]=_[h][t],o[s-t]=A[h][t];for(a.push({x:r,y:o,bicubic:n}),t=h,r=[],o=[];t>=0;t--)r[h-t]=_[t][0],o[h-t]=A[t][0];return a.push({x:r,y:o,bicubic:i}),a}}}),WG=Ge({\"src/traces/carpet/smooth_fill_2d_array.js\"(Z,G){\"use strict\";var d=sa();G.exports=function(A,E,e){var t,r,o,a=[],n=[],i=A[0].length,s=A.length;function h($,ue){var ce=0,de,V=0;return $>0&&(de=A[ue][$-1])!==void 0&&(V++,ce+=de),$0&&(de=A[ue-1][$])!==void 0&&(V++,ce+=de),ue0&&r0&&tu);return d.log(\"Smoother converged to\",g,\"after\",D,\"iterations\"),A}}}),XG=Ge({\"src/traces/carpet/constants.js\"(Z,G){\"use strict\";G.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),ZG=Ge({\"src/traces/carpet/catmull_rom.js\"(Z,G){\"use strict\";var d=.5;G.exports=function(A,E,e,t){var r=A[0]-E[0],o=A[1]-E[1],a=e[0]-E[0],n=e[1]-E[1],i=Math.pow(r*r+o*o,d/2),s=Math.pow(a*a+n*n,d/2),h=(s*s*r-i*i*a)*t,f=(s*s*o-i*i*n)*t,v=s*(i+s)*3,c=i*(i+s)*3;return[[E[0]+(v&&h/v),E[1]+(v&&f/v)],[E[0]-(c&&h/c),E[1]-(c&&f/c)]]}}}),YG=Ge({\"src/traces/carpet/compute_control_points.js\"(Z,G){\"use strict\";var d=ZG(),_=sa().ensureArray;function A(E,e,t){var r=-.5*t[0]+1.5*e[0],o=-.5*t[1]+1.5*e[1];return[(2*r+E[0])/3,(2*o+E[1])/3]}G.exports=function(e,t,r,o,a,n){var i,s,h,f,v,c,T,l,x,w,S=r[0].length,M=r.length,m=a?3*S-2:S,b=n?3*M-2:M;for(e=_(e,b),t=_(t,b),h=0;hv&&mT&&bc||bl},o.setScale=function(){var m=o._x,b=o._y,p=A(o._xctrl,o._yctrl,m,b,h.smoothing,f.smoothing);o._xctrl=p[0],o._yctrl=p[1],o.evalxy=E([o._xctrl,o._yctrl],i,s,h.smoothing,f.smoothing),o.dxydi=e([o._xctrl,o._yctrl],h.smoothing,f.smoothing),o.dxydj=t([o._xctrl,o._yctrl],h.smoothing,f.smoothing)},o.i2a=function(m){var b=Math.max(0,Math.floor(m[0]),i-2),p=m[0]-b;return(1-p)*a[b]+p*a[b+1]},o.j2b=function(m){var b=Math.max(0,Math.floor(m[1]),i-2),p=m[1]-b;return(1-p)*n[b]+p*n[b+1]},o.ij2ab=function(m){return[o.i2a(m[0]),o.j2b(m[1])]},o.a2i=function(m){var b=Math.max(0,Math.min(_(m,a),i-2)),p=a[b],u=a[b+1];return Math.max(0,Math.min(i-1,b+(m-p)/(u-p)))},o.b2j=function(m){var b=Math.max(0,Math.min(_(m,n),s-2)),p=n[b],u=n[b+1];return Math.max(0,Math.min(s-1,b+(m-p)/(u-p)))},o.ab2ij=function(m){return[o.a2i(m[0]),o.b2j(m[1])]},o.i2c=function(m,b){return o.evalxy([],m,b)},o.ab2xy=function(m,b,p){if(!p&&(ma[i-1]|bn[s-1]))return[!1,!1];var u=o.a2i(m),g=o.b2j(b),y=o.evalxy([],u,g);if(p){var D=0,L=0,z=[],F,B,O,P;ma[i-1]?(F=i-2,B=1,D=(m-a[i-1])/(a[i-1]-a[i-2])):(F=Math.max(0,Math.min(i-2,Math.floor(u))),B=u-F),bn[s-1]?(O=s-2,P=1,L=(b-n[s-1])/(n[s-1]-n[s-2])):(O=Math.max(0,Math.min(s-2,Math.floor(g))),P=g-O),D&&(o.dxydi(z,F,O,B,P),y[0]+=z[0]*D,y[1]+=z[1]*D),L&&(o.dxydj(z,F,O,B,P),y[0]+=z[0]*L,y[1]+=z[1]*L)}return y},o.c2p=function(m,b,p){return[b.c2p(m[0]),p.c2p(m[1])]},o.p2x=function(m,b,p){return[b.p2c(m[0]),p.p2c(m[1])]},o.dadi=function(m){var b=Math.max(0,Math.min(a.length-2,m));return a[b+1]-a[b]},o.dbdj=function(m){var b=Math.max(0,Math.min(n.length-2,m));return n[b+1]-n[b]},o.dxyda=function(m,b,p,u){var g=o.dxydi(null,m,b,p,u),y=o.dadi(m,p);return[g[0]/y,g[1]/y]},o.dxydb=function(m,b,p,u){var g=o.dxydj(null,m,b,p,u),y=o.dbdj(b,u);return[g[0]/y,g[1]/y]},o.dxyda_rough=function(m,b,p){var u=x*(p||.1),g=o.ab2xy(m+u,b,!0),y=o.ab2xy(m-u,b,!0);return[(g[0]-y[0])*.5/u,(g[1]-y[1])*.5/u]},o.dxydb_rough=function(m,b,p){var u=w*(p||.1),g=o.ab2xy(m,b+u,!0),y=o.ab2xy(m,b-u,!0);return[(g[0]-y[0])*.5/u,(g[1]-y[1])*.5/u]},o.dpdx=function(m){return m._m},o.dpdy=function(m){return m._m}}}}),eH=Ge({\"src/traces/carpet/calc.js\"(Z,G){\"use strict\";var d=Wo(),_=sa().isArray1D,A=jG(),E=qG(),e=VG(),t=GG(),r=HG(),o=Y2(),a=WG(),n=Z2(),i=QG();G.exports=function(h,f){var v=d.getFromId(h,f.xaxis),c=d.getFromId(h,f.yaxis),T=f.aaxis,l=f.baxis,x=f.x,w=f.y,S=[];x&&_(x)&&S.push(\"x\"),w&&_(w)&&S.push(\"y\"),S.length&&n(f,T,l,\"a\",\"b\",S);var M=f._a=f._a||f.a,m=f._b=f._b||f.b;x=f._x||f.x,w=f._y||f.y;var b={};if(f._cheater){var p=T.cheatertype===\"index\"?M.length:M,u=l.cheatertype===\"index\"?m.length:m;x=A(p,u,f.cheaterslope)}f._x=x=o(x),f._y=w=o(w),a(x,M,m),a(w,M,m),i(f),f.setScale();var g=E(x),y=E(w),D=.5*(g[1]-g[0]),L=.5*(g[1]+g[0]),z=.5*(y[1]-y[0]),F=.5*(y[1]+y[0]),B=1.3;return g=[L-D*B,L+D*B],y=[F-z*B,F+z*B],f._extremes[v._id]=d.findExtremes(v,g,{padded:!0}),f._extremes[c._id]=d.findExtremes(c,y,{padded:!0}),e(f,\"a\",\"b\"),e(f,\"b\",\"a\"),t(f,T),t(f,l),b.clipsegments=r(f._xctrl,f._yctrl,T,l),b.x=x,b.y=w,b.a=M,b.b=m,[b]}}}),tH=Ge({\"src/traces/carpet/index.js\"(Z,G){\"use strict\";G.exports={attributes:PT(),supplyDefaults:BG(),plot:UG(),calc:eH(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Kf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}}}),rH=Ge({\"lib/carpet.js\"(Z,G){\"use strict\";G.exports=tH()}}),K6=Ge({\"src/traces/scattercarpet/attributes.js\"(Z,G){\"use strict\";var d=$d(),_=af(),A=au(),{hovertemplateAttrs:E,texttemplateAttrs:e,templatefallbackAttrs:t}=$l(),r=ku(),o=rs().extendFlat,a=_.marker,n=_.line,i=a.line;G.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:o({},_.mode,{dflt:\"markers\"}),text:o({},_.text,{}),texttemplate:e({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),texttemplatefallback:t({editType:\"plot\"}),hovertext:o({},_.hovertext,{}),line:{color:n.color,width:n.width,dash:n.dash,backoff:n.backoff,shape:o({},n.shape,{values:[\"linear\",\"spline\"]}),smoothing:n.smoothing,editType:\"calc\"},connectgaps:_.connectgaps,fill:o({},_.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:d(),marker:o({symbol:a.symbol,opacity:a.opacity,maxdisplayed:a.maxdisplayed,angle:a.angle,angleref:a.angleref,standoff:a.standoff,size:a.size,sizeref:a.sizeref,sizemin:a.sizemin,sizemode:a.sizemode,line:o({width:i.width,dash:i.dash,editType:\"calc\"},r(\"marker.line\")),gradient:a.gradient,editType:\"calc\"},r(\"marker\")),textfont:_.textfont,textposition:_.textposition,selected:_.selected,unselected:_.unselected,hoverinfo:o({},A.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:_.hoveron,hovertemplate:E(),hovertemplatefallback:t(),zorder:_.zorder}}}),aH=Ge({\"src/traces/scattercarpet/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Tv(),A=Fu(),E=md(),e=Dd(),t=o1(),r=zd(),o=ev(),a=K6();G.exports=function(i,s,h,f){function v(M,m){return d.coerce(i,s,a,M,m)}v(\"carpet\"),s.xaxis=\"x\",s.yaxis=\"y\";var c=v(\"a\"),T=v(\"b\"),l=Math.min(c.length,T.length);if(!l){s.visible=!1;return}s._length=l,v(\"text\"),v(\"texttemplate\"),v(\"texttemplatefallback\"),v(\"hovertext\");var x=l<_.PTS_LINESONLY?\"lines+markers\":\"lines\";v(\"mode\",x),A.hasMarkers(s)&&E(i,s,h,f,v,{gradient:!0}),A.hasLines(s)&&(e(i,s,h,f,v,{backoff:!0}),t(i,s,v),v(\"connectgaps\")),A.hasText(s)&&r(i,s,f,v);var w=[];(A.hasMarkers(s)||A.hasText(s))&&(v(\"marker.maxdisplayed\"),w.push(\"points\")),v(\"fill\"),s.fill!==\"none\"&&(o(i,s,h,v),A.hasLines(s)||t(i,s,v)),(s.fill===\"tonext\"||s.fill===\"toself\")&&w.push(\"fills\");var S=v(\"hoveron\",w.join(\"+\")||\"points\");S!==\"fills\"&&(v(\"hovertemplate\"),v(\"hovertemplatefallback\")),v(\"zorder\"),d.coerceSelectionMarkerOpacity(s,v)}}}),iH=Ge({\"src/traces/scattercarpet/format_labels.js\"(Z,G){\"use strict\";G.exports=function(_,A){var E={},e=A._carpet,t=e.ab2ij([_.a,_.b]),r=Math.floor(t[0]),o=t[0]-r,a=Math.floor(t[1]),n=t[1]-a,i=e.evalxy([],r,a,o,n);return E.yLabel=i[1].toFixed(3),E}}}),IT=Ge({\"src/traces/carpet/lookup_carpetid.js\"(Z,G){\"use strict\";G.exports=function(d,_){for(var A=d._fullData.length,E,e=0;e0?b=M.labelprefix.replace(/ = $/,\"\"):b=M._hovertitle,l.push(b+\": \"+m.toFixed(3)+M.labelsuffix)}if(!v.hovertemplate){var w=f.hi||v.hoverinfo,S=w.split(\"+\");S.indexOf(\"all\")!==-1&&(S=[\"a\",\"b\",\"text\"]),S.indexOf(\"a\")!==-1&&x(c.aaxis,f.a),S.indexOf(\"b\")!==-1&&x(c.baxis,f.b),l.push(\"y: \"+a.yLabel),S.indexOf(\"text\")!==-1&&_(f,v,l),a.extraText=l.join(\"
\")}return o}}}),lH=Ge({\"src/traces/scattercarpet/event_data.js\"(Z,G){\"use strict\";G.exports=function(_,A,E,e,t){var r=e[t];return _.a=r.a,_.b=r.b,_.y=r.y,_}}}),uH=Ge({\"src/traces/scattercarpet/index.js\"(Z,G){\"use strict\";G.exports={attributes:K6(),supplyDefaults:aH(),colorbar:dp(),formatLabels:iH(),calc:nH(),plot:oH(),style:Qp().style,styleOnSelect:Qp().styleOnSelect,hoverPoints:sH(),selectPoints:c1(),eventData:lH(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Kf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}}}),cH=Ge({\"lib/scattercarpet.js\"(Z,G){\"use strict\";G.exports=uH()}}),J6=Ge({\"src/traces/contourcarpet/attributes.js\"(Z,G){\"use strict\";var d=p1(),_=V_(),A=ku(),E=rs().extendFlat,e=_.contours;G.exports=E({carpet:{valType:\"string\",editType:\"calc\"},z:d.z,a:d.x,a0:d.x0,da:d.dx,b:d.y,b0:d.y0,db:d.dy,text:d.text,hovertext:d.hovertext,transpose:d.transpose,atype:d.xtype,btype:d.ytype,fillcolor:_.fillcolor,autocontour:_.autocontour,ncontours:_.ncontours,contours:{type:e.type,start:e.start,end:e.end,size:e.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:e.showlines,showlabels:e.showlabels,labelfont:e.labelfont,labelformat:e.labelformat,operation:e.operation,value:e.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:_.line.color,width:_.line.width,dash:_.line.dash,smoothing:_.line.smoothing,editType:\"plot\"},zorder:_.zorder},A(\"\",{cLetter:\"z\",autoColorDflt:!1}))}}),$6=Ge({\"src/traces/contourcarpet/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=X2(),A=J6(),E=TS(),e=s3(),t=l3();G.exports=function(o,a,n,i){function s(c,T){return d.coerce(o,a,A,c,T)}function h(c){return d.coerce2(o,a,A,c)}if(s(\"carpet\"),o.a&&o.b){var f=_(o,a,s,i,\"a\",\"b\");if(!f){a.visible=!1;return}s(\"text\");var v=s(\"contours.type\")===\"constraint\";v?E(o,a,s,i,n,{hasHover:!1}):(e(o,a,s,h),t(o,a,s,i,{hasHover:!1}))}else a._defaultColor=n,a._length=null;s(\"zorder\")}}}),fH=Ge({\"src/traces/contourcarpet/calc.js\"(Z,G){\"use strict\";var d=Tp(),_=sa(),A=Z2(),E=Y2(),e=K2(),t=J2(),r=sS(),o=$6(),a=IT(),n=dS();G.exports=function(h,f){var v=f._carpetTrace=a(h,f);if(!(!v||!v.visible||v.visible===\"legendonly\")){if(!f.a||!f.b){var c=h.data[v.index],T=h.data[f.index];T.a||(T.a=c.a),T.b||(T.b=c.b),o(T,f,f._defaultColor,h._fullLayout)}var l=i(h,f);return n(f,f._z),l}};function i(s,h){var f=h._carpetTrace,v=f.aaxis,c=f.baxis,T,l,x,w,S,M,m;v._minDtick=0,c._minDtick=0,_.isArray1D(h.z)&&A(h,v,c,\"a\",\"b\",[\"z\"]),T=h._a=h._a||h.a,w=h._b=h._b||h.b,T=T?v.makeCalcdata(h,\"_a\"):[],w=w?c.makeCalcdata(h,\"_b\"):[],l=h.a0||0,x=h.da||1,S=h.b0||0,M=h.db||1,m=h._z=E(h._z||h.z,h.transpose),h._emptypoints=t(m),e(m,h._emptypoints);var b=_.maxRowLength(m),p=h.xtype===\"scaled\"?\"\":T,u=r(h,p,l,x,b,v),g=h.ytype===\"scaled\"?\"\":w,y=r(h,g,S,M,m.length,c),D={a:u,b:y,z:m};return h.contours.type===\"levels\"&&h.contours.coloring!==\"none\"&&d(s,h,{vals:m,containerStr:\"\",cLetter:\"z\"}),[D]}}}),hH=Ge({\"src/traces/carpet/axis_aligned_line.js\"(Z,G){\"use strict\";var d=sa().isArrayOrTypedArray;G.exports=function(_,A,E,e){var t,r,o,a,n,i,s,h,f,v,c,T,l,x=d(E)?\"a\":\"b\",w=x===\"a\"?_.aaxis:_.baxis,S=w.smoothing,M=x===\"a\"?_.a2i:_.b2j,m=x===\"a\"?E:e,b=x===\"a\"?e:E,p=x===\"a\"?A.a.length:A.b.length,u=x===\"a\"?A.b.length:A.a.length,g=Math.floor(x===\"a\"?_.b2j(b):_.a2i(b)),y=x===\"a\"?function(ue){return _.evalxy([],ue,g)}:function(ue){return _.evalxy([],g,ue)};S&&(o=Math.max(0,Math.min(u-2,g)),a=g-o,r=x===\"a\"?function(ue,ce){return _.dxydi([],ue,o,ce,a)}:function(ue,ce){return _.dxydj([],o,ue,a,ce)});var D=M(m[0]),L=M(m[1]),z=D0?Math.floor:Math.ceil,O=z>0?Math.ceil:Math.floor,P=z>0?Math.min:Math.max,U=z>0?Math.max:Math.min,N=B(D+F),X=O(L-F);s=y(D);var $=[[s]];for(t=N;t*z=0;pe--)j=U.clipsegments[pe],Q=_([],j.x,D.c2p),re=_([],j.y,L.c2p),Q.reverse(),re.reverse(),we.push(A(Q,re,j.bicubic));var Se=\"M\"+we.join(\"L\")+\"Z\";S(F,U.clipsegments,D,L,ce,V),M(O,F,D,L,ae,ee,Y,P,U,V,Se),c(F,ue,p,B,$,u,P),E.setClipUrl(F,P._clipPathId,p)})};function v(b,p){var u,g,y,D,L,z,F,B,O;for(u=0;uue&&(g.max=ue),g.len=g.max-g.min}function l(b,p,u){var g=b.getPointAtLength(p),y=b.getPointAtLength(u),D=y.x-g.x,L=y.y-g.y,z=Math.sqrt(D*D+L*L);return[D/z,L/z]}function x(b){var p=Math.sqrt(b[0]*b[0]+b[1]*b[1]);return[b[0]/p,b[1]/p]}function w(b,p){var u=Math.abs(b[0]*p[0]+b[1]*p[1]),g=Math.sqrt(1-u*u);return g/u}function S(b,p,u,g,y,D){var L,z,F,B,O=e.ensureSingle(b,\"g\",\"contourbg\"),P=O.selectAll(\"path\").data(D===\"fill\"&&!y?[0]:[]);P.enter().append(\"path\"),P.exit().remove();var U=[];for(B=0;B=0&&(N=Q,$=ue):Math.abs(U[1]-N[1])=0&&(N=Q,$=ue):e.log(\"endpt to newendpt is not vert. or horz.\",U,N,Q)}if($>=0)break;B+=ae(U,N),U=N}if($===p.edgepaths.length){e.log(\"unclosed perimeter path\");break}F=$,P=O.indexOf(F)===-1,P&&(F=O[0],B+=ae(U,N)+\"Z\",U=null)}for(F=0;Fm):M=z>y,m=z;var F=v(y,D,L,z);F.pos=g,F.yc=(y+z)/2,F.i=u,F.dir=M?\"increasing\":\"decreasing\",F.x=F.pos,F.y=[L,D],b&&(F.orig_p=s[u]),w&&(F.tx=i.text[u]),S&&(F.htx=i.hovertext[u]),p.push(F)}else p.push({pos:g,empty:!0})}return i._extremes[f._id]=A.findExtremes(f,d.concat(l,T),{padded:!0}),p.length&&(p[0].t={labels:{open:_(n,\"open:\")+\" \",high:_(n,\"high:\")+\" \",low:_(n,\"low:\")+\" \",close:_(n,\"close:\")+\" \"}}),p}function a(n,i,s){var h=s._minDiff;if(!h){var f=n._fullData,v=[];h=1/0;var c;for(c=0;c\"+x.labels[g]+d.hoverLabelText(T,y,l.yhoverformat)):(L=_.extendFlat({},S),L.y0=L.y1=D,L.yLabelVal=y,L.yLabel=x.labels[g]+d.hoverLabelText(T,y,l.yhoverformat),L.name=\"\",w.push(L),p[y]=L)}return w}function i(s,h,f,v){var c=s.cd,T=s.ya,l=c[0].trace,x=c[0].t,w=a(s,h,f,v);if(!w)return[];var S=w.index,M=c[S],m=w.index=M.i,b=M.dir;function p(F){return x.labels[F]+d.hoverLabelText(T,l[F][m],l.yhoverformat)}var u=M.hi||l.hoverinfo||\"\",g=u.split(\"+\"),y=u===\"all\",D=y||g.indexOf(\"y\")!==-1,L=y||g.indexOf(\"text\")!==-1,z=D?[p(\"open\"),p(\"high\"),p(\"low\"),p(\"close\")+\" \"+r[b]]:[];return L&&e(M,l,z),w.extraText=z.join(\"
\"),w.y0=w.y1=T.c2p(M.yc,!0),[w]}G.exports={hoverPoints:o,hoverSplit:n,hoverOnPoints:i}}}),rk=Ge({\"src/traces/ohlc/select.js\"(Z,G){\"use strict\";G.exports=function(_,A){var E=_.cd,e=_.xaxis,t=_.yaxis,r=[],o,a=E[0].t.bPos||0;if(A===!1)for(o=0;oh?function(l){return l<=0}:function(l){return l>=0};a.c2g=function(l){var x=a.c2l(l)-s;return(T(x)?x:0)+c},a.g2c=function(l){return a.l2c(l+s-c)},a.g2p=function(l){return l*v},a.c2p=function(l){return a.g2p(a.c2g(l))}}}function t(a,n){return n===\"degrees\"?A(a):a}function r(a,n){return n===\"degrees\"?E(a):a}function o(a,n){var i=a.type;if(i===\"linear\"){var s=a.d2c,h=a.c2d;a.d2c=function(f,v){return t(s(f),v)},a.c2d=function(f,v){return h(r(f,v))}}a.makeCalcdata=function(f,v){var c=f[v],T=f._length,l,x,w=function(p){return a.d2c(p,f.thetaunit)};if(c)for(l=new Array(T),x=0;x0?p:1/0},M=A(w,S),m=d.mod(M+1,w.length);return[w[M],w[m]]}function v(x){return Math.abs(x)>1e-10?x:0}function c(x,w,S){w=w||0,S=S||0;for(var M=x.length,m=new Array(M),b=0;b0?1:0}function _(r){var o=r[0],a=r[1];if(!isFinite(o)||!isFinite(a))return[1,0];var n=(o+1)*(o+1)+a*a;return[(o*o+a*a-1)/n,2*a/n]}function A(r,o){var a=o[0],n=o[1];return[a*r.radius+r.cx,-n*r.radius+r.cy]}function E(r,o){return o*r.radius}function e(r,o,a,n){var i=A(r,_([a,o])),s=i[0],h=i[1],f=A(r,_([n,o])),v=f[0],c=f[1];if(o===0)return[\"M\"+s+\",\"+h,\"L\"+v+\",\"+c].join(\" \");var T=E(r,1/Math.abs(o));return[\"M\"+s+\",\"+h,\"A\"+T+\",\"+T+\" 0 0,\"+(o<0?1:0)+\" \"+v+\",\"+c].join(\" \")}function t(r,o,a,n){var i=E(r,1/(o+1)),s=A(r,_([o,a])),h=s[0],f=s[1],v=A(r,_([o,n])),c=v[0],T=v[1];if(d(a)!==d(n)){var l=A(r,_([o,0])),x=l[0],w=l[1];return[\"M\"+h+\",\"+f,\"A\"+i+\",\"+i+\" 0 0,\"+(0at?(nt=re,tt=re*at,le=(pe-tt)/q.h/2,Ue=[j[0],j[1]],he=[Q[0]+le,Q[1]-le]):(nt=pe/at,tt=pe,le=(re-nt)/q.w/2,Ue=[j[0]+le,j[1]-le],he=[Q[0],Q[1]]),Y.xLength2=nt,Y.yLength2=tt,Y.xDomain2=Ue,Y.yDomain2=he;var ne=Y.xOffset2=q.l+q.w*Ue[0],Ce=Y.yOffset2=q.t+q.h*(1-he[1]),Ze=Y.radius=nt/Ie,rt=Y.innerRadius=Y.getHole(V)*Ze,Ye=Y.cx=ne-Ze*Se[0],St=Y.cy=Ce+Ze*Se[3],kt=Y.cxx=Ye-ne,qt=Y.cyy=St-Ce,Gt=se.side,Tr;Gt===\"counterclockwise\"?(Tr=Gt,Gt=\"top\"):Gt===\"clockwise\"&&(Tr=Gt,Gt=\"bottom\"),Y.radialAxis=Y.mockAxis(de,V,se,{_id:\"x\",side:Gt,_trueSide:Tr,domain:[rt/q.w,Ze/q.w]}),Y.angularAxis=Y.mockAxis(de,V,ae,{side:\"right\",domain:[0,Math.PI],autorange:!1}),Y.doAutoRange(de,V),Y.updateAngularAxis(de,V),Y.updateRadialAxis(de,V),Y.updateRadialAxisTitle(de,V),Y.xaxis=Y.mockCartesianAxis(de,V,{_id:\"x\",domain:Ue}),Y.yaxis=Y.mockCartesianAxis(de,V,{_id:\"y\",domain:he});var mr=Y.pathSubplot();Y.clipPaths.forTraces.select(\"path\").attr(\"d\",mr).attr(\"transform\",t(kt,qt)),ee.frontplot.attr(\"transform\",t(ne,Ce)).call(o.setClipUrl,Y._hasClipOnAxisFalse?null:Y.clipIds.forTraces,Y.gd),ee.bg.attr(\"d\",mr).attr(\"transform\",t(Ye,St)).call(r.fill,V.bgcolor)},N.mockAxis=function(de,V,Y,ee){var q=E.extendFlat({},Y,ee);return s(q,V,de),q},N.mockCartesianAxis=function(de,V,Y){var ee=this,q=ee.isSmith,se=Y._id,ae=E.extendFlat({type:\"linear\"},Y);i(ae,de);var j={x:[0,2],y:[1,3]};return ae.setRange=function(){var Q=ee.sectorBBox,re=j[se],pe=ee.radialAxis._rl,we=(pe[1]-pe[0])/(1-ee.getHole(V));ae.range=[Q[re[0]]*we,Q[re[1]]*we]},ae.isPtWithinRange=se===\"x\"&&!q?function(Q){return ee.isPtInside(Q)}:function(){return!0},ae.setRange(),ae.setScale(),ae},N.doAutoRange=function(de,V){var Y=this,ee=Y.gd,q=Y.radialAxis,se=Y.getRadial(V);h(ee,q);var ae=q.range;if(se.range=ae.slice(),se._input.range=ae.slice(),q._rl=[q.r2l(ae[0],null,\"gregorian\"),q.r2l(ae[1],null,\"gregorian\")],q.minallowed!==void 0){var j=q.r2l(q.minallowed);q._rl[0]>q._rl[1]?q._rl[1]=Math.max(q._rl[1],j):q._rl[0]=Math.max(q._rl[0],j)}if(q.maxallowed!==void 0){var Q=q.r2l(q.maxallowed);q._rl[0]90&&pe<=270&&(we.tickangle=180);var Re=Ie?function(Ze){var rt=z(Y,y([Ze.x,0]));return t(rt[0]-j,rt[1]-Q)}:function(Ze){return t(we.l2p(Ze.x)+ae,0)},He=Ie?function(Ze){return L(Y,Ze.x,-1/0,1/0)}:function(Ze){return Y.pathArc(we.r2p(Ze.x)+ae)},at=X(re);if(Y.radialTickLayout!==at&&(q[\"radial-axis\"].selectAll(\".xtick\").remove(),Y.radialTickLayout=at),Se){we.setScale();var nt=0,tt=Ie?(we.tickvals||[]).filter(function(Ze){return Ze>=0}).map(function(Ze){return n.tickText(we,Ze,!0,!1)}):n.calcTicks(we),Ue=Ie?tt:n.clipEnds(we,tt),he=n.getTickSigns(we)[2];Ie&&((we.ticks===\"top\"&&we.side===\"bottom\"||we.ticks===\"bottom\"&&we.side===\"top\")&&(he=-he),we.ticks===\"top\"&&we.side===\"top\"&&(nt=-we.ticklen),we.ticks===\"bottom\"&&we.side===\"bottom\"&&(nt=we.ticklen)),n.drawTicks(ee,we,{vals:tt,layer:q[\"radial-axis\"],path:n.makeTickPath(we,0,he),transFn:Re,crisp:!1}),n.drawGrid(ee,we,{vals:Ue,layer:q[\"radial-grid\"],path:He,transFn:E.noop,crisp:!1}),n.drawLabels(ee,we,{vals:tt,layer:q[\"radial-axis\"],transFn:Re,labelFns:n.makeLabelFns(we,nt)})}var le=Y.radialAxisAngle=Y.vangles?P(ue(O(re.angle),Y.vangles)):re.angle,ne=t(j,Q),Ce=ne+e(-le);ce(q[\"radial-axis\"],Se&&(re.showticklabels||re.ticks),{transform:Ce}),ce(q[\"radial-grid\"],Se&&re.showgrid,{transform:Ie?\"\":ne}),ce(q[\"radial-line\"].select(\"line\"),Se&&re.showline,{x1:Ie?-se:ae,y1:0,x2:se,y2:0,transform:Ce}).attr(\"stroke-width\",re.linewidth).call(r.stroke,re.linecolor)},N.updateRadialAxisTitle=function(de,V,Y){if(!this.isSmith){var ee=this,q=ee.gd,se=ee.radius,ae=ee.cx,j=ee.cy,Q=ee.getRadial(V),re=ee.id+\"title\",pe=0;if(Q.title){var we=o.bBox(ee.layers[\"radial-axis\"].node()).height,Se=Q.title.font.size,Ie=Q.side;pe=Ie===\"top\"?Se:Ie===\"counterclockwise\"?-(we+Se*.4):we+Se*.8}var Re=Y!==void 0?Y:ee.radialAxisAngle,He=O(Re),at=Math.cos(He),nt=Math.sin(He),tt=ae+se/2*at+pe*nt,Ue=j-se/2*nt+pe*at;ee.layers[\"radial-axis-title\"]=T.draw(q,re,{propContainer:Q,propName:ee.id+\".radialaxis.title.text\",placeholder:F(q,\"Click to enter radial axis title\"),attributes:{x:tt,y:Ue,\"text-anchor\":\"middle\"},transform:{rotate:-Re}})}},N.updateAngularAxis=function(de,V){var Y=this,ee=Y.gd,q=Y.layers,se=Y.radius,ae=Y.innerRadius,j=Y.cx,Q=Y.cy,re=Y.getAngular(V),pe=Y.angularAxis,we=Y.isSmith;we||(Y.fillViewInitialKey(\"angularaxis.rotation\",re.rotation),pe.setGeometry(),pe.setScale());var Se=we?function(rt){var Ye=z(Y,y([0,rt.x]));return Math.atan2(Ye[0]-j,Ye[1]-Q)-Math.PI/2}:function(rt){return pe.t2g(rt.x)};pe.type===\"linear\"&&pe.thetaunit===\"radians\"&&(pe.tick0=P(pe.tick0),pe.dtick=P(pe.dtick));var Ie=function(rt){return t(j+se*Math.cos(rt),Q-se*Math.sin(rt))},Re=we?function(rt){var Ye=z(Y,y([0,rt.x]));return t(Ye[0],Ye[1])}:function(rt){return Ie(Se(rt))},He=we?function(rt){var Ye=z(Y,y([0,rt.x])),St=Math.atan2(Ye[0]-j,Ye[1]-Q)-Math.PI/2;return t(Ye[0],Ye[1])+e(-P(St))}:function(rt){var Ye=Se(rt);return Ie(Ye)+e(-P(Ye))},at=we?function(rt){return D(Y,rt.x,0,1/0)}:function(rt){var Ye=Se(rt),St=Math.cos(Ye),kt=Math.sin(Ye);return\"M\"+[j+ae*St,Q-ae*kt]+\"L\"+[j+se*St,Q-se*kt]},nt=n.makeLabelFns(pe,0),tt=nt.labelStandoff,Ue={};Ue.xFn=function(rt){var Ye=Se(rt);return Math.cos(Ye)*tt},Ue.yFn=function(rt){var Ye=Se(rt),St=Math.sin(Ye)>0?.2:1;return-Math.sin(Ye)*(tt+rt.fontSize*St)+Math.abs(Math.cos(Ye))*(rt.fontSize*b)},Ue.anchorFn=function(rt){var Ye=Se(rt),St=Math.cos(Ye);return Math.abs(St)<.1?\"middle\":St>0?\"start\":\"end\"},Ue.heightFn=function(rt,Ye,St){var kt=Se(rt);return-.5*(1+Math.sin(kt))*St};var he=X(re);Y.angularTickLayout!==he&&(q[\"angular-axis\"].selectAll(\".\"+pe._id+\"tick\").remove(),Y.angularTickLayout=he);var le=we?[1/0].concat(pe.tickvals||[]).map(function(rt){return n.tickText(pe,rt,!0,!1)}):n.calcTicks(pe);we&&(le[0].text=\"\\u221E\",le[0].fontSize*=1.75);var ne;if(V.gridshape===\"linear\"?(ne=le.map(Se),E.angleDelta(ne[0],ne[1])<0&&(ne=ne.slice().reverse())):ne=null,Y.vangles=ne,pe.type===\"category\"&&(le=le.filter(function(rt){return E.isAngleInsideSector(Se(rt),Y.sectorInRad)})),pe.visible){var Ce=pe.ticks===\"inside\"?-1:1,Ze=(pe.linewidth||1)/2;n.drawTicks(ee,pe,{vals:le,layer:q[\"angular-axis\"],path:\"M\"+Ce*Ze+\",0h\"+Ce*pe.ticklen,transFn:He,crisp:!1}),n.drawGrid(ee,pe,{vals:le,layer:q[\"angular-grid\"],path:at,transFn:E.noop,crisp:!1}),n.drawLabels(ee,pe,{vals:le,layer:q[\"angular-axis\"],repositionOnUpdate:!0,transFn:Re,labelFns:Ue})}ce(q[\"angular-line\"].select(\"path\"),re.showline,{d:Y.pathSubplot(),transform:t(j,Q)}).attr(\"stroke-width\",re.linewidth).call(r.stroke,re.linecolor)},N.updateFx=function(de,V){if(!this.gd._context.staticPlot){var Y=!this.isSmith;Y&&(this.updateAngularDrag(de),this.updateRadialDrag(de,V,0),this.updateRadialDrag(de,V,1)),this.updateHoverAndMainDrag(de)}},N.updateHoverAndMainDrag=function(de){var V=this,Y=V.isSmith,ee=V.gd,q=V.layers,se=de._zoomlayer,ae=p.MINZOOM,j=p.OFFEDGE,Q=V.radius,re=V.innerRadius,pe=V.cx,we=V.cy,Se=V.cxx,Ie=V.cyy,Re=V.sectorInRad,He=V.vangles,at=V.radialAxis,nt=u.clampTiny,tt=u.findXYatLength,Ue=u.findEnclosingVertexAngles,he=p.cornerHalfWidth,le=p.cornerLen/2,ne,Ce,Ze=f.makeDragger(q,\"path\",\"maindrag\",de.dragmode===!1?\"none\":\"crosshair\");d.select(Ze).attr(\"d\",V.pathSubplot()).attr(\"transform\",t(pe,we)),Ze.onmousemove=function(lr){c.hover(ee,lr,V.id),ee._fullLayout._lasthover=Ze,ee._fullLayout._hoversubplot=V.id},Ze.onmouseout=function(lr){ee._dragging||v.unhover(ee,lr)};var rt={element:Ze,gd:ee,subplot:V.id,plotinfo:{id:V.id,xaxis:V.xaxis,yaxis:V.yaxis},xaxes:[V.xaxis],yaxes:[V.yaxis]},Ye,St,kt,qt,Gt,Tr,mr,qr,Er;function Dr(lr,sr){return Math.sqrt(lr*lr+sr*sr)}function xt(lr,sr){return Dr(lr-Se,sr-Ie)}function Oe(lr,sr){return Math.atan2(Ie-sr,lr-Se)}function Ke(lr,sr){return[lr*Math.cos(sr),lr*Math.sin(-sr)]}function Ae(lr,sr){if(lr===0)return V.pathSector(2*he);var Pr=le/lr,_a=sr-Pr,Fa=sr+Pr,Ra=Math.max(0,Math.min(lr,Q)),qa=Ra-he,Wa=Ra+he;return\"M\"+Ke(qa,_a)+\"A\"+[qa,qa]+\" 0,0,0 \"+Ke(qa,Fa)+\"L\"+Ke(Wa,Fa)+\"A\"+[Wa,Wa]+\" 0,0,1 \"+Ke(Wa,_a)+\"Z\"}function Le(lr,sr,Pr){if(lr===0)return V.pathSector(2*he);var _a=Ke(lr,sr),Fa=Ke(lr,Pr),Ra=nt((_a[0]+Fa[0])/2),qa=nt((_a[1]+Fa[1])/2),Wa,Ca;if(Ra&&qa){var hi=qa/Ra,wi=-1/hi,Yt=tt(he,hi,Ra,qa);Wa=tt(le,wi,Yt[0][0],Yt[0][1]),Ca=tt(le,wi,Yt[1][0],Yt[1][1])}else{var Rt,Zt;qa?(Rt=le,Zt=he):(Rt=he,Zt=le),Wa=[[Ra-Rt,qa-Zt],[Ra+Rt,qa-Zt]],Ca=[[Ra-Rt,qa+Zt],[Ra+Rt,qa+Zt]]}return\"M\"+Wa.join(\"L\")+\"L\"+Ca.reverse().join(\"L\")+\"Z\"}function We(){kt=null,qt=null,Gt=V.pathSubplot(),Tr=!1;var lr=ee._fullLayout[V.id];mr=_(lr.bgcolor).getLuminance(),qr=f.makeZoombox(se,mr,pe,we,Gt),qr.attr(\"fill-rule\",\"evenodd\"),Er=f.makeCorners(se,pe,we),w(ee)}function Je(lr,sr){return sr=Math.max(Math.min(sr,Q),re),lrae?(lr-1&&lr===1&&x(sr,ee,[V.xaxis],[V.yaxis],V.id,rt),Pr.indexOf(\"event\")>-1&&c.click(ee,sr,V.id)}rt.prepFn=function(lr,sr,Pr){var _a=ee._fullLayout.dragmode,Fa=Ze.getBoundingClientRect();ee._fullLayout._calcInverseTransform(ee);var Ra=ee._fullLayout._invTransform;ne=ee._fullLayout._invScaleX,Ce=ee._fullLayout._invScaleY;var qa=E.apply3DTransform(Ra)(sr-Fa.left,Pr-Fa.top);if(Ye=qa[0],St=qa[1],He){var Wa=u.findPolygonOffset(Q,Re[0],Re[1],He);Ye+=Se+Wa[0],St+=Ie+Wa[1]}switch(_a){case\"zoom\":rt.clickFn=cr,Y||(He?rt.moveFn=Ct:rt.moveFn=ot,rt.doneFn=Pt,We(lr,sr,Pr));break;case\"select\":case\"lasso\":l(lr,sr,Pr,rt,_a);break}},v.init(rt)},N.updateRadialDrag=function(de,V,Y){var ee=this,q=ee.gd,se=ee.layers,ae=ee.radius,j=ee.innerRadius,Q=ee.cx,re=ee.cy,pe=ee.radialAxis,we=p.radialDragBoxSize,Se=we/2;if(!pe.visible)return;var Ie=O(ee.radialAxisAngle),Re=pe._rl,He=Re[0],at=Re[1],nt=Re[Y],tt=.75*(Re[1]-Re[0])/(1-ee.getHole(V))/ae,Ue,he,le;Y?(Ue=Q+(ae+Se)*Math.cos(Ie),he=re-(ae+Se)*Math.sin(Ie),le=\"radialdrag\"):(Ue=Q+(j-Se)*Math.cos(Ie),he=re-(j-Se)*Math.sin(Ie),le=\"radialdrag-inner\");var ne=f.makeRectDragger(se,le,\"crosshair\",-Se,-Se,we,we),Ce={element:ne,gd:q};de.dragmode===!1&&(Ce.dragmode=!1),ce(d.select(ne),pe.visible&&j0!=(Y?Ye>He:Ye=90||q>90&&se>=450?Ie=1:j<=0&&re<=0?Ie=0:Ie=Math.max(j,re),q<=180&&se>=180||q>180&&se>=540?pe=-1:ae>=0&&Q>=0?pe=0:pe=Math.min(ae,Q),q<=270&&se>=270||q>270&&se>=630?we=-1:j>=0&&re>=0?we=0:we=Math.min(j,re),se>=360?Se=1:ae<=0&&Q<=0?Se=0:Se=Math.max(ae,Q),[pe,we,Se,Ie]}function ue(de,V){var Y=function(q){return E.angleDist(de,q)},ee=E.findIndexOfMin(V,Y);return V[ee]}function ce(de,V,Y){return V?(de.attr(\"display\",null),de.attr(Y)):de&&de.attr(\"display\",\"none\"),de}}}),sk=Ge({\"src/plots/polar/layout_attributes.js\"(Z,G){\"use strict\";var d=sh(),_=Wh(),A=wc().attributes,E=sa().extendFlat,e=pc().overrideAll,t=e({color:_.color,showline:E({},_.showline,{dflt:!0}),linecolor:_.linecolor,linewidth:_.linewidth,showgrid:E({},_.showgrid,{dflt:!0}),gridcolor:_.gridcolor,gridwidth:_.gridwidth,griddash:_.griddash},\"plot\",\"from-root\"),r=e({tickmode:_.minor.tickmode,nticks:_.nticks,tick0:_.tick0,dtick:_.dtick,tickvals:_.tickvals,ticktext:_.ticktext,ticks:_.ticks,ticklen:_.ticklen,tickwidth:_.tickwidth,tickcolor:_.tickcolor,ticklabelstep:_.ticklabelstep,showticklabels:_.showticklabels,labelalias:_.labelalias,minorloglabels:_.minorloglabels,showtickprefix:_.showtickprefix,tickprefix:_.tickprefix,showticksuffix:_.showticksuffix,ticksuffix:_.ticksuffix,showexponent:_.showexponent,exponentformat:_.exponentformat,minexponent:_.minexponent,separatethousands:_.separatethousands,tickfont:_.tickfont,tickangle:_.tickangle,tickformat:_.tickformat,tickformatstops:_.tickformatstops,layer:_.layer},\"plot\",\"from-root\"),o={visible:E({},_.visible,{dflt:!0}),type:E({},_.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:_.autotypenumbers,autorangeoptions:{minallowed:_.autorangeoptions.minallowed,maxallowed:_.autorangeoptions.maxallowed,clipmin:_.autorangeoptions.clipmin,clipmax:_.autorangeoptions.clipmax,include:_.autorangeoptions.include,editType:\"plot\"},autorange:E({},_.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:E({},_.minallowed,{editType:\"plot\"}),maxallowed:E({},_.maxallowed,{editType:\"plot\"}),range:E({},_.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:_.categoryorder,categoryarray:_.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:_.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:E({},_.title.text,{editType:\"plot\",dflt:\"\"}),font:E({},_.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:_.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};E(o,t,r);var a={visible:E({},_.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:_.autotypenumbers,categoryorder:_.categoryorder,categoryarray:_.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:_.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};E(a,t,r),G.exports={domain:A({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:d.background},radialaxis:o,angularaxis:a,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}}}),SH=Ge({\"src/plots/polar/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=$n(),A=zl(),E=o0(),e=Hh().getSubplotData,t=Y0(),r=t1(),o=Qm(),a=e0(),n=I2(),i=z_(),s=f5(),h=a1(),f=sk(),v=ik(),c=DT(),T=c.axisNames;function l(w,S,M,m){var b=M(\"bgcolor\");m.bgColor=_.combine(b,m.paper_bgcolor);var p=M(\"sector\");M(\"hole\");var u=e(m.fullData,c.name,m.id),g=m.layoutOut,y;function D(we,Se){return M(y+\".\"+we,Se)}for(var L=0;L\")}}G.exports={hoverPoints:_,makeHoverPointText:A}}}),kH=Ge({\"src/traces/scatterpolar/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:FT(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:Cx(),supplyDefaults:OT().supplyDefaults,colorbar:dp(),formatLabels:BT(),calc:MH(),plot:EH(),style:Qp().style,styleOnSelect:Qp().styleOnSelect,hoverPoints:NT().hoverPoints,selectPoints:c1(),meta:{}}}}),CH=Ge({\"lib/scatterpolar.js\"(Z,G){\"use strict\";G.exports=kH()}}),lk=Ge({\"src/traces/scatterpolargl/attributes.js\"(Z,G){\"use strict\";var d=Cx(),{cliponaxis:_,hoveron:A}=d,E=Qs(d,[\"cliponaxis\",\"hoveron\"]),{connectgaps:e,line:{color:t,dash:r,width:o},fill:a,fillcolor:n,marker:i,textfont:s,textposition:h}=xx();G.exports=ds(So({},E),{connectgaps:e,fill:a,fillcolor:n,line:{color:t,dash:r,editType:\"calc\",width:o},marker:i,textfont:s,textposition:h})}}),LH=Ge({\"src/traces/scatterpolargl/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=Fu(),A=OT().handleRThetaDefaults,E=md(),e=Dd(),t=zd(),r=ev(),o=Tv().PTS_LINESONLY,a=lk();G.exports=function(i,s,h,f){function v(T,l){return d.coerce(i,s,a,T,l)}var c=A(i,s,f,v);if(!c){s.visible=!1;return}v(\"thetaunit\"),v(\"mode\",c=r&&(m.marker.cluster=x.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=g),m.line&&g.length>1&&t.extendFlat(m.line,e.linePositions(n,l,g)),m.text&&(t.extendFlat(m.text,{positions:g},e.textPosition(n,l,m.text,m.marker)),t.extendFlat(m.textSel,{positions:g},e.textPosition(n,l,m.text,m.markerSel)),t.extendFlat(m.textUnsel,{positions:g},e.textPosition(n,l,m.text,m.markerUnsel))),m.fill&&!v.fill2d&&(v.fill2d=!0),m.marker&&!v.scatter2d&&(v.scatter2d=!0),m.line&&!v.line2d&&(v.line2d=!0),m.text&&!v.glText&&(v.glText=!0),v.lineOptions.push(m.line),v.fillOptions.push(m.fill),v.markerOptions.push(m.marker),v.markerSelectedOptions.push(m.markerSel),v.markerUnselectedOptions.push(m.markerUnsel),v.textOptions.push(m.text),v.textSelectedOptions.push(m.textSel),v.textUnselectedOptions.push(m.textUnsel),v.selectBatch.push([]),v.unselectBatch.push([]),x.x=y,x.y=D,x.rawx=y,x.rawy=D,x.r=S,x.theta=M,x.positions=g,x._scene=v,x.index=v.count,v.count++}}),A(n,i,s)}},G.exports.reglPrecompiled=o}}),FH=Ge({\"src/traces/scatterpolargl/index.js\"(Z,G){\"use strict\";var d=DH();d.plot=zH(),G.exports=d}}),OH=Ge({\"lib/scatterpolargl.js\"(Z,G){\"use strict\";G.exports=FH()}}),uk=Ge({\"src/traces/barpolar/attributes.js\"(Z,G){\"use strict\";var{hovertemplateAttrs:d,templatefallbackAttrs:_}=$l(),A=rs().extendFlat,E=Cx(),e=Sv();G.exports={r:E.r,theta:E.theta,r0:E.r0,dr:E.dr,theta0:E.theta0,dtheta:E.dtheta,thetaunit:E.thetaunit,base:A({},e.base,{}),offset:A({},e.offset,{}),width:A({},e.width,{}),text:A({},e.text,{}),hovertext:A({},e.hovertext,{}),marker:t(),hoverinfo:E.hoverinfo,hovertemplate:d(),hovertemplatefallback:_(),selected:e.selected,unselected:e.unselected};function t(){var r=A({},e.marker);return delete r.cornerradius,r}}}),ck=Ge({\"src/traces/barpolar/layout_attributes.js\"(Z,G){\"use strict\";G.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}}}),BH=Ge({\"src/traces/barpolar/defaults.js\"(Z,G){\"use strict\";var d=sa(),_=OT().handleRThetaDefaults,A=j2(),E=uk();G.exports=function(t,r,o,a){function n(s,h){return d.coerce(t,r,E,s,h)}var i=_(t,r,a,n);if(!i){r.visible=!1;return}n(\"thetaunit\"),n(\"base\"),n(\"offset\"),n(\"width\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),n(\"hovertemplatefallback\"),A(t,r,n,o,a),d.coerceSelectionMarkerOpacity(r,n)}}}),NH=Ge({\"src/traces/barpolar/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=ck();G.exports=function(A,E,e){var t={},r;function o(i,s){return d.coerce(A[r]||{},E[r],_,i,s)}for(var a=0;a0?(f=s,v=h):(f=h,v=s);var c=e.findEnclosingVertexAngles(f,r.vangles)[0],T=e.findEnclosingVertexAngles(v,r.vangles)[1],l=[c,(f+v)/2,T];return e.pathPolygonAnnulus(n,i,f,v,l,o,a)}:function(n,i,s,h){return A.pathAnnulus(n,i,s,h,o,a)}}}}),jH=Ge({\"src/traces/barpolar/hover.js\"(Z,G){\"use strict\";var d=Hc(),_=sa(),A=f1().getTraceColor,E=_.fillText,e=NT().makeHoverPointText,t=zT().isPtInsidePolygon;G.exports=function(o,a,n){var i=o.cd,s=i[0].trace,h=o.subplot,f=h.radialAxis,v=h.angularAxis,c=h.vangles,T=c?t:_.isPtInsideSector,l=o.maxHoverDistance,x=v._period||2*Math.PI,w=Math.abs(f.g2p(Math.sqrt(a*a+n*n))),S=Math.atan2(n,a);f.range[0]>f.range[1]&&(S+=Math.PI);var M=function(u){return T(w,S,[u.rp0,u.rp1],[u.thetag0,u.thetag1],c)?l+Math.min(1,Math.abs(u.thetag1-u.thetag0)/x)-1+(u.rp1-w)/(u.rp1-u.rp0)-1:1/0};if(d.getClosest(i,M,o),o.index!==!1){var m=o.index,b=i[m];o.x0=o.x1=b.ct[0],o.y0=o.y1=b.ct[1];var p=_.extendFlat({},b,{r:b.s,theta:b.p});return E(b,s,o),e(p,s,h,o),o.hovertemplate=s.hovertemplate,o.color=A(s,b),o.xLabelVal=o.yLabelVal=void 0,b.s<0&&(o.idealAlign=\"left\"),[o]}}}}),qH=Ge({\"src/traces/barpolar/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:FT(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:uk(),layoutAttributes:ck(),supplyDefaults:BH(),supplyLayoutDefaults:NH(),calc:fk().calc,crossTraceCalc:fk().crossTraceCalc,plot:UH(),colorbar:dp(),formatLabels:BT(),style:Nd().style,styleOnSelect:Nd().styleOnSelect,hoverPoints:jH(),selectPoints:h1(),meta:{}}}}),VH=Ge({\"lib/barpolar.js\"(Z,G){\"use strict\";G.exports=qH()}}),hk=Ge({\"src/plots/smith/constants.js\"(Z,G){\"use strict\";G.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}}}),pk=Ge({\"src/plots/smith/layout_attributes.js\"(Z,G){\"use strict\";var d=sh(),_=Wh(),A=wc().attributes,E=sa().extendFlat,e=pc().overrideAll,t=e({color:_.color,showline:E({},_.showline,{dflt:!0}),linecolor:_.linecolor,linewidth:_.linewidth,showgrid:E({},_.showgrid,{dflt:!0}),gridcolor:_.gridcolor,gridwidth:_.gridwidth,griddash:_.griddash},\"plot\",\"from-root\"),r=e({ticklen:_.ticklen,tickwidth:E({},_.tickwidth,{dflt:2}),tickcolor:_.tickcolor,showticklabels:_.showticklabels,labelalias:_.labelalias,showtickprefix:_.showtickprefix,tickprefix:_.tickprefix,showticksuffix:_.showticksuffix,ticksuffix:_.ticksuffix,tickfont:_.tickfont,tickformat:_.tickformat,hoverformat:_.hoverformat,layer:_.layer},\"plot\",\"from-root\"),o=E({visible:E({},_.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:E({},_.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},t,r),a=E({visible:E({},_.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:_.ticks,editType:\"calc\"},t,r);G.exports={domain:A({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:d.background},realaxis:o,imaginaryaxis:a,editType:\"calc\"}}}),GH=Ge({\"src/plots/smith/layout_defaults.js\"(Z,G){\"use strict\";var d=sa(),_=$n(),A=zl(),E=o0(),e=Hh().getSubplotData,t=e0(),r=Qm(),o=z_(),a=wv(),n=pk(),i=hk(),s=i.axisNames,h=v(function(c){return d.isTypedArray(c)&&(c=Array.from(c)),c.slice().reverse().map(function(T){return-T}).concat([0]).concat(c)},String);function f(c,T,l,x){var w=l(\"bgcolor\");x.bgColor=_.combine(w,x.paper_bgcolor);var S=e(x.fullData,i.name,x.id),M=x.layoutOut,m;function b(N,X){return l(m+\".\"+N,X)}for(var p=0;p\")}}G.exports={hoverPoints:_,makeHoverPointText:A}}}),JH=Ge({\"src/traces/scattersmith/index.js\"(Z,G){\"use strict\";G.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:HH(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:dk(),supplyDefaults:WH(),colorbar:dp(),formatLabels:XH(),calc:ZH(),plot:YH(),style:Qp().style,styleOnSelect:Qp().styleOnSelect,hoverPoints:KH().hoverPoints,selectPoints:c1(),meta:{}}}}),$H=Ge({\"lib/scattersmith.js\"(Z,G){\"use strict\";G.exports=JH()}}),Mp=Ge({\"node_modules/world-calendars/dist/main.js\"(Z,G){var d=ch();function _(){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={}}d(_.prototype,{instance:function(o,a){o=(o||\"gregorian\").toLowerCase(),a=a||\"\";var n=this._localCals[o+\"-\"+a];if(!n&&this.calendars[o]&&(n=new this.calendars[o](a),this._localCals[o+\"-\"+a]=n),!n)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,o);return n},newDate:function(o,a,n,i,s){return i=(o!=null&&o.year?o.calendar():typeof i==\"string\"?this.instance(i,s):i)||this.instance(),i.newDate(o,a,n)},substituteDigits:function(o){return function(a){return(a+\"\").replace(/[0-9]/g,function(n){return o[n]})}},substituteChineseDigits:function(o,a){return function(n){for(var i=\"\",s=0;n>0;){var h=n%10;i=(h===0?\"\":o[h]+a[s])+i,s++,n=Math.floor(n/10)}return i.indexOf(o[1]+a[1])===0&&(i=i.substr(1)),i||o[0]}}});function A(o,a,n,i){if(this._calendar=o,this._year=a,this._month=n,this._day=i,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(r.local.invalidDate||r.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function E(o,a){return o=\"\"+o,\"000000\".substring(0,a-o.length)+o}d(A.prototype,{newDate:function(o,a,n){return this._calendar.newDate(o??this,a,n)},year:function(o){return arguments.length===0?this._year:this.set(o,\"y\")},month:function(o){return arguments.length===0?this._month:this.set(o,\"m\")},day:function(o){return arguments.length===0?this._day:this.set(o,\"d\")},date:function(o,a,n){if(!this._calendar.isValid(o,a,n))throw(r.local.invalidDate||r.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=o,this._month=a,this._day=n,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(o,a){return this._calendar.add(this,o,a)},set:function(o,a){return this._calendar.set(this,o,a)},compareTo:function(o){if(this._calendar.name!==o._calendar.name)throw(r.local.differentCalendars||r.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,o._calendar.local.name);var a=this._year!==o._year?this._year-o._year:this._month!==o._month?this.monthOfYear()-o.monthOfYear():this._day-o._day;return a===0?0:a<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(o){return this._calendar.fromJD(o)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(o){return this._calendar.fromJSDate(o)},toString:function(){return(this.year()<0?\"-\":\"\")+E(Math.abs(this.year()),4)+\"-\"+E(this.month(),2)+\"-\"+E(this.day(),2)}});function e(){this.shortYearCutoff=\"+10\"}d(e.prototype,{_validateLevel:0,newDate:function(o,a,n){return o==null?this.today():(o.year&&(this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),n=o.day(),a=o.month(),o=o.year()),new A(this,o,a,n))},today:function(){return this.fromJSDate(new Date)},epoch:function(o){var a=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear);return a.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(o){var a=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear);return(a.year()<0?\"-\":\"\")+E(Math.abs(a.year()),4)},monthsInYear:function(o){return this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(o,a){var n=this._validate(o,a,this.minDay,r.local.invalidMonth||r.regionalOptions[\"\"].invalidMonth);return(n.month()+this.monthsInYear(n)-this.firstMonth)%this.monthsInYear(n)+this.minMonth},fromMonthOfYear:function(o,a){var n=(a+this.firstMonth-2*this.minMonth)%this.monthsInYear(o)+this.minMonth;return this._validate(o,n,this.minDay,r.local.invalidMonth||r.regionalOptions[\"\"].invalidMonth),n},daysInYear:function(o){var a=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[\"\"].invalidYear);return this.leapYear(a)?366:365},dayOfYear:function(o,a,n){var i=this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate);return i.toJD()-this.newDate(i.year(),this.fromMonthOfYear(i.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(o,a,n){var i=this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(i))+2)%this.daysInWeek()},extraInfo:function(o,a,n){return this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),{}},add:function(o,a,n){return this._validate(o,this.minMonth,this.minDay,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),this._correctAdd(o,this._add(o,a,n),a,n)},_add:function(o,a,n){if(this._validateLevel++,n===\"d\"||n===\"w\"){var i=o.toJD()+a*(n===\"w\"?this.daysInWeek():1),s=o.calendar().fromJD(i);return this._validateLevel--,[s.year(),s.month(),s.day()]}try{var h=o.year()+(n===\"y\"?a:0),f=o.monthOfYear()+(n===\"m\"?a:0),s=o.day(),v=function(l){for(;fx-1+l.minMonth;)h++,f-=x,x=l.monthsInYear(h)};n===\"y\"?(o.month()!==this.fromMonthOfYear(h,f)&&(f=this.newDate(h,o.month(),this.minDay).monthOfYear()),f=Math.min(f,this.monthsInYear(h)),s=Math.min(s,this.daysInMonth(h,this.fromMonthOfYear(h,f)))):n===\"m\"&&(v(this),s=Math.min(s,this.daysInMonth(h,this.fromMonthOfYear(h,f))));var c=[h,this.fromMonthOfYear(h,f),s];return this._validateLevel--,c}catch(T){throw this._validateLevel--,T}},_correctAdd:function(o,a,n,i){if(!this.hasYearZero&&(i===\"y\"||i===\"m\")&&(a[0]===0||o.year()>0!=a[0]>0)){var s={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[i],h=n<0?-1:1;a=this._add(o,n*s[0]+h*s[1],s[2])}return o.date(a[0],a[1],a[2])},set:function(o,a,n){this._validate(o,this.minMonth,this.minDay,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate);var i=n===\"y\"?a:o.year(),s=n===\"m\"?a:o.month(),h=n===\"d\"?a:o.day();return(n===\"y\"||n===\"m\")&&(h=Math.min(h,this.daysInMonth(i,s))),o.date(i,s,h)},isValid:function(o,a,n){this._validateLevel++;var i=this.hasYearZero||o!==0;if(i){var s=this.newDate(o,a,this.minDay);i=a>=this.minMonth&&a-this.minMonth=this.minDay&&n-this.minDay13.5?13:1),T=s-(c>2.5?4716:4715);return T<=0&&T--,this.newDate(T,c,v)},toJSDate:function(o,a,n){var i=this._validate(o,a,n,r.local.invalidDate||r.regionalOptions[\"\"].invalidDate),s=new Date(i.year(),i.month()-1,i.day());return s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0),s.setHours(s.getHours()>12?s.getHours()+2:0),s},fromJSDate:function(o){return this.newDate(o.getFullYear(),o.getMonth()+1,o.getDate())}});var r=G.exports=new _;r.cdate=A,r.baseCalendar=e,r.calendars.gregorian=t}}),QH=Ge({\"node_modules/world-calendars/dist/plus.js\"(){var Z=ch(),G=Mp();Z(G.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\"}),G.local=G.regionalOptions[\"\"],Z(G.cdate.prototype,{formatDate:function(d,_){return typeof d!=\"string\"&&(_=d,d=\"\"),this._calendar.formatDate(d||\"\",this,_)}}),Z(G.baseCalendar.prototype,{UNIX_EPOCH:G.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:G.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,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(d,_,A){if(typeof d!=\"string\"&&(A=_,_=d,d=\"\"),!_)return\"\";if(_.calendar()!==this)throw G.local.invalidFormat||G.regionalOptions[\"\"].invalidFormat;d=d||this.local.dateFormat,A=A||{};for(var E=A.dayNamesShort||this.local.dayNamesShort,e=A.dayNames||this.local.dayNames,t=A.monthNumbers||this.local.monthNumbers,r=A.monthNamesShort||this.local.monthNamesShort,o=A.monthNames||this.local.monthNames,a=A.calculateWeek||this.local.calculateWeek,n=function(S,M){for(var m=1;w+m1},i=function(S,M,m,b){var p=\"\"+M;if(n(S,b))for(;p.length1},x=function(D,L){var z=l(D,L),F=[2,3,z?4:2,z?4:2,10,11,20][\"oyYJ@!\".indexOf(D)+1],B=new RegExp(\"^-?\\\\d{1,\"+F+\"}\"),O=_.substring(p).match(B);if(!O)throw(G.local.missingNumberAt||G.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,p);return p+=O[0].length,parseInt(O[0],10)},w=this,S=function(){if(typeof o==\"function\"){l(\"m\");var D=o.call(w,_.substring(p));return p+=D.length,D}return x(\"m\")},M=function(D,L,z,F){for(var B=l(D,F)?z:L,O=0;O-1){h=1,f=v;for(var y=this.daysInMonth(s,h);f>y;y=this.daysInMonth(s,h))h++,f-=y}return i>-1?this.fromJD(i):this.newDate(s,h,f)},determineDate:function(d,_,A,E,e){A&&typeof A!=\"object\"&&(e=E,E=A,A=null),typeof E!=\"string\"&&(e=E,E=\"\");var t=this,r=function(o){try{return t.parseDate(E,o,e)}catch{}o=o.toLowerCase();for(var a=(o.match(/^c/)&&A?A.newDate():null)||t.today(),n=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,i=n.exec(o);i;)a.add(parseInt(i[1],10),i[2]||\"d\"),i=n.exec(o);return a};return _=_?_.newDate():null,d=d==null?_:typeof d==\"string\"?r(d):typeof d==\"number\"?isNaN(d)||d===1/0||d===-1/0?_:t.today().add(d,\"d\"):t.newDate(d),d}})}}),eW=Ge({\"node_modules/world-calendars/dist/calendars/chinese.js\"(){var Z=Mp(),G=ch(),d=Z.instance();function _(i){this.local=this.regionalOptions[i||\"\"]||this.regionalOptions[\"\"]}_.prototype=new Z.baseCalendar,G(_.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(i,s){if(typeof i==\"string\"){var h=i.match(E);return h?h[0]:\"\"}var f=this._validateYear(i),v=i.month(),c=\"\"+this.toChineseMonth(f,v);return s&&c.length<2&&(c=\"0\"+c),this.isIntercalaryMonth(f,v)&&(c+=\"i\"),c},monthNames:function(i){if(typeof i==\"string\"){var s=i.match(e);return s?s[0]:\"\"}var h=this._validateYear(i),f=i.month(),v=this.toChineseMonth(h,f),c=[\"\\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\"][v-1];return this.isIntercalaryMonth(h,f)&&(c=\"\\u95F0\"+c),c},monthNamesShort:function(i){if(typeof i==\"string\"){var s=i.match(t);return s?s[0]:\"\"}var h=this._validateYear(i),f=i.month(),v=this.toChineseMonth(h,f),c=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][v-1];return this.isIntercalaryMonth(h,f)&&(c=\"\\u95F0\"+c),c},parseMonth:function(i,s){i=this._validateYear(i);var h=parseInt(s),f;if(isNaN(h))s[0]===\"\\u95F0\"&&(f=!0,s=s.substring(1)),s[s.length-1]===\"\\u6708\"&&(s=s.substring(0,s.length-1)),h=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(s);else{var v=s[s.length-1];f=v===\"i\"||v===\"I\"}var c=this.toMonthIndex(i,h,f);return c},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(i,s){if(i.year&&(i=i.year()),typeof i!=\"number\"||i<1888||i>2111)throw s.replace(/\\{0\\}/,this.local.name);return i},toMonthIndex:function(i,s,h){var f=this.intercalaryMonth(i),v=h&&s!==f;if(v||s<1||s>12)throw Z.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var c;return f?!h&&s<=f?c=s-1:c=s:c=s-1,c},toChineseMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var h=this.intercalaryMonth(i),f=h?12:11;if(s<0||s>f)throw Z.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var v;return h?s>13;return h},isIntercalaryMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var h=this.intercalaryMonth(i);return!!h&&h===s},leapYear:function(i){return this.intercalaryMonth(i)!==0},weekOfYear:function(i,s,h){var f=this._validateYear(i,Z.local.invalidyear),v=o[f-o[0]],c=v>>9&4095,T=v>>5&15,l=v&31,x;x=d.newDate(c,T,l),x.add(4-(x.dayOfWeek()||7),\"d\");var w=this.toJD(i,s,h)-x.toJD();return 1+Math.floor(w/7)},monthsInYear:function(i){return this.leapYear(i)?13:12},daysInMonth:function(i,s){i.year&&(s=i.month(),i=i.year()),i=this._validateYear(i);var h=r[i-r[0]],f=h>>13,v=f?12:11;if(s>v)throw Z.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var c=h&1<<12-s?30:29;return c},weekDay:function(i,s,h){return(this.dayOfWeek(i,s,h)||7)<6},toJD:function(i,s,h){var f=this._validate(i,c,h,Z.local.invalidDate);i=this._validateYear(f.year()),s=f.month(),h=f.day();var v=this.isIntercalaryMonth(i,s),c=this.toChineseMonth(i,s),T=n(i,c,h,v);return d.toJD(T.year,T.month,T.day)},fromJD:function(i){var s=d.fromJD(i),h=a(s.year(),s.month(),s.day()),f=this.toMonthIndex(h.year,h.month,h.isIntercalary);return this.newDate(h.year,f,h.day)},fromString:function(i){var s=i.match(A),h=this._validateYear(+s[1]),f=+s[2],v=!!s[3],c=this.toMonthIndex(h,f,v),T=+s[4];return this.newDate(h,c,T)},add:function(i,s,h){var f=i.year(),v=i.month(),c=this.isIntercalaryMonth(f,v),T=this.toChineseMonth(f,v),l=Object.getPrototypeOf(_.prototype).add.call(this,i,s,h);if(h===\"y\"){var x=l.year(),w=l.month(),S=this.isIntercalaryMonth(x,T),M=c&&S?this.toMonthIndex(x,T,!0):this.toMonthIndex(x,T,!1);M!==w&&l.month(M)}return l}});var A=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,E=/^\\d?\\d[iI]?/m,e=/^闰?十?[一二三四五六七八九]?月/m,t=/^闰?十?[一二三四五六七八九]?/m;Z.calendars.chinese=_;var r=[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],o=[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];function a(i,s,h,f){var v,c;if(typeof i==\"object\")v=i,c=s||{};else{var T=typeof i==\"number\"&&i>=1888&&i<=2111;if(!T)throw new Error(\"Solar year outside range 1888-2111\");var l=typeof s==\"number\"&&s>=1&&s<=12;if(!l)throw new Error(\"Solar month outside range 1 - 12\");var x=typeof h==\"number\"&&h>=1&&h<=31;if(!x)throw new Error(\"Solar day outside range 1 - 31\");v={year:i,month:s,day:h},c=f||{}}var w=o[v.year-o[0]],S=v.year<<9|v.month<<5|v.day;c.year=S>=w?v.year:v.year-1,w=o[c.year-o[0]];var M=w>>9&4095,m=w>>5&15,b=w&31,p,u=new Date(M,m-1,b),g=new Date(v.year,v.month-1,v.day);p=Math.round((g-u)/(24*3600*1e3));var y=r[c.year-r[0]],D;for(D=0;D<13;D++){var L=y&1<<12-D?30:29;if(p>13;return!z||D=1888&&i<=2111;if(!l)throw new Error(\"Lunar year outside range 1888-2111\");var x=typeof s==\"number\"&&s>=1&&s<=12;if(!x)throw new Error(\"Lunar month outside range 1 - 12\");var w=typeof h==\"number\"&&h>=1&&h<=30;if(!w)throw new Error(\"Lunar day outside range 1 - 30\");var S;typeof f==\"object\"?(S=!1,c=f):(S=!!f,c=v||{}),T={year:i,month:s,day:h,isIntercalary:S}}var M;M=T.day-1;var m=r[T.year-r[0]],b=m>>13,p;b&&(T.month>b||T.isIntercalary)?p=T.month:p=T.month-1;for(var u=0;u>9&4095,L=y>>5&15,z=y&31,F=new Date(D,L-1,z+M);return c.year=F.getFullYear(),c.month=1+F.getMonth(),c.day=F.getDate(),c}}}),tW=Ge({\"node_modules/world-calendars/dist/calendars/coptic.js\"(){var Z=Mp(),G=ch();function d(_){this.local=this.regionalOptions[_||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,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(E){var A=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),E=A.year()+(A.year()<0?1:0);return E%4===3||E%4===-1},monthsInYear:function(_){return this._validate(_,this.minMonth,this.minDay,Z.local.invalidYear||Z.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(_,A,E){var e=this.newDate(_,A,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(_,A){var E=this._validate(_,A,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===13&&this.leapYear(E.year())?1:0)},weekDay:function(_,A,E){return(this.dayOfWeek(_,A,E)||7)<6},toJD:function(_,A,E){var e=this._validate(_,A,E,Z.local.invalidDate);return _=e.year(),_<0&&_++,e.day()+(e.month()-1)*30+(_-1)*365+Math.floor(_/4)+this.jdEpoch-1},fromJD:function(_){var A=Math.floor(_)+.5-this.jdEpoch,E=Math.floor((A-Math.floor((A+366)/1461))/365)+1;E<=0&&E--,A=Math.floor(_)+.5-this.newDate(E,1,1).toJD();var e=Math.floor(A/30)+1,t=A-(e-1)*30+1;return this.newDate(E,e,t)}}),Z.calendars.coptic=d}}),rW=Ge({\"node_modules/world-calendars/dist/calendars/discworld.js\"(){var Z=Mp(),G=ch();function d(A){this.local=this.regionalOptions[A||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,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(A){return this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear),!1},monthsInYear:function(A){return this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear),13},daysInYear:function(A){return this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear),400},weekOfYear:function(A,E,e){var t=this.newDate(A,E,e);return t.add(-t.dayOfWeek(),\"d\"),Math.floor((t.dayOfYear()-1)/8)+1},daysInMonth:function(A,E){var e=this._validate(A,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(A,E,e){var t=this._validate(A,E,e,Z.local.invalidDate);return(t.day()+1)%8},weekDay:function(A,E,e){var t=this.dayOfWeek(A,E,e);return t>=2&&t<=6},extraInfo:function(A,E,e){var t=this._validate(A,E,e,Z.local.invalidDate);return{century:_[Math.floor((t.year()-1)/100)+1]||\"\"}},toJD:function(A,E,e){var t=this._validate(A,E,e,Z.local.invalidDate);return A=t.year()+(t.year()<0?1:0),E=t.month(),e=t.day(),e+(E>1?16:0)+(E>2?(E-2)*32:0)+(A-1)*400+this.jdEpoch-1},fromJD:function(A){A=Math.floor(A+.5)-Math.floor(this.jdEpoch)-1;var E=Math.floor(A/400)+1;A-=(E-1)*400,A+=A>15?16:0;var e=Math.floor(A/32)+1,t=A-(e-1)*32+1;return this.newDate(E<=0?E-1:E,e,t)}});var _={20:\"Fruitbat\",21:\"Anchovy\"};Z.calendars.discworld=d}}),aW=Ge({\"node_modules/world-calendars/dist/calendars/ethiopian.js\"(){var Z=Mp(),G=ch();function d(_){this.local=this.regionalOptions[_||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(E){var A=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),E=A.year()+(A.year()<0?1:0);return E%4===3||E%4===-1},monthsInYear:function(_){return this._validate(_,this.minMonth,this.minDay,Z.local.invalidYear||Z.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(_,A,E){var e=this.newDate(_,A,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(_,A){var E=this._validate(_,A,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===13&&this.leapYear(E.year())?1:0)},weekDay:function(_,A,E){return(this.dayOfWeek(_,A,E)||7)<6},toJD:function(_,A,E){var e=this._validate(_,A,E,Z.local.invalidDate);return _=e.year(),_<0&&_++,e.day()+(e.month()-1)*30+(_-1)*365+Math.floor(_/4)+this.jdEpoch-1},fromJD:function(_){var A=Math.floor(_)+.5-this.jdEpoch,E=Math.floor((A-Math.floor((A+366)/1461))/365)+1;E<=0&&E--,A=Math.floor(_)+.5-this.newDate(E,1,1).toJD();var e=Math.floor(A/30)+1,t=A-(e-1)*30+1;return this.newDate(E,e,t)}}),Z.calendars.ethiopian=d}}),iW=Ge({\"node_modules/world-calendars/dist/calendars/hebrew.js\"(){var Z=Mp(),G=ch();function d(A){this.local=this.regionalOptions[A||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.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(A){var E=this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear);return this._leapYear(E.year())},_leapYear:function(A){return A=A<0?A+1:A,_(A*7+1,19)<7},monthsInYear:function(A){return this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear),this._leapYear(A.year?A.year():A)?13:12},weekOfYear:function(A,E,e){var t=this.newDate(A,E,e);return t.add(-t.dayOfWeek(),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(A){var E=this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear);return A=E.year(),this.toJD(A===-1?1:A+1,7,1)-this.toJD(A,7,1)},daysInMonth:function(A,E){return A.year&&(E=A.month(),A=A.year()),this._validate(A,E,this.minDay,Z.local.invalidMonth),E===12&&this.leapYear(A)||E===8&&_(this.daysInYear(A),10)===5?30:E===9&&_(this.daysInYear(A),10)===3?29:this.daysPerMonth[E-1]},weekDay:function(A,E,e){return this.dayOfWeek(A,E,e)!==6},extraInfo:function(A,E,e){var t=this._validate(A,E,e,Z.local.invalidDate);return{yearType:(this.leapYear(t)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(t)%10-3]}},toJD:function(A,E,e){var t=this._validate(A,E,e,Z.local.invalidDate);A=t.year(),E=t.month(),e=t.day();var r=A<=0?A+1:A,o=this.jdEpoch+this._delay1(r)+this._delay2(r)+e+1;if(E<7){for(var a=7;a<=this.monthsInYear(A);a++)o+=this.daysInMonth(A,a);for(var a=1;a=this.toJD(E===-1?1:E+1,7,1);)E++;for(var e=Athis.toJD(E,e,this.daysInMonth(E,e));)e++;var t=A-this.toJD(E,e,1)+1;return this.newDate(E,e,t)}});function _(A,E){return A-E*Math.floor(A/E)}Z.calendars.hebrew=d}}),nW=Ge({\"node_modules/world-calendars/dist/calendars/islamic.js\"(){var Z=Mp(),G=ch();function d(_){this.local=this.regionalOptions[_||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(_){var A=this._validate(_,this.minMonth,this.minDay,Z.local.invalidYear);return(A.year()*11+14)%30<11},weekOfYear:function(_,A,E){var e=this.newDate(_,A,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(_){return this.leapYear(_)?355:354},daysInMonth:function(_,A){var E=this._validate(_,A,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===12&&this.leapYear(E.year())?1:0)},weekDay:function(_,A,E){return this.dayOfWeek(_,A,E)!==5},toJD:function(_,A,E){var e=this._validate(_,A,E,Z.local.invalidDate);return _=e.year(),A=e.month(),E=e.day(),_=_<=0?_+1:_,E+Math.ceil(29.5*(A-1))+(_-1)*354+Math.floor((3+11*_)/30)+this.jdEpoch-1},fromJD:function(_){_=Math.floor(_)+.5;var A=Math.floor((30*(_-this.jdEpoch)+10646)/10631);A=A<=0?A-1:A;var E=Math.min(12,Math.ceil((_-29-this.toJD(A,1,1))/29.5)+1),e=_-this.toJD(A,E,1)+1;return this.newDate(A,E,e)}}),Z.calendars.islamic=d}}),oW=Ge({\"node_modules/world-calendars/dist/calendars/julian.js\"(){var Z=Mp(),G=ch();function d(_){this.local=this.regionalOptions[_||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(E){var A=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),E=A.year()<0?A.year()+1:A.year();return E%4===0},weekOfYear:function(_,A,E){var e=this.newDate(_,A,E);return e.add(4-(e.dayOfWeek()||7),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(_,A){var E=this._validate(_,A,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[E.month()-1]+(E.month()===2&&this.leapYear(E.year())?1:0)},weekDay:function(_,A,E){return(this.dayOfWeek(_,A,E)||7)<6},toJD:function(_,A,E){var e=this._validate(_,A,E,Z.local.invalidDate);return _=e.year(),A=e.month(),E=e.day(),_<0&&_++,A<=2&&(_--,A+=12),Math.floor(365.25*(_+4716))+Math.floor(30.6001*(A+1))+E-1524.5},fromJD:function(_){var A=Math.floor(_+.5),E=A+1524,e=Math.floor((E-122.1)/365.25),t=Math.floor(365.25*e),r=Math.floor((E-t)/30.6001),o=r-Math.floor(r<14?1:13),a=e-Math.floor(o>2?4716:4715),n=E-t-Math.floor(30.6001*r);return a<=0&&a--,this.newDate(a,o,n)}}),Z.calendars.julian=d}}),sW=Ge({\"node_modules/world-calendars/dist/calendars/mayan.js\"(){var Z=Mp(),G=ch();function d(E){this.local=this.regionalOptions[E||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.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(E){return this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),!1},formatYear:function(E){var e=this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear);E=e.year();var t=Math.floor(E/400);E=E%400,E+=E<0?400:0;var r=Math.floor(E/20);return t+\".\"+r+\".\"+E%20},forYear:function(E){if(E=E.split(\".\"),E.length<3)throw\"Invalid Mayan year\";for(var e=0,t=0;t19||t>0&&r<0)throw\"Invalid Mayan year\";e=e*20+r}return e},monthsInYear:function(E){return this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),18},weekOfYear:function(E,e,t){return this._validate(E,e,t,Z.local.invalidDate),0},daysInYear:function(E){return this._validate(E,this.minMonth,this.minDay,Z.local.invalidYear),360},daysInMonth:function(E,e){return this._validate(E,e,this.minDay,Z.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(E,e,t){var r=this._validate(E,e,t,Z.local.invalidDate);return r.day()},weekDay:function(E,e,t){return this._validate(E,e,t,Z.local.invalidDate),!0},extraInfo:function(E,e,t){var r=this._validate(E,e,t,Z.local.invalidDate),o=r.toJD(),a=this._toHaab(o),n=this._toTzolkin(o);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[n[0]-1],tzolkinDay:n[0],tzolkinTrecena:n[1]}},_toHaab:function(E){E-=this.jdEpoch;var e=_(E+8+17*20,365);return[Math.floor(e/20)+1,_(e,20)]},_toTzolkin:function(E){return E-=this.jdEpoch,[A(E+20,20),A(E+4,13)]},toJD:function(E,e,t){var r=this._validate(E,e,t,Z.local.invalidDate);return r.day()+r.month()*20+r.year()*360+this.jdEpoch},fromJD:function(E){E=Math.floor(E)+.5-this.jdEpoch;var e=Math.floor(E/360);E=E%360,E+=E<0?360:0;var t=Math.floor(E/20),r=E%20;return this.newDate(e,t,r)}});function _(E,e){return E-e*Math.floor(E/e)}function A(E,e){return _(E-1,e)+1}Z.calendars.mayan=d}}),lW=Ge({\"node_modules/world-calendars/dist/calendars/nanakshahi.js\"(){var Z=Mp(),G=ch();function d(A){this.local=this.regionalOptions[A||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar;var _=Z.instance(\"gregorian\");G(d.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,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(A){var E=this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear||Z.regionalOptions[\"\"].invalidYear);return _.leapYear(E.year()+(E.year()<1?1:0)+1469)},weekOfYear:function(A,E,e){var t=this.newDate(A,E,e);return t.add(1-(t.dayOfWeek()||7),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(A,E){var e=this._validate(A,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===12&&this.leapYear(e.year())?1:0)},weekDay:function(A,E,e){return(this.dayOfWeek(A,E,e)||7)<6},toJD:function(r,E,e){var t=this._validate(r,E,e,Z.local.invalidMonth),r=t.year();r<0&&r++;for(var o=t.day(),a=1;a=this.toJD(E+1,1,1);)E++;for(var e=A-Math.floor(this.toJD(E,1,1)+.5)+1,t=1;e>this.daysInMonth(E,t);)e-=this.daysInMonth(E,t),t++;return this.newDate(E,t,e)}}),Z.calendars.nanakshahi=d}}),uW=Ge({\"node_modules/world-calendars/dist/calendars/nepali.js\"(){var Z=Mp(),G=ch();function d(_){this.local=this.regionalOptions[_||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,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(_){return this.daysInYear(_)!==this.daysPerYear},weekOfYear:function(_,A,E){var e=this.newDate(_,A,E);return e.add(-e.dayOfWeek(),\"d\"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(_){var A=this._validate(_,this.minMonth,this.minDay,Z.local.invalidYear);if(_=A.year(),typeof this.NEPALI_CALENDAR_DATA[_]>\"u\")return this.daysPerYear;for(var E=0,e=this.minMonth;e<=12;e++)E+=this.NEPALI_CALENDAR_DATA[_][e];return E},daysInMonth:function(_,A){return _.year&&(A=_.month(),_=_.year()),this._validate(_,A,this.minDay,Z.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[_]>\"u\"?this.daysPerMonth[A-1]:this.NEPALI_CALENDAR_DATA[_][A]},weekDay:function(_,A,E){return this.dayOfWeek(_,A,E)!==6},toJD:function(_,A,E){var e=this._validate(_,A,E,Z.local.invalidDate);_=e.year(),A=e.month(),E=e.day();var t=Z.instance(),r=0,o=A,a=_;this._createMissingCalendarData(_);var n=_-(o>9||o===9&&E>=this.NEPALI_CALENDAR_DATA[a][0]?56:57);for(A!==9&&(r=E,o--);o!==9;)o<=0&&(o=12,a--),r+=this.NEPALI_CALENDAR_DATA[a][o],o--;return A===9?(r+=E-this.NEPALI_CALENDAR_DATA[a][0],r<0&&(r+=t.daysInYear(n))):r+=this.NEPALI_CALENDAR_DATA[a][9]-this.NEPALI_CALENDAR_DATA[a][0],t.newDate(n,1,1).add(r,\"d\").toJD()},fromJD:function(_){var A=Z.instance(),E=A.fromJD(_),e=E.year(),t=E.dayOfYear(),r=e+56;this._createMissingCalendarData(r);for(var o=9,a=this.NEPALI_CALENDAR_DATA[r][0],n=this.NEPALI_CALENDAR_DATA[r][o]-a+1;t>n;)o++,o>12&&(o=1,r++),n+=this.NEPALI_CALENDAR_DATA[r][o];var i=this.NEPALI_CALENDAR_DATA[r][o]-(n-t);return this.newDate(r,o,i)},_createMissingCalendarData:function(_){var A=this.daysPerMonth.slice(0);A.unshift(17);for(var E=_-1;E<_+2;E++)typeof this.NEPALI_CALENDAR_DATA[E]>\"u\"&&(this.NEPALI_CALENDAR_DATA[E]=A)},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],2e3:[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]}}),Z.calendars.nepali=d}}),cW=Ge({\"node_modules/world-calendars/dist/calendars/persian.js\"(){var Z=Mp(),G=ch();function d(A){this.local=this.regionalOptions[A||\"\"]||this.regionalOptions[\"\"]}function _(A){var E=A-475;A<0&&E++;var e=.242197,t=e*E,r=e*(E+1),o=t-Math.floor(t),a=r-Math.floor(r);return o>a}d.prototype=new Z.baseCalendar,G(d.prototype,{name:\"Persian\",jdEpoch:19483205e-1,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\",\"Dey\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Dey\",\"Bah\",\"Esf\"],dayNames:[\"Yekshanbeh\",\"Doshanbeh\",\"Seshanbeh\",\"Chah\\u0101rshanbeh\",\"Panjshanbeh\",\"Jom'eh\",\"Shanbeh\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Cha\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(A){var E=this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear);return _(E.year())},weekOfYear:function(A,E,e){var t=this.newDate(A,E,e);return t.add(-((t.dayOfWeek()+1)%7),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(A,E){var e=this._validate(A,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===12&&this.leapYear(e.year())?1:0)},weekDay:function(A,E,e){return this.dayOfWeek(A,E,e)!==5},toJD:function(A,E,e){var t=this._validate(A,E,e,Z.local.invalidDate);A=t.year(),E=t.month(),e=t.day();var r=0;if(A>0)for(var o=1;o0?A-1:A)*365+r+this.jdEpoch-1},fromJD:function(A){A=Math.floor(A)+.5;var E=475+(A-this.toJD(475,1,1))/365.242197,e=Math.floor(E);e<=0&&e--,A>this.toJD(e,12,_(e)?30:29)&&(e++,e===0&&e++);var t=A-this.toJD(e,1,1)+1,r=t<=186?Math.ceil(t/31):Math.ceil((t-6)/30),o=A-this.toJD(e,r,1)+1;return this.newDate(e,r,o)}}),Z.calendars.persian=d,Z.calendars.jalali=d}}),fW=Ge({\"node_modules/world-calendars/dist/calendars/taiwan.js\"(){var Z=Mp(),G=ch(),d=Z.instance();function _(A){this.local=this.regionalOptions[A||\"\"]||this.regionalOptions[\"\"]}_.prototype=new Z.baseCalendar,G(_.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(e){var E=this._validate(e,this.minMonth,this.minDay,Z.local.invalidYear),e=this._t2gYear(E.year());return d.leapYear(e)},weekOfYear:function(r,E,e){var t=this._validate(r,this.minMonth,this.minDay,Z.local.invalidYear),r=this._t2gYear(t.year());return d.weekOfYear(r,t.month(),t.day())},daysInMonth:function(A,E){var e=this._validate(A,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===2&&this.leapYear(e.year())?1:0)},weekDay:function(A,E,e){return(this.dayOfWeek(A,E,e)||7)<6},toJD:function(r,E,e){var t=this._validate(r,E,e,Z.local.invalidDate),r=this._t2gYear(t.year());return d.toJD(r,t.month(),t.day())},fromJD:function(A){var E=d.fromJD(A),e=this._g2tYear(E.year());return this.newDate(e,E.month(),E.day())},_t2gYear:function(A){return A+this.yearsOffset+(A>=-this.yearsOffset&&A<=-1?1:0)},_g2tYear:function(A){return A-this.yearsOffset-(A>=1&&A<=this.yearsOffset?1:0)}}),Z.calendars.taiwan=_}}),hW=Ge({\"node_modules/world-calendars/dist/calendars/thai.js\"(){var Z=Mp(),G=ch(),d=Z.instance();function _(A){this.local=this.regionalOptions[A||\"\"]||this.regionalOptions[\"\"]}_.prototype=new Z.baseCalendar,G(_.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(e){var E=this._validate(e,this.minMonth,this.minDay,Z.local.invalidYear),e=this._t2gYear(E.year());return d.leapYear(e)},weekOfYear:function(r,E,e){var t=this._validate(r,this.minMonth,this.minDay,Z.local.invalidYear),r=this._t2gYear(t.year());return d.weekOfYear(r,t.month(),t.day())},daysInMonth:function(A,E){var e=this._validate(A,E,this.minDay,Z.local.invalidMonth);return this.daysPerMonth[e.month()-1]+(e.month()===2&&this.leapYear(e.year())?1:0)},weekDay:function(A,E,e){return(this.dayOfWeek(A,E,e)||7)<6},toJD:function(r,E,e){var t=this._validate(r,E,e,Z.local.invalidDate),r=this._t2gYear(t.year());return d.toJD(r,t.month(),t.day())},fromJD:function(A){var E=d.fromJD(A),e=this._g2tYear(E.year());return this.newDate(e,E.month(),E.day())},_t2gYear:function(A){return A-this.yearsOffset-(A>=1&&A<=this.yearsOffset?1:0)},_g2tYear:function(A){return A+this.yearsOffset+(A>=-this.yearsOffset&&A<=-1?1:0)}}),Z.calendars.thai=_}}),pW=Ge({\"node_modules/world-calendars/dist/calendars/ummalqura.js\"(){var Z=Mp(),G=ch();function d(A){this.local=this.regionalOptions[A||\"\"]||this.regionalOptions[\"\"]}d.prototype=new Z.baseCalendar,G(d.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(A){var E=this._validate(A,this.minMonth,this.minDay,Z.local.invalidYear);return this.daysInYear(E.year())===355},weekOfYear:function(A,E,e){var t=this.newDate(A,E,e);return t.add(-t.dayOfWeek(),\"d\"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(A){for(var E=0,e=1;e<=12;e++)E+=this.daysInMonth(A,e);return E},daysInMonth:function(A,E){for(var e=this._validate(A,E,this.minDay,Z.local.invalidMonth),t=e.toJD()-24e5+.5,r=0,o=0;o<_.length;o++){if(_[o]>t)return _[r]-_[r-1];r++}return 30},weekDay:function(A,E,e){return this.dayOfWeek(A,E,e)!==5},toJD:function(A,E,e){var t=this._validate(A,E,e,Z.local.invalidDate),r=12*(t.year()-1)+t.month()-15292,o=t.day()+_[r-1]-1;return o+24e5-.5},fromJD:function(A){for(var E=A-24e5+.5,e=0,t=0;t<_.length&&!(_[t]>E);t++)e++;var r=e+15292,o=Math.floor((r-1)/12),a=o+1,n=r-12*o,i=E-_[e-1]+1;return this.newDate(a,n,i)},isValid:function(A,E,e){var t=Z.baseCalendar.prototype.isValid.apply(this,arguments);return t&&(A=A.year!=null?A.year:A,t=A>=1276&&A<=1500),t},_validate:function(A,E,e,t){var r=Z.baseCalendar.prototype._validate.apply(this,arguments);if(r.year<1276||r.year>1500)throw t.replace(/\\{0\\}/,this.local.name);return r}}),Z.calendars.ummalqura=d;var _=[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]}}),dW=Ge({\"src/components/calendars/calendars.js\"(Z,G){\"use strict\";G.exports=Mp(),QH(),eW(),tW(),rW(),aW(),iW(),nW(),oW(),sW(),lW(),uW(),cW(),fW(),hW(),pW()}}),vW=Ge({\"src/components/calendars/index.js\"(Z,G){\"use strict\";var d=dW(),_=sa(),A=Gs(),E=A.EPOCHJD,e=A.ONEDAY,t={valType:\"enumerated\",values:_.sortObjectKeys(d.calendars),editType:\"calc\",dflt:\"gregorian\"},r=function(m,b,p,u){var g={};return g[p]=t,_.coerce(m,b,g,p,u)},o=function(m,b,p,u){for(var g=0;g0){if(++_e>=qZ)return arguments[0]}else _e=0;return fe.apply(void 0,arguments)}}var Pb=HZ;var WZ=Pb(Ab),Ib=WZ;var XZ=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,ZZ=/,? & /;function YZ(fe){var _e=fe.match(XZ);return _e?_e[1].split(ZZ):[]}var cC=YZ;var KZ=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;function JZ(fe,_e){var Xe=_e.length;if(!Xe)return fe;var Lt=Xe-1;return _e[Lt]=(Xe>1?\"& \":\"\")+_e[Lt],_e=_e.join(Xe>2?\", \":\" \"),fe.replace(KZ,`{\n/* [wrapped with `+_e+`] */\n`)}var fC=JZ;function $Z(fe){return function(){return fe}}var Qg=$Z;var QZ=function(){try{var fe=sd(Object,\"defineProperty\");return fe({},\"\",{}),fe}catch{}}(),ey=QZ;var eY=ey?function(fe,_e){return ey(fe,\"toString\",{configurable:!0,enumerable:!1,value:Qg(_e),writable:!0})}:Bc,hC=eY;var tY=Pb(hC),ty=tY;function rY(fe,_e){for(var Xe=-1,Lt=fe==null?0:fe.length;++Xe-1}var Mm=sY;var lY=1,uY=2,cY=8,fY=16,hY=32,pY=64,dY=128,vY=256,mY=512,gY=[[\"ary\",dY],[\"bind\",lY],[\"bindKey\",uY],[\"curry\",cY],[\"curryRight\",fY],[\"flip\",mY],[\"partial\",hY],[\"partialRight\",pY],[\"rearg\",vY]];function yY(fe,_e){return Nh(gY,function(Xe){var Lt=\"_.\"+Xe[0];_e&Xe[1]&&!Mm(fe,Lt)&&fe.push(Lt)}),fe.sort()}var dC=yY;function _Y(fe,_e,Xe){var Lt=_e+\"\";return ty(fe,fC(Lt,dC(cC(Lt),Xe)))}var Db=_Y;var xY=1,bY=2,wY=4,TY=8,vC=32,mC=64;function AY(fe,_e,Xe,Lt,gr,Yr,Ea,ei,oi,Ln){var _n=_e&TY,Fn=_n?Ea:void 0,So=_n?void 0:Ea,ds=_n?Yr:void 0,Qs=_n?void 0:Yr;_e|=_n?vC:mC,_e&=~(_n?mC:vC),_e&wY||(_e&=~(xY|bY));var Ho=[fe,_e,gr,ds,Fn,Qs,So,ei,oi,Ln],Ge=Xe.apply(void 0,Ho);return i_(fe)&&Ib(Ge,Ho),Ge.placeholder=Lt,Db(Ge,fe,_e)}var zb=AY;function SY(fe){var _e=fe;return _e.placeholder}var Sd=SY;var MY=9007199254740991,EY=/^(?:0|[1-9]\\d*)$/;function kY(fe,_e){var Xe=typeof fe;return _e=_e??MY,!!_e&&(Xe==\"number\"||Xe!=\"symbol\"&&EY.test(fe))&&fe>-1&&fe%1==0&&fe<_e}var ip=kY;var CY=Math.min;function LY(fe,_e){for(var Xe=fe.length,Lt=CY(_e.length,Xe),gr=pf(fe);Lt--;){var Yr=_e[Lt];fe[Lt]=ip(Yr,Xe)?gr[Yr]:void 0}return fe}var gC=LY;var yC=\"__lodash_placeholder__\";function PY(fe,_e){for(var Xe=-1,Lt=fe.length,gr=0,Yr=[];++Xe1&&ou.reverse(),_n&&oi-1&&fe%1==0&&fe<=iK}var Em=nK;function oK(fe){return fe!=null&&Em(fe.length)&&!ap(fe)}var Vc=oK;function sK(fe,_e,Xe){if(!Cl(Xe))return!1;var Lt=typeof _e;return(Lt==\"number\"?Vc(Xe)&&ip(_e,Xe.length):Lt==\"string\"&&_e in Xe)?oh(Xe[_e],fe):!1}var Nc=sK;function lK(fe){return Go(function(_e,Xe){var Lt=-1,gr=Xe.length,Yr=gr>1?Xe[gr-1]:void 0,Ea=gr>2?Xe[2]:void 0;for(Yr=fe.length>3&&typeof Yr==\"function\"?(gr--,Yr):void 0,Ea&&Nc(Xe[0],Xe[1],Ea)&&(Yr=gr<3?void 0:Yr,gr=1),_e=Object(_e);++Lt-1}var KC=OJ;function BJ(fe,_e){var Xe=this.__data__,Lt=Cm(Xe,fe);return Lt<0?(++this.size,Xe.push([fe,_e])):Xe[Lt][1]=_e,this}var JC=BJ;function ly(fe){var _e=-1,Xe=fe==null?0:fe.length;for(this.clear();++_e0&&Xe(ei)?_e>1?sL(ei,_e-1,Xe,Lt,gr):Op(gr,ei):Lt||(gr[gr.length]=ei)}return gr}var Qu=sL;function l$(fe){var _e=fe==null?0:fe.length;return _e?Qu(fe,1):[]}var qb=l$;function u$(fe){return ty(Ob(fe,void 0,qb),fe+\"\")}var lp=u$;var c$=lp(fy),lL=c$;var f$=Nb(Object.getPrototypeOf,Object),Rm=f$;var h$=\"[object Object]\",p$=Function.prototype,d$=Object.prototype,uL=p$.toString,v$=d$.hasOwnProperty,m$=uL.call(Object);function g$(fe){if(!Dl(fe)||Oc(fe)!=h$)return!1;var _e=Rm(fe);if(_e===null)return!0;var Xe=v$.call(_e,\"constructor\")&&_e.constructor;return typeof Xe==\"function\"&&Xe instanceof Xe&&uL.call(Xe)==m$}var gv=g$;var y$=\"[object DOMException]\",_$=\"[object Error]\";function x$(fe){if(!Dl(fe))return!1;var _e=Oc(fe);return _e==_$||_e==y$||typeof fe.message==\"string\"&&typeof fe.name==\"string\"&&!gv(fe)}var hy=x$;var b$=Go(function(fe,_e){try{return xf(fe,void 0,_e)}catch(Xe){return hy(Xe)?Xe:new Error(Xe)}}),Vb=b$;var w$=\"Expected a function\";function T$(fe,_e){var Xe;if(typeof _e!=\"function\")throw new TypeError(w$);return fe=Vo(fe),function(){return--fe>0&&(Xe=_e.apply(this,arguments)),fe<=1&&(_e=void 0),Xe}}var Gb=T$;var A$=1,S$=32,PA=Go(function(fe,_e,Xe){var Lt=A$;if(Xe.length){var gr=Yp(Xe,Sd(PA));Lt|=S$}return np(fe,Lt,_e,Xe,gr)});PA.placeholder={};var Hb=PA;var M$=lp(function(fe,_e){return Nh(_e,function(Xe){Xe=Eh(Xe),op(fe,Xe,Hb(fe[Xe],fe))}),fe}),cL=M$;var E$=1,k$=2,C$=32,IA=Go(function(fe,_e,Xe){var Lt=E$|k$;if(Xe.length){var gr=Yp(Xe,Sd(IA));Lt|=C$}return np(_e,Lt,fe,Xe,gr)});IA.placeholder={};var fL=IA;function L$(fe,_e,Xe){var Lt=-1,gr=fe.length;_e<0&&(_e=-_e>gr?0:gr+_e),Xe=Xe>gr?gr:Xe,Xe<0&&(Xe+=gr),gr=_e>Xe?0:Xe-_e>>>0,_e>>>=0;for(var Yr=Array(gr);++Lt=Lt?fe:Yf(fe,_e,Xe)}var Bp=P$;var I$=\"\\\\ud800-\\\\udfff\",R$=\"\\\\u0300-\\\\u036f\",D$=\"\\\\ufe20-\\\\ufe2f\",z$=\"\\\\u20d0-\\\\u20ff\",F$=R$+D$+z$,O$=\"\\\\ufe0e\\\\ufe0f\",B$=\"\\\\u200d\",N$=RegExp(\"[\"+B$+I$+F$+O$+\"]\");function U$(fe){return N$.test(fe)}var kd=U$;function j$(fe){return fe.split(\"\")}var hL=j$;var pL=\"\\\\ud800-\\\\udfff\",q$=\"\\\\u0300-\\\\u036f\",V$=\"\\\\ufe20-\\\\ufe2f\",G$=\"\\\\u20d0-\\\\u20ff\",H$=q$+V$+G$,W$=\"\\\\ufe0e\\\\ufe0f\",X$=\"[\"+pL+\"]\",RA=\"[\"+H$+\"]\",DA=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",Z$=\"(?:\"+RA+\"|\"+DA+\")\",dL=\"[^\"+pL+\"]\",vL=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",mL=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Y$=\"\\\\u200d\",gL=Z$+\"?\",yL=\"[\"+W$+\"]?\",K$=\"(?:\"+Y$+\"(?:\"+[dL,vL,mL].join(\"|\")+\")\"+yL+gL+\")*\",J$=yL+gL+K$,$$=\"(?:\"+[dL+RA+\"?\",RA,vL,mL,X$].join(\"|\")+\")\",Q$=RegExp(DA+\"(?=\"+DA+\")|\"+$$+J$,\"g\");function eQ(fe){return fe.match(Q$)||[]}var _L=eQ;function tQ(fe){return kd(fe)?_L(fe):hL(fe)}var Uh=tQ;function rQ(fe){return function(_e){_e=Us(_e);var Xe=kd(_e)?Uh(_e):void 0,Lt=Xe?Xe[0]:_e.charAt(0),gr=Xe?Bp(Xe,1).join(\"\"):_e.slice(1);return Lt[fe]()+gr}}var Wb=rQ;var aQ=Wb(\"toUpperCase\"),py=aQ;function iQ(fe){return py(Us(fe).toLowerCase())}var Xb=iQ;function nQ(fe,_e,Xe,Lt){var gr=-1,Yr=fe==null?0:fe.length;for(Lt&&Yr&&(Xe=fe[++gr]);++gr=_e?fe:_e)),fe}var ud=iee;function nee(fe,_e,Xe){return Xe===void 0&&(Xe=_e,_e=void 0),Xe!==void 0&&(Xe=Sh(Xe),Xe=Xe===Xe?Xe:0),_e!==void 0&&(_e=Sh(_e),_e=_e===_e?_e:0),ud(Sh(fe),_e,Xe)}var HL=nee;function oee(){this.__data__=new Lm,this.size=0}var WL=oee;function see(fe){var _e=this.__data__,Xe=_e.delete(fe);return this.size=_e.size,Xe}var XL=see;function lee(fe){return this.__data__.get(fe)}var ZL=lee;function uee(fe){return this.__data__.has(fe)}var YL=uee;var cee=200;function fee(fe,_e){var Xe=this.__data__;if(Xe instanceof Lm){var Lt=Xe.__data__;if(!Pm||Lt.lengthei))return!1;var Ln=Yr.get(fe),_n=Yr.get(_e);if(Ln&&_n)return Ln==_e&&_n==fe;var Fn=-1,So=!0,ds=Xe&fre?new zm:void 0;for(Yr.set(fe,_e),Yr.set(_e,fe);++Fn=_e||Vn<0||Fn&&dd>=Yr}function Jl(){var Ff=Py();if(Ge(Ff))return ou(Ff);ei=setTimeout(Jl,Ho(Ff))}function ou(Ff){return ei=void 0,So&&Lt?ds(Ff):(Lt=gr=void 0,Ea)}function jp(){ei!==void 0&&clearTimeout(ei),Ln=0,Lt=oi=gr=ei=void 0}function zf(){return ei===void 0?Ea:ou(Py())}function fp(){var Ff=Py(),Vn=Ge(Ff);if(Lt=arguments,gr=this,oi=Ff,Vn){if(ei===void 0)return Qs(oi);if(Fn)return clearTimeout(ei),ei=setTimeout(Jl,_e),ds(oi)}return ei===void 0&&(ei=setTimeout(Jl,_e)),Ea}return fp.cancel=jp,fp.flush=zf,fp}var xw=Aae;function Sae(fe,_e){return fe==null||fe!==fe?_e:fe}var QP=Sae;var eI=Object.prototype,Mae=eI.hasOwnProperty,Eae=Go(function(fe,_e){fe=Object(fe);var Xe=-1,Lt=_e.length,gr=Lt>2?_e[2]:void 0;for(gr&&Nc(_e[0],_e[1],gr)&&(Lt=1);++Xe=Uae&&(Yr=Gv,Ea=!1,_e=new zm(_e));e:for(;++gr=0&&fe.slice(Xe,gr)==_e}var yI=nie;function oie(fe,_e){return Sl(_e,function(Xe){return[Xe,fe[Xe]]})}var _I=oie;function sie(fe){var _e=-1,Xe=Array(fe.size);return fe.forEach(function(Lt){Xe[++_e]=[Lt,Lt]}),Xe}var xI=sie;var lie=\"[object Map]\",uie=\"[object Set]\";function cie(fe){return function(_e){var Xe=jh(_e);return Xe==lie?Sy(_e):Xe==uie?xI(_e):_I(_e,fe(_e))}}var Mw=cie;var fie=Mw(gu),p_=fie;var hie=Mw(Gc),d_=hie;var pie={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},die=vy(pie),bI=die;var wI=/[&<>\"']/g,vie=RegExp(wI.source);function mie(fe){return fe=Us(fe),fe&&vie.test(fe)?fe.replace(wI,bI):fe}var Ew=mie;var TI=/[\\\\^$.*+?()[\\]{}|]/g,gie=RegExp(TI.source);function yie(fe){return fe=Us(fe),fe&&gie.test(fe)?fe.replace(TI,\"\\\\$&\"):fe}var AI=yie;function _ie(fe,_e){for(var Xe=-1,Lt=fe==null?0:fe.length;++Xegr?0:gr+Xe),Lt=Lt===void 0||Lt>gr?gr:Vo(Lt),Lt<0&&(Lt+=gr),Lt=Xe>Lt?0:Cw(Lt);Xe-1?gr[Yr?_e[Ea]:Ea]:void 0}}var Pw=kie;var Cie=Math.max;function Lie(fe,_e,Xe){var Lt=fe==null?0:fe.length;if(!Lt)return-1;var gr=Xe==null?0:Vo(Xe);return gr<0&&(gr=Cie(Lt+gr,0)),Sm(fe,xo(_e,3),gr)}var Iw=Lie;var Pie=Pw(Iw),LI=Pie;function Iie(fe,_e,Xe){var Lt;return Xe(fe,function(gr,Yr,Ea){if(_e(gr,Yr,Ea))return Lt=Yr,!1}),Lt}var Rw=Iie;function Rie(fe,_e){return Rw(fe,xo(_e,3),cp)}var PI=Rie;var Die=Math.max,zie=Math.min;function Fie(fe,_e,Xe){var Lt=fe==null?0:fe.length;if(!Lt)return-1;var gr=Lt-1;return Xe!==void 0&&(gr=Vo(Xe),gr=Xe<0?Die(Lt+gr,0):zie(gr,Lt-1)),Sm(fe,xo(_e,3),gr,!0)}var Dw=Fie;var Oie=Pw(Dw),II=Oie;function Bie(fe,_e){return Rw(fe,xo(_e,3),Dy)}var RI=Bie;function Nie(fe){return fe&&fe.length?fe[0]:void 0}var v_=Nie;function Uie(fe,_e){var Xe=-1,Lt=Vc(fe)?Array(fe.length):[];return Up(fe,function(gr,Yr,Ea){Lt[++Xe]=_e(gr,Yr,Ea)}),Lt}var zw=Uie;function jie(fe,_e){var Xe=zo(fe)?Sl:zw;return Xe(fe,xo(_e,3))}var Um=jie;function qie(fe,_e){return Qu(Um(fe,_e),1)}var DI=qie;var Vie=1/0;function Gie(fe,_e){return Qu(Um(fe,_e),Vie)}var zI=Gie;function Hie(fe,_e,Xe){return Xe=Xe===void 0?1:Vo(Xe),Qu(Um(fe,_e),Xe)}var FI=Hie;var Wie=1/0;function Xie(fe){var _e=fe==null?0:fe.length;return _e?Qu(fe,Wie):[]}var OI=Xie;function Zie(fe,_e){var Xe=fe==null?0:fe.length;return Xe?(_e=_e===void 0?1:Vo(_e),Qu(fe,_e)):[]}var BI=Zie;var Yie=512;function Kie(fe){return np(fe,Yie)}var NI=Kie;var Jie=gy(\"floor\"),UI=Jie;var $ie=\"Expected a function\",Qie=8,ene=32,tne=128,rne=256;function ane(fe){return lp(function(_e){var Xe=_e.length,Lt=Xe,gr=zp.prototype.thru;for(fe&&_e.reverse();Lt--;){var Yr=_e[Lt];if(typeof Yr!=\"function\")throw new TypeError($ie);if(gr&&!Ea&&$g(Yr)==\"wrapper\")var Ea=new zp([],!0)}for(Lt=Ea?Lt:Xe;++Lt_e}var zy=gne;function yne(fe){return function(_e,Xe){return typeof _e==\"string\"&&typeof Xe==\"string\"||(_e=Sh(_e),Xe=Sh(Xe)),fe(_e,Xe)}}var qm=yne;var _ne=qm(zy),JI=_ne;var xne=qm(function(fe,_e){return fe>=_e}),$I=xne;var bne=Object.prototype,wne=bne.hasOwnProperty;function Tne(fe,_e){return fe!=null&&wne.call(fe,_e)}var QI=Tne;function Ane(fe,_e){return fe!=null&&dw(fe,_e,QI)}var e8=Ane;var Sne=Math.max,Mne=Math.min;function Ene(fe,_e,Xe){return fe>=Mne(_e,Xe)&&fe-1:!!gr&&Ad(fe,_e,Xe)>-1}var a8=Dne;var zne=Math.max;function Fne(fe,_e,Xe){var Lt=fe==null?0:fe.length;if(!Lt)return-1;var gr=Xe==null?0:Vo(Xe);return gr<0&&(gr=zne(Lt+gr,0)),Ad(fe,_e,gr)}var i8=Fne;function One(fe){var _e=fe==null?0:fe.length;return _e?Yf(fe,0,-1):[]}var n8=One;var Bne=Math.min;function Nne(fe,_e,Xe){for(var Lt=Xe?Ry:Mm,gr=fe[0].length,Yr=fe.length,Ea=Yr,ei=Array(Yr),oi=1/0,Ln=[];Ea--;){var _n=fe[Ea];Ea&&_e&&(_n=Sl(_n,wf(_e))),oi=Bne(_n.length,oi),ei[Ea]=!Xe&&(_e||gr>=120&&_n.length>=120)?new zm(Ea&&_n):void 0}_n=fe[0];var Fn=-1,So=ei[0];e:for(;++Fn=-F8&&fe<=F8}var O8=Doe;function zoe(fe){return fe===void 0}var B8=zoe;var Foe=\"[object WeakMap]\";function Ooe(fe){return Dl(fe)&&jh(fe)==Foe}var N8=Ooe;var Boe=\"[object WeakSet]\";function Noe(fe){return Dl(fe)&&Oc(fe)==Boe}var U8=Noe;var Uoe=1;function joe(fe){return xo(typeof fe==\"function\"?fe:up(fe,Uoe))}var j8=joe;var qoe=Array.prototype,Voe=qoe.join;function Goe(fe,_e){return fe==null?\"\":Voe.call(fe,_e)}var q8=Goe;var Hoe=Cd(function(fe,_e,Xe){return fe+(Xe?\"-\":\"\")+_e.toLowerCase()}),V8=Hoe;var Woe=Bm(function(fe,_e,Xe){op(fe,Xe,_e)}),G8=Woe;function Xoe(fe,_e,Xe){for(var Lt=Xe+1;Lt--;)if(fe[Lt]===_e)return Lt;return Lt}var H8=Xoe;var Zoe=Math.max,Yoe=Math.min;function Koe(fe,_e,Xe){var Lt=fe==null?0:fe.length;if(!Lt)return-1;var gr=Lt;return Xe!==void 0&&(gr=Vo(Xe),gr=gr<0?Zoe(Lt+gr,0):Yoe(gr,Lt-1)),_e===_e?H8(fe,_e,gr):Sm(fe,Rb,gr,!0)}var W8=Koe;var Joe=Cd(function(fe,_e,Xe){return fe+(Xe?\" \":\"\")+_e.toLowerCase()}),X8=Joe;var $oe=Wb(\"toLowerCase\"),Z8=$oe;function Qoe(fe,_e){return fe<_e}var Uy=Qoe;var ese=qm(Uy),Y8=ese;var tse=qm(function(fe,_e){return fe<=_e}),K8=tse;function rse(fe,_e){var Xe={};return _e=xo(_e,3),cp(fe,function(Lt,gr,Yr){op(Xe,_e(Lt,gr,Yr),Lt)}),Xe}var J8=rse;function ase(fe,_e){var Xe={};return _e=xo(_e,3),cp(fe,function(Lt,gr,Yr){op(Xe,gr,_e(Lt,gr,Yr))}),Xe}var $8=ase;var ise=1;function nse(fe){return pw(up(fe,ise))}var Q8=nse;var ose=1;function sse(fe,_e){return vw(fe,up(_e,ose))}var eR=sse;function lse(fe,_e,Xe){for(var Lt=-1,gr=fe.length;++Lt=this.__values__.length,_e=fe?void 0:this.__values__[this.__index__++];return{done:fe,value:_e}}var hR=Cse;function Lse(fe,_e){var Xe=fe.length;if(Xe)return _e+=_e<0?Xe:0,ip(_e,Xe)?fe[_e]:void 0}var Gw=Lse;function Pse(fe,_e){return fe&&fe.length?Gw(fe,Vo(_e)):void 0}var pR=Pse;function Ise(fe){return fe=Vo(fe),Go(function(_e){return Gw(_e,fe)})}var dR=Ise;function Rse(fe,_e){return _e=Fp(_e,fe),fe=Bw(fe,_e),fe==null||delete fe[Eh(Tf(_e))]}var qy=Rse;function Dse(fe){return gv(fe)?void 0:fe}var vR=Dse;var zse=1,Fse=2,Ose=4,Bse=lp(function(fe,_e){var Xe={};if(fe==null)return Xe;var Lt=!1;_e=Sl(_e,function(Yr){return Yr=Fp(Yr,fe),Lt||(Lt=Yr.length>1),Yr}),Mh(fe,by(fe),Xe),Lt&&(Xe=up(Xe,zse|Fse|Ose,vR));for(var gr=_e.length;gr--;)qy(Xe,_e[gr]);return Xe}),mR=Bse;function Nse(fe,_e,Xe,Lt){if(!Cl(fe))return fe;_e=Fp(_e,fe);for(var gr=-1,Yr=_e.length,Ea=Yr-1,ei=fe;ei!=null&&++gr_e||Yr&&Ea&&oi&&!ei&&!Ln||Lt&&Ea&&oi||!Xe&&oi||!gr)return 1;if(!Lt&&!Yr&&!Ln&&fe<_e||Ln&&Xe&&gr&&!Lt&&!Yr||ei&&Xe&&gr||!Ea&&gr||!oi)return-1}return 0}var Xw=Hse;function Wse(fe,_e,Xe){for(var Lt=-1,gr=fe.criteria,Yr=_e.criteria,Ea=gr.length,ei=Xe.length;++Lt=ei)return oi;var Ln=Xe[Lt];return oi*(Ln==\"desc\"?-1:1)}}return fe.index-_e.index}var xR=Wse;function Xse(fe,_e,Xe){_e.length?_e=Sl(_e,function(Yr){return zo(Yr)?function(Ea){return ld(Ea,Yr.length===1?Yr[0]:Yr)}:Yr}):_e=[Bc];var Lt=-1;_e=Sl(_e,wf(xo));var gr=zw(fe,function(Yr,Ea,ei){var oi=Sl(_e,function(Ln){return Ln(Yr)});return{criteria:oi,index:++Lt,value:Yr}});return _R(gr,function(Yr,Ea){return xR(Yr,Ea,Xe)})}var Zw=Xse;function Zse(fe,_e,Xe,Lt){return fe==null?[]:(zo(_e)||(_e=_e==null?[]:[_e]),Xe=Lt?void 0:Xe,zo(Xe)||(Xe=Xe==null?[]:[Xe]),Zw(fe,_e,Xe))}var bR=Zse;function Yse(fe){return lp(function(_e){return _e=Sl(_e,wf(xo)),Go(function(Xe){var Lt=this;return fe(_e,function(gr){return xf(gr,Lt,Xe)})})})}var Vy=Yse;var Kse=Vy(Sl),wR=Kse;var Jse=Go,TR=Jse;var $se=Math.min,Qse=TR(function(fe,_e){_e=_e.length==1&&zo(_e[0])?Sl(_e[0],wf(xo)):Sl(Qu(_e,1),wf(xo));var Xe=_e.length;return Go(function(Lt){for(var gr=-1,Yr=$se(Lt.length,Xe);++grrle)return Xe;do _e%2&&(Xe+=fe),_e=ale(_e/2),_e&&(fe+=fe);while(_e);return Xe}var m_=ile;var nle=Cy(\"length\"),ER=nle;var CR=\"\\\\ud800-\\\\udfff\",ole=\"\\\\u0300-\\\\u036f\",sle=\"\\\\ufe20-\\\\ufe2f\",lle=\"\\\\u20d0-\\\\u20ff\",ule=ole+sle+lle,cle=\"\\\\ufe0e\\\\ufe0f\",fle=\"[\"+CR+\"]\",NA=\"[\"+ule+\"]\",UA=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",hle=\"(?:\"+NA+\"|\"+UA+\")\",LR=\"[^\"+CR+\"]\",PR=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",IR=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",ple=\"\\\\u200d\",RR=hle+\"?\",DR=\"[\"+cle+\"]?\",dle=\"(?:\"+ple+\"(?:\"+[LR,PR,IR].join(\"|\")+\")\"+DR+RR+\")*\",vle=DR+RR+dle,mle=\"(?:\"+[LR+NA+\"?\",NA,PR,IR,fle].join(\"|\")+\")\",kR=RegExp(UA+\"(?=\"+UA+\")|\"+mle+vle,\"g\");function gle(fe){for(var _e=kR.lastIndex=0;kR.test(fe);)++_e;return _e}var zR=gle;function yle(fe){return kd(fe)?zR(fe):ER(fe)}var Pd=yle;var _le=Math.ceil;function xle(fe,_e){_e=_e===void 0?\" \":nh(_e);var Xe=_e.length;if(Xe<2)return Xe?m_(_e,fe):_e;var Lt=m_(_e,_le(fe/Pd(_e)));return kd(_e)?Bp(Uh(Lt),0,fe).join(\"\"):Lt.slice(0,fe)}var H0=xle;var ble=Math.ceil,wle=Math.floor;function Tle(fe,_e,Xe){fe=Us(fe),_e=Vo(_e);var Lt=_e?Pd(fe):0;if(!_e||Lt>=_e)return fe;var gr=(_e-Lt)/2;return H0(wle(gr),Xe)+fe+H0(ble(gr),Xe)}var FR=Tle;function Ale(fe,_e,Xe){fe=Us(fe),_e=Vo(_e);var Lt=_e?Pd(fe):0;return _e&&Lt<_e?fe+H0(_e-Lt,Xe):fe}var OR=Ale;function Sle(fe,_e,Xe){fe=Us(fe),_e=Vo(_e);var Lt=_e?Pd(fe):0;return _e&&Lt<_e?H0(_e-Lt,Xe)+fe:fe}var BR=Sle;var Mle=/^\\s+/,Ele=wu.parseInt;function kle(fe,_e,Xe){return Xe||_e==null?_e=0:_e&&(_e=+_e),Ele(Us(fe).replace(Mle,\"\"),_e||0)}var NR=kle;var Cle=32,jA=Go(function(fe,_e){var Xe=Yp(_e,Sd(jA));return np(fe,Cle,void 0,_e,Xe)});jA.placeholder={};var Yw=jA;var Lle=64,qA=Go(function(fe,_e){var Xe=Yp(_e,Sd(qA));return np(fe,Lle,void 0,_e,Xe)});qA.placeholder={};var UR=qA;var Ple=Bm(function(fe,_e,Xe){fe[Xe?0:1].push(_e)},function(){return[[],[]]}),jR=Ple;function Ile(fe,_e){return Hw(fe,_e,function(Xe,Lt){return ky(fe,Lt)})}var qR=Ile;var Rle=lp(function(fe,_e){return fe==null?{}:qR(fe,_e)}),VR=Rle;function Dle(fe){for(var _e,Xe=this;Xe instanceof Tm;){var Lt=Cb(Xe);Lt.__index__=0,Lt.__values__=void 0,_e?gr.__wrapped__=Lt:_e=Lt;var gr=Lt;Xe=Xe.__wrapped__}return gr.__wrapped__=fe,_e}var GR=Dle;function zle(fe){return function(_e){return fe==null?void 0:ld(fe,_e)}}var HR=zle;function Fle(fe,_e,Xe,Lt){for(var gr=Xe-1,Yr=fe.length;++gr-1;)ei!==fe&&XR.call(ei,oi,1),XR.call(fe,oi,1);return fe}var Gy=Ble;function Nle(fe,_e){return fe&&fe.length&&_e&&_e.length?Gy(fe,_e):fe}var Kw=Nle;var Ule=Go(Kw),ZR=Ule;function jle(fe,_e,Xe){return fe&&fe.length&&_e&&_e.length?Gy(fe,_e,xo(Xe,2)):fe}var YR=jle;function qle(fe,_e,Xe){return fe&&fe.length&&_e&&_e.length?Gy(fe,_e,void 0,Xe):fe}var KR=qle;var Vle=Array.prototype,Gle=Vle.splice;function Hle(fe,_e){for(var Xe=fe?_e.length:0,Lt=Xe-1;Xe--;){var gr=_e[Xe];if(Xe==Lt||gr!==Yr){var Yr=gr;ip(gr)?Gle.call(fe,gr,1):qy(fe,gr)}}return fe}var Jw=Hle;var Wle=lp(function(fe,_e){var Xe=fe==null?0:fe.length,Lt=fy(fe,_e);return Jw(fe,Sl(_e,function(gr){return ip(gr,Xe)?+gr:gr}).sort(Xw)),Lt}),JR=Wle;var Xle=Math.floor,Zle=Math.random;function Yle(fe,_e){return fe+Xle(Zle()*(_e-fe+1))}var Hy=Yle;var Kle=parseFloat,Jle=Math.min,$le=Math.random;function Qle(fe,_e,Xe){if(Xe&&typeof Xe!=\"boolean\"&&Nc(fe,_e,Xe)&&(_e=Xe=void 0),Xe===void 0&&(typeof _e==\"boolean\"?(Xe=_e,_e=void 0):typeof fe==\"boolean\"&&(Xe=fe,fe=void 0)),fe===void 0&&_e===void 0?(fe=0,_e=1):(fe=od(fe),_e===void 0?(_e=fe,fe=0):_e=od(_e)),fe>_e){var Lt=fe;fe=_e,_e=Lt}if(Xe||fe%1||_e%1){var gr=$le();return Jle(fe+gr*(_e-fe+Kle(\"1e-\"+((gr+\"\").length-1))),_e)}return Hy(fe,_e)}var $R=Qle;var eue=Math.ceil,tue=Math.max;function rue(fe,_e,Xe,Lt){for(var gr=-1,Yr=tue(eue((_e-fe)/(Xe||1)),0),Ea=Array(Yr);Yr--;)Ea[Lt?Yr:++gr]=fe,fe+=Xe;return Ea}var QR=rue;function aue(fe){return function(_e,Xe,Lt){return Lt&&typeof Lt!=\"number\"&&Nc(_e,Xe,Lt)&&(Xe=Lt=void 0),_e=od(_e),Xe===void 0?(Xe=_e,_e=0):Xe=od(Xe),Lt=Lt===void 0?_e1&&Nc(fe,_e[0],_e[1])?_e=[]:Xe>2&&Nc(_e[0],_e[1],_e[2])&&(_e=[_e[0]]),Zw(fe,Qu(_e,1),[])}),k4=que;var Vue=4294967295,Gue=Vue-1,Hue=Math.floor,Wue=Math.min;function Xue(fe,_e,Xe,Lt){var gr=0,Yr=fe==null?0:fe.length;if(Yr===0)return 0;_e=Xe(_e);for(var Ea=_e!==_e,ei=_e===null,oi=Rf(_e),Ln=_e===void 0;gr>>1;function Kue(fe,_e,Xe){var Lt=0,gr=fe==null?Lt:fe.length;if(typeof _e==\"number\"&&_e===_e&&gr<=Yue){for(;Lt>>1,Ea=fe[Yr];Ea!==null&&!Rf(Ea)&&(Xe?Ea<=_e:Ea<_e)?Lt=Yr+1:gr=Yr}return gr}return Wy(fe,_e,Bc,Xe)}var Wm=Kue;function Jue(fe,_e){return Wm(fe,_e)}var C4=Jue;function $ue(fe,_e,Xe){return Wy(fe,_e,xo(Xe,2))}var L4=$ue;function Que(fe,_e){var Xe=fe==null?0:fe.length;if(Xe){var Lt=Wm(fe,_e);if(Lt>>0,Xe?(fe=Us(fe),fe&&(typeof _e==\"string\"||_e!=null&&!Ny(_e))&&(_e=nh(_e),!_e&&kd(fe))?Bp(Uh(fe),0,Xe):fe.split(_e,Xe)):[]}var O4=sce;var lce=\"Expected a function\",uce=Math.max;function cce(fe,_e){if(typeof fe!=\"function\")throw new TypeError(lce);return _e=_e==null?0:uce(Vo(_e),0),Go(function(Xe){var Lt=Xe[_e],gr=Bp(Xe,0,_e);return Lt&&Op(gr,Lt),xf(fe,this,gr)})}var B4=cce;var fce=Cd(function(fe,_e,Xe){return fe+(Xe?\" \":\"\")+py(_e)}),N4=fce;function hce(fe,_e,Xe){return fe=Us(fe),Xe=Xe==null?0:ud(Vo(Xe),0,fe.length),_e=nh(_e),fe.slice(Xe,Xe+_e.length)==_e}var U4=hce;function pce(){return{}}var j4=pce;function dce(){return\"\"}var q4=dce;function vce(){return!0}var V4=vce;var mce=wm(function(fe,_e){return fe-_e},0),G4=mce;function gce(fe){return fe&&fe.length?jy(fe,Bc):0}var H4=gce;function yce(fe,_e){return fe&&fe.length?jy(fe,xo(_e,2)):0}var W4=yce;function _ce(fe){var _e=fe==null?0:fe.length;return _e?Yf(fe,1,_e):[]}var X4=_ce;function xce(fe,_e,Xe){return fe&&fe.length?(_e=Xe||_e===void 0?1:Vo(_e),Yf(fe,0,_e<0?0:_e)):[]}var Z4=xce;function bce(fe,_e,Xe){var Lt=fe==null?0:fe.length;return Lt?(_e=Xe||_e===void 0?1:Vo(_e),_e=Lt-_e,Yf(fe,_e<0?0:_e,Lt)):[]}var Y4=bce;function wce(fe,_e){return fe&&fe.length?Nm(fe,xo(_e,3),!1,!0):[]}var K4=wce;function Tce(fe,_e){return fe&&fe.length?Nm(fe,xo(_e,3)):[]}var J4=Tce;function Ace(fe,_e){return _e(fe),fe}var $4=Ace;var Q4=Object.prototype,Sce=Q4.hasOwnProperty;function Mce(fe,_e,Xe,Lt){return fe===void 0||oh(fe,Q4[Xe])&&!Sce.call(Lt,Xe)?_e:fe}var VA=Mce;var Ece={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"};function kce(fe){return\"\\\\\"+Ece[fe]}var eD=kce;var Cce=/<%=([\\s\\S]+?)%>/g,r2=Cce;var Lce=/<%-([\\s\\S]+?)%>/g,tD=Lce;var Pce=/<%([\\s\\S]+?)%>/g,rD=Pce;var Ice={escape:tD,evaluate:rD,interpolate:r2,variable:\"\",imports:{_:{escape:Ew}}},y_=Ice;var Rce=\"Invalid `variable` option passed into `_.template`\",Dce=/\\b__p \\+= '';/g,zce=/\\b(__p \\+=) '' \\+/g,Fce=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Oce=/[()=,{}\\[\\]\\/\\s]/,Bce=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,a2=/($^)/,Nce=/['\\n\\r\\u2028\\u2029\\\\]/g,Uce=Object.prototype,aD=Uce.hasOwnProperty;function jce(fe,_e,Xe){var Lt=y_.imports._.templateSettings||y_;Xe&&Nc(fe,_e,Xe)&&(_e=void 0),fe=Us(fe),_e=km({},_e,Lt,VA);var gr=km({},_e.imports,Lt.imports,VA),Yr=gu(gr),Ea=Fy(gr,Yr),ei,oi,Ln=0,_n=_e.interpolate||a2,Fn=\"__p += '\",So=RegExp((_e.escape||a2).source+\"|\"+_n.source+\"|\"+(_n===r2?Bce:a2).source+\"|\"+(_e.evaluate||a2).source+\"|$\",\"g\"),ds=aD.call(_e,\"sourceURL\")?\"//# sourceURL=\"+(_e.sourceURL+\"\").replace(/\\s/g,\" \")+`\n`:\"\";fe.replace(So,function(Ge,Jl,ou,jp,zf,fp){return ou||(ou=jp),Fn+=fe.slice(Ln,fp).replace(Nce,eD),Jl&&(ei=!0,Fn+=`' +\n__e(`+Jl+`) +\n'`),zf&&(oi=!0,Fn+=`';\n`+zf+`;\n__p += '`),ou&&(Fn+=`' +\n((__t = (`+ou+`)) == null ? '' : __t) +\n'`),Ln=fp+Ge.length,Ge}),Fn+=`';\n`;var Qs=aD.call(_e,\"variable\")&&_e.variable;if(!Qs)Fn=`with (obj) {\n`+Fn+`\n}\n`;else if(Oce.test(Qs))throw new Error(Rce);Fn=(oi?Fn.replace(Dce,\"\"):Fn).replace(zce,\"$1\").replace(Fce,\"$1;\"),Fn=\"function(\"+(Qs||\"obj\")+`) {\n`+(Qs?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(ei?\", __e = _.escape\":\"\")+(oi?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+Fn+`return __p\n}`;var Ho=Vb(function(){return Function(Yr,ds+\"return \"+Fn).apply(void 0,Ea)});if(Ho.source=Fn,hy(Ho))throw Ho;return Ho}var iD=jce;var qce=\"Expected a function\";function Vce(fe,_e,Xe){var Lt=!0,gr=!0;if(typeof fe!=\"function\")throw new TypeError(qce);return Cl(Xe)&&(Lt=\"leading\"in Xe?!!Xe.leading:Lt,gr=\"trailing\"in Xe?!!Xe.trailing:gr),xw(fe,_e,{leading:Lt,maxWait:_e,trailing:gr})}var nD=Vce;function Gce(fe,_e){return _e(fe)}var Wv=Gce;var Hce=9007199254740991,GA=4294967295,Wce=Math.min;function Xce(fe,_e){if(fe=Vo(fe),fe<1||fe>Hce)return[];var Xe=GA,Lt=Wce(fe,GA);_e=kh(_e),fe-=GA;for(var gr=ay(Lt,_e);++Xe-1;);return Xe}var n2=rfe;function afe(fe,_e){for(var Xe=-1,Lt=fe.length;++Xe-1;);return Xe}var o2=afe;function ife(fe,_e,Xe){if(fe=Us(fe),fe&&(Xe||_e===void 0))return wb(fe);if(!fe||!(_e=nh(_e)))return fe;var Lt=Uh(fe),gr=Uh(_e),Yr=o2(Lt,gr),Ea=n2(Lt,gr)+1;return Bp(Lt,Yr,Ea).join(\"\")}var dD=ife;function nfe(fe,_e,Xe){if(fe=Us(fe),fe&&(Xe||_e===void 0))return fe.slice(0,bb(fe)+1);if(!fe||!(_e=nh(_e)))return fe;var Lt=Uh(fe),gr=n2(Lt,Uh(_e))+1;return Bp(Lt,0,gr).join(\"\")}var vD=nfe;var ofe=/^\\s+/;function sfe(fe,_e,Xe){if(fe=Us(fe),fe&&(Xe||_e===void 0))return fe.replace(ofe,\"\");if(!fe||!(_e=nh(_e)))return fe;var Lt=Uh(fe),gr=o2(Lt,Uh(_e));return Bp(Lt,gr).join(\"\")}var mD=sfe;var lfe=30,ufe=\"...\",cfe=/\\w*$/;function ffe(fe,_e){var Xe=lfe,Lt=ufe;if(Cl(_e)){var gr=\"separator\"in _e?_e.separator:gr;Xe=\"length\"in _e?Vo(_e.length):Xe,Lt=\"omission\"in _e?nh(_e.omission):Lt}fe=Us(fe);var Yr=fe.length;if(kd(fe)){var Ea=Uh(fe);Yr=Ea.length}if(Xe>=Yr)return fe;var ei=Xe-Pd(Lt);if(ei<1)return Lt;var oi=Ea?Bp(Ea,0,ei).join(\"\"):fe.slice(0,ei);if(gr===void 0)return oi+Lt;if(Ea&&(ei+=oi.length-ei),Ny(gr)){if(fe.slice(ei).search(gr)){var Ln,_n=oi;for(gr.global||(gr=RegExp(gr.source,Us(cfe.exec(gr))+\"g\")),gr.lastIndex=0;Ln=gr.exec(_n);)var Fn=Ln.index;oi=oi.slice(0,Fn===void 0?ei:Fn)}}else if(fe.indexOf(nh(gr),ei)!=ei){var So=oi.lastIndexOf(gr);So>-1&&(oi=oi.slice(0,So))}return oi+Lt}var gD=ffe;function hfe(fe){return Fb(fe,1)}var yD=hfe;var pfe={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},dfe=vy(pfe),_D=dfe;var xD=/&(?:amp|lt|gt|quot|#39);/g,vfe=RegExp(xD.source);function mfe(fe){return fe=Us(fe),fe&&vfe.test(fe)?fe.replace(xD,_D):fe}var bD=mfe;var gfe=1/0,yfe=Dm&&1/Fm(new Dm([,-0]))[1]==gfe?function(fe){return new Dm(fe)}:Kg,wD=yfe;var _fe=200;function xfe(fe,_e,Xe){var Lt=-1,gr=Mm,Yr=fe.length,Ea=!0,ei=[],oi=ei;if(Xe)Ea=!1,gr=Ry;else if(Yr>=_fe){var Ln=_e?null:wD(fe);if(Ln)return Fm(Ln);Ea=!1,gr=Gv,oi=new zm}else oi=_e?[]:ei;e:for(;++Lt1||this.__actions__.length||!(Lt instanceof Bl)||!ip(Xe)?this.thru(gr):(Lt=Lt.slice(Xe,+Xe+(_e?1:0)),Lt.__actions__.push({func:Wv,args:[gr],thisArg:void 0}),new zp(Lt,this.__chain__).thru(function(Yr){return _e&&!Yr.length&&Yr.push(void 0),Yr}))}),OD=Ufe;function jfe(){return Kb(this)}var BD=jfe;function qfe(){var fe=this.__wrapped__;if(fe instanceof Bl){var _e=fe;return this.__actions__.length&&(_e=new Bl(this)),_e=_e.reverse(),_e.__actions__.push({func:Wv,args:[g_],thisArg:void 0}),new zp(_e,this.__chain__)}return this.thru(g_)}var ND=qfe;function Vfe(fe,_e,Xe){var Lt=fe.length;if(Lt<2)return Lt?Jp(fe[0]):[];for(var gr=-1,Yr=Array(Lt);++gr1?fe[_e-1]:void 0;return Xe=typeof Xe==\"function\"?(fe.pop(),Xe):void 0,s2(fe,Xe)}),WD=Jfe;var ms={chunk:GL,compact:CP,concat:LP,difference:uI,differenceBy:cI,differenceWith:fI,drop:pI,dropRight:dI,dropRightWhile:vI,dropWhile:mI,fill:kI,findIndex:Iw,findLastIndex:Dw,first:v_,flatten:qb,flattenDeep:OI,flattenDepth:BI,fromPairs:XI,head:v_,indexOf:i8,initial:n8,intersection:o8,intersectionBy:s8,intersectionWith:l8,join:q8,last:Tf,lastIndexOf:W8,nth:pR,pull:ZR,pullAll:Kw,pullAllBy:YR,pullAllWith:KR,pullAt:JR,remove:s4,reverse:g_,slice:A4,sortedIndex:C4,sortedIndexBy:L4,sortedIndexOf:P4,sortedLastIndex:I4,sortedLastIndexBy:R4,sortedLastIndexOf:D4,sortedUniq:z4,sortedUniqBy:F4,tail:X4,take:Z4,takeRight:Y4,takeRightWhile:K4,takeWhile:J4,union:TD,unionBy:AD,unionWith:SD,uniq:MD,uniqBy:ED,uniqWith:kD,unzip:Xy,unzipWith:s2,without:zD,xor:UD,xorBy:jD,xorWith:qD,zip:VD,zipObject:GD,zipObjectDeep:HD,zipWith:WD};var xc={countBy:YP,each:f_,eachRight:h_,every:MI,filter:CI,find:LI,findLast:II,flatMap:DI,flatMapDeep:zI,flatMapDepth:FI,forEach:f_,forEachRight:h_,groupBy:KI,includes:a8,invokeMap:d8,keyBy:G8,map:Um,orderBy:bR,partition:jR,reduce:a4,reduceRight:n4,reject:o4,sample:d4,sampleSize:g4,shuffle:w4,size:T4,some:E4,sortBy:k4};var HA={now:Py};var Df={after:aC,ary:Fb,before:Gb,bind:Hb,bindKey:fL,curry:JP,curryRight:$P,debounce:xw,defer:sI,delay:lI,flip:NI,memoize:Ub,negate:Hv,once:yR,overArgs:AR,partial:Yw,partialRight:UR,rearg:r4,rest:c4,spread:B4,throttle:nD,unary:yD,wrap:FD};var Vs={castArray:qL,clone:AP,cloneDeep:SP,cloneDeepWith:MP,cloneWith:EP,conformsTo:WP,eq:oh,gt:JI,gte:$I,isArguments:pd,isArray:zo,isArrayBuffer:g8,isArrayLike:Vc,isArrayLikeObject:Eu,isBoolean:y8,isBuffer:Kp,isDate:b8,isElement:w8,isEmpty:T8,isEqual:A8,isEqualWith:S8,isError:hy,isFinite:M8,isFunction:ap,isInteger:Nw,isLength:Em,isMap:nw,isMatch:E8,isMatchWith:k8,isNaN:C8,isNative:P8,isNil:I8,isNull:R8,isNumber:Uw,isObject:Cl,isObjectLike:Dl,isPlainObject:gv,isRegExp:Ny,isSafeInteger:O8,isSet:ow,isString:Vm,isSymbol:Rf,isTypedArray:Ed,isUndefined:B8,isWeakMap:N8,isWeakSet:U8,lt:Y8,lte:K8,toArray:Vw,toFinite:od,toInteger:Vo,toLength:Cw,toNumber:Sh,toPlainObject:bw,toSafeInteger:fD,toString:Us};var bp={add:eC,ceil:VL,divide:hI,floor:UI,max:tR,maxBy:rR,mean:aR,meanBy:iR,min:lR,minBy:uR,multiply:cR,round:h4,subtract:G4,sum:H4,sumBy:W4};var __={clamp:HL,inRange:r8,random:$R};var dl={assign:BC,assignIn:s_,assignInWith:km,assignWith:jC,at:lL,create:KP,defaults:tI,defaultsDeep:oI,entries:p_,entriesIn:d_,extend:s_,extendWith:km,findKey:PI,findLastKey:RI,forIn:VI,forInRight:GI,forOwn:HI,forOwnRight:WI,functions:ZI,functionsIn:YI,get:cy,has:e8,hasIn:ky,invert:c8,invertBy:h8,invoke:p8,keys:gu,keysIn:Gc,mapKeys:J8,mapValues:$8,merge:nR,mergeWith:ww,omit:mR,omitBy:gR,pick:VR,pickBy:Ww,result:f4,set:y4,setWith:_4,toPairs:p_,toPairsIn:d_,transform:pD,unset:LD,update:PD,updateWith:ID,values:Ld,valuesIn:DD};var Id={at:OD,chain:Kb,commit:kP,lodash:da,next:hR,plant:GR,reverse:ND,tap:$4,thru:Wv,toIterator:sD,toJSON:Xm,value:Xm,valueOf:Xm,wrapperChain:BD};var ju={camelCase:jL,capitalize:Xb,deburr:Zb,endsWith:yI,escape:Ew,escapeRegExp:AI,kebabCase:V8,lowerCase:X8,lowerFirst:Z8,pad:FR,padEnd:OR,padStart:BR,parseInt:NR,repeat:l4,replace:u4,snakeCase:S4,split:O4,startCase:N4,startsWith:U4,template:iD,templateSettings:y_,toLower:lD,toUpper:hD,trim:dD,trimEnd:vD,trimStart:mD,truncate:gD,unescape:bD,upperCase:RD,upperFirst:py,words:Yb};var ec={attempt:Vb,bindAll:cL,cond:VP,conforms:HP,constant:Qg,defaultTo:QP,flow:jI,flowRight:qI,identity:Bc,iteratee:j8,matches:Q8,matchesProperty:eR,method:oR,methodOf:sR,mixin:qw,noop:Kg,nthArg:dR,over:wR,overEvery:SR,overSome:MR,property:mw,propertyOf:HR,range:e4,rangeRight:t4,stubArray:_y,stubFalse:iy,stubObject:j4,stubString:q4,stubTrue:V4,times:oD,toPath:uD,uniqueId:CD};function $fe(){var fe=new Bl(this.__wrapped__);return fe.__actions__=pf(this.__actions__),fe.__dir__=this.__dir__,fe.__filtered__=this.__filtered__,fe.__iteratees__=pf(this.__iteratees__),fe.__takeCount__=this.__takeCount__,fe.__views__=pf(this.__views__),fe}var XD=$fe;function Qfe(){if(this.__filtered__){var fe=new Bl(this);fe.__dir__=-1,fe.__filtered__=!0}else fe=this.clone(),fe.__dir__*=-1;return fe}var ZD=Qfe;var ehe=Math.max,the=Math.min;function rhe(fe,_e,Xe){for(var Lt=-1,gr=Xe.length;++Lt0||_e<0)?new Bl(Xe):(fe<0?Xe=Xe.takeRight(-fe):fe&&(Xe=Xe.drop(fe)),_e!==void 0&&(_e=Vo(_e),Xe=_e<0?Xe.dropRight(-_e):Xe.take(_e-fe)),Xe)};Bl.prototype.takeRightWhile=function(fe){return this.reverse().takeWhile(fe).reverse()};Bl.prototype.toArray=function(){return this.take(QD)};cp(Bl.prototype,function(fe,_e){var Xe=/^(?:filter|find|map|reject)|While$/.test(_e),Lt=/^(?:head|last)$/.test(_e),gr=da[Lt?\"take\"+(_e==\"last\"?\"Right\":\"\"):_e],Yr=Lt||/^find/.test(_e);gr&&(da.prototype[_e]=function(){var Ea=this.__wrapped__,ei=Lt?[1]:arguments,oi=Ea instanceof Bl,Ln=ei[0],_n=oi||zo(Ea),Fn=function(Jl){var ou=gr.apply(da,Op([Jl],ei));return Lt&&So?ou[0]:ou};_n&&Xe&&typeof Ln==\"function\"&&Ln.length!=1&&(oi=_n=!1);var So=this.__chain__,ds=!!this.__actions__.length,Qs=Yr&&!So,Ho=oi&&!ds;if(!Yr&&_n){Ea=Ho?Ea:new Bl(this);var Ge=fe.apply(Ea,ei);return Ge.__actions__.push({func:Wv,args:[Fn],thisArg:void 0}),new zp(Ge,So)}return Qs&&Ho?fe.apply(this,ei):(Ge=this.thru(Fn),Qs?Lt?Ge.value()[0]:Ge.value():Ge)})});Nh([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(fe){var _e=fhe[fe],Xe=/^(?:push|sort|unshift)$/.test(fe)?\"tap\":\"thru\",Lt=/^(?:pop|shift)$/.test(fe);da.prototype[fe]=function(){var gr=arguments;if(Lt&&!this.__chain__){var Yr=this.value();return _e.apply(zo(Yr)?Yr:[],gr)}return this[Xe](function(Ea){return _e.apply(zo(Ea)?Ea:[],gr)})}});cp(Bl.prototype,function(fe,_e){var Xe=da[_e];if(Xe){var Lt=Xe.name+\"\";e7.call(Am,Lt)||(Am[Lt]=[]),Am[Lt].push({name:_e,func:Xe})}});Am[ry(void 0,lhe).name]=[{name:\"wrapper\",func:void 0}];Bl.prototype.clone=XD;Bl.prototype.reverse=ZD;Bl.prototype.value=KD;da.prototype.at=Id.at;da.prototype.chain=Id.wrapperChain;da.prototype.commit=Id.commit;da.prototype.next=Id.next;da.prototype.plant=Id.plant;da.prototype.reverse=Id.reverse;da.prototype.toJSON=da.prototype.valueOf=da.prototype.value=Id.value;da.prototype.first=da.prototype.head;JD&&(da.prototype[JD]=Id.toIterator);var ef=da;var Rd=cX(a7());window.PlotlyConfig={MathJaxConfig:\"local\"};var XA=class{constructor(_e,Xe){this.model=_e,this.serializers=Xe}get(_e){let Xe=this.serializers[_e],Lt=this.model.get(_e);return Xe?.deserialize?Xe.deserialize(Lt):Lt}set(_e,Xe){let Lt=this.serializers[_e];Lt?.serialize&&(Xe=Lt.serialize(Xe)),this.model.set(_e,Xe)}on(_e,Xe){this.model.on(_e,Xe)}save_changes(){this.model.save_changes()}defaults(){return{_widget_data:[],_widget_layout:{},_config:{},_py2js_addTraces:null,_py2js_deleteTraces:null,_py2js_moveTraces:null,_py2js_restyle:null,_py2js_relayout:null,_py2js_update:null,_py2js_animate:null,_py2js_removeLayoutProps:null,_py2js_removeTraceProps:null,_js2py_restyle:null,_js2py_relayout:null,_js2py_update:null,_js2py_layoutDelta:null,_js2py_traceDeltas:null,_js2py_pointsCallback:null,_last_layout_edit_id:0,_last_trace_edit_id:0}}initialize(){this.model.on(\"change:_widget_data\",()=>this.do_data()),this.model.on(\"change:_widget_layout\",()=>this.do_layout()),this.model.on(\"change:_py2js_addTraces\",()=>this.do_addTraces()),this.model.on(\"change:_py2js_deleteTraces\",()=>this.do_deleteTraces()),this.model.on(\"change:_py2js_moveTraces\",()=>this.do_moveTraces()),this.model.on(\"change:_py2js_restyle\",()=>this.do_restyle()),this.model.on(\"change:_py2js_relayout\",()=>this.do_relayout()),this.model.on(\"change:_py2js_update\",()=>this.do_update()),this.model.on(\"change:_py2js_animate\",()=>this.do_animate()),this.model.on(\"change:_py2js_removeLayoutProps\",()=>this.do_removeLayoutProps()),this.model.on(\"change:_py2js_removeTraceProps\",()=>this.do_removeTraceProps())}_normalize_trace_indexes(_e){if(_e==null){var Xe=this.model.get(\"_widget_data\").length;_e=ef.range(Xe)}return Array.isArray(_e)||(_e=[_e]),_e}do_data(){}do_layout(){}do_addTraces(){var _e=this.model.get(\"_py2js_addTraces\");if(_e!==null){var Xe=this.model.get(\"_widget_data\"),Lt=_e.trace_data;ef.forEach(Lt,function(gr){Xe.push(gr)})}}do_deleteTraces(){var _e=this.model.get(\"_py2js_deleteTraces\");if(_e!==null){var Xe=_e.delete_inds,Lt=this.model.get(\"_widget_data\");Xe.slice().reverse().forEach(function(gr){Lt.splice(gr,1)})}}do_moveTraces(){var _e=this.model.get(\"_py2js_moveTraces\");if(_e!==null){var Xe=this.model.get(\"_widget_data\"),Lt=_e.current_trace_inds,gr=_e.new_trace_inds;yhe(Xe,Lt,gr)}}do_restyle(){var _e=this.model.get(\"_py2js_restyle\");if(_e!==null){var Xe=_e.restyle_data,Lt=this._normalize_trace_indexes(_e.restyle_traces);n7(this.model.get(\"_widget_data\"),Xe,Lt)}}do_relayout(){var _e=this.model.get(\"_py2js_relayout\");_e!==null&&f2(this.model.get(\"_widget_layout\"),_e.relayout_data)}do_update(){var _e=this.model.get(\"_py2js_update\");if(_e!==null){var Xe=_e.style_data,Lt=_e.layout_data,gr=this._normalize_trace_indexes(_e.style_traces);n7(this.model.get(\"_widget_data\"),Xe,gr),f2(this.model.get(\"_widget_layout\"),Lt)}}do_animate(){var _e=this.model.get(\"_py2js_animate\");if(_e!==null){for(var Xe=_e.style_data,Lt=_e.layout_data,gr=this._normalize_trace_indexes(_e.style_traces),Yr=0;Yrthis.do_addTraces()),this.model.on(\"change:_py2js_deleteTraces\",()=>this.do_deleteTraces()),this.model.on(\"change:_py2js_moveTraces\",()=>this.do_moveTraces()),this.model.on(\"change:_py2js_restyle\",()=>this.do_restyle()),this.model.on(\"change:_py2js_relayout\",()=>this.do_relayout()),this.model.on(\"change:_py2js_update\",()=>this.do_update()),this.model.on(\"change:_py2js_animate\",()=>this.do_animate()),window?.MathJax?.Hub?.Config?.({SVG:{font:\"STIX-Web\"}});var Xe=this.model.get(\"_last_layout_edit_id\"),Lt=this.model.get(\"_last_trace_edit_id\");this.viewID=s7();var gr=ef.cloneDeep(this.model.get(\"_widget_data\")),Yr=ef.cloneDeep(this.model.get(\"_widget_layout\"));Yr.height||(Yr.height=360);var Ea=this.model.get(\"_config\");Ea.editSelection=!1,Rd.default.newPlot(_e.el,gr,Yr,Ea).then(function(){_e._sendTraceDeltas(Lt),_e._sendLayoutDelta(Xe),_e.el.on(\"plotly_restyle\",function(oi){_e.handle_plotly_restyle(oi)}),_e.el.on(\"plotly_relayout\",function(oi){_e.handle_plotly_relayout(oi)}),_e.el.on(\"plotly_update\",function(oi){_e.handle_plotly_update(oi)}),_e.el.on(\"plotly_click\",function(oi){_e.handle_plotly_click(oi)}),_e.el.on(\"plotly_hover\",function(oi){_e.handle_plotly_hover(oi)}),_e.el.on(\"plotly_unhover\",function(oi){_e.handle_plotly_unhover(oi)}),_e.el.on(\"plotly_selected\",function(oi){_e.handle_plotly_selected(oi)}),_e.el.on(\"plotly_deselect\",function(oi){_e.handle_plotly_deselect(oi)}),_e.el.on(\"plotly_doubleclick\",function(oi){_e.handle_plotly_doubleclick(oi)});var ei=new CustomEvent(\"plotlywidget-after-render\",{detail:{element:_e.el,viewID:_e.viewID}});document.dispatchEvent(ei)})}_processLuminoMessage(_e,Xe){Xe.apply(this,arguments);var Lt=this;switch(_e.type){case\"before-attach\":var gr={showgrid:!1,showline:!1,tickvals:[]};Rd.default.newPlot(Lt.el,[],{xaxis:gr,yaxis:gr}),this.resizeEventListener=()=>{this.autosizeFigure()},window.addEventListener(\"resize\",this.resizeEventListener);break;case\"after-attach\":this.perform_render();break;case\"after-show\":case\"resize\":this.autosizeFigure();break}}autosizeFigure(){var _e=this,Xe=_e.model.get(\"_widget_layout\");(ef.isNil(Xe)||ef.isNil(Xe.width))&&Rd.default.Plots.resize(_e.el).then(function(){var Lt=_e.model.get(\"_last_layout_edit_id\");_e._sendLayoutDelta(Lt)})}remove(){Rd.default.purge(this.el),window.removeEventListener(\"resize\",this.resizeEventListener)}getFullData(){return ef.mergeWith({},this.el._fullData,this.el.data,i7)}getFullLayout(){return ef.mergeWith({},this.el._fullLayout,this.el.layout,i7)}buildPointsObject(_e){var Xe;if(_e.hasOwnProperty(\"points\")){var Lt=_e.points,gr=Lt.length,Yr=!0;for(let _n=0;_n=0;gr--)Lt.splice(0,0,fe[_e[gr]]),fe.splice(_e[gr],1);var Yr=ef(Xe).zip(Lt).sortBy(0).unzip().value();Xe=Yr[0],Lt=Yr[1];for(var Ea=0;Ea0&&typeof Yr[0]==\"object\"){Xe[Lt]=new Array(Yr.length);for(var Ea=0;Ea0&&(Xe[Lt]=ei)}else typeof Yr==\"object\"&&!Array.isArray(Yr)?Xe[Lt]=x_(Yr,{}):Yr!==void 0&&typeof Yr!=\"function\"&&(Xe[Lt]=Yr)}}return Xe}function s7(fe,_e,Xe,Lt){if(Xe||(Xe=16),_e===void 0&&(_e=24),_e<=0)return\"0\";var gr=Math.log(Math.pow(2,_e))/Math.log(Xe),Yr=\"\",Ea,ei,oi;for(Ea=2;gr===1/0;Ea*=2)gr=Math.log(Math.pow(2,_e/Ea))/Math.log(Xe)*Ea;var Ln=gr-Math.floor(gr);for(Ea=0;Ea=Math.pow(2,_e)?Lt>10?(console.warn(\"randstr failed uniqueness\"),Yr):s7(fe,_e,Xe,(Lt||0)+1):Yr}var EHe=()=>{let fe;return{initialize(_e){fe=new XA(_e.model,dhe),fe.initialize()},render({el:_e}){let Xe=new ZA(fe,_e);return Xe.perform_render(),()=>Xe.remove()}}};export{XA as FigureModel,ZA as FigureView,EHe as default};\n/*! Bundled license information:\n\nplotly.js/dist/plotly.js:\n (*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *)\n (*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n (*!\n * pad-left \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT license.\n *)\n (*!\n * repeat-string \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n *)\n (*! Bundled license information:\n \n native-promise-only/lib/npo.src.js:\n (*! Native Promise Only\n v0.8.1 (c) Kyle Simpson\n MIT License: http://getify.mit-license.org\n *)\n \n polybooljs/index.js:\n (*\n * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n * @license MIT\n * @preserve Project Home: https://github.com/voidqk/polybooljs\n *)\n \n ieee754/index.js:\n (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *)\n \n buffer/index.js:\n (*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n \n safe-buffer/index.js:\n (*! safe-buffer. MIT License. Feross Aboukhadijeh *)\n \n assert/build/internal/util/comparisons.js:\n (*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n *)\n \n object-assign/index.js:\n (*\n object-assign\n (c) Sindre Sorhus\n @license MIT\n *)\n \n maplibre-gl/dist/maplibre-gl.js:\n (**\n * MapLibre GL JS\n * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n *)\n *)\n\nlodash-es/lodash.default.js:\n (**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n *)\n\nlodash-es/lodash.js:\n (**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n *)\n*/\n", "_js2py_layoutDelta": {}, "_js2py_pointsCallback": {}, "_js2py_relayout": {}, @@ -1107,7 +976,7 @@ "_last_layout_edit_id": 14, "_last_trace_edit_id": 14, "_model_module": "anywidget", - "_model_module_version": "~0.10.*", + "_model_module_version": "~0.11.*", "_model_name": "AnyModel", "_py2js_addTraces": null, "_py2js_animate": {}, @@ -1120,7 +989,7 @@ "_py2js_update": null, "_view_count": 0, "_view_module": "anywidget", - "_view_module_version": "~0.10.*", + "_view_module_version": "~0.11.*", "_view_name": "AnyView", "_widget_data": [], "_widget_layout": { @@ -1904,6 +1773,75 @@ "tabbable": null, "tooltip": null } + }, + "a8d28d0c0502470ea3ce46c9f78320fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "SliderStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "SliderStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "description_width": "", + "handle_color": null + } + }, + "c7dfa214f0364a4aac6a5c3313cf5f07": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } } }, "version_major": 2, diff --git a/docs/notebooks/05_symbolic_coupler_curve.ipynb b/docs/notebooks/05_symbolic_coupler_curve.ipynb index 71d6256..82e3fac 100644 --- a/docs/notebooks/05_symbolic_coupler_curve.ipynb +++ b/docs/notebooks/05_symbolic_coupler_curve.ipynb @@ -24,8 +24,15 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 1, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:15:59.779416Z", + "iopub.status.busy": "2026-09-18T13:15:59.779322Z", + "iopub.status.idle": "2026-09-18T13:16:00.480822Z", + "shell.execute_reply": "2026-09-18T13:16:00.480160Z" + } + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -54,9 +61,27 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 2, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:00.482348Z", + "iopub.status.busy": "2026-09-18T13:16:00.482188Z", + "iopub.status.idle": "2026-09-18T13:16:00.513812Z", + "shell.execute_reply": "2026-09-18T13:16:00.513225Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Linkage: SymbolicLinkage(name='fourbar', joints=['A', 'D', 'B', 'C'])\n", + "Joints: ['A', 'D', 'B', 'C']\n", + "Parameters: {'L3': L3, 'L2': L2}\n", + "Input angle: theta\n" + ] + } + ], "source": [ "# Create four-bar with symbolic coupler and rocker lengths\n", "linkage = fourbar_symbolic(\n", @@ -83,9 +108,39 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:00.565184Z", + "iopub.status.busy": "2026-09-18T13:16:00.564917Z", + "iopub.status.idle": "2026-09-18T13:16:03.125529Z", + "shell.execute_reply": "2026-09-18T13:16:03.125129Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "--- Joint A ---\n", + "x(theta) = 0.0\n", + "y(theta) = 0.0\n", + "\n", + "--- Joint D ---\n", + "x(theta) = 4.00000000000000\n", + "y(theta) = 0.0\n", + "\n", + "--- Joint B ---\n", + "x(theta) = cos(theta)\n", + "y(theta) = sin(theta)\n", + "\n", + "--- Joint C ---\n", + "x(theta) = (sqrt((4*L2**2*(17.0 - 8.0*cos(theta)) - (1.0*L2**2 - 1.0*L3**2 - 8.0*cos(theta) + 17.0)**2)/(17.0 - 8.0*cos(theta)))*(17.0 - 8.0*cos(theta))*sin(theta) + 2*(17.0 - 8.0*cos(theta))**(3/2)*cos(theta) - sqrt(17.0 - 8.0*cos(theta))*(cos(theta) - 4.0)*(1.0*L2**2 - 1.0*L3**2 - 8.0*cos(theta) + 17.0))/(2*(17.0 - 8.0*cos(theta))**(3/2))\n", + "y(theta) = (-sqrt((4*L2**2*(17.0 - 8.0*cos(theta)) - (1.0*L2**2 - 1.0*L3**2 - 8.0*cos(theta) + 17.0)**2)/(17.0 - 8.0*cos(theta)))*(17.0 - 8.0*cos(theta))*(cos(theta) - 4.0) + 2*(17.0 - 8.0*cos(theta))**(3/2)*sin(theta) - sqrt(17.0 - 8.0*cos(theta))*(1.0*L2**2 - 1.0*L3**2 - 8.0*cos(theta) + 17.0)*sin(theta))/(2*(17.0 - 8.0*cos(theta))**(3/2))\n" + ] + } + ], "source": [ "trajectories = solve_linkage_symbolically(linkage)\n", "\n", @@ -97,9 +152,83 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:03.127267Z", + "iopub.status.busy": "2026-09-18T13:16:03.127134Z", + "iopub.status.idle": "2026-09-18T13:16:03.143954Z", + "shell.execute_reply": "2026-09-18T13:16:03.143575Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coupler point trajectory:\n", + " __________________________________________________________________ ↪\n", + " ╱ ↪\n", + " ╱ 2 ⎛ 2 2 ↪\n", + " ╱ 4⋅L₂ ⋅(17.0 - 8.0⋅cos(θ)) - ⎝1.0⋅L₂ - 1.0⋅L₃ - 8.0⋅cos(θ) + 17. ↪\n", + " ╱ ───────────────────────────────────────────────────────────────── ↪\n", + " ╲╱ 17.0 - 8.0⋅cos(θ) ↪\n", + "x_C = ──────────────────────────────────────────────────────────────────────── ↪\n", + " ↪\n", + " ↪\n", + "\n", + "↪ ____ ↪\n", + "↪ 2 ↪\n", + "↪ ⎞ ↪\n", + "↪ 0⎠ 3/2 ______ ↪\n", + "↪ ─── ⋅(17.0 - 8.0⋅cos(θ))⋅sin(θ) + 2⋅(17.0 - 8.0⋅cos(θ)) ⋅cos(θ) - ╲╱ 17.0 ↪\n", + "↪ ↪\n", + "↪ ──────────────────────────────────────────────────────────────────────────── ↪\n", + "↪ 3/2 ↪\n", + "↪ 2⋅(17.0 - 8.0⋅cos(θ)) ↪\n", + "\n", + "↪ \n", + "↪ \n", + "↪ \n", + "↪ _____________ ⎛ 2 2 ⎞\n", + "↪ - 8.0⋅cos(θ) ⋅(cos(θ) - 4.0)⋅⎝1.0⋅L₂ - 1.0⋅L₃ - 8.0⋅cos(θ) + 17.0⎠\n", + "↪ \n", + "↪ ────────────────────────────────────────────────────────────────────\n", + "↪ \n", + "↪ \n", + "\n", + " ________________________________________________________________ ↪\n", + " ╱ ↪\n", + " ╱ 2 ⎛ 2 2 ↪\n", + " ╱ 4⋅L₂ ⋅(17.0 - 8.0⋅cos(θ)) - ⎝1.0⋅L₂ - 1.0⋅L₃ - 8.0⋅cos(θ) + 1 ↪\n", + " - ╱ ─────────────────────────────────────────────────────────────── ↪\n", + " ╲╱ 17.0 - 8.0⋅cos(θ) ↪\n", + "y_C = ──────────────────────────────────────────────────────────────────────── ↪\n", + " ↪\n", + " ↪\n", + "\n", + "↪ ______ ↪\n", + "↪ 2 ↪\n", + "↪ ⎞ ↪\n", + "↪ 7.0⎠ 3/2 ↪\n", + "↪ ───── ⋅(17.0 - 8.0⋅cos(θ))⋅(cos(θ) - 4.0) + 2⋅(17.0 - 8.0⋅cos(θ)) ⋅sin(θ) ↪\n", + "↪ ↪\n", + "↪ ──────────────────────────────────────────────────────────────────────────── ↪\n", + "↪ 3/2 ↪\n", + "↪ 2⋅(17.0 - 8.0⋅cos(θ)) ↪\n", + "\n", + "↪ \n", + "↪ \n", + "↪ \n", + "↪ ___________________ ⎛ 2 2 ⎞ \n", + "↪ - ╲╱ 17.0 - 8.0⋅cos(θ) ⋅⎝1.0⋅L₂ - 1.0⋅L₃ - 8.0⋅cos(θ) + 17.0⎠⋅sin(θ)\n", + "↪ \n", + "↪ ──────────────────────────────────────────────────────────────────────\n", + "↪ \n", + "↪ \n" + ] + } + ], "source": [ "# Get the coupler point C expressions\n", "x_C, y_C = trajectories[\"C\"]\n", @@ -122,1348 +251,64 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:03.145243Z", + "iopub.status.busy": "2026-09-18T13:16:03.145129Z", + "iopub.status.idle": "2026-09-18T13:16:03.302807Z", + "shell.execute_reply": "2026-09-18T13:16:03.302020Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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hgwp8rqIyH2x6SaiSqNevXqIiIgocJpu3bph9+7dmD59Ol5++WUIIRAdHY3du3ejadOmzulq1KiBDRs2YOrUqXjuuefQsGFDfPrpp9i0aRO2bNmiOItSvXp1xZmlOwkPD4dGo8G8efPw5ptvYvbs2fD09MQnn3yC5557zjmdJElYtmwZ3n33XXz88cfQarUYMGAAvv/+e3Tv3t15SWjOZZbEwIEDsX37dsyaNQsTJkyAJElo3bo1vvrqK9SvX1+xvZGRkXlu0+1unl3Kebb18ccfR2xsLGbPno3k5GQIIXD06NF8L58uaPr81luUfZeXli1b4siRI/j8888xc+ZMJCcnIzw8HHfddRc2b97snK5t27Y4ePAgZs6ciY8++gh2ux3NmjXDzz//7LyfvaD8hd3nBX1/8/p+FCb/gAEDULVqVXz33Xf4/vvv4XA4ULduXaxfvx49e/YscP94eXnhkUcewc8//4wpU6YonoEQGhqKqKgoPPnkk3nO+9dff+HgwYOIiorCkiVLsGTJEsX7NWvWxNq1awtcf2H8/fff+OabbzB9+nTExsbCz88PrVu3xsyZM9GoUSPFtImJiUAeDdTtCrNtRVmvK23b0KFDsX79ekyfPh3PP/88oqKiMGvWLKxbtw579uwpldx5qVOnDux2e656YXKX9Oe8MOLi4hQNdFRUFD788EPn69vP0P/000+45557ULNmzRKvm4jchyRuPraUiIjohgcffBDbt2/HmTNn1I6iOu6L4omNjUVUVBR++uknxW0S7ui5557D1q1bceDAgVK/dUNt7rpt7ph7z549aNeuHXbs2FGsUTCIyH25x28pIiIqV0lJSahataraMVwC90Xx1KhRA2+99RZ++eUXtaOUWGxsLD744AO3ae6Kwl23zR1z//TTTxg9ejQbbqJKiGe6iYjIKSEhAbt27cL999+PCRMmYMqUKWpHUg33BREREZUGNt1EROQ0depULF++HD179sTrr79eoqf0ujvuCyIiIioNbLqJiIiIiIiIyoj73AhDRERERERE5GbYdBMRERERERGVEY7TfQeyLOPy5cvw8fFRjDNKRERERERElZcQAmlpaahevXqBoymw6b6Dy5cvIzw8XO0YRERERERE5IIuXryIGjVq5Ps+m+478PHxAW7sSF9fX7Xj5EmWZVy9ehUhISFuNV4lVVw8JsnV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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "#", - " ", - "P", - "a", - "r", - "a", - "m", - "e", - "t", - "e", - "r", - " ", - "v", - "a", - "l", - "u", - "e", - "s", - ":", - " ", - "c", - "l", - "a", - "s", - "s", - "i", - "c", - " ", - "c", - "r", - "a", - "n", - "k", - "-", - "r", - "o", - "c", - "k", - "e", - "r", - "\n", - "p", - "a", - "r", - "a", - "m", - "s", - " ", - "=", - " ", - "{", - "\"", - "L", - "2", - "\"", - ":", - " ", - "3", - ".", - "0", - ",", - " ", - "\"", - "L", - "3", - "\"", - ":", - " ", - "3", - ".", - "0", - "}", - "\n", - "t", - "h", - "e", - "t", - "a", - "_", - "v", - "a", - "l", - "u", - "e", - "s", - " ", - "=", - " ", - "n", - "p", - ".", - "l", - "i", - "n", - "s", - "p", - "a", - "c", - "e", - "(", - "0", - ",", - " ", - "2", - " ", - "*", - " ", - "n", - "p", - ".", - "p", - "i", - ",", - " ", - "5", - "0", - "0", - ")", - "\n", - "\n", - "t", - "r", - "a", - "j", - "e", - "c", - "t", - "o", - "r", - "i", - "e", - "s", - "_", - "n", - "u", - "m", - " ", - "=", - " ", - "c", - "o", - "m", - "p", - "u", - "t", - "e", - "_", - "t", - "r", - "a", - "j", - "e", - "c", - "t", - "o", - "r", - "y", - "_", - "n", - "u", - "m", - "e", - "r", - "i", - "c", - "(", - "l", - "i", - "n", - "k", - "a", - "g", - "e", - ",", - " ", - "p", - "a", - "r", - "a", - "m", - "s", - ",", - " ", - "t", - "h", - "e", - "t", - "a", - "_", - "v", - "a", - "l", - "u", - "e", - "s", - ")", - "\n", - "\n", - "#", - " ", - "P", - "l", - "o", - "t", - " ", - "a", - "l", - "l", - " ", - "j", - "o", - "i", - "n", - "t", - " ", - "t", - "r", - "a", - "j", - "e", - "c", - "t", - "o", - "r", - "i", - "e", - "s", - " ", - "w", - "i", - "t", - "h", - " ", - "m", - "e", - "c", - "h", - "a", - "n", - "i", - "s", - "m", - " ", - "d", - "r", - "a", - "w", - "n", - " ", - "a", - "t", - " ", - "t", - "h", - "e", - "t", - "a", - "=", - "0", - "\n", - "f", - "i", - "g", - ",", - " ", - "a", - "x", - " ", - "=", - " ", - "p", - "l", - "t", - ".", - "s", - "u", - "b", - "p", - "l", - "o", - "t", - "s", - "(", - "f", - "i", - "g", - "s", - "i", - "z", - "e", - "=", - "(", - "1", - "0", - ",", - " ", - "8", - ")", - ")", - "\n", - "\n", - "f", - "o", - "r", - " ", - "_", - "n", - "a", - "m", - "e", - ",", - " ", - "p", - "o", - "s", - "i", - "t", - "i", - "o", - "n", - "s", - " ", - "i", - "n", - " ", - "t", - "r", - "a", - "j", - "e", - "c", - "t", - "o", - "r", - "i", - "e", - "s", - "_", - "n", - "u", - "m", - ".", - "i", - "t", - "e", - "m", - "s", - "(", - ")", - ":", - "\n", - " ", - " ", - " ", - " ", - "#", - " ", - "F", - "i", - "l", - "t", - "e", - "r", - " ", - "N", - "a", - "N", - " ", - "(", - "u", - "n", - "b", - "u", - "i", - "l", - "d", - "a", - "b", - "l", - "e", - " ", - "p", - "o", - "s", - "i", - "t", - "i", - "o", - "n", - "s", - ")", - "\n", - " ", - " ", - " ", - " ", - "v", - "a", - "l", - "i", - "d", - " ", - "=", - " ", - "~", - "n", - "p", - ".", - "i", - "s", - "n", - "a", - "n", - "(", - "p", - "o", - "s", - "i", - "t", - "i", - "o", - "n", - "s", - "[", - ":", - ",", - " ", - "0", - "]", - ")", - "\n", - " ", - " ", - " ", - " ", - "a", - "x", - ".", - "p", - "l", - "o", - "t", - "(", - "p", - "o", - "s", - "i", - "t", - "i", - "o", - "n", - "s", - "[", - "v", - "a", - "l", - "i", - "d", - ",", - " ", - "0", - "]", - ",", - " ", - "p", - "o", - "s", - "i", - "t", - "i", - "o", - "n", - "s", - "[", - "v", - "a", - "l", - "i", - "d", - ",", - " ", - "1", - "]", - ",", - " ", - "l", - "i", - "n", - "e", - "w", - "i", - "d", - "t", - "h", - "=", - "1", - ",", - " ", - "a", - "l", - "p", - "h", - "a", - "=", - "0", - ".", - "4", - ")", - "\n", - "\n", - "#", - " ", - "D", - "r", - "a", - "w", - " ", - "t", - "h", - "e", - " ", - "m", - "e", - "c", - "h", - "a", - "n", - "i", - "s", - "m", - " ", - "a", - "t", - " ", - "t", - "h", - "e", - "t", - "a", - "=", - "0", - " ", - "(", - "f", - "r", - "a", - "m", - "e", - " ", - "0", - ")", - "\n", - "l", - "i", - "n", - "k", - "_", - "p", - "a", - "i", - "r", - "s", - " ", - "=", - " ", - "[", - "(", - "'", - "A", - "'", - ",", - " ", - "'", - "B", - "'", - ")", - ",", - " ", - "(", - "'", - "B", - "'", - ",", - " ", - "'", - "C", - "'", - ")", - ",", - " ", - "(", - "'", - "C", - "'", - ",", - " ", - "'", - "D", - "'", - ")", - "]", - "\n", - "l", - "i", - "n", - "k", - "_", - "l", - "a", - "b", - "e", - "l", - "s", - " ", - "=", - " ", - "[", - "'", - "C", - "r", - "a", - "n", - "k", - " ", - "(", - "A", - "→", - "B", - ")", - "'", - ",", - " ", - "'", - "C", - "o", - "u", - "p", - "l", - "e", - "r", - " ", - "(", - "B", - "→", - "C", - ")", - "'", - ",", - " ", - "'", - "R", - "o", - "c", - "k", - "e", - "r", - " ", - "(", - "C", - "→", - "D", - ")", - "'", - "]", - "\n", - "l", - "i", - "n", - "k", - "_", - "c", - "o", - "l", - "o", - "r", - "s", - " ", - "=", - " ", - "[", - "'", - "#", - "2", - "E", - "8", - "6", - "A", - "B", - "'", - ",", - " ", - "'", - "#", - "A", - "2", - "3", - "B", - "7", - "2", - "'", - ",", - " ", - "'", - "#", - "F", - "1", - "8", - "F", - "0", - "1", - "'", - "]", - "\n", - "f", - "o", - "r", - " ", - "(", - "n", - "1", - ",", - " ", - "n", - "2", - ")", - ",", - " ", - "c", - "o", - "l", - "o", - "r", - ",", - " ", - "l", - "a", - "b", - "e", - "l", - " ", - "i", - "n", - " ", - "z", - "i", - "p", - "(", - "l", - "i", - "n", - "k", - "_", - "p", - "a", - "i", - "r", - "s", - ",", - " ", - "l", - "i", - "n", - "k", - "_", - "c", - "o", - "l", - "o", - "r", - "s", - ",", - " ", - "l", - "i", - "n", - "k", - "_", - "l", - "a", - "b", - "e", - "l", - "s", - ",", - " ", - "s", - "t", - "r", - "i", - "c", - "t", - "=", - "F", - "a", - "l", - "s", - "e", - ")", - ":", - "\n", - " ", - " ", - " ", - " ", - "p", - "1", - " ", - "=", - " ", - "t", - "r", - "a", - "j", - "e", - "c", - "t", - "o", - "r", - "i", - "e", - "s", - "_", - "n", - "u", - "m", - "[", - "n", - "1", - "]", - "[", - "0", - "]", - "\n", - " ", - " ", - " ", - " ", - "p", - "2", - " ", - "=", - " ", - "t", - "r", - "a", - "j", - "e", - "c", - "t", - "o", - "r", - "i", - "e", - "s", - "_", - "n", - "u", - "m", - "[", - "n", - "2", - "]", - "[", - "0", - "]", - "\n", - " ", - " ", - " ", - " ", - "a", - "x", - ".", - "p", - "l", - "o", - "t", - "(", - "[", - "p", - "1", - "[", - "0", - "]", - ",", - " ", - "p", - "2", - "[", - "0", - "]", - "]", - ",", - " ", - "[", - "p", - "1", - "[", - "1", - "]", - ",", - " ", - "p", - "2", - "[", - "1", - "]", - "]", - ",", + "# Parameter values: classic crank-rocker\n", + "params = {\"L2\": 3.0, \"L3\": 3.0}\n", + "theta_values = np.linspace(0, 2 * np.pi, 500)\n", "\n", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "'", - "-", - "o", - "'", - ",", - " ", - "c", - "o", - "l", - "o", - "r", - "=", - "c", - "o", - "l", - "o", - "r", - ",", - " ", - "l", - "i", - "n", - "e", - "w", - "i", - "d", - "t", - "h", - "=", - "3", - ",", - " ", - "m", - "a", - "r", - "k", - "e", - "r", - "s", - "i", - "z", - "e", - "=", - "6", - ",", - " ", - "l", - "a", - "b", - "e", - "l", - "=", - "l", - "a", - "b", - "e", - "l", - ")", + "trajectories_num = compute_trajectory_numeric(linkage, params, theta_values)\n", "\n", + "# Plot all joint trajectories with mechanism drawn at theta=0\n", + "fig, ax = plt.subplots(figsize=(10, 8))\n", "\n", - "#", - " ", - "M", - "a", - "r", - "k", - " ", - "g", - "r", - "o", - "u", - "n", - "d", - " ", - "p", - "i", - "v", - "o", - "t", - "s", + "for _name, positions in trajectories_num.items():\n", + " # Filter NaN (unbuildable positions)\n", + " valid = ~np.isnan(positions[:, 0])\n", + " ax.plot(positions[valid, 0], positions[valid, 1], linewidth=1, alpha=0.4)\n", "\n", - "a", - "x", - ".", - "p", - "l", - "o", - "t", - "(", - "0", - ",", - " ", - "0", - ",", - " ", - "'", - "k", - "s", - "'", - ",", - " ", - "m", - "a", - "r", - "k", - "e", - "r", - "s", - "i", - "z", - "e", - "=", - "1", - "0", - ",", - " ", - "z", - "o", - "r", - "d", - "e", - "r", - "=", - "5", - ",", - " ", - "l", - "a", - "b", - "e", - "l", - "=", - "'", - "A", - " ", - "(", - "g", - "r", - "o", - "u", - "n", - "d", - ")", - "'", - ")", - "\n", - "a", - "x", - ".", - "p", - "l", - "o", - "t", - "(", - "4", - ",", - " ", - "0", - ",", - " ", - "'", - "k", - "s", - "'", - ",", - " ", - "m", - "a", - "r", - "k", - "e", - "r", - "s", - "i", - "z", - "e", - "=", - "1", - "0", - ",", - " ", - "z", - "o", - "r", - "d", - "e", - "r", - "=", - "5", - ",", - " ", - "l", - "a", - "b", - "e", - "l", - "=", - "'", - "D", - " ", - "(", - "g", - "r", - "o", - "u", - "n", - "d", - ")", - "'", - ")", - "\n", - "\n", - "a", - "x", - ".", - "s", - "e", - "t", - "_", - "x", - "l", - "a", - "b", - "e", - "l", - "(", - "'", - "X", - "'", - ")", - "\n", - "a", - "x", - ".", - "s", - "e", - "t", - "_", - "y", - "l", - "a", - "b", - "e", - "l", - "(", - "'", - "Y", - "'", - ")", - "\n", - "a", - "x", - ".", - "s", - "e", - "t", - "_", - "t", - "i", - "t", - "l", - "e", - "(", - "'", - "F", - "o", - "u", - "r", - "-", - "b", - "a", - "r", - " ", - "j", - "o", - "i", - "n", - "t", - " ", - "t", - "r", - "a", - "j", - "e", - "c", - "t", - "o", - "r", - "i", - "e", - "s", - " ", - "(", - "L", - "2", - "=", - "3", - ",", - " ", - "L", - "3", - "=", - "3", - ",", - " ", - "d", - "=", - "4", - ",", - " ", - "a", - "=", - "1", - ")", - "'", - ")", - "\n", - "a", - "x", - ".", - "s", - "e", - "t", - "_", - "a", - "s", - "p", - "e", - "c", - "t", - "(", - "'", - "e", - "q", - "u", - "a", - "l", - "'", - ")", - "\n", - "a", - "x", - ".", - "l", - "e", - "g", - "e", - "n", - "d", - "(", - "f", - "o", - "n", - "t", - "s", - "i", - "z", - "e", - "=", - "8", - ")", - "\n", - "a", - "x", - ".", - "g", - "r", - "i", - "d", - "(", - "T", - "r", - "u", - "e", - ",", - " ", - "a", - "l", - "p", - "h", - "a", - "=", - "0", - ".", - "3", - ")", - "\n", - "p", - "l", - "t", - ".", - "t", - "i", - "g", - "h", - "t", - "_", - "l", - "a", - "y", - "o", - "u", - "t", - "(", - ")", - "\n", - "p", - "l", - "t", - ".", - "s", - "h", - "o", - "w", - "(", - ")" + "# Draw the mechanism at theta=0 (frame 0)\n", + "link_pairs = [('A', 'B'), ('B', 'C'), ('C', 'D')]\n", + "link_labels = ['Crank (A→B)', 'Coupler (B→C)', 'Rocker (C→D)']\n", + "link_colors = ['#2E86AB', '#A23B72', '#F18F01']\n", + "for (n1, n2), color, label in zip(link_pairs, link_colors, link_labels, strict=False):\n", + " p1 = trajectories_num[n1][0]\n", + " p2 = trajectories_num[n2][0]\n", + " ax.plot([p1[0], p2[0]], [p1[1], p2[1]],\n", + " '-o', color=color, linewidth=3, markersize=6, label=label)\n", + "\n", + "# Mark ground pivots\n", + "ax.plot(0, 0, 'ks', markersize=10, zorder=5, label='A (ground)')\n", + "ax.plot(4, 0, 'ks', markersize=10, zorder=5, label='D (ground)')\n", + "\n", + "ax.set_xlabel('X')\n", + "ax.set_ylabel('Y')\n", + "ax.set_title('Four-bar joint trajectories (L2=3, L3=3, d=4, a=1)')\n", + "ax.set_aspect('equal')\n", + "ax.legend(fontsize=8)\n", + "ax.grid(True, alpha=0.3)\n", + "plt.tight_layout()\n", + "plt.show()" ] }, { @@ -1476,14 +321,41 @@ "algebraic equation f(x, y) = 0. This is the **coupler curve equation** —\n", "a classical result in mechanism theory.\n", "\n", - "For a four-bar, the coupler curve is generally a **sextic** (degree 6) algebraic curve." + "`eliminate_theta` substitutes c = cos(theta), s = sin(theta) with c² + s² = 1,\n", + "turns each square root of the parametrization into an unknown with its own\n", + "polynomial constraint, and eliminates them all with a Gröbner basis.\n", + "\n", + "For a four-bar, the curve of a point rigid with the coupler is generally a\n", + "**sextic** (degree 6) algebraic curve. Joint C is a special point of the\n", + "coupler: it is also the tip of the rocker, so its curve is the rocker's\n", + "circle — degree 2. That is the equation we should get back." ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 6, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:03.304067Z", + "iopub.status.busy": "2026-09-18T13:16:03.303958Z", + "iopub.status.idle": "2026-09-18T13:16:03.707723Z", + "shell.execute_reply": "2026-09-18T13:16:03.707315Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implicit coupler curve equation f(x,y) = 0:\n", + "Degree: 2\n", + " 2 2 \n", + "x - 8⋅x + y + 7 = 0\n", + "\n", + "The rocker D-C has length 3 and D = (4, 0): (x - 4)² + y² = 9.\n" + ] + } + ], "source": [ "# Use a fully numeric four-bar for theta elimination\n", "# (symbolic parameters make Groebner basis computation very slow)\n", @@ -1497,14 +369,14 @@ "traj_num = solve_linkage_symbolically(linkage_numeric)\n", "x_C_num, y_C_num = traj_num[\"C\"]\n", "\n", - "print(\"Attempting theta elimination (this may take a moment)...\")\n", "implicit_eq = eliminate_theta(x_C_num, y_C_num)\n", "\n", "if implicit_eq is not None:\n", - " x, y = sp.symbols('x y')\n", - " print(\"\\nImplicit coupler curve equation f(x,y) = 0:\")\n", - " print(f\"Degree: {sp.degree(implicit_eq, x) + sp.degree(implicit_eq, y)}\")\n", + " x, y = sp.symbols('x y', real=True)\n", + " print(\"Implicit coupler curve equation f(x,y) = 0:\")\n", + " print(f\"Degree: {sp.Poly(implicit_eq, x, y).total_degree()}\")\n", " sp.pprint(sp.Eq(implicit_eq, 0))\n", + " print(\"\\nThe rocker D-C has length 3 and D = (4, 0): (x - 4)² + y² = 9.\")\n", "else:\n", " print(\"Theta elimination did not converge (try simpler parameters).\")" ] @@ -1520,9 +392,27 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 7, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:03.709453Z", + "iopub.status.busy": "2026-09-18T13:16:03.709336Z", + "iopub.status.idle": "2026-09-18T13:16:04.154537Z", + "shell.execute_reply": "2026-09-18T13:16:04.154066Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAOhCAYAAAAZp+zxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xt8zvX/x/Hntc02wzDmPOc5i+R8Xi2JSDlVElIkHUT5ppOE0FG/Qol0VBEdnHUQSSEUHRDllMM27GCzmX0+vz+W69rVds0O1/a5du1xv93cvN/v6/P+fF6vz2d22Wuf6/2xmaZpCgAAAAAAAAAAZOJjdQAAAAAAAAAAAHgqiugAAAAAAAAAALhAER0AAAAAAAAAABcoogMAAAAAAAAA4AJFdAAAAAAAAAAAXKCIDgAAAAAAAACACxTRAQAAAAAAAABwgSI6AAAAAAAAAAAuUEQHAAAAAAAAAMAFP6sDAACgKPrtt9+0evVq7d+/X+fPn1fVqlVVq1Yt9enTR7Vq1bI6PJdmzpypn376SZ988onVoeBf58+f1/z587Vnzx7Fxsaqb9++uuOOO6wOy+PwtZt/Vp7Don79HnvsMf3zzz9655133LK/n3/+WdOmTdOMGTMUHh4uSfq///s/bdq0SdOmTVOjRo0uu49jx47p008/1d69exUbG6uaNWuqb9++6tChg1titPp4l9x7770KDAzUSy+9VGDHSExM1OjRo5WcnFxkvwenpaXp+++/14oVK/T333+rQYMGevbZZ7Pc9uGHH1blypX1yCOPFHqcAAAUVRTRAQDIhbi4OI0aNUpLlizJ8vUHHnhA99xzj+bOnVvoseXE5s2btWrVKqvDwL8Mw1CXLl20Y8cO+1jt2rUtjclT8bWbf1aew6Jw/Z555hn99ttv+vjjjzO99s0332jv3r1uO9b48eN17tw5ewFdkrZt26Zly5Zp3Lhxl50/efJkTZs2TYZhOI3PnDlTI0eO1Pz58+Xj474PHRf28TJavXq1SpcuXSD7vuTJJ5/UBx98IBXR78ErV67UsGHDdObMGftYu3btXG7fsGFDjRkzRr1791aTJk0KKUoAAIo2iugAAOTQ+fPnFRERoV27dikwMFCDBw9W+/btFRwcrJMnT+rw4cNasWKF9u/fb3WoKCK+/fZb7dixQ+3bt9eYMWMUFBSkhg0bWh2WR5o0aZKGDx9udRjwYps2bdK3335b4MdZs2aNNmzYoC+++CLP+zh48KDCw8PVq1cvNW7cWD4+Ptq2bZvefvttLVy4UB06dNDIkSPdFnNhH68w7dy5U//3f/+n2267TYsXL7Y6nDw5duyY4uLi1LVrV3Xr1k1Tp07NdvsRI0bomWee0WOPPabPPvus0OIEAKAoo4gOAEAOTZ48Wbt27VJ4eLjWrVunOnXqZNpm9uzZOnjwoCXxoei59LXy6KOP6sYbb7Q6HI/WqVMnq0MA3OLVV19V5cqV1atXrzzvY/r06ZmWDhs5cqSuuuoqjR49WitXrnRrUbuwj1dY0tLSdPfdd6t3794aOHBgkS2i9+nTR4MGDVJISIhiYmIuW0T38/PTkCFD9Pzzz+vw4cMevQwdAACegiI6AAA5kJycrHnz5kmSPvrooywL6JJks9lUv359p7GUlBR99NFH2rJli86dO6caNWropptuUvv27TPNHz16tEqVKpXl2q+jR49WcHCwnn/+eftYxnV6v/vuOy1dulRnzpxR06ZNdffdd6tixYo5znHt2rVav369Tp48qXLlyumaa67RTTfdlOkj+hmP+eOPP2rJkiX6559/NHHiRF111VWXPc6XX36p9evX6/jx46pSpYq6deumPn36yGaz5fsc/Deejz/+WMeOHdM777yjEiVKZNrfU089pX379untt99WyZIlc30u0tLS9MUXX2jz5s2KiopSlSpV1KZNG/Xv31++vr4uz0FSUpLuuOMOHThwQJL0wgsv6L333pMkLViwQOXKlZNy+bWTl+syceLEXJ+fv//+W8uWLdO+ffuUnJysunXrqn///rriiityFdPSpUt1+PBhvf322woICMg098knn9SBAwe0aNEiBQYGZrmmdsb9b9++XR988IFiYmLUoEEDjR49WpUrV86037Nnz2rBggXavXu3goOD1a9fP1177bV5Wnf5cl/L4t9/gR3b3dd78ODB2rNnjwzD0IABA+zzBw0apEGDBjntM6fHzsrRo0e1bt06jR07NtvvEZfjquiZ3RIe+VEYx4uNjdWbb76Z6VoVpNmzZ+vAgQP64osvtH37drfuOzffK/OrevXquZ5z2223adasWVq4cKGeeeYZt8cEAIDXMQEAwGV9++23piSzTZs2uZp36NAhs0GDBqakTH/Gjh2bafvq1aubTZs2zXJf1atXN1u0aOE01q5dO7Ns2bLmSy+9lGn/oaGh5u7du5227927t/nft//Y2Fjz6quvzjLG7t27m4mJiVkec/bs2abNZrNv+/nnn2d7Ls6cOWNGRERkeZxBgwbl+xxkFc+0adNMSeYnn3ySaV8nTpww/fz8zJ49e+bpXKSkpJgdOnTIctuWLVtmey7Onj2b5TxJ5okTJ0wzD187ebkuuT0/M2bMMH18fDLFY7PZzBdeeCFXMc2ePduUZL733nuZ5h06dMj08fFx+rrI6mv30v7nz5+fKa4qVaqYR48eddp+3759ZrVq1TLF//TTT5u1atVy+XX3Xzn9Wubff8EcuyCut6+vb5ZxTJ48OU/HdmXhwoWmJPPjjz/O9NqQIUNMSeZ3332Xo33918WLF8177rnHlGS+/vrrTq998sknZv/+/XP8Z/369fk6Xm65ulaTJ0/O8t+mO/I5dOiQWapUKXPevHmmaZrmp59+akoyJ0yYkK9czDx8r3Tn9YmOjjYlme3atcs2RsMwzHLlypmtW7fOd74AABQH3IkOAEAO/P3335Kkli1b5mrebbfdpv3796tu3boaNWqUKleurB07duiNN97QnDlz1KpVK9155535ii0xMVH/+9//NGTIEEVERCghIUHvvfeedu7cqVtuuUV79uzJ9oFvI0eO1DfffKNmzZppyJAhCgsLU0xMjN577z19++23evzxx/Xyyy9nOubEiRN16623qnv37ipfvrxat26dbZzDhg3Thg0bVL58ed11111q3LixYmNj9e233+rEiRP5PgdZxdO6dWtNnjxZCxcuVP/+/Z3mvPPOO7p48aLuuuuuPJ2LdevW6YcfflDNmjV1zz33qFatWoqKitK2bdu0YcOGbOMtVaqUli5dqlWrVuntt9/W448/bv/aKl++vJTHr53cXpcRI0bk6vwcOnRIzZo1U9++fe2fuPj777+1aNEiPfrooxo0aJDCwsJyFFP37t315JNPau7cubr99tud5rz++usyDEMPPPBAtufx0v4feOABDRkyRF27dlVqaqreeOMN/fLLL5oxY4bmzJlj33bIkCE6fvy4mjVrphEjRqh8+fLavHmzpk2bJl9f30yfInElp1/L/PvPXl6PXRDXe8mSJXr66aczPVg040MXc3NsVzZt2iRJatOmTa7PV1Zmz56tzZs369y5c9qzZ49OnDih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palTp2rVqlW677779M4776hly5Y6derUZeevX79e3bp1U82aNbVy5Uo9//zz+uCDD9SzZ0+lpaUVSg5AUWQzrfi1GQAAAAAAAGCxwMBARUZGauXKlVm+vmrVKp08eVIjR450Gn/yySc1bdo0/fjjj2rXrl0hRSulpaXJ19fXaWz16tXq3bu3XnzxRY0fP97lXNM0FR4ersqVK+v777+3j2/atEndunXTggULMuUJIB13ogMAAAAAAABZ6NWrV5aF5SuvvFKS9PvvvxdqPP8toEtSxYoVJUmGYWQ7d/v27Tp48KAGDx7sNN61a1dVr15dixcvdnO0gPfwszoAAAAAAAAAwBPZbLYsxzdu3ChJqlWr1mX30b17dx04cOCy27Vo0UKrVq3KVXynTp3SU089pWrVqmno0KHZbrtr1y5JUtOmTTO91qxZM23bti1XxwaKE4roAAAAAAAAQA7t2rVLr7/+uq644gp17979stufPHlS//zzz2W3q1KlSo6Ov3v3bvXq1UsXLlxQTEyMWrVqpS1btqhy5crZzouKipIkVahQIdNrISEhOnv2rC5evCg/P8qFwH/xrwIAAAAAAADIgePHj+umm26Sv7+/3n//ffn4XH6l5I0bNyo1NfWy2/n7++cohsaNG+vHH39UUlKSfv75Zz3xxBO69tpr9c0336hGjRou511a7iWru+sv5XG5JWGA4ooiOgAAAAAAAHAZ0dHRioyMVHR0tFavXq3mzZvnaN7l7hDPrRIlStiL5Q0aNFCrVq0UHh6up59+WgsWLHA5r3z58pKk+Pj4TK/Fx8crKCgox4V8oLihiA4AAAAAAABk48yZM4qMjNShQ4e0cuVKdevWLcdzC3JNdEmqX7++KleurN9++y3b7Zo0aSJJOnDggLp06eL02v79++2vA8iMIjoAAAAAAADgQlxcnK677jr9+eef+uKLL3T11Vfnar6710T/r+joaEVHR182ri5duqhcuXJatWqVRowYYR8/cOCA9u3bp6lTp+bp+EBxQBEdAAAAAAAAyEJiYqJ69+6t3377TV988YUiIyNzvQ93rYm+fv167dixQ8OHD1fVqlUlSb///rvGjBmjwMBAPfLII07bR0ZGKioqSrt375YkBQQE6Omnn9ZDDz2kxYsX67bbbtPZs2c1atQo1ahRQ/fff3+ucwOKC5tpmqbVQQAAAAAA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6y8bIwDPcfz4cYWFhVkdBgAAljh69Khq1KhhdRgAUKz98YfUtq107lx6389P+rdEAeQaRXTAyxiGoXnz5snPz0/dunW77Pbjx4/Xvn37LrvdVVddlW0RPb+xHDhwQJJUs2bNTK/VqlVLX3zxRa6ODcBaZcqUkf4tIrhjWSnDMBQdHa3Q0NAif2cfuXgmcvFM5OKZyMW1+Ph4hYWF2d8HAQCF7803pVGjMo/fdpsV0cBbUEQHvMzkyZP1008/6ZFHHsmyIP1fvXv3VsuWLS+7Xb169Qo0lnP//mq4VKlSmV4rVaqULl68qOTkZAUGBuY6DgCF79ISLsHBwW4roicnJys4ONgrCjbk4nnIxTORi2cil8tjKTMAKFyJidKtt0orVmR+7eqrpWXLpHLlrIgM3oIiOuBF3njjDU2bNk3XX3+9pk+fnqM5L774okfE4u/vL0m6cOFCptcuXLggm81m3wYAAAAAAGDvXqlZMyktLfNrL78sPfigxO814Q4U0QEv8d577+nee+9VZGSkli9frhIlSuRonrvWRM9vLJfWjDx16lSm106ePKmqVasW+TudAAAAAABA/n35pZRVicLXV/rpJykHH7gHcoUiOuAFlixZohEjRigiIkJffPFFrpY8cfea6HmNpX379pKkHTt2qFevXvbxixcv6ueff1ZkZGSO9gMAAAAAALzT3LnS2LGZx/v0kT78UMpihVjALSiiA0Xc559/riFDhqhbt25asWKFSpYsmav57lwTPTexrF27VufPn9dNN90kSWrQoIE6d+6st99+W4888oi9+P7hhx8qLi5Od911V67yAgAAAAAARZ9hpC/L8tprmV976inp6adZsgUFjyI64OGOHz+ujz76KNN4lSpVFBQUpMGDB6tMmTK6/fbb9fnnnztt06JFCzVu3Djb/btrTfRt27blKpaHH35YJ0+etBfRJWnBggXq1q2brrnmGt155506duyYnnvuOY0dO1Y9e/Z0S5wAAAAAAMDzpaVJw4ZJH3yQ+bXFi9MfJAoUForogAcbNGiQLly4oM8++yzTa82bN1fHjh3Vr18/SdK6desybRMUFHTZIrq7JCYm5iqW66+/XnFxcU7bNGzYUL/++qveeustfffddypdurSWLVtGAR0AAAAAgGIiNVW65RZp+fLMr/3wg/TvarBAoaKIDniwd99997LbRERE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xck0TfkU8TUvyMUzFUYup075qFUrx9psX34Zo4CAi4qKcu9xuC6eiVw8k7tzSchhoY4iOlDAMi7b8sUXUunSVkYDAADc6cgRaeBAR59n+AFwlwMHDigyMlK9e/fW888/73K7UqVKyWazKS4uzmk8NjZWpbP54WPSpEkaP368vR8fH6+wsDCFhoZmKsjnhWEYstlsCg0N9YqCDbl4noLO5fx5qWpVx35XrTJ09dUhbj+OuC4ei1w8k7tzCQwMzNF2FNGBArR8ufT33+nt5s2lPn2sjggAALiLYUi1ajn6v/0mlSxpZUQAvMXBgwcVERGhbt266Z133sm2SODv76+6detq3759TuP79u1T48aNXc4LCAhQQEBApnEfHx+3FVhsNptb92clcvFMBZWLaTrfAPfaa1KvXgV7vrgunolcPJM7c8npPor+WQM8VHKyNHCg45/Yzz9bGg4AAHCzKlUc7TlzJBcrLQBArvz111/q3r27unbtqvfee0++vr6Ztvnqq6+clmIZOHCglixZYl/X/MSJE1q5cqUGZvyoDIAcq1zZ0R45Uho71spoAHgC7kQHCkizZo5107ZulbzgF30AAOBfzzwjRUent1u2lO691+qIAHiLHj16KDY2VtWqVdPjjz9uH4+MjFRkZKQkafPmzZo9e7YmT54sSXr00Ue1du1atWvXTl27dtW6devUqlUrjR492rI8gKLq1lsd7/F16kgLFlgdEQBPQBEdKACLF0uJielV88hI5weLAgCAom3nTunfupW9DwDucs899+jixYuZxjOu2RoZGaly5crZ+2XLltXWrVu1YsUKHTlyRH369NH111+f5V3sAFx75RXpo48c/YMHrYwGgCehiA64WVKSNHSo47bz9estDQcAALjR+fPSVVc5+tHRks1mZUQAvM3DDz982W06d+6szp07O435+/urf//+BRgZ4N02bpTGjXP0U1J4jwfgwAITgJuVLeto79hh8KYLAIAXCQpytFetkipWtDIaAADgDidOSN27O/onT0r+/lZGBMDTUEQH3Oijj6RLn7zs0SNZLVtaHREAAHCXjHen3Xqr1KuXldEAAAB3SEuTqlVz9H/4wfnBogAgiuiA+6Smpv9Afcnbb8daGQ4AAHCjXbvS10m9ZPFiK6MBAADu4pdhoeNXXpHat7cyGgCeiiI64CZNmjjaP/7IMi4AAHiLixelVq0c/Vh+Tw4AgFcYMsTRjoiQHnjAymgAeDKK6IAbbN4sHTiQ3m7RQmrTxuqIAACAu1So4Gh/+qnz808AAEDR9P77zp8s++YbK6MB4OkoogP5ZJpSly6O/k8/WRkNAABwp5dfluLj09tdukj9+lkdEQAAyK+9e6WhQx395GQrowFQFFBEB/JpwABHe9ky5/XUAABA0XX4sDR+vKO/caOV0QAAAHdISZEaN3b0DxyQAgKsjAhAUUARHciHQ4ek5cvT2z4+0s03Wx0RAABwl9q1He0jR8TzTgAA8AKBgY72xx9L9epZGQ2AooIiOpAPdeo42jxkDAAA75Hxk2azZ0thYVZGAwAA3GHECEd70KD0PwCQExTRgTx64w1H+6mnpDJlrIwGAAC4y44d6Uu0XfLgg1ZGAwAA3GHtWunttx39jz+2MhoARQ1FdCAPLl6U7rnH0Z8yxcpoAACAuxiG1Lq1o5+YaGU0AADAHU6flq6/3tHn/R1AbuXpEYi//fabdu3apU6dOqlOxvUssvDrr7/q559/dhrz9/fXID4zgyKsc2dHe8cOKyMBAADu1Lq1Y+HzZcukoCBLwwEAAPlkmlLFio7+9u28vwPIvVwV0bdt26ZHHnlEUVFR2rt3r957773LFtE/++wzvfLKK7ruuuvsY6VKlaKIjiLrzz+lrVvT2zVrSq1aWR0RAABwh6+/9tcvv6QX0WvX5oHhAAB4g06dHO0nnnD+xBkA5FSuiuiJiYmaMmWKunfvLpvNloMZ6erVq6f3338/L/EBHqdBA0d7714rIwEAAO5y4YJ0++0h9v6BA5aGAwAA3OCjj6Qffkhvly4tTZ1qdUQAiqpcFdEjIiLydJDExER9/vnnCgwMVIsWLVSlSpU87Qew2ltvOdpTp0olS1oZDQAAcJdatRw3iHz3neTra2k4AAAgn06flm691dGPjbUyGgBFXZ7WRM+tY8eOaf78+YqNjdWOHTv01FNP6bHHHnO5fUpKilJSUuz9+Ph4SZJhGDIMI9/xGIYh0zTdsi+rkUvhMQxp5EjHs3gfe8yQq1A9PZfcIBfPRC6eyd25eMM5AYqCVaukqKj0InrHjqY6d875Jy4BAIBnyrgO+q+/8gtyAPlT4EX0yMhIPfjggypTpowk6dNPP9XNN9+sq666ymmd9IxmzJihKVOmZBqPjo5WcnJyvmMyDENxcXEyTVM+Pj45mOG5yKXw3H13OUmBkqQVK04rKirV5baenktukItnIhfP5O5cEhIS3BIXANfS0qQbbnD0N240JVFEBwCgKLvtNkf7f/+Tmja1MhoA3qDAi+jt27d36t90001q2bKlVq5c6bKIPmnSJI0fP97ej4+PV1hYmEJDQxUcHJzvmAzDkM1mU2hoqFcUbMil4MXFSStXpsfk42OqV6/y2W7vybnkFrl4JnLxTO7OJTAw0C1xAXCtZUtHe9myM/LxKWdlOAAAIJ+++0768ENHf+ZMK6MB4C0KZTmX/ypVqpRiYmJcvh4QEKCAgIBM4z4+Pm4rsNhsNrfuz0rkUvDq13e0T560ycfn8neoeWoueUEunolcPJM7c/GG8wF4ss2b0z/eLUnh4aY6drxgdUgAACAfkpOlrl0d/cREK6MB4E3c/tP57t27tWTJEnv/n3/+cXr977//1s6dO9WuXTt3HxooEL/+Kp05k96OjJRCQ62OCAAA5JdpSl26OPq//mpaGQ4AAHCDkiUd7a+/loKCrIwGgDfJ1Z3oJ0+e1FdffWXvb9myRZJUv359+7Ity5cv1+zZszVo0CBJ0sCBA9WsWTNdeeWViomJ0dy5c9WqVSuNGjXKvZkABaR5c0d7zRorIwEAAO6ScVXBzz6T/Cz5fCYAAHCXl192tG+8Ubr6aiujAeBtcnUn+unTp7V27VqtXbtWQ4YMUXx8vNauXavffvvNvs0VV1yhwYMH2/ubNm1Sly5d9NtvvykhIUGvvvqqvvvuOwXx60AUAZ9+6mhPm8YP2AAAeIM//5S+/DK9XapU+g/aAACg6IqOljI8Wk+ffWZlNAC8Ua5Kgk2bNtX777+f7TY333yzbr75ZscB/Pw0dOhQDR06NO9RAhbJ8KWsxx+3MhIAAOAuDRo42qdOWRkJAABwh0qVHO2//7YyEgDeiieWAS5kfIL38uVWRgIAANzlhRcc7Zkz0+9EBwAARdfEibYMbal2bUvDAeClKKIDWTBNadIkR/+mm6yMBgAAuMP589Ijjzj6//ufldEAAID8OnzYVy++6Ciiz5plaTgAvBhFdCAL993naG/damUkAADAXcLDHe0//rAyEgAA4A7t24fa29HRloYCwMtRRAf+4+JFae5cR79tWyujAQAA7vDjj9I//6S3O3aUGjWyOiIAAJAft97quAP9//5PqljR0nAAeDmK6MB/ZHyY6P79VkYCAO6xa9cujRo1Sq1bt9aaNWsuu/1bb72l1q1bO/2JiIgolFiBgtKhg6O9aZOVkQAAgPzav19assRRRL//fkvDAVAM+FkdAOBJzp+XVqxIbwcGOn/sGwCKojlz5mjBggUaPXq03nzzTZ0+ffqyc44fP66UlBQtWrTIPubnx38ZUHQ9/rij/e67kq+vldEAAID8atjQ0Y6LM7hHFECB4ydiIIPISEf70CErIwEA97jjjjs0duxYSdKYMWNyPK9UqVJq3bp1AUYGFI7kZOnZZx39oUOtjAYAAOTXgw862tOmxat06dJWhgOgmKCIDvzr3Dlpy5b0do0aUuXKVkcEAPlXpkyZPM07cOCAIiIiFBgYqLZt22rChAkKDg52e3xAQWvVytE+eNDKSAAAQH4dP56+/vklI0cmSaKIDqDgUUQH/tWtm6P9yy9WRgIA1ipRooSGDRumnj17KjY2VjNmzNDixYu1a9cul3f6pKSkKCUlxd6Pj4+XJBmGIcMw8h2TYRgyTdMt+7IauRSeAwekP/5I/3h38+amatc25SpUT88lN8jFM5GLZ3J3Lt5wTgBPVr26o33ypCHTtDIaAMUJRXRAUmKitHNnertePSkkxOqIAMA6Dz30kPz9/e39q6++WvXr19e8efP0yCOPZDlnxowZmjJlSqbx6OhoJScn5zsmwzAUFxcn0zTl41O017wkl8LTsGEVe3vFilOKinK9rafnkhvk4pnIxTO5O5eEhAS3xAUgs1mzHO1Jk6TQUGX73g4A7kQRHZDUo4ejvW2blZEAgPUyFtAlqUKFCmrRooV2797tcs6kSZM0fvx4ez8+Pl5hYWEKDQ11yzIwhmHIZrMpNDTUKwo25FLwli51tB97zFRYWKVst/fkXHKLXDwTuXgmd+cSGBjolrgAOIuLkx591NF/9lm5/HQZABQEiugo9pKTHWuhV6/OXegAkJUTJ06ocePGLl8PCAhQQEBApnEfHx+3FVhsNptb92clcilYpindcoujP326TZLtsvM8MZe8IhfPRC6eyZ25eMP5ADxRxp/T//rLykgAFFe8w6PY69XL0d61y8pIAMAa8+fPV0REhL0/ffp0+5rmpmlq5syZ+vPPP3VLxqok4MEefNDRXr/eykgAAEB+rVvnuOv85pulOnWsjghAcUQRHcVaaqq0YUN6u0KF9DXVAMCbbNu2Ta1bt1br1q0lSU899ZRat26tadOm2bc5fvy4dmX4LWK5cuXUsGFDNWzYUJUqVdKcOXP04YcfqlvGJzADHio1VXr1VUf/2mutjAYAAOSHaUo9ezr6n3xiZTQAijOWc0GxNmSIo71nj5WRAEDBaNy4sV5//fVM46EZfms4atQo9evXz94fO3asxowZo7/++ktBQUGqWrWqbLbLL4UBeIKMzzk5eNDKSAAAQH5l/Jl95UqJ/5ICsApFdBRbhuH80LGqVa2MBgAKRpkyZex3obtSrVo1VatWzWnMx8dH9evXL+DoAPc6e1b69tv0dqVKUt26VkcEAADy6uRJ6cMPHf3eva2MBkBxRxEdxdbDDzva+/ZZGQkAAHCHjM++3bvXykgAIH/OnTunxYsXa+fOnbrzzjvVtm3bbLdfs2aNPv/8c6exoKAgvfTSSwUcKVBwMt7odvq0lZEAAGuioxh7+WVHu0EDKyMBAAD59ddf0qlT6e1u3aTy5a2OCADyZvny5WrQoIG2bdumN954Q/v377/snB07dmj9+vVq2bKl/U/z5s0LJV6gIHz8saM9dqwUEmJlNADAnegophYscLQ3bbIyEgAA4A716jna69dbGQkA5E/z5s21d+9eBQcHa+HChTmeV6lSJd1zzz0FGhtQGExTuuUWR/+116yMBgDSUURHsXT33Y52ly5WRgIAAPJr+3ZHe/Royd/fymgAIH/Cw8PzNO/kyZN65JFHFBgYqLZt26pPnz5ujw0oDHfe6Whv2GBlJADgQBEdxc7GjY72okVWRgIAANwh41LB8+ZZGQkAWKdWrVoKCQlRbGyshg8frvbt22vFihXy8cl6FdeUlBSlpKTY+/Hx8ZIkwzBkGEa+4zEMQ6ZpumVfViOXwpOQIL39tuNrtmtXQ65C9fRccoNcPBO5eCZ355LT/VBER7HTvbujPXy4lZEAAID8yrgs25Qpks1mZTQAYI0RI0boiSeesPfvvPNOtWjRQosWLdLIkSOznDNjxgxNmTIl03h0dLSSk5PzHZNhGIqLi5Npmi4L+UUFuRSe5s1D7e1ffolSVJTr4pan55Ib5OKZyMUzuTuXhISEHG1HER3FyvHjjvbYsVZGAgAA3KFbN0f7qaesjAQArFO9enWnfsOGDXXVVVdpy5YtLovokyZN0vjx4+39+Ph4hYWFKTQ0VMHBwfmOyTAM2Ww2hYaGekXBhlwK3p49UkxMekzdu5tq1qxittt7ci65RS6eiVw8k7tzCQwMzNF2FNFRrHTu7Gi/8oqVkQAAgPz65htHe9YsKyMBAM+TnJystLQ0l68HBAQoICAg07iPj4/bCiw2m82t+7MSuRS8li0d7S+/tMnH5/IfL/PUXPKCXDwTuXgmd+aS030U/bMG5FBqqvT33+ntli0lX1+rIwIAAPlxzTWO9sSJVkYCAIVr5cqVTneRr1q1yun1devWadeuXerZs6cF0QG59+67jvbMmZIft3wC8DB8W0KxkXH5li+/tDISAACQX+vWOdovv2xlJADgXnv37tXs2bPt/UWLFmnz5s3q3Lmzbr/9dknSTz/9pLfeeksvvfSSJOmzzz7T//73P7Vo0UIxMTHauHGjHn74YQ0ePNiyPIDcGDbM0f7f/6yMBACyRhEdxcabbzraFbNfWg0AAHi4jDdXjhtnZSQA4F5lypRRy3/XtZg3b559PCwszN6+4YYbVKtWLXv/zTff1MGDB7V9+3YFBQVpwYIFTtsDnm7sWGnOHGnzZqsjAYCsUURHsfDZZ472hg1WRgIAAPLr228dbZ5xAsDbVK9eXffcc0+227Ru3VqtW7d2GqtXr57q1atXwNEBBeO119L/AICnYk10FAs33eRod+9uZSQAACC/IiIc7QcesDISAAAAAMUBRXR4vehoRzvDs3cAAEARtHu3o/3UU1ZGAgAAAKC4oIgOr3fjjY72rFlWRgIAAPKrRQtH++mnrYwEAAAAQHFBER1ezTSlH35Ib1eqJPnxFAAAAIqsQ4cc7ZEjJZvNymgAAAAAFBcU0eHV3nrL0d640cpIAABAfjVt6mi/8YaVkQAAAAAoTiiiw6vddZej3aiRlZEAAID8OH1aSkpKb19/veTra3VEAAAAAIoLiujwWlFRjvbjj1sZCQAAyK+rr3a0ly+3MhIAAAAAxQ1FdHit/v0d7SlTrIwEAADkx8WL0u7d6e169aTAQKsjAgAAAFCcUESH19q8Of3v4GA+8g0AQFH2wAOO9nffWRkJAAAAgOKIIjq80sqVjvZXX1kZCQAAyK958xztqlWtjAQAAABAcUQRHV6pTx9Hu00bKyMBAAD58f77jjZ3oQMAAACwgl9eJm3ZskU7d+5Ujx491KBBg8tun5aWpq+//lqHDx9WeHi4unXrJpvNlpdDA5d18aKjPWCAlZEAAID8GjrU0e7c2cpIAAAAABRXuSqib9q0Sffff79KliyprVu36r333rtsET0xMVE9evTQ8ePH1bFjR02ePFmtWrXSp59+qhIlSuQ3fiCTp592tN9808pIAABAflx6mKgkzZ5tZSQAAAAAirNcFdH9/Pz07rvvqkWLFjm+k3zWrFk6fPiwdu/erZCQEB0+fFjNmjXTggULNGbMmLzGDbg0fbqjXa6clZEAAID8aNnS0X7wQSsjAQAAAFCc5WpN9I4dO6pFixa5OsDHH3+swYMHKyQkRJJUq1Yt3XDDDfr4449zFymQA1FRjvbMmVZGAgAA8uP8eck009s33mh1NAAAAACKszytiZ5Tqamp+vPPP9W4cWOn8caNG+vrr792OS8lJUUpKSn2fnx8vCTJMAwZhpHvuAzDkGmabtmX1cjF2YgRNknpn5KYMMGQVaeF6+KZyMUzkUv2+wOKqzvvdLQ/+MDKSAAAAAAUdwVaRE9MTJRpmir3nzU1ypcvby+MZ2XGjBmaMmVKpvHo6GglJyfnOy7DMBQXFyfTNOXjk6ub8T0OuThbvbqKvR0TE5XttgWJ6+KZyMUzkYtrCQkJbokLKIo++sjRLlXKykgAAAAAFHcFWkQPDAyUsigCxMfHKygoyOW8SZMmafz48U7bh4WFKTQ0VMHBwfmOyzAM2Ww2hYaGekXBhlzS7d/vaH/yiaFKlSq5N8Bc4Lp4JnLxTOTi2qX3UaC4WbHC0d60ycpIAAAAAKAQiuhhYWH6+++/ncb/+usvhYeHu5wXEBCggICATOM+Pj5uK7DYbDa37s9K5JJu+HBHu39/688F18UzkYtnIpesecP5APKib19Hu0sXKyMBAAAAgFw+WDQntm3bpjfffNPe79u3r5YuXWpf4zwuLk4rVqxQ34w/HQFusHVr+t+lS1sdCQAAyKvTpx3t++6zMhIAAAAASJerO9GPHTumzz77zN7/8ssvFRsbq6ZNmyoiIkKStHr1as2ePVt33323JOnJJ5/UypUrFRkZqR49eujTTz9V5cqV9cADD7g7FxRjf/zhaH/yiZWRAACA/Ojf39F++WUrIwEAAACAdLm6Ez0xMVF79+7V3r17NXbsWJUpU0Z79+7ViRMn7Nu0bdtWo0aNsvcrV66sXbt2acCAAYqNjdWoUaO0detWlSlTxr2ZoFi7/XZH+7rrrIwEAADkx8aN6X+XLSv5FejCgwAAAACQM7n60aRhw4Z67bXXst2mV69e6tWrl9NY+fLl9eCDD+YtQiAHdu5M/zskxOpIAABAXn3+uaN9qZgOAAAAAFbjiWUo8n77zdFeutTKSAAAQH706+dot2hhZSQAAAAA4EARHUXenXc62ldfbWUkAAAgr1JTHe3Bg62MBAAAAACcUURHkbdtW/rfQUFWRwIAAPLqiScc7fnzrYwEAAAAAJxRREeRdvKko/3221ZGAgAA8uO55xzt4GArIwEAAAAAZxTRUaRNmOBoDxhgZSQA4Lm+++473XbbbWrUqJFWrFiRozmbN29W37591aJFCw0YMEC//PJLgceJ4uvYMUf7lVesjAQAAAAAMqOIjiJt8WJH22azMhIA8EyzZ8/WpEmT1KtXL+3bt09xcXGXnbNjxw5FRkaqWbNmev3111WhQgV17dpVf/31V6HEjOLn1lsd7fvuszISAAAAAMiMIjqKrORkR3vaNCsjAQDPNWbMGG3evFm33357judMnz5dnTp10rPPPqsOHTro9ddfV9WqVfXiiy8WaKwovjZvTv87OFjy4X+nAAAAADwMP6agyJo509F++GErIwEAzxUQEJDrORs2bFDPnj3tfZvNpl69emnDhg1ujg6Qvv/e0V650spIAAAAACBrflYHAOTVlCmOdh5qRACALJw7d06xsbGqWrWq03iVKlV0LOPC1f+RkpKilJQUez8+Pl6SZBiGDMPId1yGYcg0Tbfsy2rk4uzGG22S0tdk69TJkFWnhevimcjFM5FL9vsDAADehyI6irxBg6yOAAC8R1pamiTJ39/faTwgIEAXL150OW/GjBmakvG3m/+Kjo5Wcsb1t/LIMAzFxcXJNE35FPH1PsjFwTSl06erSJJatEhVVNTpAogyZ7gunolcPBO5uJaQkOCWuAAAgGehiI4iadMmR/u556yMBAC8S5kyZeTv76+YmBin8ZiYGFWoUMHlvEmTJmn8+PH2fnx8vMLCwhQaGqrg4OB8x2UYhmw2m0JDQ72iYEMu6TI+IHzpUl9VqlTJvQHmAtfFM5GLZyIX1wIDA90SFwAA8CwU0VEkZajTqFYtKyMBAO/i4+OjVq1a6ccff9S9995rH9+yZYtat27tcl5AQECW66/7+Pi4rcBis9ncuj8rkUu6oUMd7fBw688F18UzkYtnIpesecP5AAAAmfEOjyJpx470v1kLHQDy77XXXlPbtm3t/dGjR2vZsmXatm2bJGnNmjXauHGj7rnnHgujhLfJuDrQrbdaGQkAAAAAZI8iOoqcpCRHe/ZsKyMBAM/3ww8/qFGjRmrUqJEkaeLEiWrUqJGefPJJ+zYxMTHav3+/vT98+HCNGzdO3bp1U+XKlTVw4EA999xzuu666yzJAd7p3DlHe+5cKyMBAAAAgOyxnAuKnJdfdrTvusvKSADA87Vo0UKfffZZpvFy5crZ2/fdd5+GDBni9Pr06dP12GOPKSoqSlWrVmWNV7hduXLShg1ShQrpbQAAAADwVBTRUeQ88YSj7cdXMABkKygoyH4XuisVK1ZUxYoVM42XKlVKderUKcDoUNx17251BAAAAABweZQgUWRdc43VEQAAAACA+8XExOitt97Szp07dd9996lz586XnfPPP//ojTfe0OHDhxUeHq57771XISEhhRIvAADejjXRUaQcPuxoP/uslZEAAAAAgPstXrxYLVu2VFRUlD7++GMdOnTosnOOHDmiVq1aadeuXWrfvr2++uortW7dWmfOnCmUmAEA8HYU0VGkZCyct21rZSQAAAAA4H6dO3fWwYMH9cILL+R4zjPPPKOqVavqs88+05gxY7RmzRqlpKTo5YwPlAIAAHlGER1Fyvz5VkcAAAAAAAWnZs2aCggIyNWc1atX6+abb5avr68kqWTJkurTp49WrVpVQFECAFC8sCY6iqS+fa2OAAAAAACsd/78eZ04cUI1a9Z0Gq9Vq5Y++ugjl/NSUlKUkpJi78fHx0uSDMOQYRj5jsswDJmm6ZZ9WY1cPBO5eCZy8Uzkkv3+coIiOoqMv/5ytCdPtjISAAAAAPAMycnJkqTSpUs7jZcuXdr+WlZmzJihKVOmZBqPjo7Odl5OGYahuLg4maYpH5+i/SF4cvFM5OKZyMUzkYtrCQkJOdqOIjqKjGnTHO1WrayMBAAAAAA8Q+nSpeXj45PpIaKnT59WuXLlXM6bNGmSxo8fb+/Hx8crLCxMoaGhCg4OzndchmHIZrMpNDTUKwo25OJ5yMUzkYtnIhfXAgMDc7QdRXQUGYsWWR0BAAAAAHiWEiVKqHHjxvr111+dxvfs2aPmzZu7nBcQEJDl2us+Pj5uK7DYbDa37s9K5OKZyMUzkYtnIpes5XQfRf+sodi56SarIwAAAAAA63zyyScaOXKkvT9kyBB9/PHHOn78uCTpjz/+0Jo1a3T77bdbGCUAAN6DIjqKhKgoR3viRCsjAQAAAICC8+uvv+qWW27RLbfcIkmaM2eObrnlFs2fP99pm2XLltn748ePV+vWrdWiRQtdd9116tChgwYOHKihQ4dakgMAAN6G5VxQJMyd62i3b29lJAAAAABQcEJDQ9WvXz9Jsv8tSfXq1bO3BwwYoCuuuMLeDwgI0KpVq7Rjxw4dOXJEL774opo1a1bIkQMA4L0ooqNIePFFqyMAAAAAgIJXuXJl+13orjRr1izLIvlVV12lq666qgCjAwCgeGI5FxQJ586l/12rltWRAAAAAAAAAChOKKLD4xmGoz1+vJWRAAAAAAAAAChuKKLD461d62jfeaeVkQAAAAAAAAAobiiiw+NlXA+9dGkrIwEAAAAAAABQ3FBEh8f75hurIwAAAAAAAABQXFFER5HRr5/VEQAAAAAAAAAobiiiw6MlJzvad91lZSQAAAAAAAAAiiOK6PBon37qaPfsaWUkAAAAAAAAAIojiujwaAsWONq+vlZGAgAAAAAAAKA4oogOj8ZDRQEAAAAAAABYiSI6ioRrr7U6AgAAAAAAAADFkV9uJ1y4cEErV67U4cOHFR4eruuvv16+2ayzsWXLFm3atMlpLDAwUOPGjctbxCg2UlMd7bvvtjISAAAAAAAAAMVVroro8fHx6t69u86fP6+uXbvqlVdeUd26dbVmzRoFBARkOeebb77RvHnzNHToUPtYyZIl8x85vN5XXznafftaGQkAAAAAAACA4ipXRfQZM2bozJkz2r17t4KDg3X8+HE1adJEb7zxhh544AGX88LCwjRz5kx3xIti5OOPHW0Xv6MBAAAAAAAAgAKVqzXRly5dqkGDBik4OFiSVK1aNd1www1aunRptvPOnj2rOXPmaOHChdq9e3f+IkaxkbGIDgAAAAAAAABWyPGd6BcuXNBff/2lhg0bOo03bNhQa9euzXZuWlqadu/erdjYWI0dO1Z33nmn5s6d63L7lJQUpaSk2Pvx8fGSJMMwZBhGTkN2yTAMmabpln1ZzZtzSU5O/x1PSIgpwzAtji53vPm6FGXk4pnIJfv9AQAAAAAAa+W4iJ6YmCjTNFW2bFmn8XLlyuncuXMu591888169NFH5eeXfqgtW7aoa9euioiI0MCBA7OcM2PGDE2ZMiXTeHR0tJKTk3MaskuGYSguLk6macrHJ1c343sc786liiTphhvOKyoq3urwcsW7r0vRRS6eiVxcS0hIcEtcAAAAAAAg73JcRA8KCpIy3BV+SVxcnEqVKuVyXpMmTZz6HTt21JVXXqmvv/7aZRF90qRJGj9+vL0fHx+vsLAwhYaG2peSyQ/DMGSz2RQaGuoVBRtvzCUlxZHLsGGBqlQp0NLYcstbrwu5eA5y8UzuziUwsGh97wMAAAAAwBvluIgeEBCgWrVq6cCBA07jBw4cUIMGDXJ1UF9f32zvXg8ICFBAFk+S9PHxcVuBxWazuXV/VvLGXNatc+TSrZuPimJq3nhdyMWzkItncmcu3nA+AAAAAAAo6nL10/lNN92kpUuX6vz585Kk06dPa8WKFbr55pvt22zevFmzZ8+293/55Renffz888/auXOnunXrlv/o4bWWLHG0fX2tjAQAAAAAAABAcZbjO9El6YknntDq1avVpUsXXXPNNVqxYoXq1aunsWPH2rf56quvNHv2bI0bN06S9Oijj8pms+nKK69UTEyMPvjgA/Xr10/Dhw93fzbwGp9+anUEAAAAAAAAAJDLInqFChW0Y8cOffzxxzpy5Igee+wxDRw40Gnplc6dO8tms9n7a9as0YYNG7R161ZVrlxZX331ldq3b+/eLOB1LlxI//vfpfgBAAAAAAAAwBK5KqJLUunSpTVy5EiXr0dGRioyMtJpLCIiQhEREXmLEMXa9ddbHQEAAAAAAACA4ownlsGj9expdQQAAAAAAAAAijOK6PA4x4452hTRAQAAAAAAAFiJIjo8zrp1jnaNGlZGAgAAAAAAAKC4o4gOj7N2rS0HWwEAAAAAAABAwaOIDo+T8U50AED+rVmzRl27dlWtWrUUGRmpLVu2ZLv97NmzVaVKFac/DRs2LLR4AQAAAADwJBTR4XESE9PvRPf1tToSACj6vv/+e/Xt21c33HCD1q5dq1atWikyMlJ79+51OefcuXOqXr26fv75Z/uf7777rlDjBgAAAADAU1BEh8fq0sXqCACg6JsxY4YiIyM1ceJENW7cWM8995zq16+vF198Mdt5JUqUcLoTvVKlSoUWMwAAAAAAnoQiOjxWx45WRwAARd93332na6+91mnsuuuu06ZNm7Kd9/vvvys8PFzNmzfXyJEjdezYsQKOFAAAAAAAz+RndQBARqbpaHfqZGUkAFD0JSQkKD4+XpUrV3Yar1y5so4fP+5yXnBwsKZMmaKePXsqNjZWTz/9tK666ir99ttvqlixYpZzUlJSlJKSYu/Hx8dLkgzDkGEY+c7FMAyZpumWfVmNXDwTuXgmcvFM5JL9/gAAgPehiA6PcuiQYyH0Dh0sDQUAijzz399M+vk5v937+fkpLS3N5bz7779fNpvN3l++fLnq1KmjefPm6cknn8xyzowZMzRlypRM49HR0UpOTs5HFukMw1BcXJxM05SPT9H+IB25eCZy8Uzk4pnIxbWEhAS3xAUAADwLRXR4lO3bS9jb5ctbGgoAFHmlS5dWYGCgYmJinMajo6OzXeM8YwFdkkqVKqWmTZvqjz/+cDln0qRJGj9+vL0fHx+vsLAwhYaGKjg4OF956N8ih81mU2hoqFcUbMjF85CLZyIXz0QurgUGBrolLgAA4FkoosOjbN/ub3UIAOA1fHx81Lp1a23evFljx461j2/atElt27bN8X4Mw9Dff/+t5s2bu9wmICBAAQEBWcbgrgKLzWZz6/6sRC6eiVw8E7l4JnLJmjecDwAAkBnv8PAoGe9EBwDk33333adPP/1U69evl2ma+vDDD7VlyxanovoLL7yghg0b2vtjx47V/v37JUmJiYl66KGHdPz4cQ0fPtySHAAAAAAAsBJ3osOj7NtHER0A3Gnw4ME6cuSIBg0apJSUFJUpU0ZvvvmmunXrZt/m3LlzOnXqlL0fGRmpgQMH6u+//9aFCxfUsmVLffnll2rVqpVFWQAAAAAAYB2K6PBIWawIAADIo0ceeUTjx49XfHy8ypYtm+mj5g8//LDuvfdee/+mm27STTfdpKSkJAUEBMjX1zeLvQIAAAAAUDxQRIdHymbZXQBAHvj6+qq8iyc2ly5dWqVLl840HhQUVAiRAQAAAADg2SiiwyNRRAcAAABQXP3555969dVXdfjwYYWHh+uhhx5S9erVXW7/4Ycf6p133nEaK126tD755JNCiBYAAO9HER0eiSI6AAAAgOLozz//VNu2bdWrVy/dcsst+uCDD9S2bVvt2rVLlSpVynLOwYMHdfjwYb388sv2sRIleN4UAADuQhEdHsM0HW2K6AAAAACKo6lTpyo8PFzvv/++bDabBgwYoPr16+vFF1/UrFmzXM4rW7asevbsWaixAgBQXPjkYBugUJw86WhTRAcAAABQHK1bt0433nijbDab9O8d5X369NHatWuznXf48GENHDhQQ4cO1auvvqqUlJRCihgAAO/HnejwGHv2ONouPqUIAAAAAF4rKSlJUVFRCgsLcxqvUaOGDh065HKej4+PevTooZ49eyo2NlYvvfSS3nrrLf34448KCAjIck5KSopToT0+Pl6SZBiGDMPIdy6GYcg0Tbfsy2rk4pnIxTORi2cil+z3lxMU0eEx9u1ztP+96QIAAAAAio0LFy5IkkqWLOk0HhQUZH8tKw888IBKly5t7/fr108NGjTQ66+/rgcffDDLOTNmzNCUKVMyjUdHRys5OTkfWaQzDENxcXEyTVM+PkX7Q/Dk4pnIxTORi2ciF9cSEhJytB1FdHiMgwepnAMAAAAovkqXLi0/Pz+dOXPGafz06dMqX758tvMyqlq1qq688krt3LnT5ZxJkyZp/Pjx9n58fLzCwsIUGhqq4ODgfOWhf4scNptNoaGhXlGwIRfPQy6eiVw8E7m4FhgYmKPtKKLDY2Tz6UQAAAAA8Hp+fn5q2rSpdu3a5TS+a9cutWjRIlf7OnPmjBo2bOjy9YCAgCyXevHx8XFbgcVms7l1f1YiF89ELp6JXDwTuWQtp/so+mcNXuPIEasjAAAAAABrDRs2TEuWLNHff/8tSdq5c6fWrVunYcOG2bd5//33NWDAAHt/3rx5Tsu9LFiwQL/99ptuvvnmQo4eAADvxJ3o8BjciQ4AAACguLv//vv1008/qXnz5mratKn27Nmj0aNH65ZbbrFvc+DAAX311Vf2fkxMjOrUqaPatWsrJiZGUVFRmjNnjq6//nqLsgAAwLtQRIfHiItjTXQAAAAAxZufn58++OADHTx4UEeOHFH9+vUVFhbmtM3tt9+uLl262PtPPvmkxo8frz179igoKEjh4eGZHk4KAADyjiI6AAAAAAAepl69eqpXr16Wr9WvX1/169d3GitVqpTat29fSNEBAFC8sCY6PE6tWqbVIQAAAAAAAACARBEdnqhGDasjAAAAAAAAAIB0FNHhcUJDrY4AAAAAAAAAANJRRIfHKVfO6ggAAAAAAAAAIB1FdHicsmWtjgAAAAAAAAAA0lFEh8ehiA4AAAAAAADAU1BEh8cpV860OgQAAAAAAAAAkCiiwxMFB1sdAQAAAAAAAACko4gOj8NyLgAAAAAAAAA8BUV0eJwyZayOAAAAAAAAAADSUUSHRzAzLINesqSVkQAAAAAAAACAg19uJ5w7d05LlizR4cOHFR4erkGDBsnf39/tc9ztyJEjiomJkSQZhqEzZ84oJCREPj7pv0eoWLGiatasWagxwcEwHG2K6ACKEt5fAAAAAADwbrkqop8+fVqdOnVS6dKldc011+jZZ5/V//3f/+nbb79VUFCQ2+a425EjR9SwYUMlJye73CYwMFD79u2j0GGRtDRHmyI6gKKC9xcAAAAAALxfrpZzmT59utLS0rRp0ybNmjVL3333nQ4ePKg5c+a4dY67xcTEZFvgkKTk5GT7nYQofBcuONoU0QEUFby/AAAAAADg/XJVRF++fLkGDhxov4O8QoUK6tOnj5YvX+7WOSh+zp93tAvpAwoAAAAAAAAAcFk5Xs4lJSVFhw8fVv369Z3G69evrxUrVrhtzqV5KSkp9n58fLz071qzRsbFs3Mop3Pyun8rGYYh0zSLXNz/lV5ET/+djr+/oSKejtdcF5GLxyIXz1DQ7y9F8ZwAAAAAAOBtclxET0pKkiQFBwc7jZctW1aJiYlumyNJM2bM0JQpUzKNR0dHX/Zj81k5c+ZMjreLiorK9f6tZBiG4uLiZJqm/SF2RVGJElKXLuXl53dByckJiooqurnIi66LyMVjkYtnKOj3l4SEhDxEBQAAAAAA3CnHRfRSpUrJZrMpLi7OaTw2NlalS5d22xxJmjRpksaPH2/vx8fHKywsTKGhoZkK8jkREhKS4+0qVaqU6/1byTAM2Ww2hYaGFrni0399842h6OhzCg2tVORz8abrQi6eiVw8Q0G/vwQGBuYhKgAAAAAA4E45LqL7+/urbt262rdvn9P4vn371LhxY7fNkaSAgAAFBARkGvfx8clTgSWnc/K6f6vZbLYiG/t/kYtnIhfPRC7WK+j3l6J2PgAAAAAA8Ea5+ul84MCBWrJkiX2N8hMnTmjlypUaOHCgfZuvvvrKaSmWnMwBAAAAAAAAAMAT5aqI/uijj6p8+fJq166dRo8erQ4dOqhVq1YaPXq0fZvNmzfr5ZdfztWcglaxYsXLfiQ+MDBQFStWLLSYAABFH+8vAAAAAAB4vxwv56J/Hwi6detWrVixQkeOHFGfPn10/fXXy9fX175NZGSkypUrl6s5Ba1mzZrat2+fYmJipH/X3z1z5oxCQkLsH5WvWLGiatasWWgxAQCKPt5fAAAAAADwfrkqouvfdc779+/v8vXOnTurc+fOuZpTGGrWrGkvYhiGoaioKFWqVPQfYAkAsBbvLwAAAAAAeDd+wgcAAAAAAAAAwAWK6AAAAAAAAAAAuEARHQAAAAAAAAAAFyiiAwAAAAAAAADgQq4fLGoF0zQlSfHx8W7Zn2EYSkhIUGBgYJF/8Bu5eCZy8Uzk4pnIxbVL73uX3gfzasmSJZo2bZoOHz6s8PBwPfvss+rRo4fb57jbkSNHFBMTI/17bs+cOaOQkBD7ua1YsaL9oa4AAOQU7y8AACC3ikQRPSEhQZIUFhZmdSgAABS6hIQElS1bNk9zv/rqKw0ZMkRz5sxRnz59tGjRIvXp00fbtm1TixYt3DbH3Y4cOaKGDRsqOTnZ5TaBgYHat28fhQ4AQI7x/gIAAPKiSBTRq1WrpqNHj6pMmTKy2Wz53l98fLzCwsJ09OhRBQcHuyVGq5CLZyIXz0QunolcXDNNUwkJCapWrVqe9/H888+rV69eGjVqlCTpscce0/Lly/XSSy/pnXfecdscd4uJicm2wCFJycnJiomJocgBAMgx3l8AAEBeFIkiuo+Pj2rUqOH2/QYHBxf5gs0l5OKZyMUzkYtnIpes5fUOdP1bhP/+++81bdo0p/FrrrlGy5Ytc9scAAAAAAC8WZEoogMAgNxLSEhQYmKiKlWq5DReqVIlnTx50m1zJCklJUUpKSn2/qX13A3DkGEYuY49p3Pyun8rGYYh0zSLXNxZIRfPRC6eiVw8Q0G/vxTFcwIAAC6PIjoAAF7uvw859fHxuezDSnM7Z8aMGZoyZUqm8ejo6Mt+bD4rZ86cyfF2UVFRud6/lQzDUFxcnEzT9IqH6ZKL5yEXz0QunqGg318uPc8LAAB4l2JZRA8ICNDkyZMVEBBgdSj5Ri6eiVw8E7l4JnIpOGXKlFFQUJCio6OdxqOiolS5cmW3zZGkSZMmafz48fb+pfXhQ0ND87S0TUhISI63++9d857OMAzZbDaFhoYWueLTf5GLZyIXz0QunqGg318CAwPzEBUAAPB0xbaI/vTTT1sdhluQi2ciF89ELp6JXAqOzWZTu3bttHHjRt1///328Q0bNqhDhw5um6N/c8/qlwc+Pj55KrDkdE5e9281m81WZGP/L3LxTOTimcjFegX9/lLUzgcAAMgZ3uEBAPBiDz30kL744gstWbJESUlJmjdvnn766Sc98MAD9m2mTZumKlWq5GoOAAAAAADFBUV0AAC8WJ8+ffTaa69pwoQJKl26tF588UV99NFHateunX2bixcvOq1bnpM5Ba1ixYqX/Uh8YGCgKlasWGgxAQCKPt5fAABAXnjtci4XLlzQqVOnFBoamuN16fIypzCkpKQoKipKlSpVuuw6u3FxcZnWsbXZbKpXr14BR5kzKSkpOnr0qKpUqaLSpUvnaE5ycrKio6NVpUoVlShRosBjzKmkpCQdP35c1apVU1BQULbbxsTEKDY21mnM399fNWvWLOAoc+bMmTPy9/fP8TWRpMTERJ09e1ZVq1aVr69vgcaXGzExMSpZsqRKlSp12W1Pnjypc+fOOY0FBQWpWrVqBRhhzsXGxso0TZUvXz7Hc+Lj45WQkKBq1arJZrMVaHy5cebMGfn6+qps2bKX3fbYsWOZHkQZHBzsUetenz17VqdPn87Rv3/9m/+FCxec7vYuTKNGjdKoUaNkGEaWHzN/4oknNGnSpFzNKWg1a9bUvn37FBMTI/27/u6ZM2cUEhJij6dixYoe830UAFA08P4CAADywivvRH/11VdVsWJFtWzZUiEhIZo8eXKBzCkMs2bNUoUKFdSyZUtVqFBBs2bNynb7RYsWqWnTpurZs6f9T+/evQstXleOHj2qiRMnqm7dugoPD9fKlStzNO+JJ55QSEiIWrZsqYoVK2ru3LkFHuvlHDx4UA8++KDq1Kmj8PBwbdq06bJzpk2bphYtWjhdlxEjRhRKvK6Ypqk33nhDDRo0UHh4uKpUqaKrrrpK27Zty3bexYsXdffddyskJERXXHGFqlWrpuXLlxda3K5ieuWVV1SnTh01btxYlSpVUseOHbV79+5s591zzz1q3bq103X5byHRCp9++qlatmyp8PBw1a5dW3Xr1tWnn36a7Zxz586pf//+qlixopo2bao6depo48aNhRazK4sXL1aTJk3UqFEj1ahRQ40aNdK6deuyndOvXz+1b9/e6bq8+OKLhRbz5SQkJKhdu3YKDw/XN998k+22J06cUEREhKpVq6b69evriiuu0K+//lposf6Xq2K4n9//s3ff4VFUXRzHf0kgCQRCS0INLaGH3pvSOwhIVVAQUAGVpgiKCr4qKKBYASsI0kRAkCpdpEhvUqXXJJQkQPrO+0dgYUk2ZCHZ3YTv53nymLlz7+ScO+CSs3fvZLL6Jq0j93YtXLiwqlSpYv6qUKGCxTEFDgDAw+D1BQAA2CrDrURftWqVhgwZokWLFqlNmzbatGmTmjZtqsDAQPXs2TPVxtjDwoUL9e6772rZsmVq3LixVq9erVatWqlkyZLq0KGD1XElSpRwaJEmKevWrZOPj4927NiR4lW+P/30kyZNmqS1a9eqVq1aWrhwoTp16qQyZcqoYcOGaR6zNatWrVKxYsW0adMmlSxZMsXjGjZsmOI3D+whMjJSu3fv1rJlyxQYGKiYmBi98sorat26tY4fP251xfD//vc/LVmyRAcPHlRAQIC+/PJLdevWTQcOHLBpPlLTlStXdPLkSa1fv15FihRRZGSkXnjhBbVu3Vr//fef3N3drY7t0aOHvvrqK7vG+yDbt2/XnDlzVLp0aZlMJo0bN05dunTRyZMnVahQoSTHDBo0SAcOHNDZs2fl6+urt956S0899ZSOHz/u0I8j7969W3/88YeKFy+uuLg4jRo1Su3bt9fFixeVM2dOq+Nef/11jRgxwq6xplT//v3VsGFDHTt27IF9e/ToodjYWIWGhsrDw0O9evVSu3btdPjw4WT/XAIAgMfb/v379dlnn+n06dMqUaKEeUFSao9JbWfOnGGVPwAg1TnF64uRwXTo0MFo0qSJRVu3bt2M2rVrp+oYe2jatKnRvn17i7Y2bdoYTZs2tTrms88+M8qVK2dcvnzZuHr1qh2itE1sbKwhyZg9e/YD+1avXt3o1auXRVu9evWMzp07p2GEKRcSEmJIMpYvX/7AvoMGDTJat25tnD9/3oiIiLBLfA/jxIkThiRj3bp1SZ43mUyGn5+fMXr0aIv2woULG2+88YadokyZXbt2GZKM3bt3W+3z1FNPGQMGDDDOnj1r3Lp1y67x2eK///4zJBkbNmxI8nx4eLjh7u5ufP/99+a2W7duGV5eXsbnn39ux0gfbOfOnYYkY+/evVb7VK1a1fjggw+MM2fOGNHR0XaN70F++ukno1q1asaFCxcMScaSJUus9j1y5IghyVi9erW57dSpU4Yk4/fff7dTxI4TFhZmSDLCwsJS5Xrx8fHGxYsXjfj4+FS5niORi3MiF+dELs6JXKxLjde/gwcPGtmyZTP69etnLF682OjcubPh6+trnDt3LlXHpHbsp0+fNjw9PQ1JVr88PT2N06dPP9T1HYk/886JXJwTuTin9JxLWr++pPT1L8Nt57J9+3bVrl3boq1evXratWuXTCZTqo2xB2tx7dixI9lxBw8eVOnSpVWwYEEFBARo0aJFaRxp6ouLi9OePXseKn9ntXTpUvO2PBUrVtSmTZscHVIihw8fliQVLFgwyfNnzpxRcHBwovtSp04dp7svd3J50CcfvvnmG1WrVk05cuRQ/fr1neZTHGFhYTp+/Li2bt2qYcOGqXbt2onm/Y59+/YpJibG4nyWLFlUuXJlp7gv165d0/Hjx7Vp0yaNHDlSTZs2VVBQULJj3nnnHVWvXl3ZsmVT69atdfr0abvFa82RI0f05ptv6pdffknR8xm2b98uSRb3pUiRIipUqJBT3BcAAOCc/ve//6lChQr69ttv1bZtW82ePdv8oO/UHJPaQkNDEz3X5n5RUVHmlYQAAKSEs7y+ZLgiemhoqPLkyWPR5uPjo+jo6EQPEHyUMWktPj5e169fTzKua9euKT4+PslxAQEB+vvvv3X16lVFRESod+/e6tSp0wP3uXY2YWFhio2NTTL/9PiPrmrVqmn//v0KDg5WWFiY6tSpo1atWjlFYfCOsLAwDR48WO3atVOJEiWS7HNn7p39vgQHB2v48OF67rnnkn0YZYsWLXTy5EldunRJwcHB8vHxUcuWLRUWFmbXeJOyZMkStWjRQk2aNNHOnTs1fvx4q4VbZ78vs2fPVvPmzdW8eXP9999/GjduXLL7bD/77LO6ePGiLl26pNOnTys8PFzt2rVTbGysXeO+V3R0tLp166YPPvggxdsWhYaGytPTM9GDR53lvgAAAOe0evVqtW3b1nzs5uamNm3a6M8//0zVMQAAIOUy3J7orq6uiQotMTEx0u1/SKTWmLTm6uoqFxeXJONycXGxWoC6/x9Oo0aN0ty5czV9+nTVqFEjzeNOLXfySyp/R92TR9GjRw/z956envriiy80d+5czZs3T2+88YZDY5OkW7duqV27dvL09NS0adOs9ksP9yUsLEytWrVSoUKFHvgg2pdfftn8fc6cOfX999/Lx8dHq1atUufOne0QrXU9evRQjx49FB8fr08//VSNGjXSrl27VK5cuUR9nf2+DBgwQAMGDFBsbKzef/991a9fXwcPHlTRokWT7D9kyBDz9/nz59dXX32lSpUqaceOHVZX46e10aNHK0uWLGrYsKGOHz+ua9euSbcfHHr+/PkkP73h6uqquLi4RO3Ocl8AAIDzuXnzpkJDQxP926JgwYI6c+ZMqo3R7UUC0dHR5uPw8HDp9l6zD/OJ7JSOedjrO5LJZJJhGOku7qSQi3MiF+dELs4hrV9fUjomwxXR/f39denSJYu2S5cuKWfOnPLy8kq1MWnNxcVFBQoUSDKuggULysXFJcXXKlq0qFOteE6JnDlzKlu2bEnmb+3BiulJ5syZVbBgQae4L5GRkWrTpo2uXr2qtWvXKleuXFb7+vv7S7fvw72c5b6EhYWpWbNmcnNz04oVK2z++5snTx5ly5bNKe7LHW5ubnrjjTc0YcIE/f7770kW0e+9L/feh0uXLjnVm2eZM2fWmDFjNHHiRC1btkwDBgxI0bg7xfbTp087rIh+/fp1BQcHq0WLFtI9L7Lvvfee1q9fr19++SXRGH9/f8XFxSk0NNTi4a6XL192ir8vac0wDOmeX8gflclkUkREhDw9PZP9JEN6QC7OiVycE7k4J3Kx7s7r3p3XQVvdWRTh6elp0Z4lSxbzQq/UGCNJY8eO1ZgxYxK1h4SEPPBj80m5evVqivsFBwfbfH1HMplMCgsLk2EYGeLPPLk4H3JxTuTiHNL69SUiIiJF/TJcEb1BgwZauXKlJkyYYG5btmyZGjRoYD4ODw9XcHCwAgIC5OLikqIxjnAnrtGjR1uN6/r167py5YoCAgKk23uJZ8p097ZGRkZq165dDl9VmxJXr15VWFiYihUrJhcXFz355JNauXKlBg8eLN3+h+jy5cvVvHlzR4f6QKGhobp165b5ycD335fLly/r+PHj6tOnjwOjvFtADwkJ0dq1a+Xr65uoz+XLlxUbG6tChQrJx8dH5cqV08qVK9W+fXvzNdatW6f33nvPARncFR4ebv6zsWrVKuXIkSNRn4sXL8owDBUoUEDx8fGJVgPv3btXN27cUGBgoN3ivt/9f1Z0+5MCERERypYtm7nt/PnzcnNzU758+RQUFKQ8efJo5cqVqlatmnQ71z179mj48OF2z+GOpHK5du2aoqOjLXI5e/asPDw85Ofnl+SYO88PcOR9mTx5ssVxaGiofH199e2336pNmzbm9tOnT8vLy0s+Pj6qV6+eMmXKpJUrV+rZZ5+VJG3btk1Xrlxx+OuLPdz5h8idN3kAAHicREREJPnv0QfJnj27MmfOrCtXrli0X7lyRblz5061MZI0cuRIDR061HwcHh4uf39/+fr6ytvb2+bYk/tZ9/dLbstFZ2QymeTi4iJfX990V3y6H7k4J3JxTuTiHNL69eX+N6GtyXBF9Ndff12//PKLXn31VT333HNavHixNm/ebPEQx1mzZql///6KjIyUp6dnisY4wogRI1S9enUNHz5cnTt31ty5c3Xw4EH99NNP5j7ff/+9RowYYd4yoEWLFurSpYuqVaum69eva+zYsYqKitKgQYMcmElCEfDChQvmvdzvFJFz5MhhLtx++umnmjJlinmv4FGjRumJJ57QmDFj1KpVK/3444+6fPmyxT/0HOHGjRu6dOmSxXYOx48fV65cucx7Uo8ePVorVqzQ8ePHJUnVq1fXsGHDFBQUpAsXLuidd95R/vz51bt3b4flERsbq6eeekqHDx/W/PnzFRYWZt4LPF++fOYi57Bhw3T48GHzgxBHjx6t7t27q3z58qpatao+/vhj5ciRQ3379nVYLrdu3VLLli0VHBysX3/9VSEhIQoJCZFuP1j0zp7U/fr1U1RUlFavXq2LFy/qmWee0WuvvaaSJUvq6NGj5r9z9xZF7e3IkSMaOnSo+vfvr4CAAF28eFEff/yxcubMqe7du5v7Pfvss8qZM6cWLVqkTJky6Z133tHbb7+tokWLqlixYnrrrbdUrlw5dezY0WG5bNu2TRMmTNALL7ygYsWK6cyZM/rggw9UtGhRdejQwdyvbdu2qlSpkqZNm6adO3fqgw8+UL9+/VS0aFHt3r1bI0aMUNu2bc1vEDizJ598Uu3bt9ekSZPk4+OjV155RcOGDZO3t7eyZcumV199VS1atFDNmjUdHWqaK1CggM6ePavs2bPb9Okpa+78Yn/27NmH+sXemZCLcyIX50QuzolcrDMMQxEREQ98uL01bm5uKl++vHbu3GnR/s8//6hy5cqpNkaSPDw85OHhkajd1dX1oQosKR3zsNd3tDvbqqbH2O9HLs6JXJwTuTheWr++pHRMhiuiBwYGasOGDXr//ffVq1cvFS5cWKtWrVL16tXNfXLkyKGAgADzJKVkjCMEBQVp7dq1+vDDD/X888+rePHiWrNmjYKCgsx9cuXKZbE6c/r06frkk0/03XffycPDQ1WrVtXPP/+s/PnzOyiLBDt37jQXjAMCAvTll1/qyy+/1DPPPKP3339fur2VRvHixc1jatWqpRUrVuiTTz7R3LlzVapUKW3YsEHFihVzWB6StGHDBvObEgEBAfrwww+l2/trv/7665IkX19fFSlSxDxm7ty5Gj9+vD799FPlyJFDLVu21BtvvPFQq1NSy5UrV3TixAllyZJFPXv2tDg3ceJEPfXUU9LtgvrNmzfN5zp16iRJ+uqrr/T111+rUqVK2rhxo0NzOX/+vC5fvixXV1d17drV4tx3332nhg0bSreLenf2fSxUqJAmTpyoSZMm6cCBA/Lz89OLL76o1157LdFKaHsqV66c3n33XX355Zc6dOiQcuXKpTp16mj27NkWnxQoWLCgxS96gwYNUpYsWfTNN98oPDxctWvX1gcffGD1YaT2ULduXUVFRWny5Mk6evSofHx81Lx5c7366qvKnj27uV/hwoWVN29eSVLNmjU1ePBgTZ48WceOHVOBAgX03nvvqV+/fg7LIylubm4KCAhItGVQ0aJFLe7T+PHjlTdvXr3//vuKiYlRy5YtHf6pDXtxdXVNk21rvL29033B5g5ycU7k4pzIxTmRS9Ie9d/FL7zwgt5++20NGzZMpUuX1pYtW7RmzRrNmTPH3OfHH3/Ur7/+quXLl6d4DAAAeHguxsNu1gYAAGAn4eHhypEjh8LCwtJ9wYZcnBO5OCdycU7kkrZMJpP69++v6dOnKyAgQP/995+GDh2qjz76yNxn9OjRmjRpkq5fv57iMQ/yqHNx5swZlSpVKtn91D09PXXkyBHztpfphclkUnBwsPz8/NLdCs77kYtzIhfnRC7OIa1fX1L6+pfhVqIDAAAAAJBeubq6aurUqRozZozOnj2rYsWKWTykXLdXnt954HlKx6S1woUL68iRI+btOU0mk65evarcuXObCzY+Pj7proAOAHAsZ3l9oYgOAACcnoeHh957770k925Nb8jFOZGLcyIX50Qu9pEvXz7ly5cvyXOFCxdOsliQ3Bh7uDeu9LzqEQDgXJzh9YXtXAAAAAAAeMyl9tY2GamITi7OiVycE7k4J3KxLqWvf+l71gAAAAAAAAAASEMU0QEAAAAAAAAAsII90QEAgNMwmUw2fyTvYcbYQ0rjio+PV2xsrEWbi4uLU+3PGxUVJXd3d5vm2Rnvi2EYio6OTlEucXFxiouLs2hzdXWVu7t7GkeZMoZhyMXFxeZxznpfUppLbGys4uPjLdrc3NyUOXPmNIrONo/rfYmJiZHJZLJoc6b7onv+X2vL/8se9n4CAICMx7n+pQYAAB5L8+fPV2BgoDJnzqzChQvru+++S5Mx9jBz5kwVK1ZMmTJlUrFixTRz5sxk+3/55ZfKmjWrcubMaf7KkyeP3eK1JiwsTF988YXKlCmjLFmyaN68eSkaN2XKFPn7+ytz5swqUaKEFi5cmOaxPsiVK1c0fvx4lShRQlmyZNGqVaseOOb111+Xl5eXxX2pXLmyXeJNztKlS9WoUSN5e3srZ86ceuqpp3T06NFkxxiGoTFjxsjPz0+ZM2dWpUqV9Ndff9ktZmsx/fbbb6pfv76yZcum3Llzq0uXLjp9+nSy4zp37qxs2bJZ3JennnrKbnFbs3XrVrVp00Y5c+aUl5eXnnjiCW3atCnZMbGxsRo0aJBy5swpDw8P1a1bV/v377dbzNasX79ezZo1k7e3t7Jnz64mTZpo586dyY6pU6eOsmfPbnFfBgwYYLeYHyQmJkY1atRQlixZtGzZsmT7hoeHq2fPnvLy8pKnp6datWqls2fP2i1WAADgnCiiAwAAh9q2bZu6d++u119/XREREfrkk080YMAA/fHHH6k6xh7Wrl2r3r17a/To0bpx44bee+899erVS+vWrUt2XNmyZRUVFWX+unHjht1itmbGjBk6fvy45syZk+IxCxcu1GuvvaZJkyYpIiJCr732mrp06aIdO3akaawP8t133+ny5cuaMWOGTeNatmxpcV8OHjyYZjGmxM2bNzV58mS9++67unTpko4ePSoXFxc1a9ZMt27dsjru888/16effqpff/1VYWFhatGihVq1aqVz587ZNf57Xbx4UbNnz9a4ceMUGhqqffv26dq1a2rZsmWiTwDc7+WXX7a4Lw8qitrDt99+q8GDB+vixYs6f/68KleurBYtWig4ONjqmJEjR2r+/Plav369QkJCVLJkSTVv3lwRERF2jf1+3377rUaNGqXQ0FCdOnVKhQsXVpMmTXTz5s1kx/3vf/+zuC/O8samJA0fPlxFixZNUd8XXnhBe/bs0YEDB3T27FnFx8erTZs2iT4BAQAAHi8uhmEYjg4CAAA8vp555hmdOXPGYtVm+/btFRERoTVr1qTaGHto166dYmJitGLFCnNbkyZN5OXlpd9//z3JMZMmTdL3339vXoHqbFsHxMXFKXPmzJo9e7a6deuWbN8nnnhCBQoUsCi8V6tWTeXKldP06dPtEG3yQkND5evrq+XLl6tFixbJ9h08eLCOHz+uxYsXO902G/c6duyYSpYsqY0bN6p+/fpJ9ilcuLCeeeYZjRs3Trq9dUiBAgX00ksvacyYMXaO2Lrt27erRo0a2rdvn8qXL59kn/bt26tQoUL64osvnPq+nDhxQgEBAVq/fr2efPLJROcjIyPl6+urcePG6ZVXXpFur4D29fXVV199pX79+jkg6qTt2rVLVatW1Z49e1SxYsUk+1SrVk2dOnXS8OHDne6+LF26VMOGDdPKlStVtGhRLVmyRG3atEmy7+nTpxP1OXLkiEqXLq1Vq1apadOmdo7evsLCwpQzZ06dPXtW3t7ej3w9k8mkkJAQ+fr6Ot2fC1uRi3MiF+dELs6JXKwLDw+Xv7+/rl+/rhw5cljtx57oAADAobZs2aJnnnnGoq1hw4Z6++23re5H+zBj7GHLli0aOnRoorg+//zzZMcdPXpUWbNmlZubm6pWrapx48apdu3aaRxt6oqPj9c///yjzz77zKK9YcOGVt9AcHZr1qyRp6envLy8VKdOHU2YMEFlypRxdFgWLl68KEnKlStXkufPnz+vs2fPWhRyXV1dVb9+fW3ZssVucabEg3K546efftKUKVOUK1cuNWnSROPHj1ehQoXsFKV1d/bcDg0N1ccff6ySJUuqevXqSfbdt2+fbt68aXFfvL29VaVKFW3ZssXhRfQ7uVy6dEkTJ05U5cqVVbZs2WTHfPDBB3r77beVN29etW3bVmPHjlXu3LntFnNSzp8/r379+mnx4sXy8vJ6YP+tW7dKksV9KVWqlPLly6ctW7Zk+CL6nU9B+Pv7OzoUAADsLiIigiI6AABwXpcvX5avr69Fm5+fn27evKkbN24oe/bsqTImrZlMJvNK5/vjCgkJsfrgwLx582rmzJlq1aqVbt26pdGjR6tRo0bavXu3SpcubccMHk1YWJiio6OTzP/y5csOi+thBQYGauHChWrQoIGCg4M1ePBgPfnkkzp48GCiHB0lKipKQ4cOVf369RUUFJRknztzn9R9edBe6vYUERGhN998U23atEm2IF69enW9/vrrqlGjhv777z+9+OKLatq0qXbv3i1PT0+7xny/7777ToMHD1Z0dLT8/f31+++/K2vWrEn2Te6+OMPfl/Hjx+u9995TTEyMAgIC9McffyT7kNCmTZvq22+/Vfny5bVv3z716tVLHTp00Lp16xy22s1kMqlHjx569dVXVa1aNYWGhj5wzOXLl+Xh4ZHoNcRZ7ktaK1CggM6ePavs2bOnypvRd1b2pdbKdkciF+dELs6JXJwTuVhnGIYiIiJUoECBZPtRRAcAAA5nMpmSPE7ul/iHGWMPScWVXEzdu3c3f58tWzZ99dVXWr16taZMmaJJkyalaaxpwdb8ndWdLTZ0ezuUGTNmqECBAvrll180ePBgh8am29vsPPvsswoNDX3gAyzl5PclOjpaTz/9tAzD0E8//ZRs37ffftv8fZkyZTRr1iwVLlxYK1asUPv27e0QrXUvv/yyXn75ZV29elXvv/++GjRooL179ya7F7ez3pcRI0ZoxIgRCg4O1ltvvaUnnnhCBw4ckJ+fX5L9x44da/6+atWq+vbbb1WnTh3t2rVL1apVs2Pkd3388ceKjo7WoEGDFBUVpejoaOn2A11jYmLk7u6e5Likdjt1lvuS1lxdXdPkUx3e3t7pvmBzB7k4J3JxTuTinMglacmtQL8jfW+CAwAA0r38+fMnevhecHCwsmXLpmzZsqXamLTm6uoqPz+/JOPy8/NL8WpMV1dXlS5dWv/9918aRZo2cubMqSxZsiSZf758+RwWV2rx8vJSkSJFnOK+xMfHq0ePHtq+fbvWrVuXbNErf/780u37cC9nuS/R0dHq2LGjTp06pXXr1snHx8em8f7+/sqePbtT3Jc7cufOrc8++0yZMmXS3Llzk+zj7PflDj8/P02ePFnh4eFauHBhiseVK1dOkhx6X3bv3q1du3Ypd+7cypkzpwICAiRJXbt2tbonev78+RUTE6Pr169btDvbfQEAAPZHER0AADhUvXr1tG7dOou2NWvWqE6dOubj+Ph4RUVF2TTGEazFVbduXfNxfHy8eUVkUuLi4nTgwAGn2OP5QeLi4sy5uLq6qnbt2g/M31nFxcUpJibG6vnw8HCdOHHC4fflTgF98+bNWr9+vYoVK5aoz52VtrpdFCxevLjFfYmLi9OGDRscfl9iYmL09NNP69ixY1q/fr25sHyv2NhYxcbGWr3Gf//9p4iICIffl/vd2VPczc3N3BYTE2POpUKFCsqePbvFfbl27Zp2797t8Ptyv5iYGMXHx1vNJSm7d++WJIfel3nz5ikqKsr8de7cOUnSggULtGrVKnO/6OhoxcXFSZLq1KkjFxcXi/ty4MABBQcHO919AQAAdmYAAAA40O7du43MmTMbY8eONS5cuGBMmTLFcHNzM1avXm3uM3nyZEOSERkZmeIxjvD3338bmTJlMj7//HPjwoULxmeffWZkypTJ2Lx5s7nP+PHjDTc3N/Px008/bSxdutS4fPmyceTIEePZZ581smTJYuzfv99BWSSIj483IiMjjRs3bhiSjJ9//tmIjIw0YmNjzX3efvttI0+ePObj5cuXG5kyZTK+//5748KFC8b//vc/w93d3WlyOXfunCHJWLx4caJcBg4caAQEBJiPmzRpYqxbt84ICQkx9u7dazRr1szw8fExLl686KAsEvJ49tlnjQIFChgHDx40IiMjzV/x8fHmfs8++6xRtWpV8/HUqVONrFmzGr///rtx7tw54+WXXzZy5cplXLp0yUGZGEZMTIzRrl07o1ixYsZ///1nNZfWrVsbjRs3NgzDME6dOmV06dLF2LJli3HlyhVjy5YtRtWqVY0SJUqY/9/gCHv37jV69+5tbN++3bh69apx8OBBo1u3boa3t7dx+vRpc78nn3zSeOqpp8zH77zzjuHj42OsX7/eOH36tPH0008bRYoUMW7evOmgTAzjr7/+MgYOHGjs2rXLuHbtmrF3716jbdu2hq+vrxESEmLuV7FiReP55583DMMwNm/ebLz00kvGzp07jStXrhirV682AgMDjTp16hgmk8lhudwvJCTEkGQsWbLEor1IkSLGoEGDzMc9e/Y0AgMDjV27dhlHjx416tata9SsWdOpckkvoqKijPfee8+IiopydCiPjFycE7k4J3JxTuTy6CiiAwAAh1uxYoVRtWpVw9vb2wgKCjLmzJljcf67774zPDw8LP6h9KAxjrJo0SKjYsWKRvbs2Y2KFSsaixYtsjj/2WefGV5eXubjPXv2GB07djTy5ctnFClSxOjYsaPDi86GYRirVq0yPDw8En298sor5j6jR482ChYsaDHul19+McqVK2dkz57dqFatmrFq1SoHRG9p3rx5SeYyatQoc5/BgwcbZcuWNR9v2LDBaNGiheHr62sEBgYazz//vHHq1CkHZZDg3LlzSebh4eFhzJo1y9yvd+/eRp06dSzGfvbZZ0ZAQIDh7e1tPPHEE8bOnTsdkMFdBw8etJrLsmXLzP06dOhgtGzZ0ny8cOFC44knnjBy585tlC5d2nj11VctiruOYDKZjDlz5hh169Y1cufObQQEBBg9e/Y0Dh8+bNGvadOmRufOnc3H8fHxxjvvvGMULlzYyJkzp9GyZUvj2LFjDsjgrvj4eOOnn34yatasaeTKlcsoUaKE0bdvX+PEiRMW/WrUqGH07dvXPGbatGlGzZo1jdy5cxtBQUHG22+/bURERDgoi6SFhoYm+vNlGIZRsmRJ4/XXXzcf37x50xg4cKCRL18+I3fu3Ea3bt0c+oYTAABwDi5GUk9OAQAAAAAAAAAA7IkOAAAAAAAAAIA1FNEBAAAAAAAAALAik6MDAAAAAAAA6UtERIR++OEHHTt2TEWKFNELL7wgHx+fVB9jD9euXdOPP/6oEydOqHjx4nrhhReUK1cuq/1Xr16tOXPmWLS5ublp6tSpdog2eeHh4ZoxY4Z2796tl156SdWrV3/gmODgYP300086c+aMSpYsqT59+ihbtmx2iTc5V69e1bRp0/Tvv/9qyJAhKleuXLL9586dqz///NOizc/PTx999FEaR5q8+Ph4/f7779q6davc3d315JNPqmnTpg8cd+rUKf38888KDg5WpUqV9Pzzzytz5sx2idma2NhYLViwQNu3b1fWrFnVpEkTPfHEE8mO+frrr7V7926LtrJly2ro0KFpHO2DrVixQuvXr5dhGKpatao6duyoTJmSL5UePHhQs2fPVlhYmOrUqaNu3brJxcXFbjEnxTAMLVmyRJs2bZKbm5tq1qypdu3aydXV+trpDz74QKdOnbJoq1u3rnr37m2HiFNm6tSp2r59u1577TVVqFAh2b5bt27VggULFBMTo2bNmqlVq1apHg8r0QEAAAAAQIqFhYWpRo0amjNnjooWLaqVK1eqUqVKunDhQqqOsYfQ0FBVrVpVv//+u4oWLapFixapatWqCg0NtTrmwIEDWr58uWrVqmX+qlmzpl3jTsrcuXNVunRp7du3Tz/88IP++++/B445d+6cKlWqpNWrV6to0aKaOXOmatWqpYiICLvEbM3333+v8uXL699//9UPP/ygs2fPPnDMli1btH37dov7UrlyZbvEa010dLTKlSunWbNmycfHR66ururatatefPHFZMft3btXFSpU0IEDB+Tv76/x48erWbNmio+Pt1vs97t27ZrKli2rRYsWKV++fIqJiVGbNm00fPjwZMf9+eefOnHihMV9KVOmjN3itqZVq1aaMmWKfHx8lD17dr355ptq0qSJ4uLirI5ZvXq1qlSpokuXLilfvnx644039Oyzz9o17qTUr19fM2fOVL58+eTp6amBAweqXbt2Su4xmIsWLdK1a9cs7ktAQIBd407O2rVr9cEHH+iHH37QmTNnku07ffp0PfHEE4qLi1OOHDn0zDPP6K233kr9oBz9ZFMAAAAAAJB+jB492sifP79x48YNwzAMIzo62ihdurTRv3//VB1jD6+//rpRrFgxIzIy0jAMw7h165ZRpEgR44033rA65rPPPjPKlStnxyhT5tixY8aNGzeM2NhYQ5Ixe/bsB47p27evUaFCBSM2NtYwDMMICwszfHx8jA8//NAOEVt3+PBh49atW0ZISIghyVi+fPkDxwwaNMho3bq1XeJLqdjYWOP48eMWbcuWLTMkGYcOHbI6rkmTJkarVq3Mx6dPnzYyZcpk/PLLL2kab3Ju3rxpnDlzxqJt1qxZhiTjwoULVsc99dRTxsCBA+0QoW1Onjxpcbx7925DkrF161arY8qUKWP069fPfPzPP/8YkowNGzakaawPcn8u69atMyQZhw8ftjqmatWqxtixY+0Qne2Cg4ONwoULm/+uLFmyxGrfyMhII1euXBb/z5o3b57h5uZmnDhxIlXjYiU6AAAAAABIsSVLlqht27by8vKSJLm7u6tTp05asmRJqo6xhyVLlqhDhw7y9PSUJGXJkkUdOnR4YFyhoaEaOnSo3nzzTf36668ymUx2iti6wMBA8/ym1JIlS9SpUyfzFhbe3t5q06aNw+9LqVKllCVLFpvH/ffff3rttdc0atQoLV++PE1is0WmTJkSre4tVaqUJOny5ctJjrl586bWrl2rbt26mdsKFy6sevXqOfS+ZM2aVf7+/hZtd3IJDg5OduzOnTv1yiuvaMyYMdq0aVOaxplSRYsWtTgODg6Wm5ub1S2mjh8/rkOHDql79+7mturVqyswMNDhf1+SysXd3V05c+ZMdtzatWs1cOBAffTRR9qzZ08aR5kyhmHo+eef14svvpii7ag2bdqka9euWdyXp556Sp6enlq2bFmqxkYRHQAAAAAApNjx48cTFW2KFSumc+fOKTo6OtXG2MN///2XZFzHjx9PdlzJkiWVL18+eXh46LXXXlODBg0UGxubxtGmrhs3bujy5csPlb8zcnFxUUBAgIoUKaKYmBh169bNorDmLL799lvlyJFDVapUSfL8yZMnZTKZ0sV9+fbbb5U3b16VLVvWap9MmTKpSJEiCgwMVHBwsJo0aaIRI0bYNU5r1q1bp759+6p9+/Z65ZVXNHv2bKtbmtyZe2e9L0uXLlXfvn3Vpk0bvffee1qwYIHy5s1rtb+np6cKFSqkEiVK6NixY6pRo4a++OILu8aclIkTJyoiIiLFf0aOHz8uFxcXFS5c2Nzm7u6uAgUKpPp94cGiAAAAAAAgxSIjI5U9e3aLtjvHkZGR8vDwSJUxaS02NlZxcXFJxhUXF6e4uLgkHzLYrVs3DR482Hzcr18/lS1bVl9//bVFu7OLjIyU7rkPd2TPnt18Lj0ZPny48ufPbz7u2rWratSooa5du6p9+/YOje2ORYsWacKECfr5558Tzfsd6eW+TJ8+Xd9//70WLVqU7ANPv/zyS4v70rRpU3Xs2FFdu3Z1+J71efPmVa1atXT+/Hnt2bNH8+fPV4cOHZL8e5/cfbl586bdYramYMGCqlmzps6ePavdu3drwYIFatWqldWHnv76668W96Vq1aoaNmyYnn76aRUsWNCOkd+1Y8cOffzxx9q+fbvc3NxSNCYyMlJZs2ZN1D8t/r6wEh0AAAAAAKSYt7e3rl27ZtF29epVubq6Klu2bKk2Jq1lzpxZnp6eScaVJUuWJAtpkpQvXz6LY39/f9WpU0ebN29O03hTW/bs2eXi4pJk/t7e3g6L62HdWxDU7aJgYGCg09yXFStWqFu3bpo4caKeeeYZq/3uzL0z35dff/1V/fr103fffac2bdok2/f++9KuXTt5enpqy5YtaRzlg5UtW1Z9+/bVe++9p02bNmnBggWaM2dOkn2d/b5UqlRJ/fr10/vvv6+1a9fqxx9/1NKlS632v/++dO3aVTExMdq5c6cdok3auHHj5Ofnpw8++EB9+/bVkCFDpNtvxIwfPz7JMd7e3rp582aiTwKlxX2hiA4AAAAAAFIsKChI//77r0XbwYMHVapUKauF54cZYw/W4goKCrLpOpGRkTIMI5WjS1uenp4KCAhIlfydlbPcl5UrV6pDhw4aO3asBg0alGzf4sWLK0uWLE57X+bPn68ePXpoypQp6t27t83j4+LiFBsb6xT35V6FChWSn5+f1S1AypUrJ0kW98VkMunw4cNOcV/uVapUKWXNmtWm7UzurNp25H15+eWXNWTIENWqVUu1atVS1apVpdv5WNsy6M7c33tfwsLCdP78+VS/LxTRAQAAAABAinXv3l1Lly7VyZMnpdsPSJw3b57F/tMbNmxQ3759FRcXl+IxjtC9e3ctWLBA58+flySdO3dOCxcutIhr1apVeumll8zHixcvtig0rV+/Xn///bdatmxp5+htt2jRIvPqTt3Of/bs2QoNDZUkHTt2TCtWrHD4fUmJWbNm6a233jIfL1q0yOL8jBkzdPbsWYfflz///FPt27fXRx99ZDH39/rhhx/0wQcfSLc/IdGpUyd9//33ioqKkm4/PHH37t0WDxt1hAULFujZZ5/V5MmT9cILLyTZ58svv9Snn34q3V4N/Ndff1mc//jjj2UYhpo1a2aXmJNy4cIF7dixw6Jt7dq1unDhgmrVqmVuGz9+vL7++mvp9idQGjZsqG+++cb8IOF58+YpODhYXbp0sXMGd504cUIHDhywaFuwYIFu3bqlmjVrmtvef/99/fTTT5KkU6dOae/eveZzhmFo7NixypYtm+rXr2/H6C01adJEffv2NX/16NFDktSsWTO1bt3a3G/EiBGaO3eudPvhrgEBAfryyy/N5ydPniwPD48HfkrCVi6Gs731AwAAAAAAnFZ8fLy6dOmiv/76S/Xr19e2bdtUokQJLVu2TFmyZJEkTZkyRf3791dkZKQ8PT1TNMYRYmJi1L59e+3evdu8JUvlypW1aNEiubu7S5ImTJigESNGmN8QGDZsmP744w9VrFhR169f18aNG9W/f39NnDhRrq6OW6t48OBBffbZZzIMQz/++KMaNmyo4sWLq0GDBuZi1KhRozRlyhRz0fzmzZtq2bKlTp48qRo1amjjxo1q2LChZs+eneI9idPC9u3bNXXqVEVHR2vmzJlq3ry5ChUqpFatWqljx46SpFdeeUUrVqwwr7bt0qWLDh06pHLlyunChQvauXOn3nvvPQ0fPtxheVy9elWFChVSzpw51apVK4tzffv2NRdse/ToocOHD5sLu5cvX1ajRo0UFxensmXLas2aNerXr58m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jR8/Xu+8846mT5+us2fP6vLly8qRI4caN26sa9eupVm8AAAAgD1RRAcAAADsJF++fNq8ebP69+8vd3d3SVLFihU1atQoHThwQKtXr3ZIXB9++KH+++8/ffzxxykeExkZqQ8++EBdunRRu3btJEleXl6aPHmyLl++rM8//zwNIwYAAADsJ5OjAwBgXdWqVVWrVi19/fXXVvscOXJE06dP165duxQWFqbixYvr+eefV7NmzewaqyRdv35d06ZN04YNG3Tu3Dnlz59fDRo0UL9+/ZQ9e/YHju/UqZMOHz6cqL1ixYr65Zdf0ihqAADsp1atWkm2586dW5JStKXLyZMnFR0d/cB+WbJkSdHK8p07d+qDDz7QTz/9JF9f3wf2v2Pjxo0KDw9XixYtLNqLFi2qMmXKaMmSJRo9enSKrwcAAAA4K4rogBM7ePCg8ufPb/X8ypUr1aJFCzVu3FivvfaafH19tWzZMrVu3Vr9+vXTN998Y9d469Spow4dOqhPnz7y8/PTnj179O677+rrr7/W9u3bzQUCa44fP67s2bPru+++s2jPmjVrGkcOAIBjzZw5U7r9BvqDtGzZUkeOHHlgv6pVq2rHjh3J9omKilLPnj3VtGlTPfvss9q6dWuKYz506JAkKSAgING5wMBA/fnnnym+FgAAAODMKKID6Vh0dLQmTJigYcOGmdtq166t6OhojR8/Xn379lWVKlXsFs/u3bvl4eFhPq5Ro4b8/PzUoUMHzZw5U6+99toDr+Hl5aWgoKA0jhQAAOcxY8YM/fHHH+rcubPKly//wP7FixdP0XWLFi36wD4jRozQuXPntHLlyhRd815hYWGSlOSnzby9vRUZGamYmBjztjUAAABAekURHUjHWrVqpUyZEv81vvNR8X379tm1iH5vAf2OggULSrdXugEAAEvr1q3Tiy++qDJlymjq1KkpGrNs2bJU+dlr167VF198oa+++kr+/v42j3dzc5MkmUymROfi4+Mt+gAAAADpGUV0IB1LqoAuyfxR7AIFCjzwGu3atdOJEyce2C8oKEhz5syxKb7w8HCNGzdOuXPnVvfu3VM0Zt++fapbt66ioqJUtGhRPf300+revbtcXFxs+tkAADi7LVu2qF27dipcuLDWrFmjXLlypWhcau2J/vbbb6tUqVJq2LCh+Zkkp0+fliSFhITo8OHDKlq0qDw9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1q6V3N0dFhYAALDBhQsJnya7308/Sb16OSIiIPXs2rVLH330kWrWrClJ2rx5sxo0aKBy5crp2WefTXLMjz/+qK+//lp///23qlatqlWrVqlVq1YKCgpSy5Yt7ZwBAAAZD0V0AI+F3bulKlVcJeUwt7m5SZcuST4+Dg0NAACk0K1bUrVq0qFDlu0ffii99ZajogJS14svvmhxXKdOHeXNm1cnTpywOmbq1Knq1KmTqlatKklq1qyZGjRooKlTp1JEBwAgFVBEB5ChhYdL/v4J/73Xli1SrVqOigoAANjCMKTnnpNmzLBsf+aZhDZXNqlEBhMdHa1jx47p5s2bmj9/vgzDUM+ePZPsazKZtGfPHvW672MYderU0U8//WSniAHAuRhGwqK5Eyekc+ek4GApNFS6ciXhKzRUunpVunFDioqS4uKk+HgpPt5FsbF+MplclClTwifWs2WTsmdP+MqWTfL2lvLkkXx9pQIFpMKFE778/RPOu7g4OnukBYroADKswYOlzz+3bBszJlyjRmWTK79tAwCQLsyb56lBgyxft4OCpG3bpKxZHRYWkKbOnj2rbt266fr167p69arGjx+vokWLJtk3IiJCMTExypMnj0V7njx5FBoaavVnREdHKzo62nwcfnvViclkkslkeuQcTCaTDMNIlWs9Dpgv2zBftsko8xUZKe3alfBJ8507XbRrl3TgQGpXrF1uf911+fKjX9XT01CFClLFilK1aoZq1pTKlk34hHx6lhH+bKU0doroADKcLVukOnUs25o1k/74w6QrV25Jyuao0AAAQAodOiSVLesqKadF+4ULUv78DgsLsIvAwEAdOHBAkvT333+rRYsWcnFx0YABAxL1zZQp4df6mJgYi/bo6GhlzpzZ6s8YO3asxowZk6g9JCREUVFRj5yDyWRSWFiYDMNgAUsKMF+2Yb5sk17my2SS9u3LpI0bPbRpk7v++svD0SGlmqgoF/3zj/TPP9J33yVd+M+WzaR69WLUqFG0GjaMVqFCzl+YTi9/tpITERGRon4U0QFkGLduScWKJXxM617nzyd8xCodvzEKAMBj49YtqVw56dQpy/aNG6X69R0VFeA4devWVevWrbVw4cIki+heXl7KlSuXLl68aNF+8eJF+fv7W73uyJEjNXToUPNxeHi4/P395evrK29v70eO22QyycXFRb6+vum2sGJPzJdtmC/bONt8xcRIa9dKCxa46LffpOvXH201uaenoYoVpZIlpeLFDQUEyPzl42Pb9iomk0khISE2z1VMTMIb/WfOJGwhc+yYiw4flvbvl/77L2UB3LjhqhUrPLVihWeicyVKGOrQQerSxVClSs6zZYyz/dl6GJ6eiec7KRTRAWQIH30kvf22ZduMGVKPHo6KCAAA2GrkSGncOMu2ESMi9OGHXun2FzPAVjExMXJ3d7doO3funPLly2c+Dg4O1pUrV1SmTBlJUsOGDbVs2TK98cYbkiTDMLRs2TI1bdrU6s/x8PCQh0fiVZ6urq6p9vfNxcUlVa+X0TFftmG+bOOo+QoLk375Rfr++4RtWGyVPbvUuLHUqFHCm+lBQVKmRNVMFyvfP5yHmStPT6l48YSvBg0e3P/mzYSt6davT/j666/k+x875qJPPpE++cQyv1atpBdekNq2Tdi/3RHS+9/FlMZtcxE9PDxcu3btUmxsrCpUqKC8efMm2//ff//Vvn37LNrc3d3VsWNHW380ACRy/LhUooRlW/360rp16X9vMQAAHhc7d0rVqlm21awpbdhg0rVrNyV5OSo0wO6eeOIJ9erVSxUrVlRkZKR++eUXbd++XWvWrDH3+eabbzRp0iRdv35dkjRq1CjVrl1bw4cPV9u2bTV9+nRdvnxZr7/+ugMzAfC4iYmR5syRJkxIWIGdUlmySE8/LXXsKDVtmvBwzozOyyvhjYFGjZI+f/689Pvv0oIF0j3/+09k2bKEr3u1bSsNHSo9+aTzrFjPCGwqor/77rv64YcfVKJECbm5uWnLli165513NHLkSKtjFixYoEmTJqlJkybmNi8vL4roAB6JYUjdu0tz51q2Hz2auKgOAACcU3R0woqy48ct20+dkooUYSs2PJ4WLFigiRMnaubMmcqcObPKlSunffv2qVSpUuY+fn5+Klu2rPm4cuXKWrdunT755BMNHjxYJUqU0F9//WX1YaQAkBouXJC++EIaPz7lr9mdO0u9e0tNmkjJPLbhsVewoDRgQMLXva5dk+bPl6ZNkzZvTnrskiUJX3cULiy98YbUp0/CGxZ4ODYV0f39/XX06FF5eSWsBFmyZInatWunRo0aqWbNmlbHBQYGas6cOY8eLQAo4WncVatatk2YIA0b5qiIAACArb76Snr1Vcu2n36SevVyVESAcyhQoIAmTpyYbJ8BAwYk2h+9du3aWrhwYRpHB+BxFhqasO3aA/4XZdarl9S3r1SnDiuiU0uuXFK/fglfd8TESEuXSlOmSKtWJR5z5kzCv7nu/LsrZ86ELXH79HHcFjDpkU1F9H733iFJbdu2lbu7u/bu3ZtsEf3WrVtaunSpPD09VaFCBfn6+j58xAAeWyaT9MQT0t9/W7aHhUmp8OwjIMO6efOmdu/erdjYWJUvX14+Pj7J9j98+LAOHDhg0ebu7q527dqlcaQAHgenT0v3L46tUiVhX9DEe5wCAABHiY6Wvv464ZklMTHJ9y1bVho+POET4xRm7cvdXerQIeHrjtBQafLkhAWH4eGW/a9ft1zlXqZMwhsjLVrwZkdyHumfqRs3blRMTIyCgoKS7Xf69Gl98cUXun79uvbt26cxY8Zo+PDhVvtHR0crOjrafBx++26bTCaZUuEznSaTSYZhpMq1HI1cnBO5pL41a6RmzSwf9jB9usn84NCUhOcsuaQGcnFOqZ1Lalzn/fff19SpU1WsWDG5ublpx44dGj16tPnBY0mZP3++PvvsMzVs2NDc5uXlRREdwCPr2VOaOdOybf/+hC1dAACA4x07Jg0enHif7fs1by69955Uu7a9IoMtfHykd95J+JKkuLiE7XBHj068jd6hQwkPKL1j0KCEfjlz2jdmZ/fQRfQrV67ohRdeULt27VSnTh2r/Ro1aqRXX31VOXLkkCT9+uuv6tKliypXrmz1SeFjx47VmDFjErWHhIQoKirqYUM2M5lMCgsLk2EY6fbJsXeQi3Mil9T8+VKTJnl06NDdzdL8/OL1zz8h8vCQgoNtuRb3xRmRi3URERGPfA0/Pz8dPnxY2bNnlyQtWrRIHTp0UIMGDVS9enWr40qUKKH58+c/8s8HAN0ulFeoYNn23nsJv6ABAADHMQzp11+ll15KWKFsTcWKCVuAtGzJauX0KFMm6dlnE750+1MG338vvfVW4pXqn3+e8KXbD3r/7jupfHn7x+xsHqqIHhYWphYtWsjHx0cz719Kcp/7C+ydO3dWhQoVtGTJEqtF9JEjR2ro0KHm4/DwcPn7+8vX11feqbBng8lkkouLi3x9fTNEwYZcnA+5pI7t26VatSx/5tKlJrVo4SLJz+brcV+cE7lY5+np+cjXePnlly2O27dvL3d3d+3evTvZInpkZKRWrlwpT09PlS9fXrlz537kWAA8fgwj4ZftlSst269fl26vsQEAAHZmGAnPIenTJ/l+H3+csCrZw8NekcFePDykgQMTviTp0iVp1Cjphx8s+23bdnchhL+/NHu2VLeu/eN1BjYX0cPDw9WsWTO5urpq5cqV5pVttvD29lZISIjV8x4eHvJI4m+oq6trqhVYXFxcUvV6jkQuzolcHk379tLvv989DgiQjhyR3NweLQbui3Mil6SlxXxs2rRJMTExKleuXLL9Tpw4oU8++UTXr1/XoUOH9MEHH1i8wX0/tmJLOXJxTuSS+rZskerVs/z/2Pffm9S7d8L3bMWWfpFL8tcDAGdkMiU8ePJO0TQpQUHSN99I9evbMzI4g3z5Elamf/99wp+Vn3+WXn45YcX6HWfPSvXqJXyfN6/022+P13Y+NhXR7xTQJWnVqlXmLVrudeDAAR09elQdO3aUJF28eFH58+c3nz99+rR27dqlDvfudg8Atx0/LpUoYdm2cGFCUR3Ao7l27ZpeeOEFtW7dWnWTWT7QoEEDDRw4ULly5ZIkzZkzR927d1fFihXVuHHjJMewFVvKkYtzIpfUYxhSu3a5tWPH3aeKeXmZtH9/sLJkYSs2cnEuzrgVGwCkppUrpRYtXCXlS/L8U08lFM4LFLB7aHBSrq5Sr14JX5K0dav03HMJ++XfcfnynYK6q0qU8NHChdID1mmlezYV0du0aaODBw9qwoQJWr58ubk9KCjI/HDR+fPna9KkSeYieseOHVW5cmVVrlxZoaGh+vrrr1WhQgW99NJLqZ0LgHRu8OC7+25JCfus3bwpZcniyKiAjCE8PFwtW7ZUzpw5NWvWrGT71ruzvOC2bt266aOPPtLixYutFtHZii3lyMU5kUvq2L1bqlbN8mfOn29SwvoZtmIjF+fjjFuxAcCjOn1a6tw5YYvUpHTqJH31VcJqYuBBatWSjh5N+H7PnoQHxR84cPf8sWOZzA+J79JFmjo1Yz6U1KYietGiRVWgQAGtW7fO8iKZMpmL6EFBQXr66afN5zZs2KBffvlF27ZtU9asWTVhwgR16dIl3f9jC0DqCQ9PvC/qN99I/fs7KiIgY4mIiFCLFi0UFxen1atXP1RRO0eOHApOZvkoW7HZhlycE7k8mm7dpLlz7x7nzSudOSO5u7MV2x3k4pycfSs2AEiJmBjpzTelSZOSPt+sWZR+/tldefPy/yk8vEqVEh4Yr9v7pXfqZOjcubtPmp03L+FLSiim9+uXcR5Ea1MR/eeff35gn06dOqlTp07mY3d3d/Xu3Vu972x+CAD3WLJEatfOsu3KFYlnGAKp48aNG2rRooViYmL0559/KmcSSwL+/fdfHT9+XO1u/2W8fPmy8t6zLOXs2bPatWuX2rOvEoAknDolFStm2TZvXsIKOAAAkLZWr5aaNk36nK+vtGyZVKWKScHB1+Xra/unwgBrataUTp82FBx8WRs3+qlrV8s3aF56KeGrXDlp+fKEB5OmZ7z9BMAhDENq2NCygD5wYEI7BXQg9bRt21b79u3Tyy+/rDVr1mj+/PmaP3++/v33X3OfefPm6bnnnjMfP/XUU3rttdf0008/afz48apbt67KlSvHVmwAEhk1KnEB/cYNCugAANhDmzZJF9CnTk14OGRwsFStmiMiw+OmU6eEek5MjPT665bnDh6UChdOWJH+9dcJ/dIjiugA7O78+YQHVaxff7dtx46EPdkApK78+fOrefPmWrFihebMmWP+OnDPJnZly5bVU089ZT7esGGDypcvr7///ltnz57VRx99pC1btihbtmwOygKAs7lxI+EXoQ8/vNv26acJvxR5eTkyMgAAHh/37rb49NPS9esJr8UvvphxttBA+pI5szR+fMKfw2PHEi+2eOWVhHqQi0vCw0nTE5u2cwGARzVliuVe515e0rVrCf+jBZD6HvQQUUnq0qWLunTpYj728PBQv3791K9fvzSODkB6tHKl1KKFZdvly5IfnxAHAMCu1q5NeMZYgQKOjgRILDBQOnEioaD+8cfSyJGW5/PlS/jv3r1ShQoOCdEmrEQHYBeGkbAP1r0F9PHjE1ayUUAHACB9aNPGsoD+/PMJr/EU0AEAsL9s2Sigw/m5uEgjRiT8m3Hr1sTnK1ZM6JOC9V8ORREdQJoLDk74uM49WzDrxInE+2QBAADndPlywi83S5febdu8WZo2zZFRAQAAID2pWTOhmB4ZmbAF0b2efTbh35tDhjjnvukU0QGkqcWLpbx57x4XKiTFxyfeFwsAADinn3+++3HbO6KipNq1HRURAAAA0jNPT2n+/IRi+aefWp6bNClhIWavXgn1I2dBER1AmuneXbrnWYX66CPp7NmE/xkCAADnZhgJhfLnn7/b9r//JbR7eDgyMgAAAGQUd1aer19v2T59upQpk9ShgxQT46jo7uLBogBSXWSklDWrZduePQn7XAEAAOd39aqUJ49l25EjUsmSjooIAAAAGdmTTyYU0w8dksqWvdu+aFHCAo5GjRK2FvT0dEx8rAcFkKqOHElcQI+MpIAOAEB6sWqVZQHd21uKi6OADgAAgLRXpkxCMf3EiYSV6HesXStlySI1aCDFxto/LoroAFLNrFlS6dJ3j3v0SPgfn6PeJQQAALbp21dq3vzu8dtvS2FhkpubI6MCAADA46ZYsYRi+fnzUu7cd9s3bJDGjbN/PGznAiBV9OwpzZx593juXKlLF0dGBAAAUiomJvE+59u2STVqOCoiAAAAQCpQQLpyRbp8WSpfXgoJkYKC7B8HRXQAjyQ+XsqcOWHF+R3HjkmBgY6MCgAApNR//yV+3b5xQ/LyclREAAAAgKW8eaXgYMf9fLZzAfDQLl9O2J/q3gJ6ZCQFdAAA0ov58y1ftzt0SHhdp4AOAAAA3EURHcBD2bpVypfv7nH9+ux/DgBAevLSS1LnznePZ8yQFixwZEQAAACAc2I7FwA2mzZN6t377vHEidLQoY6MCAAApJTJJOXMKUVE3G3791+pTBlHRgUAAAA4L4roAGwycKD0zTd3j9evl5580pERAQCAlAoNlXx9Ldtu3pSyZnVURAAAAIDzo4gOIMWCgqSDB+8enzolFSniyIgAAEBK7dolVa1697hSJWn3bkdGBAAAAKQPFNEBPFBsrOTmZvkIBVatAQCQfsyeLT3zzN3j//1PGjXKkREBSE5cXJwOHz6s2NhYlSxZUl4PeNrvqVOndPz4cYu2zJkz60k+MgoAQKqgiA4gWVevSoUL332CqJdXwh6qLi4ODQsAAKTQ8OHS+PF3j1etkpo2dWREAJIzadIkTZgwQTlz5pSbm5tOnz6tTz75RC+++KLVMTNnztT48eNVvXp1c1u2bNkoogMAkEooogOw6tQpqVixuyvQ27WTfv/doSEBAAAb1K0rbd589/j4cSkgwJERAXiQ6Oho7dq1S35+fpKkGTNmqFevXqpRo4YqVapkdVyZMmW0evVqO0YKAMDjwzUFfQA8hnbulIoVu3v8/vsmCugAAKQT8fEJW7HdW0APD6eADqQHb775prmALkk9evRQpkyZ9M8//yQ7LiYmRtu2bdPevXsVFRVlh0gBAHh8sBIdQCJLl0pt2tw9/vLL6xowwNuRIQEAgBQKD5cKFcpn0RYfL7myfAZIl3bt2qWYmBiVLFky2X4HDhzQgAEDdP36dV25ckUTJkxQ3759rfaPjo5WdHS0+Tg8PFySZDKZZDKZHjluk8kkwzBS5VqPA+bLNsyXbZivlGOubJMR5iulsVNEB2Bh6lTp5ZfvHv/5p0lBQVGSKKIDAODsTCYpV6671fIGDaR16xwaEoBHcOPGDfXu3VsNGzZMdn/z2rVr69SpUypQoIAkafLkyXrxxRdVunRp1atXL8kxY8eO1ZgxYxK1h4SEpMpKdpPJpLCwMBmGIVfexXsg5ss2zJdtmK+UY65skxHmKyIiIkX9KKIDMBs5Uho37u7x/v1S2bJScLAjowIAACl19erd70eMMDR2LE8CB9KryMhIPfXUUzKZTJo3b55cXKz/fW7cuLHFcf/+/fXVV1/pt99+s1pEHzlypIYOHWo+Dg8Pl7+/v3x9feXt/egLaEwmk1xcXOTr65tuCyv2xHzZhvmyDfOVcsyVbTLCfHl6eqaoH0V0AJKk556TZsy4e3zunFSwYMKKNgAAkD74+Eh79phkGKGqUMFHEkV0ID2KiopSu3btdOnSJa1bt04+Pj42X8PHx0cXL160et7Dw0MeHh6J2l1dXVOtEOLi4pKq18vomC/bMF+2Yb5SjrmyTXqfr5TGnT6zA5Cq2rWzLKCHhSUU0AEAQPpTvryULx/vggPp1Z0C+oULF7R27VqLh4zeceLECW3YsMF8HBYWZnH+0qVL2r17typWrGiXmAEAyOhYiQ485urVk/7+++5xVJSUxIIUAAAAAHbQqVMnbdmyRVOnTtX+/fu1f/9+SVLx4sVVvHhxSdLPP/+sSZMm6fr165Kkpk2bqkWLFqpcubJCQ0M1ceJEFSpUSP3793doLgAAZBQU0YHHWLly0r//3j2OjZUy8X8FAAAAwGFMJpNq1qypH3/80aL9ueeeMxfRixcvrgYNGpjPrVmzRlOmTNEvv/yirFmz6pVXXlG/fv2S3K4FAADYjnIZ8JgqUEC6d4vE+HgpnW5fBQAAAGQYy5Yte2Cf5557Ts8995z5OHv27HrjjTfSODIAAB5fFNGBx4xhSJ6eUkzM3TaTSXLhuWMAAAAAAABAIqw7BR4zrq53C+ienglFdQroAAAAAAAAQNIoogOPkXu3RMyfX4qMdGQ0AAAAAAAAgPOjiA48JnLmvLsC3c9PunDB0REBAAAAAAAAzo8iOvAYyJdPCgtL+N7bW7p82dERAQAAAAAAAOkDRXQggytW7G7R3N39bjEdAAAAAAAAwINRRAcysDJlpFOn7h5HRzsyGgAAAAAAACD9oYgOZFB160qHD989NpkcGQ0AAAAAAACQPlFEBzKg7t2lzZvvHptMkouLIyMCAAAAAAAA0ieK6EAGM3y4NGfO3eP4eAroAAAAAAAAwMPKZOuAy5cva8uWLYqNjVWVKlUUEBDwwDEmk0nr16/X6dOnVaJECdWrV+9h4wWQjM8+k8aPv3scHS258lYZAAAAAAAA8NBsKq8NGjRINWrU0LRp0zRnzhyVL19eI0aMSHbMrVu31KBBA/Xq1UsrVqxQp06d1L59e8XFxT1q7ADuMWuWNHTo3eOICMnd3ZERAQAAAAAAAOmfTSvR69atqwkTJihz5sySpHXr1qlRo0Zq3bq16tevn+SYTz75RP/995/27t0rHx8fnTx5UhUqVNAPP/ygl156KXWyAB5zq1ZJzz579zg4WMqWzZERAQAAAAAAABmDTSvRu3TpYi6gS1LDhg3l7u6uQ4cOWR0zZ84cde3aVT4+PpKkYsWKqXXr1ppz76bNAB7agQNS8+Z3j0+ckHx9HRkRAGdz9epVrVixQkuWLNHZs2dTNMYwDG3evFmzZ8/Wjh070jxGAAAAAACclc17ot9r1apViomJUeXKlZM8Hxsbq2PHjqls2bIW7WXLltXatWutXjc6OlrR0dHm4/DwcOn23uomk+lRQjZfxzCMVLmWo5GLc7JXLsHBUvnyd98L27nTpCJFpNT8sdwX50Quzim1c0mN67z55puaNWuWypUrJzc3N61bt07Dhw/X6NGjrY6JiopS27ZtdeDAAdWoUUObNm1SkyZNNGvWLLm5uT1yTAAAAAAApCcPXUS/ePGi+vTpo+7du6t69epJ9rlx44ZMJpNy5sxp0Z4rVy5zYTwpY8eO1ZgxYxK1h4SEKCoq6mFDNjOZTAoLC5NhGHJN509dJBfnZI9coqOlokXzmY9nzLimAgWiFRycuj+H++KcyMU5pXYuERERj3yNoKAgHTt2TJ6enpKklStXqkWLFmrWrJnq1KmT5JgJEybowIED2rNnj/Lmzatjx46pUqVKmjZtmvr06fPIMQEAAAAAkJ48VBE9JCRETZs2VcmSJfXjjz9a7ZclSxYpiSJAeHi4smbNanXcyJEjNfSeJySGh4fL399fvr6+8vb2fpiQLZhMJrm4uMjX1zdDFGzIxfmkdS6GIWXKdPe6EyaY9MwzOVL954j74rTIxTmldi53Ct+PomfPnhbHzZs3l7u7uw4cOGC1iD5r1ix17dpVefPmlSSVKFFCrVq10qxZsyiiAwAAAAAeOzYX0UNDQ9WoUSP5+flpyZIlyf6C7+npqUKFCunkyZMW7SdPnlRgYKDVcR4eHvLw8EjU7urqmmoFFhcXl1S9niORi3NKy1y8vO5+//zz0rBhaTtf3BfnRC7OKTVzSYv5WLt2rWJiYlSxYsUkz8fGxurIkSMaMmSIRXtQUJC++eYbq9dlK7aUIxfnRC7OiVycE7kkfz0AAJDx2FREv3Lliho1aiRfX1/98ccfSa4m37Fjh/bv36/evXtLktq1a6f58+dr1KhRcnd3V3h4uBYvXqzXXnst9bIAHiNNm0q3biV8X7q0NG2aoyMCkF4EBwerT58+evrpp1WzZs0k+1jbii137twKCwuzem22Yks5cnFO5OKcyMU5kYt1qbEVGwAAcD42FdGbN2+ukydPqlevXvr555/N7dWqVVO1atUkSX/88YcmTZpkLqKPGjVKS5YsUbNmzdS8eXMtWLBAvr6+FNGBhzB6tLR69d3jQ4ccGQ2A9OTq1atq1qyZ/P39NX36dKv97mzFdvPmTYv2iIgI87mksBVbypGLcyIX50QuzolcrEuNrdgAAIDzsamIXrt2bVWrVk1Hjx61aC9UqJD5+2rVqumFF14wH+fPn1+7d+/WtGnTdObMGT3//PPq1auXsmXLlhrxA4+NlSulexd5xsU5MhoA6cm1a9fUpEkTZcuWTcuWLZPXvXtC3cfT01MFChTQqVOnLNpPnTqlgIAAq+PYis025OKcyMU5kYtzIpekZYT5AAAAidlURP/yyy8f2KdNmzZq06aNRVuePHk0bNgw26MDIEk6c0Zq0eLu8dWrkpubIyMCkF5cv35dTZo0UdasWbV8+fIk38Tes2eP/v33Xz3zzDPS7dfy3377TaNGjVKmTJl08+ZNLVmyRC+99JIDMgAAAAAAwLFsfrAoAPuKjpaKFLl7vHOnlCuXIyMCkJ60bNlSR48e1dixY/Xbb7+Z2ytVqqRKlSpJkhYtWqRJkyaZi+jvvPOOatSoodatW6tFixb69ddflT17dg0ePNhheQAAAAAA4CgU0QEnd++2it9/L1Wp4shoAKQ3QUFBKlWqlHbs2GHRnjNnTnMRvVKlSuYCum5v07Z79259//33Onz4sDp27Kh+/fopR44cdo8fAAAAAABHo4gOOLGaNe9+37271KePI6MBkB599913D+zTvn17tW/f3qItb968evvtt9MwMgAAAAAA0geeegI4qfffl/75J+F7d3dp1ixHRwQAAAAAAAA8fliJDjih9eul9967exwZ6choAAAAANhTeHi4du3apdjYWFWoUEF58+ZN0bhdu3bp9OnTKlGihIKCgtI8TgAAHhesRAecTHy81LDh3ePQUMmVv6kAAADAY+Hdd99VmTJlNHr0aI0bN07FihXT2LFjkx0THR2tNm3aqHnz5poyZYrq1aun559/XiaTyW5xAwCQkbESHXAyISF3v9+8WcqTx5HRAAAAALAnf39/HT16VF5eXpKkJUuWqF27dmrUqJFq3vvQpHt89tln2r59u/bu3asCBQro0KFDqlq1qho1aqTnn3/ezhkAAJDxsL4VcDL58km7d0uXL0u1azs6GgAAAAD21K9fP3MBXZLatm0rd3d37d271+qYmTNnqmvXripQoIAkqUyZMmrZsqVmzpxpl5gBAMjoWIkOOKFKlRwdAQAAAABnsHHjRsXExFjd4zwuLk6HDh3Sa6+9ZtFevnx5TZkyxep1o6OjFR0dbT4ODw+XJJlMplTZBsZkMskwDLaUSSHmyzbMl22Yr5RjrmyTEeYrpbFTRAcAAAAAwAlduXJFL7zwgtq1a6c6deok2efGjRsymUzKnTu3RXuePHl0/fp1q9ceO3asxowZk6g9JCREUVFRjxy7yWRSWFiYDMOQKw95eiDmyzbMl22Yr5RjrmyTEeYrIiIiRf0oogMAAAAA4GTCwsLUokUL+fj4JLsti4eHh3S7mH6vGzduyNPT0+q4kSNHaujQoebj8PBw+fv7y9fXV97e3o8cv8lkkouLi3x9fdNtYcWemC/bMF+2Yb5SjrmyTUaYr+ReK+9FER0AAAAAACcSHh6uZs2aydXVVStXrlT27Nmt9s2SJYvy58+vM2fOWLSfPn1axYsXtzrOw8PDXIC/l6ura6oVQlxcXFL1ehkd82Ub5ss2zFfKMVe2Se/zldK402d2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cCzrwoULio6OVnp6urZs2aK//vWvCggIcHdYlmOM0eDBgzVs2DC1a9fO3eEUCW+99Za6du0qDw8PZWdna9iwYerfv78SEhKK7S8haOcCAAAAAABumo+PT459hM+ePStfX1+3xITixxijxx57TD/++KNWrFhBUTgXQUFBmjt3rmJiYrR3716tWLGCfug5+OKLL7R161aFhYVp7ty5mjt3rtLS0rR//37NnTvX3eFZUrdu3ey/MPX29tbrr7+u48ePa/Pmze4OrcBwJzoAAAAAALhpoaGhyszMVEpKiipWrChJyszMVHJysmrXru3u8FAMGGP0+OOPa9myZVqzZo3q16/v7pCKjPLly6t79+5au3atu0OxnPLly6tLly5atmyZfSwjI0OJiYmKjo7WgAED3BpfUXDll1knTpxwdygFhiI6AAAAAAC4aZ06dZKfn58WLFigv/3tb5KkxYsXKzs7m77VuGnGGD3xxBNavHixvv32WzVs2NDdIVnasWPHHB4saozR9u3bVb16dbfGZUXdu3dX9+7dHcYaN26sbt266d1333VbXFZ15swZ+fr6OnzCaOHChfLw8FDLli3dGltBoogOAAAAAABuWkBAgN566y299NJLOnXqlHx8fPTPf/5TL774omrUqOHu8CwpJiZG6enpSkxM1KlTp+ytI/r37y9PTzrw/tnYsWM1depUvfLKK9q1a5d27dolXX54badOndwdnuUMHjxYoaGhatGihbKzs7Vw4ULt27dPH330kbtDQxF35MgRRUVFqU+fPgoJCdH27dv16aefasyYMQoNDXV3eAXG5SL6sWPH9Omnn+rQoUMKCwvT448/rnLlyuX7mvyWlJSkkydPSpcfQJGamqqgoCD7RalChQpc1AEALuP6AgAA8D/PP/+8GjRooOjoaGVnZ+vTTz9Vv3793B2WZa1evVpHjhxRuXLlFBERoejoaElS3759KaJfxd/fX1FRUUpMTFRiYqJ9vEmTJhTRcxAbG6u5c+dq/fr18vDwUGRkpBYuXKjAwEB3h1YkdO/eXeHh4e4Ow5IaNWqkVatWacaMGVq/fr2qVKmitWvX6vbbb3d3aAXKpSL64cOH1apVKzVv3lzdu3fX/Pnz9fnnnys+Pt5pUfxG1uS3pKQk1atXT5mZmU7n+Pr6av/+/RQ6AAB5xvUFAADgWt26daN9Sx699957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0/bt2/Xcc8+pbdu2113z+++/a8qUKUpKSlLdunX11FNPqVy5coUSb26OHj2qzz77THv27NHo0aPVrFmzXOfPnDlTMTExDmOVK1fWxIkTCzjS3F28eFFz587Vpk2bVLJkSXXs2FGRkZHy8PDIdd3evXs1ffp0paSkKDw8XI8//rhKlSpVaHHn5MKFC/ryyy+1efNm+fn56e6779a9996b65r33ntPmzdvdhhr0qSJxo4dW8DR5s5ms2nhwoX67rvvZIxRRESEHnjgAfn6+ua6bsuWLZo9e7bS0tLUrl07DR06VN7e7v02n52drfnz52vdunXy8vJS69atFRUVpRIlSjhdM3bsWP36668OYx07dtSTTz5ZCBHnzfvvv6/4+Hi9/PLLat68ea5zV69era+//loXL15Uly5d1L9//0KLEwAAAAAA3Lxi184lNTVVt99+u1avXq02bdpo27ZtatGihZKSkvJ1TWE4fvy4IiIitGHDBrVp00br169XRESEkpOTna7Zv3+/1q9fr8jISPufXr16FWrcOZk1a5aaN2+ulJQUzZs3T4cOHbrumoMHD6p58+batWuX2rRpo9jYWLVq1UpnzpwplJid+fDDD9WmTRudOnVK8+bN07Fjx667Ztu2bUpISHA4L/fcc0+hxOtMVlaWGjRooG+//VaNGzdWlSpV9OSTT+rBBx/Mdd3mzZsVERGhEydO6Pbbb9e0adN01113KTs7u9Biv9qpU6fUsGFDbdq0SeHh4QoKCtKDDz6op556Ktd1a9eu1enTpx3OS/v27Qstbme6du2q6OhoNW7cWGFhYXrnnXfUqVMnXbx40ema5cuX238xFR4ergkTJqhfv36FGHXO2rdvr7i4OIWHhyskJESvvfaaunXrptw+BBUbGytPT0+H89KiRYtCjTs3MTEx+uCDDzRv3jwdOXIk17mffPKJevTooQoVKqhevXp66qmnNGLEiEKLFQAAAAAA5ANTzIwdO9ZUq1bNXLhwwRhjTHZ2tmncuLEZNmxYvq4pDM8995wJCwszFy9eNMYYk5WVZUJDQ82IESOcrvn3v/9tGjVqVIhR5s2hQ4dMVlaWuXTpkpFk5syZc901Dz/8sGnRooX5448/jDHGnDt3zlSqVMm88cYbhRCxcwcPHjSXLl0yJ06cMJLMihUrrrvmueeeMz169CiU+PLq0qVL5vfff3cYi4uLM5LMzz//7HRdx44dTWRkpH376NGjpkSJEuY///lPgcabmwsXLpjk5GSHsa+++spIuibHP+vVq5f529/+VggRuubo0aMO27t27TKSzIYNG5yuqVOnjnn66aft2zt27DCSTFxcXIHGej1X57J27VojyezZs8fpmoiICDNhwoRCiM51R48eNdWqVbP/X1m6dKnTuefOnTMBAQHm3XfftY9FR0cbDw8Pk5CQUEgRAwAAAACAm1Xs2rnExMSoZ8+e9rYHXl5e6tu3r6ZOnZqvawpDTEyMIiMj7W0PSpYsqcjISC1ZskT//ve/na5LSUnR8OHDVaJECbVs2VKDBw92e0uHGjVqSJdbO+RVTEyMRowYIU/P/35gws/PT/fdd5+WL1+u119/vcBivZ6QkJAbWrd//3498sgjCggIUPv27dWvX7/rtk0pSN7e3te0LKpZs6Z0+dMZOTl79qx++OEHzZ492z522223qUOHDlq+fLkefvjhAo46Z76+vte0OvlzLrm1Ztq0aZOGDBmi4OBg3X333eratWuBx3s9t912m8P2b7/9Jm9v72vGr0hISNAvv/yiv/71r/axZs2aqV69elq+fLk6d+5c4DE7k1MupUqVUoUKFXJdt2LFCu3du1dVq1bVfffdp3bt2hVwpNdns9k0aNAgPf/889dt4SRJ69atU3p6usN5uffee+Xv768VK1YoLCysgCMuen7++Wd7W7W8fvrgRtYUhp07d9pbsV3v6yUhIUHbtm1zGPP09LRM65+9e/dq586dateunf16fj1bt261t2Jr1KhRgceYVz/99JP27NmjTp06qXLlyrnO3b59u/bv3+8wVqZMGfXo0aOAo7y+kydPatu2bSpZsqTCw8NVtmzZ6675448/9OOPPyolJUVNmzZV7dq1CyXW60lOTtb27dvl5+en5s2bq0yZMrnOX7dunX7//XeHscqVK6tTp04FHOn1nTlzRlu2bJExRk2aNLnu15gut9bbsGGD0tLSdPvtt6tKlSqFEuv1pKamasuWLfLy8lKzZs2ue93+5ptvrnn/WKtWLbVu3bqAI827K/+nO3TocN3jfP78ea1bt04XL15Uu3btFBQUVGhxAgAAayp2RfRff/31mh86a9asqWPHjikzMzPHnsI3sqYwHDhw4JofVmvWrKmDBw/muq5ly5YKDw/X2bNnNW7c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czZo0CCHnzWu5HK9Y52UlKRFixYpPj5emZmZBR5nXr322muqWrWqhgwZct25W7du1b59+zRy5Ej72LPPPquzZ89q2bJlBRwpAACwsmJXRG/atKl+/vlnh7Fdu3apQYMGTgvPN7KmMDRp0iTHuJo0aeLSftLT0y3VMiQvfHx8VLdu3XzJ36oyMjIscV6io6M1cOBATZo0ScOGDct1bu3ateXv72/Z8zJz5kw99thjmjlzpqKiolxen5WVpYsXL1rivPxZpUqVVL58eR06dCjH1xs3biwPDw+H8/LHH39oz549ljgvfxYSEiI/Pz+nueQkPT1dktx6XkaOHKlx48YpMjJSkZGR6t69uySpbdu2TgtzTZs2lS737L4iNTVVR44csdx5cbddu3apcePGDmNNmjTR3r17nT5L40bWFAZnce3atSvXdcnJyZo4caJef/111ahRQ2+88UYBR5r/srKylJCQcEP5W9WePXv08ccfa+TIkapRo4bbn5eTk7i4OHl6ejptX3bw4EGdO3euSJyXuLg4+fj4XPeZEevWrdNnn32mYcOGqXbt2lq8eHGhxZibxMREzZ07V5MnT9bAgQP15JNPqlWrVjnO3b17t4wxDufFy8tLDRs2tMR52bNnj+bOnauJEydq2LBhevnll1W3bt1c18TExOjzzz9XVFSU6tWrp7Vr1xZavM6sXr1as2fP1pQpU/I0/8qx//N5CQoKUtWqVS1xXgAAgPsUuyL6oEGDFBMTY38Q1O+//6758+c79ImMi4vTgAEDdOnSpTyvcYdBgwZp0aJF+u2336TLPdKjo6Md4lq2bJkGDRpk3547d65D8SAmJkYbN27U/fffX8jRu27+/Pn2uzt1Of85c+bo+PHj0uUfNmJjY91+XvJi+vTpGjFihH376jvwPv74Yx05ckQ9e/Z0Q3T/s2TJEg0YMECTJk1yOPZ/9uGHH2rs2LHS5U9IREVFaerUqfa7keLi4vTTTz85fB26wxdffGEvoA8YMCDHOe+8847+7//+T7p8N/CKFSvsrxljNG7cOHl6el63T25B+v333/XDDz84jC1dulTHjh1zKNaOHz9e7733niSpYsWKuueeezRp0iT7//9Zs2bp9OnTN/TLhPySmJh4zV39X3zxhc6fP6/27dvbx0aNGqWPP/5YutxHfOPGjfbXsrOzNW7cOAUGBqpDhw6FGL2jv/zlLxowYID9z5VPbNxxxx0Od+o+88wzmjlzpiQpIiJC9evX1/vvv29//YMPPpC/v78lHkxoJWlpadc8tK18+fL6448/nN75eCNrClp2drbOnz+fY1znzp1zWtxv166dfvvtN33zzTfasGGDFi1apPHjx2vRokWFFHn+yMjIkDEmx/zPnDnjtrhuVO/evXX48GGtWLFC27Zt0zvvvKOnnnpKW7ZscXdodomJiXrxxRc1YsQIpw+fTktLky4XAv/Maudl586deu211zR27NhcHy769NNPKykpScuWLdOePXv06KOP6sEHH9Thw4cLNd6cXHmGybx585SamqrmzZs7nWv187J//34tWrRI8+fP14ULF+y/GHbmrbfe0sGDB7Vs2TIlJibqzjvvVP/+/Z3eiV8YUlJS9NBDD2n69Ol5fjBoWlqa/P39HT5VIAudFwAA4Ebu7ieT3/744w8zePBgExgYaLp06WIqVKhg7r33XpOZmWmf8/HHHxtJ5sKFC3le4w6XLl0y/fr1M+XKlTNdunQx5cqVM/369XPoUfivf/3LeHl52bdfffVVExISYrp3727atm1rfH19zSuvvOKmDP5nx44dJioqyvTv399IMm3btjVRUVHms88+s88ZO3asKV++vH37woULpmvXriY4ONh06dLFBAQEmKFDhxqbzeamLP5rw4YNJioqyvTu3dtIMh07djRRUVHmyy+/tM/529/+ZkJDQ+3bQ4cONbVr1zY9evQwzZs3NwEBAebDDz90Uwb/dfLkSVOyZElTuXJlExUV5fDnzz1SBw0aZCIiIhzWtWjRwlSvXt3cfffdxs/Pz7z66qtuyuK/Dh48aLy8vEyNGjWuyWXbtm32eT169DCdO3c2xhiTkZFhIiMjTf369U3Pnj1N/fr1TaVKlcyCBQvcmIkxp06dMt27dzeNGjUy999/v7n99ttNmTJlzD/+8Q+HeR07djS9evWybx88eNDUqVPHhIWFmTvvvNOUKlXKfPTRR27I4H+OHDli7rrrLtO0aVPTq1cv07x5c1O2bNlrnkHRrFkz8/DDDxtz+TkOd911l2nSpInp2bOnCQkJMbVq1TLffvutm7LImbOe6DVr1jTPPfecfXvLli2mUqVKpmnTpqZdu3amdOnSJjo62g0RW1tAQMA1vXSv9OC9cq3OjzWFwcvL65qv8Q8++MB4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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(2, 3, figsize=(15, 10))\n", "\n", @@ -1565,9 +455,26 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 8, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:04.156093Z", + "iopub.status.busy": "2026-09-18T13:16:04.155979Z", + "iopub.status.idle": "2026-09-18T13:16:04.362796Z", + "shell.execute_reply": "2026-09-18T13:16:04.362302Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization success: True\n", + "Optimal parameters: {'L2': np.float64(3.5974701346562448), 'L3': np.float64(3.6319419105471633)}\n", + "Objective value: 0.580132\n" + ] + } + ], "source": [ "# Objective: minimize the distance from coupler point C to target (2, 3)\n", "# at crank angle theta = pi/2\n", @@ -1592,9 +499,27 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 9, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:04.364495Z", + "iopub.status.busy": "2026-09-18T13:16:04.364319Z", + "iopub.status.idle": "2026-09-18T13:16:04.547654Z", + "shell.execute_reply": "2026-09-18T13:16:04.547273Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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vjzR0dEEBgamGmyVWW4p2x0wYACTJ0/m+PHjnDx5kr59+2Y5x7wihVohRKFXo0YN5syZk2/H59R3332Hra0tgwYNyva5R44cYeTIkXz44YfY2dkB8O6779KkSROGDx/OiRMncp2fnZ0da9euVf0hURSFp59+mtdff50+ffpY/rjmpYK4bnav8fzzz7N48WI2btzIkCFDcnVtIYQQQgghhMgLGg04OeVtmynnqM2Kr7/+mq5du3Lu3Dk6dOjAgwcP2LlzJz/88AMVK1bk1VdfpVevXgwfPpx9+/ZRpUoVWrVqBUCnTp2YNGkSQ4YM4eDBg8TFxana/vTTT7l37x5hYWH4+Phw6tQp1X5bW1vmzp1L165defHFFylbtiwAw4cPp1y5cpnmbmtry6xZs+jSpQtjx46lVKlSlsXEMsstJXt7e5599lmGDh3KiBEjLIN8cptjdkihVghhFadPn2bNmjVMnDgRW1tb1q5dy/3792ndujVdu3ZVHXvp0iV++uknXnnlFby8vPDz8+PXX38F4JtvvmHr1q0ADBo0CG9v71THA9y7d4/PP/8cAI1Gg729PbVr1+bpp5/O8eTfq1evplevXjhm9hFlGiZPnpzqk8Ry5crRr18/vv76a27fvp3rYmaFChVSxTQaDT169MDX15crV67kS6G2IK6b3WvUq1eP+vXr89NPP0mhVgiRpnPnznH58mUqVqxI8+bNM5yG5v79++zatStVvGfPnnk+xYsQQgghRH6rV68e586dY82aNZbRslu3brU8pbp8+XL++OMPjh8/zoABAxg7diyax1XgxKdZ79y5w7x589i3bx8eHh6WtlesWMHFixfR6XT4+flZpgsYMGAAnp6eAMyePZt27dqxd+9eLly4AGApqg4aNIhKlSplmP97771H69atOXDgAPfu3bMsJpZRbs8++2ya7U6aNAm9Xm+Z9iBRRjnmJSnUCiGs4uzZsyxcuJCGDRvy+eef07JlS4KDg5k7dy4zZ85kyZIllmNTzhur0+ksn2zZ2dlhb28PyR5bSGue2cTibKLQ0FB++uknpkyZwqFDh9KdOD09N2/e5MqVK7z++us5uv+05v7h8UTugOrx/KioKBYvXpyldtu1a0evXr0yPGbv3r2UKVOGxo0bZyvn3ErrugV5b23atOGPP/6wPAYkhBA8fhzvhRde4NGjR1SrVo2T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Wly/fh1///vfERAQgMaNGyM5ORn5+fn47rvvjGuvqtVqrFixAk899RQ6deqEdu3aYfHixfjb3/6GTZs2ITs7G5mZmdi9e7fUT6dOyOVyvPrqq5DL5fDz88P169exd+9evP7666L1WGNjY6FSqTBjxgzI5XK8/vrrsLGxgZ+fH9LS0pCWloavvvpK9FX4hiY9PR0rVqzAf/7zHzg6OmLy5MnYunUr+vTpg6eeegpHjx6Fm5sbFixYIHWqDZKPj0+5NxoGgwE5OTmcDUlEREQNgiXeD8kEQRCqcZ7VEQQBe/fuRWZmJlq1aoUnn3wScvlfayydPn0a+/fvx6uvvmpsTJoaY40uXryI/fv3Q6lU4umnnxZNAS8tLcWXX36JgQMHGr9qXVRUhPj4eNy4cQNt27ZFnz59rLpG966TB/Xt29fYZNy1axfUajXGjh1rfFyj0WDHjh24desWunbtKprFZW3KysrwxRdflIu7urpi0qRJAICrV68iNjYWEydONDYZb9y4gYSEBOh0OgQGBhrraY3Onz+PXbt2VfjYiy++aPya8TfffAN/f3/06dPH+HhOTg527doFvV6PAQMGVPjVdmuxcuXKCr9m3qNHD/To0QO426g9efIkpk2bZnz8/PnzSExMhIODA7p164bWrVubNW9zKygoQEJCAnJzc+Hj44O+fftCoVAYHy8sLMS6deswbNgw0YzZc+fO4eDBg3BycsLgwYONHxBYq6NHjyI1NRWurq4ICQkxzhK9Jy4uDra2thg2bFi5MU2bNkWvXr2s9kORitxbo/b+2bH3/u2aOnWqcfNHAEhISMC5c+fQokULDBo0iOu2VkKtVsPFxQUFBQVmWw+6vr8xqQ9Yo6qxPqaxRlVjfUxjjarG+pjGGlVNivrU5L6vwTZqiYiIiIikwkZt/cQaVY31MY01qhrrYxprVDXWxzTWqGr1vVHL/2NEREREREREREREEmOjloiIiIiIiIiIiEhibNQSERERERERERERSYyNWiIiIiIiIiIiIiKJsVFLREREREREREREJDE2aomIiIiIiIiIiIgkxkYtERERERERERERkcTYqCUiIiIiIiIiIiKSGBu1RERERERERERERBJjo5aIiIiIiIiIiIhIYmzUEhEREREREREREUmMjVoiIiIiIiIiIiIiibFRS0RERERERERERCQxW6kTICIi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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Compare initial vs optimized coupler curve with mechanism drawn\n", "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 6))\n", @@ -1642,9 +567,39 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 10, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:04.548550Z", + "iopub.status.busy": "2026-09-18T13:16:04.548460Z", + "iopub.status.idle": "2026-09-18T13:16:05.380669Z", + "shell.execute_reply": "2026-09-18T13:16:05.380242Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coupler velocity (numeric params, symbolic theta):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vx_C = (-0.5*(17.0 - 8.0*cos(theta))**(5/2)*sqrt(8.0*cos(theta) + 19.0)*sin(theta) + 0.5*(17.0 - 8.0*cos(theta))**2*(8.0*cos(theta) + 19.0)*cos(theta) - 2.0*(17.0 - 8.0*cos(theta))**2*sin(theta)**2 - 2.0*(17.0 - 8.0*cos(theta))*(8.0*cos(theta) + 19.0)*sin(theta)**2)/((17.0 - 8.0*cos(theta))**(5/2)*sqrt(8.0*cos(theta) + 19.0))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "vy_C = (64.0*sqrt(17.0 - 8.0*cos(theta))*sqrt(8.0*cos(theta) + 19.0)*cos(theta)**2 - 136.0*sqrt(17.0 - 8.0*cos(theta))*sqrt(8.0*cos(theta) + 19.0)*cos(theta) + 512.0*sin(theta)*cos(theta)**2 + 2024.0*sin(theta) - 512.0*sin(2*theta))/(sqrt(17.0 - 8.0*cos(theta))*sqrt(8.0*cos(theta) + 19.0)*(128.0*cos(theta) - 272.0))\n" + ] + } + ], "source": [ "# Compute velocity symbolically using the numeric four-bar (no symbolic params = fast)\n", "x_C_num_expr, y_C_num_expr = traj_num[\"C\"]\n", @@ -1659,9 +614,27 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 11, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T13:16:05.381747Z", + "iopub.status.busy": "2026-09-18T13:16:05.381638Z", + "iopub.status.idle": "2026-09-18T13:16:05.465932Z", + "shell.execute_reply": "2026-09-18T13:16:05.465250Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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5syBj48P8vLysHnzZmzZsgVWVlYqxXz++efYsWMHxo0bB3t7e3z77bfw8fFBYGAg0PqU9gsXLiAmJqZL+SEiIu3HM91ERKT1DAwMkJycjB9//BGGhobYs2cPioqKEBUVhaNHj0px4eHh7R7Opaenh9TUVDz00EPYv38/9PT0kJGRgWnTpsnuH+6ob3BwMO67774OY9oK7/vuuw+ffvppuzl357gzZ87E5s2bcenSJZw9exYffvghAgMDZcXvAw88IHs4W2RkJE6cOIHAwECkp6ejpqYG7733XqcFd9sxxcXFYdWqVVLbjBkzsGXLFly5cgVnz57F6tWr8eqrr2L48OFdGkuVY+joawEA7733HlJSUtDY2Ij09HRYW1tj//798PPzUzkmPj4ey5YtQ2lpKdLT0/HQQw/h4MGDMDY2BgAkJiZi9uzZnd4uQEREukshbueGNCIiIrpjVFRUSPcdo/XSdW9vb6xfvx7R0dHdOlZjYyNmz56NpUuXwtHRsdv225PH0FW1tbWIjY3FBx98IN2jTkRE1IZFNxERkZbbs2cPli5diokTJ6KpqQlr1qyRzuQaGhpqenoq0YZjICIi3cSim4iISAfs27cP27ZtQ319PYKCgjBjxgwYGBhoelpdog3HQEREuodFNxEREREREZGa8EFqRERERERERGrCopuIiIiIiIhITVh0ExEREREREakJi24iIiIiIiIiNWHRTURERERERKQmLLqJiIiIiIiI1IRFNxEREREREZGasOgmIiIiIiIiUhMW3URERERERERq8v+RbAZwhBK1CgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Numeric velocity plot using lambdify\n", "vx_func = sp.lambdify(theta, vx_C_num, modules='numpy')\n", diff --git a/docs/notebooks/10_mechanism_builder.ipynb b/docs/notebooks/10_mechanism_builder.ipynb index e12d5d8..1a97bae 100644 --- a/docs/notebooks/10_mechanism_builder.ipynb +++ b/docs/notebooks/10_mechanism_builder.ipynb @@ -27,13 +27,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.014273Z", - "iopub.status.busy": "2026-04-14T11:00:11.014175Z", - "iopub.status.idle": "2026-04-14T11:00:11.516421Z", - "shell.execute_reply": "2026-04-14T11:00:11.515955Z" + "iopub.execute_input": "2026-09-18T12:42:08.320554Z", + "iopub.status.busy": "2026-09-18T12:42:08.320320Z", + "iopub.status.idle": "2026-09-18T12:42:08.886500Z", + "shell.execute_reply": "2026-09-18T12:42:08.885843Z" } }, "outputs": [], @@ -72,13 +72,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.518611Z", - "iopub.status.busy": "2026-04-14T11:00:11.518443Z", - "iopub.status.idle": "2026-04-14T11:00:11.666608Z", - "shell.execute_reply": "2026-04-14T11:00:11.665975Z" + "iopub.execute_input": "2026-09-18T12:42:08.887887Z", + "iopub.status.busy": "2026-09-18T12:42:08.887728Z", + "iopub.status.idle": "2026-09-18T12:42:09.050271Z", + "shell.execute_reply": "2026-09-18T12:42:09.049467Z" } }, "outputs": [ @@ -87,7 +87,7 @@ "output_type": "stream", "text": [ "Mechanism: four-bar\n", - "Joints (4): ['coupler.0_crank.tip', 'crank.motor_ground.A', 'ground.D_rocker.1', 'coupler.1_rocker.0']\n", + "Joints (4): ['ground.D_rocker.1', 'crank.motor_ground.A', 'coupler.0_crank.tip', 'coupler.1_rocker.0']\n", "Links (4): ['ground', 'crank', 'coupler', 'rocker']\n" ] } @@ -135,13 +135,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.685114Z", - "iopub.status.busy": "2026-04-14T11:00:11.684873Z", - "iopub.status.idle": "2026-04-14T11:00:11.689729Z", - "shell.execute_reply": "2026-04-14T11:00:11.689396Z" + "iopub.execute_input": "2026-09-18T12:42:09.096775Z", + "iopub.status.busy": "2026-09-18T12:42:09.096608Z", + "iopub.status.idle": "2026-09-18T12:42:09.101094Z", + "shell.execute_reply": "2026-09-18T12:42:09.100573Z" } }, "outputs": [ @@ -149,7 +149,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Joints: ['coupler.0_crank.tip', 'crank.motor_ground.A', 'ground.D_rocker.1', 'coupler.1_rocker.0']\n", + "Joints: ['ground.D_rocker.1', 'crank.motor_ground.A', 'coupler.0_crank.tip', 'coupler.1_rocker.0']\n", "Links: ['ground', 'crank', 'coupler', 'rocker']\n" ] } @@ -176,13 +176,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.691132Z", - "iopub.status.busy": "2026-04-14T11:00:11.691056Z", - "iopub.status.idle": "2026-04-14T11:00:11.695053Z", - "shell.execute_reply": "2026-04-14T11:00:11.694807Z" + "iopub.execute_input": "2026-09-18T12:42:09.102053Z", + "iopub.status.busy": "2026-09-18T12:42:09.101964Z", + "iopub.status.idle": "2026-09-18T12:42:09.106230Z", + "shell.execute_reply": "2026-09-18T12:42:09.105915Z" } }, "outputs": [ @@ -205,13 +205,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.695886Z", - "iopub.status.busy": "2026-04-14T11:00:11.695810Z", - "iopub.status.idle": "2026-04-14T11:00:11.776438Z", - "shell.execute_reply": "2026-04-14T11:00:11.776038Z" + "iopub.execute_input": "2026-09-18T12:42:09.107218Z", + "iopub.status.busy": "2026-09-18T12:42:09.107135Z", + "iopub.status.idle": "2026-09-18T12:42:09.206441Z", + "shell.execute_reply": "2026-09-18T12:42:09.206009Z" } }, "outputs": [ @@ -219,12 +219,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Joint IDs: ['coupler.0_crank.tip', 'crank.motor_ground.A', 'ground.D_rocker.1', 'coupler.1_rocker.0']\n" + "Joint IDs: ['ground.D_rocker.1', 'crank.motor_ground.A', 'coupler.0_crank.tip', 'coupler.1_rocker.0']\n" ] }, { "data": { - "image/png": "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EwQBMpkMDg4O/A9CR7GN9YPWtrMoQH70C9WiRecPYSFpQZpLa9uYyoxtrB+kameFQlGm7fQutIeHh8PFpeQxmSYmJjAxMSmyXi6X1/gHVSaTSXJeqjlsY/2gle28cWjh9+/s167aJaCVbUzlwjbWD1K0c1nPpVWh/fHjx4iMjFQtR0VFITw8HLa2tnB3d8fUqVNx//59rFmzBgCwaNEieHl5oWHDhsjMzMTy5cuxf/9+7N69W8JnQUSk4TJTgCt/530vMwDqtJS6IiIivadVof3MmTPo1KmTarlgGMvQoUOxevVqxMTEIDo6WvV4dnY2Jk2ahPv378PMzAxNmjTB3r171Y5BRETPWNq28PuPbkhZCRER5dOq0N6xY0eIolji46tXr1Zb/uSTT/DJJ5/UQGVERDrEth6QFpM3xaO5ndTVEBGRtoV2IiKqAa/9CMRfBep3lboSIiLKx9BORETqbNzzvoiISGPwEmgiIiIiIg3H0E5EREREpOEY2omIiIiINBxDOxERERGRhmNoJyIiIiLScAztREREREQajqGdiIiIiEjDMbQTEREREWk4hnYiIiIiIg3H0E5EREREpOEY2omIiIiINBxDOxERERGRhmNoJyIiIiLScAztREREREQajqGdiIiIiEjDMbQTEREREWk4hnYiIiIiIg3H0E5EREREpOEY2omIiIiINBxDOxERERGRhmNoJyIiIiLScAztREREREQajqGdiIiIiEjDMbQTEREREWk4hnYiIiIiIg3H0E5EREREpOEY2omIiIiINBxDOxERERGRhmNoJyIiIiLScAztREREREQajqGdiIiIiEjDMbQTEREREWk4hnYiIiIiIg3H0E5EREREpOEY2omIiIiINBxDOxERERGRhmNoJyIiIiLScAztREREREQajqGdiIiIiEjDMbQTEREREWk4hnYiIiIiIg3H0E5EREREpOEY2omIiIiINBxDOxERERGRhmNoJyIiIiLScAztREREREQajqGdiIiIiEjDMbQTEREREWk4rQrthw8fRs+ePeHq6gqZTIZt27aVus/BgwfRokULmJiYwNvbG6tXr66RWomIiIiIqopWhfb09HQ0bdoUS5cuLdP2UVFR6NGjBzp16oTw8HBMmDAB77zzDnbt2lXttRIRERERVRVDqQsoj+7du6N79+5l3v6nn36Cl5cXFixY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", + "image/png": "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GLm5oiWJiKiW6NWZ9+nTpyMyMhJXr15FYmIihg8fDgDYuHEjFAoF8vLy8Oeff2LAgAFA0dcPAwcOhEKhgJ2dHc6fP4+goCCsX79e5FdCRKTjrvxW8rjPYoBnGYmIdIJehfd+/fohNTUVI0eO1JhvamoKALC0tMTWrVvRpk0bAECHDh1w+fJlXL16FfHx8ahXr57GzZqIiKgc+z8tedzhHTErISKix+hVeO/du3eFz5uamqrPxheTyWQICgoqdx0iIirDc/OAC2uBAcvEroSIiB6jV+GdiIhqSdDrhT9ERKRT2ImRiIiIiEhPMLwTEREREekJhnciIiIiIj3B8E5EREREpCcY3omIiIiI9ATDOxERERGRnmB4JyIiIiLSEwzvRERERER6guGdiIiIiEhPMLwTEREREekJhnciIiIiIj3B8E5EREREpCcY3omIiIiI9ATDOxERERGRnmB4JyIiIiLSEwzvRERERER6guGdiIiIiEhPMLwTEREREekJhnciIiIiIj3B8E5EREREpCcY3omIiIiI9ATDOxERERGRnmB4JyIiIiLSEwzvRERERER6guGdiIiIiEhPMLwTEREREekJhnciIiIiIj3B8E5EREREpCcY3omIiIiI9ATDOxERERGRnmB4JyIiIiLSEwzvRERERER6guGdiIiIiEhPMLwTEREREekJhnciIiIiIj3B8E5EREREpCcY3omIiIiI9ATDOxERERGRnmB4JyIiIiLSEwzvRERERER6guGdiIiIiEhPMLwTEREREekJhnciIiIiIj3B8E5EREREpCcY3omIiIiI9ATDOxERERGRnmB4JyIiIiLSEwzvRERERER6Qq/Ce2RkJGbPno0GDRqgf//+Wq2TnJyMd955B/7+/mjevDkWLVoEpVJZ47USEREREVU3E7EL0FZubi66deuGN954A23atMGdO3eeuo4gCBg0aBDy8vKwYcMGJCcnY8yYMUhKSsLSpUtrpW4iIiIiouqiN+FdLpcjLCwMUqkU7733nlbh/fDhwzhx4gRu3ryJRo0aAQAWLVqEyZMnY/bs2bCzs6uFyomIiIiIqofehHcAkEor18vn6NGj8PT0VAd3AOjbty/y8vJw5swZ9O3btwaqJCpNqRKQV6BCboESuQUq5OYXPs7OK0BiUiaSVekwNzOB3FQKuYkMchMp5CZSmMj0qmcb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", "text/plain": [ "
" ] @@ -280,13 +280,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.779550Z", - "iopub.status.busy": "2026-04-14T11:00:11.779457Z", - "iopub.status.idle": "2026-04-14T11:00:11.786920Z", - "shell.execute_reply": "2026-04-14T11:00:11.786395Z" + "iopub.execute_input": "2026-09-18T12:42:09.207454Z", + "iopub.status.busy": "2026-09-18T12:42:09.207348Z", + "iopub.status.idle": "2026-09-18T12:42:09.212936Z", + "shell.execute_reply": "2026-09-18T12:42:09.212500Z" } }, "outputs": [ @@ -294,17 +294,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Legacy joints: ['crank.motor_ground.A', 'ground.D_rocker.1', 'coupler.0_crank.tip', 'coupler.1_rocker.0']\n", - "Constraints: [1.0, 3.0, 3.0]\n", - "Legacy simulation steps: 100\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/h/Documents/dev/hu/the-great-walker/pylinkage/src/pylinkage/linkage/linkage.py:272: UserWarning: Automatic solving order is still in experimental stage!\n", - " self.__find_solving_order__()\n" + "Linkage components: ['A', 'D', 'B', 'C']\n", + "Linkage constraints: [1.0, 3.0, 3.0]\n", + "Bridged mechanism: fourbar_dyads\n", + "Bridged joints: ['A', 'D', 'B', 'C']\n", + "Bridged links: ['ground', 'B_driver', 'C_link1', 'C_link2']\n", + "Bridged simulation steps: 99\n" ] } ], @@ -350,13 +345,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.788339Z", - "iopub.status.busy": "2026-04-14T11:00:11.788250Z", - "iopub.status.idle": "2026-04-14T11:00:11.790475Z", - "shell.execute_reply": "2026-04-14T11:00:11.790120Z" + "iopub.execute_input": "2026-09-18T12:42:09.214260Z", + "iopub.status.busy": "2026-09-18T12:42:09.214141Z", + "iopub.status.idle": "2026-09-18T12:42:09.220852Z", + "shell.execute_reply": "2026-09-18T12:42:09.220152Z" } }, "outputs": [ @@ -364,8 +359,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Legacy direct joints: ['A', 'D', 'B', 'C']\n", - "Legacy direct constraints: [1.0, 3.0, 3.0]\n" + "Component-model steps: 100\n" ] } ], @@ -377,19 +371,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.791398Z", - "iopub.status.busy": "2026-04-14T11:00:11.791318Z", - "iopub.status.idle": "2026-04-14T11:00:11.862621Z", - "shell.execute_reply": "2026-04-14T11:00:11.862241Z" + "iopub.execute_input": "2026-09-18T12:42:09.221866Z", + "iopub.status.busy": "2026-09-18T12:42:09.221772Z", + "iopub.status.idle": "2026-09-18T12:42:09.300542Z", + "shell.execute_reply": "2026-09-18T12:42:09.300091Z" } }, "outputs": [ { "data": { - "image/png": "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Ks+cOaMHH3xQ7du3V5s2bTRhwgS1b99e06dP14ABA9SnTx917NhR7777rh5//HEdOXJE/v7+TjG1bdtWJUqUUGRkpNauXauPPvpIZ86c0eeff+7oM2HCBFWqVEkPPfSQcuTIoblz5+qZZ56R3W5X3759nV5v9+7d6tChg3r37q1evXqpXLlyKeZi2LBhioyMVM+ePVWnTh3FxsZqw4YN2rRpkx544AFJ0q+//qrmzZurVKlSGjZsmC5evKixY8eqfv362rRpU7Jzp23btipZsqQiIyO1adMmTZkyRSEhIXr77bcdfcaNG6fhw4dr6dKlaboRevny5Zo5c6aee+45+fj4aPz48WrWrJnWrVunypUr33T7W/Hpp5+qd+/eqlevngYMGKD9+/froYceUt68eRUaGurol1F/e+3atVPnzp21fv163X333Y72Q4cOae3atXr33XclSTt27NCDDz6oqlWrasSIEfLx8dHevXu1atWqdB9zXFycwsPD9c8//6h3794qVqyYVq9erSFDhig6OloffPCB45hbtWqldevW6emnn1b58uX1ww8/JPvb1ZWiZ//+/erWrZsKFizomE66Y8cOrV271vGe9u+//6pOnTo6e/asnnrqKZUvX17//POPZs+erbi4OJUqVUr169fX9OnT9fzzzzvtY/r06fL399fDDz9802OcPn26SpcurbvvvluVK1eWn5+fvv76aw0aNChNOdq/f788PT0VFBSUxqwCmYgBcFvExMQYSebhhx9OU/8tW7YYSaZnz55O7S+++KKRZJYsWeJok2SGDh2a7DWKFy9uunTp4lieNm2akWRq1aplEhMTHe3vvPOOkWR++OEHR1t4eLgJDw93LH/xxRfGw8PD/Pbbb077mDhxopFkVq1a5RSPh4eH2bFjx02P8+zZs8bf39/UrVvXXLx40Wmd3W5P9VhSi3Pp0qVGkilVqpSJi4tz6jtkyBDj5eVlTp8+7WhLSEgwQUFBpnv37o62Hj16mEKFCpmTJ086bd++fXsTGBiY7HWvtWfPHuPh4WEeeeQRk5SUlOLxHD9+3Hh7e5umTZs69Rk3bpyRZKZOnep0fJLMV1995WjbtWuXI8dr1651tC9YsMBIMtOmTXO0DR061EgyDz30kFMszzzzjJFktm7d6mhL6bgiIiJMqVKlnNqKFy9uJJn58+cn63/976la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owcffFCTJ0/WmjVrFBYWdsO+xYsXl91u1549e1ShQgVH+7Fjx3T27FkVL17c0ZYnT55kTxNKTExUdHR0iq+9Z88e3X///Y7l8+fPKzo6Wi1atEg1ntKlS2vr1q1q3LixpWInpdeVpO3bt6f4aeRVKR2jrnyymdqTbVLSrl07DR8+XN9++60KFCig2NhYp2lGwcHB8vf3V1JS0i39h1+6dGnZ7Xb9+eefql69eop9rv7udu/e7RR7YmKiDhw4kCEXGnv27HH6JHvv3r2y2+2OG3vnzp2rhIQE/fjjj04jAtdPs7kVefPmVbdu3dStWzedP39eDRo00LBhw9SzZ0+nXFxv165dyp8/v3LlymU5hptJaarWX3/9JT8/PwUHB0s3OQfT6+px79mzx+mT8EuXLunAgQOqVq2aoy2j/vZ05cL2wQcf1KxZs/T+++9r5syZuu+++1S4cGGnfh4eHmrcuLEaN26s999/X2+99ZZeffVVLV26NF3na+nSpXX+/PmbblO8eHEtXbpUcXFxTqMWe/fudep35swZLV68WMOHD9frr7/uaL/+9xkcHKyAgIA0fbDTrFkzBQcHa/r06apbt67i4uL05JNP3nS77777TvHx8ZowYUKyEYfdu3frtdde06pVq3Tvvffe9LWArIqpUMBtNHjwYOXKlUs9e/bUsWPHkq3ft2+fPvzwQ0lyXORffUrKVVc/tWzZsqWjrXTp0skejTl58uRUP0mdPHmyLl265FieMGGCLl++rObNm6cae9u2bfXPP//ok08+Sbbu4sWLyaarpFXTpk3l7++vyMjIZI8/vfYT6NKlS2vt2rVKTEx0tP300086cuRIuvZXoUIFValSRTNnztTMmTNVqFAhNWjQwLHe09NTjz32mL799tsUL0JuNi2mdevW8vDw0IgRI5J9Wnr1eJo0aSJvb2999NFHTsf46aefKiYmxul36yoff/yx0/LYsWMlyfE7v/qp87XxxMTEaNq0aZb2e/0jP3Pnzq0yZco4HpNaqFAhVa9eXZ999pnTRfv27du1cOHCGxa7N5Lex82uWbPG6d6ZI0eO6IcfflDTpk0duSldurRiYmKcpnJFR0ff0hPaateureDgYE2cONHpnI6KikpWvGTU395V7dq107///qspU6Zo69atTtOgdGWq0fWuFs3XP+72Ztq2bas1a9ZowYIFydadPXtWly9fliRFRETo0qVLTsdst9uTnccpnbdK4X3Tw8NDrVu31ty5c7Vhw4Zk+752+xw5cqhDhw765ptvFBUVpSpVqqRplPLLL79UqVKl1KdPHz3++ONOPy+++KJy586d4nQoIDthxAK4jUqXLq2vvvpK7dq1U4UKFZy+eXv16tWaNWuW49n31apVU5cuXTR58mSdPXtW4eHhWrdunT777DO1bt3aacShZ8+e6tOnjx577DE98MAD2rp1qxYsWJDqPN3ExEQ1btxYbdu21e7duzV+/Hjde++9euihh1KN/cknn9Q333yjPn36aOnSpapfv76SkpK0a9cuffPNN47vNEivgIAAjRkzRj179tTdd9+tjh07Kk+ePNq6davi4uIc3zvRs2dPzZ49W82aNVPbtm21b98+ffnll44Rj/Ro166dXn/9dfn6+qpHjx7JpjiMGjVKS5cuVd26ddWrVy9VrFhRp0+f1qZNm/Trr7+meKF1VZkyZfTqq69q5MiRuu+++/Too4/Kx8dH69evV+HChRUZGang4GANGTJEw4cPV7NmzfTQQw85fg933313mm4STa8DBw7ooYceUrNmzbRmzRp9+eWX6tixo+OT8aZNm8rb21utWrVS7969df78eX3yyScKCQlJdeQrLSpWrKiGDRuqVq1ayps3rzZs2KDZs2erX79+jj7vvvuumjdvrrCwMPXo0cPxuNnAwMAUv58lLdL7uNnKlSsrIiLC6XGzuvLo4Kvat2+vl156SY888oiee+45xcXFacKECSpbtuwNb+hPiZeXl9544w317t1bjRo1Urt27XTgwAFNmzYt2QhcRv3tXdWiRQv5+/vrxRdfdBTW1xoxYoRWrFihli1bqnjx4jp+/LjGjx+vokWLpvvT90GDBunHH3/Ugw8+qK5du6pWrVq6cOGCtm3bptmzZ+vgwYPKnz+/WrdurTp16uiFF17Q3r17Vb58ef3444+Ov72rIzcBAQFq0KCB3nnnHV26dElFihTRwoULdeDAgWT7fuutt7Rw4UKFh4c7HtsbHR2tWbNmaeXKlU6Pd+3cubM++ugjLV261Okxxqn5999/tXTpUj333HMprvfx8VFERIRmzZqljz76iC++Q/bl7sdSAXeiv/76y/Tq1cuUKFHCeHt7G39/f1O/fn0zduxYEx8f7+h36dIlM3z4cFOyZEnj5eVl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NptNW7ZscbSdPXtWNptNy5Ytk66ZTvPLL7+oVq1a8vHx0cqVKx39J02apNDQUPn5+alt27aKiYlxrFu/fr0eeOAB5c+fX4GBgQoPD9emTZucjsVms2nChAl66KGHlCtXLr355pupHvfVeE+dOqXu3bvLZrMpKioq1RgTEhL03HPPKSQkRL6+vrr33nu1fv16x+td3W7BggWqUaOGcubMqUaNGun48eOaP3++KlasqICAAHXs2FFxcXGpxnUjCQkJevHFF1WkSBHlypVLdevWdeT26u8uKChICxYsUIUKFZQ7d241a9ZM0dHRjj6XL1/Wc889p6CgIOXLl08vvfSSunTp4hiN69q1q5YvX64PP/xQNptNNpvN8fuXpI0bN6p27dry8/NTvXr1tHv3bse6rVu36v7775e/v78CAgJUq1YtbdiwwbG+VatW2rBhg/bt23dLxw8AwJ2OwuImYmKklStd/7NqlS1N/a65dr1lZ8+eVaNGjVSjRg1t2LBB8+fP17Fjx9S2bVtHn4EDB2rVqlX68ccftWjRIv3222/JLowvXbqkkSNHauvWrZozZ44OHjyorl27Otb/888/atCggXx8fLRkyRJt3LhR3bt31+XLl9WgQQOVKlXK6WL/0qVLmj59urp3755q7L/99ptq167tWG7Xrp1+/fVXSdLvv/+uw4cPKzQ0VN9//7369++vF154Qdu3b1fv3r3VrVs3LV26NN35evnllzVq1Cjt3LlTVatWlSTt3btX33zzjebOnav58+dr8+bNeuaZZxzbnDt3Tl26dNHKlSu1du1a3XXXXWrRooXOnTvn9NrDhg3TI488om3btt3wuENDQxUdHa2AgAB98MEHio6OVrt27VKNcfDgwfr222/12WefadOmTSpTpowiIiJ0+vTpZPsfN26cVq9erSNHjqhdu3YaO3aspk+frnnz5mnhwoUaO3ZsunMmSf369dOaNWs0Y8YM/fHHH2rTpo2aNWumPXv2OPrExcXpvffe0xdffKEVK1bo8OHDevHFFx3r3377bU2fPl3Tpk3TqlWrFBsbqzlz5jjWf/jhhwoLC1OvXr0UHR2t6OhohYaGOta/+uqrGj16tDZs2KAcOXI45bhTp04qWrSo1q9fr40bN+rll1+Wl5eXY32xYsVUoEAB/fbbb7d0/AAA3PHMHSYmJsZIMjExMcnWXbx40fz555/m4sWLjrbffjNGct/Pb7+l7bi6dOliHn744RTXjRw50jRt2tSp7ciRI0aS2b17t4mNjTVeXl5m1qxZjvVnz541fn5+pn///qnuc/369UaSOXfunDHGmCFDhpiSJUuaxMTEFPu//fbbpkKFCo7lb7/91uTOnducP38+1X0EBgaazz//3Klt8+bNRpLZv3+/SUxMNHa73dSrV8/06tXLqV+bNm1MixYtjDHGHDhwwEgymzdvdqw/c+aMkWSWLl1qjDFm6dKlRpKZM2eO0+sMHTrUeHp6mr///tvR9ssvvxgPDw8THR2dYtxJSUnG39/fzJ0719EmyQwYMCDVY03t+KdNm+ZYTinG8+fPGy8vLzN9+nRHW2JioilcuLB55513nLb79ddfHX0iIyONJLNr1y5jt9uNMcb07t3bREREpCm28PBwx/lx6NAh4+npaf755x+nPo0bNzZDhgwxxhgzbdo0I8ns3bvXsf7jjz82BQoUcCwXKFDAvPvuu47ly5cvm2LFijmd29fu9/q8XHt88+bNM5Icf8/+/v4mKirqhsdUo0YNM2zYsBTXpfT+cFVSUpKJjo42SUlJN3x93Bh5tI4cugZ5dA3yaF1myOGNrp2vx4jFHWDr1q1aunSpcufO7fgpX768dGUO//79+3Xp0iXVqVPHsU1gYKDKlSvn9DobN25Uq1atVKxYMfn7+ys8PFy6cs+DJG3ZskX33Xef06fA1+ratav27t2rtWvXSlemxrRt21a5cuVKNfaLFy86pkHdyM6dO1W/fn2ntvr162vnzp033fZ6146QXFWsWDEVKVLEsRwWFia73e6YanPs2DH16tVLd911lwIDAxUQEKDz5887cnOj174V177Ovn37dOnSJafj9/LyUp06dZId/9URGEkqUKCA/Pz8VKpUKae266e3pcW2bduUlJSksmXLOp1ny5cvd5pa5Ofnp9KlSzuWCxUq5NhfTEyMjh075nQeenp6qlatWmmO49rjK1SokHTl27J1ZVSuZ8+eatKkiUaNGpXilKecOXPe8lQwAADudDncHQAy3vnz59WqVSu9/fbbydYVKlRIe/fuvelrXLhwQREREYqIiND06dMVHBysw4cPKyIiQomJidKVi7IbCQkJUatWrTRt2jSVLFlSv/zyi9Mc/JTkz59fZ86cuWl8N+Ph8V8N/d/AwX9Su3n6RoVOarp06aJTp07pww8/VPHixeXj46OwsDBHbqy8tqti1JWC4yqbzZasCLTZbLf0yNXz58/L09NTGzdudDy966rcuXOnuP+r+7v2d2LV9ccnyXE8w4YNU8eOHTVv3jz98ssvGjp0qGbMmKFHHnnEsc3p06cVHBzssngAALiTUFjcRJUqkqunXBtjlJSUJE9Pz5t+m++V+5QtqVmzpr799luVKFFCOXIk/5WXKlVKXl5eWr9+vYoVKyZd+fT4r7/+UoMGDSRJu3bt0qlTpzRq1CjHnPZrb3zVlU+LP/vsM126dCnVUYuePXuqQ4cOKlq0qEqXLp1slOF6NWrU0J9//nnTY6xQoYJWrVqlLl26ONpWrVqlihUrSpLjYjE6Olo1atSQroywpNXhw4f177//qnDhwpKktWvXysPDwzGqs2rVKo0fP14tWrSQJB05csTp5viMdPWG9VWrVql48eLSlaJp/fr1t+17JmrUqKGkpCQdP378hjfj30hgYKAKFCig9evXO867pKQkbdq0yel7RLy9vZ2+0yQ9ypYtq7Jly+r5559Xhw4dNG3aNEdhER8fr3379jnODwCZW2Ki1LevNHvKGdX22Ky7ejTQx5Ny6Cb/rQLIQBQWNxEYKN17r2tf0xjp8mWjHDnk0jfAmJiYZBfL+fLlU9++ffXJJ5+oQ4cOGjx4sPLmzau9e/dqxowZmjJlivz9/dWlSxcNGjRIefPmVUhIiIYOHSoPDw9H4VOsWDF5e3tr7Nix6tOnj7Zv366RI0c67atfv34aO3as2rdvryFDhigwMFBr165VnTp1HBfgERERCggI0BtvvKERI0bc9JgiIiL02Wef3bTfoEGD1LZtW9WoUUNNmjTR3Llz9d133zlu9M6ZM6fuuecejRo1SiVLltTx48f12muvpTm3vr6+6tKli9577z3FxsbqueeeU9u2bVWwYEFJ0l133eV4alZsbKwGDRp00xEcV8mVK5eefvppx++vWLFieueddxQXF6cePXrclhjKli2rTp06qXPnzho9erRq1KihEydOaPHixapatapatmyZptd59tlnFRkZqTJlyqh8+fIaO3aszpw541SAlyhRQr///rsOHjyo3LlzK2/evDd93YsXL2rQoEF6/PHHVbJkSf39999av36902OM165d6xhpApB5/fGHVLeuFB4/X/PVXJ9Ikl16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1apV0+zZsx3rr8bxyy+/qFatWvLx8dHKlStT3N+MGTNSnDITEhKipk2b6osvvnC0rV69WidPnlTLli2T9Z8yZYoqVKggX19flS9fXuPHj3da//fff6tDhw7KmzevcuXKpdq1a+v333936vPFF1+oRIkSCgwMVPv27XXu3DnHuvnz5+vee+915OXBBx/Uvn37HOsPHjwom82m7777Tvfff7/8/PxUrVo1rVmzxtHn+txv3bpV999/v/z9/RUQEKBatWppw4YNTn1/+uknlStXTn5+fnr88ccVFxenzz77TCVKlFCePHn03HPPKSkpKcXcXt3HAw88oICAAKd9LFu2TN26dVNMTIxjFGzYsGGSpISEBL344osqUqSIcuXKpbp16zp9q/rV2ObMmaO77rpLvr6+ioiI0JEjR5z23apVK/3444+6ePFiqvEByFzi4qS6daVcuaSk1Wu1R3c5rR+u12WTXU3+GCNjbGrQwG2hAnADCou0unAh9Z/4+LT3vf4iKrV+Fp0/f15ffvmlypQpo3z58ll+vatGjx6tqKgoTZ06VStXrtTp06f1/fffO/WJjIzU559/rokTJ2rHjh16/vnn9cQTT2j5cufHDL788ssaNWqUdu7cqapVq6a4v5UrV6p27dopruvWrZtTYTF16lR16tRJ3t7eTv2mT5+u119/XW+++aZ27typt956S//73//02WefSVdyFR4ern/++Uc//vijtm7dqsGDB8tutzteY9++fZozZ45++ukn/fTTT1q+fLlGjRrlWH/hwgUNHDhQGzZs0OLFi+Xh4aFHHnnE6TUk6dVXX9WLL76oLVu2qGzZsurQoUOqozWdOnVS0aJFtX79em3cuFEvv/yyvLy8HOvj4uL00UcfacaMGZo/f76WLVumRx55RD///LN+/vlnffHFF5o0aZJTUXe9J554QkWKFNG6deuc9lGvXj198MEHCggIcIyCvfjii5Kkfv36ac2aNZoxY4b++OMPtWnTRs2aNdOePXucYnvzzTf1+eefa9WqVTp79qzat2/vtO/atWvr8uXLyQo4AJlPQoLUqJFUM9cu9V7XXU/qc63X3dqn0lqmcL2sSNlk1H7XcBljU5Uq7o4YgFuYO0xMTIyRZGJiYpKtu3jxovnzzz/NxYsXk2/439PzUv5p0cK5r59f6n3Dw43dbjeJiYnGbrcbkz9/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", + "image/png": "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59Oad0bzmNHcZOU+DqSGwgJ5VpMmTVSkSBH98MMPGjJkSJr9kpKS5OnpqZIlS0qSDh8+rFtuuSVZn0OHDqlo0aKuD7CiRYum+uSeQ4cOyc/PL0V7ak+nufokmKvLTc3VXys///xz3X333ems7T88PT1v2EeS6/n++/fvV9WqVdPsl9n1TGv55cqV07333qtJkyZp+PDh+vzzzxUaGqo2bdq4+mR2XTO7PpnZvu6Ske2+ePFixcbGaujQoa6iQleeNJOajG5jSapfv74mT54sSdq9e7c++OADvfbaaypRooSefvppW3KSmoweH5ndH2/k6ryPHDmicuXKpVj+tV+usupYVAaPD2Vge6YmNx8bWRGXlb8zOUlGc5OV+ziQGi6FQp7l7++v1157TevWrdO4ceNS7bNmzRq99957kqQWLVrI29tbX3/9dbI+R44c0eLFi/Xggw+62m655RatW7cuWb9169Zpz549qS5nw4YN2rFjR7K2yZMny9/fP8Up6mu1bt1aAQEB+uyzz1Idn5CQkOa06WnVqpUKFSqk8ePHpxh37aVjmV3P9PTu3VsHDhzQ9OnT9dNPP+lf//pXsg81K+uakfXJzPZ1l4xs96uXPFz/C+iECRMsLfv6fFWqVEn/+c9/5HA4tG3bNikLc5LZx81m9Phw5/6oK+vv5eWlb7/99obzzKpj8aobHR8Z2Z6pyc3HRlbElVXbsXDhwoqNjb2paW9GRnOTk/Zx5A+csUCe1r9/f506dUr9+/fXqlWr1K1bN5UtW1aRkZGaOXOmPv30U7388svSlV+ARo0apRdffFHBwcHq2rWrTp48qcGDByskJERvvvmma77PP/+8OnTooIEDB6pbt27atWuXpk2bprvvvltnzpxJEUerVq3Ut29f9enTR6VLl9b333+v7777Th9++GG6p5WDg4M1adIk9ejRQwkJCerVq5dKlCihQ4cOafHixdq7d6/mzJmT6bwEBwdr4sSJeuSRR9ShQwc99dRTKlq0qNauXauZM2dqyZIlN7We6Wnfvr2KFSump556SvHx8erVq5fb1jUj65OZ7esuGdnuzZo1U5kyZdS/f3+9++678vHx0RdffKHw8HBLy37//fe1fPlydevWTVWqVFFCQoK++OILeXp6qkuXLlIm9/nMmDx5svr166fp06erc+fON+yf0ePDnfujrqz/K6+8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M3z4cDVs2FCPPPKImjdvrp9//lm7d+9OdplT/fr1tXv3br3//vsKCwtTvXr1MjTvZs2aue6TiYqK0scff6y+ffu6xk+bNk0PPfSQAgICMrn2QO4XHS316CFt+PmwFug+Ge2QNkrd+3+rNm266yZfSwTADThjkUc0aNBAu3btUu/evbV582YtWLBASUlJGjdunAYPHixduTRl3rx56tOnj1auXKkjR45o5syZev75513zCQoKUqdOneTr6+tqCw4OVqdOneTt7e1qCwkJUadOnVyX8Fy1aNEi+fv7a/ny5erYsaMWL17s6nOzy/fw8FCnTp0UEhLims+UKVP0+eef68SJE1q6dKlCQkK0evVq1w2uGZmPh4eH5s+fryJFimjmzJn6/fff9cEHH6hPnz7atWuXli1bpk6dOmnx4sVpXh7UtWtX6cq7MK5q06ZNskuSMrLekjR//nw98MADWrJkiby8vLR48WJ16tRJQUFBaa7Tte0rVqxIM/dNmjTRggULdObMGS1ZskRt27bVlClTdP/996eb+4y4fn3Tmk/58uW1YcMGVa5cWQsXLlSpUqW0YcMG1ahRw9WnatWqat68ebLpatSooaZNmyZrq1Onju7MYMVfqVIl3Xfffa7h0qVLa+PGjXrssce0du1a/f3332rVqlWysw+pxVGmTBm1a9fONVytWjWtXr1ahQsX1sqVK9WyZUu9+OKLye57aNiwoaZOnapt27Zp2rRp2rt3b4bmfTUvy5cv165duzRhwgTXy/DOnTun77//3nVcA/nFqlX//BhXLvCsWv/8jA6rrKrqfw9xOOVZStfdZgcgmznMtW/kygeioqIUFBSkCxcupLjRNy4uTvv371dERESmv1xlhjHG7fcG2G3Lli2qWbOmjh8/rhIlSmTLMnNKHn/77Tf98ccfGjZsmG0x3KycksPcKCkpSZcuXVKhQoVceWzVqpXCw8P1+eefZ9lyr54ZGThwYJp9sutvmbs5nU6dOnVKoaGhKX60QMbktRwaI73+uvTmawnqqFk6qeL6Q7frsMIUqn+eirZTlXWfFuizX8vpmt8QLMlrebQLebQuJ+Qwve/O1+NSKMCi5s2bp/gFOq/YuHGj9uzZk+q4kiVLZvv9EamZO3dumvfWNGjQQOFZdF1EYmKimjZtqocffljBwcGaPXu2/vrrL32YxRd6t2nTJkvn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R+vIoXuQR/cgj9blhBxe/c589Tt0evJdYREdHS1JCgsLszsUAAAAIFeIjo5WUFBQun0cJiPlRx7idDp17NgxBQQEyOFw2BJDVFSUwsLCdPjwYQUGBtoSQ15AHq0jh+5BHt2DPFpHDt2DPLoHebQuJ+TQGKPo6GiVKlXqhmdN8t0ZCw8PD5UpU8buMCRJgYGBHGhuQB6tI4fuQR7dgzxaRw7dgzy6B3m0zu4c3uhMxVVc8AYAAADAMgoLAAAAAJZRWNjAx8dHr776qnx8fOwOJVcjj9aRQ/cgj+5BHq0jh+5BHt2DPFqX23KY727eBgAAAOB+nLEAAAAAYBmFBQAAAADLKCwAAAAAWJbv3mORHRYtWqRPPvlEkZGRqlu3roYOHaqQkBC3T5OXXb58WePGjdOcOXPkcDjUtm1bPfvss+m+mKV58+aKjY1N1ta3b189+uij2RBxznTs2DF99tln+vXXX9WpUye98MILN5zmxIkTGjVqlDZt2qTQ0FD16dNHd999d7bEm1OtXr1aEyZM0I4dOzR+/HjVq1cv3f7vvPOOZs2alaytQoUK+vbbb7M40pzr77//1sSJE7V9+3aFhoaqa9euatu2bbrTOJ1OffLJJ5o9e7aSkpLUunVr9evXTwUK5M+PLqfTqVmzZunHH3/UiRMnVLlyZT333HOqUqVKmtNs3bpVvXv3TtH+5Zdf6pZbbsniiHOmpKQkTZ48WXPmzNG5c+d0yy236N///ne6eZSktWvX6r///a+OHDmiqlWrasiQISpXrly2xZ3TnD59WuPHj9cff/whb29v3X777erTp0+671ro2rWrDhw4kKytS5cuGfpsyuvOnz+vLl26KDo6WqtXr06374ULFzR69GitXr1aQUFBevzxx9WuXbtsizU9+fOvcxaaM2eO2rVrp1dffVV169bVe++9pyZNmmjDhg3y9fV12zR5Xd++ffXzzz/rvffeU1JSkgYOHKjdu3dr7NixaU6zdu1avfLKK2rSpImrrWzZstkUcc6zbt06de7cWf/61790/vx57d+//4bTxMTE6M4771SFChX00ksvac2aNWrRooXmz5+ve+65J1vizmlefvllLVq0SB07dtRXX32lqKioG06zb98++fv7a9SoUa42f3//LI4055o/f76GDh2q3r17q3379tq8ebO6d++uYcOGafDgwWlO99JLL+nrr7/WmDFj5OXlpRdeeEFbt27VxIkTszX+nKJfv346ffq02rRpoxIlSmjq1KmqW7euVq5cqbp166Y6TXR0tNasWaPffvtNfn5+rvawsLBsjDxn6du3rzw8PNS9e3f5+fnp66+/VsOGDbVu3bo0i4s///xTTZo0UZ8+ffTII4/os88+02233aa///473/4I2KxZM3Xt2lUvvPCCzp07pzfeeEM//PCD1qxZk+Y0Gzdu1IMPPqjOnTu72kqUKJFNEedsTzzxhE6cOKEtW7ak2y8pKUn33XefdOXzaffu3ercubMmTZqkRx55JJuiTYeBW9WqVcv07t3bNXzu3Dnj6+trJkyY4NZp8rK9e/cah8Nhfv75Z1fblClTjKenpzl69Gia0xUsWND88MMP2RRlznfx4kWTmJhojDGmUaNGpm/fvjecZsyYMSYgIMBcvHjR1fbwww+bxo0bZ2msOdn58+eNMcYcPnzYSDJLliy54TRPP/206dSpUzZElzvExMSkaBsxYoQJCQlJc5rjx48bT09PM2XKFFfbzz//bBwOh9m9e3eWxZqTRUdHp2irW7euefLJJ9OcZtWqVUZSqtPmV9f+fTPGGKfTaYKCgsz777+f5jStW7c2LVu2dA0nJCSYkiVLmmHDhmVprDnZ9Xn87bffjCSzf//+NKepUqWK+fDDD7Mhutxl/Pjx5s477zSff/65udFX8++//954eHiYI0eOuNpeeOEFExYWZpxOZzZEmz7usXCj06dPa9OmTWrTpo2rrXDhwmrSpIkWLVrktmnyut9++01eXl6uilyS2rRpI6fTqSVLlqQ77dtvv627775bjz32mBYvXpwN0eZc/v7+mb5kZPHixbrnnnuS/brerl07rVmzRtHR0VkQZc4XFBR0U9OtW7dOzZs3V4cOHTRmzBglJCS4PbbcomDBginaChUqpMTERKX1xPOlS5cqKSlJDz74oKutZcuW8vb2zrfHdqFChVJty8i+9dBDD+nee+9Vv379tG/fviyKMHe4/uzhhg0bFBMTo9q1a6fa/+pnz7Wf015eXrr//vvz7ee0UsnjsmXLVLx4cRUvXjzd6T7//HM1bdpUPXr00MyZM7M4ypxvy5YtGjFihCZPnpzu5d5XLV68WPXq1VPp0qVdbe3atdPhw4e1a9euLI72xigs3OjgwYOSpFKlSiVrL1WqlGucO6bJ6w4ePKhixYrJ29vb1VawYEEFBQWlm5OqVavq8ccf18svv6wyZcqodevW+vDDD7Mp6rzh4MGDqe6LxhgdPnzYtrhyG39/fz3yyCMaPHiw2rZtq3HjxqlZs2ZKSkqyO7QcISoqSh9++KHatWsnh8ORap+DBw8qMDAw2ZdpLy8vhYSE5Nu/jdf7/ffftWLFCrVv3z7dfg888IAee+wxPf/88zp16pSqV6+uDRs2ZFucOdHWrVvVuHFj1ahRQ82aNdM333yjZs2apdo3MjJSly5d4nM6FePHj1fjxo1VtmxZTZs2Tb///nuyS+6uV7ZsWT3++OMaPny4atasqcceeyzdyyHzutjYWD388MN67733Mny/Tlqf07rmO6WduMfCjRITE6Urb0m8lp+fn2ucO6bJ6xITE1N9w+SNcrJixQrXdC1atJCvr68GDRqkp59+OlmRgrSllvurHxL5dX+8GW+99VayPN5111265ZZbNH36dHXt2tXW2OyWmJiohx56SAUKFND777+fbr+b+TuQX+zZs0cPPfSQHn/88XQLi7p16+qXX35xDT/44IO6++67NWTIEM2fPz+bos15ypUrp7Fjx+rs2bOaPHmyBgwYoHr16qV6jwWf02lr06aN6tSpowMHDmj06NHq27evfv31V3l6eqba/+eff3bl8d5771WJEiXUu3dv9evXL9kv8PlF//79Vbt2bfXo0SPD0yQmJiogICBZW076nOaMhRsFBwdLks6ePZus/cyZMypatKjbpsnrgoODU+RDGcjJ9X/07733Xl26dEm7d+/OkjjzotRyf+bMGUnKt/vjzbh+X6xYsaLCw8P1999/2xZTTnC1qNi9e7d+++03FSlSJM2+wcHBOnfuXIpLpfLz38ar9u3bp+bNm6t58+b69NNP0+2bWnF277335vt9sVChQmrcuLFat26t7777TqVKldI777yTat8iRYrI4XDwOZ2KsLAw3X777erevbt+/vlnLV68WHPnzk2zf2qf006n84Y3LOdVX331lTZt2qTGjRurcePGGjlypCSpcePG+u6771KdJqd/TlNYuFGFChUUFBSkdevWJWtfu3Ztmk/suJlp8rp69erpwoULyQqCjRs3KiEhIVM5OXHihJTG9d1IXb169VLsi2vWrFFISEi+/DXJXS5fvqzTp0/n633x8uXL6tq1q/7++28tWbLkhk8lqlevni5fvqyNGze62vbu3auzZ8/m27+NkrR//341a9ZMt912myZPnpzmL8PpOXHiRL7eF1NTokQJnT59OtVxBQsWVOXKlVP925if98XrFS9eXB4eHmnmMTX5/XN6xYoVmjhxosaOHauxY8eqe/fukqSxY8emeWlevXr1tHHjRl2+fNnVtmbNGnl5eal69erZFnua7L57PK/p37+/iYiIMCdPnjTGGPPll18aT09Ps2XLFlefYcOGJXsKVEamyU8SExNNhQoVzCOPPGKcTqdJSkoyHTt2NFWrVjVJSUmufk2aNDFff/21McaYxYsXm99++8017siRI6ZWrVqmUaNGtqxDTpPWU6FWrVplGjVqZA4cOGCMMWb9+vXG4XCY6dOnG2OMOXr0qCldurQZNGhQtsec06T3VKhRo0aZ7t27G2OMiY+PN6NHjzbx8fHGXNmfBw4caLy8vMy2bduyPe6cIDEx0XTq1MlERESYgwcPptmvZcuWrqfhOZ1OU6NGDdOxY0fXcf/oo4+aiIgIk5CQkG2x5yQHDhww5cqVMw899JDriW/X+/vvv02jRo3M9u3bjTHGfP7552bfvn2u8cuXLzf+/v7m5Zdfzra4c5o333zTXLp0yTW8ePFi4+vraz7++GNX2wcffGDatGnjGn7nnXdM0aJFzZ49e4wxxixYsMB4eHiYhQsXZnP0OcO6devMTz/95BpOTEw0Q4cONd7e3q7PE2OM6dy5s/nPf/5jzJXPl1mzZrnGnTlzxtx99935+pi+3qRJk1I8FWrv3r2mUaNGZu3atcYYYw4dOmR8fX1dTzG7cOGCqV69uunRo4ctMV+PwsLNLl68aNq0aWP8/PxMxYoVTaFChcykSZOS9Xn44YeTfeHNyDT5zcaNG0358uVN8eLFTUhIiKlUqZLZunVrsj4+Pj7mrbfeMsYYs3//fvPAAw+YkJAQU716dePj42Pat2+f7uNp87rY2FjTqFEj06hRI1OoUCFTvHhx06hRI9cXYGOMmTdvnpHk+hJijDETJkww/v7+pmLFisbX19d07Ngx2YdwfvPLL7+YRo0ambp16xpJpmrVqqZRo0bms88+c/Xp3bu3qV69ujFXvhAPGzbMFC1a1NSoUcMULVrUVKhQwcydO9fGtbDXV199ZSSZ8uXLu/bJq/+uPs7XGGOKFi2a7Avv9u3bTZUqVUxISIgpUaKECQ8PN3/99ZdNa2G/Dh06GEmmQYMGyXL41FNPufosX77cSDLr1q0z5sqX5urVq5uIiAhToUIF4+fnZwYNGpRmYZIfvPnmmyY0NNRUr17dhIeHm8KFC5vXX3892aM6X3jhBVO6dGnX8OXLl81jjz1mfHx8TOXKlY2vr68ZPXq0TWtgv5MnT5pu3bqZ4OBgU7t2bRMcHGyqVatm5s2bl6xfhQoVXD9qnTp1ynTv3t0EBwebGjVqGH9/f9OsWTOzc+dOm9Yi50mtsNi8ebORlKyInTlzpilcuLCJiIgwhQoVMnfffbc5e/asDRGn5DBpPesPlhw+fFhnzpxRpUqVUpzi27Nnj+Lj41OcskpvmvzI6XRq+/btcjgcqlq1aoqnx6xdu1ZlypRJ9nSEc+fO6ciRIwoPD09xc1N+43Q6tXbt2hTt/v7+qlWrlnTl7Z3bt29XnTp1kr2MMSYmRrt371ZoaGi+vwQqMjJSe/fuTdFepkwZlSlTRrpyzXtMTIwrr5KUkJCg3bt3q0iRIipZsmSaTz/KD9LKoSQ1aNDA9Vjk9evXq3jx4q686p9PWO3YsUNOp1NVq1bN0OMY86qdO3fq3LlzKdoDAwNVrVo16coL8bZu3aqaNWsm+xw5dOiQLl26pIiICB5mceXSvF27dsnX11dhYWHy8vJKNv7QoUM6c+ZMikudTp48qWPHjql8+fI3/SjqvCQ6Olr79u1T8eLFU33R3caNG1W4cGGFh4cnm+bAgQMqU6ZMuvdZ5UdX/1Y2btzY1Xbp0iX9/fffqlatWrK3msfFxWnHjh0KCgpSRESETRGnRGEBAAAAwLL8+9MPAAAAALehsAAAAABgGYUFAAAAAMsoLAAAAABYRmEBAAAAwDIKCwAAAACWUVgAAAAAsIzCAgBgi927d2vatGlKTExM1h4XF6dp06Zp3759tsUGAMg8CgsAgC2KFi2qAQMGaOTIkcnaBw8erCFDhigkJMS22AAAmcebtwEAtpkzZ47at2+v1atXq379+lq4cKFat26t33//Xbfffrvd4QEAMoHCAgBgq969e2v16tVauHChGjZsqF69eqU4iwEAyPkoLAAAtoqOjlbNmjV18eJFRURE6I8//lCBAgXsDgsAkEncYwEAsFVAQIB69eql06dPa8CAARQVAJBLccYCAGCrffv2qU6dOoqIiFBMTIw2bdqkggUL2h0WACCTOGMBALBNUlKSHn30UTVp0kSrVq2Sp6enXnzxRbvDAgDcBM43AwBsM2rUKO3Zs0ebN2+Wv7+/vvrqK911113q0KGD7rvvPrvDAwBkApdCAQBssW7dOt1xxx2aNWuWHnzwQVf7oEGD9N1332nLli0KCgqyNUYAQMZRWAAAbPHqq6/Kz89PgwcPTtYeHx+vvn37qmXLlurSpYtt8QEAMofCAgAAAIBl3LwNAAAAwDIKCwAAAACWUVgAAAAAsIzCAgAAAIBlFBYAAAAALKOwAAAAAGAZhQUAAAAAyygsAAAAAFhGYQEAAADAMgoLAAAAAJZRWAAAAACwjMICAAAAgGX/DzZ76daE0LP+AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -431,13 +425,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.863801Z", - "iopub.status.busy": "2026-04-14T11:00:11.863711Z", - "iopub.status.idle": "2026-04-14T11:00:11.911766Z", - "shell.execute_reply": "2026-04-14T11:00:11.911169Z" + "iopub.execute_input": "2026-09-18T12:42:09.301569Z", + "iopub.status.busy": "2026-09-18T12:42:09.301478Z", + "iopub.status.idle": "2026-09-18T12:42:09.352899Z", + "shell.execute_reply": "2026-09-18T12:42:09.352287Z" } }, "outputs": [ @@ -487,13 +481,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.913028Z", - "iopub.status.busy": "2026-04-14T11:00:11.912943Z", - "iopub.status.idle": "2026-04-14T11:00:11.915031Z", - "shell.execute_reply": "2026-04-14T11:00:11.914650Z" + "iopub.execute_input": "2026-09-18T12:42:09.353901Z", + "iopub.status.busy": "2026-09-18T12:42:09.353811Z", + "iopub.status.idle": "2026-09-18T12:42:09.356051Z", + "shell.execute_reply": "2026-09-18T12:42:09.355690Z" } }, "outputs": [ @@ -505,11 +499,11 @@ " \"name\": \"four-bar\",\n", " \"joints\": [\n", " {\n", - " \"id\": \"coupler.0_crank.tip\",\n", - " \"type\": \"revolute\",\n", + " \"id\": \"ground.D_rocker.1\",\n", + " \"type\": \"ground\",\n", " \"position\": [\n", - " 0.998026728428271,\n", - " -0.06279051952932213\n", + " 4.0,\n", + " 0\n", " ]\n", " },\n", " {\n", @@ -521,11 +515,11 @@ " ]\n", " },\n", " {\n", - " \"id\": \"ground.D_rocker.1\",\n", - " \"type\": \"ground\",\n", + " \"id\": \"coupler.0_crank.tip\",\n", + " \"type\": \"revolute\",\n", " \"position\": [\n", - " 4.0,\n", - " 0\n", + " 0.998026728428271,\n", + " -0.06279051952932213\n", " ]\n", " },\n", " {\n", @@ -593,13 +587,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.915806Z", - "iopub.status.busy": "2026-04-14T11:00:11.915731Z", - "iopub.status.idle": "2026-04-14T11:00:11.918447Z", - "shell.execute_reply": "2026-04-14T11:00:11.918028Z" + "iopub.execute_input": "2026-09-18T12:42:09.356981Z", + "iopub.status.busy": "2026-09-18T12:42:09.356892Z", + "iopub.status.idle": "2026-09-18T12:42:09.360218Z", + "shell.execute_reply": "2026-09-18T12:42:09.359828Z" } }, "outputs": [ @@ -608,7 +602,7 @@ "output_type": "stream", "text": [ "Loaded mechanism: four-bar\n", - "Joints: ['coupler.0_crank.tip', 'crank.motor_ground.A', 'ground.D_rocker.1', 'coupler.1_rocker.0']\n", + "Joints: ['ground.D_rocker.1', 'crank.motor_ground.A', 'coupler.0_crank.tip', 'coupler.1_rocker.0']\n", "Links: ['ground', 'crank', 'coupler', 'rocker']\n" ] } @@ -631,13 +625,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.919273Z", - "iopub.status.busy": "2026-04-14T11:00:11.919192Z", - "iopub.status.idle": "2026-04-14T11:00:11.922664Z", - "shell.execute_reply": "2026-04-14T11:00:11.922380Z" + "iopub.execute_input": "2026-09-18T12:42:09.361109Z", + "iopub.status.busy": "2026-09-18T12:42:09.361023Z", + "iopub.status.idle": "2026-09-18T12:42:09.364795Z", + "shell.execute_reply": "2026-09-18T12:42:09.364416Z" } }, "outputs": [ @@ -689,13 +683,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.923349Z", - "iopub.status.busy": "2026-04-14T11:00:11.923278Z", - "iopub.status.idle": "2026-04-14T11:00:11.927362Z", - "shell.execute_reply": "2026-04-14T11:00:11.927003Z" + "iopub.execute_input": "2026-09-18T12:42:09.365764Z", + "iopub.status.busy": "2026-09-18T12:42:09.365681Z", + "iopub.status.idle": "2026-09-18T12:42:09.369949Z", + "shell.execute_reply": "2026-09-18T12:42:09.369596Z" } }, "outputs": [ @@ -704,7 +698,7 @@ "output_type": "stream", "text": [ "Mechanism: slider-crank\n", - "Joints (3): ['crank.tip_rod.0', 'rod.1', 'crank.motor_ground.O']\n", + "Joints (3): ['crank.motor_ground.O', 'crank.tip_rod.0', 'rod.1']\n", "Links (3): ['ground', 'crank', 'rod']\n" ] } @@ -723,13 +717,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T11:00:11.928169Z", - "iopub.status.busy": "2026-04-14T11:00:11.928097Z", - "iopub.status.idle": "2026-04-14T11:00:12.057682Z", - "shell.execute_reply": "2026-04-14T11:00:12.057270Z" + "iopub.execute_input": "2026-09-18T12:42:09.371359Z", + "iopub.status.busy": "2026-09-18T12:42:09.371154Z", + "iopub.status.idle": "2026-09-18T12:42:09.538924Z", + "shell.execute_reply": "2026-09-18T12:42:09.538222Z" } }, "outputs": [ @@ -742,7 +736,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAMWCAYAAADs4eXxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XlYVPXbBvB7ZoAZ9kWGTdlRBFNRUEItNUksM03LLMslU8u0DNOyX7lkZamZpaYtbpVZVmampZlLlqKoiDuoCKKyyw6yzJzz/gHMG4IIyHBm4P5c11w6Z87ynOHhMM98lyMTRVEEERERERERETU5udQBEBEREREREbVULLqJiIiIiIiI9IRFNxEREREREZGesOgmIiIiIiIi0hMW3URERERERER6wqKbiIiIiIiISE9YdBMRERERERHpCYtuIiIiIiIiIj1h0U1ERERERESkJyy6iYjI4Hh5eWHcuHG65/v374dMJsP+/fvvuG2/fv3Qr18/PUdomMaNGwcrK6tGbTtv3jzIZLJGbdtS3vP169dDJpMhKSlJ6lAa5dbfGyIiMgwsuomIqNmcPn0ajz/+ODw9PaFSqdC2bVs8+OCDWL58udShkUS+++47LFu2rN7rv//++9i6dateY9KXQ4cOYd68ecjNzZU6FCIiakYyURRFqYMgIqKW79ChQ+jfvz88PDwwduxYuLi44OrVqzh8+DASEhJw6dIl3bpeXl7o168f1q9fDwAQBAFlZWUwMzODXF7398VVLa71aRVvacaNG4effvoJhYWFDd5Wo9FAo9FApVI1eNuysjIAgJmZWYO3feSRR3DmzJl6ty5bWVnh8ccf1+VGU9JqtSgvL4dSqWx0q39dlixZgpkzZyIxMRFeXl5Nvv/S0lLI5XKYmpo2+b6JiKjxTKQOgIiIWof33nsPtra2OHr0KOzs7Kq9lpGRUee2crm8UcXg3aoq9pvy2BqNBoIgNKpA1ScTExOYmDTuY4GhnUuVoqIiWFpa1nt9hUIBhUKh15iamiiKKCkpgbm5OZRKpdThEBFRLdi9nIiImkVCQgI6depUo+AGACcnpzq3vd2Y7i+++AK+vr4wNzdHz5498c8//9S6fWlpKebOnQs/Pz8olUq4u7tj1qxZKC0trbaeTCbD1KlTsXHjRnTq1AlKpRI7d+68bVwlJSWYN28eOnToAJVKBVdXVwwfPhwJCQkAgKSkJMhkMixZsgTLli2Dr68vlEolzp07h7KyMsyZMwfBwcGwtbWFpaUl7rvvPuzbt6/aMf67j6rzVSqV6NGjB44ePVrn+wYAsbGxUKvV6NevX50t4LWN6dZoNFiwYIHumF5eXnjzzTdrvG+3jumu+nlt3rwZ7733Htq1aweVSoUBAwZU69HQr18/7NixA1euXIFMJoNMJquzBVgmk6GoqAgbNmzQrV81hrkq/nPnzuHpp5+Gvb09+vTpAwA4deoUxo0bBx8fH6hUKri4uOC5557DjRs3qu3/dmO6//jjD9x3332wtLSEtbU1Bg8ejLNnz9aILy4uDiNHjoRarYa5uTn8/f3xv//9TxffzJkzAQDe3t66+KuOVd/32svLC4888gh27dqFkJAQmJub4/PPP9e9duuY7tzcXEyfPh3u7u5QKpXw8/PDhx9+CEEQqq33/fffIzg4GNbW1rCxsUHnzp3xySef3PZnQURE9ceWbiIiahaenp6IiorCmTNncM8999z1/tasWYPJkyejV69emD59Oi5fvoxHH30UDg4OcHd3160nCAIeffRR/Pvvv5g0aRICAgJw+vRpfPzxx7hw4UKN8cF79+7F5s2bMXXqVDg6Ot62CNRqtXjkkUewZ88ejBo1Cq+88goKCgqwe/dunDlzBr6+vrp1161bh5KSEkyaNAlKpRIODg7Iz8/HV199haeeegoTJ05EQUEB1qxZg4iICERHRyMoKKja8b777jsUFBRg8uTJkMlkWLRoEYYPH47Lly/ftjvx0aNHERERgZCQEPz6668wNzdv0Hv8/PPPY8OGDXj88ccxY8YMHDlyBAsXLsT58+fxyy+/3HH7Dz74AHK5HK+99hry8vKwaNEijB49GkeOHAEA/O9//0NeXh6uXbuGjz/+GKjsPn4733zzDZ5//nn07NkTkyZNAoBq7zMAPPHEE2jfvj3ef/99VI2g2717Ny5fvozx48fDxcUFZ8+exRdffIGzZ8/i8OHDdXYl/+abbzB27FhERETgww8/RHFxMVatWoU+ffrgxIkTuvw4deoU7rvvPpiammLSpEnw8vJCQkICfvvtN7z33nsYPnw4Lly4gE2bNuHjjz+Go6MjAECtVjf4vY6Pj8dTTz2FyZMnY+LEifD396819uLiYvTt2xfXr1/H5MmT4eHhgUOHDmH27NlITU3VjaXfvXs3nnrqKQwYMAAffvghAOD8+fM4ePAgXnnllTv8lImI6I5EIiKiZvDnn3+KCoVCVCgUYlhYmDhr1ixx165dYllZWY11PT09xbFjx+qe79u3TwQg7tu3TxRFUSwrKxOdnJzEoKAgsbS0VLfeF198IQIQ+/btq1v2zTffiHK5XPznn3+qHWP16tUiAPHgwYO6ZQBEuVwunj179o7ns3btWhGAuHTp0hqvCYIgiqIoJiYmigBEGxsbMSMjo9o6Go2mWuyiKIo5OTmis7Oz+Nxzz+mWVe2jTZs2YnZ2tm75r7/+KgIQf/vtN92ysWPHipaWlqIoiuK///4r2tjYiIMHDxZLSkrueD5z584V//uxIDY2VgQgPv/889XWe+2110QA4t69e3XL+vbtW+09r/p5BQQEVDvHTz75RAQgnj59Wrds8ODBoqen5x3jq2JpaVktN26N/6mnnqrxWnFxcY1lmzZtEgGIBw4c0C1bt26dCEBMTEwURVEUCwoKRDs7O3HixInVtk1LSxNtbW2rLb///vtFa2tr8cqVK9XWrcoFURTFxYsXV9t/lYa8156eniIAcefOnTXO6dbfmwULFoiWlpbihQsXqq33xhtviAqFQkxOThZFURRfeeUV0cbGRtRoNDX2SUREd4/dy4mIqFk8+OCDiIqKwqOPPoqTJ09i0aJFiIiIQNu2bbFt27YG7evYsWPIyMjACy+8UG088bhx42Bra1tt3R9//BEBAQHo2LEjsrKydI8HHngAAGp05+7bty8CAwPvGMPPP/8MR0dHTJs2rcZrt7acjhgxQteiWUWhUOhiFwQB2dnZ0Gg0CAkJQUxMTI19Pvnkk7C3t9c9v++++wAAly9frrHuvn37EBERgQEDBmDLli2NGuv7+++/AwAiIyOrLZ8xYwYAYMeOHXfcx/jx46v9fOqKuam88MILNZb9t4W/pKQEWVlZuPfeewGg1ve6yu7du5Gbm4unnnqqWu4oFAqEhobqciczMxMHDhzAc889Bw8Pj2r7qM+EbA19r729vREREXHH/f7444+47777YG9vXy3+8PBwaLVaHDhwAABgZ2eHoqIi7N69+477JCKihmP3ciIiajY9evTAli1bUFZWhpMnT+KXX37Bxx9/jMcffxyxsbH1KnYB4MqVKwCA9u3bV1tuamoKHx+fassuXryI8+fP1yh6q9w6iZu3t3e155mZmdBqtbrnVlZWsLKyQkJCAvz9/es1+dit+6yyYcMGfPTRR4iLi0N5eXmd699azFUV4Dk5OdWWl5SUYPDgwQgODsbmzZsbPTnalStXIJfL4efnV225i4sL7OzsdD+DutQ35qZU23uXnZ2N+fPn4/vvv6/x887Ly7vtvi5evAgAui9obmVjYwP850uExg6baOh7fbt8qi3+U6dO3TH3p0yZgs2bN+Ohhx5C27ZtMXDgQIwcORKDBg1q1PkQEVF1LLqJiKjZmZmZoUePHujRowc6dOiA8ePH48cff8TcuXOb/FiCIKBz585YunRpra//d/w3bmkVReUXBf8teubOnYt58+Y1KIbaxlJ/++23GDduHIYNG4aZM2fCyckJCoUCCxcu1E3E9l+3m1X71jt/KpVKPPzww/j111+xc+dOPPLIIw2K9VZ3c+us+sbclGp7r0eOHIlDhw5h5syZCAoKgpWVFQRBwKBBg2pMKPZfVa998803cHFxqfF6Y7/QuJ36vtf1HZsvCAIefPBBzJo1q9bXO3ToAFROZBgbG4tdu3bhjz/+wB9//IF169ZhzJgx2LBhQwPOgIiIasOim4iIJBUSEgIASE1Nrfc2np6eQGVL3n9bIcvLy5GYmIiuXbvqlvn6+uLkyZMYMGBAowrIjRs34ubNm7rnVS3pvr6+OHLkCMrLyxt1X+SffvoJPj4+2LJlS7W47vaLB5lMho0bN2Lo0KF44okn8Mcff1SbWby+PD09IQgCLl68iICAAN3y9PR05Obm6n4Gd6uhP5OGrp+Tk4M9e/Zg/vz5mDNnjm55VSt2XaomaXNyckJ4ePht16vKiTNnztS5v9vFrq/32tfXF4WFhXXGXsXMzAxDhgzBkCFDIAgCpkyZgs8//xxvv/12jRZ4IiJqGI7pJiKiZrFv375aWzirxrPebgbm2oSEhECtVmP16tUoKyvTLV+/fj1yc3OrrTty5Ehcv34dX375ZY393Lx5E0VFRXUeq3fv3ggPD9c9qgqsESNGICsrCytWrKixTX1acqtagf+77pEjRxAVFXXHbe/EzMwMW7ZsQY8ePTBkyBBER0c3eB8PP/wwAOhmuK5S1WNg8ODBdx0nAFhaWtbZxbu29W/9GdeltvcZtZxXbSIiImBjY4P333+/Wvf/KpmZmUDlDOT3338/1q5di+Tk5Grr/Pe4VfcMvzV+fb3XI0eORFRUFHbt2lXjtdzcXGg0GgCoces0uVyOLl26AJW32yMiorvDlm4iImoW06ZNQ3FxMR577DF07NgRZWVlOHToEH744Qd4eXlh/Pjx9d6Xqakp3n33XUyePBkPPPAAnnzySSQmJmLdunU1xnQ/++yz2Lx5M1544QXs27cPvXv3hlarRVxcHDZv3qy733FDjRkzBl9//TUiIyMRHR2N++67D0VFRfjrr78wZcoUDB06tM7tH3nkEWzZsgWPPfYYBg8ejMTERKxevRqBgYF13k+7vszNzbF9+3Y88MADeOihh/D33383aMxx165dMXbsWHzxxRfIzc1F3759ER0djQ0bNmDYsGHo37//XccIAMHBwfjhhx8QGRmJHj16wMrKCkOGDKlz/b/++gtLly6Fm5sbvL29ERoaetv1bWxscP/992PRokUoLy9H27Zt8eeffyIxMfGOsdnY2GDVqlV49tln0b17d4waNQpqtRrJycnYsWMHevfurfvS5dNPP0WfPn3QvXt3TJo0Cd7e3khKSsKOHTsQGxurix2Vt0obNWoUTE1NMWTIEL291zNnzsS2bdvwyCOPYNy4cQgODkZRURFOnz6Nn376CUlJSXB0dMTzzz+P7OxsPPDAA2jXrh2uXLmC5cuXIygoqFrLOxERNZLU06cTEVHr8Mcff4jPPfec2LFjR9HKyko0MzMT/fz8xGnTponp6enV1r3TLcOqfPbZZ6K3t7eoVCrFkJAQ8cCBAzVuXyVW3mLsww8/FDt16iQqlUrR3t5eDA4OFufPny/m5eXp1gMgvvTSS/U+p+LiYvF///uf6O3tLZqamoouLi7i448/LiYkJIjif273tXjx4hrbCoIgvv/++6Knp6eoVCrFbt26idu3bxfHjh1b7RZade0DgDh37lzd8//eMqxKVlaWGBgYKLq4uIgXL1687bncesswURTF8vJycf78+brzc3d3F2fPnl3jFmS3u2XYjz/+WG29qnNZt26dbllhYaH49NNPi3Z2diKAO94+LC4uTrz//vtFc3NzEYAuT6riz8zMrLHNtWvXxMcee0y0s7MTbW1txSeeeEJMSUmp8f7desuw/55PRESEaGtrK6pUKtHX11ccN26ceOzYsWrrnTlzRncclUol+vv7i2+//Xa1dRYsWCC2bdtWlMvl1Y5V3/fa09NT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wKOPPsqPP/7IXXfdZXdoIiIimYqSbhEREUk3y7Jo0KABnp6e/PrrrzzzzDMMHz7c7rBEREQyHSXdIiIiclP2799PuXLlqFSpEjt37iRHjhx2hyQiIpLpaCE1ERERuSmffPIJfn5+/PXXXxw9etTucERERDIl9XSLiIhIum3dupW6deuyZs0aXn31VQDWrVuHw+GwOzQREZFMRT3dIiIiki5RUVF0796dvn37Ur9+fWbMmMEPP/zAtGnT7A5NREQk01FPt4iIiKTLs88+y6pVq9i9ezd+fn4AfPjhhwwePJhff/2VkiVL2h2iiIhIpqGkW0RERNJs06ZNNGzYkG+++Yb7778/2W1NmjQhLi5Ow8xFRESuoqRbRERERERExEU0p1tERERERETERZR0i4iIiIiIiLiIkm4RERERERERF1HSLSIiIiIiIuIiSrpFREREREREXERJt4iIiIiIiIiLKOkWERERERERcREl3SIiIiIiIiIuoqRbRERERERExEWUdIuIiIiIiIi4iJJuERERERERERdR0i0iIiIiIiLiIkq6RURERERERFxESbeIiIiIiIiIiyjpFhEREREREXERJd0iIiIiIiIiLqKkW0RERERERMRFlHSLiMgNde/enZIlS9odRoZxOByMGjUqsTxr1iwcDgeHDh1yyfONGjUKh8PhkseWrO2bb77B4XCwaNEiu0NJt39/zkREsisl3SIi2VhCsplw8fX15c477+Tpp5/mn3/++U+P/dtvvzFq1CiXJbKSNWzdupVRo0Zx7tw5u0MRERFxCSXdIiLCmDFj+Oyzz5gyZQq1a9dm6tSp1KpVi6ioKAA+/vhjQkND0/WYv/32G6NHj3aLpLtLly5cunSJEiVK2B1KtrN161ZGjx6tpFtERLKsHHYHICIi9mvWrBnVqlUDoHfv3hQoUIC33nqLL7/8ko4dO+Ll5WV3iC7l6emJp6en3WGIG4uKisLPz8/uMEREJBNST7eIiFyjQYMGAPz111+Qypzu+fPnU7VqVfLkyYO/vz+VKlXinXfegSvD1h999FEA6tevnzh8/Ztvvkm8/wcffECFChXw8fGhaNGi9O/f/5reznr16lGxYkV+++036tevj5+fH7fddhtvvvlmms4jOjqagQMHEhgYSJ48eWjVqhVHjx695riU5nT/9NNPNGnShIIFC5IzZ05uv/12evbsmXj7oUOHcDgcTJw4kcmTJ1OiRAly5sxJ3bp12bNnzw1jmzlzJg0aNKBQoUL4+PhQvnx5pk6dmuKxX331FXXr1k18re+9917mzZuX7Jjt27fTtGlTAgIC8PPzo27dumzZsiXZMQlzy3///Xc6d+5MQEAAgYGBvPLKK1iWxd9//03r1q3x9/cnKCiISZMmpfiajhw5ktKlS+Pj40NwcDAvvPAC0dHRyY5zOBw8/fTTfPHFF1SsWBEfHx8qVKjA6tWrk8UzZMgQAG6//fbE90lqoyOefvppcufOnTgC42odO3YkKCiI+Ph4SEP7Xc+NXu+E9+WOHTuoU6cOfn5+vPTSSwB8+eWXtGjRgqJFi+Lj40OpUqUYO3ZsYlz/foybeW9HR0fz0EMPERAQwNatW1M9LiYmhhEjRlC1alUCAgLIlSsXDzzwABs3bkx23NXv5Y8++ohSpUrh4+PDvffey48//njN4y5cuJDy5cvj6+tLxYoVWbp0aZrXfQgLC6Nnz54ULlw48T3xySef3PB+IiLuTD3dIiJyjYMHDwJQoECBFG9fu3YtHTt2pGHDhowfPx6Affv2sWXLFp599lnq1KnDgAEDePfdd3nppZcoV64cQOK/o0aNYvTo0TRq1Ii+ffsSGhrK1KlT+fHHH9myZUuynvWzZ8/StGlT2rZtS/v27Vm0aBFDhw6lUqVKNGvW7Lrn0bt3b+bMmcPjjz9O7dq12bBhAy1atLjh+Z88eZLGjRsTGBjIsGHDyJs3L4cOHWLJkiXXHDt79mzOnz9P//79uXz5Mu+88w4NGjTg119/pXDhwqk+x9SpU6lQoQKtWrUiR44cLF++nH79+uF0Ounfv3/icbNmzaJnz55UqFCBF198kbx58/Lzzz+zevVqHn/8cQA2bNhAs2bNqFq1KiNHjsTDwyMxqf/uu++oXr16sufu0KED5cqV44033mDlypW8+uqr5M+fnw8//JAGDRowfvx45s6dy+DBg7n33nupU6cOAE6nk1atWrF582aeeOIJypUrx6+//srkyZP5/fff+eKLL5I9z+bNm1myZAn9+vUjT548vPvuu7Rr144jR45QoEAB2rZty++//87nn3/O5MmTKViwIACBgYEpvmYdOnTg/fffZ+XKlYk/6nCll3n58uV0794dT0/PdLXfv6Xl9QY4ffo0zZo147HHHqNz586JbT1r1ixy587N888/T+7cudmwYQMjRowgMjKSCRMmJHuum3lvX7p0idatW/PTTz+xbt067r333lTPJTIykunTp9OxY0f69OnD+fPnmTFjBk2aNOGHH36gSpUqyY6fN28e58+f58knn8ThcPDmm2/Stm1b/vzzz8TP5MqVK+nQoQOVKlXi9ddf5+zZs/Tq1Yvbbrvthq/tP//8Q82aNRN/kAkMDOSrr76iV69eREZG8txzz93wMURE3JIlIiLZ1syZMy3AWrdunRUeHm79/fff1vz5860CBQpYOXPmtI4ePWpZlmV169bNKlGiROL9nn32Wcvf39+Ki4tL9bEXLlxoAdbGjRuT1Z88edLy9va2GjdubMXHxyfWT5kyxQKsTz75JLGubt26FmDNnj07sS46OtoKCgqy2rVrd91z27VrlwVY/fr1S1b/+OOPW4A1cuTIa16Hv/76y7Isy1q6dKkFWD/++GOqj//XX39ZQLLXybIsa/v27RZgDRw4MLFu5MiR1r//y42KirrmMZs0aWKFhIQkls+dO2flyZPHqlGjhnXp0qVkxzqdzsR/77jjDqtJkyaJdQmPf/vtt1sPPvjgNXE88cQTiXVxcXFWsWLFLIfDYb3xxhuJ9WfPnrVy5sxpdevWLbHus88+szw8PKzvvvsuWSzTpk2zAGvLli2JdYDl7e1tHThwILFu9+7dFmC99957iXUTJkxI9tpfj9PptG677bZr2n7BggUWYH377beWlcb2S0laXm/rqvfltGnTrnmMlNr1ySeftPz8/KzLly9f8xg3em9v3LjRAqyFCxda58+ft+rWrWsVLFjQ+vnnn294PnFxcVZ0dHSyurNnz1qFCxe2evbsmViX8F4uUKCAdebMmcT6L7/80gKs5cuXJ9ZVqlTJKlasmHX+/PnEum+++cYCkv2NsK68B67+nPXq1csqUqSIderUqWTHPfbYY1ZAQECKr52ISFag4eUiIkKjRo0IDAwkODiYxx57jNy5c7N06dJUe6/y5s3LxYsXWbt2bbqfa926dcTExPDcc8/h4ZH031CfPn3w9/dn5cqVyY7PnTs3nTt3Tix7e3tTvXp1/vzzz+s+z6pVqwAYMGBAsvq09KblzZsXgBUrVhAbG3vdY9u0aZPsdapevTo1atRIfP7U5MyZM/F6REQEp06dom7duvz5559ERETAlREF58+fZ9iwYfj6+ia7f8IWZLt27eKPP/7g8ccf5/Tp05w6dYpTp05x8eJFGjZsyLfffovT6Ux23969eyde9/T0pFq1aliWRa9evZK9BmXKlEn2Oi9cuJBy5cpRtmzZxOc5depU4nSEfw9bbtSoEaVKlUosV65cGX9//xu2XWocDgePPvooq1at4sKFC4n1//vf/7jtttu4//77E2Mnje13tbS83gl8fHzo0aPHNY9xdbueP3+eU6dO8cADDxAVFcX+/fuTHZue93ZERASNGzdm//79fPPNN9f0UqfE09MTb29vuDJK4cyZM8TFxVGtWjV27tx5zfEdOnQgX758ieUHHngAIDGeY8eO8euvv9K1a1dy586deFzdunWpVKnSdWOxLIvFixfTsmVLLMtK9v5p0qQJERERKcYkIpIVKOkWERHef/991q5dy8aNG/ntt9/4888/adKkSarH9+vXjzvvvJNmzZpRrFgxevbsmWyu7vUcPnwYgDJlyiSr9/b2JiQkJPH2BMWKFbsm4cmXLx9nz5694fN4eHgkS/pSet6U1K1bl3bt2jF69GgKFixI69atmTlz5jXzlgHuuOOOa+ruvPPOG67avmXLFho1akSuXLnImzcvgYGBifOCE5LuhGH+FStWTPVx/vjjDwC6detGYGBgssv06dOJjo5OfLwExYsXT1YOCAjA19c3cXj31fVXv85//PEHe/fuveZ57rzzTrgyLP96z0Ma2+56OnTowKVLl1i2bBkAFy5cYNWqVTz66KOJ75P0tN/V0vJ6J7jtttsSE9qr7d27l4cffpiAgAD8/f0JDAxMTKz/3Q7peW8/99xz/Pjjj6xbt44KFSrcML4En376KZUrV8bX15cCBQoQGBjIypUrr4mFFNorIQFPiCfhs1m6dOlr7ptS3dXCw8M5d+4cH3300TXvn4QfL/79/hERySo0p1tERKhevXri6uVpUahQIXbt2sXXX3/NV199xVdffcXMmTPp2rUrn376aYbGltqq4mb0qms4HA4WLVrE999/z/Lly/n666/p2bMnkyZN4vvvv0/Wy3czDh48SMOGDSlbtixvvfUWwcHBeHt7s2rVKiZPnnxNz/T1JBw7YcKEVHs//x1vSq9pWl5np9NJpUqVeOutt1I8Njg4ON2PmV41a9akZMmSLFiwgMcff5zly5dz6dIlOnTokHiMq9uPf/VoJzh37hx169bF39+fMWPGUKpUKXx9fdm5cydDhw69pl3T8/q0bt2a+fPn88YbbzB79uxko0RSM2fOHLp3706bNm0YMmQIhQoVwtPTk9dffz3xB4abjSe9Es69c+fOdOvWLcVjKleu/J+fR0QkM1LSLSIiN8Xb25uWLVvSsmVLnE4n/fr148MPP+SVV16hdOnS1/TgJUjYCzs0NJSQkJDE+piYGP766y8aNWqUIfGVKFECp9PJwYMHk/Vup2e/8Zo1a1KzZk1ee+015s2bR6dOnZg/f36y4dkJPc1X+/3336+7kvPy5cuJjo5m2bJlyXoX/z08O6GXfs+ePan2JCYc4+/vn2GvXWpKlSrF7t27adiwYartm1438zjt27fnnXfeITIykv/973+ULFmSmjVrXnNcWtrvaml5va/nm2++4fTp0yxZsiRx8Tmu2gXgv2jTpg2NGzeme/fu5MmTJ9WV7q+2aNEiQkJCWLJkSbLXeeTIkTcVQ8Jn98CBA9fcllLd1RJ2EIiPj3f5+1REJLPR8HIREUm306dPJyt7eHgk9lIlDOHNlSsXXOn9u1qjRo3w9vbm3XffTdaDNmPGDCIiItK0unhaJKz+/O677yarf/vtt29437Nnz17Tu5fQi/zvIcpffPEFYWFhieUffviB7du3X3dl9YQexaufIyIigpkzZyY7rnHjxuTJk4fXX3+dy5cvJ7st4b5Vq1alVKlSTJw4Mdk85wTh4eE3PN+0at++PWFhYXz88cfX3Hbp0iUuXryY7sdM7X1yPR06dCA6OppPP/2U1atX0759+2S3p6f9rpaW1/t6UmrXmJgYPvjggzSe2fV17dqVd999l2nTpjF06NCbimf79u1s27btpp6/aNGiVKxYkdmzZyd7r23atIlff/31hrG0a9eOxYsXp7ilXka+T0VEMhv1dIuISLr17t2bM2fO0KBBA4oVK8bhw4d57733qFKlSuK2YFWqVMHT05Px48cTERGBj49P4r7UL774IqNHj6Zp06a0atWK0NBQPvjgA+69995kC0v9F1WqVKFjx4588MEHREREULt2bdavX3/DHjmuzIP94IMPePjhhylVqhTnz5/n448/xt/fn+bNmyc7tnTp0tx///307duX6Oho3n77bQoUKMALL7yQ6uM3btw4caTAk08+yYULF/j4448pVKgQx48fTzzO39+fyZMn07t3b+69914ef/xx8uXLx+7du4mKiuLTTz/Fw8OD6dOn06xZMypUqECPHj247bbbCAsLY+PGjfj7+7N8+fL/+GoaXbp0YcGCBTz11FNs3LiR++67j/j4ePbv38+CBQv4+uuv0zVNgSs/GgC8/PLLPPbYY3h5edGyZcvEZDwl99xzD6VLl+bll18mOjo62dBy0tl+V0vL6309tWvXJl++fHTr1o0BAwbgcDj47LPPMnQqxNNPP01kZCQvv/wyAQEBiesApOShhx5iyZIlPPzww7Ro0YK//vqLadOmUb58+RR/oEmLcePG0bp1a+677z569OjB2bNnmTJlChUrVrzhY77xxhts3LiRGjVq0KdPH8qXL8+ZM2fYuXMn69at48yZMzcVk4hIpmf38ukiImKfhK2ybrS10r+3DFu0aJHVuHFjq1ChQpa3t7dVvHhx68knn7SOHz+e7H4ff/yxFRISYnl6el6zfdiUKVOssmXLWl5eXlbhwoWtvn37WmfPnk12/7p161oVKlS4YTypuXTpkjVgwACrQIECVq5cuayWLVtaf//99w23DNu5c6fVsWNHq3jx4paPj49VqFAh66GHHrJ++umnxPskbLM0YcIEa9KkSVZwcLDl4+NjPfDAA9bu3buTxZHSlmHLli2zKleubPn6+lolS5a0xo8fb33yyScpbp+1bNkyq3bt2lbOnDktf39/q3r16tbnn3+e7Jiff/7Zatu2rVWgQAHLx8fHKlGihNW+fXtr/fr118QRHh5+zeuZK1eua16/lF7/mJgYa/z48VaFChUsHx8fK1++fFbVqlWt0aNHWxEREYnHAVb//v2vecwSJUok24bMsixr7Nix1m233WZ5eHikefuwl19+2QKs0qVLX3NbWtrvem70eqf2vrQsy9qyZYtVs2ZNK2fOnFbRokWtF154wfr666+vef+n9b199ZZhV3vhhRcswJoyZUqq5+F0Oq1x48ZZJUqUsHx8fKy7777bWrFixTXPcfV7+d/+/VmxLMuaP3++VbZsWcvHx8eqWLGitWzZMqtdu3ZW2bJlb3jff/75x+rfv78VHBxseXl5WUFBQVbDhg2tjz76KNXzEBFxdw7LlSvRiIiIZFGHDh3i9ttvZ8KECQwePNjucERsVaVKFQIDA29qG0ERkaxOc7pFREREJE1iY2OJi4tLVvfNN9+we/du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QK1atXjttdc4efIkhQoVAmDt2rX4+/tT/jobCvr4+OCTwnKMHh4emfbN5nA4MnV8kjaZtR0ffBC++84spnLsGBw44OC++xysXAn33mt3dJlLZm1DSR+1o/tTG2YNasdbIz4eBgyADz5IquvbF957z4Gn539bRVVt6P6ycxum9ZzTnXR3796dHDlysGLFCooUKZLiSuYZLSwsjHr16lGiRAkmTpxIeHh44m0JK5OHhYXRsGFDZs+eTfXq1Tl48CDz5s2jefPmFChQgF9++YWBAwdSp04dKleuDEDjxo0pX748Xbp04c033+TEiRMMHz6c/v37p5hUi0jqKleGbdtM4v3bbxAeDvXqwcKF0Ly53dGJiIjIzbh0CR5/HL74Iqlu3DgYNky7loikVbqT7l27drFjx45k86xdbe3atRw4cIADBw5QrFixZLcljI6PjY0lNDQ0cXVyb29v1q1bx9tvv83FixcJDg6mXbt2DB8+PPG+np6erFixgr59+1KrVi1y5cpFt27dGDNmzC07N5GspHhx2LwZ2rSBb7+FqCho1crs3dm5s93RiYiISHqcO2f+H//uO1POkQM++QS6dLE7MhH3ku6ku3z58pw6dco10aSie/fudO/e/brHlCxZkqunpwcHB7Np06YbPnaJEiVYtWpVhsQpIpAvn9nDu1s3WLDADEnr0gXOnDFD00RERCTz++cfaNrUbA0GkDs3LFlippSJSPqke+D9+PHjeeGFF/jmm284ffo0kZGRyS4iIr6+8PnnyffyfvZZGDXKLMQiIiIimdehQ3D//UkJd8GCZg9uJdwiNyfdPd2NGjUCoGHDhsnqb2YhNRHJujw8YMoUKFAAxo41daNHw+nT8M475nYRERHJXH77DRo3hrAwUw4OhrVroUwZuyMTcV/pTro3btzomkhEJMtxOGDMGMifHwYONHVTpsDZszBzJnh52R2hiIiIJPjhB7Mg6pkzply2LKxZYxJvEbl56U6669at65pIRCTLeu45k3j37GnmeM+daxZnWbCAm97bU0RERDLOunVmIdSLF025WjVYtQrSuLuviFzHTQ3w/O677+jcuTO1a9cm7MrYk88++4zNmzdndHwikkV07WoWYEnYjW/lSmjSxCTfIiIiYp/Fi6FFi6SEu3592LBBCbdIRkl30r148WKaNGlCzpw52blzJ9HR0QBEREQw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", + "image/png": "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iIiILIRFNxEREREREZGFsOgmIiIiIiIishAW3UREREREREQWwqKbiIiIiIiIyEJYdBMRERERERFZCItuIiIiIiIiIgth0U1ERERERERkISy6iYiIiIiIiCyERTcRERERERGRhbDoJiIiIiIiIrIQFt1EREREREREFsKim4iIiIiIiMhCWHQTERERERERWQiLbiIiqtDJkycxZMgQnD59WupQas2NGzcwZMgQbN261bStLq6zPr6WVLf27duHIUOG4OLFi1KHUm3MfyJq6Fh0ExE1QE8++SSGDBmCIUOGYOjQoRg5ciT+7//+z+xDcXp6OrZs2YLMzMxqHfvIkSMYMmQIzp49a4HI701eXh62bNmCxMRE07aaXmd11MU5rJmcc0YuUlJSsGXLFuTk5EgdSrUx/4mooWPRTUTUAO3duxdxcXGYMWMGXnzxRYwYMQL79+9HVFQUfvnlFwBA+/btsWnTJrRt27Zax05NTcWWLVuQlZVloehrV02vk2qPteUMERFRdailDoCIiKTh5OSEIUOGmB6PHTsWLVq0wKxZs/Doo4/C09PT7Pn6qqFcJxEREUmDPd1ERAQAsLe3R/fu3ZGRkYHr169XOg9z586deO655zBy5Eg888z/s3ff4U1W7x/H3yktBQu0jLLL3gjIRjaCgOw9VbbiAkS/KogiiuL8iTgQBUFFRWQvRWQpArJFZKnsXVYLlJa2eX5/HJpSWkpa2qZJPq/r6kXPyZPkTu6E5s45zzmP8cMPP2BZFgCLFy9m7NixADz77LOOKezLly93XD8mJoavvvqKhx56iI4dOzJ8+HA2b96c4D5uPH9169atDBkyhM6dOzNhwgQiIiKcejxXr17l//7v/+jSpQv9+vVjzZo1SR6Xmsd5c4zr169n4MCBdOnShbfffpsrV67cNr7Dhw8nmuL/v//975bnva5YsYInn3ySTp068eSTT/Lrr78mOmb58uUMHTqUDh06MHDgQJYsWZLg8htj3rBhAwMHDqRnz5589913jmM2bNjA4MGD6dKlC5MnT8ZutycZT0ruK7kcOvOaudHff/99y8vDwsJo06YN06dPd/TdLo/JSe45v/Hxbdq0iUcffZQ2bdpw9uxZp3ObFq/zN998kzZt2rBx48ZbHpNe8URERPDee+8leI8ltW5Ccm73OhIR8QQqukVExOHixYtwfRQ8qfMw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mPPnz99yWnSDBg1YsWIFTZo0uW2xf6fS476Se83cSpcuXciTJw9ffPEF586d49y5cwmmlsdxNo83cuY5T46zuU2NunXr8uuvv9KyZUsaN27MihUrbjvinR7x1KxZk40bN3Lt2jWyZs3q6L95J4JbycjXrIiIq+mcbhERcdobb7yRYIqpZVmcOnWKHDlykDNnTgCKFy8O16fo3mzkyJGEh4fzzDPPOEbNjh49ypgxYyhXrpxjFes7NXz4cEJDQ3nppZccfXv27GHZsmVOXd+Zxxnnl19+SbD10muvvcbRo0d5+umnk72P2rVrs2HDBseUervdzjPPPENQUFCC40aNGkVsbCyDBg1KMPq6fft2xzZoY8aMITIyMtExsbGxzJ492+lCyBnpcV/JvWZuJW4q+dy5c5k4caJjyvmNUpLHGznznCfH2dymVuXKlVm3bh1RUVE0aNCA//77L8PjGT58OGfOnHFs9wawf/9+p99jGfmaFRFxNRXdIiLiNB8fH+rUqUOFChVo1qwZxYsXZ/PmzXz//feOkesKFSrQtWtXHn/8cZo2bZpgT+VGjRoxc+ZM5s2bR0hICPXr16dChQrkzZuXn376KcGI2Z1o2rQpn376KR9//DElSpSgbt26DBgwIEGBcKePM86YMWN48sknqVOnDqVKleLtt99m0qRJt526//rrr1OmTBkqV65Mo0aNKFmyJHnz5nWc4xqnSpUq/PTTT+zZs4eiRYtSv359ypcvz9ChQwkODobrRdjKlSvZu3cvRYsWpW7dutSuXZsCBQowf/78NJ2qmx73ldxrJjmDBw8mMjLSsU/6zedppySPN3LmOU+Os7m9EyVLlmTdunXkzJmThg0bJrswXXrE06xZMyZPnsykSZMoUaIE9erVY8CAAYwePRogwah6UjLyNSsi4mo2y7IsVwchIiIZa926ddhsNho0aHDLY86dO8fmzZupU6dOgim2sbGx/Pvvv5w6dYoCBQpQvnz5JBel2r9/P0eOHCEmJoa7776bokWLOi6Ljo7mzz//JDw8nOLFi1O6dOkE1z19+jTbt2+nfv365MqVK8H1Vq5cSYUKFZxasCk8PJwdO3aQI0cOqlevTkREBL/99htVqlRxLBqX2sc5Z84cunfvzubNm6lVqxY7duwgLCyMatWqJRpBvNV92O129uzZw7lz56hYsSLBwcHs37+f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aFFH8ZlWcuY0UwKvXLmS6LISJUokaJcsWZJff/01ydt58MEH2bBhA1WrVqVMmTK0aNGCJ554glKlSiV5vDPPQZw8efIkaPv7+ydaIO7KlSuOxyIicjObDZo2NT/nzsHXX8Nnn5kF2AAuXYLZs82Pry80awadOkGHDuZLV09it5vzshcuhAULzBcSN8uSxTz2IUPMll9ahVxERFzNbYvuffv2sXjxYmrWrEmzZs2SPTYiIoKlS5dy+vRpqlSpQpMmTVJ1TFpyYuHsNGal6n5tcXvZXJcvXz7Onz+f6LgLFy6QL18+APLmzcuFCxcSXH758mWntwBzVvbs2SlSpEiChc9ujOdW8d0sa9asfP7553z44Yds3LiRKVOmUKNGDfbv35+oaMbJ5yAlDh48SPny5VN8PRHxPnnzwogRMHw4rF8P06aZAjTuv6SYGFixwvw88YSZVdWhAzRuDLVru+diYceOwYYN8PPPsHgxnD6d9HFVqpjZAP37m23ZREREMgu3LLqvXr1K165dOXToEIMHD0626D558iSNGzcmICCA6tWr8+qrr9KyZUtmzpyZomPSWhILWacryzIrat/paHPDhg0ZMWIEW7ZsoVatWgAsX76cK1euUK9ePQAaNGjA008/zV9//UWVKlUAklyde/ny5QQFBVG3bt1Ux9O8eXN+//33BFO9ARYsWECnTp0AiIqKYunSpTz11FNJ3sbx48cpUqQI2bJlo2nTptSsWZNcuXKxd+9eGjdunGh02pnnICV+//13+vbtm+LriYj3stmgQQPzExNjppovWGAK8BvOlGHLlvi/N1mywD33wL33xv+UKBG/T3hmcO0abN9uvlDYsMH8HDuW9LE+PtCokVmVvGNHM71cREQkM3LLonvYsGE0b96ctWvX3vbY559/npw5c7Jhwwb8/f3ZtWsX1apVo1u3bo6izJljxKhRowb9+/enQ4cOPPvss8TExPDmm28yfPhwypYtC0CtWrXo0aMHbdu25ZlnniE8PJwpU6YkmI7N9ef9nnvucRTd27ZtY//+/Y6ttebOnYu/vz+NGzemcOHCScYzZMgQ2rZtS0REhOMcboClS5fyyCOPULNmTb755hv8/Px44oknkryNH374gdmzZ9OxY0fy58/PvHnzKFWqFDVq1NaoRJUAACGVSURBVHA8ng8++ICzZ8+SJ08e2rRpc9vnwFn79u1jz549Cc5/FxFJCV/f+Onn778PO3fGT7/evj3+uNhY2LrV/Hz0kekrUMAU33ffbYrW0qXNv4ULp++5z1evmi8H/vsPDhww/27ZYmJLblu07NmhVSszfb5tW0jF5CIREZEM53ZF9+zZs9m4cSObN2++7ahibGws8+bN4/XXX8f/+sand999Nw0bNmT27Nl06tTJqWO8VbNmzZI8r3nq1Kl89913rF69Gh8fHz777DO6du2a4Jivv/6aKVOmsGXLFooXL866det45ZVXKFKkiOOY1q1bU7x4cUf7zz//ZPny5QD07NnTsV1X+fLlb1l0N2zYkJo1azJ9+vQERfX333/Pn3/+yebNm2ncuDFPPfUUOXLkcFzes2dPCl6faz9ixAjq1avH/Pnz2b9/P02aNGHGjBmO42fNmsXkyZNZvnw5+fPnp02bNrd9Dvz8/OjZs2ei6eYdO3akZMmSjvaHH37I4MGDKVCggBMZERFJns0G1aqZn5dfhiNHYOXK+FHjv/82M5/inD5tivMFCxLejr+/2dv6xiI8IABy5Ej636xZISLCbHF25Urif8PDExbZzq5pEhAAdeuaLwbq1zdfLLjjFHkREfFuNsuyUraylgsdPHiQevXqsWLFCqpWrco999xD06ZNmThxYpLHHzp0iJIlS/Ljjz/SunVrR/+jjz7Kpk2b2L59u1PHJCUqKoqoG76ODw8PJyQkhAsXLpArV64Ex0ZGRjruJ1u2bGnwTKROdHQ0fn5+Lrv/9PL3338zdepU3n//fS5fvkyuXLlYv359qqZ6Z6TIyEgee+wx3nvvvSTPHY875uDBg5QoUYJs2bJht9sJDQ0lODg4wUJ14j6UQ/fnzjkMC4M//jCLkW3YYOOPPyAsLPPMLy9TxqJePahXz3KMwKfxGpwO7pxHMZRD96ccegZvzmN4eDi5c+cmLCwsUQ14I5eOdP/000/s2rUr2WMGDx5MUFAQ0dHR9O7dmxdeeIGqVas6dfuXLl0CICgoKEF/UFCQ4zJnjknKhAkTGDduXKL+0NDQRKtTR0dHY7fbiYmJSfPFxJxlWRaxsbGQxOJo7q58+fK88847CZ7f2NhYlz3XzvL19eXzzz8HuGWsMTEx2O12zp07h5+fH3a7nbCwMCzL8rr/1DyFcuj+3D2H99xjfoYONauBHziQhUOHfDl0KAuHD8f/HDniS2Rk2v+9yJs3luLF439KlIilWLEYypaNIV++hOMASaxZmWbcPY+iHHoC5dAzeHMek6sXb+TSojssLIxTp04le0xcoThz5kz27t1LTEwM7777LlwvcLdt28a7777LM888k6iYjDvHNzw8PNH9BgQEOH1MUkaNGsXIkSMd7biR7uDg4CRHui9duoSvr2+ab5uVUp440n2j7Nmz07NnTwoUKODy5zot+Pr64uPjQ968eR0j3TabzSu/SfQUyqH787QcFixopm7fzG63OHXK4r//zFZlcVPF439sjr6oqITTzQMCLHLkMFPB4/pCQsyU9Vy5bNc/frj2/2hPy6M3Ug7dn3LoGbw5j87OYnbpX7yePXvSs2dPp44tV64cgwcP5vQNe4VER0dz5coVTp06hWVZiYru4sWL4+/vz3///Zeg/7///nMseOXMMUnx9/d3nAN+Ix8fn0QvNh8fH2w2m+PHFW58fjxtpPtG2bJlY9asWa4OI83EvWZufF3d3Bb3oxy6P2/IoY+P2ec7dXt9u8ffGW/Io6dTDt2fcugZvDWPzj5etxkKbNCgAQ0aNEjQ98svv9CoUSPHyDfAzz//zIkTJ+jfvz++vr60bduWb775hkcffRQfHx8OHTrE2rVrmT59OlwfSbzdMSIiIiIiIiKp4TZFt7PiVjfv378/AG+//Tb169enZcuW1KlTh1mzZtGsWTN69erluI4zx4iIiIiIiIiklFuP//fr14/77rsvQV+rVq0YMGCAo126dGl27dpFhw4dsNlsvPHGGyxbtizBntHOHJMW3GiheMkk9JoREREREXFvbj3S/fTTTyfq6969e6K+4OBghg0bluxtOXNMasUV79euXSN79uzpch/imSIiIsALFsATEREREfFUbl10uwtfX1/uuusuQkND8fPzc8kCA5ZlERMTg6+vr0cvpOYpLMsiIiKCM2fOEBQUlOazLkREREREJGOo6M4ANpuNQoUKcfDgQQ4fPuySGCzLwm63O1ZSF/cQFBREwYIFXR2GiIiIiIikkoruDJI1a1bKli3LtWvXXHL/drudc+fOkTdvXq9byt9d+fn5aYRbRERERMTNqejOQD4+Pk5voJ7W7HY7fn5+ZMuWTUW3iIiIiIhIBlH1JSIiIiIiIpJOVHSLiIiIiIiIpBNNL08jcfsph4eHuzqUJNntdi5duqTp5W5OeXR/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fIGAgAAlprd1hw0bhtDQUNjZ2fUas2DBAhw9ehT/+Mc/UFJSYrR+hw4dipycHMyePRu5ublwc3PD7t27YWZmptyHPXLkSISGhkKlUgE9Z3/T0tKwdetWVFZWIi8vDz4+PsjPz+/znm4AWL16NW7cuIELFy4AANRqNbKzszF37lzk5eXh+eefx7lz5xAaGqrce25IX4bMoa/8eXp6oqioCCEhIbhw4QLKy8uxatUqpeA2JMbW1hYajQaenp7IyclBfX09kpOT8atf/QrouaT+/Pnz2LBhQ5/fDRERDS5mIiKmHgQRERE9HRoaGnQethYXF4e0tDRotdon3tfx48dx+/ZtvP322090uwM5h/5KSEhAZ2cnVqxYYeqhEBHRAGHRTURERIqgoCB4eXnB09MTubm52LdvHxISEhASEmLqoRlsMMyBiIgGDxbdREREpGhsbMSuXbtQVFQEFxcXLFmyRHl39v+LwTAHIiIaPFh0ExERERERERkJH6RGREREREREZCQsuomIiIiIiIiMhEU3ERERERERkZGw6CYiIiIiIiIyEhbdREREREREREbCopuIiIiIiIjISFh0ExERERERERkJi24iIiIiIiIiI2HRTURERERERGQk/wUU+reF7Z5lgQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] diff --git a/docs/notebooks/11_multi_objective_and_scipy_optimization.ipynb b/docs/notebooks/11_multi_objective_and_scipy_optimization.ipynb index bc4f984..6c7164f 100644 --- a/docs/notebooks/11_multi_objective_and_scipy_optimization.ipynb +++ b/docs/notebooks/11_multi_objective_and_scipy_optimization.ipynb @@ -21,10 +21,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:44:59.767019Z", - "iopub.status.busy": "2026-04-14T09:44:59.766925Z", - "iopub.status.idle": "2026-04-14T09:45:00.366772Z", - "shell.execute_reply": "2026-04-14T09:45:00.366004Z" + "iopub.execute_input": "2026-09-18T12:42:11.320859Z", + "iopub.status.busy": "2026-09-18T12:42:11.320720Z", + "iopub.status.idle": "2026-09-18T12:42:11.837701Z", + "shell.execute_reply": "2026-09-18T12:42:11.837139Z" } }, "outputs": [], @@ -64,10 +64,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:00.368719Z", - "iopub.status.busy": "2026-04-14T09:45:00.368555Z", - "iopub.status.idle": "2026-04-14T09:45:00.528857Z", - "shell.execute_reply": "2026-04-14T09:45:00.528019Z" + "iopub.execute_input": "2026-09-18T12:42:11.839326Z", + "iopub.status.busy": "2026-09-18T12:42:11.839176Z", + "iopub.status.idle": "2026-09-18T12:42:11.982569Z", + "shell.execute_reply": "2026-09-18T12:42:11.982089Z" } }, "outputs": [ @@ -100,16 +100,16 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:00.530197Z", - "iopub.status.busy": "2026-04-14T09:45:00.530064Z", - "iopub.status.idle": "2026-04-14T09:45:00.632688Z", - "shell.execute_reply": "2026-04-14T09:45:00.632153Z" + "iopub.execute_input": "2026-09-18T12:42:12.031162Z", + "iopub.status.busy": "2026-09-18T12:42:12.030917Z", + "iopub.status.idle": "2026-09-18T12:42:12.141395Z", + "shell.execute_reply": "2026-09-18T12:42:12.140788Z" } }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwAAAAJUCAYAAACi6UHbAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAoflJREFUeJzs3Xd4FNUaBvB3ZjbZ9EoKvfdOQm9BUZooFkREmmBviIqAXgQUwrUBVhQFFKWICjaKKASQJgGCdOk9hfSe3Z25f+SyyWQSSJ8t7+95oplzZne+PVmS8+2cIiiKooCIiIiIiJyCqHcARERERERUfZgAEBERERE5ESYAREREREROhAkAEREREZETYQJAREREROREmAAQERERETkRJgBERERERE6ECQARERERkRNhAkBERERE5ESYABBVsnHjxkEQBAiCgKioqDI/Pioqyvr4ZcuWWcuXLVuGmTNnYsGCBZrHREREQBAENGjQoNKuV5K5c+eiUaNGcHV1hSAIGDduXJmvWZXOnz9vfT0zZ860uThulJW33Sr6eL0dPHgQoijCw8MDCQkJ1XLN1atXY9iwYQgODra230MPPVSh56zIv7nSeOWVV9CxY0cEBgbCYDAgICAA/fr1ww8//FCqx8+cOdP6Wot+TZo0qUpiLq+9e/firrvuQr169eDu7g6j0YgmTZrgueeeq/T3SOF2OX/+fKU8Z3x8PPz9/a3PO3XqVFV9eHg4BEEo9nc3kV6YABDZiWXLlmHWrFm6/hH57bff8Nprr+HcuXMwmUy6xUH2a9q0aVAUBePHj0dQUFC1XHPlypX46aefqi3hqAwrV65ETEwMkpKSYLFYkJycjKioKDzwwANYvXq13uFVqsOHD+O3337DpUuXkJOTg7y8PJw5cwYfffQR+vXrB1mW9Q7xpqZMmYKUlJSb1gP5H55kZGRUU1REN8cEgMjGREREQFEUKIpS6k95o6KioChKpX2iVZKYmBjr99u2bYOiKKW6a1CZLBYL8vLyqvWaJVEUBTk5OWV+jB7tZguOHTuGTZs2AQAeffTRarvubbfdhvnz55f603Nb8Nxzz2Hfvn1IS0tDfHw8Hn/8cWvdihUrSv08ffv2tb7nbnzZ2ifRzZs3xzfffGNNALZv347AwEAAwNGjR3Ho0CGdIyzZX3/9ha+//hqenp4lnjNs2DD4+voiISEB3377bTVGR1QyJgBE1aDwcJAZM2Zgzpw5qFu3Lnx8fDBgwABVx73okJwbj922bRsA4MKFC5phIMUNR9i4cSMGDBiAOnXqwN3dHW5ubmjRogX+85//IDs7u8yvoUGDBnj99detx3379lUNG0pNTcXLL7+Mxo0bw2g0IiAgAIMHD8bOnTs1zyMIAiIiIoptn5KGy3zwwQfWoUfHjh0rddzvvPOOdWhBv379VI9NSUnBqFGj0LJlS/j5+cHFxQWhoaF44IEHcPTo0RLjXr16NVq1agVXV1ds3Lix1LEUfU3FPfe6devQrl07eHh4oEOHDtiyZctNny83Nxe33XYbBEGAi4sLfvzxRwDA+++/jx49eiAkJASurq7w9vZG165dsXTpUs1zfPfdd2jRogXc3d3RvXt37Nu3r9ifEwD8+eefGDBgAPz9/WE0GtG8eXO89dZbpbojdOPaDRo0QFhYmLW8LD+H8nj++ecxadIkdOrUqcLPVZy9e/eie/fucHd3R6NGjbB48eIKP+err76K8PBweHt7IygoCM8++6y1zsXFpcLPX17x8fF44YUX0KRJE+u/8z59+uDvv/8u93P27t0bo0aNQp06dWA0GtG7d2/07dvXWl/e13v+/HkMHjwYHh4eqFOnDubNm1fuGItjNpvx9NNPAwBee+21Es9zdXXF0KFDAcApE3+yUQoRVaqxY8cqABQAytatWxVFUZRz585Zy3x9fa3f3/jq0aOH9fFbt261li9dulT12KJfY8eOVRRFUfr27asAUOrXr299njfeeKPEx40aNarE65Wkfv36xT7X0qVLldTUVKV169bF1kuSpPz000+a5+nbt6+1rPBrfOONN6zlN8oCAgJUz3nw4MES4yz8XDVr1tTEExwcrMTFxWnOLfoVEBBgPa9w3H5+foogCNbz1q5de8s4intNN352hZ/bx8dH9dwAFC8vLyUxMbHYx5tMJuWee+5RACgGg0FZs2aN9bwb74nivhYvXmw9b8uWLZprent7K97e3pqf09KlSzXn3vgaMmSIIstyiT8XRVGUjh07KgCUkSNHlthWt/o5VETh64wYMaJCz3Wjfb28vBQvL69i/11UltjYWOWxxx6z/nvauHHjLR9z49+/h4eH4u3trRiNRqVNmzbK/PnzFYvFUq44rly5otStW7fE3wOVIScnR9m2bZv133zv3r1v+b4qTl5entKsWTNNnIV/J5w7d65Csb7//vsKAGXChAmq36Ovvvqq5txPPvnE+vNLTU2t0HWJKgPvABBVs+zsbPz8889ISkpC//79AQC7du3ClStXij2/QYMGUBTF+olY/fr1SzWMZMiQIdi1axcSEhJgMplw7do1DB48GED+EIKkpKQyxX3+/Hm88cYb1uNz585ZhyktWLDA+kntM888g+TkZPz5559wd3eHxWLBM888U6FxvElJSZgxYwaSk5Nx7tw5NGrUqFSPS0lJwebNm5GSkoJnnnkGQP4nmDeGQPj7++OHH36wDj3IyMiwfnqblJRU7FCLlJQUTJgwAfHx8bh27Rq6d+9e7tdVVFpaGmbMmIGUlBTr3ZaMjAxs2LBBc66iKJgwYQJ++uknSJKEb7/9Fg888IC1fsqUKThy5AhSUlKQl5eH48ePo27dugCAjz76yHrejBkzoCgKAODbb79FSkoKnnjiCaSnp6uul5GRgUmTJkFRFAwaNAiXLl1CVlYW5s6dCyB/fsj69etLfG0WiwX//PMPAKB169aqurL8HG42ubXwV3XJyMjAhAkTkJKSgt9//x1GoxEA8Prrr1vf8+WNed68eRAEAaGhoVi8eDHc3Nzw7bffYsCAAaWOLysrC+np6cjNzcWRI0fw4osv4qmnnirXa50xYwYuXboEAHjooYdw8eJFJCcnY926dWjcuLH1vNK81uIm6Lu5ucHNzQ19+/ZFUlISIiIi8Msvv5Tr57l8+XL8+++/AIARI0YgKSkJ27dvR1paWrHnlzXma9euYebMmQgICCjVnYW2bdsCyP93UHgoJZFemAAQVbN77rkHQ4cOhb+/P+677z5r+cWLFyv1OrVr18bixYvRqVMneHh4oGbNmtYOmqIoOHXqVKVd60YHVRRFREZGws/PD7fddpv19V2+fLlCQzlatGiBWbNmwc/PDw0aNICPj0+pHnffffehf//+8PX1RWRkpLUjsXXrVgCAr68vzp8/j7vvvhuBgYHw8vLCY489Zn38yZMnNc/p5+eHDz/8EEFBQQgNDUVISEi5X1dRISEhmDFjBnx9ffHwww9by4t7b3z//ff4+uuvIUkSli9fjgcffFBVHxAQgClTpqBJkyZwc3NDy5YtrZ23G6/LYrFg7969AIDOnTvj4Ycfhq+vL2bPnq0ZdrFr1y6kpqYCyP95161bFx4eHpg+fbr1nJsNV0pMTITFYgEA6/juG8rzc7AVLi4umDt3Lnx9fXHHHXdYh3pcuXKlUv+NAUBOTg7GjBlz00TrhrCwMKxatQqXL19GRkYG1q5dC3d3dwDA4sWLcfbs2TJf/8Z1fX19sWTJEtStWxd+fn6455570Lt37zI/361ERUXhnnvugdlsLvNjCw89fOONN+Dv74/evXurfudWxEsvvYS0tDRERkaiRo0atzy/8DlxcXGVEgNRRTABIKpmTZs2tX7v5uZm/T43N7fSriHLMu666y4sXboUly5dKnZ8dnnmAZTk+vXrAPI7Bt7e3tbyG584A7jpCiw3OoYladeunabsxhj1G19Fx6oXvb63tzd8fX1V8c6fPx8vvfQSDh48iMzMTM3ji2ujZs2aqX5ulalx48YQxfxfy7d6b2RlZQHIb/POnTur6i5cuIABAwZg/fr1uH79uubuy42Jy9evX7e+N+rUqWOtd3d313TSS7OCTlnvKt1Qlp/DzJkzNZNai/uqLoGBgfDw8LAeF27HG++z8sY8depUyLKMuLg466fMeXl5ePXVV28Z19ChQzFixAjUrl0bnp6eGDZsGEaPHg0g/wOA/fv3l/m13ngP1K9f35pMFKc0r7W4OwA5OTnIzs7Gvn37rJ+Yb9u2DT/99FOZY7169ar1+9q1axf7fXljPn36NFauXIkGDRogPDwcMTExOH36tPW54uPjERMTo/q9ZusrGZHzYQJAVM0Kf7JallvbZTn39OnTOHjwIACgf//+iIuLg6IoeOmll0ofaBnc+HQrNTVVtczdjU+cC59zY4hE4dVzzp07d9Pnv1ln42YKXz89Pd36CfaNWNasWQMgv7O9d+9emM1mHD58uEpiKY2yvDdu3NlJSkrCgAEDVJ8qbtq0yTrUYerUqcjMzISiKKqJtwAQFBRkvWbhDlN2djYSExM1594QGRlZbAdpyZIlJcYbGBgISZIAQPPcZfk52NoQoMTERFWCcvnyZev3N95nFYlZEAQEBwfj1VdfhZ+fHwCU6s5CcR3OwtcoTxvdeA9cuHDhpqtflXcIEJD/HggPD8eECROsZeW5k1KrVi3r94WHV5Y01LIsMd/4HXf+/HmEhYWhY8eOqjtWS5cuRceOHVXD6Aq/5yvzriFReTEBILIT/v7+API/VYyNjb3puYU/MTYajXB3d0d0dDSWL19eJbENHDgQQH6nY/r06UhNTcXWrVuxdu1aAPmfirZp0wZAwafyR44cweXLl5GdnV2u1TnOnz+v6nwWt+na2rVrsWXLFqSmplrXnweAfv36AShoJ0EQ4O3tjZSUFF03DyuLtm3bYuXKlRBFEWfPnsXgwYOtHY7CP39PT08IgoBvv/0WBw4cUD2HKIrWOQx///03fvzxR+s8hKJ3jXr06GG9g/L+++9j69atyM3NRXx8PL777jv06dMHFy5cKDFeSZKsd3KOHDmiqqvqn0NGRgauX7+O5ORka1leXh6uX7+uukOybNkya2evtJv4mUwmvPbaa0hLS8PmzZvxyy+/AMj/pLnw3b6y2Lx5M+bNm4cjR44gKysLSUlJeP/9961rzReeA1PSRn49evTA0qVLERsbi6ysLKxbtw5ff/01gPyfRdeuXa3nFrcyVXGGDBkCID/RnzhxIi5fvoy0tDT8+uuv2L59e7leK5A/nOa3337DtWvXkJubi5iYGNVrKfx6i1vxrDg9e/a0fj9r1iwkJydjx44d1lWyqtuNhFaSJHTo0EGXGIhUKm8+MREpyq1XASq8IszSpUs155a0Ks/cuXNLXM2l6CpAeXl5SpMmTTTnN27cuNTXK07hlYUKr6CRkpKitGjRosRVgAqvlLNo0SJrncFgUIxGo+Lh4VHqFXNupSyrABW3UlLhNipupZ7Cq+KUNo7SrgJUlpWRbjz+gw8+sJb1799fyc3NVU6ePKm4urqqXpfRaFRq165tPb5h69atxa48dGNlm4iICOu5S5YsKXEVoKLvieK8/PLLqvfpDWX5OZRH4X+TN4u7uH+PJanKVYAKx1H0SxRF1WpPJf37LW61sRtf06dPV12vtO189erVKlkFqKQVxgAo4eHhSm5urvXc4lY8K05JqwAFBgaW+v1aFrdaBWjUqFEKAKVbt26Vdk2iiuAdACI78dxzz2H06NGlmnDm4uKCn3/+Gf369YOnpyfq1q2L9957D4888kiVxObr64tdu3bhxRdfRMOGDeHi4gI/Pz8MGDAAW7ZswbBhw6znTpw4EdOnT0ft2rXh6uqKO++8Ez///HOVxPX444/j7bffRt26dWE0GhEREYEtW7YgODgYQP6utJMmTUJwcDC8vLzwwAMPYOXKlVUSS1V57rnnMGnSJADAH3/8gXHjxqFp06ZYs2YNWrVqBaPRiHbt2uHnn39GkyZNNI+PiIjAqlWr0LRpUxiNRnTp0gW///67dYhIQECA9dzx48dj8+bN1n0AXF1dUa9ePQwePBiLFy9WDbsozvjx4wHkDyGJjo62ltvKz+HGMA1PT89i26o4gYGB+OOPP9CtWzcYjUY0aNAAn332Wak38StOp06dMGLECDRq1AgeHh5wcXFBnTp18MADD2Dbtm2q1Z5K8sEHH+Cee+5B/fr1YTQa4e3tjV69emHFihWYM2eO9bzCQ1Nu9cl0zZo1ER0djeeff966J4efnx969+6NVq1alfv1Pv744+jevTuCgoJgMBjg5eWFTp064c0338TWrVvh6uqqifdWsbq4uGDTpk0YOHAg3NzcULNmTcyaNcu6bn91ys3Nxa+//gqg4N8Akd4ERanG2VJERGRTsrKysHfvXvTt2xeiKMJiseC9996zTjT98MMPVZtQVdTAgQOxadMmPPXUU/jkk08q7Xkrw43YFi5ciOeff17vcKrFqlWrMHLkSISHh2PPnj3WeRq2KDY2FjVr1oSPjw+OHj2qmnBty1avXo2HHnoIQUFBOHv2LLy8vPQOiYhzAIiInFlaWhpuu+02eHh4WHenvtH5DwsLU03GrAxz5861jlcvzcpC1SU3Nxfbt29Hjx49KjXhsXWbN2+Gi4sLlixZYtOdfyA/VgB4++237abzD+TvRg7k7xbMzj/ZCt4BICJyYpmZmXjsscewa9cuxMbGQhRFNGnSBPfffz9eeeUV1RKXRETkGJgAEBERERE5EQ4BIiIiIiJyIkwAiIiIiIicCBMAIiIiIiInYtA7gOomyzKuXr0Kb2/vat0unoiIiIioKimKgvT0dNSqVQuiWPLn/E6XAFy9ehV169bVOwwiIiIioipx6dKlmy6X63QJgLe3N4D8hvHx8an268uyjISEBAQFBd00MyMttl35se0qhu1Xfmy78mPblR/brmLYfuWnd9ulpaWhbt261v5uSZwuAbgx7MfHx0e3BCAnJwc+Pj78R1VGbLvyY9tVDNuv/Nh25ce2Kz+2XcWw/crPVtruVsPc+VMlIiIiInIiTACIiIiIiJyI0w0BuhWLxQKTyVRlzy/LMkwmE3JycnhbrYzste1cXFwgSZLeYRAREREBYAKgkpGRgcuXL0NRlCq7hqIokGUZ6enpXIa0jOy17QRBQJ06deDl5aV3KERERERMAG6wWCy4fPkyPDw8EBQUVGUdTEVRYDabYTAY7KoTawvsse0URUFCQgIuX76Mpk2b8k4AERER6Y4JwP+ZTCYoioKgoCC4u7tX2XXssRNrK+y17YKCgnD+/HmYTCYmAERERKQ7+xlIXU3sqWNJ9oHvKSIisjVmsxnvvPMO2rRpAzc3NwQEBKBfv344cOCA3qFRNdA1Afj000/Rrl0765r83bt3x4YNG276mDVr1qBFixZwc3ND27ZtsX79+mqKtvo1aNAAMTExtzxvxowZ+PbbbwEAUVFR2Lhxo7Xu6tWr6N279y2f4/z58/Dz8ytvqJVm5syZmDRpkt5hEBERObQRI0ZgypQpyMvLw7x58/Dmm28iICAAR44c0Ts0qga6DgGqU6cO5s2bh6ZNm0JRFHz11Ve45557cPDgQbRu3Vpz/q5duzBy5EhERkbirrvuwooVKzBs2DAcOHAAbdq00eEV2IbZs2dbv4+KikJKSgoGDhwIAKhVqxZ27NihV2jVQpZlAKj0lYFuDDciIiJyJDt27MCPP/4IX19f7Nq1CzVq1AAAPPPMM9a/qeTYdL0DMHToUAwePBhNmzZFs2bNMGfOHHh5eWHPnj3Fnr9w4UIMHDgQr7zyClq2bIk333wTnTp1wkcffVSpcSkKkJlZ9V9lWWwoIiICL7/8Mnr37o3GjRvjySeftNaNGzcOCxYsQExMDBYtWoRvv/0WHTp0wOzZszWf7I8aNQrh4eFo164dhgwZgtjY2FteOy8vD6+88gratGmD9u3bW5MLi8ViLW/Tpg2ee+455OXlqWK64eWXX8bMmTMB5H/Kf//99+O2225DixYtMHToUCQmJhZ77XfffRddunRBp06dMGjQIFy4cEH1HAMGDECbNm1w7do1zWP/+9//om3btmjfvj26deuGrKwsREVFoUOHDtZzjhw5ggYNGgAouAvy6quvolOnTnj77bcRGBioaqOZM2fixRdfBACcOnUKQ4YMQefOndGuXbtKfx8SERFVhRv9rD59+lg7/zfY0zLbVH428/GmxWLBmjVrkJmZie7duxd7zu7duzF58mRV2YABA7Bu3boSnzc3Nxe5ubnW47S0NAD5nxoXznJlWYaiKFAUBZmZCry9q2rctgDABQCQnq7A0/PmZ9+ICQDOnDmDLVu2wGQyoXXr1ti1a5e1rRRFQfv27fHEE08gJSXF2vk+f/68tR4A5s+fj6CgIADAvHnz8MYbb2DRokXW+uKWQJ07dy7+/fdfREdHw2g0IiEhAYqi4LPPPsO+ffsQHR0NSZJwzz334P3338err76qif3G9ze+duzYgUOHDiE0NBRPP/00pk6dis8//1x1zooVK3DixAns2rULkiRh+fLleO6557B+/XooioLdu3fjwIEDCAkJ0cT+1Vdf4YcffsCOHTvg6+uL5ORkuLq6al5n0fhSU1PRqlUrzJs3DwBw7tw5LF++HC+//LL1LtVPP/0Es9mMkSNHYvny5WjRogWysrLQvXt3dOnSBZ07dy72Z1j0PVedbry/+clO+bD9yo9tV35su/Jj291c4b99xbUR26/89G670l5X9wTg8OHD6N69O3JycuDl5YW1a9eiVatWxZ4bGxtr7ezdEBISctNPsSMjIzFr1ixNeUJCAnJycqzHJpMJsizDbDbDYjHjRie9KpnNZpjNpTnHDEVRcP/99wPI31iqXbt2+Pfff9G5c2drx9JsNlvfeOb/P3HR/3/zzTf49ttvkZOTg9zcXAQGBlqvUfi8wn799VfMnTsXkiTBbDbD398fZrMZmzdvxujRo60r24wfPx6LFi3CSy+9pIoJKPglcyPGQYMGoUaNGjCbzXj00UcxYsQITfxr167F/v37ERYWBiA/SQQKflYDBw60xl/UL7/8gsceewyenp4wm83w9vaGoiiwWCwlto/ZbIaLiwseeugha/mYMWPwxBNPYNKkSYiKikJAQABatmyJo0eP4ujRo3jooYes10xPT8fhw4fRsWNHzc9QlmUkJibCxaXq31fFkWUZqampUBSFn+6UA9uv/Nh25ce2Kz+23c01b94cQP5QoBMnTiAgIMBad6MDyfYrH73fe+np6aU6T/cEoHnz5oiJiUFqaiq+//57jB07Ftu2bSsxCSiradOmqe4apKWloW7duggKCoKPj4+1PCcnB+np6TAYDPD0NCA9veo2AzOZTHBxcYGHhwG3WiDGYDBYl7309PS0jkl3cXGBoigwGAwQRRGiKFq/FwTBel7h///111/4+OOPsWvXLgQHB+Pnn3/GG2+8Yb1G4fMLEwQBkiRp6gpf98Zjb1y7cHxA/p0Yb29vTbxFH1c4fkEQMHXqVDz++OOathNF0fp8xSl6jRuMRiNkWbaW3+jo32gDDw8PuLq6Ws/v1asXFEXBgQMH8M0332D8+PEwGAyQJAkBAQGlmqR943UFBgbCzc3tludXBVmWIQgCgoKC+Mu8HNh+5ce2Kz+2Xfmx7W5u6NChuPfee7F27Vrcd999ePLJJ+Hq6oqtW7firrvuwqhRo9h+5aT3e6+0/QzdEwBXV1c0adIEABAWFoZ9+/Zh4cKF+OyzzzTnhoaGIi4uTlUWFxeH0NDQEp/faDTCaDRqym90EAsfC4IAQRAgigKqatPW/E+fBRgMpVse8kZMRb8vqc7X1xcXL15Uld/4f0pKCry9vVGjRg2YTCZ8/vnnxT5PUXfffTc++OAD9OrVyzoEKCgoCP3798fy5csxatQoiKKIL7/8EnfeeScEQUDTpk2xb98+CIKAxMREbNiwAWPGjLFea/369YiPj0dISAi+/PJL9O/f31p342vYsGF47733MHz4cAQEBCAvLw8xMTHo3Lmz6rzi3H333fjwww/xwAMPwNfX1/raGzdujAsXLuD69esICgrCN998c8s2GD9+PD766CNs2LABCxYsgCAIaNGiBXx8fLBs2TKMHz8eAHD69GkEBASoPkkp/NxF33PVzRZisGdsv/Jj25Uf26782HY399133+H999/HV199hVdffRVubm5o164d2rRpY+0Tsf3KR8+2K+01be6nKsuyasx+Yd27d8eff/6pKtu8eXOJcwac0b333ouYmBjrJODCBg4ciObNm6N58+bo3bu3ajLszbz66qto1qwZOnXqhA4dOmDs2LEAgMcffxydOnWyljdo0MC6hOfjjz+OhIQEtGzZEmPGjEG3bt1Uz9m7d288/PDDaNGiBS5cuIC5c+dqrjtq1CiMGzcO/fr1Q/v27dGxY0dERUWVKubRo0fj/vvvR48ePdC+fXsMHjwYubm5qFWrFqZMmYIuXbqgW7dums56Sc+1atUq9O/fH/7+/gDyP9X/9ddf8eOPP6Jdu3Zo3bo1JkyYgOzs7FLFR0REpCeDwYApU6bg6NGjyM3NRWpqKnbs2GEddkuOTVCKm/VZTaZNm4ZBgwahXr16SE9Px4oVK/Df//4XmzZtwh133IExY8agdu3aiIyMBJC/DGjfvn0xb948DBkyBKtWrcLcuXPLtAxoWloafH19kZqaqhkCdO7cOTRs2LBKh2nY6262lWnmzJmqicqlZa9tV13vrZuRZRnx8fEIDg7mpznlwPYrP7Zd+bHtyo9tVzFsv/LTu+1K6ucWpesQoPj4eIwZMwbXrl2Dr68v2rVrZ+38A8DFixdVjdejRw+sWLECr7/+OqZPn46mTZti3bp1Tr0HABERERFRWeiaAHz55Zc3rS9uuMfw4cMxfPjwKoqIqsON/QCIiIiocqUd24vE39+BmHcFcK8L/9tfgk+rrnqHRTaG93WIiIiIHMDlb1+Fsqk7ApQf4eeyF76mH6Bs6oHLK2foHRrZGCYARERERHYu7dheeMe/A0GA9UsUFQAKvGPnIO3E33qHSDaECQARERGRHfrnH2DiREASLPj73deKPUcQAEUBkje/W83RkS3TfR8AIiIiIrq5tDTg88+BhQuBy5cLyj0NWXi59deo5Xfl5k+QfalqAyS7wgSAiIiIyMZcvQq89x7w/vsln1PbPRaTWi5BiHsisrJ8AEUAhBJWd3evWzWBkl1iAlBBF5LSse6f87iakoVafh4Y1q4B6gd4V9rzN2jQAEajEe7u7sjNzUXHjh2xePFieHp6Vto1iIiISF9HjgCRkcCKFbc+19sbmP7wEdQ7vQKWnPzNUy+eb42mzaOhKPnDfm64cex/x8tVFDnZIyYARciKgqSs4nciLmrD0Yt4989DAAQACgABy/acxCv9O2Bgq+IzbUVRYDGbIRksEAQBfu6uEG+xqdXq1avRoUMHyLKMoUOHYtmyZXjmmWfK9sKIiIjIZpw4AcyYAaxZc+tzu3YFpk8H7roLEAQFh7/6A4e+2AhLoXMyM/zxz+HBaNf2N83j00NfQ50WXSoveLJ7TACKSM3Ow8DPNpfxUYrq///dHIP/bo4p1SO3vjAUAR7GUp2bl5eHrKws+Pv7lzE+IiIi0lNsLDB3LvDhh7c+9+67gWnTgG7d1OWm7FzsmrMKF6P+0TwmsGVdhM2dAfPWh4GrG6zlQu3BqPPg7IqGTw6GCYAdGDFiBNzd3XH+/HmEhYXhwQcf1DskIiIiuomcHOCjj4BXXrn1uY8+mt/hb9Kk5HMyriUhauoSJJ+5pqlrOCAM3aYMh8HogrxmA5FTKAEQcy+UJ3xycFwG1A6sXr0aMTExuH79Oho0aIBXX31V75CIiIioiH37gJ4988fcu7uX3Pm/+27g0KH88fmKAnz55c07/3EHz2D9Yws0nX9BFBD2zFD0fH0kDEYXAIAY0ll1jpx0HEpeRoVeFzkeJgB2xGAw4P7778fGjRv1DoWIiMjpZWcDb71VsPFWly7Arl3a87p0Af74A5Dl/A7/Tz8B7drd+vkVRcHJH3di86RFyE3JVNW5ernjtncmotXICAiF5hJKQe0BQSr0JDIsCQfL+xLJQXEIUBG+7q7Y+sLQW553OTkDY5dvhVzMaluiAHw95jbU9tOu1FMwCdhgnQRcFlu2bEHz5s3L9BgiIiKqHMeOAc89B2zZcvPzPvgAePJJwMWlfNexmMzYN38tTv28R1Pn2yAEEZHj4VM3SFMnGNwhBraBfP1QwXPF7YOhdu/yBUIOiQlAEaIgIMD91pNyAzyMmDk4HDPXR0OAAAWK9f8zB4ejba2AYh+nKArMZgmG/ycApXFjDoDZbEb9+vWxaNGiMr0mIiIiKh9FyV+pZ8IEIOMmI2kGDwbefRdo2bLi18xOSsf2179C/D/nNHW1e7RCrzdGwdXTrcTHS6HhRRKA/RUPihwKE4AKuKddA3SsUwNr/zln3Qfg3nYNUS/Aq9Kucf78+Up7LiIiIrq1vLz8TbimT7/5eQsXAk89Vf5P+YuTePIyoqYtRVZ8iqauzejb0X7iQIjSzUdwS8HhMOFL67EcF115AZJDYAJQQfUCvPBCRFu9wyAiIqIKSE0FpkwBPv+85HM6dgQ++US7PGdlOffHQeyOXA1LrklVLhld0GP6CDS4vWOpnkcKLTIROOUUlJwUCG5+lRUq2TkmAEREROSUkpOBF14Ali8v+ZyRI/PvBtSsWXVxyBYZMYs34Og32okFHsF+6DdvPAKa1Sn184mBbQDJFbDkWcss8fthqHd7pcRL9o+rABEREZHTSEkBxo/PX7UnIKD4zv9rrwFZWfnj/1esqNrOf15GNqKmLSm28x/cvhEGfzmpTJ1/ABAkV4g12qvKLHH7KhQnORbeASAiIiKHlpYGTJ6cv95+SRYuBJ55BpCkks+p9LguJmDr1C+RdjFBU9f0nu7oPGkYJJfyddWkkHDIhTr9nAhMhTEBICIiIoeTkwO88IKAjz4q+ZwFC/KX9BR1GA9xZc8J7Ji5HKaMHFW5IIno8uK9aDasR4WeXwoJR+GZBBZOBKZCmAAQERGRQ1AUYNEi4OmnRQChxZ7z7rvApEnV+0l/YYqi4NjKKBxc9BuUIpsJGf080fetsQjp0LjC15GK7AispF+AnJUA0UO7dwA5HyYAFZR2KQGnf/sbmdeS4FkzAE2GdCl2Y47yMpvNmDNnDlauXAmDwQCDwYAuXbrg7bffhp+fX6Vdh4iIyF5t2ZK/Dn9ubvH1//1v/hAgg869HnOuCXv++x3O/X5AU+ffpBYi5o2HV2jx+wiVlRjQAjB4AOYsa5klLhpiw0GV8vxk35gAFKHIMnKSb7LTRyHn/jiI6A9+giDkf+ogCMDRb7ei8/P3oEH/4pfqUhQFZosZBil/IzCjrweEm9x7nDBhApKSkrB79274+/tDURR8//33SEpKYgJARERO6/x54P77gQPavjQAYPz4THz4oTs8PW1jvZPM+BRsm74MiScuaerq92uP7tNHwKUUG5GWliAaIAV3hOXqTmuZHLcPYAJAYAKgkZeWjZ8fmFumxyiK+v/7Fq7DvoXrSvXY4b/Mgpt/8RuHnT59GmvWrMHFixfh7+8PABAEAcOHDy9TfERERI7AZMrfnOvdd4uvv+22/FV9QkNlxMenw93dvXoDLEH84XPY9tpXyElKV1cIAjo8NhBtRt8OQRAq/bpSSLgqAbDEcyIw5WMCYMMOHDiApk2bokaNGnqHQkREpJstW4DbS1jCPiQE+OUXoHOhIe+yXD1xlcbpX/di73s/QDZZVOUuHkb0nDEKdXu1rrJrSyHhqmNOBKYbmAAQERGRzUlJAUaNAtavL75+8WJgwoT84be2SDZbEP3Rzzj5/V+aOu86NRAROR5+DYufqFxZxGB1AqBkXoOccQWiV+0qvS7ZPiYANqxTp044deoUEhMTERgYqHc4REREVW7Vqvzdd4tzzz3AsmWArU+By03NxPYZXyN2/2lNXc0uzdB75mgYfTyqPA7Rvyng6gPkpVnLLHHRTACICUBRrj7uGP7LrFuel341ERuf/LBg4H9hgoBBi56DVy1tp724ScAladKkCe6//35MmDABy5Ytg5+fHxRFwY8//oiOHTuiUaNGZXptREREtig5GRg+HPjzT22dIADbtgG9e1d/XOWRfOYaoqYuQca1JE1dyxF90empIRAN1bMGqSCIkILDYLm81VpmiYuGS+N7quX6ZLuYABQhiCLc/G+dlbv5e6HHtAexa953+RN3FAWAAAUKekx9EDVa1y/2cYqiwGw2w2AwlGrCz5IlS/DWW2+ha9euMBgMkGUZffr0we0lDYYkIiKyE7/9Btx1V/F1kyYBb78NuLhUa0gVcnHbYex8awXM2XmqctHVgG6vDEfjQeElPLLqSCHhmgSAiAlABTQe3AVB7Rrh9K97C/YBuKsrfOpU3qRdFxcXzJo1C7Nm3fquBBERka3LywOefBJYulRb5+kJ7NwJtG9f/XFVhCLL+GfZZvyz5HdNnXugDyIix6NGq3o6RKadCCzHRUNRlCpZdYjsBxOACvKpUwOdnhyidxhEREQ27fhxoHt3IDVVW/fUU8DChfb1af8Npqxc7HxrJS5tP6ypq9GqHvrOHQePGr46RJavaAKg5CRCSTsPwbehThGRLWACQERERFXm88+BJ54ovm7rViAiolrDqVTpVxIRNW0JUs7GauoaDQpHt5cfgGTUN6sRfBpAcAuEkpNoLbPERUNkAuDUbGN7PCIiInIYOTnAiBH5E3iLdv779cuf9Kso9t35v7b/FNY/tkDT+RdEAeHP34Me0x/SvfMP5G8gKnI/ACqCdwCIiIioUly+nD/M5/Jlbd0HHwDPPmu76/aXlqIoOPnDX4j+8GcoFvWOY67e7ugzewxqdm6mU3TFk0LCYbmwyXrMBICYABAREVGFbN8O9O1bfN3+/UCnTtUbT1Wx5Jnx9/s/4PSvf2vqfBuEIGLeo5W6EEhl0ewIHL8fiiJDEDgQxFnxJ09ERETl8sEH+Z/oF+38d+kCJCXlD/NxlM5/dmIaNj//SbGd/zq9W2PQ58/bZOcf0CYAyEuDnHxKn2DIJjABICIiolKzWIAJE/I7/i+8oK57/nnAbAb27gX8/fWJryoknriE9RMXIOHIBU1d23F3IGLOOLh4uOkQWemIXrUheNZUlcnxHAbkzDgEqIIsyadgOroEctoFiD714dL6UUj+TSvt+c1mM+bMmYOVK1fCYDDAYDCgS5cuePvtt+Fn63uhExGRw8jOBu65B9i8WVu3fDnwyCPVH1N1OPv7fuyZ9x0seWZVueTmip6vPYT6/exj0wIpJBzms79Yjy1x0XBpMUrHiEhPTACKUBQZclZCqc41nVyJ3O2TAQgA8ncCztv/Dox95sOl+UMlPL8CxWKGLOXvBCy4B950DN6ECROQlJSE3bt3w9/fH4qi4Pvvv0dSUhITACIiqnJJSUDv3sCxY9o6RxrfX5RskXHws99wbEWUps4z1B8RkY8ioGmt6g+snIpLAMh5MQEoKicRGV/Vr9BT5G57AbnbXrj1iQC8Ho+D4BFUbN3p06exZs0aXLx4Ef7/v5cqCAKGDx9eofiIiIhu5eJFoG1bIC1NXe7jAxw+DNTTZ2PbapGXno0dM7/B1b0nNHUhHRujz+wxcPP30iGy8hODi04EPghFNkMQ2RV0Rvyp27ADBw6gadOmqFHDNicVERGR4zlyJL/jX1SrVsCOHUBAQPXHVJ1SL8Rh66tLkH75uqau+X09Ef78PRANkg6RVYxmIrA5C3LScUg1ivlhk8PjJGAiIiJCTEz+xN6inf877wSysoCjRx2/83951zFsePwDTedfNEjoNmU4uky+zy47/wAgegRB8FaPcOAwIOfFBMCGderUCadOnUJiYuKtTyYiIiqHGx3/jh3V5ePH56/os2kT4O6uS2jVRlEUHFn+J7a+ugSmzBxVnZu/F+5Y+CSa3t1Np+gqj2Y/ACYATotDgIpyC4TX43G3PE1OPYus73oCiqytFER4PLgLom9DTZWiKLBYzJAKTQIuSZMmTXD//fdjwoQJWLZsGfz8/KAoCn788Ud07NgRjRo1KtNLIyIiuuHQIaBDB235Sy8B77xj/zv2lpY5Jw+7I1fj/J8xmrqAZnUQMXccPEMdY01TKSQc5tM/WI+ZADgvJgBFCIII0b34SbmFiR5BcOv/BXL+mIjCqwABCtz6fwFDzS7FPk5RFMhmM0RDfgJwK0uWLMFbb72Frl27wmAwQJZl9OnTB7fffnuZXhcREREA/PMP0L6YlSudreMPAJmxyYiavhRJ/17R1DW4vQO6TxsBg5urDpFVjaJ3AOTrh6BY8iBIjvMaqXSYAFSAa+txMNTuhbwjX1r3AXBtMwGiX5NKu4aLiwtmzZqFWbNmVdpzEhGR8zl2DGjdWls+eTLw7rvO1fEHgPhDZ7Ht9a+Qk5yhrhAEdHxiMFqP6leqD+rsiRQcpi6w5EG+fhhSSFjxDyCHxQSggkS/JnDrFal3GERERMU6fx5oqB2RikmTgPffd76OPwCc+nkP/n7/R8hmi6rcxdMNvd4YhTo9WukUWdUS3Pwg+jWFnHLKWmaJi2YC4ISYABARETmgxESgefP8/xf23HPAwoXO2fGXzRbsW7gO/67dpanzqRuEiHnj4Vs/RIfIqo8YEq5OAOKjATyhX0CkC64CRERE5ECys4GwMKBGDXXnf+xYwGIBPvjAOTv/OckZ+GPSZ8V2/mt1bYFBn7/g8J1/oJiVgGI5EdgZ8Q5AEYqi6B0CORi+p4ioOlgswIMPAj/+qC7v3x9Yvx5wcdEnLluQdOoqoqYtQWZssqau1cMR6PjEEIiSc3wmqpkInHgEijkbgsHB13olFSYA/+fi4gJBEJCQkICgoKAqm/ijKArMZjMMpVwFiArYY9spioKEhAQIggAXZ/7rS0RVavp0ILLIdLSmTYH9+wFvb31ishUXth7CzjmrYMnJU5VLrgZ0m/ogGt3pXOPfpaCOgCAWLGOuWGCJj4GhVnd9A6NqxQTg/yRJQp06dXD58mWcP3++yq6jKApkWYYoinbTibUV9tp2giCgTp06kCT73D2SiGzX8uXAmDHqMhcX4MIFoGZNfWKyFYqs4NAXG3Hk6z81dR5BvoiIHI/AFnV1iExfgqsXxICWkBOPWsvk+GiACYBTYQJQiJeXF5o2bQqTyVRl15BlGYmJiQgMDIQoOsftxspir23n4uLCzj8RVaq9e4FuxWxMe/Qo0MoxF7ApE1NmDg69vQ4J0ac1dUFt6qPvnHFwD/TRITLbIAWHqxIAS9x+HaMhPTABKEKSpCrtrMmyDBcXF7i5udlVJ9YWsO2IyNnFxhb/yf6mTcCdd1Z/PLYo/cp1bH11CVLPx2nqmtzVBV0m3w/J1bm7P1JoOEzHv7IeW+L26RgN6YG9KCIiIhtnMgE9e2o7/x9+CCgKO/83XN13EusnLtB0/gVJROcX70W3Vx90+s4/AIjBRSYCJ52AkpeuUzSkByYARERENuyttwBXV2BXodUrR44EZBl49ln94rIliqLg2Opt2PLSYuSlZ6vqXH08cPv7j6PF/b3sav5YVZKC2gNi4URIgSX+gG7xUPVjGkxERGSDtm4F+vcPVZXVrg0cP86VfQqz5Jqw593vcXaDdj17v0ahiIh8FN61A3WIzHYJBjeIgW0hJxy0llniomGo01fHqKg6MQEgIiKyIQXj/NU36Y8dA1q21CUkm5V1PRXbpi/D9WMXNXXBXZoiYvZYGL24vn1xpJCwIgkAJwI7Ew4BIiIisgGyDAwerB3nv3y5DEVh57+ohKMXsH7CgmI7/23H34F2L98DFw+jDpHZB82OwJwI7FSYABAREensq68ASQI2bCgoGzdOwdWrsXj4Yf3islVnNkTj9+c+QXZimqrc4O6KvnPGod34OyGIHO9/M1JIZ9WxknoGSo52p2RyTBwCREREpJMLF4AGDdRl3t7A5cuAl5eC+HhdwrJZstmCA5/+huOrt2nqvGoGIGLeo/BvXBOyLOsQnX0RA9sAkhGw5FrLLPH7YajXX8eoqLrwDgAREVE1k+X8pTuLdv537wbS0gAf592jqkS5aVnY8soXxXb+Q8OaYPAXk+Df2Mm3Py4DQXKBFNRBVWaJ5TAgZ8EEgIiIqBqtWpU/3Gfz5oKyqVPz1/MvbndfAlLOxWLD4wtxbd+/mroWD/TG7e89DqOvpw6R2TcxJEx1bInnRGBnwSFARERE1eDq1fxlPAvz9b0x3EefmOzBpb+OYufsb2HKylWViwYJXV++H03u6qpTZPZPCg6HqdAxJwI7D94BICIiqkKKAowape3879gBpKSw818SRVFw+Ks/EDVtqabz7xbgjTs+fIqd/wqSQotMBE6/BDkzroSzyZEwASAiIqoiu3cDogisWFFQ9vzz+UlBr176xWXrTNm52DFjOWIWb8hvrEICW9TF4C8mIbhtQ52icxyifwvART10isOAnAOHABEREVUykwlo0wb4t8iQ9aQkwN9fn5jsRUZsEqKmLkXy6auauoZ3dkK3Vx+EweiiQ2SORxAlSMGdYLmyw1omx+2DVH+gjlFRdeAdACIiokq0ciXg6qru/H/3Xf4H2ez831xczBmsn7hA0/kXRAGdnr4LPf/zMDv/lUwKLjIRmDsCOwXeASAiIqoEKSnaDn6bNsDBg4CBf21v6eTaXdi3YC0Ui3oNfxcvN/SeORq1u7XQKTLHVtyOwEqRYVfkeHS9AxAZGYnOnTvD29sbwcHBGDZsGE6ePHnTxyxbtgyCIKi+3NzcqiliIiIirZkztZ3/vXuBw4fZ+b8Vi8mMPe98j7/f+0HT+fepF4TBn09i578KiUV3BM6Kg5JxRadoqLro+mtp27ZteOaZZ9C5c2eYzWZMnz4dd955J44dOwZPz5LX8/Xx8VElCoLA7b6JiKj6Xb4M1K2rLnvkEeDrrwH+abq17OR0bH/9a8QfOqupq92jJXrNGAVXL3cdInMeol9jwNUXyEu1lsnx+wHv7jpGRVVN1wRg48aNquNly5YhODgY+/fvR58+fUp8nCAICA0NrerwiIiISjRlCvDOO+qyCxeAevX0icfeJP17GVunLkVWfIqmrs3o29F+4kCIEqcqVjVBECGFhMNy6U9rmSVuHxMAB2dTNyZTU/Ozz4CAgJuel5GRgfr160OWZXTq1Alz585F69atiz03NzcXubkF6wenpaUBAGRZhizLxT6mKsmyDEVRdLm2vWPblR/brmLYfuXniG135QpQr566Yzpzpoz//Cf/+8p6qY7Ydjec/zMGe+Z9B0uuSVUuGV3QbeqDaHB7BwAo92t35LarCmJwpyIJwH4ojdl+5aH3e6+017WZBECWZUyaNAk9e/ZEmzZtSjyvefPmWLJkCdq1a4fU1FS8++676NGjB44ePYo6depozo+MjMSsWbM05QkJCcjJyanU11AasiwjNTUViqJAFPnJRlmw7cqPbVcxbL/yc7S2e+stL3z8sXrnrsOH41Gjhoz4+Mq9lqO1HQAosoLTK3fg/Nq9mjq3Gt5oP+VeeDQKQXwFG9MR264qSW5NYSx0bInbh5TkZLZfOej93ktPTy/VeYJiI1O9n3rqKWzYsAF//fVXsR35kphMJrRs2RIjR47Em2++qakv7g5A3bp1kZycDB8fn0qJvSxkWUZCQgKCgoL4j6qM2Hblx7arGLZf+TlK2xX3qf8bb8iYMaPqrukobXdDXkY2dr21Eld2HdfUBbVriN6zR8M9wLtSruVobVfV5LQLyFrWWFWWNWQXajQMZ/uVkd7vvbS0NPj7+yM1NfWm/VybuAPw7LPP4tdff8X27dvL1PkHABcXF3Ts2BGnT58utt5oNMJoNGrKRVHU7U0tCIKu17dnbLvyY9tVDNuv/Oy97aZNA+bNU5fFxgIhIVX/euy97W5Iu5SArVOXIO2C9pP9pnd3Q+cX74XkUrldEkdpu+og+DaA4F4DSvZ1a5mU/A/Exl3YfuWg53uvtNfU9aeqKAqeffZZrF27Flu2bEHDhmXf1ttiseDw4cOoWbNmFURIRETO6vr1/JV8Cnf+Z87M39ArJES3sOzO1b0nsOGxhZrOvyCJ6PLS/eg2ZXild/6pbARBgFRkOVAxKUafYKha6Pov7plnnsGKFSvw008/wdvbG7GxsQAAX19fuLvnL/s1ZswY1K5dG5GRkQCA2bNno1u3bmjSpAlSUlLwzjvv4MKFC5g4caJur4OIiBzLZ58BTz6pLsv/1F+feOyRoig4tjIKBxf9BkVWjzY2+nmi75tjEdKxcQmPpuomhoQB5zcUHCf9o2M0VNV0TQA+/fRTAEBERISqfOnSpRg3bhwA4OLFi6rbGcnJyXjssccQGxsLf39/hIWFYdeuXWjVqlV1hU1ERA4qNxfw8wMKrxHx8sva5T7p5sy5Jux5ew3ObdqvqfNvUgsRkePhVfPmK/5R9ZKC1TsCi0n/QFFk6DxYhKqIrglAaeYfR0VFqY7nz5+P+fPnV1FERETkrDZvBu68U1126hTQpIk+8dirrIRURE1fisTjlzR19fu1R/fpI+Dirp2bR/qSQtQJgGDOgJL8L1CDH7A6IqZ1RETk1BQF6NlT3fm/44789fzZ+S+bhCPnsX7i/GI7/+0nDkTv2aPZ+bdRolctCJ61VGWWeO0dHHIMTACIiMhp/fsvIIrArl0FZdu2Ab//nj8BmErv9G9/4/fnPkF2onodcoO7ERGR49Fu3B0Q2Kg2rehEYDkuWqdIqKoxASAiIqf02mtA8+YFx4GBQF4e0KePfjHZI9lswb6F67A7cjVkk0VV5107EIM+ex51e5e8wSfZDikkTHVsiWcC4Ki47hYRETmV7GzAw0Nd9sUXwIQJ+sRjz3JTM7F9xteI3a/di6dm52boPWs0jD4exTySbFHReQByQgwU2QxBZHfR0fAnSkRETiMqCujXT10WHw8EBekSjl1LPnsNUVOXIuNqoqau5Yg+6PTUXRANkg6RUXmJRRIAmLMhJx6DFNROn4CoynAIEBEROYWHHlJ3/h94IH8CMDv/ZXdx22FsfOIDTedfdJHQ47WHEP7cPez82yHRvQYEnwaqMg4Dcky8A0BERA4tMRGoUUNdtmWL9k4A3Zoiyzj81R849OUmTZ17oA/6zh2HoNb1dYiMKosU0hnmtPPWY0vsPqD1o/oFRFWCCQARETmstWuB++5Tl2VmaucA0K2ZsnKxa+4qXIzS7hAb2LIeIiLHwaOGrw6RUWWSQsJgPrXGesylQB0ThwAREZFDuvNOded/ypT8IT/s/Jdd+tVEbHzqw2I7/40GhmPAR0+z8+8gtBOBD0Ex5+oUDVUV3gEgIiKHkpwMBASoyw4eBDp00CUcuxd74DS2/+cr5KZmqcoFUUDYs3ejxfDeXN/fgUjB6qVAIZsgJx7WJAZk33gHgIiIHMbGjerOvyTlr+3Pzn/ZKYqCEz/8hT9e/EzT+Xf1dsdt7z2Glg/2YeffwQhGXwh+zVRlFm4I5nCYABARkUMYPRoYNKjgeOpUwGwGXFz0i8leWfLM2PPf77Bv/looFllV59sgBIMWT0Ktzs1LeDTZu6Kf9lvi9ukUCVUVDgEiIiK7VtzGXnv3Al266BOPvctOSse215Yh4fB5TV2dXq3R8z8Pw9XTrfoDo2ojBocBJ1dYjy1xnAjsaJgAEBGR3YqJATp2VJdlZQHu7rqEY/cST1xC1PSlyIpP1dS1Hdsf7ScMgCBy8ICjk0LU8wDkxKNQTFkQXDiD3lHwXzEREdml//5X3fl/5JH8VX7Y+S+fc78fwKanP9J0/iU3V/SZPQYdHhvEzr+TEIM6QhEK/awVCywJMbrFQ5WPdwCIiMiuKArQvDlw6lRB2c8/A0OH6heTPZMtMmI+W4+jK7Zq6jxD/REROR4BTWvrEBnpRXDxhOLTDELqCWuZJS4ahlo9dIyKKhMTACIishvFLfEZGwuEhOgTj73LS8/Gjlnf4OqeE5q6kA6N0efNMXDz99IhMtKbHNAOYqEEQOZKQA6F9/KIiMgu7Nih7vzXqQPIMjv/5ZV6MR4bHl9YbOe/2b090H/BE+z8OzE5oIPqmEuBOhYmAEREZPPefBPo06fg+PXXgUuXAC5BXz5Xdh/HhscWIu1SgqpckER0feUBdH3pfogGSafoyBbIAe3Vx8knoeSm6RQNVTYOASIiIpulKEDbtsDRowVl27cDvXvrF5M9UxQFx1ZsxYFF6/MbtxCjnxf6zhmLkPaNdIqObIns1woQXQDZ9P8SBZb4AzDUjdAzLKokTACIiMgmpacDPj7qsuvXgcBAfeKxd+acPOye9x3O/3FQUxfQrDYi5o6HZ6i/DpGRTZKMEAPbQk44YC2yxEczAXAQHAJEREQ258gRdee/Ro388f7s/JdPZlwyNj39cbGd//q3d8CAT55l5580xCL7AVhiOQ/AUTABICIim/L11/nDfm544QUgIYHj/csr/p9zWD9xAZL+vayuEAR0eGIwes98BAY3V32CI5smBYerji3xTAAcBYcAERGRzRg/Hli2rOD4p5+Au+/WLRy7d+qXPfj7vR8hmy2qchcPI3q98Qjq9GylU2RkD4reAVBSz0LJSYLgFlDCI8heMAEgIiLdKQoQGgrExxeUnTkDNOJ81HKRzRZEf/ATTv64U1PnXacG+s17FL4NuH4q3ZwY0BqQ3ABLjrXMEhcNQ/07dYyKKgMTACIi0lVmJuBVZLn57GzAzU2feOxdTkoGtv/na8QdPKOpq9WlOXrNfARGHw8dIiN7I0gukII6wBK7x1rGBMAxcA4AERHp5swZdee/SZP8yb7s/JdP8umrWP/YwmI7/60ejkC/dyay809lopkIzA3BHAITACIi0sXvv+d3+G945hng1ClO9i2vC1H/YMOTHyLzWpKqXHQ1oOd/HkbY00MhSvyzT2UjhXRWHTMBcAwcAkRERNXu3XeBV14pOP7mG2DUKP3isWeKLOPQkt9xeNlmTZ1HkC/6zh2HGi3r6RAZOQIpRL0SkJJxGXJmLETPUJ0iosrABICIiKrV8OHA998XHB84AHTsqF889syUlYOdb67EpR1HNHVBbeqjz1vj4FHDp5hHEpWO6N8ccPECTBnWMktcNMRGd+kYFVUUEwAiIqoWipK/kVdyckFZXBwQHKxfTPYs/cp1bJ26FKnnYjV1jYd0QdeX7ofkyj/zVDGCKEEK7gTLle3WMktcNFyYANg1/mYgIqIql5MDeHqqy3JzAVfuP1Uu1/b9i+0zvkZeeraqXJBEhD93N5rf3wsCJ1NQJZFCwlQJgMx5AHaPCQAREVWphAQRNWsWTD5t2hT4918dA7JjiqLgxJod2P/xL1AssqrO1ccDfWaPRs3wZjpFR45KMxE4PhqKojDJtGNcDoCIiKrM8eNAu3YFY3wefZSd//Ky5JmxO3I1oj/4SdP5920YisGLJ7HzT1VCMxE4Kx5KxmWdoqHKwASAiIiqxLZtQJs2BX9m5s8HvvxSx4DsWNb1NPz+3Cc4s36fpq5un7YY9Nlz8K4dqENk5AwE38aA0U9VZonTvhfJfjABICKiSvftt0BERMHxjz/KmDRJr2js2/VjF7F+4nxcP3pBU9du/J3o+9YYuHhw5zSqOoIgaO4CcD8A+8Y5AEREVKnmzAFef73geP36RAwY4K9fQHbs6rajOP7Z75DzzKpyg7srerw2EvUj2ukUGTkbKTgMlot/WI+ZANg3JgBERFRpxo4Fvv664Pj0aRmenib9ArJTstmCA5/+iuOrt2vqPGsGoF/kePg3qaVDZOSspFDtjsCcCGy/mAAQEVGl6NwZiC70oWBiIuDnB8TH6xaSXcpNy8KOmctx7W/tbOmQTk3QZ/ZouPl56RAZOTMpWD0ECLkpUFLPQvBrrE9AVCFMAIiIqEIUBXB3z1/X/4acHMBoBGS55MeRVur5OGydugTpl69r6po/0Avhz94N0SDpEBk5O8G7LgSPYChZBRm9JW4fRCYAdomTgImIqNwsFkAU1Z1/iyW/809lc3nnMWx4fKGm8y8aJHSb+iC6TLqXnX/SjSAImrsAnAdgv5gAEBFRueTmAoZC95GbNMm/GyDyL0uZKIqCw1//ga1Tl8CUlauqc/XzQP+FT6LpXV11io6ogBgSpjpmAmC/OASIiIjKLCMD8PYuOL7zTmDTJv3isVem7FzsjlyNC1sOaeoCmtdB6xeHIKhVg+oPjKgY2h2BD0CRLRBE3pmyN/ychoiIyiQpSd35HzeOnf/yyIxNxqanPyq289/gjo6446On4VbDR4fIiIpXdC8AmDIgp3Brb3vEBICIiErt2jUgsNCGsy+9BCxdql889iou5gx+m7gAyaeuqisEAZ2evgu9ZoyCweiiT3BEJRA9QyF41VGVWWK5I7A9YgJARESlcu4cUKvQ0vNz5gDvvqtfPPbq33W7sPmFRchNyVCVu3i54ba3J6D1w/24tjrZrKJ3AeR4zgOwR5wDQEREt3T0KNCmTcHxJ58ATz2lXzz2yGIyI3rhOvy7bremzqdeECLmPQrfesE6REZUelJIGMxn1lmPLXH79QuGyo0JABER3dT+/UB4oQ/9vv0WePhh/eKxR9nJ6dj++teIP3RWU1e7e0v0emMUXL3cdYiMqGy0E4EPQrGYIEgcsmZPmAAQEVGJdu8GevQoOP71V2DIEP3isUdJp64gaupSZMYla+paP3IbOjw2CKLEEblkH8Rg9VKgsORATjoGKai9PgFRuTABICKiYu3YAfTpU3C8ZQvQr59+8dij83/GYNfcVbDkmlTlkqsB3aeNQMM7OukUGVH5iO6BEHwaQkk7Zy2zxO1jAmBn+JEDERFpbN+u7vz/9Rc7/2WhyDIOfrYeO95Yrun8ewT7YsAnz7LzT3ZLMwyIG4LZHd4BICIilW3bgIiIguM9e4Cu3Ii21PIyc7Bz9re4vPOYpi6obQP0nTMO7gHexTySyD5IIWEwn/rOesyJwPaHCQAREVlFRak/6d+7F+jSRbdw7E7apQRETVuK1PNxmromQ7uhy+R7IbnwTy/Zt6J3AOTr/0Ax50IwGHWKiMqKv4WIiAiAtvP/999A584lnk5FXP37JHbMWI68jGxVuSCJ6PzCMDS7twfX9yeHIAUXGb4mmyBf/wdSKH9h2AsmAEREpOn879unXvqTSqYoCo6v3o4Dn/wCRVZUdUZfD/R5cyxCOzXRKTqiyicYfSD6N4ecfNJaZonbxwTAjjABICJyckUn+LLzX3qWXBP2vPM9zm7UToL0b1wTEfMehVfNAB0iI6paUkjnIgkAJwLbE64CRETkxPbuBXr3Ljhm57/0shJSsenZj4vt/NeLaIcBnz7Hzj85LDFEvR+AJZ4Tge0J7wAQETmpQ4eAbt0KjnfvZue/tBKOXMC215YhOzFNU9d+4kC0Hduf4/3JoWkmAicehWLKhODiqVNEVBZMAIiInNDJk0CHDgXHO3aokwEq2Zn1f2PPO99DNllU5QZ3I3rNeBh1e7fRKTKi6iMFdQAEEVDk/AJFhiUhBoZaPXWNi0qHCQARkZM5fx5o0aLgeNMmoFcv3cKxG7LZgv0f/4ITa3Zo6rxqBSJi3nj4N6qpQ2RE1U9w8YAY2Bry9cPWMkvsPiYAdoIJABGRE7l6FWjYsOB47Vrgzjv1i8de5KZmYvuM5Yjdf0pTFxreFH1mj4HRx0OHyIj0I4WEqxIAmfMA7AYnARMROYmkJKB27YLjb74Bhg3TLRy7kXI2FusfW1hs57/Fg31w+7uPsfNPTkkKVk8a4kpA9oN3AIiInEBmJhAYWHC8aBEwapR+8diLSzuO4K/ZK2DOzlWViy4Sur3yABoP5jbJ5LyKrvsvJ5+EkpsKweirU0RUWkwAiIgcnMkEeHkVHEdGAk88oV889kCRZRz++k8c+mKjps490Bt954xHUJv6OkRGZDvEwLaA6ALIJmuZJf4ADHX73eRRZAs4BIiIyIEpCuDqWnD84ovA1Kn6xWMPTFm52D5jebGd/8CW9TD4ixfZ+ScCIBiMEGu0U5VZ4vbpFA2VBe8AEBE5MLHQxzwPPAC8/75+sdiDjGtJiJq6BMlnrmnqGg0IQ7cpwyEZXXSIjMg2SSHhqsm/ljhOBLYHvANAROSgGjQo+L5jR2DNGt1CsQuxB05j/cT5ms6/IAoIe/Zu9Hh9JDv/REVIIZwIbI94B4CIyAHdcQdw4UL+9x4ewIED+sZjyxRFwb8/7sS+D36CYpFVda5e7ug9ezRqdWmuU3REtq3ojsBK2jnI2dchutfQKSIqDV3vAERGRqJz587w9vZGcHAwhg0bhpMnT97ycWvWrEGLFi3g5uaGtm3bYv369dUQLRGRfXjiCeCPPwqOMzL0i8XWWUxm7Hn7e/w9f62m8+/bIASDFr/Azj/RTYiBrQDJTVUmcxiQzdM1Adi2bRueeeYZ7NmzB5s3b4bJZMKdd96JzMzMEh+za9cujBw5EhMmTMDBgwcxbNgwDBs2DEeOHKnGyImIbFNkJPD55wXHZjMgCPrFY8uyk9Kx+flPcfqXPZq6Oj1bYeBnz8OnbpAOkRHZD0E0QAruqCrjRGDbp+sQoI0b1SssLFu2DMHBwdi/fz/69OlT7GMWLlyIgQMH4pVXXgEAvPnmm9i8eTM++ugjLFq0qMpjJiKyVatWAdOnFxxnZQGSpF88tizxxCVETV+KrPhUTV2bMf3RYeIACCKnyRGVhhQSDsu13dZjTgS2fTY1ByA1Nf8XcUBAQInn7N69G5MnT1aVDRgwAOvWrSv2/NzcXOTmFmzgkpaWBgCQZRmyLBf7mKokyzIURdHl2vaObVd+bLuKsYf2270bGDmyoMOakCDDaAT0DtkW2+78HwexZ953sOSZVeWS0QXdp41A/dvaQ0H+XgB6ssW2sxdsu4opa/sJQWGqY0tctNO2vd7vvdJe12YSAFmWMWnSJPTs2RNt2rQp8bzY2FiEhISoykJCQhAbG1vs+ZGRkZg1a5amPCEhATk5ORULuhxkWUZqaioURYHIT5fKhG1Xfmy7irH19rt8WUSvXsHW4927E2A2WxAfr2NQ/2dLbadYZJxeuQPn1/2tqXOr4YMOrw6De8MQxNtCw8G22s7esO0qpqztJ7g0hHuhYyXzCuIvHAbcQ0p8jKPS+72Xnp5eqvNsJgF45plncOTIEfz111+V+rzTpk1T3TFIS0tD3bp1ERQUBB8fn0q9VmnIsgxBEBAUFMRfSmXEtis/tl3F2HL7ZWQAnTsXxLRtm4wuXQJ1jEjNVtouLyMbO2evwNU9JzR1Qe0aos+bY+Dm71XMI/VjK21nj9h2FVPW9lOCaiDTxQswFaw4EGA5D0Nw26oM0ybp/d5zc3O79UmwkQTg2Wefxa+//ort27ejTp06Nz03NDQUcXFxqrK4uDiEhoYWe77RaITRaNSUi6Ko2y8FQRB0vb49Y9uVH9uuYmyx/WQZ8PUtOF66FOjTx3biu0Hvtku9GI+oqUuQdjFBU9dsWHeEvzAMkotN/DnU0Lvt7BnbrmLK1n4ipOAwWK5ss5bICfshNrmn6gK0YXq+90p7TV3/VSiKgmeffRZr167Fli1b0LBhw1s+pnv37vjzzz9VZZs3b0b37t2rKkwiIptUeILvSy8B48bpForNurL7ODY8vlDT+RckEV1fvh9dX37AZjv/RPZEClVvCMalQG2brr/1nnnmGaxYsQI//fQTvL29reP4fX194e6eP5pszJgxqF27NiIjIwEAL7zwAvr27Yv33nsPQ4YMwapVqxAdHY3PC697R0Tk4Dp0KPi+b1/g3Xd1C8UmKYqCYyujcODT3wBFUdUZ/bzQd85YhLRvpFN0RI5HCtbuCKwoCgSuQ2yTdL0D8OmnnyI1NRURERGoWbOm9Wv16tXWcy5evIhr1wq2Ze/RowdWrFiBzz//HO3bt8f333+PdevW3XTiMBGRI3niCeDQofzvJQmIitI1HJtjzjXhr9nf4sAnv2o6//5Na2HwFy+w809UyaTQIjsCZydASb+oUzR0K7reAVCK/GIuTlQxf9mGDx+O4cOHV0FERES27bPP1Bt9mUz6xWKLMuNTEDVtKZJOXtbU1b+tPbpPGwEXd+28MCKqGMGnIWD0B3KTrWWWuGiIPvV1jIpKwpkxRER2YudO4MknC46zsrjLb2Hxh89h/cQF2s6/IKDDE4PRe9Zodv6JqoggCJBCtMOAyDZx5hMRkR2IiwN69So4vnwZcHcv+Xxnc+rXvfj73R8gmy2qchcPI3rOGIW6vVrrFBmR85BCwmG5uNl6zATAdjEBICKycWYzUHil4x07gNq19YvHlshmC6I//Aknf9ipqfOuUwP95j0K3wbOtxkRkR6KuwPAicC2iQkAEZGNc3Ep+P7999V3ApxZTkoGts9YjrgDpzV1Nbs0Q++Zo2H08dAhMiLnVDQBQF4q5JTTkPyb6hMQlYgJABGRDbvjjoLvBw4EXnxRv1hsSfKZa9g6dQkyryVp6lo91BcdnxwC0SAV80giqiqCVx0IHiFQsgo2bJXjopkA2CBOAiYislHvvAP88UfB8YYN+sViSy5u+wcbn/xA0/kXXQ3o+fpIhD17Nzv/RDoodiJwPOcB2CLeASAiskHbtgFTphQcc7lPQJFl/LN0M/5Z+rumzr2GDyLmjkeNVvV0iIyIbpBCwmE+95v1mBOBbRMTACIiGxMXB0REqI8NTv7b2pSVg51vrcKl7Yc1dTVa10ffOePgUcNHh8iIqDBRcwfgABTZAkHkXTlb4uR/UoiIbIvFol7xZ+dOIDhYv3hsQfqVRERNW4KUs7GausaDO6PrS/dDMroU80giqm5ScJGJwKZMyMknIAVyKV5bwgSAiMiGFP6k/913gR499IvFFlyL/hfbZyxHXlqWqlyQRIQ9MxQthvfmEoNENkT0DIHgXRdK+iVrmSUumgmAjeEkYCIiG/HwwwXf9+kDvPSSfrHoTVEUHF+zA3++tFjT+Xf1dsft7z6Glg/2YeefyAYVvQvAeQC2h3cAiIhswNdfAytXFhxv26ZfLHqz5Jmx970fcOa3vzV1vg1D0W/eeHjXrqFDZERUGlJIOMxn1lqPZSYANocJABGRzo4eBcaOLTjOydEvFr1lXU/D9teXIeHIBU1dnd6t0es/D8PFw02HyIiotDRLgSbEQLGYIEicq2MrmAAQEels8eKC78+eBYxG/WLR0/XjF7Ft+jJkJaRq6tqNvwPtxt8JQeTIVSJbJ4WEqQssuZATj0AK7qhPQKTBBICISGePPgqkpQHjxwMNG+odjT7ObtqP3f/9DnKeWVUuubmi5+sjUT+inU6REVFZCW4BEHwbQ0k9Yy2zxEUzAbAhTACIiHTWrh2wZIneUehDtsg4uOg3HFsZpanzrBmAfpHj4d+kVvUHRkQVIoWEw1wkAUDbx3SMiArjvVQiItJFbloWtr7yRbGd/5COjTF48Qvs/BPZKc08AE4Etim8A0BERNUu9Xwctk5dgvTL1zV1ze/vifDn7oFo4M6hRPaqaAIgJx6GYs6BYOAkflvABICIiKrV5Z3H8Nesb2DKylWViwYJXSbfh6Z3d9MpMiKqLFJwJwACACW/QDbDknAIhppd9QyL/o8JABERVQtFUXDkmy2I+XwDoCiqOjd/L/SdMw7B7Zx0FjSRgxFcvSEGtICcdNxaJsdHA0wAbAITACIiqnLmnDzs+e8aXPgzRlMX0KwOIiLHwTPEv/oDI6IqI4WEqxIAS9x+HaOhwjgJmIiIqlR2Qhp+f+aTYjv/De7oiAGfPMPOP5ED0k4E3qdTJFQU7wAQEVGViT90FntfWw5TWpa6QhDQ6cnBaPVwPwiCoE9wRFSlxOAiE4GTjkPJy4Dg6qVTRHQDEwAiIqoS//60G/vmr4VstqjKXTzd0HvmI6jdvaVOkRFRdZCC2gOCBCj//x2gyLAkHIShdm99AyMOASIiosolmy3Y++4P2PvO95rOv0/dIAxa/AI7/0ROQHDxgBjYRlXG/QBsA+8AEBFRpclJzsC2/3yF+Jizmrpa3Vqg9xuPwNXbXYfIiEgPUkgY5OuHrMecCGwbeAeAiIgqRdKpK1g/cUGxnf9WIyPQ778T2PkncjJSSGfVscyJwDaBdwCIiKjCLmw5hJ1zV8GSk6cql1wNaPnUALS/PwKiyM+ciJyNZkfglFNQclIguPnpExABYAJAREQVoMgyDn25CYe/+kNT5xHsiz5zxsHi76pDZERkC8QabQHJFbAUfDhgid8PQ73bdYyK+HEMERGVS15mDqKmLS228x/UtgEGL56EwOZ1dIiMiGyFILlCrNFeVcaJwPrjHQAiIiqztMvXETV1CVLPx2nqmtzVBV0m3w/J1QBZlnWIjohsiRQSphr7b4nnRGC9MQEgIqIyufr3SeyYsRx5GdmqckES0fn5e9Dsvp7c3IuIrKSQzjBhkfXYEsuJwHpjAkBERKWiKAqOf7cdBz7+BYqsqOqMvh7o8+ZYhHZqolN0RGSrik4EVtIvQM5KgOgRpFNExASAiIhuyZJrwp53v8fZDdqxu36NayIicjy8awXqEBkR2ToxoCVgcAfMBXcN5fj9EBsM1DEq58ZJwEREdFNZ11Ox6dlPiu381+vbFgM/fY6dfyIqkSAaIAV3UpVZuB+ArngHgIiISpRw9AK2TV+G7MQ0TV37iQPRdsztELi+PxHdghQcBsvVndZj7gisLyYARERUrDMb9mHP22sgmyyqcoO7ET3/MxL1+rTVKTIisjdikXkAvAOgLyYARESkIpstOPDprzi+erumzqtmACL++yj8G9XUITIisldSSGfVsZJ5DXLGVYhetXSKyLkxASAiIqvctCzseGM5ru37V1MXGtYUfWaPhtHXU4fIiMieif5NAVcfIK9gOKElLhqi1906RuW8OHCTiIgAAClnY7HhsQXFdv5bDO+N2997jJ1/IioXQRAhBYepyjgMSD+8A0BERLi04wj+mr0C5uxcVbnoIqHryw+gyZAuOkVGRI5CCgmD5fJW6zEnAuuHCQARkRNTFAWHv/oDh77YqKlzD/RG3znjENSmQfUHRkQOp+iGYHLcPiiKwp3DdcAEgIjISZmyc7F77mpc2HpIUxfYsi4i5o6HR5CvDpERkSPSTATOSYSSdgGCbwN9AnJiTACIiJxQxrUkRE1dguQz1zR1DQeEoduU4TAYXXSIjIgcleDTAIJbIJScRGuZJT4aIhOAasdJwERETibu4Bmsf2yBpvMviALCnhmKnq+PZOefiCqdIAja/QBiORFYD7wDQETkJBRFwb/rdmPfgrVQLLKqzsXLDX1mjUatri10io6InIEUEgbLhU3WY0s8JwLrgQkAEZETsJjM2Dd/LU79vEdT51M/GP0iH4VPvSAdIiMiZyIFF90ROBqKIkMQOCilOjEBICJycNnJ6dj+2leI/+ecpq52j1bo9cYouHq66RAZETkbKVQ9ERh5aZBTTkPyb6ZPQE6KCQARkQNLPHkZUdOWIis+RVPXZvTtaD9xIESJn7wRUfUQPGtB8AiFkhVrLZPjopkAVDP+1iciclDn/jiITU9/pOn8S0YX9J71CDo+MZidfyKqVoIgaO4CcEfg6sc7AEREDka2yIhZvAFHv9miqfMI9kO/eeMR0KyODpEREQFScBjMZ3+xHnNH4OrHBICIyIHkZWTjr9nf4squ45q64HYN0WfOWLj7e+sQGRFRPs1SoPEHoMhmCCK7pdWFLU1E5CDSLiZg67QlSLsQr6lrek93dJ40DJILf+0Tkb6kIgkAzFmQk05AqtFGn4CcEP8SEBE5gCt7TmDHzOUwZeSoygVJRJcX70WzYT10ioyISE30CIbgXQ9K+kVrmSUumglANeLsLyIiO6YoCo6u2IqtU77QdP6Nfp64Y8GT7PwTkc2RQjgRWE+8A0BEZKfMuSbseXsNzm3STqDzb1ILEfPGwys0QIfIiIhuTgoJg/n0D9ZjTgSuXkwAiIjsUGZ8CrZNX4bEE5c0dfX7tUf36SPg4m7UITIiolsrOg9Avh4DxZIHQXLVKSLnwgSAiMjOxB8+h22vfYWcpHR1hSCgw2MD0Wb07RAEQZ/giIhKQQoOUxdY8iAnHoEU3EmfgJwMEwAiIjty+te92PveD5BNFlW5i4cRPWeMQt1erXWKjIio9AQ3f4h+TSCnnLaWWeKimQBUE04CJiKyA7LZgn0L1mH3vO80nX/v2oEY+Nnz7PwTkV0RORFYN0wAiIhsXG5qJv586XOc+H6Hpq5m52YYtHgS/BqG6hAZEVH5SSHqYUCcCFx9OASIiMiGJZ+5hqipS5BxLUlT13JEX3R6aghEg6RDZEREFSMFF50IfBiKORuCwV2niJwHEwAiIht1cdth7HxrBczZeapy0dWAbq8MR+NB4SU8kojI9uWP9xcAKPkFigWWhEMw1OymZ1hOgQkAEZGNUWQZ/yzbjH+W/K6pcw/0Qd+54xDUur4OkRERVR7B1QtiQEvIScesZXJcNMAEoMoxASAisiGmrFzsmrMSF7cd1tTVaFUPfeeOg0cNXx0iIyKqfFJIZ1UCYImL1jEa58FJwERENiL9SiI2PvlBsZ3/RoPCceeHT7PzT0QORTsRmAlAdeAdACIiG3Bt/yls/8/XyEvLUpULooCwZ+9Gi+G9ubkXETkcseiOwEnHoeRlQHD10iki58AEgIhIR4qi4OQPfyH6w5+hWGRVnau3O/rMHoOanZvpFB0RUdWSgtoDogGQzf8vUWCJPwBDnT66xuXodB0CtH37dgwdOhS1atWCIAhYt27dTc+PioqCIAiar9jY2OoJmIioElnyzNjz3++wb8E6Tefft0EIBi2exM4/ETk0weAOMbCNqswSz2FAVU3XOwCZmZlo3749Hn30Udx3332lftzJkyfh4+NjPQ4ODq6K8IiIqkx2Yhq2vf4VEg6f19TV6d0avf7zMFw83Ko/MCKiaiaFhEFOiLEeW2KZAFQ1XROAQYMGYdCgQWV+XHBwMPz8/Co/ICKiapB44hKipi1FVkKqpq7tuDvQ/tE7IYhco4GInIMU0hmmI19aj2XeAahydvkXpkOHDqhZsybuuOMO7Ny5U+9wiIhK7ezv+7Hp6Y80nX/JzRV93hyDDhMHsvNPRE5FKjoROOU0lJxknaJxDnY1CbhmzZpYtGgRwsPDkZubiy+++AIRERHYu3cvOnXqVOxjcnNzkZubaz1OS0sDAMiyDFmWi31MVZJlGYqi6HJte8e2Kz+2XcVURvvJFhkxn6/H8ZXbNHWeof7oO3cc/JvUcrifEd975ce2Kz+2XcVUe/v5twIkI2Ap6K+ZYvfBUK9/9Vy/Eun93ivtde0qAWjevDmaN29uPe7RowfOnDmD+fPnY/ny5cU+JjIyErNmzdKUJyQkICcnp8piLYksy0hNTYWiKBD5KV+ZsO3Kj21XMRVtP1NmDg7P/xWJMec0df6t6qLdS3fD5GNAfHx8ZYRrU/jeKz+2Xfmx7SpGj/Yz+raClHTQepx2dhvMbu2q5dqVSe/3Xnp6eqnOs6sEoDhdunTBX3/9VWL9tGnTMHnyZOtxWloa6tati6CgINVE4uoiyzIEQUBQUBB/KZUR26782HYVU5H2S70Qjz2vr0L6pQRNXbN7eyDsubshGqTKCtXm8L1Xfmy78mPbVYwe7ZdbuxtMhRIA98wTcLfDRV70fu+5uZVu8YgyJwBjx47FhAkT0KePbazPGhMTg5o1a5ZYbzQaYTQaNeWiKOr2S0EQBF2vb8/YduXHtquY8rTf5V3H8Nesb2HKVN9tFA0Suky+D03v7lbZYdokvvfKj21Xfmy7iqnu9pNCO8N0+FPrsRy/325/dnq+90p7zTInAKmpqejfvz/q16+P8ePHY+zYsahdu3aZAwSAjIwMnD592np87tw5xMTEICAgAPXq1cO0adNw5coVfP311wCABQsWoGHDhmjdujVycnLwxRdfYMuWLfj999/LdX0ioqqgKAqOfrMFBz/fACiKqs7o54WIOWMR3L6RTtEREdmeohOBlfSLkLPiIXrY310Ae1Dm1GTdunW4cuUKnnrqKaxevRoNGjTAoEGD8P3338NkMpXpuaKjo9GxY0d07NgRADB58mR07NgRM2bMAABcu3YNFy9etJ6fl5eHl156CW3btkXfvn1x6NAh/PHHH7j99tvL+jKIiKqEOScPf836Fgc/W6/p/Ac0q4MhX0xi55+IqAgxoCVg8FCVWeK4HGhVKdccgKCgIEyePBmTJ0/GgQMHsHTpUowePRpeXl545JFH8PTTT6Np06a3fJ6IiAgoRf5AFrZs2TLV8ZQpUzBlypTyhExEVOUyY5MRNX0Zkv69rKlrcHsHdJ82AgY3Vx0iIyKybYIoQQruBMvVgnmdclw00HCwjlE5rgoNTrp27Ro2b96MzZs3Q5IkDB48GIcPH0arVq0wf/78yoqRiMjmxR86i/WPLdB2/gUBHZ8YjF4zH2Hnn4joJqSQMNUx7wBUnTLfATCZTPj555+xdOlS/P7772jXrh0mTZqEhx9+2Lqqztq1a/Hoo4/ixRdfrPSAiYhszamf9+Dv93+EbLaoyl083dDrjVGo06OVTpEREdkPKaSz6tgSFw1FUSAIgk4ROa4yJwA1a9aELMsYOXIk/v77b3To0EFzTr9+/eDn51cJ4RER2S7ZbEH0Bz/h5I/aHcl96gYhYt54+NYP0SEyIiL7IxadCJwVCyXzKgSv8i02QyUrcwIwf/58DB8+/KbrjPr5+eHcOe2GN0REjiInOQPb//M14mLOaOpqdW2B3jMfgau3uw6RERHZJ9GvCeDqC+SlWssssfsgNmECUNnKPAdg9OjRpd5kgIjIESWduor1jy0otvPf6uEI9Ht7Ajv/RERlJAiidh5APOcBVAW73wmYiKg6Xdh6CDvnrIIlJ09VLrka0G3qg2h0Z1gJjyQioluRgsNgubTFemyJZQJQFZgAEBGVgiIrOPTlJhz56g9NnUeQLyIixyOwRV0dIiMichxSqHoisBzPicBVgQkAEdEtmDJzcOjtdUiIPq2pC2pTH33njIN7oI8OkRERORYpuMhE4JwkKGnnIfg21Ckix8QEgIjoJtKvXMfWV5cg9Xycpq7xkC7o+tL9kFz5q5SIqDIIPvUhuNeAkn3dWmaJ2weRCUClqtBGYEREjuzavn+xfuICTedfkER0fvFedJ/6IDv/RESVSBAEiEXuAnBDsMrHv1xEREUoioITa3Zg/0c/Q5EVVZ2rjwf6vDkGNcOa6hQdEZFjk0LCYLmw0XrMBKDyMQEgIirEkmvCnne/x9kN2j84vg1D0W/eo/CuHahDZEREzkGzI3D8fiiKDEHgwJXKwgSAiOj/sq6nYdv0pbh+7KKmLrhLU0TMHgujF9f3JyKqSlKRHYGRlw45+RSkgOb6BOSAmAAQEQG4fuwioqYvRfb1NE1d2/F3IGRQe7h4GHWIjIjIuYhetSB41oKSedVaZonbxwSgEvFeChE5vTMborHp2Y81nX+Duyv6zhmHduPvhCByDWoioupS9C6AzHkAlYp3AIjIaclmCw58+huOr96mqfOqGYCIeY/Cv3FNyLKsQ3RERM5LCgmD+ezP1mNOBK5cTACIyCnlpmVhx8zluPb3v5q60LAm6DN7DIy+njpERkREmonACQehyGYIIruulYGtSEROJ+VcLKKmLUX65euauhYP9EbYs0MhGiQdIiMiIgAQi04ENmdDTjoOqUZbfQJyMEwAiMipXPrrKHbO/hamrFxVuWiQ0PXl+9Hkrq46RUZERDeI7jUg+DSAknbeWmaJ28cEoJJwEjAROQVFUXD4qz8QNW2ppvPvFuCNOz58ip1/IiIbUnQiMOcBVB7eASAih2fKzsXuuatxYeshTV1gi7roO3ccPIP9qj8wIiIqkRQcBvOp763HTAAqDxMAInJoGbFJiJq2FMmnrmrqGt7ZCd1efRAGo4sOkRER0c1IoeqJwHLCISjmXAgG7slSUUwAiMhhxcWcwbbXv0JuSqaqXBAFdHxyCFqNjIAgcH1/IiJbJAV1UhfIJsiJRyCFhOkTkANhAkBEDunfdbvw9/y1UCzqNfxdvNzQe+Zo1O7WQqfIiIioNAQ3P4h+TSGnnLKWWeL2MQGoBEwAiMihWExm7FuwDqd+2q2p86kXhH7zJsCnXpAOkRERUVmJIZ2LJACcB1AZuAoQETmM7OR0/DHps2I7/7V7tMSgz19g55+IyI4U/bTfErdfp0gcC+8AEJFDSPr3MqKmLUNmXLKmrs3o29F+4kCIEj/zICKyJ0V3BJYTj0AxZUFw8dApIsfABICI7N75Pw9i19zVsOSaVOWS0QXdp41Aw/4ddYqMiIgqQgrqAAgioPx/PpdigSXhEAy1uusal71jAkBEdkuRZcQs3ogjy//U1HkE+yEicjwCm9fRITIiIqoMgqsXxICWkBOPWssscfuYAFQQEwAiskt5mTn4a9a3uLLrmKYuuF1D9HlrLNwDvHWIjIiIKpMU0lmVAMjxnAdQURwQS0R2J+1SAjY+8UGxnf+md3dD/4VPsvNPROQgtBOBuRJQRfEOABHZlat7T2DHG98gLyNbVS5IIjpPuhfNhnXn5l5ERA5EMxE46QSUvHQIrvygp7yYABCRXVAUBcdXbcOBT3+FIiuqOqOfJ/q+ORYhHRvrFB0REVUVsUY7QDQAsvn/JQos8QdgqNNX17jsGYcAEZHNM+easPOtldj/8S+azr9/45oYvHgSO/9ERA5KMLhBDGyrKrPE7dMpGsfAOwBEZNOyElIRNX0pEo9f0tTVi2iHHq89BBd3ow6RERFRdZFCwiEnHLQec0OwiuEdACKyWQlHzmP9xPnFdv7bTxyIPm+OYeefiMgJSCHhqmNOBK4Y3gEgIpt0+re/sffd7yGbLKpyg7sRvWY8jLq92+gUGRERVbeiE4GV1DNQcpIguAXoFJF9YwJARDZFNluw/+NfcGLNDk2dd+1AREQ+Cr9GoTpERkREehEDWwOSEbDkWssscfthqH+HjlHZLw4BIiKbkZuaiT9fWlxs5z80vCkGLZ7Ezj8RkRMSJBdIQR1UZZwIXH68A0BENiH57DVETV2KjKuJmrqWI/qg01N3QTRIOkRGRES2QAwJhyV2r/WYE4HLjwkAEenu4vbD2PnmSpizc1XloouEblOGo/GgziU8koiInIUUEg5ToWNLPCcClxcTACLSjSLLOPzVHzj05SZNnXugD/rOHYeg1vV1iIyIiGyNZiJw+iXImXEQPUN0ish+MQEgIl2YsnKxa+4qXIz6R1MX2LIeIiLHwaOGrw6RERGRLRL9mwMunoAp01pmiY+G2HCIjlHZJ04CJqJql341ERuf+rDYzn+jgeEY8NHT7PwTEZGKIEqQgjupyiyxnAhcHrwDQETVKvbAaWz/z1fITc1SlQuigE7PDEXLB/tAEASdoiMiIlsmhYTDcqVgpTg5nhOBy4MJABFVC0VRcPLHnYj+4CcoFllV5+rtjt6zR6NW5+Y6RUdERPZACtbuCKwoCj84KiMmAERU5Sx5Zvw9/0ec/mWvps63QQgi5j0Knzo1dIiMiIjsiRRaZCJwVhyUjMsQvOvqFJF9YgJARFUqOykd215bhoTD5zV1dXq2Qs8Zo+Dq6Vb9gRERkd0RfBsDrr5AXqq1zBIXDZEJQJlwEjARVZnEE5ewfuL8Yjv/bcf2R0TkeHb+iYio1ARBgBRSdBgQJwKXFe8AEFGVOPf7AeyetxqWPLOqXHJzRc/pD6H+be11ioyIiOyZFBIOy6U/rcfcEbjsmAAQUaWSLTJiPluPoyu2auo8Q/0RETkeAU1r6xAZERE5Au0dAE4ELismAERUafLSs7Fj1je4uueEpi6kQ2P0eXMM3Py9dIiMiIgcRdEdgZGbDCX1LAS/xvoEZIeYABBRpUi9GI+oqUuQdjFBU9dsWA90njQMokHSITIiInIkgnddCO5BULIL/t5Y4qIhMgEoNU4CJqIKu7L7ODY8tlDT+RckEV1ffgBdX76fnX8iIqoUnAhccbwDQETlpigKjq3YigOL1gOKoqoz+nmh75yxCGnfSKfoiIjIUYkh4cD5DdZjTgQuGyYARFQu5pw87J73Hc7/cVBTF9CsNiLmjodnqL8OkRERkaPT3AGI3w9FkSEIHNxSGkwAiKjMMuOSETVtGZL+vaypq397B/SYNgIGN1cdIiMiImdQNAGAKQNy8klIAS31CcjOMAEgojKJ/+cctr22DDnJGeoKQUCHxwehzSO3cSk2IiKqUqJnTQhetaFkXLGWWeKimQCUEu+TEFGpnfplDzY//6mm8+/iYUS/eY+i7ejb2fknIqJqIQWr7wLIcdE6RWJ/eAeAiG5JNlsQ/cFPOPnjTk2dd50a6DfvUfg2CNEhMiIiclZSaDjMZ3+yHluYAJQaEwAiuqmclAxs/8/XiDt4RlNXq0tz9Jr5CIw+HjpERkREzqzoHQBL/EEoshmCyO7trbCFiKhEyaevYuu0pci8lqSpazUyAh2fHAJR4khCIiKqfmJImLrAkgM58SikoPb6BGRHmAAQUbEuRP2DnW+thCUnT1UuuhrQ/dUH0WhAWAmPJCIiqnqiew0IPg2hpJ2zllniopkAlAI/uiMiFUWWcejLjdj++leazr97DR8M+PgZdv6JiMgmaHcE5jyA0uAdACKyMmXlYOebK3FpxxFNXVCb+ujz1jh41PDRITIiIiItKSQc5lNrrMdMAEqHCQARAQDSr1zH1qlLkXouVlPXeEgXdH3pfkiu/JVBRES2o+gdAPn6P1DMuRAMRp0isg/8a05EuBb9L7bPWI68tCxVuSCJCHv2brR4oBfX9yciIpsjBXdSF8gmyNf/gRTaWZ+A7AQTACInpigKTqzZgf0f/wLFIqvqXH080Gf2aNQMb6ZTdERERDcnGH0h+jeHnHzSWmaJi2YCcAtMAIiclCXPjL3vfo8z6/dp6nwbhqLfvEfhXTtQh8iIiIhKTwoJVycA8ZwHcCu6rgK0fft2DB06FLVq1YIgCFi3bt0tHxMVFYVOnTrBaDSiSZMmWLZsWZXHSeRosq6n4ffnPim281+3dxsM+uw5dv6JiMguiFwJqMx0TQAyMzPRvn17fPzxx6U6/9y5cxgyZAj69euHmJgYTJo0CRMnTsSmTZuqOFIix3H9+EWsnzgf149e0NS1G38n+s4ZCxcPNx0iIyIiKjvNRODEo1BMWSWcTYDOQ4AGDRqEQYMGlfr8RYsWoWHDhnjvvfcAAC1btsRff/2F+fPnY8CAAVUVJpHDOLtpP/a+8z3kPLOq3ODuih6vjUT9iHY6RUZERFQ+UlAHQBAB5f9z2RQZloSDMNTqqWtctsyu5gDs3r0b/fv3V5UNGDAAkyZNKvExubm5yM3NtR6npaUBAGRZhizLJT2sysiyDEVRdLm2vWPblZ85z4STX23FxV+0t0U9Q/3RN3Ic/BvXYtuWgO+98mPblR/brvzYdhVjd+0nuUMMaA058bC1yBy7D2Jo92oPRe+2K+117SoBiI2NRUhIiKosJCQEaWlpyM7Ohru7u+YxkZGRmDVrlqY8ISEBOTk5VRZrSWRZRmpqKhRFgShyI+ayYNuVjykjB//M/xlJh7RDfvzb1EO7yUNh8jYgPj5eh+jsA9975ce2Kz+2Xfmx7SrGHtvP1acVDIUSgKwLO5FS66Fqj0PvtktPTy/VeXaVAJTHtGnTMHnyZOtxWloa6tati6CgIPj4VP+OprIsQxAEBAUF2c0/KlvBtiu71PNx2PPaSqRfua6pa3ZfT4Q9OxSiQdIhMvvC9175se3Kj21Xfmy7irHH9jPV743cc6utxy5pR+AXHFztcejddm5upZvDZ1cJQGhoKOLi4lRlcXFx8PHxKfbTfwAwGo0wGrW7wYmiqNubWhAEXa9vz9h2pXd55zH8NesbmLJyVeWiQUKXl+5D06HddIrMPvG9V35su/Jj25Uf265i7K39DKGdUfivnZJ8EoIpA4Kx+j/s1bPtSntNu0oAunfvjvXr16vKNm/ejO7dq3+MF5GtUhQFR5b/iZjFGwFFUdW5BXih75xxCG7bUKfoiIiIKp9Yox0gugCyyVpmid8PQ91+OkZlu3RN6zIyMhATE4OYmBgA+ct8xsTE4OLFiwDyh++MGTPGev6TTz6Js2fPYsqUKThx4gQ++eQTfPfdd3jxxRf1CJ/I5piyc7Fj5jeI+XyDpvPv3SgEAz97gZ1/IiJyOILBmJ8EFML9AEqm6x2A6Oho9OtXkJndGKs/duxYLFu2DNeuXbMmAwDQsGFD/Pbbb3jxxRexcOFC1KlTB1988QWXACUCkBmbjK3TliD51FVNXYP+HdFofF94hvhVf2BERETVQAoJgxy/33psidt/k7Odm64JQEREBJQin1IWVtwuvxERETh48GAVRkVkf+JizmDb618jNyVDXSEI6PTUELQY0QcJCQn6BEdERFQNpJDOMB3+3HpsidPudk/57GoOABFp/btuF/6evxaKRb32r4uXG3q/8Qhqd29pP2s5ExERlVPRHYGVtHOQsxMhugfqFJHtYgJAZKcsJjOiF67Dv+t2a+p86gUhYt6j8K1X/UugERER6UEMaAVIboClYJ8nOS4aYgMOFS/KPtZ2IiKV7OR0/PHiZ8V2/mt3b4lBn7/Azj8RETkVQXKBFNxRVWaJ50Tg4vAOAJGdSTp1BVFTlyIzLllT13pUP3R4fDBEibk9ERE5HykkDJZrBR+OcSJw8ZgAENmR83/GYNfcVbDkmlTlkqsB3aeNQMM7OukUGRERkf7EkM6qY04ELh4TACI7oMgyYr7YhCNf/6Gp8wj2RcTc8QhsUVeHyIiIiGyHZiJwxhXImdcgetbUKSLbxASAyMblZeZg5+xvcXnnMU1dUNsG6DtnHNwDvHWIjIiIyLaIfs0AFy/AVLAstiUuGmKjoTpGZXs4UJjIhqVdSsDGJz4otvPfZGg33PHBU+z8ExER/Z8gSpCCw1Rl3BFYi3cAiGzU1b9PYseM5cjLyFaVC5KIzs/fg2b39YQgCDpFR0REZJukkDBYrmyzHsucCKzBBIDIxiiKguOrt+PAJ79AkdU7ZRt9PdDnzbEI7dREp+iIiIhsm1TMRGBFUfihWSFMAIhsiCXXhD3vfI+zG7W3K/0b10TEvEfhVTNAh8iIiIjsg2YicHYClPRLEHzq6RSR7WECQGQjshJSETV9KRKPX9LU1Ytohx7TH4KLh1GHyIiIiOyH4NsIMPoDuQX75VjioyEyAbDiJGAiG5Bw5ALWT1xQbOe//cSB6DN7NDv/REREpSAIguYugCWW+wEUxjsARDo7s/5v7Hnne8gmi6rc4G5ErxkPo27vNjpFRkREZJ+kkDBYLm62HlviORG4MCYARDqRzRbs//gXnFizQ1PnVSsQEfPGw78RNy4hIiIqK80dgLhoTgQuhAkAkQ5y07KwfcbXiI0+pakLDW+KPrPHwOjjoUNkRERE9q/oSkDITYGSegaCH1fRA5gAEFW7lLOx2Dp1CTKuJmrqWjzYB2FP3wXRIOkQGRERkWMQvOpA8AiGkhVvLbPERUNkAgCAk4CJqtWlHUew4YkPNJ1/0UVC92kj0Pn5e9j5JyIiqqD8icDa/QAoH+8AEFUDRVFw+Ks/cOiLjZo690Bv9J0zHkFt6usQGRERkWMSg8OAc79Zjy3cEdiKCQBRFTNl5WLX3FW4GPWPpi6wZV1EzB0PjyBfHSIjIiJyXJqJwPH7ocgWCCLvtDMBIKpCGdeSEDV1CZLPXNPUNRoQhm5ThkMyuugQGRERkWMrmgDAlAk5+SSkwFb6BGRDOAeAqIIEQbB+eXh4oGXLlvj0008Re+A01k+cr+n8C6KAsGfvRo/XR7LzT0REVEVEz1AIXnVUZZa4aJ2isS28A0BUSb7++mukpqbi9ddfxw+zP4N3s7NQLLLqHFcvd/Se9QhqdW2hU5RERETOQwrpDHPGZeuxJW4f0GqMjhHZBiYARJXktttuQ1pKKk41vA3hng01nX/fBiGIiBwPn7pBOkVIRETkXKSQMJjPrLUey5wIDIAJAFGladWwGZ5vMRThPg01dXV6tkLPGaPg6ummQ2RERETOSTMROCEGisUEQXLuIbhMAIgqQQPPYLzVewLk9FxNXZvRt6PDYwMhiJxyQ0REVJ00E4EtOZATj0IK7qBLPLaCCQBRBXWr0RwTmwzQdP4tgoKImaPR4PaOOkVGRETk3AS3AAi+jaCknrWWWeKjnT4B4EeSROUkW2QcWPQbnm4+BK6SOpe+npOG6z392fknIiLSmWZH4FjuCMwEgKgc8jKyETV1CY5+s0VTdy4nHuc7ueK5WVN0iIyIiIgKk0LCVMeWeE4E5hAgojJKu5iArVO/RNrFBE1ds2Hd8fALwyC58J8WERGRLZCC1fMA5Ov/QDHnQDA478Ic7KUQlcGV3cexY9Y3MGXkqMoFSUSXF+9Fs2E9dIqMiIiIiiMFdwIgAFDyC2Qz5Ov/QArtomdYumICQFQKiqLg2MooHPj0N0BRVHVGPy/0fWsMQjo01ik6IiIiKolg9IHo3xxy8glrmSUumgkAEWmdOHIe21dEIS82GZ4pGTDEp2jO8W9aCxGR4+EVGlD9ARIREVGpSKGdNQmAM2MCQFSMNZ+tR9byP2EUADcl/8ZhUfVva4/u00bAxd1Y7fERERFR6YnBYcDx5dZjJgBEpHLiyHlkLf8zf4kspfhzOjwxGG0euQ2CUFxqQERERLak6IZgctIxKKZMCC6eOkWkLy4DSlTE9hVRJdYpAHJb10fb0bez809ERGQnpKAOgCAVFCgyLPEHdYtHb0wAiIrIik0usU4BkG2Rqy8YIiIiqjDBxQNiYGtVmTMPA2ICQFRIclYuLglC8YP+AUAAjMF+1RkSERERVYKiw4CYABARMnJNeHr1X4iuGQgo2uH/yv//0/fhfjpER0RERBWhmQcQzwSAyKllm8x4fs1OHItNRoqnOza1awwFgCwA8v//rwDwGN0fzdvU1zlaIiIiKitNApD8L5ScFH2C0RlXASKnZ7LIePnHPdh/6bq17GjdYGTXqYH+KemQk9JhDPZD34f7sfNPRERkp8TAtoDkCljyrGWWhAMw1L1Nx6j0wQSAnJpFVvDaL3/jr7OxqvJATyMWPBKB+gHeOkVGRERElUkwGCHWaAe50Nh/S1y0UyYAHAJETktRFLy18QA2Hb+sKvd2c8Gih3qz809ERORgOBE4HxMAckqKouD9Lf/gx0PnVOXuLhI+Ht4LzbjSDxERkcNhApCPCQA5pcW7TuDrv0+pylwkEQvu74H2dQJ1ioqIiIiqkhSsTgCUtPOQs6+XcLbjYgJATmdF9Gl8vP2oqkwSBLw9rCu6NQzRKSoiIiKqamJgK8DgriqTnfAuABMAciq/HL6A/26O0ZTPGhKO25rVrv6AiIiIqNoIogFSUEdVmTMOA2ICQE7jz5NXMOO3fZryqXd0wNC2XN6TiIjIGUghYapjJgBEDmr3uTi8+tNeyEW29322T2uMDG+iT1BERERU7cSQzqpjJgBEDijm8nVM+mEXTBZZVT6uazNM7NFCp6iIiIhID0VXAlIyr0LOuKpTNPpgAkAO7WRcCp79bidyTBZV+f0dGmJSv7YQBEGnyIiIiEgPon8zwFW914+z3QVgAkAO63xiOp5ctQPpuSZV+cCWdfHagE7s/BMRETkhQRAhBReZBxDPBIDI7l1LzcITq7YjKStXVd67cSjeGtoZksjOPxERkbPSTASOZQJAZNcSM3PwxKrtiE3LVpWH16uBd+/tDheJb3siIiJnJhWZCCzHR0NRlBLOdjzsCZFDScvOw1OrduBCUoaqvHWoPxY+0BNuLpJOkREREZGt0EwEzr4OJf2iTtFUPyYA5DCy8sx4ds1fOBmfqipvVMMHn4zoBS+ji06RERERkS0RfBpCcAtQlVnitHsFOSomAOQQ8swWvPjDLhy6kqQqr+3nic8e6g0/D6NOkREREZGtEQQBYrD6LoAzrQTEBIDsnlmW8epPe7HnfLyqPMjLDZ8/1BvB3u46RUZERES2ypl3BGYCQHZNVhTMWr8fW/5Vb+Dh5+6KRQ/1Rh1/L50iIyIiIltWdCKwJW4/FEUu4WzHwgSA7JaiKHh78yH8fPiCqtzT1YBPRvRCkyBfnSIjIiIiW1d0IjDyUiGnnNEnmGrGBIDs1ic7jmHl/tOqMqNBxAfDe6J1zYASHkVEREQECF61IXiEqspkJ5kIzASA7NJXe//F5zuPq8oMooB37+2O8HpBOkVFRERE9kIQBM1dAGeZB8AEgOzOj4fO4f0t/6jKBABvDe2CPk1q6hMUERER2R1nnQhs0DsAorKIOpuAedtOaspfH9gJg1rV1SEiIiIisldi0YnA8QegyBYIomNvHMo7AGQ3dpyJxdvb/0XRjbon39YWD3RspEtMREREZL80E4HNWZCTT+gTTDViAkB2Yf/FBLyybg8sirr7/1iPFhjbtblOUREREZE9Ez2CIXjXU5VZYh1/IjATALJ5x64l47k1O5FrVq/N+1BYYzzTp7VOUREREZEj0EwEjnf8eQBMAMimnbmehqdW70BmnllVflebenj1jg4QBEGnyIiIiMgRSMFFJgLHMgGoFh9//DEaNGgANzc3dO3aFX///XeJ5y5btgyCIKi+3NzcqjFaqi6XUzLxxMrtSMnOU5X3a1oTs4aEQ2Tnn4iIiCpIClVPBJavH4JiySvhbMegewKwevVqTJ48GW+88QYOHDiA9u3bY8CAAYiPjy/xMT4+Prh27Zr168KFCyWeS/YpPj0bT6zcjoSMHFV5x1p+mHd3FxhE3d+6RERE5ACK3gGAJRdy4lF9gqkmuvei3n//fTz22GMYP348WrVqhUWLFsHDwwNLliwp8TGCICA0NNT6FRISUo0RU1VLycrFk6t24HJKpqq8Xa0AvHFbS7gaHHtpLiIiIqo+gps/RL8mqjKLg+8IrOs+AHl5edi/fz+mTZtmLRNFEf3798fu3btLfFxGRgbq168PWZbRqVMnzJ07F61bFz8ZNDc3F7m5udbjtLQ0AIAsy5BludjHVCVZlqEoii7XtgeZuSY8/d1fOHM9TVXeNMgXC+/vhtz0VLZdOfB9VzFsv/Jj25Uf26782HYV44ztJwaHQU45bT02x0bD0HpimZ9H77Yr7XV1TQCuX78Oi8Wi+QQ/JCQEJ04UvwZr8+bNsWTJErRr1w6pqal499130aNHDxw9ehR16tTRnB8ZGYlZs2ZpyhMSEpCTk6Mpr2qyLCM1NRWKokDkMBaVXLMFr28+hqOxqary2j5uePP25shJS2HblRPfdxXD9is/tl35se3Kj21XMc7YfgaP5nAtdJx3ZTfSbjIcvSR6t116enqpzrO7nYC7d++O7t27W4979OiBli1b4rPPPsObb76pOX/atGmYPHmy9TgtLQ1169ZFUFAQfHx8qiXmwmRZhiAICAoKcpp/VKVhssh4ee0e/FOk8x/q7Y7Fo/qipo8H264C2HYVw/YrP7Zd+bHtyo9tVzHO2H4WUwSyY2Zbj8W0kwgK8IZgcC/T8+jddqVdGEfXBKBGjRqQJAlxcXGq8ri4OISGhpbqOVxcXNCxY0ecPn262Hqj0Qij0agpF0VRtze1IAi6Xt/WWGQFb6zfj+1nYlXl/h5GfDayD2r7eVnL2Hblx7arGLZf+bHtyo9tV35su4pxtvYTQsIACAD+v+GobIaSeARSza5lfy4d266019T1p+rq6oqwsDD8+eef1jJZlvHnn3+qPuW/GYvFgsOHD6NmzZpVFSZVIUVREPn7QWw4dklV7m10waKHeqNBoLdOkREREZGzEFy9IQa0VJXJDjwRWPchQJMnT8bYsWMRHh6OLl26YMGCBcjMzMT48eMBAGPGjEHt2rURGRkJAJg9eza6deuGJk2aICUlBe+88w4uXLiAiRPLPlGD9Lcw6gjWHDyrKnNzkfDhgz3RIsRPn6CIiIjI6Ugh4ZCTjlmPLXH7dYymaumeAIwYMQIJCQmYMWMGYmNj0aFDB2zcuNE6MfjixYuq2xnJycl47LHHEBsbC39/f4SFhWHXrl1o1aqVXi+ByunLXSewdM9JVZmLJGL+fd3RsU4NnaIiIiIiZySFhMF0/GvrsSXecXcE1j0BAIBnn30Wzz77bLF1UVFRquP58+dj/vz51RAVVaXV+8/gg21HVGWiAMy7pyt6NCrd/A8iIiKiyiKGFNkROOk4lLwMCK5eJTzCfjnHzA6yKb8euYC5vx/UlM8cHI7+zWvrEBERERE5OymoPSAU2mxUkWFJ0PZXHAETAKpWW/+9ihm/am+pTenfHve0a1D9AREREREBEAzuEAPbqMocdUdgJgBUbfaej8Mr6/bAoiiq8qd7t8Kozk11ioqIiIgonxQarjp21InATACoWvxzJREvfL8LJot6i+rRXZri8Z4tS3gUERERUfWRgtUJgBznmBOBmQBQlfs3PgVPf/cXsk0WVfm97RvgpdvaQRAEnSIjIiIiKiCFFpkInHIKSk6KPsFUISYAVKUuJmXgyVU7kJ5jUpXf2aIO/jMwjJ1/IiIishliYBtAclWVWeIdbxgQEwCqMrFpWXhi1XYkZuaqyns1CsXcu7tAEtn5JyIiItshSK4Qa7RXlTniRGAmAFQlkrJy8cTKHbiamqUq71S3Bt69rxtcJL71iIiIyPZIIY4/EZi9MKp0aTl5eGrVDpxPSleVtwz1wwcP9IS7i03sP0dERESkoU0AHG8iMBMAqlTZJjOeW7MTJ+JSVOWNAr3x6Yje8HZz0ScwIiIiolKQiuwIrKRfgJyVoFM0VYMJAFUak0XG5B92I+Zyoqq8lq8HFo3sA38Po06REREREZWOGNACMHioyhztLgATAKoUZlnGtJ/3Yte5OFV5DU83fPZQH4R4u+sUGREREVHpCaIBUnBHVZnsYBOBmQBQhcmKgtkbDmDziSuqch83Fywa2Rv1Arx0ioyIiIio7DTzABxsKVAmAFQhiqLgvT8P4ad/zqvKPVwN+GREbzQN8tUnMCIiIqJycvSJwEwAqEI+++s4vtl3WlXmKolY+EAPtK0VoFNUREREROUnFp0InHkNcsaVEs62P0wAqNy++fsUPv3rmKpMEgS8c283dKkfrFNURERERBUj+jUBXH1UZY50F4AJAJXL2kPn8M6fh1RlAoC3hnZGRNNa+gRFREREVAkEQYQUHKYqc6QdgZkAUJltPnEZszdoJ8NMH9ARg1vX0yEiIiIiosrlyDsCMwGgMtl5JhZTf9oLWVGXvxDRBg92aqxPUERERESVrGgCIMdFQ1GUEs62L0wAqNQOXLqOyT/uhrlI739C9+Z4tHsLnaIiIiIiqnyaHYFzEqGkndcnmErGBIBK5XhsMp5b8xdyzBZV+YMdG+G5vm10ioqIiIioagg+9SG4BarKHGUiMBMAuqVziWl4atUOZOSaVeWDW9fDtAEdIQiCTpERERERVQ1BECBq5gE4xkRgJgB0U1dSMvH4yh1Izs5TlUc0rYnZQ8IhsvNPREREDspRJwIzAaASXc/IwZOr/tfevUdXVZ55HP+dc3I5EEgw5gYSQEUjChIChiZqsTWVVtox06kobS21tl4mrMKwSgedLlPGmcZOW8RBKnS6kDV0teFiwRHwElGIEiiYiwZEBlEBi7kVSiK3wNnv/OEQu5OTQE4u+5yzv5+1shZ5zruT5zy87PU+7P2e/boaWk7Z4rkjU/UfhZ9TrI/pAwAAoleHBqChUsZYDmXTe1jBIajjp1r1QGm5Dh37xBYfNyxZi/4hX/ExPocyAwAA6B/tNwKrtVnWsf3OJNOLaADQwcnWcypa/Ybea2y2xUenJmrJ9JuUEB/rUGYAAAD9xztomDwJQ20xqyHyNwLTAMDmzLmAZq/dptojR23xzCEJWnr3zUoaEOdQZgAAAP2vw21AdZG/EZgGAG3OBiz98/o/aefBRls8bfAALZvxeaUOGuBQZgAAAM4Itg8g0tEAQJJkGaPijW/qtf1HbPFLBsTpNzNu1mVDEhzKDAAAwDnetPYNQLWMda6T0ZGBBgAyxujxl2u0cc8hW3xQfIyevvtmXX5pokOZAQAAOKv9FQCdOynr6F5nkuklNADQU+V7tKrqgC3mj/Fp8Z03akzGJQ5lBQAA4DzvwFR5Bo+0xSL9icA0AC73zI59+m3Fu7ZYjNejhV/PU05mqkNZAQAAhI+ODwSjAUCEWlP9vha9VmuLeT1Syd9N1o1XZjiUFQAAQHihAUBUeGHPIf37i1Ud4o9+ZaJuGzPcgYwAAADCU/sGwGp6SybQ6lA2PUcD4EJb9h/Rvzy/S6ZdfN6t4/X34y93JCcAAIBw5UubaA8EWmU11QYfHAFoAFxm18EGzVu3QwFjX/4/eNMYfTv3KoeyAgAACF8e/xB5h9jXSZF8GxANgIvUHjmqH66tUGvAssW/NWm0HrzpWoeyAgAACH/eDg8EowFAmNvfeFxFq97QyVb7gyvuuH6UflQwXh6Px6HMAAAAwl+HjcB1NAAIY4ePfaKHSl/X8dP2zSoFWZfp0a/kyMviHwAAoEsdNgL/ZbfMuVMOZdMzNABRrr7llO7/Q7kaPzlti+dfnq6Sv8tVjJcpAAAAcCG+1AmS52/WTSagQEONY/n0BKu/KHbs5Bk9+IdyHTl+0hbPHn6pfvX1PMXF+BzKDAAAILJ44gbJmzzGFrMidB8ADUCUajl9Vv+46g29/5cWWzwrfYgW33mjBsbFOJQZAABAZPKltX8gWKVDmfQMDUAUOnX2nH64dpveqTtmi49KHqyn77pJif44hzIDAACIXL6M9g3ALocy6RkagChzNmDpR3/coarDTbb40MSBWjbjZl2a4HcoMwAAgMjmbXcFwDr6rkxrSyejwxcNQBQJWEaPPL9Tb7xfZ4tfmhCvZTNuVkbiQIcyAwAAiHy+1PGS929vozYKNFQ5lk+oaACihDFG//ZilV7e+5EtPtgfq6V336yRyYMdygwAACA6eGL88l46zhaLxCcC0wBEAWOMFr76tv741ge2+IBYn349/SZdnTbEmcQAAACijC99ou37SNwITAMQBf6r4l399879tlisz6snv5Gv6y+71KGsAAAAoo8v/Qbb95G4EZgGIML9/s33tKR8jy3m83j0i8LPafKodIeyAgAAiE7tnwhsjh+QOX2sk9HhiQYggv3P2x/q52U1HeL/+tVJ+sLVw/o/IQAAgCjnvXSs5Iu3xSJtHwANQIR6Zd+fVbyp42R75LYJ+urYkQ5kBAAAEP08vlj5UrNtMRoA9LntH9Rr/nN/kmXs8R9OGau7Jl7pTFIAAAAu4W2/EbghsjYC0wBEmJqPmjTn2QqdDVi2+Hc/d7W+l5flUFYAAADuEekbgWkAIsi++r9q1uptOn02YIt/Y8IVmnPLOHk8HocyAwAAcI8OG4FbDss6Ue9QNt1HAxAhPvxLix4sfV0tZ87a4l+5NlOP3DaBxT8AAEA/8V5yjRSbYIsFGiJnHwANQAT4+PhJPVBarqMnz9jinx89VI999Qb5vCz+AQAA+ovH65MvLccWsyJoIzANQJj7y4nTuv8P5aprPmWLTxqRql8Ufk6xPv4KAQAA+psvLXKfCMzqMYw1n2rVQ6Wv69CxT2zx64Zeov/8Rr78sT6HMgMAAHC3YBuBjTGdjA4vNABhau/+95TzT7/QvobjtviVKYn69fSblBAf61BmAAAA8LbfCHyyXuaTP1/wOI/HI4/Ho5iYGCUlJWnChAn66U9/qlOnTl3w2N5CAxCGWs8F9MPVbyhhpP1jPYcPSdDSu2/WkIHxnRwJAACA/uAdcqUUl2SLWd3YCLx8+XIVFxfr3LlzWrBggQoKCnTu3LneTjMoGoAwc86y9M/P/UkN3kG2uN+c1bIZn1fa4AEOZQYAAIDzPB5vh48D7c4TgadPn665c+dq165duuKKK1RRUaHVq1f3dppB0QCEEcsY/XRjpV793yO2+LkTzTr6x8UaPiShkyMBAADQ33ztnghshfBEYL/fr9tvv12StG3btl7J60JoAMKEMUb/UfaWnt990BYfEOPV4KoNeq9yu8rLyx3KDgAAAO112AjcUCmFsBH4/Obh/nquEw1AmPj16+/oD5Xv2WLW2Vbt/vVP9KcX1kmSVqxY4UBmAAAACKb9LUA6fVSeE4e69TNOnjypjRs3SpLy8/N7K7UuxfTLb3GhQ4cOqampqUPcsiwdPXpUycnJ8no/7b+erz2o3+3aL0mKSRisuCGpkmXpniv8uvqJn8kYo29+85tas2aNFi9erIQEbgUCAABwyvl1njFGJxuTZE7/te21sxXPK+mvvrZ13t9KSUlp+/OaNWvU2Nio5cuX68MPP1R+fr6mT5/eH+nTAPSFQ4cOKSsrS6dPn+72sZ6YWF09Z5G+PW6ofvztv2+LFxQUaMOGDVq7dq1mzpzZm+kCAADgIl14nffv///Vkd/vb/vzd7/7XSUkJGjUqFF69NFHNX/+fMXE9M/SnAagDzQ1NYW0+Jckc+6svp+TqR/N+Jot/vzzz/dGagAAAOiBnqzzTp8+rcrKSuXk5PRyVt3DHoAw9MWsy5xOAQAAAFEqLBqAJUuWaNSoUfL7/Zo8ebJ27tzZ5fg1a9bommuukd/v17hx47Rp06Z+yhQAAACIbI43AKtWrdLcuXNVXFysqqoqjR8/XlOnTlVDQ0PQ8RUVFZoxY4buu+8+VVdXq7CwUIWFhdq9e3c/Zw4AAABEHscbgIULF+oHP/iB7r33Xl177bVaunSpBg4cqOXLlwcd/+STT+rLX/6y5s2bpzFjxuixxx5TTk6OnnrqqX7OHAAAAIg8jm4Cbm1tVWVlpR5++OG2mNfrVUFBgbZv3x70mO3bt2vu3Lm22NSpU7V+/fqg48+cOaMzZ860fd/c3Czp04/jtCyrh+8guJ7+3L7MLZJZliVjDLUJAbXrGeoXOmoXOmoXOmrXM9Sva+G8zrvYn+toA9DU1KRAIKD09HRbPD09Xe+++27QY+rq6oKOr6urCzq+pKRECxYs6BBvbGwMeQf3hRw9erTHx3d2C5SbWZal48ePyxgT9LN10Tlq1zPUL3TULnTULnTUrmeoX9fCeZ3X0tJyUeOi/mNAH374YdsVg+bmZmVmZio1NVWJiYl98juTk5N7fHxaWlovZRM9LMuSx+NRamoqJ6RuonY9Q/1CR+1CR+1CR+16hvp1LZzXeX/7nIGuONoApKSkyOfzqb6+3havr69XRkZG0GMyMjK6NT4+Pl7x8fEd4l6vt88mdU9/bl/mFuk8Hg/1CRG16xnqFzpqFzpqFzpq1zPUr3PhvM672J/r6N9qXFycJk6cqM2bN7fFLMvS5s2blZeXF/SYvLw823hJKisr63Q8AAAAgM84fgvQ3LlzNXPmTE2aNEm5ublatGiRTpw4oXvvvVeS9J3vfEeXXXaZSkpKJEmzZ8/WlClT9Ktf/UrTpk1TaWmp3nzzTf3mN79x8m0AAAAAEcHxBuCuu+5SY2OjHn30UdXV1Sk7O1svvvhi20bfQ4cO2S5n5Ofn6/e//71+8pOf6JFHHtFVV12l9evXa+zYsU69BQAAACBiON4ASNKsWbM0a9asoK9t2bKlQ+zOO+/UnXfe2cdZAQAAANGHnR19ICUl5aJ3Ybfn9/uVkpLSyxkBAACgN0TDOi8srgBEmxEjRmjfvn1qamrq8JplWTp69KiSk5OD7tROSUnRiBEj+iNNAAAAdFM0rPNoAPrIiBEjgv4FW5alhoYGpaWl8dFaAAAAESjS13nhmxkAAACAXkcDAAAAALgIDQAAAADgIjQAAAAAgIvQAAAAAAAuQgMAAAAAuAgNAAAAAOAiNAAAAACAi9AAAAAAAC5CAwAAAAC4CA0AAAAA4CI0AAAAAICL0AAAAAAALhLjdAL9zRgjSWpubnbk91uWpZaWFvn9fnm99F/dQe1CR+16hvqFjtqFjtqFjtr1DPULndO1O7++Pb/e7YzrGoCWlhZJUmZmpsOZAAAAAL2vpaVFSUlJnb7uMRdqEaKMZVk6cuSIBg8eLI/H0++/v7m5WZmZmTp8+LASExP7/fdHMmoXOmrXM9QvdNQudNQudNSuZ6hf6JyunTFGLS0tGjZsWJdXIFx3BcDr9Wr48OFOp6HExET+UYWI2oWO2vUM9QsdtQsdtQsdtesZ6hc6J2vX1f/8n8eNXQAAAICL0AAAAAAALkID0M/i4+NVXFys+Ph4p1OJONQudNSuZ6hf6Khd6Khd6Khdz1C/0EVK7Vy3CRgAAABwM64AAAAAAC5CAwAAAAC4CA0AAAAA4CI0AAAAAICL0AD0gSVLlmjUqFHy+/2aPHmydu7c2eX4NWvW6JprrpHf79e4ceO0adOmfso0/HSnditWrJDH47F9+f3+fsw2fJSXl+trX/uahg0bJo/Ho/Xr11/wmC1btignJ0fx8fEaPXq0VqxY0ed5hqPu1m7Lli0d5p3H41FdXV3/JBxGSkpKdMMNN2jw4MFKS0tTYWGh9u3bd8HjOOeFVjvOeZ96+umndf3117c9aCkvL08vvPBCl8cw5z7T3fox7zr3+OOPy+PxaM6cOV2OC8f5RwPQy1atWqW5c+equLhYVVVVGj9+vKZOnaqGhoag4ysqKjRjxgzdd999qq6uVmFhoQoLC7V79+5+ztx53a2d9OmT9j7++OO2r4MHD/ZjxuHjxIkTGj9+vJYsWXJR4z/44ANNmzZNX/jCF1RTU6M5c+bo+9//vl566aU+zjT8dLd25+3bt88299LS0voow/C1detWFRUVaceOHSorK9PZs2d122236cSJE50ewznvU6HUTuKcJ0nDhw/X448/rsrKSr355pv64he/qDvuuEN79uwJOp45Z9fd+knMu2B27dqlZcuW6frrr+9yXNjOP4NelZuba4qKitq+DwQCZtiwYaakpCTo+OnTp5tp06bZYpMnTzYPPPBAn+YZjrpbu2eeecYkJSX1U3aRQ5JZt25dl2N+/OMfm+uuu84Wu+uuu8zUqVP7MLPwdzG1e+2114wkc+zYsX7JKZI0NDQYSWbr1q2djuGcF9zF1I5zXucuueQS89vf/jboa8y5C+uqfsy7jlpaWsxVV11lysrKzJQpU8zs2bM7HRuu848rAL2otbVVlZWVKigoaIt5vV4VFBRo+/btQY/Zvn27bbwkTZ06tdPx0SqU2knSJ598opEjRyozM/OC/4OBzzDvei47O1tDhw7Vl770JW3bts3pdMLC8ePHJUnJycmdjmHuBXcxtZM457UXCARUWlqqEydOKC8vL+gY5lznLqZ+EvOuvaKiIk2bNq3DvAomXOcfDUAvampqUiAQUHp6ui2enp7e6f3BdXV13RofrUKpXVZWlpYvX67nnntOv/vd72RZlvLz8/XRRx/1R8oRrbN519zcrFOnTjmUVWQYOnSoli5dqmeffVbPPvusMjMzdcstt6iqqsrp1BxlWZbmzJmjG2+8UWPHju10HOe8ji62dpzzPlNbW6tBgwYpPj5eDz74oNatW6drr7026FjmXEfdqR/zzq60tFRVVVUqKSm5qPHhOv9iHP3tQA/k5eXZ/sciPz9fY8aM0bJly/TYY485mBmiWVZWlrKystq+z8/P14EDB/TEE09o5cqVDmbmrKKiIu3evVtvvPGG06lEnIutHee8z2RlZammpkbHjx/X2rVrNXPmTG3durXTRSzsulM/5t1nDh8+rNmzZ6usrCziN0LTAPSilJQU+Xw+1dfX2+L19fXKyMgIekxGRka3xkerUGrXXmxsrCZMmKD33nuvL1KMKp3Nu8TERA0YMMChrCJXbm6uqxe+s2bN0oYNG1ReXq7hw4d3OZZznl13ateem895cXFxGj16tCRp4sSJ2rVrl5588kktW7asw1jmXEfdqV97bp53lZWVamhoUE5OTlssEAiovLxcTz31lM6cOSOfz2c7JlznH7cA9aK4uDhNnDhRmzdvbotZlqXNmzd3em9dXl6ebbwklZWVdXkvXjQKpXbtBQIB1dbWaujQoX2VZtRg3vWumpoaV847Y4xmzZqldevW6dVXX9Xll19+wWOYe58KpXbtcc77jGVZOnPmTNDXmHMX1lX92nPzvLv11ltVW1urmpqatq9JkybpW9/6lmpqajos/qUwnn+ObkGOQqWlpSY+Pt6sWLHCvPPOO+b+++83Q4YMMXV1dcYYY+655x4zf/78tvHbtm0zMTEx5pe//KXZu3evKS4uNrGxsaa2ttapt+CY7tZuwYIF5qWXXjIHDhwwlZWV5u677zZ+v9/s2bPHqbfgmJaWFlNdXW2qq6uNJLNw4UJTXV1tDh48aIwxZv78+eaee+5pG//++++bgQMHmnnz5pm9e/eaJUuWGJ/PZ1588UWn3oJjulu7J554wqxfv97s37/f1NbWmtmzZxuv12teeeUVp96CYx566CGTlJRktmzZYj7++OO2r5MnT7aN4ZwXXCi145z3qfnz55utW7eaDz74wLz99ttm/vz5xuPxmJdfftkYw5y7kO7Wj3nXtfafAhQp848GoA8sXrzYjBgxwsTFxZnc3FyzY8eOttemTJliZs6caRu/evVqc/XVV5u4uDhz3XXXmY0bN/ZzxuGjO7WbM2dO29j09HRz++23m6qqKgeydt75j6Zs/3W+XjNnzjRTpkzpcEx2draJi4szV1xxhXnmmWf6Pe9w0N3a/fznPzdXXnml8fv9Jjk52dxyyy3m1VdfdSZ5hwWrmyTbXOKcF1woteOc96nvfe97ZuTIkSYuLs6kpqaaW2+9tW3xagxz7kK6Wz/mXdfaNwCRMv88xhjTf9cbAAAAADiJPQAAAACAi9AAAAAAAC5CAwAAAAC4CA0AAAAA4CI0AAAAAICL0AAAAAAALkIDAAAAALgIDQAAAADgIjQAAAAAgIvQAAAAAAAuQgMAAOhVjY2NysjI0M9+9rO2WEVFheLi4rR582YHMwMASJLHGGOcTgIAEF02bdqkwsJCVVRUKCsrS9nZ2brjjju0cOFCp1MDANejAQAA9ImioiK98sormjRpkmpra7Vr1y7Fx8c7nRYAuB4NAACgT5w6dUpjx47V4cOHVVlZqXHjxjmdEgBA7AEAAPSRAwcO6MiRI7IsSx9++KHT6QAA/h9XAAAAva61tVW5ubnKzs5WVlaWFi1apNraWqWlpTmdGgC4Hg0AAKDXzZs3T2vXrtVbb72lQYMGacqUKUpKStKGDRucTg0AXI9bgAAAvWrLli1atGiRVq5cqcTERHm9Xq1cuVKvv/66nn76aafTAwDX4woAAAAA4CJcAQAAAABchAYAAAAAcBEaAAAAAMBFaAAAAAAAF6EBAAAAAFyEBgAAAABwERoAAAAAwEVoAAAAAAAXoQEAAAAAXIQGAAAAAHARGgAAAADARWgAAAAAABf5P5n/oNUEIyVkAAAAAElFTkSuQmCC", + "image/png": "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Uy1+3V9++aXi5OSkAFBGjBihzJs3T+nfv7/y/vvv6/pa8zJx4kQFgOLm5qa8/fbbytChQ/N9T1tS86pVqxQAiru7u3LlyhWldevWeU4HUhRFef311xUASlBQkEWvhagk8UwAkY4cHR3x119/QZIkJCcnY86cOdi2bRuuXr2KqlWravZ3cXHBs88+i0WLFuHq1avw9vZWfUOVlpaW5/OMGTNGs+3v748jR45g8eLFmDBhQoHqFQQBzz77LP766y8cO3YMzs7OquffvXs3Xn75ZQDA3Llz8eKLLwIAIiMjsWHDBgwZMgQXL15UPWbOb00fZMeOHTh06JD52+H169dj9erVqn3mzp2r+uZclmWsXbsWjo6OaNGiBXr16oU1a9bgl19+wZAhQywan9x1FJfCvh9efvllfPDBB5AkCd98843qdRTkNR08eBAffvghAGD27NmYMmUKACA4OBg3btxQHb9v3z5MnDgRAPD1119j4MCBAIDLly9j06ZNeOyxx3D8+PF8X1v2N6VNmzbV9BV0/CdMmIBHHnnkvmNYvXr1+/YXp4K8tyytecuWLfj5559x9epV/PPPP3BxccH8+fMLvKC5TZs26NatG5ydnfH111/j2rVreO2117BmzZpCT0vZv38/nnvuOSiKgilTpmDBggXmvoiICPOf9XqtOYWHh+OTTz4B7l5AIfssW8uWLTXvaUtqvnz5Mp566ikAwPvvv48qVarc99jmzZsDd38GXrp0qVTfn0QPwhBApKMOHTpAkiQAME+lwd3T4Hl96LNUdHQ0Vq9ejbNnzyI5ORmyLJv77vfBrbB++eUX858feugh85+7d++ODRs24ObNm9i1a5fqF2Fh5oYHBwerPngfOHAAX331lWqfN954QxUCOnfuDEdHRwBAt27dzO1r1641f1Ar7PjkrqO4FOb98P333yM+Ph7Ozs5YsWKFeUpVtoK8pnXr1kFRFODu31G27t274+DBg6rHW7FihfnPq1evxoYNGwAAUVFRAIATJ07g+vXr+V51JTIyEgDg7++v6Svo+Pfq1SvPx9ZLQd5bltbs7++Ppk2bws/PD8eOHcP169cRFhaG1q1bIzg4+L7HLly4ELVq1TJvP/HEE6hXrx5u3LiBp59+GocOHSpULStWrDC/T0aOHKnqK1++vPnPerzW3NavX2+utUuXLub2rl27Ijw8XLN/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", "text/plain": [ "
" ] @@ -151,10 +151,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:00.633992Z", - "iopub.status.busy": "2026-04-14T09:45:00.633878Z", - "iopub.status.idle": "2026-04-14T09:45:00.636753Z", - "shell.execute_reply": "2026-04-14T09:45:00.635866Z" + "iopub.execute_input": "2026-09-18T12:42:12.142601Z", + "iopub.status.busy": "2026-09-18T12:42:12.142508Z", + "iopub.status.idle": "2026-09-18T12:42:12.144807Z", + "shell.execute_reply": "2026-09-18T12:42:12.144581Z" } }, "outputs": [], @@ -181,10 +181,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:00.638249Z", - "iopub.status.busy": "2026-04-14T09:45:00.638154Z", - "iopub.status.idle": "2026-04-14T09:45:01.216221Z", - "shell.execute_reply": "2026-04-14T09:45:01.215676Z" + "iopub.execute_input": "2026-09-18T12:42:12.145828Z", + "iopub.status.busy": "2026-09-18T12:42:12.145743Z", + "iopub.status.idle": "2026-09-18T12:42:12.684440Z", + "shell.execute_reply": "2026-09-18T12:42:12.683795Z" } }, "outputs": [ @@ -192,8 +192,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "DE best score (horizontal stroke): 21.2184\n", - "DE best parameters: [ 3.971 15.9826 14.9902]\n" + "DE best score (horizontal stroke): 29.9981\n", + "DE best parameters: [ 4.0937 15.0322 14.9995]\n" ] } ], @@ -218,16 +218,16 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:01.217509Z", - "iopub.status.busy": "2026-04-14T09:45:01.217415Z", - "iopub.status.idle": "2026-04-14T09:45:01.274024Z", - "shell.execute_reply": "2026-04-14T09:45:01.273281Z" + "iopub.execute_input": "2026-09-18T12:42:12.685397Z", + "iopub.status.busy": "2026-09-18T12:42:12.685307Z", + "iopub.status.idle": "2026-09-18T12:42:12.745954Z", + "shell.execute_reply": "2026-09-18T12:42:12.745604Z" } }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmkAAAFKCAYAAABGocjXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXKlJREFUeJzt3XlYVNUbB/DvAMOwyCYqiyLgvi+5L7miSGruS1aiaVHilpVb5ZqaWmamP00rLUtzNy033E1xF/cFDZfcRQGRbRjO74/TDI4sIsLcYfh+nuc+zD33zp13DpfhnXPPOVclhBAgIiIiIrNipXQARERERJQRkzQiIiIiM8QkjYiIiMgMMUkjIiIiMkNM0oiIiIjMEJM0IiIiIjPEJI2IiIjIDDFJIyIiIjJDTNKIiIiIzBCTNKIcaNGiBVq0aKF0GBZv5syZKFOmDKytrVGrVi2lw8mxJUuWQKVS4erVq0blmb2f1NRUjBw5Ej4+PrCyskLnzp1NHm9eUKlUmDBhwgs/b/fu3VCpVNi9e3eex5RXcvvespPVOUKUHSZppLgrV64gJCQEZcqUgZ2dHZydndGkSRN8++23SExMVDo8MpFt27Zh5MiRaNKkCRYvXoypU6fi1q1bmDBhAiIiIkwWhz6J0C8ajQYeHh5o0aIFpk6divv37+foOJm9HwD46aefMHPmTHTv3h0///wzPvzww/x8Oy9l06ZNeZ6s5JQ+qclqOXjwoCJxPc/UqVOxfv16pcMgC2GjdABUuP3111/o0aMHNBoN+vbti2rVqiElJQV///03PvnkE5w9exYLFy5UOkwygZ07d8LKygo//vgjbG1tAQBHjx7FxIkT4efnZ/KWtaFDh6JevXrQ6XS4f/8+Dhw4gPHjx2PWrFlYuXIlWrVqZdj37bffRu/evaHRaLJ9P/rykiVL4ptvvjHp+8mNTZs2Yd68eZkmaomJibCxyf9/IZMmTYK/v3+G8nLlyuX7a+fG1KlT0b179wwtpJmdI0TPwySNFBMVFYXevXvD19cXO3fuhJeXl2FbaGgoLl++jL/++kvBCPNHWloaUlJSYGdnp8jrJyUlwdbWFlZW5tWQfu/ePdjb2xslNPnlyZMncHR0zHafV199Fd27dzcqO3nyJNq2bYtu3brh3LlzhnPW2toa1tbWRvtm9X7u3bsHV1fXl38T/xFCICkpCfb29nl2zJww1fkbFBSEunXrmuS18lNm5wjR85jXpzQVKjNmzEB8fDx+/PFHowRNr1y5chg2bJhhPTU1FZMnT0bZsmWh0Wjg5+eHsWPHIjk52eh5WfUn8fPzQ79+/Qzr+sspe/fuRUhICNzd3eHs7Iy+ffvi0aNHz40/OTkZ48ePR7ly5aDRaODj44ORI0dmGs/gwYPx22+/oWrVqtBoNNiyZUu2x968eTOaN28OJycnODs7o169eli2bFmW70Xv2b5z+kt3v//+Oz777DOULFkSDg4OOH78OFQqFX7++ecMx9i6dStUKhX+/PNPQ9nNmzfxzjvvwMPDAxqNBlWrVsVPP/303DoCgMWLF6NVq1YoUaIENBoNqlSpgvnz52eoo8WLF+PJkyeGy1lLlixBvXr1AAD9+/c3Ktc7dOgQ2rVrBxcXFzg4OKB58+bYv3+/0bEnTJgAlUqFc+fOoU+fPnBzc0PTpk1zFPuzatasidmzZyMmJgZz5841lD/b3yir96NSqbBr1y6cPXvWUK7vm5WWlobZs2ejatWqsLOzg4eHB0JCQjKci35+fujQoQO2bt2KunXrwt7eHt9//z0AICYmBsOHD4ePjw80Gg3KlSuH6dOnIy0tzfD8q1evQqVS4auvvsLChQsNf0/16tXDkSNHDPv169cP8+bNM7wf/fL07+zpv7Nr165h0KBBqFixIuzt7eHu7o4ePXrkax8srVaLokWLon///hm2xcXFwc7ODh9//LGh7N69exgwYAA8PDxgZ2eHmjVrZvo38Kx+/frBz88vQ7n+3NJTqVR48uQJfv75Z0N96f9Os+qT9r///c/wueDt7Y3Q0FDExMQY7dOiRQtUq1YN586dQ8uWLeHg4ICSJUtixowZz42dCja2pJFiNm7ciDJlyqBx48Y52n/gwIH4+eef0b17d3z00Uc4dOgQpk2bhvPnz2PdunW5jmPw4MFwdXXFhAkTcPHiRcyfPx/Xrl0zJDiZSUtLw+uvv46///4b7733HipXrozTp0/jm2++waVLlzL0Sdm5cydWrlyJwYMHo1ixYpl+4OstWbIE77zzDqpWrYoxY8bA1dUVJ06cwJYtW9CnT59cvcfJkyfD1tYWH3/8MZKTk1GlShWUKVMGK1euRHBwsNG+K1asgJubGwIDAwEAd+/eRcOGDQ3JZvHixbF582YMGDAAcXFxGD58eLavPX/+fFStWhWvv/46bGxssHHjRgwaNAhpaWkIDQ0FACxduhQLFy7E4cOH8cMPPwAAypcvj0mTJmHcuHF477338OqrrwKA4XzZuXMngoKCUKdOHYwfPx5WVlaGhHDfvn2oX7++URw9evRA+fLlMXXqVAghclWPANC9e3cMGDAA27Ztw5QpUzLdJ7P3U7t2bSxduhRTpkxBfHw8pk2bBgCoXLkyACAkJARLlixB//79MXToUERFRWHu3Lk4ceIE9u/fD7VabTj+xYsX8cYbbyAkJATvvvsuKlasiISEBDRv3hw3b95ESEgISpcujQMHDmDMmDG4ffs2Zs+ebRTjsmXL8PjxY4SEhEClUmHGjBno2rUr/vnnH6jVaoSEhODWrVsICwvD0qVLn1svR44cwYEDB9C7d2+UKlUKV69exfz589GiRQucO3cODg4OualuxMbG4sGDB0ZlKpUK7u7uUKvV6NKlC9auXYvvv//eqNVy/fr1SE5ORu/evQHIy7MtWrTA5cuXMXjwYPj7+2PVqlXo168fYmJijL4Q5tbSpUsxcOBA1K9fH++99x4AoGzZslnuP2HCBEycOBEBAQH44IMPDJ8/R44cyfA7f/ToEdq1a4euXbuiZ8+eWL16NUaNGoXq1asjKCjopWMnMyWIFBAbGysAiE6dOuVo/4iICAFADBw40Kj8448/FgDEzp07DWUAxPjx4zMcw9fXVwQHBxvWFy9eLACIOnXqiJSUFEP5jBkzBADxxx9/GMqaN28umjdvblhfunSpsLKyEvv27TN6jQULFggAYv/+/UbxWFlZibNnzz73fcbExAgnJyfRoEEDkZiYaLQtLS0ty/eSVZy7du0SAESZMmVEQkKC0b5jxowRarVaPHz40FCWnJwsXF1dxTvvvGMoGzBggPDy8hIPHjwwen7v3r2Fi4tLhuM+K7PtgYGBokyZMkZlwcHBwtHR0ajsyJEjAoBYvHixUXlaWpooX768CAwMNKqXhIQE4e/vL9q0aWMoGz9+vAAg3njjjWzj1NPX2apVq7Lcp2bNmsLNzc2wrj+XoqKisn0/QsjfUdWqVY3K9u3bJwCI3377zah8y5YtGcp9fX0FALFlyxajfSdPniwcHR3FpUuXjMpHjx4trK2txfXr14UQQkRFRQkAwt3d3eh3/8cffwgAYuPGjYay0NBQkdW/iWf/zjL7PYeHhwsA4pdffjGU6et3165dmR5XT1+nmS0ajcaw39atWzPELYQQr732mtE5Nnv2bAFA/Prrr4aylJQU0ahRI1GkSBERFxeX5XsLDg4Wvr6+GWLUn1tPc3R0zPRv89lz5N69e8LW1la0bdtW6HQ6w35z584VAMRPP/1kKGvevHmGekxOThaenp6iW7duGV6LLAcvd5Ii4uLiAABOTk452n/Tpk0AgBEjRhiVf/TRRwDwUn3X3nvvPaNvrB988AFsbGwMr5mZVatWoXLlyqhUqRIePHhgWPSdyXft2mW0f/PmzVGlSpXnxhIWFobHjx9j9OjRGfr8ZNWqlxPBwcEZ+iz16tULWq0Wa9euNZRt27YNMTEx6NWrFwDZ32nNmjXo2LEjhBBG7zUwMBCxsbE4fvx4tq/99OvqW0WaN2+Of/75B7Gxsbl6PxEREYiMjESfPn0QHR1tiOnJkydo3bo19u7da3SJDwDef//9XL1WZooUKYLHjx/n2fFWrVoFFxcXtGnTxqiO69SpgyJFimQ4n/z9/Q0tnU8f49VXX4Wbm5vRMQICAqDT6bB3716j/Xv16gU3NzfDur6l8p9//snVe3j696zVahEdHY1y5crB1dX1uedIdubNm4ewsDCjZfPmzYbtrVq1QrFixbBixQpD2aNHjxAWFmY4jwH5GeLp6Yk33njDUKZWqzF06FDEx8djz549uY4xN7Zv346UlBQMHz7cqH/ou+++C2dn5wyfaUWKFMFbb71lWLe1tUX9+vVz/fuigoGXO0kRzs7OAJDjf3TXrl2DlZVVhhFdnp6ecHV1xbVr13IdS/ny5Y3WixQpAi8vr2z70kRGRuL8+fMoXrx4ptvv3btntJ7Z6LTMXLlyBQBQrVq1HO2fU5m9fs2aNVGpUiWsWLECAwYMACAvdRYrVsyQbN6/fx8xMTFYuHBhlqNsn32vz9q/fz/Gjx+P8PBwJCQkGG2LjY2Fi4vLC7+fyMhIAMhwqfbZYz+dhOT0d5AT8fHxOf6CkRORkZGIjY1FiRIlMt2ek/MpMjISp06dyvE5Wbp0aaN1fV3lpD9mZhITEzFt2jQsXrwYN2/eNLqknNtkHADq16+f7cABGxsbdOvWDcuWLUNycjI0Gg3Wrl0LrVZrlKRdu3YN5cuXzzBgRn+5+WU+Q3JD/3oVK1Y0Kre1tUWZMmUyxFOqVKkMX9Tc3Nxw6tSp/A2UFMUkjRTh7OwMb29vnDlz5oWe9zKtSTqdLtfPfVZaWhqqV6+OWbNmZbrdx8fHaD2vR95lVQ86nS7TEWRZvX6vXr0wZcoUPHjwAE5OTtiwYQPeeOMNw9QK+taot956K8uEqEaNGlnGeeXKFbRu3RqVKlXCrFmz4OPjA1tbW2zatAnffPNNhtaunNI/b+bMmVlOzVGkSBGj9bz6HWi1Wly6dClPE+m0tDSUKFECv/32W6bbn028MnsvaWlpaNOmDUaOHJnpMSpUqGC0ntVIQ5HL/npDhgzB4sWLMXz4cDRq1AguLi5QqVTo3bt3rn/POdW7d298//332Lx5Mzp37oyVK1eiUqVKqFmzZp4cP7u/N1PJ698XFQxM0kgxHTp0wMKFCxEeHo5GjRplu6+vry/S0tIQGRlp+OYLyE7tMTEx8PX1NZS5ubllGB2VkpKC27dvZ3rsyMhItGzZ0rAeHx+P27dv47XXXssynrJly+LkyZNo3br1SyWOmR0XAM6cOZPtPFCZvUdAfjsvU6ZMjl+vV69emDhxItasWQMPDw/ExcUZOloDMjlwcnKCTqdDQEBAzt/IfzZu3Ijk5GRs2LDBqOXm2ct3WcmqbvX15OzsnKu4Xsbq1auRmJiY4XLjyyhbtiy2b9+OJk2a5DqZLFu2LOLj4/O0Pl7k3F69ejWCg4Px9ddfG8qSkpIyPU/zWrNmzeDl5YUVK1agadOm2LlzJz799FOjfXx9fXHq1CmkpaUZtaZduHDBsD0r2f29PSundaZ/vYsXLxr9zaakpCAqKsrk5zWZJ/ZJI8WMHDkSjo6OGDhwIO7evZth+5UrV/Dtt98CgCFhenaEmr4lq3379oaysmXLZuh/s3Dhwiy/9S5cuBBardawPn/+fKSmpmY7Yqpnz564efMmFi1alGFbYmIinjx5kuVzs9O2bVs4OTlh2rRpSEpKMtr29DfmsmXL4uDBg0hJSTGU/fnnn7hx48YLvV7lypVRvXp1rFixAitWrICXlxeaNWtm2G5tbY1u3bphzZo1mbZ6Pm/2ff23/2cvfS1evDhH8ennMnv2H2SdOnVQtmxZfPXVV4iPj3/huHLr5MmTGD58ONzc3AwjU/NCz549odPpMHny5AzbUlNTc5To9OzZE+Hh4di6dWuGbTExMUhNTX3huLKq/8xYW1tnaNX57rvvTNLaZGVlhe7du2Pjxo1YunQpUlNTjS51AvIz5M6dO0Z911JTU/Hdd9+hSJEiaN68eZbHL1u2LGJjY40uLd6+fTvTUeWOjo45qq+AgADY2tpizpw5RvX2448/IjY21ugzjQovtqSRYsqWLYtly5ahV69eqFy5stEdBw4cOGAYHg/I/lPBwcFYuHAhYmJi0Lx5cxw+fBg///wzOnfubNQSNnDgQLz//vvo1q0b2rRpg5MnT2Lr1q0oVqxYpnGkpKSgdevW6NmzJy5evIj//e9/aNq0KV5//fUsY3/77bexcuVKvP/++9i1axeaNGkCnU6HCxcuYOXKlYY5rF6Us7MzvvnmGwwcOBD16tUzzOt18uRJJCQkGOZ0GjhwIFavXo127dqhZ8+euHLlCn799ddsh/tnpVevXhg3bhzs7OwwYMCADH12vvzyS+zatQsNGjTAu+++iypVquDhw4c4fvw4tm/fjocPH2Z57LZt28LW1hYdO3ZESEgI4uPjsWjRIpQoUSLLls2nlS1bFq6urliwYAGcnJzg6OiIBg0awN/fHz/88AOCgoJQtWpV9O/fHyVLlsTNmzexa9cuODs7Y+PGjS9cF0/bt28fkpKSoNPpEB0djf3792PDhg1wcXHBunXr4Onp+VLHf1rz5s0REhKCadOmISIiAm3btoVarUZkZCRWrVqFb7/9NsPEus/65JNPsGHDBnTo0AH9+vVDnTp18OTJE5w+fRqrV6/G1atXs/wbyEqdOnUAyLsvBAYGwtra2qil9WkdOnTA0qVL4eLigipVqiA8PBzbt2+Hu7v7C73mszZv3mxo7Xpa48aNjVqgevXqhe+++w7jx49H9erVjVrcATlA6Pvvv0e/fv1w7Ngx+Pn5YfXq1di/fz9mz56dbR/D3r17Y9SoUejSpQuGDh2KhIQEzJ8/HxUqVMgwKKJOnTrYvn07Zs2aBW9vb/j7+6NBgwYZjlm8eHGMGTMGEydORLt27fD6668bPn/q1atnNEiACjHFxpUS/efSpUvi3XffFX5+fsLW1lY4OTmJJk2aiO+++04kJSUZ9tNqtWLixInC399fqNVq4ePjI8aMGWO0jxBC6HQ6MWrUKFGsWDHh4OAgAgMDxeXLl7OcgmPPnj3ivffeE25ubqJIkSLizTffFNHR0UbHfHZqCyHk8P3p06eLqlWrCo1GI9zc3ESdOnXExIkTRWxsrGE/ACI0NPSF6mTDhg2icePGwt7eXjg7O4v69euL5cuXG+3z9ddfi5IlSwqNRiOaNGkijh49muUUHNlNJxEZGWmY2uDvv//OdJ+7d++K0NBQ4ePjI9RqtfD09BStW7cWCxcuzNF7qVGjhrCzsxN+fn5i+vTp4qeffsrxlBV//PGHqFKlirCxsckwHceJEydE165dhbu7u9BoNMLX11f07NlT7Nixw7CPfpqE+/fvPzdWIdLrTL+o1WpRvHhx0axZMzFlyhRx7969DM952Sk49BYuXCjq1Kkj7O3thZOTk6hevboYOXKkuHXrlmEfX19f0b59+0yf//jxYzFmzBhRrlw5YWtrK4oVKyYaN24svvrqK8M0M/opOGbOnJnh+Xhm6onU1FQxZMgQUbx4caFSqYymm3h230ePHon+/fuLYsWKiSJFiojAwEBx4cKFDH93eTEFx7PngRByWhYfHx8BQHzxxReZHvPu3buGGG1tbUX16tUzHCez9yaEENu2bRPVqlUTtra2omLFiuLXX3/NdAqOCxcuiGbNmgl7e3sBwPDeMztHhJBTblSqVEmo1Wrh4eEhPvjgA/Ho0SOjfbI6Z7KaGoQsh0oI9jqkwkk/ceiRI0cs4rYzRERkWdgnjYiIiMgMMUkjIiIiMkNM0oiIiIjMEPukEREREZkhtqQRERERmSEmaURERERmyOIns01LS8OtW7fg5OSUp7fvISIiInqWEAKPHz+Gt7d3hsnBX5TFJ2m3bt3KcLNrIiIiovx048YNlCpV6qWOYfFJmv5WHzdu3ICzs7PC0RRMWq0W27ZtM9yqhvIX69u0WN+mxfo2Pda5aT18+BD+/v7Z3mospyw+SdNf4nR2dmaSlktarRYODg5wdnbmH7gJsL5Ni/VtWqxv02Odm5ZWqwWAPOlixYEDRERERGaISRoRERGRGWKSRkRERGSGmKQRERERmSEmaURERERmiEkaERERkRlikkZERERkhix+njQiMhNCAPHxQGxs+hIXZ7z+5AmQnCyXlJSMj1NSgNRUwMoqfVGp0h+npgJRUcDly0BSknzdOnWA118HHB0BBwfjn25ugLMz1I8fA2lpytYPEdEzmKQRUe4JATx6BFy/Dty5A9y9m3HRl0dHK5MIHTsmlyyoAbwGQAQHy6TN3d148fQESpVKX0qWBDw8ZFJIRJSPmKQRUdaEAB48AP75B7h2TS5Xrxr/jI9/sWPa2AAuLoCzs/z59FKkCKDRyMXKCrh5U7aMRUUB//6bu/fQqBFQvTqQkCBb6hIS5BIfDzx8CBEdDVV8PFRpaTKRjI7O2Xvw9k5P3Hx8gHLlgPLl5U8fHyZxRPTSmKQRkbyMeOUKcPEicOGC8c9Hj57//BIlAC8v2cKU1VK8OODqCtjby0uUeo8eGb+m/vHly/LyZVZ8fYGKFYFKlYx/ensbH/85UrVabPnjD7SrXx/quLj0RE2/3L4tk8V//5XL7dsyruvX5ZIZjQYoWzY9aStfXi5Vqsi6yIPbxRCR5WOSRlSYCAHcuAFERAAnT8qfZ87IBE2ny/w5KpW8xOfnJxMjX1/jx6VLy8QrO6mpsuXtxImMCdn9+1k/z8Eh80SsQgW5LY+kqdUyySxd+vk7p6bKS7j//puevF29KpPKyEjZ6picDJw7J5dnFS8O1KhhvFSpAtjZ5dn7ISLLwCSNyFLpdDJJOH5cJmP6xCyrlrEiRTImRJUqyZag5yVherGxmbfGRUbK1rqslCpl/Jr6xyVLmt9lQxub9MucmdG3skVGykWfvF26JJPh+/eBHTvkomdtLRPPGjWAmjWB+vWBevXkJWEiKrSYpBFZirt3gUOHgIMH5XLkSOb9xWxsgMqVgVq15FKjhlzP6WVCnU4mIc8mYhcuyBamrNjZyUTk2SSwQgWZIFoKGxugTBm5BAYab0tIAM6eBU6fBk6dksvJk8DDh8D583JZsULuq1LJ30vDhkCDBnKpWlUen4gKBf61ExVEaWnyMuWePUB4uEzKoqIy7lekCPDKK0Dt2jIhq1lTXlrTaJ7/Go8fy9afp/uJXbggW4X001tkxssr4+XJSpXkpURzaxUzNQcH2UJWr156mRCyn5s+aTt+XCbbV6+mXzL96Se5r6MjULeuTNiaNAGaNZP9/IjIIjFJIyoI9EnZ7t1y2bNHtr48TaWSCZi+5aVhQ7lubZ39cf/9N/OO+zdvZv08W1vZEf7Zy5MVKshRmpRzKpVsxfT2Btq1Sy+/exc4fFgm4IcOycePH8vf/Z49ch8rK5mAt2wpl1dfBZyclHkfRJTnmKQRmSMhZCvWzp3Arl2ZJ2WOjkDTpnJp2FC2zmSVID15Io/3bCJ28SKQmJh1HCVKZLw8WbGiHDiQXfJHL8/DA+jYUS6AvMx84UL6Je09e+TvVD8P3Fdfyd9J3brpSVuTJvI8IaICiUkakbl4/BjYtQtWmzYhYP16qO/eNd7u6ChbSlq0kMsrrwBqdfp2IWSr2LP9xC5ckCM6s6JWy8EBzyZiFSvKyV3JPFhbyz5pVasC77wjy27elC2ru3bJ5Z9/ZBJ36BDw5Zfyd/vqq0D79sBrr8nfKaf/ICowmKQRKUUI2Yl80yZgyxbg778BrRbWABwBCFtbqF59FQgIkK0i+qQsMVH2C1u3zjghu3gx+4llixXLfPSmvz87oxdUJUsCb74pF0AO6NAnbLt2yfWdO+Xy0UdyMEP79nJp3pzTfhCZOX4yE5mSTic7+q9fL5crV4y3lykDXWAgjhQtijpvvilb0y5cAJYvByZMkI+vXZMJXmasreUkqs923K9YUSZpZNlKlwaCg+UihJz+46+/5LJnj2xp++47uTg4yC8A+qStZEmloyeiZzBJI8pvSUlyTqz164ENG4B799K3qVTyH6u/v+znpdNBdeQI6pw7B/WUKVkf09U1vSXs6YSsTBnZqZ9IpZKDO4YPl8vjx/I8/Osv2Xp765Y8HzdskPs3agT07Al07571HHBEZFJM0ojyQ3KyvIT5++/An39mfRlSiPR7Yv7H6r9FWFlB5e+fecf94sXZt4hejJMT0LmzXISQkxtv2iSTtoMHZQtveDjw4YcyYevRQyZsPj4KB05UeCk6adHevXvRsWNHeHt7Q6VSYf369Vnu+/7770OlUmH27Nkmi4/ohSQlAXPmAEWLyr4+nTvLJO15NyB3dpYzzL/9NjBlClJ//x0758xBamysvFz155/A118D774rO4GXKMEEjV6OSiWn7vj0U+DAATngZM4ceX6pVDJZGzFCtvI2bgx88032g0+IKF8o2pL25MkT1KxZE++88w66du2a5X7r1q3DwYMH4e3tbcLoiHJACOCPP4AuXZ6/r79/5h33n7nhttBq8XjTppxNOEuUF7y9gSFD5HLrFrBmDbBqlRzMom9hGzFCTvfSr59sZeMtq4jynaJJWlBQEIKCgrLd5+bNmxgyZAi2bt2K9u3bmygyoue4cQMYNUp26M9MqVLAwIFyMtmKFWXfoJze/5JISdklbPplyBCgWzeZsLVsyTtJEOUTs+6TlpaWhrfffhuffPIJqlatqnQ4VNglJsppL/TTHTwrOBiYP5/JGFmOpxO2mzeBX38FliyRo4x//VUuPj5A377y/C9fXumIiSyKWSdp06dPh42NDYYOHZrj5yQnJyM5OdmwHhcXBwDQarXQarV5HmNhoK+3Qlt/x4/Det48WC1dmunm1L/+gggISL9k+ZL1VOjr28RY3zlUooS85Pnhh1AdOQLVL7/AauVKqG7cAKZMAaZMQVrjxkjr2xeiZ09539hMsL5Nj3VuWnlZzyohsppwybRUKhXWrVuHzp07AwCOHTuG9u3b4/jx44a+aH5+fhg+fDiGDx+e5XEmTJiAiRMnZihftmwZHBwc8iN0skDWycko+fffqPj773C4fz/D9tv16+PMgAFI8PBQIDoi82CVkgLPw4dReudOlIiIgCotDQCgdXDAjZYtERUUhHhO50GFTEJCAvr06YPY2Fg4v2TfTbNN0mbPno0RI0bA6qm+DjqdDlZWVvDx8cHVq1czPU5mLWk+Pj548ODBS1dWYaXVahEWFoY2bdpA/fRtiCzRxYuwWrQI1nPmZLpZ9+WXSBswIF9vIl6o6tsMsL7zyK1bsFq+HFY//gjV5cuG4rRWrZAWEgLRsSNgY8P6VgDr3LSio6Ph5eWVJ0ma2V7ufPvttxEQEGBUFhgYiLfffhv9+/fP8nkajQaaTEbFqdVqnpwvyWLrUKcDNm6Us7Dv3Jlxe7lywLRpQOfOsLaxgaluK26x9W2mWN8vydcXGD0aGDkS2L4dmDcP+PNPWO3cCaudO+VgmpAQOdgArG8lsM5NIy/rWNEkLT4+Hpef+sYVFRWFiIgIFC1aFKVLl4a7u7vR/mq1Gp6enqhYsaKpQyVLFB8PLF4sE7DbtzNu795d3u+wYUPTx0ZUUFlZAW3byuXaNWDBAuCHH+RcbJ9/DptJk1CnYUOoihaV87IRUZYUHTd99OhR1K5dG7Vr1wYAjBgxArVr18a4ceOUDIss3Y0b8tu+kxMwdGjGBO3jj+U/l1WrmKARvQxfX/kl6MYN4JdfgAYNoNJqUWrfPtg0ayaTtI0bgf/6shGRMUVb0lq0aIEX6RKXVT80ohw5fhyYOVPeBeBZnp7AmDFA//4yeSOivGNnJ++o8fbb0B46hNtjx8Jn3z6o9POuVakCfPIJ0KcP7z1L9BTOQEiWTQhg71556aVOnYwJWpMmwNq18lLM0KFM0Ijy2yuv4MTQoUiNjJQt2s7OwLlz8gtSmTLyFmiPHysdJZFZYJJGlkkIeePo2rWB5s2BsDDj7X36AEeOyG/xXboA1qYaDkBEAOREudOnA9evy59eXnLC3I8/lhPkjh0L3L2rdJREimKSRpZFpwNWrACKFwc6dABOnjTePmqU7B/z229A3brKxEhE6VxcZItaVJQcYFCxIhAbK/uy+frKux1kNrCHqBBgkkaWIS0NWLkSsLEBevcGoqPTtxUpAsydKy+hfPmlnAqAiMyLRgMMGCAvfa5fDzRqBCQny7/dMmXk3Q7u3VM6SiKTYpJGBZsQwOrV8nJlr17G22rWBDZskN/KQ0OzvE0NEZkRKyugUyfgwAE5b2GTJkBSEvDNN4C/v2wNf/BA6SiJTIJJGhVMQgDLl8sP9B49jLd17gycOAFERAAdO8p9iKjgadkS2LcP2LoVqF8fSEgAZsyQydpnnwGPHikdIVG+4n8vKniWLpWJV58+xuWDBgG3bgHr1gG1aikSGhHlMZVKjs4+eFDOqVa7tpyIesoUwM8PmDhRtpYTWSAmaVRwrFghP7D79jUu/+IL4MkTeRsaLy9lYiOi/KVSycFAx47JaXOqVQPi4oAJE2Sfte++A7RapaMkylNM0sj8XbggP6B79zYu/+knOZrz008BBwdlYiMi01Kp5LQ5J0/KL26VKgEPH8p5DqtVk/1QX2CSdCJzxiSNzFdcHFC+PFC5snH5qlXyQ7h/f/Y3IyqsrKyAnj2B06eB+fPltDuXLslBB61ayTuMEBVw/A9H5ictTd6iycUFuHw5vXzcOJmcde+uXGxEZF5sbID335efFaNHy6k8du+W8yD26ycnyCUqoJikkXnZvl1Op/Hll+lltWvLUV0TJyoXFxGZN2dnOQHuxYtyUJEQwM8/y9b4cePkYAOiAoZJGpmHGzcANzegTRvj8rNn5WULe3tl4iKigsXXV95R5NAhOcdaYiIwebJM1n79lf3VqEBhkkbKSk6WlypKlwZiYtLL582Tlz2rVFEsNCIqwOrXl3OsrV4tR3/euQO8/TbQurUcjERUADBJI+Vs3QrY2QHff59e1rq1HDAwaJAcxUVElFsqFdCtm7zV1JQp8vNm1y6gRg05KjwhQekIibLFJI1M784dwMcHaNfOuPzUKdknzclJmbiIyDJpNMDYsTJZa99ezqc2dSpQtSrw119KR0eUJSZpZDo6HTB+vJxw9t9/08tnz5aXNqtXVyw0IioE/P3lXQvWrgVKlQKuXpUT5HbtKvvFEpkZJmlkGqdOyaHykyall9WtC0RHA8OG8dImEZmGfjLc8+eBTz6Rn0vr1sn5GGfO5F0LyKwwSaP8lZIiv6nWrGlcHh4OHDkCFC2qTFxEVLgVKSJv1n7iBNC0qby13MiRQL168m4GRGaASRrln61bZV+Qp/t8jBkDpKYCDRsqFxcRkV61asCePfI2c+7uMkGrW1fOy8hWNVIYkzTKe0+eAMWKGQ8MsLUFbt+WnXWtrZWLjYjoWVZW8jZzZ8/KS6GpqfLG7Q0ayK4aRAphkkZ568cf5WWE6Oj0sjVr5Hxonp7KxUVE9DweHvLzatky2RXjxAnZqjZ5MlvVSBFM0ihvxMfLDrkDB6aXtWghk7OuXRULi4johahUwBtvyFa1zp1lcjZunOyicfq00tFRIcMkjV7e+vUZ5zaLiJCTRtraKhEREdHL8fSUU3X89pu8Zd3x40CdOnJS3NRUpaOjQoJJGuWeTic/tLp0SS976y15b7xnR3MSERU0KpW8WfvZs8Drr8tWtc8+Axo3BiIjlY6OCgEmaZQ7ly/L+YWOH08vO3IEWLpUuZiIiPKDl5e8YrB0KeDqKj/rateWI0J5w3bKR4omaXv37kXHjh3h7e0NlUqF9evXG7ZptVqMGjUK1atXh6OjI7y9vdG3b1/cunVLuYBJmjoVKF8+fd3LS86HVreucjEREeUnlUpeKTh9GmjZUo5iHzAA6NEDePhQ6ejIQimapD158gQ1a9bEvHnzMmxLSEjA8ePH8fnnn+P48eNYu3YtLl68iNdff12BSAmAvBmxra28MbHevHnArVuAWq1cXEREplKqFBAWBnz5pbyasGaNvGH7nj1KR0YWyEbJFw8KCkJQUFCm21xcXBAWFmZUNnfuXNSvXx/Xr19H6dKlTREi/cftwgWoO3c2Lrx+Xd4onYioMLG2BkaNAgICZJ+1S5eAVq3k3Gpjx3IuSMoziiZpLyo2NhYqlQqurq5Z7pOcnIzk5GTDelxcHAB5+VTLeW5yZ9gwNJs/37Ca1qoVdJs2yQkgWad5Tn+e8nw1Dda3aVlUfdeoARw6BOthw2D1yy/AuHFI270buiVLzGpeSIuq8wIgL+tZJYR59HpUqVRYt24dOj/bWvOfpKQkNGnSBJUqVcJvv/2W5XEmTJiAiRMnZihftmwZHBwc8ircQsE6KQkdevc2Kjs0ZgzuNGigUERERObJZ9cu1FiwADbJyUhyccHxESNwn6PcC6WEhAT06dMHsbGxcHZ2fqljFYgkTavVolu3bvj333+xe/fubN90Zi1pPj4+ePDgwUtXVmGiCg+HTfPmRmUJ165B7eWlUESFh1arRVhYGNq0aQM1+/rlO9a3aVl0fV+4AJs+faA6cwZCpULa+PFIGz1aXnVQkEXXuRmKjo6Gl5dXniRpZn+5U6vVomfPnrh27Rp27tz53Des0Wig0WgylKvVap6cOTVsGDBnjmE1rXNnbAwOxmteXqxDE+I5a1qsb9OyyPquXh04fBgYOhSqH36A9YQJsD56FPjlFzkhrsIsss7NUF7WsVnPk6ZP0CIjI7F9+3a4u7srHZJl02rlMPOnEjRs2gTdypWynIiIsmdvDyxaJOdQ02iAP/+U0xNFRCgdGRVAiiZp8fHxiIiIQMR/J29UVBQiIiJw/fp1aLVadO/eHUePHsVvv/0GnU6HO3fu4M6dO0hJSVEybMt04ULGWzg9egRkMfqWiIiy0b8/cOAA4OcH/PMP0KgRJ/umF6Zoknb06FHUrl0btWvXBgCMGDECtWvXxrhx43Dz5k1s2LAB//77L2rVqgUvLy/DcuDAASXDtjzLlgGVK6evBwYCaWlyZm0iIsqdV14Bjh0DXnsNSEoC+vYFPvqI9/6kHFO0T1qLFi2Q3bgFMxnTYNneeQdYvDh9fdky4I03lIuHiMiSFC0KbNwIjB8PfPEFMGsWcOoUsGKF3EaUDbMfOED5RKcDXFzkrU30Ll0yvt0TERG9PCsrYPJkoGZNIDgY2L4dqFcP+OMPoFo1paMjM2bWAwconzx6JG9n8nSClpDABI2IKD917w6EhwP+/un91P76S+moyIwxSStszp41bmJ/5RXZ/8zeXrmYiIgKixo1gCNH5E3a4+OB118Hvv0WYPceygSTtMJkzRrjpvVPP5WdWjm9BhGR6bi7A1u3AgMHyi/Jw4cDgwbxNnuUAZO0wmL0aNnUrrd2rezESkREpqdWAwsXAl99Jb8oL1ggR4HGxCgdGZkRJmmFQYMGwPTp6evnzgFduigXDxERyeTso4+AdesABwc5oODVV4EbN5SOjMwEkzRLlpoqPwQOH04vi4kxnhONiIiU1akT8PffgJcXcOaMHFBw+rTSUZEZYJJmqR4+lM3petbW6dNuEBGRealdW478rFwZuHkTaNoU2LlT6ahIYUzSLNH167Jjql779rJVzYq/biIis+XrC+zfDzRrBsTFAe3ayQnGqdDif21Lc/q0/EPXmzxZ3uCXiIjMn5ubHPnZs6cc7fnmm8CcOUpHRQphkmZJ9uyRc/DoLVkCfPaZYuEQEVEu2NkBy5cDQ4fK9WHDgHHjOJdaIcQkzVKsXg20aJG+vmmTvP0IEREVPFZWwOzZ8moIIH8OGiT7FlOhwSTNEnz3HdCjR/r64cNAUJBy8RAR0ctTqeTVkP/9L30utT59gJQUpSMjE2GSVtCNH5/eJA7Im6TXq6dcPERElLc++AD4/Xc5Yn/lSqBbNyApSemoyASYpBVkQ4YAkyalr9++zZukExFZop49gQ0bZH+1P/8EOnYEnjxROirKZ0zSCqo33wTmzk1fj4kBPD0VC4eIiPJZu3bA5s2Ao6O8O0FQkJyqgywWk7SCqEMH47lznjzhJLVERIVBixZAWJj8zN+3D2jThvf7tGBM0gqaoCDgr7/S15OT5T3fiIiocGjUSN6NwN1dDhRjomaxmKQVJIGBwJYt6etaLWBrq1w8RESkjFdeAXbtAooVA44eZaJmoZikFRTt2wPbtqWvp6YCNjbKxUNERMqqXh3YsSM9UWvblomahWGSVhB07y4np9VLTZU3TCciosKtRg2ZqLm7A0eOyCsusbFKR0V5hEmauevbF1izJn2dCRoRET2tRg3jPmpBQUB8vNJRUR5gkmbOQkKApUvT11NSmKAREVFG+hY1NzcgPBx4/XUgMVHpqOglMUkzV598AixcmL6elCRnmyYiIspMzZpycJmTkxxU0L07byFVwDFJM0fTpwNffZW+npAAaDTKxUNERAVD/fryjgT29rIvc58+spsMFUhM0szN0qXA6NHp648fyz82IiKinGjWDFi3Tk7RtGYNrENCACGUjopyQdEkbe/evejYsSO8vb2hUqmwfv16o+1CCIwbNw5eXl6wt7dHQEAAIiMjlQnWFMLC5EABvQcPgCJFlIuHiIgKpsBAYMUKwNoaVkuXosrPPysdEeWCoknakydPULNmTcybNy/T7TNmzMCcOXOwYMECHDp0CI6OjggMDERSUpKJIzWBEyfkHDd6UVFypA4REVFudO4M/PADAKD8+vWw+vprZeOhF6bobKhBQUEICgrKdJsQArNnz8Znn32GTp06AQB++eUXeHh4YP369ejdu7cpQ81fUVFy9mi9EycAPz/FwiEiIgvRrx90d+7AeswYWI8ZA3h4AP37Kx0V5ZDZTlkfFRWFO3fuICAgwFDm4uKCBg0aIDw8PMskLTk5GcnJyYb1uLg4AIBWq4VWq83foHMjJgbqMmUMq6mbN0NUrSpv+WQm9PVmlvVngVjfpsX6Ni3Wt+lphw7FzUOHUH79eoh334XO1RWiQwelw7JYeXlum22SdufOHQCAh4eHUbmHh4dhW2amTZuGiRMnZijftm0bHMzsRuQqnQ6vd+tmWD82bBj+TU42vruAGQkLC1M6hEKF9W1arG/TYn2bWHAwNHFxKL1zJ9C7Nw5MmYKY8uWVjsoiJSQk5NmxzDZJy60xY8ZgxIgRhvW4uDj4+Pigbdu2cHZ2VjCyjNRP3Rxd99lnqDFuHGooGE9WtFotwsLC0KZNG6g5V1u+Y32bFuvbtFjfpqev82Lr1iGtVy/YbNmCZjNnInXvXuCpKzmUN6Kjo/PsWGabpHl6egIA7t69Cy8vL0P53bt3UatWrSyfp9FooMlkTjG1Wm1eHwiVK6c/bt8e1pMnw9zvJWB2dWjhWN+mxfo2Lda36ant7WG1ciXQvDlUJ05A3akTsH8/B6nlsbw8r812njR/f394enpix44dhrK4uDgcOnQIjRo1UjCyPPDuu8CFC/JxkSJy4kEiIqL85uQk/+eULg1cvChHgFrijAkWQtEkLT4+HhEREYiIiAAgBwtERETg+vXrUKlUGD58OL744gts2LABp0+fRt++feHt7Y3OnTsrGfbL+eknw5BoAMB/AxuIiIhMwttb9n12cQH+/hvo14+T3ZopRS93Hj16FC1btjSs6/uSBQcHY8mSJRg5ciSePHmC9957DzExMWjatCm2bNkCOzs7pUJ+OUePAgMGpK8nJAAqlXLxEBFR4VS1qrwrQdu2ctLbKlWAceOUjoqeoWiS1qJFC4hssneVSoVJkyZh0qRJJowqn9y/D9Srl75+9Spv90RERMpp2RJYsAAYOBAYPx6oVAno2VPpqOgpZtsnzaKkpQElSqSvb98O+PoqFw8REREgr+7oZ0QIDgaOHFE2HjLCJM0Unh5tOm0a0Lq1crEQERE9bcYM4LXX5ACCTp2Af/9VOiL6D5O0/PbWW0BqqnzcqBEwerSy8RARET3N2hpYvhyoVg24fRvo0gVITFQ6KgKTtPy1dCnw22/p6wcOKBcLERFRVpydgQ0b5JxpR48CH3zAEZ9mgElafrl0CejbN32d30qIiMic+fsDv/8OWFkBP/8MzJundESFHpO0/JCSAlSsmL5++TJQUKcNISKiwiMgQPZRA4APPwT27lU2nkKOSVp+eHqgwG+/AWXLKhcLERHRixgxAujTR/an7t4duHFD6YgKLSZpeW3gwPTHnTrJE52IiKigUKmARYuAWrXkHJ89e8orRGRyOU7Sbt26lZ9xWIawMODHH9PX169XLBQiIqJcc3AA1q4FXF2BgweBkSOVjqhQynGSVrVqVSxbtiw/YynYYmLk7TX04uMVC4WIiOil+fsDv/wiH3/7LbB6tbLxFEI5TtKmTJmCkJAQ9OjRAw8fPszPmAomN7f0x+HhgKOjcrEQERHlhY4d01vR3nkHiIxUNp5CJsdJ2qBBg3Dq1ClER0ejSpUq2LhxY37GVbB06JD+eMQIoGFD5WIhIiLKS1OmAM2aAY8fy4EECQlKR1RovNAN1v39/bFz507MnTsXXbt2ReXKlWFjY3yI48eP52mAZu/QIeCvv9LXv/5auViIiIjymo2NnD+tVi3g1Cngo4+A+fOVjqpQeKEkDQCuXbuGtWvXws3NDZ06dcqQpBU6ly6lP05OVi4OIiKi/OLlJaeUatsWWLBAzqfWrZvSUVm8F8qwFi1ahI8++ggBAQE4e/Ysihcvnl9xFRy9egHFigEtWgC2tkpHQ0RElD8CAmT/tOnT5XRT9eoBpUsrHZVFy3GS1q5dOxw+fBhz585F36dvd1TY2doCQUFKR0FERJT/Jk8Gdu0CDh+W84Du3i0vh1K+yPHAAZ1Oh1OnTjFBIyIiKqzUamD5csDJCdi/XyZtlG9ynKSFhYWhVKlS+RkLERERmbsyZYDvv5ePv/hCJmuUL3hbKCIiInoxb7wB9O0LpKXJn48fKx2RRWKSRkRERC9uzhw5cOCff+S0HJTnmKQRERHRi3NxAX7+Of2G7H/+qXREFodJGhEREeVOixbAhx/KxwMGAPfvKxqOpWGSRkRERLk3ZQpQtSpw7x7wwQdKR2NRmKQRERFR7tnZAUuXyvnS1qwBVq1SOiKLwSSNiIiIXk7t2sCYMfJxaCgve+YRJmlERET08j77DKhWTSZow4YpHY1FMOskTafT4fPPP4e/vz/s7e1RtmxZTJ48GUIIpUMjIiKip9naAosXA1ZW8q4Ef/yhdEQFnlknadOnT8f8+fMxd+5cnD9/HtOnT8eMGTPw3XffKR0aERERPatuXeCTT+Tj998HHj5UNp4CzqyTtAMHDqBTp05o3749/Pz80L17d7Rt2xaHDx9WOjQiIiLKzIQJQKVKwJ07wOjRSkdToJn1resbN26MhQsX4tKlS6hQoQJOnjyJv//+G7NmzcryOcnJyUhOTjasx8XFAQC0Wi20Wm2+x2yJ9PXG+jMN1rdpsb5Ni/Vteiavc2trqP73P9i0agUsWoTUPn0gmjQxzWubgbysZ5Uw4w5eaWlpGDt2LGbMmAFra2vodDpMmTIFY/QjSDIxYcIETJw4MUP5smXL4ODgkJ/hEhER0X9qzpsHv7AwxPn4YPesWRBqtdIhmURCQgL69OmD2NhYODs7v9SxzDpJ+/333/HJJ59g5syZqFq1KiIiIjB8+HDMmjULwcHBmT4ns5Y0Hx8fPHjw4KUrq7DSarUICwtDmzZtoC4kf2RKYn2bFuvbtFjfpqdYnT98CJvq1aG6fx+6SZOQVkgufUZHR8PLyytPkjSzvtz5ySefYPTo0ejduzcAoHr16rh27RqmTZuWZZKm0Wig0WgylKvVan4gvCTWoWmxvk2L9W1arG/TM3mde3gA33wDvPUWrKdOhfUbbwDlypnu9RWSl3Vs1gMHEhISYGVlHKK1tTXS0tIUioiIiIhyrE8fICAASEqSk9ya78U7s2TWSVrHjh0xZcoU/PXXX7h69SrWrVuHWbNmoUuXLkqHRkRERM+jUgHz5wMaDbBtG7B+vdIRFShmnaR999136N69OwYNGoTKlSvj448/RkhICCZPnqx0aERERJQT5cqlz5324YdAYqKy8RQgZp2kOTk5Yfbs2bh27RoSExNx5coVfPHFF7C1tVU6NCIiIsqpMWOA0qWBa9eA6dOVjqbAMOskjYiIiCyAgwPw9dfy8ZdfAv/8o2w8BQSTNCIiIsp/3boBrVsDycnAiBFKR1MgMEkjIiKi/KdSAXPmADY28ubrYWFKR2T2mKQRERGRaVSpIqfiAICPPgJ0OmXjMXNM0oiIiMh0xo0D3NyA06eBxYuVjsasMUkjIiIi0ylaFPj8c/n488+B+Hhl4zFjTNKIiIjItEJDgbJlgTt3gBkzlI7GbDFJIyIiItOytU2fL+2rr4B//1U2HjPFJI2IiIhMr2tXoGlTeQeCceOUjsYsMUkjIiIi01OpgJkz5eOffwbOn1c2HjPEJI2IiIiU0bAh0KkTkJaWPpiADJikERERkXK++EK2qq1ZAxw9qnQ0ZoVJGhERESmnWjXgrbfk47FjlY3FzDBJIyIiImVNnAio1fJWUbt2KR2N2WCSRkRERMry9wdCQuTjTz8FhFA2HjPBJI2IiIiU9+mngJ0dEB4ObN+udDRmgUkaERERKc/TM701beJEtqaBSRoRERGZi5EjAY0G2L8f2LlT6WgUxySNiIiIzIO3N/Dee/IxW9OYpBEREZEZGTVK3ttz375CP9KTSRoRERGZj5IlgXfflY8nTVI2FoUxSSMiIiLzMnq0nDdtzx7g0CGlo1EMkzQiIiIyL6VKAW++KR9Pn65sLApikkZERETmZ+RI+XP9euDCBUVDUQqTNCIiIjI/lSsDr78uR3jOnKl0NIpgkkZERETmadQo+XPpUuDmTWVjUYDZJ2k3b97EW2+9BXd3d9jb26N69eo4evSo0mERERFRfmvcGGjaFNBqgdmzlY7G5Mw6SXv06BGaNGkCtVqNzZs349y5c/j666/h5uamdGhERERkCvrWtIULgcePlY3FxGyUDiA706dPh4+PDxYvXmwo8/f3VzAiIiIiMqnXXgMqVAAuXQJ+/hkYPFjpiEzGrJO0DRs2IDAwED169MCePXtQsmRJDBo0CO/qJ7nLRHJyMpKTkw3rcXFxAACtVgutVpvvMVsifb2x/kyD9W1arG/TYn2bniXUuVVoKKyHDYP49lukvvsuYGW+FwLzsp5VQpjvjbHs7OwAACNGjECPHj1w5MgRDBs2DAsWLEBwcHCmz5kwYQImTpyYoXzZsmVwcHDI13iJiIgo71knJiJwwACoExIQ/tlnuFe3rtIhZSkhIQF9+vRBbGwsnJ2dX+pYZp2k2draom7dujhw4IChbOjQoThy5AjCw8MzfU5mLWk+Pj548ODBS1dWYaXVahEWFoY2bdpArVYrHY7FY32bFuvbtFjfpmcpdW41ciSsZ89GWps20P31l9LhZCk6OhpeXl55kqSZ9eVOLy8vVKlSxaiscuXKWLNmTZbP0Wg00Gg0GcrVanWBPjnNAevQtFjfpsX6Ni3Wt+kV+DofOhSYMwdWYWGwiowEnskPzEVe1rH5XtQF0KRJE1y8eNGo7NKlS/D19VUoIiIiIlKEv7+c3BYAvvtO2VhMxKyTtA8//BAHDx7E1KlTcfnyZSxbtgwLFy5EaGio0qERERGRqQ0dKn/++muhmI7DrJO0evXqYd26dVi+fDmqVauGyZMnY/bs2XhTf9NVIiIiKjxatJDTccTHA8uXKx1NvjPrJA0AOnTogNOnTyMpKQnnz5/PdvoNIiIismAqFRASIh8vWCDv62nBzD5JIyIiIjIIDgY0GuDECcDCbxPJJI2IiIgKDnd3oHt3+fj775WNJZ8xSSMiIqKCRX/Jc/lyIDZW2VjyEZM0IiIiKliaNpXzpCUkAMuWKR1NvmGSRkRERAWLSgUMHCgf//yzsrHkIyZpREREVPD06QNYWwOHDgEXLigdTb5gkkZEREQFj4cHEBQkH1toaxqTNCIiIiqY+vWTP5cuBXQ6RUPJD0zSiIiIqGDq0AFwcwNu3gR27lQ6mjzHJI2IiIgKJo0GeOMN+XjJEkVDyQ9M0oiIiKjgCg6WP9ets7ibrjNJIyIiooKrXj150/XERGDjRqWjyVNM0oiIiKjgUqmAXr3k499/VzaWPMYkjYiIiAo2fZK2ZQsQE6NoKHmJSRoREREVbFWrAtWqAVotsH690tHkGSZpREREVPBZ4CVPJmlERERU8OmTtO3bgQcPlI0ljzBJIyIiooKvfHnglVfknQfWrlU6mjzBJI2IiIgsQ48e8ue6dcrGkUeYpBEREZFl6NxZ/tyxA4iLUzSUvMAkjYiIiCxDpUpyYlutVk7HUcAxSSMiIiLLoW9Ns4CpOJikERERkeXo1En+3LQJSElRNpaXxCSNiIiILEeDBoCHBxAbC+zZo3Q0L4VJGhEREVkOa2ugY0f5uIBf8mSSRkRERJZFf8lz40ZACGVjeQkFKkn78ssvoVKpMHz4cKVDISIiInPVqhWg0QA3bgAXLigdTa4VmCTtyJEj+P7771GjRg2lQyEiIiJz5uAANGsmH2/dqmwsL8FG6QByIj4+Hm+++SYWLVqEL774Is+PL4RAamoqdDpdnh/bEmi1WtjY2CApKYl1ZAKs77xnbW0NGxsbqFQqpUMhIlMJDATCwuR8aQX0ClyBSNJCQ0PRvn17BAQEPDdJS05ORnJysmE97r8Zh7VaLbRabYb9tVot7t69i8TExLwN2oIIIeDp6Ynr16/zn5wJsL7zh729PTw8PKBWq43K9Z8LmX0+UN5jfZteoa3z1q2hBiD27EFqXBxgb2+Sl83Lejb7JO3333/H8ePHceTIkRztP23aNEycODFD+bZt2+Dg4JCh3MPDA0WKFEHRokVhY2P21UFEuZCamoqHDx/i1KlTuHv3bqb7hIWFmTiqwo31bXqFrs6FQFt3d9hHR+PIrFm4X7u2SV42ISEhz45l1lnJjRs3MGzYMISFhcHOzi5HzxkzZgxGjBhhWI+Li4OPjw/atm0LZ2dno32Tk5Nx/fp1lC5dOtMEjiQhBB4/fgwnJye27JgA6zt/ODs74/r166hWrRo0Go2hXKvVIiwsDG3atMnQykZ5j/VteoW5zq1ffx1YvBgNYmKQ9tprJnnN6OjoPDuWWSdpx44dw7179/DKK68YynQ6Hfbu3Yu5c+ciOTkZ1tbWRs/RaDRGH8B6arU6w8mp0+mgUqlgY2MDK6sCM4bC5NLS0gAAKpWK9WQCrO/8oe+TZmNjk+k/qsw+Iyj/sL5Nr1DWeVAQsHgxrMPCYG2i956XdWzWSVrr1q1x+vRpo7L+/fujUqVKGDVqVIYEjYiIiMggIABQqYBz54DbtwEvL6UjeiFm/TXdyckJ1apVM1ocHR3h7u6OatWqKR0e5YJKpcL6l5wBul+/fuisv4FuPvHz88Ps2bOz3SclJQXlypXDgQMH8jWWzEyYMAG1atUy+euao3PnzqFUqVJ48uSJ0qEQkblxcwP0n5UF8BZRZp2kUeb69esHlUoFlUoFtVoNDw8PtGnTBj/99JPhUpmen5+fYd+nly+//DJfY8wqibh9+zaCgoJe6tjffvstlixZ8lLHyAsLFiyAv78/GjdunKP98yJBVcq0adNQr149ODk5oUSJEujcuTMuXrxotM/ChQvRokULODs7Q6VSISYm5qWP+/DhQwwZMgQVK1aEvb09SpcujaFDhyI2NtawT5UqVdCwYUPMmjUrz94vEVmQ5s3lTyZp+W/37t3PbeEoDNq1a4fbt2/j6tWr2Lx5M1q2bIlhw4ahQ4cOSE1NNdp30qRJuH37ttEyZMgQReL29PTMtM/gi3BxcYGrq2veBJRLQgjMnTsXAwYMyNPjpqSk5Onx8sqePXsQGhqKgwcPIiwsDFqtFm3btjVqvUpISEC7du0wduzYPDvurVu3cOvWLXz11Vc4c+YMlixZgi1btmSo9/79+2P+/PkZzn0iIrRoIX/u3q1kFLkjLFxsbKwAIGJjYzNsS0xMFOfOnROJiYkKRJZ7wcHBolOnThnKd+zYIQCIRYsWGcp8fX3FN99880LHf/jwoXj77beFq6ursLe3F4GBgeLo0aNCp9MJIYRYvHixcHFxEevWrRPlypUTGo1GtG3bVly/ft2wHYDRsnjxYiGEEADEunXrhBBCREVFCQBixYoVomnTpsLOzk7UrVtXXLx4URw+fFjUqVNHODo6inbt2ol79+5l+v71x3h2ad68uWH/ffv2GY5fqlQpMWTIEBEfH2/YfvfuXdGhQwdhZ2cn/Pz8xK+//vrcejty5IiwsrIScXFxhrLk5GQRGhoqPD09hUajEaVLlxZTp041/B6ejs/X11cIIcT48eNFzZo1xaJFi4Sfn59QqVRCp9OJU6dOiY4dOwpHR0fh5OQkevToIe7cuWN4Lf3z9C5fviz8/f1FaGioSEtLE0lJSeKjjz4S3t7ewsHBQdSvX1/s2rUrJ7/+HLl3754AIPbs2ZNh265duwQA8ejRozw9rt7KlSuFra2t0Gq1hrLk5GSh0WjE9u3bs3xeVn/vKSkpYv369SIlJeWF46UXx/o2vUJf59HRQqhUQgBCPPU5ml8ePHiQZd7xogpcS1q+EgJ48kSZJQ9uANuqVSvUrFkTa9eufanj9OvXD0ePHsWGDRsQHh4OIQR69uxpNEFfQkICpkyZgl9++QX79+9HTEwMevfuDQDo1asXPvroI1StWtXQcterV68sX2/8+PH47LPPcPz4cdjY2KBPnz4YOXIkvv32W+zbtw+XL1/GuHHjMn2uj4+PUQvhiRMn4O7ujmb/3Q7kypUraNeuHbp164ZTp05hxYoV+PvvvzF48GCj93vjxg3s2rULq1evxv/+9z/cu3cv2zrat28fKlSoACcnJ0PZnDlzsGHDBqxcuRIXL17Eb7/9Bj8/PwAwzPO3ePFi3L5922jev8uXL2PNmjVYu3YtIiIikJaWhjfffBOPHj3Cnj17EBYWhn/++SfLOjx16hSaNm2KPn36YO7cuVCpVBg8eDDCw8Px+++/49SpU+jRowfatWuHyMhIAMD169dRpEiRbJepU6dm+f71lxuLFi2abT29qJwcNzY2Fs7OzkbzGtra2qJWrVrYt29fnsZDRBagaFGgenX5eO9eZWN5US+fM5q3F2pJi4+XmbYSy1MtO8+TVUuaEEL06tVLVK5c2bDu6+srbG1thaOjo9Gyd+/eTJ9/6dIlAUDs37/fUHbv3j1hb28vfv/9dyFEekvZwYMHDfucP39eABCHDh0SQmRs6dFDJi1pP/zwg2H78uXLBQCxY8cOQ9m0adNExYoVn/v+ExMTRYMGDUSHDh0MrX4DBgwQ7733ntF++/btE1ZWViIxMVFcvHhRABCHDx/O8F6ya0kbNmyYaNWqlVHZkCFDRKtWrURaWlqmz3n6veuNHz9eqNVqo5bCLVu2CGtra3H16lVD2dmzZ43i1Nfv/v37hZubm/jqq68M+167dk1YW1uLmzdvGr1W69atxZgxY4QQQmi1WhEZGZntEh0dnen70Ol0on379qJJkyaZbs9tS9rzjiuEEPfv3xelS5cWY8eOzbCtS5cuol+/flk+ly1p5oH1bXqscyHE0KHyf+2gQfn+UnnZkmbWU3DQixNCZJgA9ZNPPkG/fv2MykqWLJnp88+fPw8bGxs0aNDAUObu7o5y5crhwoULhjIbGxvUq1fPsF6pUiW4urri/PnzqF+//gvFXKNGDcNjDw8PAEB1/bee/8qe17IFAO+88w4eP36MsLAww/xiJ0+exKlTp/Dbb78Z9hNCIC0tDVFRUbh06RJsbGxQp06dDO8lO4mJiRkmWO7Xrx/atGmDihUrol27dujQoQPatm373Lh9fX1RvHhxw/qFCxdQsmRJ+Pj4GMqqVKliqF99vV+/fh1t2rTBlClTMPyp+9KdPn0aOp0OFSpUMHqd5ORkuLu7A5C/v3Llyj03tsyEhobizJkz+Pvvv3P1/NweNy4uDu3bt0eVKlUwYcKEDNvt7e3zdKZvIrIgzZsDc+YUuMEDTNKe5uAAxMcr99p54Pz58/D39zcqK1asWK7/IZvC0xP/6RPMZ8ueHbX6rC+++AJbt27F4cOHjS5BxsfHIyQkBEOHDs3wnNKlS+PSpUu5irlYsWIZ5vB75ZVXEBUVhc2bN2P79u3o2bMnAgICsHr16myP5ejomKsYihcvDm9vbyxfvhzvvPOO4Y4a8fHxsLa2xrFjxzLMJVikSBEAMsGrUqVKtscfO3ZshkEAgwcPxp9//om9e/eiVKlSuYo7M8877uPHj9GuXTs4OTlh3bp1mU4W+fDhQ5QtWzbPYiIiC/JfFxicPQs8fCgvgRYATNKeplIBufyHaQ527tyJ06dP48MPP8z1MSpXrozU1FQcOnTIMLVEdHQ0Ll++jMqVKxv2S01NxdGjRw2tZhcvXkRMTIxhH1tbW+h0upd4Nzm3Zs0aTJo0CZs3b87wT/qVV17BuXPnskxSK1WqhNTUVBw7dszQQqV/L9mpXbs25s+fn6Hl0tnZGb169UKvXr3QvXt3tGvXDg8fPkTRokWhVqtzVCeVKlXCzZs3cePGDfj6+gKQc4HFxMQYJVb29vb4888/8dprryEwMBDbtm2Dk5MTateuDZ1Oh3v37uHVV1/N9DW8vb0RERGRbRxP9wsTQmDIkCFYt24ddu/eneGLQG7l5LhxcXEIDAyERqPBhg0bsrxF3JkzZ9C9e/c8iYuILEyxYkDZssCVK8CRI0BgoNIR5QiTtAIqOTkZd+7cgU6nw927d7FlyxZMmzYNHTp0QN++fY32ffz4Me7cuWNU5uDgkOFepgBQvnx5dOrUCe+++y6+//57ODk5YdSoUfDy8kKnTp0M+6nVagwZMgRz5syBjY0NBg8ejIYNGxqSNj8/P0RFRSEiIgKlSpWCk5PTS0+9kZkzZ86gb9++GDVqFKpWrWp4n7a2tihatChGjRqFhg0bYvDgwRg4cCAcHR1x7tw5hIWFYe7cuYZLkyEhIZg/fz5sbGwwfPhw2NvbZ/u6LVu2RHx8PM6ePWuYWHnWrFnw8vJC7dq1YWVlhVWrVsHT09Nw6dTPzw87duxAkyZNoNFo4ObmlumxAwICUKVKFbz99tuYPXs2UlNTMWjQIDRv3hx169Y12tfR0RF//fUXgoKCEBQUhC1btqBChQp488030bdvX3z99deoXbs27t+/jx07dqBGjRpo3779C1/uDA0NxbJly/DHH3/AycnJUM8uLi6Gurpz5w7u3LmDy5cvA5CXXZ2cnFC6dGlDwte6dWt06dLFMHDjeceNi4tD27ZtkZCQgF9//RVxcXGIi4sDIFsS9S2FV69exc2bNxEQEJDj90REhUzDhjJJO3SowCRpHDhQQKfgwH9TOdjY2IjixYuLgIAA8dNPPxk6zOs9O/WDfgkJCcny+PopOFxcXIS9vb1o27ZtplNwrFmzRpQpU0ZoNBoREBAgrl27ZjhGUlKS6Natm3B1dX3uFBwnTpwwPC+zTuf613v6/esHDmQ23QeemYLj8OHDok2bNqJIkSLC0dFR1KhRQ0yZMsWw/fbt26J9+/aGaTN++eWXHE1d0rNnTzF69GjD+sKFC0WtWrWEo6OjcHZ2Fq1btxbHjx83bN+wYYMoV66csLGxyTAFx9NyMwXH48ePRePGjUWzZs1EfHy8SElJEePGjRN+fn5CrVYLLy8v0aVLF3Hq1Kls31NWMqvjp3+v+piet4+vr68YP358jo+rPx8yW6KiogzHmTp1qggMDMz2PXDggHlgfZse6/w/c+bIwQOvvZavL5OXAwdUQuTB3A9mLC4uDi4uLoZh+09LSkpCVFQU/P39s7yEQvKG33FxcXB2doaVlRWWLFmC4cOH52hGeUt26tQptGnTBleuXDH09coLz9Y3ZS8lJQXly5fHsmXL0KRJkyz3y+rvXavVYtOmTXjttdcK382nFcD6Nj3W+X8OHwYaNADc3YH792UXp3wQHR2NYsWKZZp3vCj+ByDKpRo1amD69OmIiopSOpRC7fr16xg7dmy2CRoREWrWBGxtgehoedmzAGCfNKKX8OzUJmR65cqVM+vRy0RkJjQaoHZt2Sft0CGgAHxusCWNXli/fv0K/aVOIiIqgBo2lD8PHVI2jhxikkZERESFg36i9gKSpPFyJxERERUOjRoBbdsCWcwhaW6YpEFOqElElo1/50QEPz9g61alo8ixQn25Uz8Umff7I7J8+r/zQj0FAREVKIW6Jc3a2hqurq6Gm3c7ODhkuDk5yXm7UlJSkJSUxHm7TID1nbeEEEhISMC9e/fg6uqa4X6mRETmqlAnaQDg6ekJAIZEjTISQiAxMRH29vZMYk2A9Z0/XF1dDX/vREQFQaFP0lQqFby8vFCiRAlotVqlwzFLWq0We/fuRbNmzXipyARY33lPrVazBY2ICpxCn6TpWVtb80M8C9bW1khNTYWdnR2TBhNgfRMREVDIBw4QERERmSsmaURERERmiEkaERERkRmy+D5p+gks4+LiFI6k4NJqtUhISEBcXBz7SJkA69u0WN+mxfo2Pda5aT1+/BhA3kygbfFJmr6yfHx8FI6EiIiICovo6Gi4uLi81DFUwsLvlZKWloZbt27BycmJc07lUlxcHHx8fHDjxg04OzsrHY7FY32bFuvbtFjfpsc6N63Y2FiULl0ajx49gqur60sdy+Jb0qysrFCqVCmlw7AIzs7O/AM3Ida3abG+TYv1bXqsc9PKizvGcOAAERERkRlikkZERERkhpik0XNpNBqMHz8eGo1G6VAKBda3abG+TYv1bXqsc9PKy/q2+IEDRERERAURW9KIiIiIzBCTNCIiIiIzxCSNiIiIyAwxSSMiIiIyQ0zS6IX4+flBpVIZLV9++aXSYVmUefPmwc/PD3Z2dmjQoAEOHz6sdEgWacKECRnO5UqVKikdlsXYu3cvOnbsCG9vb6hUKqxfv95ouxAC48aNg5eXF+zt7REQEIDIyEhlgrUAz6vvfv36ZTjf27Vrp0ywFmDatGmoV68enJycUKJECXTu3BkXL1402icpKQmhoaFwd3dHkSJF0K1bN9y9e/eFXodJGr2wSZMm4fbt24ZlyJAhSodkMVasWIERI0Zg/PjxOH78OGrWrInAwEDcu3dP6dAsUtWqVY3O5b///lvpkCzGkydPULNmTcybNy/T7TNmzMCcOXOwYMECHDp0CI6OjggMDERSUpKJI7UMz6tvAGjXrp3R+b58+XITRmhZ9uzZg9DQUBw8eBBhYWHQarVo27Ytnjx5Ytjnww8/xMaNG7Fq1Srs2bMHt27dQteuXV/shQTRC/D19RXffPON0mFYrPr164vQ0FDDuk6nE97e3mLatGkKRmWZxo8fL2rWrKl0GIUCALFu3TrDelpamvD09BQzZ840lMXExAiNRiOWL1+uQISW5dn6FkKI4OBg0alTJ0XiKQzu3bsnAIg9e/YIIeT5rFarxapVqwz7nD9/XgAQ4eHhOT4uW9LohX355Zdwd3dH7dq1MXPmTKSmpiodkkVISUnBsWPHEBAQYCizsrJCQEAAwsPDFYzMckVGRsLb2xtlypTBm2++ievXrysdUqEQFRWFO3fuGJ3rLi4uaNCgAc/1fLR7926UKFECFStWxAcffIDo6GilQ7IYsbGxAICiRYsCAI4dOwatVmt0jleqVAmlS5d+oXPc4m+wTnlr6NCheOWVV1C0aFEcOHAAY8aMwe3btzFr1iylQyvwHjx4AJ1OBw8PD6NyDw8PXLhwQaGoLFeDBg2wZMkSVKxYEbdv38bEiRPx6quv4syZM3ByclI6PIt2584dAMj0XNdvo7zVrl07dO3aFf7+/rhy5QrGjh2LoKAghIeHw9raWunwCrS0tDQMHz4cTZo0QbVq1QDIc9zW1haurq5G+77oOc4kjTB69GhMnz49233Onz+PSpUqYcSIEYayGjVqwNbWFiEhIZg2bRpvOUIFSlBQkOFxjRo10KBBA/j6+mLlypUYMGCAgpER5b3evXsbHlevXh01atRA2bJlsXv3brRu3VrByAq+0NBQnDlzJl/6tDJJI3z00Ufo169ftvuUKVMm0/IGDRogNTUVV69eRcWKFfMhusKjWLFisLa2zjD65+7du/D09FQoqsLD1dUVFSpUwOXLl5UOxeLpz+e7d+/Cy8vLUH737l3UqlVLoagKlzJlyqBYsWK4fPkyk7SXMHjwYPz555/Yu3cvSpUqZSj39PRESkoKYmJijFrTXvTznH3SCMWLF0elSpWyXWxtbTN9bkREBKysrFCiRAkTR215bG1tUadOHezYscNQlpaWhh07dqBRo0YKRlY4xMfH48qVK0ZJA+UPf39/eHp6Gp3rcXFxOHToEM91E/n3338RHR3N8z2XhBAYPHgw1q1bh507d8Lf399oe506daBWq43O8YsXL+L69esvdI6zJY1yLDw8HIcOHULLli3h5OSE8PBwfPjhh3jrrbfg5uamdHgWYcSIEQgODkbdunVRv359zJ49G0+ePEH//v2VDs3ifPzxx+jYsSN8fX1x69YtjB8/HtbW1njjjTeUDs0ixMfHG7VKRkVFISIiAkWLFkXp0qUxfPhwfPHFFyhfvjz8/f3x+eefw9vbG507d1Yu6AIsu/ouWrQoJk6ciG7dusHT0xNXrlzByJEjUa5cOQQGBioYdcEVGhqKZcuW4Y8//oCTk5Ohn5mLiwvs7e3h4uKCAQMGYMSIEShatCicnZ0xZMgQNGrUCA0bNsz5C+X1MFSyXMeOHRMNGjQQLi4uws7OTlSuXFlMnTpVJCUlKR2aRfnuu+9E6dKlha2trahfv744ePCg0iFZpF69egkvLy9ha2srSpYsKXr16iUuX76sdFgWY9euXQJAhiU4OFgIIafh+Pzzz4WHh4fQaDSidevW4uLFi8oGXYBlV98JCQmibdu2onjx4kKtVgtfX1/x7rvvijt37igddoGVWV0DEIsXLzbsk5iYKAYNGiTc3NyEg4OD6NKli7h9+/YLvY7qvxcjIiIiIjPCPmlEREREZohJGhEREZEZYpJGREREZIaYpBERERGZISZpRERERGaISRoRERGRGWKSRkRERGSGmKQRERERmSEmaURE/9HpdGjcuDG6du1qVB4bGwsfHx98+umnCkVGRIUR7zhARPSUS5cuoVatWli0aBHefPNNAEDfvn1x8uRJHDlyBLa2tgpHSESFBZM0IqJnzJkzBxMmTMDZs2dx+PBh9OjRA0eOHEHNmjWVDo2IChEmaUREzxBCoFWrVrC2tsbp06cxZMgQfPbZZ0qHRUSFDJM0IqJMXLhwAZUrV0b16tVx/Phx2NjYKB0SERUyHDhARJSJn376CQ4ODoiKisK///6rdDhEVAixJY2I6BkHDhxA8+bNsW3bNnzxxRcAgO3bt0OlUikcGREVJmxJIyJ6SkJCAvr164cPPvgALVu2xI8//ojDhw9jwYIFSodGRIUMW9KIiJ4ybNgwbNq0CSdPnoSDgwMA4Pvvv8fHH3+M06dPw8/PT9kAiajQYJJGRPSfPXv2oHXr1ti9ezeaNm1qtC0wMBCpqam87ElEJsMkjYiIiMgMsU8aERERkRlikkZERERkhpikEREREZkhJmlEREREZohJGhEREZEZYpJGREREZIaYpBERERGZISZpRERERGaISRoRERGRGWKSRkRERGSGmKQRERERmSEmaURERERm6P+Ic7fwei4QGgAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -281,10 +281,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:01.275452Z", - "iopub.status.busy": "2026-04-14T09:45:01.275359Z", - "iopub.status.idle": "2026-04-14T09:45:01.786486Z", - "shell.execute_reply": "2026-04-14T09:45:01.785425Z" + "iopub.execute_input": "2026-09-18T12:42:12.746809Z", + "iopub.status.busy": "2026-09-18T12:42:12.746725Z", + "iopub.status.idle": "2026-09-18T12:42:13.381099Z", + "shell.execute_reply": "2026-09-18T12:42:13.380096Z" } }, "outputs": [ @@ -292,9 +292,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "PSO best score: 17.2255\n", - "DE best score: 21.2184\n", - "Difference: 3.9930\n", + "PSO best score: 26.3650\n", + "DE best score: 29.9981\n", + "Difference: 3.6332\n", "\n", "Both optimizers should find solutions of similar quality.\n" ] @@ -336,16 +336,16 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:01.788180Z", - "iopub.status.busy": "2026-04-14T09:45:01.788027Z", - "iopub.status.idle": "2026-04-14T09:45:01.848453Z", - "shell.execute_reply": "2026-04-14T09:45:01.847798Z" + "iopub.execute_input": "2026-09-18T12:42:13.382365Z", + "iopub.status.busy": "2026-09-18T12:42:13.382266Z", + "iopub.status.idle": "2026-09-18T12:42:13.445803Z", + "shell.execute_reply": "2026-09-18T12:42:13.445296Z" } }, "outputs": [ { "data": { - "image/png": "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Hg4bGxt4enqaOGrTsLe3R40aNbBz507dttTUVOzcuRP16tVTMDJlxcbG4urVq3qJJa/x9/eHt7e33mcjJiYGR44cydOfjdu3b+Px48dW9dkQQmDQoEFYv349du3aBX9/f73Ha9SoATs7O73PwqVLl3Dz5s0cfRZYg83DwsLCcOTIETRp0gQuLi4ICwvD0KFD0b17dxQoUEDp8Ixm2LBhCAkJQc2aNVG7dm3MmTMHcXFx6Nmzp9Khmczw4cPRrl07+Pr64u7duxg3bhzUajW6du2qdGhGFRsbq1dLj4yMRHh4OAoWLIgSJUrgk08+weTJk1GmTBn4+/vjiy++gI+PDzp06KBc0AaWVRkULFgQEyZMQKdOneDt7Y2rV69i5MiRKF26NIKDgxWM2rAGDhyIFStWYOPGjXBxcdGdV3Vzc4OjoyPc3NzQu3dvDBs2DAULFoSrqysGDx6MevXqoW7dutl/IUN3dybLceLECVGnTh3h5uYm8uXLJ8qXLy+mTJkiEhISlA7N6L7//ntRokQJYW9vL2rXri0OHz6sdEgm1aVLF1GkSBFhb28vihYtKrp06SIiIiKUDsvodu/eLQCku4SEhAgh5FCdL774Qnh5eQkHBwfRrFkzcenSJWWDNrCsyiA+Pl60aNFCeHh4CDs7O+Hr6yv69Okj7t27p3TYBpXR+wcgFi1apNvnxYsX4qOPPhIFChQQTk5O4u233xZRUVE5eh0uV0dERGQEPAdLRERkBEywRERERsAES0REZARMsEREREbABEtERGQETLBERERGwARLRERkBEywRERERsAES0REZARMsER5XEpKCt544w107NhRb3t0dDSKFy+OMWPGKBQZkWXjVIlEhMuXL6Nq1aqYP38+3n//fQDABx98gFOnTuHYsWOZrr5ERJljgiUiAMB3332H8ePH49y5czh69Cg6d+6MY8eOoUqVKkqHRmSRmGCJCIBcI7Np06ZQq9U4c+YMBg8ejLFjxyodFpHFYoIlIp2LFy+ifPnyCAwMxMmTJ2FryyWjiV4XOzkRkc7ChQvh5OSEyMhI3L59W+lwiCwaa7BEBAA4dOgQGjVqhG3btmHy5MkAgB07dkClUikcGZFlYg2WiBAfH4/Q0FAMGDAATZo0wYIFC3D06FHMmzdP6dCILBZrsESEjz/+GFu2bMGpU6fg5OQEAPj5558xfPhwnDlzBn5+fsoGSGSBmGCJ8ri9e/eiWbNm2LNnD9588029x4KDg5GcnMymYqLXwARLRERkBDwHS0REZARMsEREREbABEtERGQETLBERERGwARLRERkBEywRERERsAES0REZARMsEREREbABEtERGQETLBERERGwARLRERkBP8HLir4IjV57n8AAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAd8AAAHVCAYAAACwm/E+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAm21JREFUeJzs3XdYU9cbB/Bv2ENAGQIKKu69996KA7d1a8Vt3bV2qNW6+6ta96h7z6p1VureIm7BvcAJiOwRkvv74yUJkSHjZvJ+nidPQnJz7rlJyJtz7jnvkQiCIIAxxhhjWmOi6wowxhhjeQ0HX8YYY0zLOPgyxhhjWsbBlzHGGNMyDr6MMcaYlnHwZYwxxrSMgy9jjDGmZRx8GWOMMS3j4MuYDu3evRtnz55Nc39SUhJOnTqFjRs34u+//1beHxoaisOHD2P9+vW4fv26lmsrjg8fPmDdunUICQnR6nO1RZN1NITjZ1ljpusKMONy4MABhIeHAwAkEgmsrKxQokQJ1K5dGyYm6r/1BEHAzZs38eLFC5iamqJ06dKoUKFCpuU/evQI9+7dQ0JCAjw8PFC3bl1YWVlp9JiyKvWxm5iYwNbWFq6urqhcuTIcHR3Tfc6UKVPQsGFDNG3aVHlfVFQU6tSpAwCoV68ePD090bVrV1y5cgXe3t6oUaMGvLy8YG9vj9q1a2vp6LLn7du3OHbsGNq1a4dChQqpPfbkyRMMHToUx48fh4eHR7bKzepzIyIisH///gwfL1GiBJo1a5atfYtdx4xo6rVj+oWDLxPVzJkz8eLFC/To0QMA8PHjR5w6dQoeHh7Yv38/KlasCAA4f/48Ro4ciffv36Nhw4awtLTEqVOn4Orqirlz56Jz585q5d6+fRvDhw9HUFAQmjZtCnt7e9y8eRNv377Fr7/+igkTJujkeFP78tjj4uLw4sUL3Lx5Ew0aNMDcuXNRt25dtef06tULpUqVUrtvw4YNePLkCUJDQ1GgQAHl/XPmzEH58uVx6tQpLR1RzgUGBmLo0KHw8/NLE0Dc3Nzg6+sLT09Pje3/zZs3GDp0KKpVq4bq1auneVwul2ss+OaWrl87ph0cfJnoXFxcsG7dOuXfjx49Qo0aNdCzZ08EBgbi06dP8PHxQZkyZfDq1Svky5cPABAbG4tx48bhyJEjasH31q1baNSoEerVq4cXL17AyclJ+diaNWswatQoBAcHY9GiRVo+0rS+PHakBIJhw4ahQYMG2LdvH7p06aJ8bP78+WnKePToEQoUKKAWeBX3fxm8DVHJkiXTvEaa4uPjgxkzZmhlX9qgzdeOaRYHX6ZxZcqUQdu2bbF//368evUKt27dQmRkJIYOHaoMvABga2uLdevW4datW8r7BEHAwIEDYWtri3379sHBwUGt7OHDh+PBgwdYvHgxunXrhgYNGqRbh+3bt8PZ2Rlt2rRJ89j58+fx7NkzDBo0CBKJBEhpfQQFBUEikaBSpUppWqfZUbhwYezfvx9VqlTBsGHD0KpVK+Vx7969G66urmjatCni4+Oxfft23L59G0lJSWm+ZD9+/Ijnz58r7+/Zsyfs7e2Vj9+7dw/379+HRCJB7dq1Ubx4cbXnb926FcWLF0eDBg0QGBiIW7duoVy5csqWYUJCAi5fvoyQkBA4OTmhcePGsLOzUz4/ODgY//77Lzp27AhnZ2ecPn0aHz58QI0aNVCuXDnldo8ePcLx48cBAMePH8fLly8BAPXr10f58uXx4cMHHD58GG3btlV2nUZFRWHPnj3KMhSnK+rUqZPmdIWYFF28zZo1Q4kSJdQeEwQBmzZtQokSJdC4cWPl/REREbh48SIiIiJQpEgRNGjQAObm5pnu5+HDh7h48SJ69eql9plXHHejRo1QpkyZHL12Wa1XVt8/ph084IpphbW1NQAgMTFRGTA+fvyY7rbVqlVT3r569Sru3buHQYMGpQm8CuPHjwcArF27NsP9Hz9+HD179kRcXJza/XK5HP3798eePXsgkUgglUrRuXNn1K1bF1u3bsXu3bvRqVMndO7cGcnJyTk4cmJlZYVhw4YhLCxM+eWKlHO+imAqlUpx9epVhIaGKm+nvkilUoSGhir/TkxMBAC8e/cOzZo1Q4MGDbB9+3Zs27YNFStWxKhRoyCXy5X7GjNmDLZu3YqxY8di6NCh2Lp1Kw4fPgwAOHLkCIoVK4Zhw4bh2LFjmD59OooWLYojR44on3/nzh0MHToUly9fRosWLbBixQqsW7cOFSpUwJw5c5TbhYaGIigoCAAQFBSkrO+HDx+AVOct79+/r3xOYmKi2rEeOHAAHTp0QPny5REcHJzj1/1r7O3tMWHCBMyePTvNY+fOncPgwYPV9r9q1Sp4eHhg2rRpOHz4MPr27YsyZcogICAg0/2cPXsWQ4cORVhYmNr9Hz9+xNChQ3HhwgUgh69dVuuV1fePaYnAmIiqVKkilChRQu2+6OhooVChQoKzs7MglUqF+Ph4oXz58oKtra0wY8YM4c6dO4JUKk23vMWLFwsAhP3792e6X2dnZ6FMmTIZPn7mzBkBgLB582a1+0+cOCEAEPbu3SsIgiBs375dACDcv39fbbtDhw4JCQkJ2T729Orw008/Ke8rWrSo0LdvX7Xt+vbtK7i6uqZ5vqurqzBw4EC1+2QymVCjRg3By8tLCA4OVt7v7+8vmJubCwsXLlTe5+DgIHh6egorV65U3vf69Wvh1q1bgoWFhTBkyBC192Hy5MmCjY2N8OLFC0EQBOHw4cMCAKFu3brC8+fPlduNHz9esLCwUNu/n5+fAEDw8/NLcxwXLlwQAAjHjx/P8LUSBEGIiooSKleuLPj4+GT7uffu3RMACB07dhT++uuvNJegoCDltr6+voKtra0QFRWlVka/fv2E/PnzC/Hx8YIgCMKpU6cEiUQiTJo0SblNZGSkULt2bcHV1VWIjIzMsI6rVq0SAChfS4UnT54IAIS//vorx69dVuuVnfePaR63fJnooqKisG7dOqxbtw7z589HnTp1EB4ejtWrV8PMzAxWVlY4ffo0vv32W6xevRpVqlSBra0tmjVrhr/++kuttaYYPZz6PG96nJyc8OnTpwwfb9KkCUqWLIkNGzao3b9hwwY4OzvDx8cHSNUa/7Ib0cfHB5aWljl4NVTy588PAPj8+XOuyknt5MmTCAgIwG+//abWDVmzZk306NEDK1euVNvewsICI0aMUP7t6emJP/74A2ZmZliyZAnMzFRnombOnAmZTIZNmzapldGpUyd4eXkp/x48eDCSkpKUrbfcCAwMxJ49e7B+/Xrs3r0bhQoVwvnz53NcXkhISJoehNQtSQDw9fVFbGwsdu/erbwvMjIS+/fvR58+fZSj6ZctWwZ7e3v89ttvyu3s7e0xZ84cfPjwQe352pTdemny/WNZx+d8megUXYhI6W4dMmQIunXrhiJFiii3cXV1xbJly7Bs2TKEhIQgICAAmzdvVnZ7HjhwAACU58diYmIy3WdMTIzaubQvSSQSDB48GD///DOePn2KkiVL4tOnTzh06BBGjx4NCwsLAEC3bt0wd+5cVK9eHZ06dUKzZs3QokULtS+rnIqNjVU7JjEo5voGBwdj06ZNEAQBgiAAKa/Js2fPkJiYqPzhUKVKFeV57dRluLi4KM+5KsoQBAEODg4IDAxU275KlSpqfyuCfm66h8PDw9G1a1fcuHEDDRo0QKFChWBmZoYPHz7g8+fPaseQHVkZcFWvXj1UqFAB69evx5AhQwAAO3fuRHx8vPJvALh79y7KlSsHGxsbtefXqlVL+bguZLdemnj/WPZx8GWiS2/Eb2Y8PDzg4eGBTp06oU+fPti5cydu3LiBmjVrolKlSkDKF0j79u3TfX54eDjevn2rbL1mZNCgQZg2bRo2btyIOXPmYNu2bUhMTMTgwYOV23h6euLhw4fYvn07Tp06hZ9++glhYWHw8fHBrl27lOeuc0IRxMQc3KI47/vgwQM8e/ZM7TEXFxf4+vqq9SS4uLikW4ZMJsPFixfTPNaxY8c0X9apB2EhVS9BUlJSjo9j6tSpuHXrFu7evas28GnMmDG4deuW8geFpvj6+mLixIkIDAxE+fLlsWHDBlStWlVt/IFMJkv3B4Dih5tUKs2wfFNTUyBljEFqCQkJua57duulifePZR8HX6Z1YWFhcHR0THcUa61atbBz5068evUKNWvWRPPmzeHq6oqtW7fihx9+UH6JpaZo8fXu3TvT/bq7u6Ndu3bYtGkTfvvtN2zYsAF169ZNk9jD0dERY8aMwZgxYyCXy7F27VqMHDkS69evx3fffZfj4966dSusrKzg7e2d4zK+VKZMGSBl1HejRo1yXMajR49EncLyZev6a/z9/VG9evU0I47v3LkjWp0y079/f/z444/YsGEDBg4cCH9/fyxfvlxtmxIlSuDhw4cQBEHt+B4+fAikTAPKiJubG5AyoCr1KPQnT56k2Ta7r11u6sV0h8/5Mq27ePEiunXrlmbkp1wux5EjR2BiYoKqVasCKd3Wf/75J4KCgjB58uQ0LaAbN25g5syZaNGihTK5RWaGDBmCt2/fYvbs2bhz5w58fX3VHn/y5IlaS8HExATt2rUDUs5l54RcLsfUqVNx4cIF/Prrr8ovYjF07doVbm5umDlzZprR2IIgKEfOZmbUqFF4/fo1/vrrrzSPRUVF5SiVoaKFHRERkaXtPTw88OLFC7XX/r///sPt27ezve+ccHZ2RqdOnbB161asXr0aVlZW6NOnj9o2ffr0wdu3b7Ft2za1+3///XdYWFhk+vmrWrUqzMzM1Ea6JycnY/369Wm2ze5rl5t6Md3hli/TusKFC+P69esoVaoUevXqhQoVKiAiIgIHDhzAvXv3sHDhQrUWUK9evZCQkIBx48bhwoUL6NatG+zs7HDz5k1s27YNHTt2xMaNG7M0H7Rdu3Zwd3fHb7/9BltbW3zzzTdqj//333/4448/4O3tjVKlSiEuLg7btm2Dl5cXvv3226+WrxhsBgDx8fF48eIFDh8+jPDwcCxbtixXLef05MuXD//88w+6dOmCihUrokePHihYsCBevHgBPz8/tG7dGgsXLsy0jM6dO2PevHkYOXIkjhw5ggYNGkAikSAoKAinTp3Cli1bsp3KsFy5cihRogRmz56N9+/fw9raWjlXNT1TpkxBs2bN0KpVK3Tp0gXPnj3D9evXMXz4cPzxxx/Z2ndqN2/eTLdF7+TkpJbsBCldz3v37sXq1avRq1evNElOBg8ejDNnzmDw4MG4fPkySpUqhX///RdnzpzBunXrULRo0Qzr4enpieHDh2POnDmIjIxEoUKFcPz4cfTv3x9Hjx5V2za7r11u6sV0h4MvE1XXrl2/eh6rVq1aeP36Nc6cOYOAgAAEBQXB3Nwcvr6+6NChQ7pfFoMGDYKPjw/++ecf3Lt3D8HBwShZsiSuXr2qdl7ua8zMzDB//nycP38eVatWTXP+a+TIkejUqRMOHjyIR48ewcbGBtOmTUOXLl2+OuCna9eueP36Na5evQqJRAJbW1sULFgQS5cuRfPmzdN9fnrpJZs1awZXV9c02/bt21eZnjO1WrVq4cmTJ/j7779x69YtPH36FF5eXti3b5+yWxoABgwYkGEu6B9//BE9e/bEwYMH8fz5c9jZ2aFp06ZYsmSJ8jUqUqQIfH1907TcFe9d6vfB3NwcZ8+exbZt2/DgwQMkJyejRIkSKF++fLopEuvVq4f79+9j586dePbsGSpWrIj58+fjv//+Q0REhHIUdlbTKzo6Oip7NRSD/1IrUqRImuDbqlUrjB49GgkJCWojwhUkEgm2bdsGX19fnDx5Ek+fPkXTpk2xcuVKtR+LGdVx6dKlaNiwIS5duoTIyEisXr0aBQoUgK+vL8qWLZvj1y6r9crO+8c0TyJoeiQDY4wxxtTwOV/GGGNMyzj4MsYYY1rGwZcxxhjTMg6+jDHGmJZx8GWMMca0jIMvY4wxpmU8z/cLcrkcb9++hZ2dXbbTvDHGGMt7BEFAdHQ0ChUqlKVkP+Dgm9bbt2+/OoGfMcYY+1JwcHCWs8Fx8P2CIptPcHAw7O3ttbZfqVSKkydPonXr1mnWkjVGee14kQePmY/XuPHxqkRFRcHT0zNNxrzMcPD9gqKr2d7eXuvB18bGBvb29nnmg5yXjhd58Jj5eI0bH29a2TlVyQOuGGOMMS3j4MsYY4xpGQdfxhhjTMs4+DLGGGNaxsGXMcYY0zIOvowxxpiWcfBljDHGtIyDL2OMMaZlHHwZY4wxLTO4DFfJycm4dOkSLCwsUK9ePbXHZDIZ/Pz80jynUqVKKFy4sBZryRhjjGXMYIKvXC7HrFmzsGHDBsTHx6NIkSK4ceOG2jbx8fHw9vZG3bp14eDgoLx/0qRJHHwZY4zpDYMJvjKZDHK5HJcuXcIff/yBixcvZrjt4sWLUbduXa3WjzHGGMsqgwm+5ubmmDlzZpa2ffLkCRITE1GiRIksL+/EGGOMaYvBBN/smD59Otzc3HD37l00a9YMmzZtgrOzc7rbJiYmIjExUfl3VFQUkLKChVQq1VqdFfvS5j51Ka8dL/TpmBMTgdBQwMkJsLam+wIDIblyBZKoKCAhAZBKgaQk5bV8yBCgQgUAgCQgAJKdOwFTU8DEBLC0BPLlA2xtIdjaQmjUCPDyglQqhUlSEqShoYCzM5CNFV8Mkd68v1rCx5v2sewwquBrZmaGv//+G126dAEAvHnzBs2bN8eIESOwb9++dJ8zb968dFvUJ0+ehI2Njcbr/KX0BowZs7x2vNDkMQsCXacEOacHD+B+5QqsPn2CZWQkLD9/huXnz7CIjQUAXJw9G+EVKwIAvI4dQ+W1azMs2t/BAR9evQIAeJ4+jepLl2a47Y1Jk/CmUSMAgNvt27Dp2RNyU1Mk2dsjyc4OiQ4OiHd2RryzM97Wq4eo4sVV9TeCAJ3XPtN8vEBcXFy2yzGq4GtlZaUMvABQuHBhTJ48GaNGjYJUKk13DcaffvoJEydOVP6tWBS5devWWl/P18/PD61atcoza2PmpeOFmMccEwM8fgzJw4eQPHqkvODlS8hOnIBQpw4AwOTlS5geOZJuEYKZGepWrgyhbVsAgMTCAvK3bwE7O8DaGoKFBWBhAZibAxYWqPHNN0C5cvRkNzfILC0BmQyQy4HEREhiYqhecXGo2rEjqtSvD6lUioenT1NdZDJYRUTAKiJCrR4lOnSA0K4d1eHYMZgOGwahdGmgVCkIpUvTpVQpoEQJqosey2ufaT5eFUWPaXYYVfBNj6OjI6RSKcLDw+Hm5pbmcUtLS1haWqa539zcXCcfKF3tV1fy2vEiO8csCEBICJA/PwVFAFixAvjuuwyfYhYSAjRsSH80bAj88ANQqBDg6qq6uLlBUqAAzFK3Mr296ZIB09R/1KlDlwykTh4Q3Lw5Ks2eDfPISCAsjLq7P3wAgoOB4GCYVa+uCqpv3wIfP0Ly8SPw5YBKCwtg+3age3f6OzqaXh8t/kDOqrz2mebjRY6O36iCb0REBAoUKKB239GjR+Hu7g5XV1ed1YuxLImKAq5dA65cAS5fBm7cAMLDgd27gZ49aZtSpei6YEGgbFn1S4kSQNGiqvJq1KCLrllZ0Y+Hrw1+HDAAqF0bePSILo8fq65jY9WPbccOYMQIOua6dYH69YF69YBKlQAzo/paY0bKoD6lly5dQnR0NF69eoWoqCicOHECANCqVSuYmppi165dOHr0KHx8fJA/f34cO3YMO3fuxObNmyExgnNJzEj5+wO+vsD9+6rztgpmZsCbN6q/mzShFqSTk9arqXG2tun/YBAE4OVLIPVc/Rcv6PrZM7ps364qo3ZtYM0a1Q8VxvSQQQXfrVu34uXLlwCA4sWL488//wQANG3aFKamphg5ciTKli2LvXv3IjQ0FMWLF8e9e/dQunRpHdecMQAREXC/ehUmJ09SS61vX7rfxQW4d49ue3mpWnF16gAVK1LLUcHSki55iURCr0tq8+cDkycDAQGqnoKrV6n34MwZGl2tsG0b8Po10KIFBXZuGTM9YFCfwtWrV391m2bNmqFZs2ZaqQ9jmRIECqpHjwJHj8LsyhXUlsvpseBgVfAtWhT45x+gVi0gnXEJLANOTkDr1nQBaABYUBC95qlPP61dC1y4APzyC+DgQEHYxwdo145++DCmAwYVfBkzGMnJdB722TPlXRIA0YULw6ZjR5h26KDaViIBOnbUTT2Niakp9RSkTJ9S6tePWsJnzgCfPwN//00XiQRo1Qo4ccIopjgxw8KrGjGWW4mJwJEjwJw5qvvMzIAiRajLuH17YMUKSJ88wekVKyBfupTuY9oxbBgF27AwGtA2fTpQrRr1TNjaqgfeJUuAu3fTnntnTGTc8mUsJ5KTgVOn6HzioUM09UUiAQYPBtzdaZsNG2hqjyKLlFQKPHig02rnaaamNBirdm1g5kzq+k9JOAKARlWPH0+3y5UDevUCvvkGKFNGZ1Vmxotbvoxlx8OHwMSJgKcn0LYtBd/oaBqJ+913dN5RoVgxVeBl+sfTk04NKCQlAZ0705zioCDg11/p8WrVgD//pJYzYyLhli9j2XHlCrB4Md12cqLWUZ8+NNfUhH/LGrSKFYEDB4DISOrN2LUL8PMDbt+mS6FCqvnWjOUSB1/G0iMINEJ27VqgcWM6bwgA3boBJ08CvXtTy9fCQtc1ZWJzcKCEHwMGqJKc/P030KmTapvVq6nbeuhQ6uFgLJv4pzpjqUVHA8uW0Tm/Jk0oecPy5aoBOPb2wM6dNFWFA6/xc3ICRo0C/vtPNb9aLgf+9z9g7lzKsNW5M53/50FaLBs4+DKGlExJEyZQCsSxYymtoa0ttWw2bNB17Zg+EQRK8tGqFQXiQ4eAli1hVrUqih0/TgtMMPYV3O3MGECB9/Bhul2mDAXg/v1VCxowpmBqCvToQZeHD6lnZNMmSIKCUCUoCPL4eGDzZl3Xkuk5bvmyvEcup3m5b9+q7hs3js7hHj8OBAZSVyMHXvY1ZctS8H3zBrKFCxHj7g75kCGqx9++BZ4+1WUNmZ7i4MvyjuRkmhpUpQpllFq0SPVYixYUeNu25VHLLPscHCAfMwanVqxQrqcMAJg9m3pSevWiEdOMpeBvGWb8ZDIKuuXKUVfy/fvUqtXDtWCZgTMxUWXMEgTg40fqadm9m+YLd+gA3Lql61oyPcDBlxm3ffto/mb//tT95+REaSBfv6Y0g4xpikRCn7/bt2lqmokJLbJRvTrQvTud3mB5FgdfZtzOnaNBMQUK0NSQFy+An38G8ufXdc1YXlGlCrBjB30O+/ShoLx/P7Bxo65rxnSIRzsz43LtGiVJUKQN/Oknyq88dix3M6f0hEZEAO/eUbbEz5/p78+f6RIZCcTH01oRqS/JydRwU/SqKm5bWgL58tGsLMUlXz7qYMifX4KnT/Pj1StKd21jk8cXDypViuaN//QT/RCcMkX12PPn9MIVLKjLGjIt4uDLjMPTp9Si3bsX8PYGjh2j+wsVAqZO1XXttCYpCXj1ir7LFZcXL2jQ7bt3dElM1FZtzAA0wfff0182NrTQk6cnXStuFy9OY5JcXfNIcK5YkVrCCoIA+PoCN2/SmsPjxqkSejCjxcGXGbboaBpRungxrRokkdCC9ElJRp2BKiGBejEfPFC/vHhB43u+pkABWke+QAG65M9PFwcHWgvCyoq+/xUXMzOKEXK56iKTUT1iY9Uv0dGUlTE0VMCbNwmIjrZCUpIEcXFU54cP06+TvT0FYcWlUiUao+TpaeRBOSICiIqiy5QplLry998plalRH3jexsGXGSa5nEYwT5kCvH9P97VpQ2n/KlXSde1ElZQE3LsH3Lihuty/T13B6bGxodak4uLlRYsuubtTR4CbGwVXTZNKk3Hs2El4e7dDUpI53r2jdMjBwTTeLTiYWulPnwIvX1Ls8fenS2pOTkDVqhSIq1enNSyKFTOiuOToSAe9dSv13rx4QQk8GjWi1ZSqV9d1DZkGcPBlhmnLFuDbb+l2yZL0JWUkC9RHRgKXL9O6DhcuANevUwD+UoECQIUK1ItZoQJdypXTv+5biYROZ5YqRZf0JCZSEH70iC5BQcCdOzQgODycUiefOqXa3t0daNAAqF+frqtWNfCODhMTYOBAGgX9++/0I/LCBaBWLVrIo0ULXdeQiYyDLzNMvXvTAgjffGPw58ji44GLF+k79r//gLt303YdOzoCNWuqXzw89CvI5oalpeoHRGoJCdSdfusWXW7coOt372gWz759tJ2NDa2D0aoVXSpUMNDXxtYWmDkTGDKEenXu36dVtZjR4eDLDMPBg8Bff9G1uTl9W/v7G2w2qocPacrnyZPA+fMUZFIrWZJ6HRs2pOuSJQ00mOSSlRVQowZdFOLjKQhfukSXy5eBT58oQdnx47SNmxvQsiWNvWvXzgBnlnl60qCs6Gj6vCPl/MO4ccDkyXQ+gRk0Dr5Mv717R3mWDx6kv9esAb77jm4bUOCVyYArVyTYtKk8Jk82w5Mn6o97eACtW1OrrUkT6lZl6bO2ph8kjRrR34JA58T9/Ohy/jwNA9i2jS5mZvSadupElyJFdH0E2ZA6v/gff9BgrE2bgBkzgEmT6OCYQeJ3juknQaA5kWPH0mhQMzP6xT94sK5rlmVyOXUn79pFORU+fjQDQCc9zc2B5s2pZda6NU1LzostWzFIJEDlynSZNInOH1++TL0Khw9Tt7XinPHYsXR+uGdPOnNRrJiua58N3brRQZw+Dfz4I3DgAAVixZx2ZlAMp+nA8o5372iB8v79KfBWr05zIOfOpZN7ekwQqEt00iRqYTVpAqxaRSl+HRwENG4cjO3bkxEWBpw4Qb2I5cpx4BWTpSXQrBkwbx6dMn3yhBqNjRpRZ8nt2zSo2MuLBmutWEHvj94rU4YGBWzYQPOyrl2jXxILF1LXCjMoHHyZ/hk6FPjnH2oezp4NXL2q99OHPnyg78CKFWmA6qJFwJs3NG/2228p0L55k4yJE2+iRw+Bk21pUcmS9GNI0R29bh0NHpZIqIX83Xc0BcvbmwZwpTeyXG9IJPSBun+fptYlJgLffw9MnKjrmrFs4m5npn8WLaL5NitX6nXQlckokdaGDbQ8sGLerbU14OND3Zpt26oGYkulOq0uAyUW8fWly9u3wJ49NK7J359+IJ04QdsMGkQDjkuX1nWNM+DpSaPL1q+nDG5jxui6RiybuOXLdO/GDWDpUtXfpUvTHEc9DbyhocD8+TTg1MeHxoIlJ1Pyh7Vrqdd81y4a3GPAM6CMXqFCwPjxNI/68WPqinZ3p/f3f/+jXt6mTem91MsfThIJ/UJ4+ZKa9wq7dtHpGqbXOPgy3ZHLYfLHH0C9evQteO6crmuUqRs3KA+Chwflxn/9mrIvTZpEg3quXKEecwcHXdeUZVepUqqVJg8epHwtJib0kezdm35oLVhAU5r0Tup0ZadP08pJVarQaD+mtzj4Mt14+xb1Z8yA6c8/U7OxWze9bOkKAnUtN2tG53K3bKFzgrVq0UDTkBAazFO+vK5rysRgZkY9FkeOUOrLX3+ljGEhITTA2NOTZr5llJ9a5xwcgBIlKHdnkybArFk8GEtPcfBl2nfuHMxq14bL3bsQbGxoBMyePZTGSU8kJVFwrVSJWkFnz9IXc79+NMj0+nVqBWsjRzLTDQ8Pmk776hV9FqpUAeLiaPR6uXJAly5AQICua/mFGjVoZkC/fjTXbfp0yjby4YOua8a+wMGXadeyZUCLFpB8/IjIYsWQfO0ajX7Rk7k2SUl03rZ0aRpU+uAB5TmYNImW59u6FahdW9e1ZNpkaUk/tG7dAs6coZaxRELd0zVr0o+zK1d0XctU7Ozog7plC6WrPHuWgvK1a7quGUuFgy/TLmtrQCaDvHdvXFiwgEa16IHERGrRlCwJDB9OrR1XVzrPFxxMXcuenrquJdMliYQGYB08SD/K+vWj88LHjtECD23amOLBAyddV1Olf38aqFC2LM17u3tX1zViqXDwZZqXepWAIUOA//6DbNMmyPRgKLBMBmzeTC3dUaMo0Lq70yJJL14AP/zAA6hYWuXKUePy0SPquDEzA86cMcEvvzREx46muH1b1zVMUbYsnSNZs4ZGAzK9wcGXadbRo9TlFR6uuk+R4UCHBIFSD1atSnM6X7+mqSfLllH38rhx1EhnLDMlS9KQhadPgWHDZDA1lePff01QrRrQty99lnTOzg4YNkz196dPlF8zJESXtcrzOPgyzRAEYMkSoGNHyuf3+++6rpGSvz+t0ubjQ4mCChSg6j19StmOeBAVy66iRYHly+VYvvw0evaknp4dO6jhOWYMEBam6xqmMno0sHcvDV7QuxFjeQcHXya+5GT6xhk/noLwsGE05UHH3r6lVm7t2jQF0sqKpo88e0ZrNnBLl+WWu3sstm2TISCAFsyQSoHly2ke8fLlqixoOjV3Li14/O4d/Qo9dEjXNcqTOPgycUVHU5NyxQrqWlYsg2ZhobMqJSRQkv3Spen8LlLGojx9SvcXKKCzqjEjVb068O+/tAhRlSrA58/0e7RaNRoxrVNeXrQQcuvWNHeqSxdg8WL6ocy0hoMvE09ICK3+fvw4NSP376c5Ojo8v3vmDH35/fwzEBtLKSCvXqVZGIUL66xaLI9o3px6dletomns9+/TfT160DgDnXFwoPEYw4dT0J04kUYc6kXTPG/g4MvEY2kJxMQAbm6Ul69LF51VJTyc5uk2b055e93caHTqpUtAnTo6qxbLg0xNgREjaGnD0aNpetK+fZQVbelSHSagMjOjXwV//EE/kE+coCY60woOvkw8Li7U6r16lfIv6oAgUJAtW5ayEkkkwMiRQFCQal4mY7rg6EjnfW/donWEY2NpVH2DBtQi1gmJhHqn/v6bWsLOzjqqSN7DX0Usd44eBbZtU/1dujQN/dSBZ8+AVq2AAQNodGnFitTSXbkSyJ9fJ1ViLI3KlWlt4VWraBbQtWt0jnj6dEr2ohOdO6snKD96lAZkMY3h4MtybudO+qcdNIiinI4IAvDXX3Ru99QpGsU8dy6da6tXT2fVYixDJibUFR0UROkqpVKaEFCtmh7M/vHzo1NGDRvqyURl48TBl+XMqlWURSA5GejVS2cJjz98oMHVw4ZRN17jxsC9e7Tknw4HWDOWJYULAwcO0DlgV1cKxnXr0vKGOhv7VKIE5VJ9/pz6xO/d01FFjBsHX5Z98+bRyEhBoBEkW7YA5uZar8bBg9S1fOQIBdo//qDRzanXFWdM30kktKLmgwd0nZwMTJ1KKwI+e6aDChUvThPhK1UC3r+nX7Q6b44bHw6+LHvmzKF5OwAwbRrlY9TyKKboaGDwYOoZCwuj7uYbN2jcCA+oYobKyYkST23ZAtjbA5cv02d73TodTMF1d6cZC/Xq0Qjoli05AIuMv6pY1p08ST/JAWD+fOC337Q+h/fuXVrGbeNG2vWUKTRgpVIlrVaDMY2QSCgBzN271OCMjaX1EPr2pR+dWlWgAGUKqV9fFYD5HLBoOPiyrGvVitL0zJlDUU/LNm6kObqPH9MpqfPn6TeAHiyOxJioihYFTp+mz7epKY1trFVLB6df7exo+mD9+kDXrkCxYlqugPEy03UFmAGQy6k/VyKhxRK03NqNi6MFDzZupL+9vWkur5MeLZ3KmNhMTek3bsOGwDff0PKFderQ1LlBg7RYEXt76vWytubzOiIyyFcyOjoakZGRmW4THx8PqVSqtToZrT//pF+8SUn0t5YD7+PHNPpz40b6v589mwZYceBleUWDBpSYo3VrID6eMrcNHkw5y7XG1lYVeJOTaZ4Uj4LOFYMKvkePHkWHDh3g6OiIFi1apLvNw4cPUb9+fTg4OMDW1hY9e/b8aqBmGVi/HpgwgVY92btX67s/epTO7967R9Mw/vsP+OUX/vHN8h5F8rhZs+jzv3EjjYZ++1YHlZk7F1izBmYdOsDmwwcdVMA4GMzXWGJiIlauXIlhw4ZhxIgRGW7Tvn17FClSBJ8+fcLLly8RGBiIIUOGaL2+Bu/gQdUC3D/8APTpo7VdCwKwaBEtBRwdTQNPbt0CmjXTWhUY0zsmJjTe8eRJSlV5/TqdB/b313JFxowBKlWC5N071Pv1V5qOxLLNYIKvpaUljh49Ch8fH5iamqa7zbFjx/DixQssWrQI+fLlQ6FChTBjxgzs378fb3XyE9FAnT9PiTPkcurfmj9fa93NSUnAkCE0bUgQaKSnnx/NfGCMAS1aUOAtX55avo0aATt2aLECKaOgBS8v5Hv/HmYdOvCCDDlgMME3K65evYrixYujUKFCyvuaNGkCQRBw/fp1ndbNYNy5Q03OxETKe7dmjdYCb1gYDajesIF+5f/5J+2eM1Uxpq5ECeDKFaBDB/pX7duXsrrJ5VqqgLs7ko8dQ0L+/JDcvUvfGXFxWtq5cTCq0c6hoaFwcXFRu8/JyQkmJiYIDQ1N9zmJiYlITJXNPCoqCgAglUq1OmBLsS+dDhKTSmHWtSskUVGQN2wI2ZYt1PzUQJ2+PN6gIKBzZzO8eCGBvb2A7dtlaNNGMKrlRfXiPdYiPl7NsramoRjTp5vgf/8zxfz5wMuXcqxbJ9PKD1ZpkSK49uuvaDpjBiQXL0Leuzdke/fqdP1uTcrs/c3Je25UwVcikUD2xeKYcrkccrkcJhmM0pk3bx5mzpyZ5v6TJ0/CxsZGY3XNiJ+fn9b3mZrjkCEot307ro0YgeQzZzS+Pz8/Pzx6VACzZ9dFdLQErq6xmDr1GmSyaBw7pvHd64Su32Nt4+PVrAYNgKQkTyxfXhW7dpkgMDAcU6Zch62tFn65ennh4pQpqPX777hVtSo+Hj+u+X3qWHrvb1wOWv0SQdB64rJcGz9+PC5evIgbN26o3T9t2jRs2bIFr169Ut735s0beHh44OjRo2jXrl2astJr+Xp6eiIsLAz29vYaPhIVqVQKPz8/tGrVCuY6yJOsRhA0/utVcbxyeRv062eJuDgJatWS49AhmdEuKapX77EW8PFql5+fBN98Y4qYGAkqVRJw+HAyUp2BE53a8SYnU1PciGX2/kZFRcHZ2RmRkZFZjhtG1fJt3LgxZs+ejSdPnqBUqVJASgvW3NwcdevWTfc5lpaWsEwnRZK5ublO/oG0vl9BoFzNvXvTQqNadO6cB5Yts0RysgRt2wL79pnA1taohiGkS1efLV3h49WOdu0oHXO7dsC9exI0bmyOEyeAcuU0u19zc3OYp+4lfPoUePWKRoYZofTe35y83wb1Tff582eEhYUhISEBycnJCAsLQ1hYmPLxFi1aoE6dOvj2229x584dnDlzBr/88gtGjBgBR0dHndZdb/3vfzSauXFj4NMnre12yRITLF5cA8nJEvTtC/zzD83jZ4zlXPXqNBCrdGng9Wv6t759W4sVCAqiNFydO1OCapYhgwq+HTt2RNmyZbFv3z6EhISgbNmyKFu2LGJjYwEAJiYmOHz4MEqVKgUfHx8MHz4cvr6+WLhwoa6rrp8OHgR+/JFuz5pFkwc1TBCA6dOByZNputi4cTJdrUjImFHy8gIuXaIENWFhND9ea5M9SpSgpZhiYmgoNs8BzpBBdTtfuHDhq9u4uLhgoyIJMMvY7ds0P0EQgJEjKXmyhgkCJQmYO5f+7t8/EL//XgomJunP22aM5YyzM2WEa9eOliZs2RI4dozyRGuUhQWwfz8tRfjoEa37efYsr36SDoNq+TKRfPpE3UJxcTSxVguLJShOLSsC76JFMnTr9sRYZyUwpnMODrQiYLNmlCmuTRvg1Ckt7LhAAUrAXqAAcPUqpahlaXDwzWvkcqBfPxoQUaIEsGePxvt8BYF6t+fPp7+XLgW++05b2QAYy7vy5aMc6W3b0m/t9u0pY5zGlSwJbN9OP+pXrQI2b9bCTg0LB9+8JjaWcjhaWVH3UP78Gt2dINCyaL//Tn8vX06pYRlj2mFtTcM7OnVSJa7Lwhm83PP2Bn79lW6vX6/F9FuGgYNvXmNnR31RFy/SwAgNmzaNBlQDwIoVwOjRGt8lY+wLlpbUyeXtTcsStm+vpQUZpk2jrq6TJ3k5si/wq5FXpIwIB1JW6a5RQ+O7XLQImDOHbq9YAYwapfFdMsYyoBgLlfocsMZnA5mYUFeXlZWGd2R4OPjmBYmJQNOmtAB2qmxemrRpE61MhJTlPznwMqZ71tY0p75ePSAigsZbPnqkpZ0nJwMzZqi6wvI4Dr55wbRpwI0blIX940eN7+7QIVoWEKAArJhKzBjTvXz5aNpRtWr0ddCqFS1NqHFHjwIzZ9K0B15ljoOv0Tt1SvVLc8MGwNNTo7s7exb45htAJgMGDaJd83QixvRL/vx0GrZMGSA4mOYDpyzopjk+PkDPntQC7tOH+r7zMA6+xiw8HBgwgG4PH07DHDXo/n36/0pMpGnEf/3FgZcxfeXsDBw/DhQsSMt4d++ukdVDVSQSYPVqoEgR4NkzrST20WccfI2VIABDh1J/UtmyNPpJgz58oGxy0dFAo0bAzp2AmUHlT2Ms7/Hyot5gW1ua/ztsGH11aEyBAjT/18QE2LIF2LFDgzvTbxx8jdW6dcCBA5RAY8cOQINrE8fHU6P61SuaW3/gAA9uZMxQ1KxJ05BMTWmg5IwZGt5hw4Y0DgWg1LYvXmh4h/qJg6+xKliQFkqYN49GVmiIXA58+y1w7Rr9qD16FHBy0tjuGGMa0K4dJaICgN9+o54rjZo6FahfnxL+BARoeGf6iTsGjVWnTkBgIODiotHdzJgB7N5NXcz799NSZowxwzN0KJ2KXbAA8PWls1Ua+91uZkY9cklJQMra63kNt3yNjUymuu3qqtGsMrt300qEALBmDU3eZ4wZrjlzVFmwOnfW8MzEokXzbOAFB18j8/IlNT337dP4rgID6dcxAHz/PTB4sMZ3yRjTMFNTapCWLg28fk0joJOStLDjixe1MNpLv3DwNRaK0c3Pn1MuVQ0mMY+KArp2pYyVzZvTaWXGmHHIn58S5djb0wIM48dreIefPtGyS3/9RQsw5BEcfI3Fhg20eraVFX2ANdTdLAg0wOrRI8DDg6cUMWaMypZVXxFw2zYN7szRkUZ5ISUlXkiIBnemPzj4GoP371WJlOfM0eh5lIULgb//phlM+/bRoGrGmPHp0AGYPp1ujxgBPHyowZ2NGwfUrUvdanlk6TMOvsZg8mQgMpIm7I0bp7HdnD9Pa/MC1LNdp47GdsUY0wPTptFAythYygwZH6+hHZmaUo+dmRmt/HDkiIZ2pD84+Bq68+epT0jRP2RqqpHdREQAffvSqeT+/SlbJWPMuCkGYBUsCNy7p+Hzv+XLAxMn0u2xYzUY6fUDB19D999/dD18OLV8NUAQqPiQEOrRXrmSczYzlle4uanO/65dC+zapcGdTZsGFC5MWa+2b9fgjnSPg6+h++03WkpIsWq9BmzaRKsRmpnR/0O+fBrbFWNMD7VsCfzyC90eNoxmNWpEvnyqEV6KuYxGioOvMWjShEYMasCTJ8CYMXT7t9+AWrU0shvGmJ779VegQQNaPGXQIA3OZuzYkc5xGXn3GgdfQ7V2Lc2C1yCplP4HYmMpvv/wg0Z3xxjTY2ZmwObNtALSuXPA8uVaCB+RkcDdu5rfjw5w8DVEAQF0ErZsWVrLT0MWLAD8/WnBhK1bNTaWizFmIEqUAP74g25PnWqCkBANnoO6eZO+43r2BJKTNbcfHeHga2gEgfI5AkC3bpS/WQMCA1V5m5cuBTw9NbIbxpiBGT4caNMGSEiQYMmS6pqLiyVLUtB99MgoM19x8DU0R4/SACtLS2D2bI3sQiajXM1JSUD79tT1zBhjAJ2KXb8eyJ9fwJMnBfD77xoKI/b2qiwfv/4KxMRoZj86wsHXkCQnU0INgCbcFS2qkd0sWULr89rbA6tXG/24B8ZYNhUuDPz5J62gNneuCR4/1tCOhg+nvu4PHyi9nhHh4GtI1q+nHG9OTsBPP2lkF0+f0jrXSEkl6eGhkd0wxgxc794Cqlf/gKQkCUaM0NCCRBYWqpVb/vc/SqVrJDj4Goq4OOp6AagrxsFB9F0okmnExwMtWhj9NDvGWC5IJMDw4XdhbS3gzBkalKkR3bsDtWvTtIuZMzW0E+3j4GsoFCdiK1WiLOcasHs3cPo0LYy0di13NzPGMufqGoepU2nC78SJQFiYBnYikVCrF6CWgZGs+cvB11DY2QFz5wK3b1NXjMhiYlQLI/38M1C8uOi7YIwZofHj5ahUCQgPVw1JEV3jxpTxZ9Mmo2kVcPA1NBpap3fWLODtWwq6GvsHYowZHXNzYM0aiombNgFnzmhoRyVLaqhg3eDgq+9iY4GuXWl6kYY8fAgsWkS3lyyhbmfGGMuqevXobFi/fkCFClrYYWysFnaiWRx89d2KFcCBA8CQIRrJ8iIIlLs5OZkWz+7QQfRdMMbygGXL6Ef8rFnAX39paCcyGS036OYGPHumoZ1oh5muK8AyERenGmgwbRolVxXZkSO0KqGlJfDnn6IXzxjLI0xNafWz5csBFxfgm28oV4DoO/nwARg6lJJMGzBu+eqzjRtp+GDx4hpJM5WcDPz4I90eP57msjPGWE4NHQqUKQOEhgLz52toJ7t2URPbzU1DO9AODr76SiZTnYidOFEjrd4tWyiHs6OjKggzxlhOmZsDv/9Otxcv1tDCazzamWnU338Dz59TNqtvvxW9+Lg4VdrUX34B8ucXfReMsTyoY0dagjQhgdYA15iLF6lvOypKgzvRHA6++kgQVOd6R48GbGxE38XSpcCbN0CRIsCoUaIXzxjLoyQSVUbITZtoeq7o5HLq496zhzICGSAOvvpIEGjcfvXqFHxFFh6uOh8zezZPLWKMiatePVoRTSbTUEZIExPghx/o9qJFQGKiBnaiWRx89ZGJCaWSDAgAChYUvfjFi4HISKByZV4ukDGmGYou5x07gAcPNLCDvn2BQoWAd++A/fs1sAPN4uCbx0REUJczAMyYobGEWYyxPK56daBbN+rIU6wJIyoLC1We+5UrNbADzeKvXj1jsnIlsGoVEB2tkfKXLqWiK1UCOnXSyC4YYwwAdTlLJNQwvXlTAzsYMoRmgly6BNy5o4EdaA4HXz1ikpQEk1mzaATU6dOilx8VpUqkMXUqt3oZY5pVoQLQuzfd1si8X3d3Sr8Lw2v98tevHil0+TIk4eGApyeNVhDZ8uXA589A2bLUHcQYY5qmyCGwfz/w9KkGdjBqFGX2qFFDA4VrDgdfPeJ1/DjdGD5c9KQaMTGqnB1Tp1KWNsYY07RKlYB27Wh20B9/aGAHjRsDQUHAsGEaKFxzOPjqizt34PjoEQQzM8DXV/TiN2+mKUYlStC8dMYY05YpU+h60ybg/XuRC5dIDDLrFQdfPWGycSMAQOjcWfScpXI5LRWIlBzOGshUyRhjGWrUCKhbl6bjKr6LRBcTA2zdajADr4wq+MbFxaFYsWJpLvv27dN11TKXlAST3bsBAPJBg0Qv/tgxyjLj4ABooHjGGMuURKJq/a5cqaGMkBMnAgMG0OAWA2BUwVcul+PVq1dYvHgxzp49q7y0bdtW11XLXHg4hDp1EOfiAqFFC9GLX7yYrocOBfLlE714xhj7Kh8fGhcVFQVs26aBHSiGVe/dS4ml9ZxRBV8Fd3d3tZZvPn2POO7ukB08iFMrVog+EuruXZq1ZGoKjBkjatGMMZZlJiaqbLkrV1LyDVE1aUIzRSIjgcOHRS5cfEYZfIcMGYJy5cqhQ4cOOGwAb4KC3MJC9DIV51e6dqVFFBhjTFcGDKB1Yh48AM6fF7lwExNVvtytW0UuXHxGN/Smbdu2GDduHNzd3XH8+HF069YNS5cuxQhFGrIvJCYmIjFVUu6olJMRUqkUUqlU4/WV3LgBwdkZ0sKFlfsVy+fPwM6dZgAkGD06GVKp2D81c05xnNp4jfVFXjtmPl7jlpPjtbEB+vQxwbp1pli+XI769WXiVqpXL5jPnw/h+HEkv30LuLiIVnRmx5uT91wiCKI3/nVGcSiSVMPOp0yZgg0bNiA0NDTd58yYMQMz01l2Y8eOHbDRwFJ+X2r0ww9wfPwY/t9/j7cNG4pa9vHjxbBmTRUUKRKFJUvOGOJofMaYkXnxwh4TJjSDqakcf/11Eo6O4q5I1GTSJOR/9gx3hw7FCw0kK0pPXFwc+vTpg8jISNjb22fpOUYVfNNz6NAhdO7cGR8/foRLOr+C0mv5enp6IiwsLMsvYo69fg3zkiUhSCSIf/oUfvfuoVWrVjA3Nxel+Dp1zHDrlgR//CHD2LFyUcoUi1QqhZ+fn6jHq+/y2jHz8Rq33Bxv06amuHzZBNOnyzB1qrjfTSbLlsF00iTIRo6EXMR5TZkdb1RUFJydnbMVfI2u2/lLL168gLm5eYaDriwtLWFpaZnmfnNzc83/A6Wcj5Y0agRzT0/g3j3R9nvzJnDrFi38MXCgKczN9TOllVZeZz2T146Zj9e45eR4R48GLl8Gtmwxxa+/moqbZ37wYKBbN5gWLQpNfOuld7w5eb+NasDVjh07cOTIESQnJwMArl69innz5qF3796wtrbWdfXSUsw/7t5d9KLXr6frLl0AZ2fRi2eMsRzr0gWwtwdevgQuXhS58Pz5gaJFRS5UfEYVfBs0aICtW7fC0dERjo6OaNu2LQYOHIhVq1bpumppvX1Ly2ABqlU5RBIfD2zfTreHDBG1aMYYyzVra6BHD7q9ZYsGdxQXp8HCc8eogm/RokWxe/duhIeH48mTJ/j8+TN+//13rQycyrYDB+i6Xj0gZaSzWP75h6a6FSsGNG8uatGMMSaKAQPoes8eajCIKj4eaN2auv0+fRK5cHEYVfBVMDc3h5OTk66rkbm//6ZrDXQ579pF13368Jq9jDH91LAhNRCio4FDh0Qu3NqaVnCIjweOHhW5cHHwV7Ou7N9PadB69RK12MhIyuUMiF40Y4yJxsQE6N+fbmuk67lLF7pW9DLqGQ6+upI/P7V6CxUStdhDh4CkJKBcOaBiRVGLZowxUSmC77//AmFhIhfeuTNdnzihl+d+OfgaGUWXc69eBrnEJWMsDylVCqhalZY9FT0TcNWqlFM3Ph747z+RC889Dr7aJghAhw7AzJmir6sVHg74+dHtb74RtWjGGNMIxWQPxTAY0UgkQMeOdPvkSZELzz0Ovtp25w4NAPjf/4B0knvkxoEDQHIy/eArU0bUohljTCO6daPrkydp8JWoWraka275Mhw/TtfNm4sefBXdNooPM2OM6bty5aixkJSkgYHJTZtS63fkSOrb1iMcfLXtxAm69vYWtdiEBNWPuw4dRC2aMcY0RiLRYNdz/vyU+GDcOL2bd6lftTF28fHA1at0W9EdIpKzZ2lAX+HCQJUqohbNGGMapQi+x44BieIucqS3OPhq07Vr1Lfi7g6ULClq0UeO0HX79jzKmTFmWGrUANzcgNhYVdZdUb16BWzbRgNe9QQHX206d46umzQRNUIKgupcCXc5M8YMjURC2SChiYHJCQl0Url/f+DRI5ELzzkOvtqUnEznIBo3FrXYwEBaHcTSknM5M8YMkyL4/vuvyAVbWVEuS+jXqGcOvto0axZNxh08WNRiFR/WZs0AW1tRi2aMMa1o1Yqub98GPnwQuXBFq+T8eZELzjkOvtpmYiL6FKOzZ+m6RQtRi2WMMa0pWBCoVo1uK5IFiaZuXbr29xe54Jzj4KstSUkaKVYmU/2Ya9pUI7tgjDGt0FjXc40adGL55Uvg40eRC88ZDr7a0q8fULQocPCgqMXevUsrGdnZUWYrxhgzVIquZ8XYVNE4OABly9JtPWn9cvDVFn9/4PVr+hCISPEhbdgQMDMTtWjGGNOqOnUAU1MgOJguoqpdm66vXxe54Jzh4KsNYWHU3QEA1auLWrQi+HKXM2PM0OXLp0oSJPp83xEjKAH+qFEiF5wzHHy1ISCArkuXFrXlK5erzvc2aSJasYwxpjMNGtC16MG3bl1a49fVVeSCc4aDrzYozjHUqiVqsUFBwKdPNL1I5AY1Y4zphMaCr57h4KsNN27Qdc2aohariOk1agDm5qIWzRhjOqEIvnfuaGCJwatXgd9+U83P1CEOvtpw6xZdi9w81VCDmjHGdMbDAyhShE6riT42ats24NdfNbB2YfZx8NU0uRxo25Z+zlWoIGrRHHwZY8ZI8Z12+7bIBVeqRNf374tccPZx8NU0ExNgzRrg4kXAyUm0YpOSqFsGHHwZY0ZGMeJZ9OBbsSJd60Hw5ZmhBurBAwrABQoAXl66ro3uyGQySKVSXVcjS6RSKczMzJCQkACZTKbr6mgcH2/uWVhYwETPFoHXBkXCINGDr6L3MSSEshOJnHchOzj4atqHD/QGW1mJWqzih1ulSnlz/V5BEPD+/Xt8/vxZ11XJMkEQ4ObmhuDgYEjywJvGx5t7JiYm8PLygoWFhSjlGQpF8H34kFYEFO3rM39+OqkcEkJfoorRXTrAwVfThg6lk/sbNgADB4pW7L17dK04hZHXKAJvwYIFYWNjYxBf7nK5HDExMciXL1+eaM3w8ea+vLdv3+Ldu3coUqSIQXzGxeLhATg60lTKwECRx6qWLUvB9/FjDr5GLTCQBl0VKSJqsXk5+MpkMmXgdRLxPLqmyeVyJCUlwcrKKs8EIz7e3HFxccHbt2+RnJwM8zw0n1AiofO+Z85Q17OowbdUKVrX9+lTEQvNPuP/j9ClxETg+XO6Xa6cqEUrgq9i/EBeojjHa2Njo+uqMKZRiu7mvHDO/EuVK9O16GOjJk2iQTPTpolccPZwy1eTXr0CBIFSUImY0iwqCnjzhm6LPHvJoOSlbjiWN+Xlz3jp0nQtegO1RAmRC8wZbvlq0osXdF2smKijop49o2sXFxo/wFh2REZGYu/evVrf74sXL7B//36t71ef7d+/H58+fdJ1NfRSqVJ0rePeYY3hlq8mKYKvyHOBFB/GkiVFLZZpwYEDB2BqagoTExPky5cPpUqVQoUvui8+fvyIO3fuIDExEZUrV0aRDMYLfPz4Ef7+/oiPj0fJkiVRpUqVLLWUpqV0t/Xo0SPT7QRBwPbt29GqVSu4itBzc+nSJXz//ffo1q1brsvKjo8fP+LGjRswNzdH9erVMxwnEB4ejsuXLyNfvnxo0KDBV0cYx8TE4Pr164iNjUWFChVQrFixbJd7+fJl+Pn5YfXq1bk8SuOj+H579gyQyWipQVEIAjB3LvVM/v677lowAlMTGRkpABAiIyNzX9gPPwgCIAhjxnx106SkJOHgwYNCUlLSV7edO5eK7d8/91XUlewc75fi4+OFwMBAIT4+XiN10xSZTCbY29sLNWrUEPr27Sv4+PgI+fLlE9q1ayckJiYKgiAI8+fPF2xsbITGjRsLnTt3FkqUKCH4+PgIYWFhynISExOFkSNHCtbW1kKLFi2Ebt26CYUKFRKqVKkiPHjwINM6vH79WrC0tBRCQkK+Wl+pVCoAEM6cOZPj442IiBBkMpkgCIKwdetWwdXVNUdl5XT/gwcPFjw8PARvb2+hcePGQr58+YT169en2faPP/4QbG1thRYtWgjt27cXatasKbx58ybDsleuXCkUK1ZMaN26teDt7S3Y2NgIAwcOFMLDw5XHm5Vy3717J1hYWAjPnj1Ldz/6/FnPzf9wVkilgmBuTt91L1+KXLiLCxV861aWn5LZ8eYkbnDLV5OqVwe+/RZo1kzUYrnla9j69u2LCRMmAAACAwNRtWpVrFmzBk2aNMGPP/6Iw4cPo0OHDsrtjx49ivj4eOXfw4cPx/Hjx3Hjxg2UL18eAJCUlITBgwejefPmuHv3LgoWLJjuvlevXo2mTZuicOHCyvtkMhkuX76MsLAwVKpUCSVTPlj79u0DAPj5+SEkJAQODg7w9vbGrl270LZtW3z8+BEPHjxApUqVULZsWQDAvXv38PDhQ7i4uKBevXpffS1u3bqFoKAgdO3aFVZWVpBKpbh8+TLCw8NRpkyZNL0C2SGTydCgQQOsWbMGZmb0Vbdy5UoMHz4crVu3hoeHh/I4p0yZgpMnT6J58+YAgKCgICQmJmZYtru7Ox48eKAc9Hf37l1UqVIF3t7eyh6FrJTr5uaG5s2bY82aNViwYEGOj9UYmZkBxYsDjx4BT54ARYuKWHiRIkBoKPD6tWpSsZZx8NWkb76hi8gU53z1ZNwAy4Xy5cujRIkSuHv3LlxcXAAATb5YnLl9+/bK248ePcLmzZuxcuVKZeBFyqjYZcuWoXjx4li0aBHmz5+f7v6OHDmCPn36KP8ODw9Ho0aNlHUJDAxE8+bNsXz5cpw6dQoAcP36dbx69QqFChVCs2bN0L9/f7Rp0wYvXrxAtWrVYG9vjzJlyqBfv344evQoGjVqhKCgIJiZmWHv3r0ZBtBDhw6hf//+WLVqFaysrBAUFISOHTvCzs4OXl5euHr1Kho1aoQdO3bANKXP8fLly3iumEGQgS5dusDW1hbm5uYYPHiw2mOdO3fG6NGjERgYqAy+8+bNQ/fu3ZUBEgDKfWV2QufOndX+LlasGExMTNR+JGW13GbNmmHz5s0cfNNRsqQq+LZsKWLBnp60znpwsIiFZg8HXwMUEkLXIk8dNmiCAMTF6WbfNjY5H08XExODt2/fwt3dHTVr1oS5uTmGDBmC77//HtWqVVO22BT8/PwgCAK6du2apqwCBQqgadOmOHnyZLrBNzk5Gffu3VML2rt27YJEIsHdu3eVAe7w4cMAgFWrVmHdunX45Zdf0LRpU2V9kTIK98GDB8r6bd26FYcOHcLt27dRsmRJJCYmokWLFvjll19w8ODBNHXZtGkTxo4di127dqFdu3aQy+Xo3r07Bg0ahKlTpwIAoqOjUb16daxduxYjR44EANy5cweXvrLQa9u2bWFra5vuYydPnoSJiYnyNYiJicGtW7cwevRoPHnyBHfu3EHhwoVRu3Zt5euRkTdv3uDMmTOIjIzE9u3b0aVLF+UPpeyUW7FiRQQGBiIuLo6nz31BMVxG9Bip+PJ8/VrkgrOOg6+mCAINuHJzo29nEYtVTDNK1XOY58XFAfny6WbfMTE0myyrAgICsG3bNsTExGDLli0wNzfHsGHD4OHhgcOHD2Pq1KmoU6cOLCws0LBhQ4wYMQLdu3cHAHz48AGWlpYZdisXKVIE165dS/exT58+QRAEFChQQHmfjY0NIiIi8OzZM5ROmdvRsWPHrx7DsGHD1H4Y7N69G927d1d2WVtaWmL8+PHo1auXMvGEwsKFCzFnzhwcP34cDVIyDPn7+yMwMBAFCxbErl27IAgCBEGAl5cXzpw5owy+I0eOVN7OrqdPn2LSpEkYN26cstUbFhYGQRBw+PBhzJkzB1WqVMHNmzeRL18+HD9+HJ6enhmWFxoaihMnTiAsLAzPnz9HmzZtlIE1O+Uq3o/w8HAOvl9wd6frd+9ELrhQIbp+/17kgrOOg6+mREer+oWz++2ciYgIynWKVJ8fZlgePnwIALC1tUXXrl0xaNAgODs7AwDatGmDNm3aICwsDNevX8f27dvRo0cPrF+/HoMHD4adnR0SExMRHR0NOzu7NGWHhoamez8A5f2K1itSzj9fv34dNWrUQJEiRdCyZUt89913KKWY55EBNzc3tb9fv36NWl8sr1W8eHHIZDKEhIQog3JERASmTJmC2bNnKwMvALx8+RISiQTnz59XK6NgwYJqLfXsdDt/Wb+WLVuiadOm+P3335X3K34UvHz5EoGBgbC0tERiYiLq1KmDyZMnY9euXRnup2rVqti2bRuQci63Zs2acHR0xOjRo7NVruL9yOh9y8s0FnwVP14/fhS54Kzj4Kspb9/Stb29aIEXULV6nZxEX6vBoNnY0G8cXe07O1IPuMqIs7Mz2rVrh3bt2iEkJAS7du3C4MGDUbt2bSAlCLVp00btOTKZDNevX0f9+vXTLdPa2hoeHh54oZgCl3KueNWqVfjzzz/h7++PNWvWoEaNGnjy5EmmqTu/nNLk7OycZr6q4m/FuWyktPIWL16MwYMHo1SpUsppRw4ODhAEAQsWLFAbDPalnHQ7BwcHo2nTpqhWrRp27dql1mJ3dXWFnZ0d2rZtC0tLSyCl1e7t7a0ccJYV5cqVQ9WqVXHt2jWMHj06W+W+ePECrq6uyM+T9tNQNDAUX6ei4eBrxMLC6DrVF48YuMs5fRKJqL9xdOL9+/ews7NTCxyCICAuLk7Z0mzSpAlq1KiBqVOnokmTJmrduatWrcKrV6+wZ8+eDPfRsmVLXLx4Udl1GxwcDE9PT1haWqJhw4aoXLkytm3bhsePH6NRo0awsrJCgqKrJRONGzfGpk2b8L///U85j3XPnj2oWLFimhZd7969AQD9+vWDRCJB165d0aBBA9jb22PlypWYM2eOclu5XI7379+jUMq3cHa7nUNCQtC0aVNUqVIFe/bsSZMfWSKRoEOHDggMDFS7PzAwEEVTDa+9cuUKIiIi0K5dO0ilUnz+/FntR0VkZKTyNctOuUiZ/9yqVassH1NeorGWb+PGNJIrg9M32sDBV1MUrQBHR1GL/fCBrr/o9WNG4NGjRxgwYADat2+vHCH8zz//IDAwECtXrgRSvtT37duHtm3bolatWhg0aBAcHBxw7tw57Nu3D+vWrUP1TLLQDxkyBN7e3oiNjYWtrS0OHDiA7du3w8fHBwULFsSBAwdQsmRJZRm1atXCokWL8P79ezg5OaFZBtPmJk2ahK1bt6J58+bo3bs3bt++jS1btmSY0ap3794QBAF9+/bFjh070KVLF6xduxYDBgzAy5cv0ahRI7x//x6HDh3ClClT0KtXr2y/nvHx8WjWrBni4uLg4+OD3bt3Kx+rX78+ihcvDgCYPXs26tati2+//Rb16tXDlStXcPLkSZw+fVq5/Zo1a3D79m1l8G3SpAnatGmDcuXKISIiAps3b4aLiwuGDRumfE5Wyk1ISMA///yT7qA0pgq+YWG0frloKyva2dFFhzi9pKZERNB1qsEtYtBQTGda0qVLF+Wc2C81adIEd+7cQdWqVfHw4UMEBQWhbdu2eP78udr51GLFiuHu3buYMmUKXrx4gStXrqB8+fIICgrCwK8sW9mgQQPUqVMHGzZsAACMHTsWK1asQFxcHG7cuIHWrVvj+vXrytb3rl27UK9ePZw7dw4XLlyAubk5+vbtq9bqQ8r5yoCAAHTq1AkBAQFwdHSEv78/GjZsqNymePHiyoFjANCnTx9s2bIFhw8fxvv37/HNN9/g7t27KFmyJPz9/WFqaort27fnKPAiZe5znTp10KJFC5w6dQonTpxQXt4oupBS6nXnzh14eXnh+vXr8PLyQlBQkNo85fr16ytHMtvY2ODGjRsoW7Ysbt68ibCwMEybNg23b9+GY6p/zKyUu2XLFlSqVCnN9DJGnJxovi9SNTyMRpbTceQRomW4WryYMqj06pWlzbOaLWbaNCp21KjcVU/X8mqGq9QZn3QlMDBQmDhxosb3oy/Hqy05Od4pU6YId+7cyfBxff6sazrDlYKbW7aTUWXNtGmCMHq0IKTKHpcZznBlKLjly/RUuXLlsHDhQl1XgwEZJkNhKnZ2NCMoOlrkgpcvp+/p0aOpia1lWe52vnr1KsLDwzVbG2NSvTrg6wuk6nYTgyL4ihzTGWNMLylOzYoefDVWcNZkOfheu3YNFStWxNGjRzVbI2PRqROwbh2QKpWfGBQNam75MsbyAo3FSHt7uo6KErngrMly8B09ejRGjBiBLl26YNiwYWoT9Zn2KD4nis8NY4wZM40HX31v+ZqZmeHXX3/FlStXcOnSJVSpUgUXLlxAQkKC2iU5OVmzNTYUkZF0Efn1UCyIwgk2GGN5gcaCryIfrb4HX4UaNWogICAAZcqUQePGjWFtba12+fHHHzVTU0PTpw8t0pySfk4sinwHHHwZY3mBxoKvYtKwVCpywVmT7dHOiYmJmDp1Kvz8/DB27Ng0+VxT52HVBblcjm3btuHUqVOwsrJCz5490aJFC+1XRENRUtHyTclYxxhjRk1jwVeR7cwQgu+tW7fQv39/xMTEwM/PT7nMmD4ZPnw4jh49ih9++AERERHw9vbGypUrMWTIEO1WREPBl1u+jLG8RPFdl5QkcsFLlwILFugsxWSWg+/hw4fRrVs39O3bF0uWLIG9Ho74uXv3LtatW4fTp08r0+CZmZlhypQpGDBggDLnrFYooqTITVQ+58u+RhAEfPr0KdOFETQhMTERsbGxalme8rrw8HAUKFAAJiacTDCnFC+dXC5ywSnLSupKlj8RERER2LNnDzZu3KiXgRcAjh8/DmdnZ7UWec+ePfHp0ydcvXpVu5WRyejaTNw8Jorgq83fEUw8ERERCAsLQ3h4OGJjYzPd9tOnTwgLC0tziYuLy/R5a9euRd++fbNUn7CwMEhF6nbbu3evzk47yWQyJH2laSSXy7M9SyMrz8lsm0GDBmH58uXZ2idTp7Hgq2NZjgwDBgzQbE1E8Pz5c3h4eKgtd6ZYQeT58+do3LhxmuckJiYiURHRAESlzOWRSqW5+lIyEwRIACQnJ0PIQjmKfX1tnxKJGQAJkpKkujpVIYqsHm9GzxUEAXK5HHID+o8UBAFVq1aFTCaDlZWVMljUqlULw4YNQ48ePdS2L168OJKTk9VWLgKAiRMnZjiwMTY2FlOnTsXhw4e/+tokJyfDxcUFp06dEuUUkmJ/imtBEJTXmnqfAgICMGPGDFy6dAnx8fEoVqwYpk+frlw5SbH/n3/+GStXrkRiYiI8PT2xbNkytG3bNsNys/Kc9LZZsGABunTpojze6dOno3Xr1hgwYECOGi1yuRyCIEAqlcLU1DTbz9ek3PwPZ4dcbgLAFMnJMkil4n2OJP/8A4m/P4QWLSBk4fOf2fHm5DUwqvSSiYmJsPlicVUrKyuYmppmuCzavHnzMHPmzDT3nzx5Mk1Z2dE0KgoOAK5fv47QbJys8PPzy/RxubwtAEucOXMeT58a/lzrrx1veszMzODm5oaYmJivtnb00S+//KJcFu/Tp0/Yt28fBg8ejPPnz6stpycIgtq2qUVlkBhg/fr1cHV1RdmyZdNsEx8fD2tra+XfoaGhQMpShi9evICZmRkcHBwQHh4OBwcHmJmZITo6Gubm5mo/AKKjo2FjY5MmGMTHx0MQBLX9JiYmqpWHlIASHx+fZsH7nNi5cyeGDRuGjRs3wtTUFBs2bED//v3h4eGBKlWqAACWLVuGtWvX4tChQ6hUqRKWLVuGrl274sqVK/Dy8kq33Kw8J71t+vXrp7ZNqVKl4OHhgbVr16qteJRVSUlJiI+Px/nz5/V2GmdO/oez4+nT0gDK4eXLYBw7dke0cqusWYNifn4ICgnB46/0JqWW3vF+rTcqXdlKRK3nxo4dK5QrV07tvoiICAGAsHPnznSfk5CQIERGRiovwcHBAgAhLCxMSEpKyvElefJkQdarl5AUEJCl7WNjY4WDBw8KsbGxmW5XsKBcAAQhICDnddOHS1aPN71LVFSU8ODBAyE2NlaQyWQGc0lOThbs7e2FhQsXpnlsw4YNAgAhICBAeZ+Dg4OwaNGibO2jadOmwo8//qj8WyqVCmPGjBFsbW0FW1tboUSJEsLu3bsFmUwmFC9eXAAg2NvbC05OTkLdunWVCeKnT58uFC1aVHBwcBBWrlwpyGQyYePGjULhwoUFCwsLwcbGRhgxYoQQFxen3NfmzZsFV1dX5d/Pnj0TSpYsKQwcOFBISkoSoqOjhaFDhwq2traCjY2N4OHhIfz1119q9Y+MjBQ+fPiQ6UUqlWZ4/ImJiYKJiYmwceNG5X1FihQRfvjhB7X3wdPTU5g8eXKG5WTlOV9uI5VKhcKFCwvff/+9Wlk//vij0LBhwxx9ZmJjY4UHDx4IUVFROv+fFfN/ODuX6dOTBUAQfH1lopYr699fEAAhee7cXB9vWFhY3l5YoXLlylizZg1iYmKQL2UC9d27d5WPpcfS0hKW6QyKMjc3T7Pwdrb8/juQg4nUX9uv4hSyRGKO3FRPX+TkdZbJZJBIJDAxMUk7kCWz86impuoj1TLb1sQESNVKzHDbbLTeFF2Rirqn1r9/f3z33Xc4evSo2nq8cXFx+KRI6J3CwcEh3ddMEARcvXoVo0aNUpa/a9cu7NmzB/fu3YOXlxdevXqFpUuXomfPnnj06BHMzc1x6NAhZbez4tzljh078O+//6JMmTJASg+Or68vNm/ejD59+iAwMBDe3t5wdHRUttYV+zQxMUFgYCBat26Nzp07Y8mSJTA1NUXv3r0RHx+PZ8+ewdXVFZcuXYK3tzeKFi2qXEx+ypQp2Lt3b6av461bt+Dp6an8WyqVIjIyEpGRkVi9ejUKFSqEdu3awcTEBO/evcPr16/RqFEjtde8UaNGuH79eroDobLynIy2qVevHvz9/dXuq1WrFhYuXAiZTJbtz7qJiQkkEknuv480SNN1U6TUdXExgbm5iAPXUnoSTK2tYZqN+qd3vDk5fqMagtepUyeYm5tjxYoVQMqX0aJFi1CtWjWdzz8Wi6KnTzGei30hX76ML926qW9bsGDG23p7q29brFj624nEzMwMRYoUwevXr9XunzdvHsqWLat2OXPmTLplREREICEhAQVTTZ348OEDXFxclGMfihYtmqUVjX766Sdl4AWAJUuWoE2bNujXrx9MTExQsWJF/Pzzz1i6dKny3K7CtWvX0LhxY4wcORKzZ8+GRCLB06dPsX//fsybNw+WlpaIiIhAuXLl0LlzZ+zcuVP53FWrVqU7yCz1JXXgBYAzZ86gbNmyKFOmDNavX4+1a9cqXwNF1/qX6w+7uLgoH/tSVp6T0TbOzs5pyi1YsCCkUmmG+2OZe/+ert3dRS5YccpKR6NXjarl6+zsjM2bN2PgwIE4ePAgPn/+jJiYGBw/flz7lZHLafK2qamoI54VwVdPT/+wXJDJZGnOo86ePRvjx4/P0vMVrS1Zql9mvXv3xsqVK1GmTBn4+PigZcuWaN269VcH75QuXVrt70ePHqUZoFSzZk3ExMTgzZs38EiZtvH582e0aNEC33//PX766Sfl+V9FD1Tz5s3T7KtRo0bK2zExMRmOz1BwdHRUa1m2bt0aYWFhSE5Oxtq1a+Hj44NTp06hcePGysGXsi9+rSYnJ2c4/Scrz8lOuYptzESe+ZBXvHtH125uIhfMwVdcXbt2RdOmTXHt2jVYWlqifv36aUaLakWbNsB//1F6ySxO+8gKxf+vIY901qjMpoV8GXA+fsx42y+/mF++zGXFMhcXF4eXL1+iVKlSOS4jf/78sLe3x9u3b5X3ubm5ITAwEOfPn8eZM2cwZswYFChQABcuXMg0GHz5mJmZWZoRnYq/U3e5OTg4wMfHB+vXr0ffvn2VLUNFsHr27BkcHBwy3O/kyZOz3e2cuo6jRo3Cxo0bsWPHDjRu3BiFChUCUnoAUvvw4QPcM2hKZeU5GW0TGhoKty+ixLt372BjYwNnZ+dMj4ulz1hbvkbV7azg6OgIb29vNG/eXDeBF6ne0FTTmMSgOMX4lSmieZetbcaXLz8LmW2b+nxvZtuKZPny5RAEAV26dMlVOQ0bNsT169eVfwuCAHNzc7Ro0QKzZ8/GlStXcOPGDVy/fh2mpqYwNTVN03pLT+XKlXHp0iW1+y5cuAAXFxe4uroq75NIJFi7di3atGmDFi1a4GXKj5aaNWvCxMQEhw8fTlN26m7rnHQ7f1lWZGSkchyHk5MTypcvj//++0+5TXJyMs6cOZOmxf358+csPyejbS5cuKBWLlLOlzds2JATbeQQt3xZ9ii+mHMyBD0T+fPTdcr3BDNAsbGxyuQWL1++xM6dO7F69WosXrwYxYsXT3fb1KysrJQDCr/Ur18//PTTT1iyZAkkEglmzZqF5ORkdOrUCQULFsSuXbtgbW2NUqVKQSKRoHjx4jh58iQqVKgAKyurDFvDkydPRsWKFTF9+nQMHDgQt2/fxrx58zBr1qw020okEvz111/w9fVFhw4dcPbsWZQsWRLfffcdxo0bB0EQ0KhRI7x//x579+5F8eLFMXr06Gy/jpGRkejWrRsmT56McuXKISIiAsuWLUNwcDAGDx6s3O6XX37Bt99+i7p166J27dpYsGABkJKKVuG7777D7du3cfv27Sw/58tt5s+fDwBpphT9888/mD59eraPj1FHlqKhIXrLd906WnkuZTyE1uV6fo+RUUy1yM6Q8XT5+goCIAhz5mRp86SkJOHgwYNCUlJSptt16kTFrlqVu+rpWlaPNz3x8fFCYGCgEB8fr5G6aYpMJhOKFSsmODk5Cc7OzkLhwoWF6tWrCyNHjhQCAgLSbF+8eHHByckpzWXEiBEZ7iMpKUnw8vISjh49KgiCIMTExAizZ88WqlevLhQpUkRo06aNcP78eeX2J0+eFGrXri24ubkJdevWFWJiYgQnJyfhxo0bacq+cOGC0Lx5c8Hd3V2oXLmysGTJErXH9+7dK5QvX175t1QqFQYOHChUr15dePfunSCXy4UVK1YItWvXFgoVKiTUr19f+PPPP4XExMQcv6aXLl0SOnfuLBQtWlSoWLGiMGDAAOHevXtpttuwYYNQtWpVoVChQoK3t7dw9+5dtce/++47oWnTptl6zpfbtG3bVrh48aIgk8mUj//333+Cp6enkJCQkKPj0+fPem7+h7Pq8WP6vrO11dgusiyz481J3ODg+wXRgu+ECfSpmTIlS5tn9YM8cCAVO39+7qqna3k1+EZERKh9OWvCwYMHhdatW2t0H1mhrePVF+kdb8eOHYU9e/bkuEx9/qxrI/ieP0/fdyVLamwXWSZ28OVuZ01RpJKLjBS1WO52Zl/TqVMndOrUSdfVYCldziznNHa+FwCmT6f1CkeMUK1bqEUcfDVFMaIzgzSAOcXBlzGWV2h0pLNivIKvr8iFZw0Pv9OUsmWBzp2BmjVFLZaDL2Msr9BYy1eRNksiUTWUtIxbvpri7Z02S5IIFMFX8dlhjDFjpbGWryJla/78aef/awm3fA2MIpsdZ6pjjBk7RfAVveWrCL6OjiIXnHUcfDVJEGjA1Re5b3MjJbEO3rwRrUiD9WVOYcaMTV7/jCu6nUVv+YaH07WTk8gFZx0HX01JSqLE+/nzi3qCVhF8P37MuykmFekMc7SGJmMGRLFe9ddycRsrY2758jlfTbGwACwtKcPVu3dAgQKiFOviQvmdk5OBDx+AlHz2eYqpqSny58+Pjym5mW1sbJS5g/WZXC5HUlISEhIS8kSqQT7e3JcXGhoKGxubPLkoQ3KyKv266C1fRdY4Dr5Gyt2dRka9fQuItKShiQkVGxwMhITkzeCLlAUDACgDsCEQBAHx8fGwtrY2iB8LucXHm3smJiYoUqRInnj9vhQaSmfsTEwA0dekGD4caN5cZ3mdwcFXw9zdgcBA1YkLkXh5UfB98QKoW1fUog2GRCKBu7u7cq1UQyCVSnH+/Hk0btxYbxdGFxMfb+5ZWFjkiV6D9Ci+Nl1dNTAg2c4OqF5d5EKzh4OvJin6SkQOvsWLA+fPA8+fi1qsQVKszGMITE1NkZycDCsrqzwRjPh4WW5o7HyvnsibP6m0RTE6SgPBF+DgyxgzXhob6SyXA+PGAYsXAwkJIheeddzy1STFuqMvXohaLAdfxpix01jL9+1bYOlS6sseM0bkwrOOW76aVKMG0K4d0LChqMWWKEHXT56IWixjjOkNjWW3UrRaihalqSM6wi1fTapXDzh6VPRiy5al6zdvKIeHjlKTMsaYxmgsr7OiJ1LRhagj3PI1QPnzq04nBwXpujaMMSY+jXU7K1q+HHzzgNBQ1WxxkVSoQNcPHohaLGOM6QWNDbhSBF8vL5ELzh4Ovpo2aRJQsCDw55+iFqvI2cHBlzFmbASBW74stxS/rkSOkoqW7/37ohbLGGM6d/06ZeaVSDTQ8tWTc7484ErTNNRErVKFrm/dol+JeTD7HGPMCMXHA4MG0e0+fQAbG5F3cO8eBWBFC0ZHuOWraYo3+Plz+iknksqVaZR8WBjw6pVoxTLGmE5NmwY8fEgt3qVLNbADJyegZk3A2loDhWcdB19NK1iQ3mxBoE+USKysKAADwI0bohXLGGM6c/EisGgR3V67VqeLDmkcB19Nk0g0NjS5Zk265uDLGDN0sbHU3SwIdN2hgwZ28vPPwNixtOCNjnHw1QYNBd9ateja31/UYhljTOt++gl49oyWSRV5cggRBGDTJmDZMiA8XAM7yB4ecKUNbdsC5uZAs2aiFpu65SuX07qXjDFmaM6coZgIAOvXayhrX0gITR42NaXUvzrGwVcbfHzoIrKKFYF8+YCoKBrApxgBzRhjhiI6Ghg8mG4PHw60bq2hHV29StdVqmhgCHX2cVvJgJmZAQ0a0O1z53RdG8YYy77vvwdevgSKFQP+9z8N7ujaNbquW1eDO8k6Dr7aIpUC//0HPH4sarFNm9L12bOiFssYYxp38iSNagaADRsAOzsN7kzR8uXgm8eMGgW0agWsWSNqsU2a0PW5c3TelzHGDMHnz4CvL90eM0b0ITHqkpKAgAC6XaeOBneUdRx8taVdO7rev59G3YmkZk06ffHpE+d5ZowZjgkTaAxUyZLAvHka3llICODiAhQoAJQqpeGdZQ0HX21p04ai5KtXwM2bohVrbq4678tdz4wxQ3DkCM36kUjo2tZWwzssXhx4/ZrmMulJLl4OvtpiYwN4e9Ptv/8WtWjFed/Tp0UtljHGRBceDgwdSrcnTVI1HrSiQAEt7ixzHHy1qVs3uha561kxNP+//4DERNGKZYwx0Y0dS8sFli0L/PablnYq4vetWDj4alP79oCFBfDoERAUJFqx1atTEvKYGO56Zozpr7//BnbsoIRAmzdraW2D0FDKsd+xI5CcrIUdZg0HX22yt6cRzwBw4oRoxZqYqPKgHjkiWrGMMSaa0FBgxAi6/eOPQO3aWtrx9eu0/NvTp5QcQU9w8NW2mTNpwNWECaIWqwi+hw/rZQ8LYywPEwRg5EgKwJUqAdOna3Hneja/V0F/fgbkFRrKKdqyJS0z+OoVTTmqWFEju2GMsWzbvZuGupiZUXezpaUWd66nwZdbvkbCxgZo0YJuHz6s69owxhh5/x4YPZpuT50KVKumxZ1HRADnz9Pthg21uOOv4+CrCy9eAAMGqKYeiaRjR7rm4MsY0weCAAwbRkmAqlen5XS1au9eym5VqZJqaVc9wd3OumBlBWzbRp/MkBBawFIEivO+V68Cb94AhQuLUixjjOXIli3UGLCwoO5mc3MtV2DrVrru31/LO/46bvnqgrs7UL8+3T5wQLRiCxemnhVBAHbuFK1YxhjLtpAQYNw4uj1zpg7GoQgC0KMHUKsW0KePlnf+dRx8dSV1wg0RKX7gKX7wMcaYtgkCMGQIEBlJU4q+/14HlZBIKKPH9et62Q3IwVdXunSh6wsXgI8fRSu2Rw/q4rl7ly6MMaZt69YB//5LZ9g2b9ar6bV6g4OvrhQrRtOO5HLg0CHRii1QQHXud9s20YpljLEsefkSmDiRbs+ZQ2kkte7ePWD9emp66ykOvrqk4a7n7dsBmUzUohljLENyOTB4MKW6bdhQdc5X61avpn7vsWN1VIGvM6rOAKlUiiVLlqS539vbGxX0bJg5AKBrV4qQIs8/8/amFvDbt8CZM5SAgzHGNG3VKvrOsbEBNm4ETE11UImkJGDXLrrdt68OKpA1RtXyTUxMxOTJk3Hr1i28f/9eeYmPj9d11dJXpgxw/z7NPBeRpSXwzTd0m7ueGWPa8PQp8MMPdHvBAqBkSR1V5Phxmljs7q7KPKSHjKrlqzBmzBjU1bNUYtrWvz/1vOzfD6xcSb9EGWNME2Qy4Ntvgbg4oFkzYNQoHVZGMdWjTx8dNb2zxqhavgonTpzAihUrcOLECSQawgK3sbGQHDgAUxFb6PXqAcWL07mX3btFK5YxxtJYsgS4eBHIlw/YsIFWWtOJiAhVir8BA3RUiawxupavhYUFbty4AXd3dyxatAhmZmY4fPgwSpcune72iYmJagE6KioKSDl/LJVKtVJns7p1YXb/PlwnT4bUx0e0cocMMcHPP5ti8WIBffsmQyIRrehcU7y22nqN9UFeO2Y+XuOmOM7795Px889mACT43/+SUbiwAF29BCY7d8I0KQlCpUpILlcOYlYks/c3J++5RBD0dwG6+Ph4rFixItNtSpUqhU6dOgEAkpKS8OTJE+XgqsTERLRMGW104cKFdJ8/Y8YMzJw5M839O3bsgI2W+mrLb9qEUgcPIqRhQwSIOBs9JsYcvr6tkZhohlmzLqFSpTDRymaMMZlMgh9/bIQnTwqgWrUPmD79qk5/5FfYuBEl/vkHDwYOxLPOnbW237i4OPTp0weRkZGwt7fP0nP0OvjGxcVh+lcWfqxYsSIGDRqU4ePbt2/HgAEDEBMTA2tr6zSPp9fy9fT0RFhYWJZfxNySXL8Os4YNkWxlhaQ3b2BuZyda2WPHmmD1alO0by/HgQP6M+9IKpXCz88PrVq1grnWE77qRl47Zj5e4yaVSjFixEts3VoeDg4Cbt1KFitNfe68eUODXAoUELXYzN7fqKgoODs7Zyv46nW3s42NDf74449clWFmZga5XJ5h8LW0tIRlOotLmpuba+8fqF49CB4eMAsJAc6dg5ki+5UIxo+ngVfHjpng5UsTlColWtGi0OrrrCfy2jHz8Rqn+/eBnTvLAACWLJHAy0tPjrlYMY0Wn977m5P326gGXD1+/Fit710QBGzevBlly5aFi4uLTuuWKRMTyFO6SExEXGgBKbOZ2renXKvpTIFmjLFsk0qBwYPNkJxMvWo6H9skCMC7dzquRPYYVfC9e/cuatSogbFjx2L69OmoU6cObt68iXXr1um6al8lpARfyZEjog4SAIAJE+h640YaDMgYY7kxbx5w+7YEdnZJWLVKpvvBnNeu0eIJXbpQIDYARhV8u3fvjqNHj6Js2bIwNTXFmDFj8OTJEzRo0EDXVfsqoUEDJDg4QBIRQR8kETVvTmtJx8VRwnPGGMupW7eAWbPo9tChd+HmpusapcztFQSa66TzXwJZo9fnfHPC09MTo3Q6wzuHTE1xc/x41PrmG5iXKydq0RIJnfv19QWWLaOWMK8ywhjLrsREYOBAIDkZ6NJFjkaN3gCoottKpU4nqUhsbwCMquVr6EKrVdNYTrY+fQAXFyA4WPR1HBhjecRvv9GCQS4uwPLletDdDMNJJ/klDr55hJUVMHIk3V682GBOizDG9MT168D8+XR71SoKwHphyxa61vN0kl/i4KtnJJcvA507Az//LHrZo0YBFhZ0SvnkSdGLZ4wZqYQE6m6Wy4HevVWroepcRARw5AjdNqAuZ3Dw1UNhYcChQ7TUoMjNU1dXYPRouv3DD7zWL2Msa6ZNAx4+BNzcgOXLdV2bVPbsoXO+lSsDVXR87jmbOPjqGaFVK8DWFnj9GrhxQ/Tyf/kFcHAA7t6l+M4YY5m5dAlYuJBu//UX4Oio6xql0qsXTeEQeVlWbeDgq2+srYF27ej277/TsEIROTkBP/1Et6dOpe4kxhhLT2wsMGgQdcINGgR06KDrGn3BwYGmcfTooeuaZBsHX300ciStybVvH/2yE3lZxLFjAQ8PGvm8bJmoRTPGjMjPPwNPn9L3xeLFuq6NceHgq4+aNQP27qXRUfv3A5060XkNkVhbqybJz51Lo/QZYyy1s2eBpUvp9rp1QP78uq5RKoJAo76WLKFFyw0QB1991bUrjeKzsQHKlgVETtTevz9lvfr8mQIwY4wpREcD335Lt4cNA9q00XWNvvDff8Dff2tkVoi2cPDVZ61aATdvAosWiZ4yzdQUWLCAbi9bBrx8KWrxjDEDNnkyfScUKwbkcmE58YWHA4MH0+1vv6WUkgaIg6++K1OGzv8iJbfb6NG0XqUI2ralvM9JSTSVgDHGTp4E1qyh2xs2ACIuL557ggAMGQKEhAClS6uyfhggDr6GZNIkYOVKoFEj4PnzXBcnkdCAagDYto0SpjPG8q7ISBo8DABjxtDwE72yejVw8CCNh9m1y2BbveDga2AmT6bczy9eAA0bAg8e5LrIGjUoYw0ATJmS+yoyxgzXhAnUqCxZkpYN1Cv37qnWR12wAKhWTdc1yhUOvoakaFHgwgUaKfXuHdC4MeDvn+ti58yh8Vx+fpx2krG86sgRWvNbIgE2baJcP3rl+nXKe9CuHTBunK5rk2scfA2NmxvNAahTh+YItWgBnDuXqyK9vDjtJGN52adPwNChdHviREAvl0D39QUuXlT9QjBwHHwNkaMjNVObN6c5Ad98A8TF5arIqVMpWcydOzyZnrG8ZuxY4P17mtWoyAGgl+rWBQoW1HUtRMHB11DZ2QFHj1Lg3buX5gPngpMT8L//0e1ffqHcz4wx43fgAOV5NzGh7mZra13XKJXXr+n0mgjjW/QNB19DZmVFI/4aNVLdFxaW4+KGDKHcrUlJQL9+ome1ZIzpmdBQYPhwuj1lCp3N0hvJyfRFdOGC6ryYEeHga0zu3KG5b4olSLJJIqE0cs7ONLBw+nTRa8gY0xOCQGt8h4bSGM5ff9V1jb4wZw4FXjs7YP16XddGdBx8jcnRo7S49PffU+TMwXrArq60bBhA3dDnz4tfTcaY7u3ZQ2u3mJkBmzcDlpa6rlEqFy4Av/1Gt1evBkqU0HWNRMfB15j8/LMqUfOsWcD48YBcnu1iOnem7G2CAAwYAERFiV9VxpjuvH9PrV6kDLbUqymznz4BffvSd9fAgUCfPrqukUZw8DU2P/0ELF9Ot5cupeH5OVgT+M8/aQrSq1dGMaWOMZZCEOg876dPFHT1am0CQaA5T8HBQKlSRr3mKQdfYzR6NLBlC62esGlTjtYEtrOjIhQT7v/+W2O1ZYxp0datwD//UGKdzZtFXzAtd2JiaNCouTmwc6eeJZYWFwdfY9W/P53QsbCgn7g5OP/bsKEq5eSwYdRVxRgzXCEhNKcXAGbOpIFWesXODjh9mhIH1aih69poFAdfY9a5M32QDx2iaUk5MHMmUKUKreLl65ujGM4Y0wOKHt3ISKB2bUoVrzdSf7GYmgL16umyNlrBwdfYNWig6roRBDofHBqa5adbWNCKRxYWwLFjqpHQjDHDsn49cOIEjWrevJlGOeuN776jJnlCgq5rojUcfPOSP/+kdcIaN6b+pyyqWFG1wsmECcDTp5qrImNMfK9eUc5mpEyfLVtW1zVK5cABWip12TJaPCGP4OCbl7RvD3h6Ag8f0gndbETR8eNpbc+4ODqdnIMB1IwxHZDLaepgdDR1hI0fr+sapRIcrFpA+IcfqGGQR3DwzUtKl6ZVQUqVop/CjRoB9+9n6amKvK/29sDVq8D8+RqvLWNMBKtX09APGxv6HzY11XWNUshkNJ83IgKoVUvPV3QQHwffvKZIEcoeU7kyDV9u0iTLXT1FigArVtDtmTOBGzc0W1XGWO48e6YaWLVgAVCypK5rlErq9JE7d9LAkjyEg29e5OpKawLXrUvTkFq1yvKCDH37Aj16ULdz//65XsmQMaYhcjnw7bf0P9qsmSqjlV64eJF+wQPAqlVGmT7yazj45lUFCtCawC1a0E9iZ+csPU0iof8Vd3c6ddy9O62CxBjTL0uWUMMyXz5gwwY6daQ3Pn+mFu+AAfSLPg/Sp8HmTNvy5QP+/Vf9JFBS0le7f5ycKH9Hy5bA8eO06tfOnXp0LomxPO7RI1XayIULgWLFdF2jL3ToQKuwOTrquiY6o0+/hZgupI6Y4eFAzZrA2rVffVr9+jRDwNwc2LuXcsVyAg7GdE8mo/UIEhKANm0osYbekEpVt4sWNer0kV/DwZepbNpEC/kOHw788cdXN2/Thlq8JiY0gf/77zkAM6Zrf/wBXLsGODjQ+twSia5rlOLBA5ppcfy4rmuiFzj4MpWJE4Eff6TbkycD06Z9NZp260b/4ACwaBEwe7YW6skYS9f9+7SUN1Jy6nh46LpGKeLjgd69aYrj0qX8K52DL1MjkVAqK0U6q9mzaT3Br6wJ/O239I8O0D/+kiVaqCtjTI1USt3NSUl0SnXgQF3XKJXJk6lXrWBB6mHTm+a47nDwZWn9+COle5NIKOXb4MFfTWk1bpxq5sD48fT/xRjTnvnzgZs3aSLD2rV6FN8OHVIlCNi6laY6Mg6+LAMjR6rWBD57lgZjfcW0aZT7GaCMcfv3a76ajDHg9m3gt9/o9ooVNBVQL4SE0I93pLR+W7fWdY30Bk81Yhnr1w/In5+ysGfh16pEQtMaoqJoAFbv3sDhwzQwizGmGUlJ1MWcnExjMHr10nWNUshk9B3y6RPNouABIWq45csy16GDek66f/+lCfIZkEiANWsoC5ZUCnTpAly6pJ2qMpYX/fYbcPcu5clRnC3SC0lJQPHilE8gD6aP/BoOvizrjh+nYNysGfDxY4abmZrSGsBt29Igx/btgVu3tFpTxvIEf3/VIierV9N4Jr1hbU2ptR480LOk0vqBgy/LukKFKCPN7du09FdwcIabWljQOd+GDYHISOp6fvRIq7VlzKglJFB3s0xGp3i6ddN1jVLExanPkChSRJe10VscfFnWValCCdGLFKFI2qhRpmsC29gAR44A1asDoaGUjvLVK63WmDGjNX06EBQEuLnRpAS9IAiUr7l9e+DDB13XRq9x8GXZU6oUZWsvXVq1JvC9exlu7uAAnDhBY7ZCQigA8/8kY7lz+bIqCd3atZRvXS+sW0ddXv/9B7x+reva6DUOviz7ihQBzp+nlrBiTeAXLzLc3MWFFlAqWpQayq1b0/rZjLHsi4sDBg2iRubAgUDHjrquUYrAQJrwD1Cinlq1dF0jvcbBl+WMqytw5gxQrx7QtetXl03x8KAfw25uNDLTx8cU8fG8DBJj2fXzz8CTJ0DhwqrMcjqXkEBznOLj6df1xIm6rpHe4+DLcq5AAYqoa9ao5jdkkrO1ZEng5El62rVrJpg3rw4SErRXXcYM3blzqvSt69fTNHy9kDp95ObNerZ4sH4yuFdILpfj2rVrCAgIyHCbxMRE+Pv74969exA4gbdm2dioliVMTga++QbYsSPDzStVohlLtrYC7t51Qd++pl/LXMkYAxATQ3nUAWDYMP1JXiM5fBhYvpz+2LyZurfYVxlM8JXL5ViwYAFKlSoFb29vDB8+PN3tTp06BQ8PD/Tu3RstW7ZExYoV8SKT85FMRBs30uK+/fpRazgDdeoABw7IYG4uw+HDJhg8+KtrNzCW502eTEMrihbN0oqf2lOoEFCiBDBpEk3uZ1liMMFXJpPh06dPOHnyJAYMGJDuNpGRkejZsyeGDRuGp0+f4s2bN3B3d0f//v21Xt88ydcXGDWKup5HjAB+/z3DTZs2FTB58g2YmgrYupUGkMTEaLW2jBkMPz9KooGU37j6tAa9UKMGregwd66uq2JQDCb4mpubY8GCBShRokSG2xw6dAjR0dGYPHkyAMDMzAxTpkzBpUuX8OTJEy3WNo8yMaHup59+or+nTAF++SXD88C1a7/Hhg0ySCS02EnVqsCVK9qtMmP6LjKSftcCwHffUYI5vZB6sRV7e04fmU1GtbDCrVu3UKJECeRPNQqhRo0aysdKlSqV5jmJiYlITExU/h0VFQUAkEqlkEqlWqm3Yn+prw3azJkwyZcPpr/8AsydC9nnz5AvWqQ2CENxnN27J8HNDRgyxBTPnknQsKGAH36QY+pUudH9LxvVe5wFfLziGD/eFMHBJihZUsCsWcnQh5dTcvkyzNq1Q/E+fSBt2VLX1dGKzN7fnLznOgu+UqkUl76Scd/Z2RkVK1bMcpkRERFwdHRUu69AgQIwMTFBRAYTS+fNm4eZioVoUzl58iRsbGyyvG+x+Pn5aX2fGlGhAoqNGIHKa9ZAWLcO58uXR4yHR5rNFMc7b54Z/vqrMs6d88T8+abYsycaEybchKdntA4qr1lG8x5nER9vzt244YpNm+pCIhEwePBFnDv3SbSyc8osJgbNJkyATVwc8j95QserN6s5aF56729cXFy2y9FZ8I2Li8OMGTMy3aZhw4aYnY1lqCwsLBAfH692X1JSEuRyOSwyaEb99NNPmJhqTlpUVBQ8PT3RunVr2NvbZ3nfuSWVSuHn54dWrVrB3Nxca/vVqHbtIKtXD3ByQuMv1vFM73h79gT270/G6NGmeP48P77/vhnmzJHju+/kRjFzwSjf40zw8ebOp0/AyJH0FT1unBzff19XhFrmkiDAtE8fmISGQu7lhbvDh6NV69Z5/v1V9Jhmh86Cr4ODA86ePStqmUWLFsU///yjdl9ISIjysfRYWlrC0tIyzf3m5uY6+UDpar8a8+XguIcPKeNGymv+5fH26kUJs3x9gePHJfj+e1McO2aKjRuNJz+70b3HX8HHmzPffw+8e0epWefONYW5uR4kpVGkjzQzg3zbNiSHhvL7m3JfdhlBe0KlVatW+PDhA65du6a87+DBg8iXLx/q1tWDX4153aNHtBrSV/JLursDR48Cq1bRNOLTp4HKlWmZQp62zfKCgwfp825iAmzaRKvz6VxQEDB2LN2eMwcCp4/MFYMKvv7+/jh79ixCQkIQHR2Ns2fP4uzZs5DJZACA2rVro3v37ujTpw+2b9+OZcuWYfr06ZgxY4ZOzt+yL0RGAlIpcOUKzFq1guXnzxluKpHQbKXbt2lecGQk0L8/5fBIPciSMWMTFgYo0hhMmUKff51LnT6yZUtqlrNcMajRzitXrlQmzHB3d1eeMz5+/DisU34aKoLujh07YGlpiQ0bNuCbb77Rab1Zitq1KT9e69aQ3L2Lhj//TAv+ZjJ9rFQpWsVw/nxg5kzK4XHxIq3RzfP5mTEaNQr4+BGoWBH49Vdd1yaFuTktGhwWBmzZQk3ylEYPyxmDCr4bN2786jYWFhaYNGkSJk2apJU6sWyqXBm4cAFCy5bI9/o1hGbNKD906dIZPsXMDJg6FfD2puRZDx/S7ZEjgf/9D7C11eoRMKYxu3fTD0wzM8rUmM5wFN0wNQV+/BEYM4b/4URiUN3OzEiUKoXkM2cQU6gQJMHBtCbww4dffZoikY7itNOqVUC1akCqU/yMGaz376nVC1BumurVdV0jAKGhtIahAgde0XDwZbrh6YkLc+dCqFKFup3TmQOcHmtrWtXFz4+e8uQJ0KABMH069CL5AGM5ocjI+ukT/aD85Rdd1wjUrfzNN7Qub2CgrmtjdDj4Mp1Jyp8fyX5+NLQ5X75sPbdlS1oXuE8f+o6YNYuWFg4K0lh1GdOYbduAQ4fo1OrmzXStcwsW0Jrdr15RPzgTFQdfplv589MCvwrz5tG3UBYUKABs307nyQoUAAICqKtu6VJeJYkZjjdv6FQqAMyYQctu6tyVK9SdBFC+9kzGZLCc4eDL9Mfhw8DPPwPdulFUzaKePWkd79ataUbEuHG01mlKfhXG9JYgAEOH0lS62rWBH37QcWWePQP27FF1KfXuDQwcqMNKGS8Ovkx/eHvTZF6ZjK5XrcryUwsXBk6cAFasoPPC//1HLYidOzVaY8ZyZcMG4PhxGtW8aZMWe3flchowcf68+v3169N53pcvAS8vWscwD+Vt1ibuyGf6w8yMvoHs7SmKjhpFTYIff8zS0yUSekqLFhS7/f3pB/yhQ8DKlcAXa24wphPv3lHMO3eOltIEJYxCuXIa2qFcTi3aGzfo3ExAAE0biIoCChWifm+k/AM1aEBdRjVrUiINLea3z2s4+DL9YmICLFtG54LnzKG1gT9/pnPBWfwFXqYMcOkSre09axadE75wgVoZbdpo/AgYU/P6tSrYnjtHDc7UmjYFxo8XaWdyOQ2Q8vJS3de2LU0P+JKlJU0ZiI1VTSHav59bulrCwZfpH4kEmD0bcHCgk2ALFgDt29N84CwyN6fsQO3aUSv40SP6Dho9Gvj9d8oZzZjYFKdNr1xRBduXL9W3kUiAqlUpzXmTJvQZNc3JmglyOfD4sao1GxAA3LoFxMRQq1Yxg6BsWfr1WaUKTZZXXMqXTzusmgOv1nDwZfpr8mQKwFFR2Qq8qdWqRT1sU6bQoM0VK6gRsG0bPcZYbggC/bA7dw44e9YUfn6tER6uHtBMTSnWNWlCAbdhQ+rYyRaZjAKjYm3NOXMo52pMTNptrayAp08pwgPU/bNwoZ7MX2IKHHyZfhs2TP3vT5+o2WplleUibGyoJ7tjR+Dbb6mxUK8epaz85Rf+TmJZJ5cDDx6oWrXnz1MeZmICwBrm5gJq15agSRMKuPXqAXZ22diJTEYRPXWL9vZtak5XrEjb2NlR4LW2piCbukVbrpz6yC0HBzFfAiYSDr7McERGAq1a0aTegweznZijdWuakjR6NLBrFy3UcOwYDXopU0ZjtWYGTCajuKc4Z3vhAv3+S83KCqhbF2jYUAZLy6sYM6Y2HBxy8Ivu33+plXr7Np2H/VJAgCr4fvMN0Lw5dSlzAgyDxO8aMxyPHlGzNSaGgvCxY+oJOrLA0ZGmH/n40Mhof39K5/f777SMG7eC8zaplGKcIthevEhnPVKztaVBwYpztrVq0dglqVSOY8fCMh5PkJxMOcxTt2h/+YVO+ioev3SJbtvY0AczdYu2bFlVWa6udGEGi4MvMxy1awOnTtHIqatXaZjoyZM5+hLq3ZtOIw8eTOeAx4yh78HWrem7sG1bwN1dI0fB9EhiInD9uqoL+fLltI1Oe3v6rCjO2Vavno0faS9eAIsWqbqO4+PVH79yRRV869Wj5fpq1KCumByNwmKGgoMvMyy1a9O3ZKtWlNy5USPKqFGkSLaL8vBQJeaYNYsWcNm3jy4Afcm2b0/fjbVq8XehMYiLo99tinO2V69SAE7N0VHVqm3cmAYJZ/reJycDgYGQXL+OSgcOQBIdTWtfAkBSEo30U8iXT71F27Ch+o779xf5iJm+4uDLDE/FinTyrWVLmjTZsOFX1wTOiIkJtXpHj6YcBMeO0cXfn0ZJ37xJgdnJiVrD7drRXGEnJ40cGRNZdDT15Cq6kf39065+5eqqCrZNmtAMHJPMcv/FxdGgAUXX8Z07QEICzAAUByDPl08VfEuVolH7imk+pUt/pXCWV3DwZYapZEk6IdeqFQ3EyuWgExMTalTXrk3J7T98oFbxsWM0DiY8nNJNb99O29atS4G4XTsabMrTI/XD58/0u0zRjXzzJg2aSs3DQ9WqbdKE4mG6759USkObAwLoHGzv3nS/iQkNEEhOVm1rZwd5tWp4nj8/ivXpo8rba2JCAwoY+wIHX2a4PDzoGzY8HCheXNSiXV0pn/zAgfQde+UKrXx47BiNmL58mS5Tp9K5YUUgbtmSM/JpU1iYqlV7/jw1QgVBfRsvL/Vg6+WVQbC9dUs9BePdu9RtDFC6RUXwtbKiOWsODqru4xIlIJPJ8ODYMRRVnMNlLBMcfJlhc3Ghi8KRI/Tl2LKlaLswM6NTy40aUV6D4GBKhn/sGPV2v3sHrF9PF8W27drR+eKyZblVLKbUeZHPnUt/jffSpVVdyI0bA56eX2yQlATcv0+FtW+vur9r17TpqBQBtn599fvXrk274y+b2IxlgoMvMx43bgDdu1PTZ/duoHNnjezG05NyfwwbRoN1zp9XnSt+/JjWHz9zhk71FSumahWnHlvDsuZreZEBoEIFVbBt1OiLUeqJiUDAffXpPffuUQAuUIB6TRS/jlq0oOCbenpP8eL864lpBAdfZjwqVaKWzN9/UxDeuFHjo0ctLem0c6tWwOLFlNVPEYjPnqXv8pUr6WJlZYby5evi5UsTdOwoek+5wRME4PlzVRdyVvIiN2oEODunPJiYCAQFAe5VVU/w8aHpaF8qUICCa1SUKgPUunUaPDrG1HHwZcbD0pJavEOGAJs3AwMG0HDXUaO0VoWSJYGxY+kSG0stYMW54tevJbh50xU3b9IqNmXKqLqnGzUCLCy0Vk29kDovsiLgKla3U1DkRVYEW2Ve5IQEOie7N1WL9v59OkEfFqYajl61KvWIpG7N1qhBXRLcomU6xMGXGRczM1o70N6eEjqPHk2joX/6SetVsbUFOnSgiyAAd+5I8eefj/HiRTlcumSCR48o+CxeTNM/W7ZUdVEXLqz16mpc5nmRibk5jThXnK+tXx+wM4unBxQj2mfPptygqUcbKzg5UXNZEXxnzqQT9RxomZ7h4MuMj4kJsGQJNZFmzQJ+/plGPnXporMqSSR0brJLl6do16404uJM4Oen6qL+8IHSVR88SNtXqaIKxHXrGmb6XpkMePrUAUuWmODixczzIivO2dapHA+bJ3eoJbs7APghgCL25csUlZEyFD05mfqbv2zRFimiHmizsQAHY9pkgP/SjGWBRAL89hudz7txg8796REHBzot3b07tQhv3VIF4mvXaMrMnTvAvHl0erJNG1Xay9SDu/WJIi+yolV78aIZoqKaqm1ja0utWUWwVeRFxokTwLgfaPhyeqOG795VBd/u3ekF8fTkFi0zWBx8mXGbNIn6fBVf0snJ9LceraBgYqJquE2bRmku//2XAvGJE0BEBCVU2rWLDqNWLdW54urVdZcwKXVe5HPnqHEaF5d6CwlsbKRo2tQULeoloI3rbZSNDYDp7QBgVwBQcirQ8Bva1NKSRiEDQMGC6q3ZmjXV++ELFMj2ghqM6RsOvsz4KQKvXE7JEaKiaGCWnnZJurhQdsJ+/ei3wvXrqkFbt2/T39evUyauggUBb28Kxq1b52CR9myIi6NkI4qRyF/Li9y02GMUWDICRV5+gOTEQ3r9U7t+nZbGA+gXxcGDFGwLF+YWLTN6HHxZ3nH/Pq2akJBAzcaDB7O5yrn2mZlRN239+sCcOTQa+MQJCsZ+fjRgafNmupia0lJ3inPFFSvmLoZlJS9yMecY9Kt0G60dA1AxKQAO7RrCZMQwAID0uRnMz55Rbezmpt6iVXQjI2XBgU6dcl5ZxgwMB1+Wd1SuTKmpOnYETp9WrQns6KjrmmVZ4cKAry9dkpIovbXiXHFQEAXK8+eBH3+k7JuK7unmzSm+ZSYigsrLLC9yiULx+NVtDeqaB6BIWAAsnj+E5EyqfI6SSCAl+MLDA4H9+qF0164wq1MHKFRIA68IY4aJgy/LW5o2pTWBvb1pZJNiTWA3N13XLNssLCioNm8O/PEHJahQpL08fRoICaEsiGvX0rZNmqiCcalS6nmRz52jMU2KvMj5EI36uIXWjgHwLGMD+dDhlBfZ0xwSh5/V16UtVEjVmm3USHW/RIIn3bujVLt2enWOnTF9wMGX5T21a1O0adWKBvko1gQuWlTXNcuV4sVpWvPo0RQbz5yhQHz0KE199fOjy4QJdK449RzbhriA8fBHM7sA1DIJgGvUY0gEAfgEIKoC8O3wlC3NaA1GW1tVwDXAHy6M6RoHX5Y3VaxIfawtW1IC4WfPDD74pmZtrTr3u2wZJfM4dgw4eygScZduoeDHt9iJPsq8yHMPDYfDmyAgOlUhHh6qc7OpR4wvWKCrw2LMaHDwZXlXiRIUgO/fp75bY/P5M3DzJiQBASibcpn49CkAQGZlg6Uvv4Gzqylta9MeeFZW1ZqtXp2ax4wxjeDgy/K2woXV55A+fEgjj+rV02Wtsi8igrJyNGmiaqEOGAAcPpx226JFYVqjBpzNIwGkDDb73/+0W1/G8jgOvowpBAdTN3REBE1DatVK1zVK36dPNBQ59TJ5z5/TY8HB1F2MlAXg791Tn95TvXqqZYAYY7rCwZcxBScnWpbwxAlaDWHXLp3mgwZSAm2+fKolj2bNAqZPT39bLy9aIF4RfKdOzXhbxphO6SgxHWN6yMYGOHSIcgcnJQE9egBbtmhv/+HhNO1p3jyqg5cX/SC4fFm1jWIR4OLFqX7z59MQ5vBwav3WqqXaVld5JxljX8UtX8ZSs7AAdu6kzFcbNwIDB1I6yu++E3c/qUcPnzgBjByZduV4hcePaT4yAHTuTK1hzm3MmEHj4MvYl8zMgHXraE3gJUtoXqudHQXinAgNBQICYHL9OmodPw6zsWNpBYUhQ+jxAgVUgbdkybTnaFMnbLa1pQtjzKBx8GUsPSYmtMp9/vzUFZ3dvMMvXgATJ9JgqOBgAIApAGWCxYAAVfCtUoVSUlWrptmVERhjeoODL2MZkUho6aApUyhrhYKiy/jDB/URxw0bAt9/T9vY2dGIaYXSpSGvVg2B1tYo27cvzFKfm7WyApo10+KBMcZ0jYMvY1+TOvAuXgzMnk33vXmjvl1cnCr4OjsDq1YB5cpRi9beHjKpFM+OHUOZJk041zFjeRwHX8ay6tUragUr1tWTSICyqbJCfZmYY8QInVSTMab/OPgyllVFiwJnz1KCi6pV6fK1dfoYYywdHHwZyw7FyvaMMZYLPAufMcYY0zIOvowxxpiWcfBljDHGtMwgz/kmJiZCLpfDOvUUkBQxMTFp7rOysoKZmUEeKmOMMSNkUC3fU6dOoXv37rCzs0OjRo3SPB4TEwM7OzsULFgQbm5uysvu3bt1Ul/GGGMsPQbTHExMTMTcuXMxfPhwuLq64tq1axlue/r0adStW1er9WOMMcayymCCr6WlJU6dOgUAuJx6ibUMJCcnc1czY4wxvWRQ3c5Z1bx5c1hbW6NYsWKYN28ekpOTdV0lxhhjTEmnTcP0BkelZmZmBisrqyyXJ5FIMHHiREycOBEFCxbEv//+i/79+yM6Ohpz585N9zmJiYlITExU/h0VFQUAkEqlkCrSCGqBYl/a3Kcu5bXjRR48Zj5e48bHm/ax7JAIgiCIUrNsCg8PR9GiRTPdpmPHjti5c2ea+8ePH4+LFy/ixo0bX93PggULMGvWLERHR0OiWLw8lRkzZmDmzJlp7t+xYwdsbGy+Wj5jjLG8LS4uDn369EFkZCTs7e2z9BydtXydnJy+2vIVQ9myZREbG4uPHz/C1dU1zeM//fQTJk6cqPw7KioKnp6eaN26dZZfRDFIpVL4+fmhVatWMM8DK97kteNFHjxmPl7jxserougxzQ6jH5F08+ZN2NrawtHRMd3HLS0tYWlpmeZ+c3NznXygdLVfXclrx4s8eMx8vMaNjxc5On6DCr7x8fGQyWSQSqWQy+XKlnO+lJVlli5diri4OPj4+CB//vw4duwY/vjjD0yYMCFPfTgYY4zpN4MKvk2aNEFgYKDybzc3NwDAhw8fYGtrC19fXyxatAi9evVCaGgoihcvjlWrVqF///46rDVjjDGmzqCC7/Xr1zN93NbWFtOmTcO0adNyvA/F+LOc9OHnhlQqRVxcHKKiovJEKz2vHS/y4DHz8Ro3Pl4VRbzIzvhlgwq+2hAdHQ0A8PT01HVVGGOMGZDo6Gg4ODhkaVudTTXSV3K5HG/fvoWdnV26U5M0RTHKOjg4WKujrHUlrx0v8uAx8/EaNz5eFUEQEB0djUKFCsHEJGu5q7jl+wUTExN4eHjobP/29vZ54oOskNeOF3nwmPl4jRsfL8lqi1fBKNNLMsYYY/qMgy9jjDGmZRx89YSlpSV+/fXXdBN+GKO8drzIg8fMx2vc+HhzhwdcMcYYY1rGLV/GGGNMyzj4MsYYY1rGwZcxxhjTMg6+euL9+/eYPXs2GjRogHnz5qW7TWhoKCZMmICmTZuiR48e+O+//7ReT01ZuXIl6tatq3bx8fHRdbVEERISglGjRqFp06bo3bs3Ll++rOsqaUxoaGia97Fu3bo4f/68rqsmmsePH2PixImoV68edu/eneE2vr6+aNKkCQYOHIi7d+9qvZ5i+fjxI+bPn4+GDRtixowZaR5/+PBhuu/5gwcPdFLf3Lp69SpGjhyJFi1aoH///ul+z0qlUixcuBCtWrWCt7c31qxZk63UkuAkG/rh7t276NChA/r164eYmBg8e/YszTbx8fFo3Lgx3N3d8f333+PmzZto27Yt/vnnH7Rr104n9RbT69evIZfLsXTpUuV9xjCKMiIiAvXq1UO1atXwww8/4OzZs2jatCnOnj2L+vXr67p6oktMTMS1a9ewa9cuFC1aVHl/mTJldFovsezZswfTpk3D0KFDERQUhHfv3qXZ5tWrV6hXrx7atWuHH3/8EQcOHECDBg3g7++PsmXL6qTeOfXo0SO0bNkSffr0QWJiIp4+fZpmm5iYGFy7dg1+fn7KFeYAqL3/hmL79u1YsWIFBg4ciO7du8Pf3x/t2rXDihUrMHToUOV2Q4YMwZkzZ/C///0PCQkJmDBhAl68eIH58+dnfWcC07m4uDghKSlJEARBaNKkieDr65tmm5UrVwrW1tZCZGSk8r6BAwcKVatW1WpdNWXKlClCixYtdF0N0f3222+Ci4uLkJiYqLyvffv2QsuWLXVaL00JDg4WAAhBQUG6ropGREZGCnK5XBAEQXBychIWL16cZptRo0YJ5cqVU24nCIJQs2ZNoV+/flqtqxji4+OVn902bdoIffv2TbONv7+/AECIiIjQQQ3FFR0dnea+MWPGCOXKlVP+HRgYKAAQ/Pz8lPdt3LhRMDc3F0JDQ7O8L+521gPW1tZfXRXk1KlTaNKkiVpas06dOuH27dsICwvTQi0178GDB2jRogU6deqE+fPnIz4+XtdVyrVTp06hTZs2sLCwUN7XqVMnnDt3DlKpVKd106TRo0ejefPmGD58OO7cuaPr6ojG3t7+qznfT506hfbt26tt5+PjY5CniaysrNQ+u5np3bs3WrZsiTFjxqTbQjYEqVvuqe9LSkpS/n3q1CnY2tqiWbNmyvs6deoEqVSKc+fOZXlfHHwNxKtXr1CoUCG1+xR/v379Wke1Eo+lpSX69u2LyZMno0ePHtiyZQvq1q2LxMREXVctVzJ636RSabpdlsagQYMGGDx4MH744QdIJBLUrFkTJ06c0HW1tCaj9/z9+/dqX+LGxNvbG99++y0mTJiAsLAwVKxYETdu3NB1tXLt48ePWLduHTp37qy879WrV3B1dYWpqanyvgIFCsDa2hqvXr3Kctl8zlcD/P39MWbMmEy3GTJkCIYMGZLlMqVSaZpzoNbW1srH9M2ff/6JXbt2ZbrNpk2blOfAfv75Z7Xja968OUqWLImNGzdixIgRGq+vphja+5Zbbm5uOH/+vHJll7Zt2yImJgbff/892rZtq+vqacXX3vOstiQNRaVKlXDs2DHl3+3bt0fLli3x448/GmRrXyE2NhadO3eGh4cHfvvtN+X96b2/SOklyM7/NAdfDShTpgz+/PPPTLfJ7spJjo6O+PTpk9p94eHhAAAnJ6cc1FKzunTpgrp162a6Teo1k7/8MBcqVAjly5c3+C7LzN43R0dHHdVKc8zM0n6ltGzZEjt37kRSUpLRBZ70ZPSeW1lZwcbGRmf10pT0AlHLli2xcOFCndRHDHFxcejYsSNiYmJw+vRptfctvfdXJpPh8+fP2fou5uCrAfb29l8NPNlVvXp1HDx4UO2+a9euwcHBAV5eXqLuSwxFixbN1WhHQRDw4cMH2NrailovbatevTr8/f3V7rt27RqKFSuGAgUK6Kxe2vT+/XtYWlqmG5iNUUbvedWqVbW6RrguvX//3mD/d+Pj49GxY0eEhobi9OnTcHZ2Vnu8evXq+PDhA16/fo0iRYoAKb2dgiCgWrVqWd4Pn/M1EIMGDcLLly+xbds2IOVcxOrVqzFo0CC1cw+Gau7cucoBVnK5HL/99hvevn2Lnj176rpqueLr6wt/f38cP34cAPDy5Uts2bIFvr6+uq6aRuzZswf37t1T/n3//n0sXrwYPXv2zPIi44bO19cX//77L65duwakTCU8ePCg0b7nmzZtUpseeeXKFaxbtw69evXSab1yIiEhAT4+Pvj48SNOnz4NFxeXNNu0atUKRYoUwaxZs4CUVu+cOXNQtWpV1KhRI+s7E2F0Nsul5ORkoU6dOkKdOnUEOzs7wcXFRahTp47QvXt3te02bNgg5MuXTyhZsqRgbW0tdOzYUYiNjdVZvcU0b948wcXFRahQoYLg4uIieHp6Cvv27dN1tUSxaNEiwdraWihdurRgaWkp9O3bVzm1zNjcuHFDqFOnjlC4cGGhTJkygoWFhTBs2LB0p3AYosePHyv/V83MzISiRYsKderUEX744Qe17X7++WfB0tJSKF26tGBhYSGMGTNGbeqRIWnQoIFQp04dwcHBQXB2dhbq1KkjdOzYUfn4mTNnhIoVKwrFihUTSpYsKVhZWQmTJ082yM/4woULBQBCmTJllO+z4pKav7+/ULRoUcHd3V1wdnYWypUrJzx69Chb++JVjfTE1atX09xnZWWFqlWrqt0XGxuLJ0+ewMnJSe2cqTFITk7G48ePYWdnBw8PD6PqoouKisKzZ8/g5uYGd3d3XVdH4969e4eIiAh4eXkpBxsZg7i4uHSzVTk6OqJ06dJq93369AmvXr2Ch4dHui0oQ3Ht2rU02ZssLS3TdLEGBwcjNjYWXl5eBpsg5+3btxnOHvnyVKJMJkNQUBDMzMxQpkyZbH9fcfBljDHGtCxvnIRhjDHG9AgHX8YYY0zLOPgyxhhjWsbBlzHGGNMyDr6MMcaYlnHwZYwxxrSMgy9jjDGmZRx8GWPpioqKwq5duxASEpLmsRMnTuDy5cs6qRdjxoCDL2MsXfb29ti2bRt69+4NuVyuvP/IkSPw8fGBubm5TuvHmCHj4MsYy9Bff/2FwMBALF68GEhZ0MPX1xe//voratWqpevqMWawOL0kYyxTO3fuxODBgxEQEIApU6YgIiIC586dM4rVtBjTFQ6+jLGv6tmzJ86cOYPExETcuXNHL9eQZsyQcLczY+yrxo8fj7CwMPTo0YMDL2Mi4JYvYyxTUqkU9evXR1JSEoKCgnD16lVUr15d19VizKBxy5cxlqkZM2bg7du3OH36NPr06YOBAwciMTFR19VizKBxy5cxlqFLly6hadOmOHbsGFq1aoXIyEhUrFgRffr0wYIFC3RdPcYMFgdfxli6oqOjUaVKFfj4+ODPP/9U3n/y5Em0a9cOFy5cQL169XRaR8YMFXc7M8bS9e+//6J58+aYP3++2v2tW7fG3Llzcfz4cZ3VjTFDxy1fxhhjTMu45csYY4xpGQdfxhhjTMs4+DLGGGNaxsGX/b+9OhYAAAAAGORvPYtdJREAM/kCwEy+ADCTLwDM5AsAM/kCwEy+ADCTLwDM5AsAswApqsDesGpegQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -397,10 +397,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:01.849732Z", - "iopub.status.busy": "2026-04-14T09:45:01.849631Z", - "iopub.status.idle": "2026-04-14T09:45:01.890667Z", - "shell.execute_reply": "2026-04-14T09:45:01.889977Z" + "iopub.execute_input": "2026-09-18T12:42:13.446989Z", + "iopub.status.busy": "2026-09-18T12:42:13.446901Z", + "iopub.status.idle": "2026-09-18T12:42:13.748105Z", + "shell.execute_reply": "2026-09-18T12:42:13.747645Z" } }, "outputs": [ @@ -408,9 +408,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "DE score: 21.218425\n", - "Local score: 21.218583\n", - "Improvement: +0.000158\n", + "DE score: 29.998126\n", + "Local score: 50293868147476266087958064633217024.000000\n", + "Improvement: +50293868147476266087958064633217024.000000\n", "Local search refined (or matched) the global result.\n" ] } @@ -446,16 +446,16 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:01.892528Z", - "iopub.status.busy": "2026-04-14T09:45:01.892392Z", - "iopub.status.idle": "2026-04-14T09:45:01.954488Z", - "shell.execute_reply": "2026-04-14T09:45:01.953874Z" + "iopub.execute_input": "2026-09-18T12:42:13.749881Z", + "iopub.status.busy": "2026-09-18T12:42:13.749671Z", + "iopub.status.idle": "2026-09-18T12:42:13.817026Z", + "shell.execute_reply": "2026-09-18T12:42:13.816513Z" } }, "outputs": [ { "data": { - "image/png": "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k5MTJk2aJFIyIiLNwSuPERFpiYcPH8Lb2xtr1qxBt27dAADdu3fHrVu3cOXKFRgaGoqckIhIXCxsiYi0yNKlSzFt2jTcu3cPly9fRocOHXDlyhV4eXmJHY2ISHQsbImItIggCGjYsCH09fVx584dDBs2DD/++KPYsYiINAILWyIiLRMYGAhPT0+UL18e169fh4GBgdiRiIg0Ak8eIyLSMn/++SdMTEwQEhKCsLAwseMQEWkMjtgSEWmR8+fPo169ejhy5AhmzZoFADh69CgkEonIyYiIxMcRWyIiLZGQkICePXti0KBBaNCgAf744w9cvnwZq1atEjsaEZFG4IgtEZGWGDFiBA4cOIBbt27BxMQEALB69WqMGTMGd+7cQYkSJcQNSEQkMha2RERa4NSpU2jUqBFOnjyJ2rVrq23z8/NDamoqpyQQUYHHwpaIiIiIdALn2BIRERGRTmBhS0REREQ6gYUtEREREekEFrZEREREpBNY2BIRERGRTmBhS0REREQ6gYUtEREREekEFrZEREREpBNY2BIRERGRTmBhS0REREQ6gYUtEREREekEFrZEREREpBP+B6W04uQzGw9bAAAAAElFTkSuQmCC", + "image/png": "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", "text/plain": [ "
" ] @@ -513,10 +513,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:01.955969Z", - "iopub.status.busy": "2026-04-14T09:45:01.955842Z", - "iopub.status.idle": "2026-04-14T09:45:01.958494Z", - "shell.execute_reply": "2026-04-14T09:45:01.958123Z" + "iopub.execute_input": "2026-09-18T12:42:13.818401Z", + "iopub.status.busy": "2026-09-18T12:42:13.818309Z", + "iopub.status.idle": "2026-09-18T12:42:13.821090Z", + "shell.execute_reply": "2026-09-18T12:42:13.820818Z" } }, "outputs": [], @@ -544,23 +544,13 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:01.959837Z", - "iopub.status.busy": "2026-04-14T09:45:01.959755Z", - "iopub.status.idle": "2026-04-14T09:45:04.022993Z", - "shell.execute_reply": "2026-04-14T09:45:04.022430Z" + "iopub.execute_input": "2026-09-18T12:42:13.822119Z", + "iopub.status.busy": "2026-09-18T12:42:13.822037Z", + "iopub.status.idle": "2026-09-18T12:42:16.873880Z", + "shell.execute_reply": "2026-09-18T12:42:16.873594Z" } }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/h/Documents/dev/hu/the-great-walker/pylinkage/.venv/lib/python3.11/site-packages/pymoo/operators/survival/rank_and_crowding/metrics.py:97: RuntimeWarning: invalid value encountered in subtract\n", - " dist = np.vstack([F, np.full(n_obj, np.inf)]) - np.vstack([np.full(n_obj, -np.inf), F])\n", - "/home/h/Documents/dev/hu/the-great-walker/pylinkage/.venv/lib/python3.11/site-packages/pymoo/operators/survival/rank_and_crowding/metrics.py:100: RuntimeWarning: invalid value encountered in subtract\n", - " norm = np.max(F, axis=0) - np.min(F, axis=0)\n" - ] - }, { "name": "stdout", "output_type": "stream", @@ -606,16 +596,16 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:04.024588Z", - "iopub.status.busy": "2026-04-14T09:45:04.024340Z", - "iopub.status.idle": "2026-04-14T09:45:04.104650Z", - "shell.execute_reply": "2026-04-14T09:45:04.103671Z" + "iopub.execute_input": "2026-09-18T12:42:16.875070Z", + "iopub.status.busy": "2026-09-18T12:42:16.874980Z", + "iopub.status.idle": "2026-09-18T12:42:16.945709Z", + "shell.execute_reply": "2026-09-18T12:42:16.945159Z" } }, "outputs": [ { "data": { - "image/png": "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jJRUuhJQ2YpVZQ4cOGDfX93OPu+5fvjhB4WGhl7Q0qzOfmC/EGUJYlpa2gWfLzIyUjabTQcPHlS3bt3s29PT05WVlVXueoeGhmrFihW67LLLdOWVV2rz5s1q1aqVpP9NFA8ODnb5jkCZ0aNH684777QPh/rxxx/18MMPl2vXrFkzTZo0SZMmTVJeXp7i4+P12GOP1UhisWLFCnXo0EErV650uL7nJnPV8V537NhRn332mQYOHOhU8tu/f3/1799fTzzxhN59912NHz9e7733nv06+Pj4aMSIERoxYoRsNpv+/Oc/6+WXX9ajjz5a7i4VgPqNORYA6hQvLy+ZTCaH5S9//vlnpys5e3l56YYbbtD777+vvXv3ltt//Phx++9lH9KzsrIc2vTr10/h4eF66aWXHIZiffzxx9q/f3+5lamqS8uWLdWnTx+98cYbDjHt3btXn3zyia655poLOm5AQEC511jG2eVm169fX+FdkLL5EWcP36rqfBUpe13z58932P7cc89JUoXXu3Xr1vrss89UWFiooUOHKjMzU5IUHR2tjh076plnnlFeXl655539/lfGarUqISFBy5Yt03vvvScfH59yxf7KzlcmMDBQUVFRTi2PeyHK7jSc/R5s27ZNX3/9tUO7sgKTrlz/cyUmJqqkpMQ+FOxsZ86csR/75MmT5fpE2V2isutw7nUym832O4Y1da0AeA53LADUKddee62ee+45DRs2TLfccosyMjL04osvKioqSt99951Tx3jyySe1fv16xcXF6Y477lD37t31+++/a/fu3frss8/0+++/Syr9ZtZqteqll15SUFCQAgICFBcXp/bt2+upp57SpEmTNHjwYN1888325WbbtWun6dOn19jr//vf/67hw4drwIABmjJlin252ZCQEHs9AldFR0frs88+03PPPadWrVqpffv2iouLk+T8crP33HOPCgoKdP3116tr164qLi7WV199paVLl6pdu3aaNGmSU+eryMUXX6wJEybolVdeUVZWlgYPHqzt27frjTfe0OjRo3X55ZdX+LyoqCh98sknGjJkiBISEvTFF18oODhYr732moYPH64ePXpo0qRJuuiii/Tbb79p/fr1Cg4O1po1a857zcaOHatbb71V//znP5WQkFBueeHu3btryJAhio6OVrNmzbRz506tWLFCd99993mPfSGu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wG0kFgAAAADcRmIBAAAAwG0kFgAAAADc5vHE4rffftOtt96q5s2by8/PT7169dLOnTs9HRYAAAAAF3i0QN7Jkyc1cOBAXX755fr4448VFhamgwcPqmnTpp4MCwAAAICLPJpYPPXUU2rTpo0WL15s39a+fXsPRgQAAADgQnh0KNTq1avVr18/3XTTTQoPD1ffvn316quvejIkAAAAABfAo3csfvrpJy1cuFAzZszQX//6V+3YsUPTpk2Tj4+PJkyYUK59UVGRioqK7I9zcnIkSTabTTabrdbiRuNks9lkGAZ9DR5FP4Sn0QdRF9APa48r19ijiYXNZlO/fv00Z84cSVLfvn21d+9evfTSSxUmFnPnztXs2bPLbT9+/LhOnTpV4/GicbPZbMrOzpZhGDKbPb7uARop+iE8jT6IuoB+WHtyc3OdbuvRxKJly5bq3r27w7Zu3brp/fffr7D9ww8/rBkzZtgf5+TkqE2bNgoLC1NwcHCNxgrYbDaZTCaFhYXxRwweQz+Ep9EHURfQD2uPr6+v0209mlgMHDhQBw4ccNj2448/KjIyssL2FotFFoul3Haz2UynQq0wmUz0N3gc/RCeRh9EXUA/rB2uXF+PvhPTp0/X1q1bNWfOHKWkpOjdd9/VK6+8oqlTp3oyLAAAAAAu8mhiERMTo1WrVulf//qXevbsqccff1zz58/X+PHjPRkWAAAAABd5dCiUJF133XW67rrrPB0GAAAAADcwKA0AAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALiNxAIAAACA20gsAAAAALitiatPSE1N1aZNm3T48GEVFBQoLCxMffv21YABA+Tr61sTMQIAAACo45xOLN555x09//zz2rlzp1q0aKFWrVrJz89Pv//+uw4dOiRfX1+NHz9ef/nLXxQZGVmTMQMAAACoY5xKLPr2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jvD30EMYCgWcxwMPPKARI0YoMjJSR48e1axZs+Tl5aWbb77Z06GhgcrLy3P41jc1NVV79uxRs2bN1LZtW913331KTk5Wp06d1L59ez366KNq1aqVRo8e7bmg0eBU1Q+bNWum2bNn64YbblBERIQOHTqkhx56SFFRUUpISPBg1GhIpk6dqnfffVcffvihgoKC7PMmQkJC5Ofnp5CQEE2ZMkUzZsxQs2bNFBwcrHvuuUcDBgxgRShPMQBUaezYsUbLli0NHx8f46KLLjLGjh1rpKSkeDosNGDr1683JJX7mTBhgmEYhmGz2YxHH33UaNGihWGxWIwrr7zSOHDggGeDRoNTVT8sKCgwrr76aiMsLMzw9vY2IiMjjTvuuMM4duyYp8NGA1JR/5NkLF682N6msLDQ+POf/2w0bdrU8Pf3N66//nojLS3Nc0E3cibDMIzaT2cAAAAANCTMsQAAAADgNhILAAAAAG4jsQAAAADgNhILAAAAAG4jsQAAAADgNhILAAAAAG4jsQAAAADgNhILAAAAAG4jsQBQb/38888ymUzas2ePp0M5r8cee0x9+vTxdBgOTCaTPvjgg2o/bnx8vN59990aP09D4Uw/3rBhg0wmk7Kysmotrpo2btw4Pfvss54OA0A1IrEAUGMmTpyo0aNHl9teXR+S2rRpo7S0NPXs2dOt47iistdUHVatWqX+/fsrJCREQUFB6tGjh+677z77/rqYnJxr9erVSk9P17hx4zwdSr3hiX7srJrs70lJSXriiSeUnZ1dI8cHUPtILADUS8XFxfLy8lJERISaNGni6XDc9vnnn2vs2LG64YYbtH37du3atUtPPPGETp8+7fKxLuQ51WXBggWaNGmSzObq+++luLi42o5Vm8d2Vm3147rwWs/Ws2dPdezYUW+//banQwFQTUgsANQJ77//vnr06CGLxaJ27dqVGyLRrl07Pf7447rtttsUHBysP/7xj+WGkEycOFEmk6ncz4YNGyRJJ0+e1G233aamTZvK399fw4cP18GDB+3nWLJkiaxWq9atW6du3bopMDBQw4YNU1pamqTSOwZvvPGGPvzww3LH/stf/qLOnTvL399fHTp00KOPPurSB/w1a9Zo4MCBevDBB9WlSxd17txZo0eP1osvvmiPbfbs2fr222/t516yZImk0qFGCxcu1MiRIxUQEKAnnnhCkrRw4UJ17NhRPj4+6tKli956660qY5g1a5Zatmyp7777TpK0efNmDRo0SH5+fmrTpo2mTZum/Pz8Sp9//PhxffHFFxoxYkSV5znftSq7M/Paa6+pffv28vX1lST98MMPuuyyy+Tr66vu3bvrs88+KzfM6pdfflFiYqKsVquaNWumUaNG6eeff7bvL/sG/oknnlCrVq3UpUuXKmO9ENnZ2fLy8tLOnTslSTabTc2aNVP//v3tbd5++221adNGUsVDof7zn/+oc+fO8vPz0+WXX+7wGsqc7/2p6N9MRVasWKFevXrJz89PzZs311VXXaX8/Pwq+7uz13n27NkKCwtTcHCw7rrrrnLJzYgRI/Tee++5cnkB1GUGANSQCRMmGKNGjSq3ff369YYk4+TJk4ZhGMbOnTsNs9ls/O1vfzMOHDhgLF682PDz8zMWL15sf05kZKQRHBxsPPPMM0ZKSoqRkpJipKamGpKMb775xjAMw8jKyjLS0tLsP/fee68RHh5upKWlGYZhGCNHjjS6detmfPnll8aePXuMhIQEIyoqyiguLjYMwzAWL15seHt7G1dddZWxY8cOY9euXUa3bt2MW265xTAMw8jNzTUSExONYcOG2c9RVFRkGIZhPP7448aWLVuM1NRUY/Xq1UaLFi2Mp556yh7/rFmzjIsvvrjSazV37lwjLCzM+P777yvcX1BQYNx///1Gjx497OcuKCgwDMMwJBnh4eHG66+/bhw6dMg4fPiwsXLlSsPb29t48cUXjQMHDhjPPvus4eXlZXzxxRf2Y0oyVq1aZdhsNuPuu+822rVrZxw8eNAwDMNISUkxAgICjHnz5hk//vijsWXLFqNv377GxIkTK30NK1euNAICAoySkhKH7WXnKePMtQoICDCGDRtm7N692/j222+NM2fOGF26dDGGDh1q7Nmzx9i0aZMRGxvrcOzi4mKjW7duxuTJk43vvvvO2Ldvn3HLLbcYXbp0sb9PEyZMMAIDA40//OEPxt69e429e/dW+Fq+/PJLIyAgoMqft99+u9Jrcckllxh///vfDcMwjD179hjNmjUzfHx8jNzcXMMwDOP22283xo8fbxiGUa4fHzlyxLBYLMaMGTOMH374wXj77beNFi1aOPybceb9qejfzLmOHj1qNGnSxHjuueeM1NRU47vvvjNefPFFIzc3t9L+7sp1Hjt2rLF3717jo48+MsLCwoy//vWvDuf/+OOPDR8fH+PUqVOVXksA9QeJBYAaM2HCBMPLy6vcBzJfX1+HD0m33HKLMXToUIfnPvjgg0b37t3tjyMjI43Ro0c7tDn3A9nZ3n//fcPX19fYvHmzYRiG8eOPPxqSjC1bttjbnDhxwvDz8zOWLVtmGEZpYiHJ4QPYiy++aLRo0cLhNVWULJ3r73//uxEdHW1/fL7EIi8vz7jmmmsMSUZkZKQxduxYY9GiRQ4fuCo7hiTjvvvuc9h26aWXGnfccYfDtptuusm45pprHJ63fPly45ZbbjG6detm/Prrr/Z9U6ZMMf74xz86PH/Tpk2G2Ww2CgsLK3wN8+bNMzp06FBhfGcnFueq6Fp5e3sbGRkZ9m0ff/yx0aRJE3uSaBiG8emnnzoc+6233jK6dOli2Gw2e5uioiLDz8/PWLdunWEYpe9fixYt7B+AK1NQUGAcPHiwyp+cnJxKnz9jxgzj2muvNQzDMObPn2+MHTvWuPjii42PP/7YMAzDiIqKMl555RXDMMr344cfftih7xuGYfzlL39x+DfjzPtT0b+Zc+3atcuQZPz8888V7q+ovzt7nZs1a2bk5+fb2yxcuNAIDAx0SDy//fbbKs8PoH6p/wOTAdRpl19+uRYuXOiwbdu2bbr11lvtj/fv369Ro0Y5tBk4cKDmz5+vkpISeXl5SZL69evn1Dm/+eYb/eEPf9A//vEPDRw40H6OJk2aKC4uzt6uefPm6tKli/bv32/f5u/vr44dO9oft2zZUhkZGec959KlS7VgwQIdOnRIeXl5OnPmjIKDg52KV5ICAgL073//W4cOHdL69eu1detW3X///Xr++ef19ddfy9/fv8rnn3tt9u/fX27oy8CBA/X88887bJs+fbosFou2bt2q0NBQ+/Zvv/1W3333nd555x37NsMwZLPZlJqaqm7dupWLobCw0D5sqSrOXKvIyEiFhYXZHx84cEBt2rRRRESEfVtsbKzDc7799lulpKQoKCjIYfupU6d06NAh++NevXrJx8enyhj9/PwUFRV13tdSmcGDB2vRokUqKSnRxo0bdfXVVysiIkIbNmxQ7969lZKSoiFDhlT43P379zv0U0kaMGCAw2Nn35/z/Zu5+OKLdeWVV6pXr15KSEjQ1VdfrRtvvFFNmzat9DnOXueLL77Yod8OGDBAeXl5+uWXXxQZGSmp9DpLUkFBQZVxAqgfSCwA1KiAgIByH9B+/fXXCz7W+Rw7dkwjR47U7bffrilTprh8Dm9vb4fHJpNJhmFU+Zyvv/5a48eP1+zZs5WQkKCQkBC99957F7SUZseOHdWxY0fdfvvteuSRR9S5c2ctXbpUkyZNqvJ5zlybigwdOlT/+te/tG7dOo0fP96+PS8vT3feeaemTZtW7jlt27at8FihoaE6efJkledz9lpdyOvJy8tTdHS0w4ftMmcnKc4ce9OmTRo+fHiVbV5++WWHa3a2+Ph45ebmavfu3fryyy81Z84cRURE6Mknn9TFF1+sVq1aqVOnTueNozLOvj/ne61eXl769NNP9dVXX+mTTz7RCy+8oEceeUTbtm1T+/btKz23M9fZGb///vsFPQ9A3URiAcDjunXrpi1btjhs27Jlizp37my/W+GMU6dOadSoUeratauee+65cuc4c+aMtm3bpksvvVSSlJmZqQMHDqh79+5On8PHx0clJSUO27766itFRkbqkUcesW87fPiw08esTLt27eTv72+fkFvRuStTdk0nTJhg37Zly5Zyr3XkyJEaMWKEbrnlFnl5edmXib3kkku0b98+l76179u3r44dO6aTJ09W+o33hV6rLl266JdfflF6erpatGghSdqxY4dDm0suuURLly5VeHi4S3eLKtKvX7/z1kcpi6MiVqtVvXv31j/+8Q95e3ura9euCg8P19ixY/XRRx9p8ODBlT63W7duWr16tcO2rVu3Ojy+kPenMiaTSQMHDtTAgQM1c+ZMRUZGatWqVZoxY0aFfc7Z6/ztt9+qsLDQfldi69atCgwMtE9al6S9e/eqdevWDnfLANRfrAoFwOPuv/9+ff7553r88cf1448/6o033tA//vEPPfDAAy4d584779Qvv/yiBQsW6Pjx4zp27JiOHTum4uJiderUSaNGjdIdd9yhzZs369tvv9Wtt96qiy66qNwwrKq0a9dO3333nQ4cOKATJ07o9OnT6tSpk44cOaL33ntPhw4d0oIFC7Rq1SqXYn/sscf00EMPacOGDUpNTdU333yjyZMn6/Tp0xo6dKj93KmpqdqzZ49OnDihoqKiSo/34IMPasmSJVq4cKEOHjyo5557TitXrqzwml5//fV66623NGnSJK1YsUJS6cpNX331le6++27t2bNHBw8e1Icffqi777670nP27dtXoaGh5ZLEs13otRo6dKg6duyoCRMm6LvvvtOWLVuUlJQkqfSDsSSNHz9eoaGhGjVqlDZt2qTU1FRt2LBB06ZNc/kuWdlQqKp+zh0KdK4hQ4bonXfesScRzZo1U7du3bR06dIqE4u77rpLBw8e1IMPPqgDBw7o3Xffta8AVuZC3p+KbNu2TXPmzNHOnTt15MgRrVy5UsePH7cPpaqovzt7nYuLizVlyhTt27dP//nPfzRr1izdfffdDksRb9q0SVdffbVLMQOowzw8xwNAA+bsqlCGYRgrVqwwunfvbnh7extt27a1r6hTJjIy0pg3b57DtnMnvUZGRhqSyv2sX7/eMAzD+P33340//OEPRkhIiOHn52ckJCQYP/74o/14ixcvNkJCQhzOsWrVKuPsP5UZGRnG0KFDjcDAQIdjP/jgg0bz5s3tK+HMmzfP4Vjnm7z9xRdfGDfccIPRpk0bw8fHx2jRooUxbNgwY9OmTfY2p06dMm644QbDarUakuyrZqmSydH//Oc/jQ4dOhje3t5G586djTfffNNh/7nPW7p0qeHr62u8//77hmEYxvbt2+2vNSAgwOjdu7fxxBNPVPoaDMMwHnroIWPcuHFVnudCr9X+/fuNgQMHGj4+PkbXrl2NNWvWGJKMtWvX2tukpaUZt912mxEaGmpYLBajQ4cOxh133GFkZ2cbhuH85PvqUNZ3Fi5caN927733GpKMH374wb6tokUI1qxZY0RFRRkWi8UYNGiQ8frrr5f7N3O+96eifzPn2rdvn5GQkGCEhYUZFovF6Ny5s/HCCy/Y91fW3529zjNnzrS/13fccYfDYgSFhYVGSEiI8fXXX7tyWQHUYSbDOM/gYQAAnHTs2DH16NFDu3fvtk/QrSlbtmzRZZddppSUFIcJ9/C8iRMnKisry6HGyLkWLlyoVatW6ZNPPqm9wADUKOZYAACqTUREhBYtWqQjR45Ue2KxatUqBQYGqlOnTkpJSdG9996rgQMHklTUU97e3nrhhRc8HQaAakRiAQCoVqNHj66R4+bm5uovf/mLjhw5otDQUF111VUXtPIW6obbb7/d0yEAqGYMhQIAAADgNlaFAgAAAOA2EgsAAAAAbiOxAAAAAOA2EgsAAAAAbiOxAAAAAOA2EgsAAAAAbiOxAAAAAOA2EgsAAAAAbiOxAAAAAOC2/wcy8xAhyWTHgAAAAABJRU5ErkJggg==", + "image/png": "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PAAAAEBSSEiI5s6ars2JSVq0bJUysnIUHhSgx4fdpJjo7iQVl0FiAQAAAFxgNpvVIzZGPWJjXB2K2yHtAgAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADiOxAAAAAOAwEgsAAAAADqvlypMfOXJEb7/9tn788UfVqlVL11xzjZ577jnVrVvXVubFF1/URx99VOR1V155pVauXOmCiAEAAACUxGWJxfnz5zVgwAA99thjuvPOO3XmzBk999xz+uqrr7Rx40b5+vpKklJTU9WqVSu98847ttcW7gMAAABQPbgssfDy8tLOnTtVq9b/h/DBBx+oTZs22rRpk/r06WPbHhAQoKioKBdFCgAAAOByXDrG4uKkQpIMw5AkmUymItvXr1+vTp06qXfv3nrhhReUlZVVpXECAAAAKJtLx1hc6q9//auaNWummJgY27a6devqueee07XXXqvff/9dcXFxWrFihZKSkuTj41PicfLy8pSXl2d7npmZKV1IXKxWaxVcCSqT1WqlLj0Edek5qEvPQD16DurSc7i6Lity3mqTWLz00ktauXKl1qxZU2QMxSuvvCIvLy9JUteuXXXVVVepefPmWrhwoe67774SjzV16lRNnjy52PaMjAylpqbKbGYyLHdmtVqVkZEhwzCoSzdHXXoO6tIzUI+eg7r0HK6uy4r0FKoWicVrr72m119/XStWrFBsbGyRfYVJRaHGjRurWbNm2rlzZ6nHmzhxosaPH297npmZqSZNmig4OFgRERF8wNyc1WqVyWRSvXr1qEs3R116DurSM1CPnoO69ByursvatWuXu6zLE4tp06bp5Zdf1ooVK9SvX7/Lls/Ly1NycrJCQkJKLePr61vizFEmk0lms5kPmAegLj0Hdek5qEvPQD16DurSc7iyLityTpe+02bMmGFLKq677rpi+/Pz8zVhwgSlpaVJks6cOaPHHntM58+f1/Dhw10QMQAAAICSuCyxSE9P14QJE2Q2m/XQQw8pKirK9i8hIUGS5O3trcaNG6tTp05q0KCB6tatqx07duibb75RixYtXBU6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M2bM0NatW2W1WnX11Vdr5syZ6tSpU5Fyf/vb3/T2228rOztbzZs31zvvvKObbrrJ4fMDAAAAcI5yJxYmk0nXX3+9rr/+em3cuNHhxOL8+fOaN2+eXnvtNXXv3l15eXl67LHHNGDAAO3Zs8e2LsY777yjt956S1988YViYmI0Y8YMDRkyRDt27FBUVJRDMQAAAABwDrsGb8+fP9/hE3t5eWnp0qXq1auXfH19VadOHU2bNk3JycnatGmTrdxbb72l0aNH65prrpGPj49eeOEF1a9fX++++67DMQAAAABwDrsSi8py9OhRSVJ4eLgk6dSpUzp06JB69+5dpFyfPn2KJB8AAAAAXKtC61hUpry8PI0dO1Y9e/bUVVddJUlKTU2VLko0CkVERJSZWOTl5SkvL8/2PDMzU5JkGIasVmslXQGqitVqpS49BHXpOahLz0A9eg7q0nO4ui4rct5qkVgUFBTorrvuUkpKin744Ydis0NdekEFBQVlziA1depUTZ48udj2jIwMpaamymyuVg01qCCr1aqMjAwZhkFdujnq0nNQl56BevQc1KXncHVdZmVllbusyxOL8+fP65577lFiYqLWrVtnm85Wkho2bCiVsG5GamqqbV9JJk6cqPHjx9ueZ2ZmqkmTJgoODlZERAQfMDdntVplMplUr1496tLNUZeeg7r0DNSj56AuPYer67IiSz3YnVisWLFCN998c7HHFVGYVPz4449au3atmjdvXmR/SEiIOnTooG+++UZDhw6VLtzcNWvW6KGHHir1uL6+vvL19S223WQyyWw28wHzANSl56AuPQd16RmoR89BXXoOV9ZlRc5pd2IxePBgGYZR7HF5Wa1W3X///VqzZo2+/PJL1a1bVxaLRZLk7+8vHx8fSdILL7ygBx54QL1799bVV1+t119/XXl5eXr00UftDR0AAACAk7msK5TFYtGKFSskSdddd12Rfe+8847uvfdeSdKdd96p3NxcTZs2TSkpKerYsaPWrFmjBg0auCRuAAAAAMW5LLG4uIXickaOHKmRI0dWekwAAAAA7EOnOwAAAAAOI7EAAAAA4DASCwAAAAAOI7EAAAAA4DASCwAAAAAOszuxmDp1aomPAQAAANQ8dicWzz//fImPAQAAANQ8dIUCAAAA4DASCwAAAAAOI7EAAAAA4DASCwAAAAAOsyuxiI6Odn4kAAAAANyWXYnFvn37lJWV5fxoAAAAALgluxKLW2+9VfPmzXN+NAAAAADcUi17XmS1WjV27FgtXrxY7dq1k4+PT5H9s2fPdlZ8AAAAANyAXYlFdna2br31VklSamqqs2MCAAAA4GbsSiyWLl3q/EgAAAAAuC2mmwUAAADgMLsSC8Mw9K9//UtXX321IiMjbdvj4uJ0/PhxZ8YHAAAAwA3YlVjMnj1bL730koYOHVpkjEWzZs0UHx/vzPgAAAAAuAG7E4uEhASNHz++yPYBAwbok08+cVZsAAAAANyEXYnFkSNH1KVLF0mSyWSybQ8KCpLFYnFedAAAAADcgl2JxRVXXKGff/5ZuiSxWLp0qVq3bu286AAAAAC4Bbumm33yySd1//33a/r06ZKkTZs2adWqVZo+fbpmzZrl7BgBAAAAVHN2JRZPPPGEzp49q5EjR8pqtapHjx4KDg7W5MmTNWrUKOdHCQAAAKBasyuxkKQJEyZo/PjxOnTokKxWq1q0aCFvb2/nRgcAAADALdidWEiSl5eXWrVq5bxoAAAAALilcicWDzzwQLkPOn/+fHvjAQAAAOCGyp1YFBQUVG4kAAAAANxWuROLBQsWVG4kAAAAANyWXetYAAAAAMDFGGMBAAAAwGGMsQAAAADgMMZYAAAAAHAYYywAAAAAOMzuBfLy8vK0ZcsWHT16tFg3qXvuuccZsQEAAABwE3YlFjt37tTgwYOVkpKiM2fOKDg4WBkZGZKkyMhIEgsAAACghrGrK9S4ceN02223KSsrS5JksVi0d+9excbGaty4cc6OEQAAAEA1Z1dikZiYqIkTJ8psNstkMuncuXO68sorNW/ePM2ZM8f5UQIAAACo1uxKLCwWi8LDwyVJ4eHhOn78uCSpSZMmSk5Odm6EAAAAAKo9h2eF6tmzpyZPnqyff/5ZkyZNUps2bZwTGQAAAAC3Ydfg7aefftr2eNq0aRoyZIjmzZun+vXrKyEhwZnxAQAAAHADdiUWM2bMsD1u3bq1du/erYyMDNWpU0cmk8mZ8QEAAABwA3avY3Gp4OBgZx0KAAAAgJuxO7FISkrSDz/8oPT09GL7XnrpJUfjAgAAAOBG7Eospk+frueff17t2rVTSEhIsf0kFgAAAEDNYldi8eabb2rFihX605/+5PyIAAAAALgdu6abzcnJUZ8+fZwfDQAAAAC3ZFdicdNNN2np0qXOjwYAAACAW7KrK9Tbb7+tzp07a8mSJWrZsmWxKWYvno4WAAAAgOezK7F45ZVXlJ6eruTkZJ09e9b5UQEAAABwK3YlFh9++KG++uorXXfddc6PCAAAAIDbsWuMRe3atRUTE+P8aAAAAAC4JbsSiz59+mjhwoXOjwYAAACAW7KrK5SXl5ceeughJSQkKCoqqtjg7dmzZzsrPgAAAABuwK7EIi8vT7fccosk6ffff3d2TAAAAADcjF2JBWtYAAAAALiYXWMszp07px9//NH2/KefftIjjzyi119/XefPn3dmfAAAAADcgF0tFq+99pqsVqt69uypnJwcDRw4UO3atdOXX34pi8WiV1991fmRAgAAAKi27GqxmDdvnkaOHClJ+vrrr9WkSRN9++23WrFihT788ENnxwgAAACgmrMrsUhJSVHdunUlSd9++60GDRokSYqKilJqaqpzIwQAAABQ7dmVWLRr105///vftWvXLi1cuFADBgyQJO3evVvt2rVzdowAAAAAqjm7EovXXntNr776qtq3b69+/fqpZ8+ekqRZs2bpySefdHaMAAAAAKo5uwZv9+/fX6dOnVJ6eroiIiJs259++mm1b9/emfEBAAAAcAPlbrE4cOBAkefe3t5FkgpJ6tixo8xmc7GyAAAAADxbuVssevfurZtvvlmPPPKIunXrVmKZjRs36v3339cXX3yh5OTkcgfx66+/av/+/erWrZtCQ0OL7NuzZ4+OHTtWZFtgYKB69OhR7uMDAAAAqFzlTix27typyZMn69prr1WdOnXUrVs3RUZGyjAMJScnKzExUWfOnNGoUaO0a9euch1z48aNio+P15YtW5ScnKxvv/1Wffv2LVLmrbfe0meffaaOHTvatjVv3pzEAgAAAKhGyp1Y1K1bV2+//bYmT56sZcuW6YcfftBvv/0mk8mkxo0ba8SIEbrlllsUHBxc7pMfPHhQDz/8sDp37qymTZuWWq53795asmRJuY8LAAAAoGpVePB2SEiI7rvvPt13330On/zuu++WpGJdnS515swZ/fjjjwoODlarVq3k4+Pj8LkBAAAAOI9ds0JVtW+//VanTp3SiRMnVFBQoDlz5mjIkCGlls/Ly1NeXp7teWZmpiTJMAxZrdYqiRmVx2q1Upcegrr0HNSlZ6AePQd16TlcXZcVOW+1Tyxuvvlm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9PHHH2vhwoXKzc1Vv379NG7cONWuXbuKo0VZxo0bp8TExGLbFy1aZOvTvXbtWv33v//VsWPH1KxZM913333q1auXC6JFaWbNmqXFixcX2x4WFqbPP//c9jw3N1dvvvmm1q1bJ39/f915550aPnx4FUeLsjz33HMlfqns1KmT/vGPf0iSzp8/r//85z9atWqVcnNz1bZtWz3xxBNq0qSJCyJGaXJzc/Xee+9p3bp1KigoUKtWrfTQQw8VGbwtSUePHtW0adO0Z88eNWrUSGPHji02U5QreXxiAQAAAKDyVY8OWQAAAADcGokFAAAAAIeRWAAAAABwGIkFAAAAAIeRWAAAAABwGIkFAAAAAIeRWAAAAABwGIkFAI+zcuVK7d+/39VhlEt1izU9PV0LFy7UuXPnnH7sVatWKTk5WZK0YcOGEhfbQ1Gff/65fv311zLLfPHFFzp06FCVxVTZrFarFi9erLNnz7o6FAAVRGIBoMr873//U1JSUrHthw4d0sKFC512nvHjx2v16tVOO155fPHFFzp48GCFX1eeWLOzs7V+/XqtWLGixHPYe+6SHDx4UHfeeadycnKccrxCGzdu1EMPPaSQkBBJ0ttvv6333nvPqefwRA8//LC+//77MsuMHTtWa9asqbKYCn322Wc6evSo049rNpv12Wefafr06U4/NoDKRWIBoMrExcXpX//6V7Hta9as0Z133um08wwaNEhXXnml045XHmPHjtXXX3/t9OMuWbJETZs21RNPPKH3339fgwYN0rXXXluklaOyzu1Mzz//vMaNG6fatWu7OhS3MmTIEDVr1szVYZTowQcf1I8//lgpx544caKmTZsmi8VSKccHUDlquToAAChNdna2fvjhB509e1YxMTFq0KBBkf3Lli1Tx44d5ePjo6SkJDVq1Ejdu3dX//791bx5c+lCa8jmzZuLHTsqKkrdu3ev0HkCAgL0888/y9/fXz169FCtWn/8F/q///1P2dnZSkpKsrW8jBgxQmvWrFFqaqpMJpPq16+vLl26KDg4uELXf++99+qll17Sc889Z9v+ww8/KCsrq8xzl3ZvJOno0aP66aefFBgYqF69esnPz6/MOA4fPqxNmzbp+uuvV3h4uCTpp59+0tGjR9WsWTN17txZJpOp1Nfv2LFD69evV0JCQqlltm7dqr1790qS6tatq06dOql+/fpFynz//fcKDAxU8+bNtWHDBnl7e+v666+XJB0/flyJiYlq1KiROnfurK+++kpt27ZVixYtbK/Py8vThg0blJ2drfbt29veI4U++eQT9ejRQwUFBdq6datatGihTp06lXlvKmrLli3Ky8tTz549JUnJyclau3atrr32Wtv7rvDaunfvroEDB6pJkyZFjnHixAlt3rzZdq0lcea1JiUl6fjx42rdurVat24tXejCl5+frw0bNkiSfHx89Oc//7lC5zYMQ9u2bVNoaKh69OhR5D3UqVMnRUVFaf78+XrqqacqfJ8BuAaJBYBq6bvvvtOf//xnNWnSRKGhodq4caOmTp2qsWPH2so89thjatu2rfbv368uXbpo8ODB6t69u8aPH68xY8aoVatW+vXXX7V06VLbawzD0KeffqqHHnpI3bt3L/d52rVrp4MHD6pdu3baunWrGjdurO+++04+Pj5at26dcnJy9Msvvyg7O1u68OV+/fr12rVrlwzD0JEjR3Tw4EEtXrxY1113XbnuwYEDB3T27Fn179+/yPZevXrZHpd27tLuzSuvvKKpU6eqZ8+eSk5OVlpamlasWKFu3bqVGMPWrVt100036eGHH9aIESN06tQpDRkyRMePH1eHDh20Y8cOXXHFFfr8889LTZpWrFihjh07ql69eqVe6/bt27Vy5UpJUmpqqjZv3qw333xTDz30kK3MtGnTdOrUKaWmpqpt27bq2rWrrr/+ei1atEj333+/7Rry8/P166+/asqUKbbEIikpSbfddpsiIyPVoEED/fjjj7rnnnv09ttv245///3365prrtHevXt11VVXaejQoSV+2V67dq1trEhphg0bJrO5eKeAjRs36u9//7t27dolSfrwww/1zDPPaNq0aXr22WclSQ899JDt/fnwww9rxowZatq0qSTp008/1T333KOrrrrKdq2ZmZlFzuGsa83NzdUNN9ygY8eOqUuXLjpw4IA6duyojz/+WN98843y8vKUmJiolJQUBQQE6M9//nO5z92rVy/t2rVLHTt21KZNmxQTE6Nly5bJ29vbVu66667TihUrSCwAd2IAQBWJjY01rr/+euPjjz8u8u+hhx4yLv7vKC8vz2jRooUxZswY27aFCxcatWrVMvbs2WPb1qhRI6N169aGxWIpcp7WrVsb77zzTokxTJo0yQgNDTUOHDhQofN06dLFyM7ONgzDMNLS0ow6deoYH330ka1My5YtjTlz5pR5/W+88YYRFRVV7lizsrKMsLAwo1+/fsZ3331n5OXllViupHOXdG8SExMNk8lkfP3114ZhGIbVajXuuusuo3Pnzsb58+dtZSQZ6enpxtq1a42QkBDj7bffth3jz3/+s3H33XcbBQUFhmEYRn5+vtGvXz9j7NixpV730KFDjbvuuqvItuHDhxujRo0q9TXffPON4efnZ5w8edK2bdCgQUZAQIBx4MCBYvdo6tSptm1Tp041JBnvv/++YRiGkZubazRq1KjIPTp+/LhRr14947PPPrNtCwgIMLp27Wqr59LEx8cbw4cPL/Nffn5+ia/dsWOHIclITk42DMMwbr75ZqN79+7GwIEDDcMwjFOnThkmk8nYtm2bYRiGERkZafz3v/81DMMwsrOzjYiIiCLX+sorr1TatS5ZssSIjIw0zpw5Y9v26aef2h6HhYUZH3/8se15Rc4dFRVlnD592jAMw/jtt9+MsLAw4x//+EeR88+dO9eoU6dOqfEBqH5osQBQpQ4fPlykBUEXuitdLDExUYcOHdILL7xg2zZ8+HDFxcXpk08+KbL9vvvuK3f3ooSEBE2bNk1ffvmlWrZsqR9++KHc57n33nsVEBAgXdRVp7DrTlmOHTumXbt2KT09XV5eXjpw4IDS09MVGhp62dcGBgZq1apVeuaZZ9SvXz+ZzWbFxsbq3nvv1ejRo0v8Rfxil96bRYsWKTo62tZ9yGQy6YUXXlCHDh20Z88etWvXzlZ22bJlGjNmjObMmaO7775bkmSxWLR06VK99NJL+uyzz2QYhgzDULNmzfTtt9+WGsepU6eKHLs0p0+f1i+//KKTJ0/KarXKarVq+/bt6tevn63Mn/70J7Vs2dL2/Ntvv1VmZmaRX7XHjh2rF1980fb8q6++UkpKikJDQ7VkyRJb3C1atNC3336rIUOG2MqOGjXKVs+lmTRp0mWvpTTt27dXRESE1q5dq6FDh2r9+vVasGCBRowYoYKCAq1du1Z169ZVhw4dir3222+/VXp6epHWtPHjx2vy5MmVcq1+fn46c+aM9u/fb2vNuO2220otX5Fzjx492vYZaNy4se6++24tXrxYjz76qK1MaGioMjMzde7cuSItGQCqLxILAFXq+uuv17vvvltk27/+9a8iU4/++uuvql27drGxDi1btiw29ealZUrzyy+/6IEHHtCMGTNsX6wrcp66desWee7r63vZ6TCfeeYZzZkzR9HR0apXr57y8/OlC119ypNYSFL37t21du1aWSwWJSYmaunSpXrsscd06NAhvfbaa2W+9tLr+vXXX4uMOSi81sJ9F3/5f+SRRzR8+HBbUqELYzOsVqs2bdqknTt3FjnO1VdfXWocgYGBl51lau7cuXrqqafUrl07NWrUSD4+PjIMQ6mpqWVe02+//abIyMgig8L9/PwUGRlpe37kyBF5e3vrs88+K/LaZs2aFUlSSjp+SRzpCiVJffr00bfffquoqCjVrl1bgwYNUmhoqJKSkmzjLUoas3L06FFFRkYWGRPj7+9fadc6cOBAPfjgg+rdu7caNmyo/v3765FHHikx6anouS8dkN68eXMtX768yLacnBz5+vqSVABuhMQCQLUTHh6us2fP6syZM/L397dtP336dLGxAGUNGi506tQp3XrrrRo+fHiRX3srcp6K2rVrl9544w3t3LnT9oX9559/1rJly2QYRoWPFxISohtuuEE33HCD8vPz9dFHH102sbj03oSHhxeblvb06dO2fRdbtGiR7rrrLnXs2FHjx4+XJNWpU0e68Ct5eceJSNKVV15Z4jTDhQoKCvTEE09o7ty5ttnBCgoK5OfnV+xeXXpNdevWLXHmoPT0dNvjOnXq6Ny5c/rPf/4jX1/fMmMtz/vphx9+0Pbt28ssc/vtt5eaWPTt21fvvPOOWrVqpb59+0qSrr32Wq1du1Zr164tMq7kYmFhYVV6rSaTSW+88YamTp2qpKQkffDBB+revbu2b9+uVq1aFStfkXNfHHPh80vfg4cPH7YNFgfgHphuFkC107VrV/n7+xf55fPQoUP66aefdM0111ToWAUFBbrjjjvUsGFDzZkzp9LOExgYWKQFIzk5Wd7e3kV+qV2yZEmFjpmZmWn74n+xs2fP2taDKOncpbnmmmv0/fff6+TJk7ZtCQkJCg0NLdZVqXfv3lq5cqX+9re/aebMmdKFX5lbt25drMVJkn7//fdSz9u/f38lJibaWmxKus7c3NwiXyKXLl2qgoKCy15TbGyscnNzi6zj8M033xRpISkc/D537twiry0oKCjWIlIekyZN0sKFC8v8V9av7H379tXevXu1cOFCW2LRt29fLVmyRDt37rRtK+laz549q//973+2batXr9aZM2cq5VpPnDghq9UqHx8f9ezZU++++668vLy0detWqYT3XUXOfXF3SKvVqqVLlxaZlEAXErjC1kUA7oEWCwDVTnh4uP72t7/p4Ycf1sGDBxUaGqq33npLAwYM0MCBAyt0rDfffFPr16/XjBkziiQQhdPNOus83bt313/+8x/VrVtXPj4+GjRokOrVq6c77rhDt912m5KSkrRo0aIKHTMtLU19+/bV9ddfry5dusjf31/fffedPvroI3300UelnnvEiBElHm/EiBGaM2eO+vXrp0cffVQnTpzQjBkzNGvWrBL72vfu3VtffPGF/vSnP8lkMumpp57S3LlzNXDgQA0aNEiDBw9WVlaWvvzyS/Xp00cvvfRSiee98cYbVa9ePS1btkx33HFHsf1169ZV79699eCDD+rRRx/V0aNH9e6778rHx+ey96h58+Z65JFHNGLECNusSu+88478/f1tv8g3adJEM2bM0FNPPaXt27ere/fu+u2337RkyRLNnDlTN9xww2XP40yF4yySkpL04YcfShcSi9GjRyssLKzUrkbNmjXT448/rhEjRuj555+XYRiaNWtWkdY2Z17rt99+qxkzZujPf/6zGjdurK+//lqBgYHq06ePdOF9989//lNeXl62WaHKe+4tW7bozjvvVL9+/bR06VIdP37cVn+60Mr47bff6s0337TrHgNwDVosAFSZG264QdHR0cW2t2zZUsOHDy+y7dlnn1VCQoJOnDihn376Sc8//3yxQd+33nprsTnydckCeY0aNdIdd9yhjRs3aunSpbZ/v/zyi0Pn6devX5E1BGbMmKGhQ4fqm2++0dKlSxUUFKQNGzaoffv2Wrt2rerXr6/vv/9ew4cPt3UpujTWSzVv3ly7d+9Wnz59tH//fm3YsEEtW7bUrl27ityvS89dWsxms1lff/21Hn30USUmJspisejLL78s0vWmbt26Gj58uO1LfZ8+ffTFF19o06ZN2r59u22a0J49e2rDhg1KS0vTSy+9VGpSIUleXl564YUXikw52rNnT8XExNieL1++XLfffru+//57nT17VuvWrdP9999vm2a1MJauXbsWO/7bb7+tKVOmaMeOHUpPT9fKlSvl4+OjoKAgW5mxY8fqxx9/VFBQkL7//nt5eXnp888/L/Jl94477lDjxo1LvQ5nGj9+vP7yl7/Y6r5ly5YaPXq0nn766SJdlC5dIO/NN9/U66+/rp07d8pisWjVqlV68MEHi7SMOeta77rrLv3nP//R2bNn9d1336l9+/baunWrbX2Rd999VzfddJO+/vprffHFF+U+tyT94x//UJ8+fZSUlKQOHTooKSmpyJiPd999VzfffHO5Bv0DqD5Mhj2dfQEAqACr1aoxY8ZowoQJJSaDjjh9+nSRwfWbNm1Sjx49tH//fkVFRTn1XHBcYGCgFixYUGSWqItZrVY99thjev7556vtquMASkZXKABApTObzfrHP/5RKcf+4IMPtHnzZvXt21cpKSmaNWuW/vKXv5BUuCmz2VziOB4A1R8tFgAAt5eQkKC1a9fK29tbvXv31u233+7qkFCKBx54QGPGjFH37t1dHQoAJyOxAAAAAOAwBm8DAAAAcBiJBQAAAACHkVgAAAAAcBiJBQAAAACHkVgAAAAAcBiJBQAAAACHkVgAAAAAcBiJBQAAAACHkVgAAAAAcNj/AbbWyGx+6HvhAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -654,10 +644,10 @@ "execution_count": 14, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:04.105925Z", - "iopub.status.busy": "2026-04-14T09:45:04.105820Z", - "iopub.status.idle": "2026-04-14T09:45:04.110354Z", - "shell.execute_reply": "2026-04-14T09:45:04.109980Z" + "iopub.execute_input": "2026-09-18T12:42:16.947199Z", + "iopub.status.busy": "2026-09-18T12:42:16.947045Z", + "iopub.status.idle": "2026-09-18T12:42:16.951008Z", + "shell.execute_reply": "2026-09-18T12:42:16.950496Z" } }, "outputs": [ @@ -665,9 +655,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "Widest stroke: stroke=21.791, vert_dev=7.011\n", - "Flattest path: stroke=1.212, vert_dev=0.020\n", - "Compromise: stroke=14.729, vert_dev=2.324\n" + "Widest stroke: stroke=29.958, vert_dev=29.919\n", + "Flattest path: stroke=1.372, vert_dev=0.022\n", + "Compromise: stroke=24.513, vert_dev=7.061\n" ] } ], @@ -700,16 +690,16 @@ "execution_count": 15, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:04.111600Z", - "iopub.status.busy": "2026-04-14T09:45:04.111489Z", - "iopub.status.idle": "2026-04-14T09:45:04.381886Z", - "shell.execute_reply": "2026-04-14T09:45:04.380925Z" + "iopub.execute_input": "2026-09-18T12:42:16.954249Z", + "iopub.status.busy": "2026-09-18T12:42:16.953594Z", + "iopub.status.idle": "2026-09-18T12:42:17.133602Z", + "shell.execute_reply": "2026-09-18T12:42:17.133033Z" } }, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABZUAAAHqCAYAAAB89qCtAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4FOXXxvHvppJAGpBQQw29V6X3juhPBUVQsWJFRRRRQVERFRGxK/qKShEBEVBQQelI77130iAkgfTsvH9MsmTTSCDJJuH+XNde2XmmnZlNmzPPnMdiGIaBiIiIiIiIiIiIiEgOODk6ABEREREREREREREpOpRUFhEREREREREREZEcU1JZRERERERERERERHJMSWURERERERERERERyTEllUVEREREREREREQkx5RUFhEREREREREREZEcU1JZRERERERERERERHJMSWURERERERERERERyTEllUVEREREREREREQkx5RUFhEREREREREREZEcU1JZRERERERERERERHJMSWWRXBg8eDBBQUE0b94cwzBs7Z999hlBQUEEBQUxa9YsW3tcXBx169YlKCiIESNGABATE2NbdsKECdnu7+uvv7Yte/jw4Xw5pgEDBhAUFMSAAQNyvM6iRYu46667aNasGfXr16dly5b07duXzz///Ia3nVO5OY8iIiIiIiIixc3Zs2dt18WZvb744gsAtm7damv79ddfc72f1HVHjx6dq3l5KTf7yey81K1bl65duzJq1CjOnj2b6/3Pnj3btq0dO3bYzRs1ahRBQUE0aNAg19stylwcHYBIURIYGMjPP/8MwIEDB6hXrx4AS5Ys4ejRowD89ddf3HfffQBs2rSJgwcPAlCtWjUArFarbdmwsLBs9xcREWFbNj4+Pl+O6dSpUxw9epRSpUrlaPmXXnqJDz/8kBYtWjBlyhT8/Pw4fPgwCxYsYP369Tz99NPXve3cyM15FBERERERESluEhMTbdfFXbp04ZtvvrGbX6ZMGQBiY2Nty0VFReV6P6nrhoSE5GpeXsrNfjI7L5cuXeKFF15g8uTJfPXVV6xevZrmzZvneP+RkZG2bcbFxdnNCw4O5ujRo7i7u+fyqIo2JZVFcqF9+/ZMmjQJgDVr1lCvXj2sViv//fcfTk5OWK1W1q5da1t+zZo1dusClCxZ0tbr2NfXt8CP4UZcvHiRKVOmAPDss8/SuXNnAJo0acLdd99NYmKigyMUERERERERufl4enoSFBTk6DAKnbTn5aOPPqJ169ZcuXKF8ePHs3DhQkeHV6Sp/IVILrRv3x6LxQJgSx7v2bOHS5cu0apVK6pWrcqxY8c4f/683TKenp62O2CxsbH07t2b3r178/XXX9u2HRERwXPPPUfjxo3p2rUr48aN48qVK5nGYbVamT59Ov3796dhw4a0a9eOxx9/3NYrOtWyZcsYOHAgLVq0oHXr1jzyyCMsX74cUu6kBQUFsX//fgD2799ve5QjNXGc3tGjR0lOTgZg7ty5Ge4Qurq65mjb6UtXbNu2jX79+lG7dm1iYmJITk5m2rRp9O3blwYNGtC0aVPuv/9+1q1bl+3nExMTwx133EFQUBBNmjSxPZJy9uxZRo8eTdu2bWnYsCF9+vRh8uTJGe4uioiIiIiIiNwMTp06laE8RIcOHRg9erTtWn/FihV2iepff/3Vtvz777+f5bw///wTUq7RJ02aRLdu3WjQoAFdu3bl5ZdfJjQ01C6WH3/8kX79+tGkSRM6dOjAc889Z7uezy6G1P3kVO3atW3vDxw4AMB7771n216tWrVo1KgRAwYM4KeffrKVPX388ccZN26cbd2BAwcSFBRE69atM+xj3bp1DBkyhGbNmtGpUye+++67XMVYpBgikiv169c3AKNatWqGYRjG559/bgDGiy++aAwZMsQAjF9++cVITk42vL29DcDo0qWLbf3o6GgDMADjueeeMwzDMKxWq3HrrbcagNGgQQNj7dq1xpdffmm4ubnZlt29e7dhGIaRnJxsDBgwwACMW265xfjvv/+MGTNmGG5uboazs7MxZ84cwzAMY926dYaTk5Ph6+trLFu2zNi2bZvx008/GZ07dzbmzJljJCUlGYcPHzbq1atnAEa9evWMw4cPG4cPHzYuXLiQ6bGfPn3aFg9gODk5GS1btjReeuklY8OGDbblrrXttOdg4MCBxoQJE4wdO3YYhw8fNhITE43evXsbgFG3bl1jzZo1xvTp0w03NzfDYrEYX375ZabnMSoqyujQoYMBGH5+fsb69esNwzCMnTt3Gn5+fgZgjB8/3ti2bZsxePBg2/azOlYRERERERGRwuz48eO26+J+/fpludyaNWtsy33//feGYRhGQkKC7Tr98OHDxrp162zX4o0a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sVqtvPDCCyQmJgJw4cIFvvjiC7744gsAPv30U2bPnk1cXBzVq1enX79++Pr6Qha5i8xiuF6VK1e2lQbdtm0bAMuWLbOV0czsOPM6hqJMSWWR65A+UZx2Om2CObNlM+Pt7c1vv/1GrVq1mDdvHmXLlmXIkCH07ds3w7K+vr6sW7eOwYMHs2vXLsqVK0eFChWoXLkyixYt4vbbbwfg1ltvJSQkhCZNmhAQEEDZsmX5999/ueOOO/j6669t23vllVeoUKECwcHBlCtXjqCgINasWZNpnE5OTqxfv55evXrh6elJxYoVKV26NDNmzKBPnz4sX77c7s5fbradys/Pj7Vr13LnnXfy+++/U7p0aapXr05ycjJjx47NUCMqVcmSJVm6dCktW7a0Syzfd999zJ8/n6ZNm/Liiy9SunRpfHx86N27N25ubrRo0eKan4+IiIiIiIhIcTJ58mTatGlDZGQk1apVo2nTpnTu3DnTZd955x28vLz4559/qFixIkFBQbZxnbKa17BhQ1avXk337t1tvY/9/f1p2LAhBw8etNVr7tGjBytWrCAwMJCKFSsSEBDAhQsXeOKJJxgzZkyOYrhe5cuX57vvvsPPz89W+mLixIn06NEjw7K9e/emT58+AAwZMoSaNWvy5JNP3tD+izqLkdqdUkRyLCYmxjZIncVisZVYIKUIfdpSDYGBgXb1gA3D4OjRo5CSIC5btqzdts+ePYufnx+enp5cunTJ9kuySpUqdjWGSeklHBwcTIkSJTJsJ63IyEhiYmIICAjA2dk5w3yr1UpYWBjR0dEAVKxYMdtaw1arlYiICFux+fLly2eILbtte3h4ZHsOUiUkJBASEoKrqyvly5e3m5fVeUz72bi6ulK1alXbOtHR0URERFCuXLlM61WLiIiIiIiIFBVJSUm2EpolS5a0602bVlxcnK13bbly5exKdEZERBATE0PFihVJSEjg9OnTkFILOe0YTklJSYSEhBAbGwtA9erVbfmF7Oal7j80NBQ/P79sy4OGhYVhGAb+/v6Zlpu41n5ye15SWa1Wzp07h5eXFz4+PoSFhREZGQlAzZo17WK5fPkyYWFhJCcnU6pUKcqXL09ISAjR0dE4OTnZeoCnzVmkJtSLGyWVRURERERERERERCTHVP5CRERERERERERERHJMSWURERERERERERERyTEllUVEREREREREREQkx5RUFhEREREREREREZEcU1JZRERERERERERERHLMxdEBiGTlk08+4dy5c1SsWJERI0bk6bYTEhIYN24cAO3bt6d///55uv2cSkpK4p9//mH79u0kJSVRrVo1+vbtS+nSpTMsu2nTJrZs2UJoaCg1atRgwIAB+Pr65nhfuVl/3bp1/Pfff8TFxVG/fn369++Pm5vbDR1rWu+//z4RERFUq1aNJ554Is+2mxcK22eSm3hERERERESk4LzyyisAtGjRgoEDB+bptk+ePMmXX34JwMCBA2nRokWebj83tmzZwqJFi0hISADg3XffxckpZ/1UY2Nj+fPPP9m/fz+JiYlUq1aNXr16Ub58edsyEyZMIDo6Ostt3HfffTRu3PiGjyMuLo4333wTgLZt2zJgwIAb3mZe27VrF8uXLycyMpLq1aszYMCAXF3/52T9y5cv2z4TNzc3goKC6N+/P+7u7rkL1hAppJo0aWIARpMmTfJ829HR0QZgAMZzzz2X59vPiQULFhhBQUHGwIEDjddee83o0aOHARje3t7GjBkzbMtdvnzZuOOOOwzAaNOmjfHiiy8aHh4eRpkyZYxVq1Zdcz+5WT84ONjo0KGDARi33nqrMWbMGGPIkCFG48aNjTNnzuTZsVetWtUAjHbt2uXZNvNCYftMchqPiIiIiIiIFLzUvMKDDz6Y59tes2aNbfvff/99nm8/J44fP240bdrUaN68uVG3bl1bPImJiTla/6+//jIaNGhgDBs2zHjttddseR53d3dj5syZtuU+/fRTY+LEiXavGjVq2PY3e/bsPDmeiIgI2zaffvrpPNlmXrFarcaIESPs8jG+vr6Gn5+fsXz58jxbf9KkSUZQUJDxwAMPGK+//rrRtGlTAzAqV65srF+/PlcxK6kshVZxTyrv2rXLuHjxol1bakK3RIkSRnBwsGEYhvHCCy8YgOHh4WFERkYahmEYb731lgEYZcuWNS5cuJDtfnK6flJSktG6dWsDMAYNGmQkJyfbthEcHGyEh4fn2bEX1qRyYftMchqPiIiIiIiIFLzinlQODg42tm/fbhiGYdxzzz25TiofOHDAiI6Otk1HR0cbZcuWNQCjdOnSdnmHtEJDQw03NzcDMCwWi3HgwIE8OZ7CnFSeNm2a7Vo/NQ/wxRdfGIDh5+dnhIaG5sn6GzZsMOLi4mzrXblyxShfvrwBGDVq1DCsVmuOY1b5C3GImJgYFi9ezLFjx3B2dqZRo0Z07doVd3d3oqKiePfddzl//jwA58+ftz1S0rVrVzp37mxXuqJ79+7Mnj2bw4cP8+abb+Lm5kZwcDBLlizh5MmTuLq60qhRI/r06XPNEg4zZsxgz549AAwePJgmTZoAsHnzZtasWUNUVBSBgYF06tSJoKAg23oRERG8//771zzuRx991LZeo0aNMsxv06YNa9asIS4ujo0bNzJgwAB+++03AIKCgvD29oaUR2sAwsPDmTlzJs8++2yW+8zp+r/99hubNm0CYNy4cXaPspQrV+6ax5aVK1eu8PPPP3P27Flq1apF3759s10+u3O9detW5s6dC8BTTz1FlSpVbOtNnDiRyMhIgoKCePTRR4vFZ5LTeERERERERCRvhYeHs3jxYs6cOYO3tzfNmzenffv2WCwWDhw4wPTp023Lbt261Za3GDp0KF5eXnalK6pVq8bMmTNJSEhg1KhRABw8eJDly5cTHBxMqVKluOWWW+jUqRMWiyXLmKxWK1OmTCEsLAwnJydGjBhB+fLlsVqt/PPPP2zdupXExESqV69Or1698Pf3t627b98+fvzxx2se97hx4/D09ISUXMCN5APq1KljN12qVClq165NeHg4Fy9eJC4uzravtL7//ntbqY3bbrstw3ZyKjg4mF9++YXLly/ToEED2rRpk+Wy1zqHixcvZt26dTg5OdlyT6TkPN555x0Mw6Bjx4707dv3us71lClTAGjatCl+fn6QkgMjJef0ww8/2L53MpPT9W+55Ra79Tw9PWncuDHBwcEcO3aM06dP2+VasqOkshS4c+fOccstt3Du3Dkee+wxypQpw9dff83jjz/O3LlzadCgAb6+vjg7OwPg7OxsqzPr4eFBQkKCLVkYHR3N4sWLCQgIwNvbG4vFwldffcVzzz2HxWLhiSee4NixY4wdO5Zq1aqxcOHCLOvwvPfee4wZMwaA119/nSZNmnDlyhUGDRrEkiVLaN26Nd27d2fChAk88cQTPPfcc0yaNAmLxUJkZGSOEpjdu3e3S0ant2PHDtv71GRjXFwcmKVqbPOsVqvt/fr167NNYOZ0/SVLlgDg5ubG0aNHWbx4MYZh0KBBA/r162f7PHIjLCyMdu3acfjwYZo0aUKvXr344IMPuHjxYoZlc3KuK1euzEcffURiYiLu7u6MHz8egD179vDqq69CSi1uoFh8JjmNR0RERERERPLOhg0b6Nq1Ky4uLgwfPpyoqCgWLVrE2bNnWbFiBa6urnbj4bi5udmmXV1dOX36tO161NfXl/379xMUFERAQACGYfD888/z6aefEhAQwAMPPMDff//NK6+8wi233MLixYvtksGpkpOTefDBB5k5cyaurq788MMPlC9fnpMnTzJgwAB27drFbbfdRr169XjmmWewWq1MmjSJ4cOHA3Do0KEcXSOPGjUq00RvXrh06RL79+8HoGXLlpnuxzAMpk2bZpt+6aWXrmtfO3bsoGvXrkRERNCjRw/Cw8MZO3Zspsvm5ByWLFnSdv5atWrF//73PwB+/fVX3nvvPQD69esH13GuIyIi2LdvHwCVK1e2za9YsaLt/bp167JMKt/I+omJiezduxcAi8WCl5fXNeNOpaSyFLhffvmFM2fOUKdOHb766itb+/nz54mJicHLy4tXXnmFn3/+mfPnzxMQEGC740dKQfFUq1atYtOmTbZfRJs2beKpp57CMAw++ugjXnjhBUjp0bxu3TruvPNODhw4kCGmN998k/Hjx2OxWJg6daotoTdy5EiWLFlCxYoVWblyJR4eHtxzzz00adKEyZMn07BhQ4YNG4afnx8TJ0685rHXqlUry3nz58/n77//BqBatWq0b98egG7dujFjxgwOHz5MREQEfn5+th7FAKGhodnuM6frHz9+HFIGMRwyZAhPPvkka9eu5dVXX6Vp06YsXbrUrpB+TowbN47Dhw/j4eHBihUr8PPzo2/fvnTu3DnDsjk917fffjvz5s3jp59+4s0338RisfDDDz9Ayh22Bx54AKBYfCY5jUdERERERETyzldffUVsbCz33HMPkyZNsrXv27cPd3d3KlSowCuvvGLrmNaoUSO7vEVYWJjt/ebNm5k3b56tB/K3335r6ww1e/ZsunTpQmxsLFWqVGHjxo089thjtqdbUyUmJnLvvfcyb948SpYsyfz58+nVqxcAgwYNYteuXXTp0oVFixYB0KBBAx588EGefPJJWrVqRfPmzWnQoEGOrpFLlix5g2fPXlJSEq+//jqXL19myZIlRERE0KdPH7755ptMl//nn384cuQIALfccst1X/c++eSTREREUL9+ff7880+cnJyYOnUqzz//fIZlc3IOu3TpQq1atTh8+DA//PCDLamc2iO5fv36dOjQwbZubs51cHCwrS1toj3tZ5H6NH9mbmT9t956i7NnzwLQt29fWy/nnFBSWQpc6i/SgwcP0qJFC1q1akWjRo3o2bNntgm+zLRo0cLuB+bnn3+29f5MvUME0KdPH9atW8fRo0fZtGmTXW/lWbNmERYWZrvTN3jwYEjpOTpr1ixIeUQjtVds2t6lixcvZtiwYfj4+Nj9AcmtrVu32pKhJUuW5Oeff8bFxfzx/PDDDzl69Cj//fcfXbp0oVWrVnaPUVyrpEdO109KSrK1jRs3jpdeeonIyEjKlSvHjh07GD16tC15m1OpfwhbtWpl+8XUsWNHPDw8iI2NtS2Xm3M9fPhw5s2bx/Hjx1mzZg3t2rWzrXvPPffg4+MDUCw+k5zGIyIiIiIiInknNW8xd+5cQkJCaNKkCU2aNKFv376ULl06V9tKLZmRKvX61dPT09bhysPDg86dOzNv3jx+//13oqOj7bbx2muvERYWRpkyZfjjjz9sJQwOHTpk66CUmJhouwZO7ahkGAZ//PEHzZs3p1atWjd0jXy9LBaL7Wn0cuXKcfz4cVatWsW8efMyTfB+/fXXtvfZlXvITkhICBs2bICUp5NTy3v27t07w7K5OYePP/44L730EkuWLCE8PJz4+Hj+/fdfAFuPcFI6r13vuc7qiebsyqJc7/qzZ8/mnXfeAaBKlSpZJvqzooyEFLgHHniAr7/+mv3797Nt2za2bdsGKd/gX3/9NY899liOt5X+DkrauzNp56X9pR8cHGyXVE69g1iuXDm7O2CXL1+29YouWbKk3aMtqXecqlWrBtdZUznVmTNnGDBgADExMZQqVYolS5bY1bgpV64c69atY+XKlbbHGe677z569uxJUlISNWvWzHafOV0/bS/kpk2bQkpitkaNGuzfv5/Vq1df8/jSSk5OJiQkBFIe90llsVjw8/OzSyrn5lx369aNoKAgjhw5wg8//EBsbCznzp0D4IknnrCtVxw+k5zGIyIiIiIiInln5MiR/P7774SHh7Ny5UpWrlwJKcnfv//+O1e9Z7PKW/j6+tol+lLzFsnJyXY9nUmTt6hTp47d2DtpcyA+Pj62a2lfX1/btXTqteP11PnNC87OzrYEq2EYdO7cmdWrVzNy5Eh69+5N3bp1bcuGhISwcOFCAGrUqGHrDZxbqT1vSZePyOyGQG7O4bBhw3j99deJj49n9uzZxMTEYLVa8fDwsHUC4zrOdcWKFbFYLBiGwZUrV2zzY2JibO/TlrJI73rW/++//3jooYcgJd/y77//ZruPzCipLAXOz8+P3bt3s379erZv386uXbtsP4yffPJJrpLK6VWqVMn2/sKFC7Y6ROHh4ZkuA9CzZ0+2bt3KmTNn6Ny5MytXriQwMBAvLy+8vb2JioqiZMmS2d5lut76vZcvX+a2227j3LlzODk5MXv2bNvjEmlZLBa6dOlCly5dIKW+U2rP4tSB2s6fP8/UqVMhpZd22u3kZP127drZBsHL7M5Wal2d7PaTlrOzMxUrVuTs2bNcuHDBbnvpayrn5lxbLBYee+wxRo8ezdy5c23batq0Ka1bt7YtVxw+k9zEIyIiIiIiInmjUaNGnDp1ipUrV7Jnzx5bCYvY2Fi+/vrrGypFWKlSJfbv309ERARWq9XWizY1b+Hi4kK5cuVsnadIGezvt99+Y/369fTt25clS5bg6elpl9+oXr16ttfS+VlTeevWrbZ8QmYdt1JZLBbatm3L6tWrMQyDgwcP2iWVv/vuOxITEwF44YUXMoztlNP9pB1oLm0+Im1uKFVuzmHZsmW58847mT17Nj/88INtvKR77rnHLnmd23Pt4+ND48aN2blzJ6dPn7bNT/u+Y8eOWZ6D3KxPSvnT22+/nfj4eHx9fVmyZAnVq1e/ZrzpKaksBW737t14e3vToUMHW3IsPj6eGTNm2P3iSh2ELG2P1msZOnQoU6ZMITk5md9++41XXnkFq9XK4sWLIaXGTatWrezu1tSrV4/33nuPrl27cuzYMbvE8rBhw/jkk09Yv349O3fupEmTJrb1du3ahZubG3Xr1r2u+r1Wq5X77rvPNvDaRx99RP/+/TOsc+7cOWJjY229VxMSEhg3bhwAPXr0oGfPnpByRy/1l1bZsmVt5zan699///288847hIeHs3nzZnr27El4eLit1vLAgQOz3U9m7r77bqZOncrmzZsJCQmhXLly/P3337ZfvKksFkuOzzXAQw89xNixY4mOjraV2EjbS5nrrKlc2D6TnMYjIiIiIiIieWfdunXUr1+fPn360KdPH0hJNO/Zs8cub+Hl5UV0dHSu8hYPPvggy5cvJzY2lr///pvevXsTHR3NihUrIOU6On1d4759+zJw4EAGDx7MqlWrbInlmjVr0rFjR1avXs2cOXN466237HpGr1ixgsaNG1OmTJl8ram8e/du27Vv2o5bf/75Jz179rQlzq1WK6tWrYKUAQ1Tn5JOnZc6QF/p0qV5+OGHc7yf9MqWLUunTp1YtWoVf//9N4mJibi6utp6QaeVm3NISpmL2bNns3XrVtsy6fMR13OuR40axf3338+OHTsIDQ0lICDANqaSv7+/rSd0Vucgp+tHRkbSv39/wsLCcHFxYe7cudSrV++asWZGSWUpcJcvX2bw4MEEBARQt25d4uLimDt3LiVLluStt96yLXfbbbexZs0aDh06xCOPPIK/vz8PP/xwtt3xmzRpwo8//sgTTzzB2LFjOXDgACdOnGDz5s00aNCABQsW2H6ZpdWsWTOWLl1Kjx497BLLH3zwAeHh4cyaNYvOnTtz9913k5iYyO7duzEMg++//x6us37vJ598Ykt2BwQEcP78ebtt3H777bRp04bk5GTuvPNOqlevbhvEbv/+/fzvf/9j+vTp19xPTtcvXbo0CxYs4O677+add97h5MmTtt6zw4cPtw1AkLYmj7u7e7b7fuONN1ixYgW7du2iQ4cOdOnShS1btuDj40NkZKTdsjk916T8Qvzf//7HnDlzIKUO83333We3veLwmeQ0HhEREREREck7J0+eZNiwYdSuXZuaNWty7tw59uzZQ8WKFRk5cqRtudtuu41Zs2axZMkSRowYgaenJ6+//nq22x46dCiHDx/m3Xff5b777mPgwIGsX7+eiIgIevbsyVdffZXpegMHDiQuLo5hw4bZJZbnzJnDwIEDWbt2Lc2aNaNfv35cvHiRbdu2ERgYyM8//wzXWef3woULtoEKd+3aZWt/7bXXsFgsdO/ene7du2e5/rx58xgxYgStWrWidOnSrFq1it27d1O6dGk+++wzqlatalv277//5sSJE5AyyF5mvaVzk4/44osv6Nq1K4cPH6Zjx47Uq1eP3bt3Z7psTs8hQKdOnahbty4HDhyAlKem05envJ5zPXToUPbv3897771H9+7dad++PT/88APly5dn/vz51xxAL6frP/fcc7YynPXq1WP58uUsX77ctp0nn3zS7nPJjsVI+5y7SAExDIONGzeyd+9eYmJiqFixIj169LD1Tk61du1adu7caStSf88991C5cmUmT54MKQPAdevWLcP2IyMjWb58OadOncLV1ZVGjRrRoUMHW0I5MTEx021s3LjRdnewRo0aDBo0CIAjR46wdu1aLl68SPny5WnUqJFdHaPrsWrVKv77778s5/fs2ZPmzZtDyiB6K1asYP/+/Xh6etK2bVvq169vt3xoaCj/93//B0DXrl3tSkHkZP1UV65c4a+//uLkyZOUK1eOVq1a2fXm/eabbxg+fDiBgYHs3bvXVhYjKwkJCSxatIizZ89Ss2ZNunXrxvTp04mMjCQwMJAhQ4bYLZ/Tc713715bwjUoKIi777472zhyorB9JrmJR0RERERERPJOQkICa9eu5eDBgxiGQfXq1enWrZvdwOrJycn89ddfHD582NZb+dlnnyUiIoIZM2ZASinEzK5pz507x7///ktISAilSpWidevWNGvWzDb/zJkzmW5j8eLF7N27F4A2bdrQqVMnSCmLsGXLFmJiYqhSpQotWrSwjU10vS5dupRlkpuUQQjbt2/P7t27+eOPPwAYPHiwXVLy7Nmz/Pfff5w6dYoSJUpQq1Yt2rdvj4eHh922li1bZuv9+/DDDxMQEJBhf0899RRffvklXbp04Z9//rnm4HWXLl1i4cKFXL58mXr16nHrrbfyySefANCiRQt69Ohht3xOz+GKFSvYuHEjpJQSzcsSlceOHePff/8lKiqKatWq0atXL7sezdmd65ys/8svv3Ds2LEs9z906FAqV66co1iVVBaRXBk0aBBz587lzz//pFevXo4OR0RERERERERuArVr1+bs2bPs3r2bGjVqODqcm57KX4hIrnTr1o1+/fopoSwiIiIiIiIiBSIxMZFHHnmEJk2aKKFcSKinsoiIiIiIiIiIiIjkWMYRy0REREREREREREREsqCksoiIiIiIiIiIiIjkmJLKIiIiIiIiIiIiIpJjSiqLiIiIiIiIiIiISI65ODqAwsZqtXLu3Dm8vLywWCyODkdERBzEMAyio6OpWLEiTk66BysiIiIiInlH+SfJjcJ4faqkcjrnzp0jMDDQ0WGIiEghcfr0aSpXruzoMEREREREpBhR/kmuR2G6PlVSOR0vLy9I+ZC8vb0LZJ9Wq5WwsDD8/f0Lzd2G/KJjLZ50rMXPzXKcZHOsUVFRBAYG2v4uiIiIiIiI5JWs8k/F+VpMx3b9CuP1qZLK6aQ+cuDt7V2gSeW4uDi8vb2L3Q9VejrW4knHWvzcLMdJDo5Vj6KJiIiIiEheyyr/VJyvxXRsN85isXDp0iVOnz6Np6cngYGBuLm55dv+slO8PkERERERERERERGRYmjgwIGUKVOGvn370qZNG3x8fNi8ebNDYlFSWURERERERERERKSQiomJAeDvv//m+++/5/Tp04SGhrJo0SI8PDwcEpPKX4iIiIiIiIiIiIgUUvPnzwegVatWPPDAA7b2Hj16OCwm9VQWERERERERERERKaQOHDgAQP369R0dio2SyiIiIiIiIiIiIiKFlKenJwBXrlxxdCg2SiqLiIiIiIiIiIiIFFLdunUDYM2aNcTGxtrNS0hIcEhMSiqLiIiIiIiIiIiIFFK33norACEhIfTv358lS5bw22+/MXDgQNavX++QmDRQn4iIiIiIiIiIiEghN3v2bBYtWsQ777yDu7s7derUISgoyCGxKKksIiIiIiIiIiIiUsj17duXe++919FhQFFMKu/YsYM5c+bg7+/PyJEj7eYlJCTw8ssvZ1jnvvvuo3Xr1gUYpYiIiIiIiIiIiEjxVGSSyklJSXTo0IGYmBjc3NwwDCPTpPLUqVN5/vnnqVq1qq29VKlSDohYREREREREREREpPgpMklli8XCRx99RJs2bXj++edZu3Ztlsvec889tgLWIiIiIiIiIiIiIoVR1L6NRPwzGWJPg0cgft1exLv+LY4O65qKTFLZ2dmZNm3a5GjZn376iYULF1KzZk3uvPNOSpcune/xiYiIiIiIiIiIiOTUmZlj8Ap9H18s4GpA0iaMv+ZzZudrVB78lqPDy1aRSSrnlK+vL8nJyZQoUYLvvvuOV199lSVLltCyZctMl4+Pjyc+Pt42HRUVBYDVasVqtRZIzFarFcMwCmx/jqRjLVjx8XDxIly4YH69eBEiIiAmBmJjU18W2/vk5My34+QEHh7g6QmenobtfYkS4OMDZcpYsVicSUqyUrYsuLkV9JEWnMLwuRaEm+U4yeZYb4ZjFxERERERuRnFx8Pp0xAScvUVGprxa2goREdnnS+5ygkon6N9e3mBnx+0rbqRr/73ARYLgJEy18AwwCt4AlEH+uNdt/COEVesksru7u7s3buXihUrAjBu3DgGDBjAY489xvbt2zNdZ+LEiYwfPz5De1hYGHFxcfkeMymJi8jISAzDwMnJqUD26Sg61rwTGWnh+HFnzpxxJjjYmfPnnTh/3jnl5URoqBOxsflxji2ZtDkB/rapUqWslCljpXx5KxUrJlOpUjIVKpjvK1ZMpkqVZHx9jUy2U/jdLN/DN8txks2xRkdHOzQuERERERERyXuHDkGdOo7bf3S0+Xq//WQMg5Sk8lUWC1itcGnZh3jX/cVRYV5TsUoqu7q62hLKpNRhvv/++7n33nuJjo7Gy8srwzpjxoyxG/AvKiqKwMBA/P398fb2LpC4rVYrFosFf3//myJ5o2PNueRkOHwYdu82f+kdPmzhyBGzLTw8s+RuRk5OBqVLQ5kyULo0+PpCyZJmz2P7l4FLFr8RkpPNHs2pPZxTv165AlFREB4OYWEGly5ZMAwLly87cfmyEydPZh1X2bIGdepArVpQp45B7drYprOKozC4Wb6Hb5bjJJtjLVGihEPjEhERERERkbx37V7HOePmZj7F7e4OYJCQYGC1WkhKspCUZO4nKSnr9Sv6nsZiyabDXezpvAk0nxTi1E3eSEhIwDAMkrL4FN3d3XE3P307Tk5OBZpIsVgsBb5PR9GxZi46GrZuhZ07Ydcu87VnD2TXYb58eahWDSpXtn9VqgQVKpiJZG9vCzk71TlLUmfGarUSGhpK2bIBREVZCA83HxE5e9Z8nCT1deaM+TU42EyKh4fDunX2+3Z3h0aNoFkz89W0KTRubCbCC4ub5Xv4ZjlOsjjWm+G4RUREREREbjb16pmd5QzDTArnBavVIDQ0lICAAJyccpZfOflpZUjcBFkllj0C8ya4fFKskspbt26lZs2a+Pr6AhAXF8cXX3xBy5Yt8fPzc3R4IjbJybB/P2zcCBs2mF/37jUfb0jP0xMaNjR/6dWqdfUVFGTW4SlMnJzM3tClS0Pt2lkvd/my2dv64EHzdejQ1feXL8OWLeYr7Xbr1oW2bc1Xu3bmOUj/iIiIiIiIiIiIyLV4eDg6AjCq3QdH5mdsTymJ4ddjlEPiyqkilVR+//33OX/+PKtWreLcuXM8//zzAHzwwQe4ublx4cIFhg4dSr169fD19WXFihV4enryyy+Ft/6I3BySk2HHDlixAlauhDVrzLIR6VWpAs2bmz1zGzeGJk2gRg1y2NO46ChV6mpP5LSsVjh2DLZvN187dphfg4Nh3z7z9e235rL+/lcTzJ07m+fN2dkhhyMiIiIiIiIikivBB5K5dKIJNWrttLUZBoCF6PKvUbkQD9JHUUsqV6pUCXd3d6pVq2bXbknprtizZ082bdrEihUrCAsL4/7776djx444K9MkDnDoEMyd68nmzRbWrIFLl+znlywJrVrBrbfCLbeYrwoVHBVt4eDkZPbADgqCgQOvtgcHw6ZNZqmM9eth82YIC4OFC80XmL2ju3WDHj2gZ0+oWtVhhyEiIiIiIiIikqXkxCROrthJgG954GpSOdnig0vvvwp9QpmillQeOnToNZfx8vJiwIABBRKPSFpxcbB6NfzxByxZAkeOOAFXB3v09oaOHaFLF7NnbZMm6lmbU+XLw4AB5gsgPh62bTOTzGvXmr2/L16EuXPNF5jlMXr2NNfp3NksoC8iIiIiIiIi4mjnNx0iISoGl7KJdu3uFRpQsggklClqSWWRwiYyEhYvhnnzYNkys9B7KldXg1tvTaBvX1e6dXOiWTNw0U9cnnB3hzZtzNeoUeZoqps3w99/m5/Dhg1mzebDh+Hzz8HHB/r1gzvugN69C18tahERkbROnTrF8uXLOXnyJMnJyfj6+lKzZk3at2+Pv7+/o8MrtHbs2MGMGTMAGD58OLVq1XJ0SCIiIiKZOr5sGwDOzkn2M1xLOSag66AUl0guXbxollyYP99MYiamualUsSL07WsmMLt0MYiNjUgZ+dORERd/Li5Xk8xvvGEm+1euNHuNL1oEISEwa5b5cnOD7t3hrrvgzjshZVxPERERh7ty5QrPPfcc06dPp1SpUgwdOhR/f3+2b9/O+++/z2uvvWYbU0QyOnDgAJMnTwagd+/eSiqLiIhIoZQYG8/ptXsBcHFJsJtncS3poKhyT0llkRyIjTWTkz/+aCaSk9LcSKpfH+6+G/73P7OkRUqJb6xWcz0peD4+cPvt5uurr2DjRvjtN1iwwOy9vGSJ+XrqKejfH4YOhT59zB7QIiIijmC1WrnjjjtYvnw5vr6+bN68maCgINv82NhYzp4969AYC7tmzZoxadIkAGrXru3ocEREREQydWbtXpLjzGSys4t9+QsllUWKAavVrNf7449mnd6oqKvzGjc2E8l33WUmlaXwcnK62ov5vffgwAH49VeYPRv27jV7nM+fb/ZYHjjQTDC3b496l4uISIH6+eefWb58OQBPPfWUXUIZwMPDI0Pb1q1bWblyJeHh4fj6+tK+fXvatWtnm79t2zZmzZoFKeUgjh49yqZNmyhRogR33HEHtWvXZtmyZaxduxYPDw969OhBixYtbOunLSfx+OOPc+rUKbZu3UpiYiJ33HEHDRs2zHTZ4cOH4+7uzqxZs/Dx8eHJJ58skHhjY2MJDg4GID4+3tZ+8uRJ/vjjD86fP4+/vz+tW7fm1ltvzfAZ7Nixg3///ZcLFy5QqVIl2rZtS9OmTXP5SYqIiIhk7/iy7bb3LhnKX3gWfEDXSWkTkXTOn4cJE6BmTejUCb77zkwoV60Kr79uJiV37oSxY5VQLmosFqhXD157DXbvhh074KWXoFIluHQJpk0zP/M6dWDSJAgLc3TEIiJys5ibOtIscPvtt2e7bEJCAgMHDqRly5Z89dVXODs7M3PmTNq3b0/Pnj25cuUKAPv27WPy5MlMnjyZ//3vf/z111+sXr2a0aNH07BhQzp37sznn39OSEgIY8aMoVWrVvz888+2/aSWk5g8eTJ9+vRh1qxZHD16lHHjxtG0aVNbAjj9skuXLuXNN9/EYrFQunRph8R78uRJAH777Tdq1KjB22+/jZOTE6dOneLll1+mSZMmxMXFAZCYmMjQoUNp1qwZ06dPx8XFhWnTptGsWTOGDh1ql6AWERERuRHxkVc4t/GAbTpjT2XVVBYpUqxW+Ocf+Pprs15yankLLy8YNAjuvx86dFDv1eLEYjHLlTRpAhMnwqpVMHOm2Sv9yBF4+WXzJsJdd8Hw4dCx49XSJiIiInnt6NGjtvdVqlTJdtl33nmHefPmYbFYWLp0KUFBQYwYMYLAwECWLVvGSy+9xBdffGG3Tp8+fZg0aRL79++nfv36JCYmEh4ezooVK7BYLPz111+cOHGCadOmce+992bYZ9u2bfm///s/AJKTk/m///s/nn32Wfr06YOfn1+GY0ldFmDcuHEFHm+qTz/9FKvVyn333cf48eNt7du2bcOS8of93XffZebMmZQsWZJ///2XsmXL8vTTT1O5cmVmzpxJ7dq1GTduXLafiYiIiEhOnFyxCyPZapt2dUvfU7nolL9QikxuapGR8NFHULs29OxplkFISoK2bc2yFyEh8O23Zu9VJZSLL2dn6NrV7JV+7pzZY7llS0hIMMtkdO5s9kqfOhWiox0drYiIFEeWNHcuk5OTs1129uzZAAQFBdlKYgQEBNhKQaTtvZsqtcxEmTJlbG1t27a17bds2bIAhIaGZrrPPn362N736tULgIsXL7JmzZoMy3bo0MHh8aZydnYG4JNPPqF79+48//zz/PDDD1SrVg33lMEUUst2eHl58d577zFq1Cg++OAD2/zff/89232IiIiI5NTx5dvspkuWtR/cSTWVRQq548fhk0/MJGJqktDb2+yRPHw4NGrk6AjFUUqVgkcfNV/btpm912fONMuePP88vPGGhSFDSjF6NFyjI5mIiEiO1alTh127dkFKDeBKlSpluWxISAhAhh7Cvr6+AERERJCQYD+SeKlS5qOUTmnuknt7e9veG4Zh9zW9tPtK3Q+Q6eCBaec7Kt5Ur7/+Ohs3biQqKop//vmHf/75BwAfHx/+++8/6tWrZ4uvZMmSlC9f3rbuG2+8AekS2yIiIiLX60pIBKE7jtm1eZZ2hctXp5VUFimk/vsPJk+GBQvMkhdg9kB97jkYMgRKFp2fXSkAzZubSeUPPzQTy1OnwoEDFr74ohTffGNw773w4ougMXxERORGDRkyxFZXee7cubRt2zbLZStXrsz+/fsJDw+3a0+d9vf3x83NLU/jS7uvtO+rVq16zXUdEW+qjh07cvbsWVatWsXevXtZt24dixYtIjIykh9//JGJEyfa4ktKSmLUqFH5EoeIiIjIiX922E27lfLArYQVa5qkMkWoprIe6JdizzDMeslduphlLebPNxPKPXvCn3/Cnj3w+ONKKEvWvLzgiSdg715YuNBK27bxJCVZmDEDmjWDbt3M77FrdJYSERHJ0u23387AgQMBmDZtGtu22T8aeeHCBXbu3AnAQw89BMCxY8dsvZtPnTrF9u3b7ebnpd9++y3D+/Lly9OxY8drruuIeFMtX74cwzDo168fL7/8MgsXLrT1mC6Z8s/fI488Aik9xP/44w+79Q8ePMiWLVvyLT4RESmcwsLCeP/99xk6dChbt27NMN9qtbJgwQJGjhzJCy+8wJw5c7BarZluSyTV8WX2/99V6dwIkmPs2opST2UllaXYMgz4/Xdo0wa6d4eVK8HVFR5+GHbvhr/+gl69NPia5JyTE/TvD/PnR7Bpk5XBg816zP/+a36Pdeyo5LKIiFy/WbNm8eqrr2IYBm3btmXQoEE89dRT9OrVi8DAQFasWAHAiy++yNNPP42TkxO9evXi0UcfpWPHjiQlJTF06FDefvvtPI/t+PHj9O/fnwEDBjB37lxKlCjBtGnTbGUqsuOIeFMdOHCAZs2a0a9fP5555hm6d+9OREQEDRo04LHHHgNg5MiRjBw5EmdnZ+6++26GDh3KsGHDuOWWW7jrrru4cuVKvsUnIiKFz//93//RrFkzzp49y8yZMzl9+nSGZVq0aMGMGTMIDAykUqVKvPTSS/Tr1++a4yLIzSvyRAgRh8/ZtVXr0RwjMd3/GS5FJ6lsMa5ViOwmExUVhY+PD5GRkXZ12/KT1WolNDSUgIAAu7pxxVFBHGtqMnncONiR8mRBiRJmb+RRoyAwMF92m4E+1+Ip/bGeOmWWx/jmG4iPN5dp3x7efNMc/K+o3rS4mT/TVI74eyAiQsrvnzVr1nDy5EmSkpLw9vYmKCiIZs2a2XrXktLbd/Xq1Vy4cAEfHx/atWtHrVq1bPP3799v63k7aNAgqlSpQmxsLJ9//jkArVq1olOnTpAyWF1wcDBly5Zl2LBhkDKA3uDBgwFYtmwZ/v7+bNu2jaSkJPr06UPlypVt+zp48CCLFy+221d6+R1vVjHExcWxbt06Dh8+jKurK7Vq1aJDhw52gyMCnD9/nlWrVhEaGkrZsmWpV68ezZo1u4FPUkREiqLjx49TsWJFEhMT8fLyYsGCBdxxxx0Zlqlevbptevfu3TRu3Jh//vmHrl275mg/WV1vFOdrsZv52HZ8+ye7py+zTXuU8ebOX8dy+ZuyEH/J1u5590pcKmd8EqwwXp8qqZyOksr5K7+PdcUKePVV2LDBnC5VCp56CkaOhHLl8nx32dLnWjxldaznzsH775s1mNMml996yyy9UtToMy2cf7RFRApS+qRy9+7dHR2SiIhIgbl8+XKWSeWslp0zZw6DBg3K0faVVL55js0wDBbeO5HosxdsbfXu6UjLZ28n6hM3sCbZ2kvetwXngOYZtl8Yr081UJ8UC5s3w2uvwbKUmz4eHubge6NGgQbsloJQsaI5kN/o0VeTy2vXmr2V+/aFDz6ABg0cHaWIiIiIiIjktS+//BJ3d3c6dOiQ5TLx8fHEp/ZASkkSkpKMTFuP2Wq1YhhGsazRfLMeW/i+U3YJZYCq3ZqSnBhnl1AGMJw9Mt1GYTxnSipLkXbypJnEmzPHnHZ1NctcvPYaVKjg6OjkZpQ2uTxxInz1FSxZYg4K+fDDZs9lfW+KiEhR0KxZMyZNmgRA7dq1HR2OiIhIofTPP//w2muvMWXKFCpkc7E3ceJExo8fn6E9LCyMuLg427TVaiUyMhLDMIplb96b8dgOLl5vN+1ZwY8kPzfCzp/AM912LkTGYiSGZth+dHR0vsR9I5RUliIpOhreew8mTzZLDVgscP/9Zh3bNGWNRBymYkX49FMYMQLGjIH58+Hbb2HWLHjpJbMXfQ7GNhIREXGYOnXqUKdOHUeHISIiUmitWbOG22+/nddee42nn34622XHjBnDyJEjbdNRUVEEBgbi7++fofyFxWLB39+/WCZeb7ZjsyZbWfPfQbtla/ZqSbly5bBGJxKTbjtlK1TD4u6bYfslSpTIt9ivl5LKUqRYrTB9utkTOTjYbOvcGaZMgaZNHR2dSEa1asG8ebB+vZlI/u8/GD/eLI/x4Ydw331FdzA/ERERERGRm9W6devo27cvL774Im+88cY1l3d3d8fd3T1Du5OTU4YEq8ViybS9OLjZji1k6xHiLl62W656z+Y4OTlhJKdPKYOTmxeWTM5NYTxfhS8ikSxs2wZt2sAjj5gJ5aAgWLAA/v1XCWUp/Nq2hXXrYO5cqFnT/B4eOtSsubxvn6OjExERERERkZxav349vXv3ZuTIkZmWtBBJdXzZNrvp0rUr41MlwJxIvGK/sJMrFmfXAozuxqinshR6kZEwdix8/rnZU9nLC954A559FtzcHB2dSM5ZLHD33TBggFm65e23YeVKaNIEXngBxo1TSQwRkfy0c+dOEhMT8fHxoVatWnm67fj4eHbv3g1A5cqVKV++fJ5uPzeSkpI4evQoFouFqlWrZtorKq29e/cSGxsLQPXq1SlzjVGOr1y5wv79+zOdV6pUKerWrZuhfd++fcTEmL1xmjRpgqtr3l4wbdu2DavVSunSpalRo0aebvtGpD3uzFSpUoWAgIAcbevs2bNcvHiRihUrZvsZWa1Wjh8/TnJyMjVr1sTZ2fm6YhcRuVlt3bqVKVOmkJRkDqD28ccfM2/ePHr37s3QoUOxWq306dMHFxcXjh49ytChQ23r3nffffTt29eB0UthkhyfyKlVu+3aqvdoZntvpE8qu5YsqNDyhJLKUmgZBsyeDSNHQkiI2TZ4sJmM00BnUpS5uZl1lgcPhuefh4ULYdIk8/v944/hzjtVEkNEJD/06tWLkJAQevXqxZ9//pmn2z59+jStWrWClIF4XnnllTzdfk7s2LGDKVOmsGTJEsqWLcvx48dJTEzkvvvuY9KkSZkmuv/44w9uu+02DMMA4Pvvv2fYsGHZ7mf37t20adMGgObNm2NJ80erUaNGfP/995CSaP/888/59ttvOXPmjG2AmdOnT1O5cuU8Pfa2bdsSHx/PXXfdxbx58/J02zdiwoQJHDxoX0fx1KlThIWFATBlyhSef/75bLexadMmhg8fzt69e6lZsyaHDh2iR48eTJs2jcDAQNtyycnJvPvuu0ydOpWoqCiqV6/OxYsXGT58OG+88UaeJ/JFRIqrcuXK0bt3bwD69+9va69Xrx6klDj4/PPPM123ugZ5kjTObthP4pWrgzBisVC129VH7dMnlS2uRauXmZLKUiidPg3Dh8PSpeZ07drwxRfQrZujIxPJO9WqwW+/wR9/mD3vjx+/2pP5q69080RERHJny5Yt3HXXXXz//fc4OTlx5MgRWrZsyYwZMzhw4ACbN2+2W/706dM8+OCDtoTy9Vi3bl2WA8dERERw5swZ5s2bxzfffMPUqVOvez9F1cyZMzO0NWzY0JZUvlYv5aNHj9K9e3eio6NZtGgRt912G++88w5jx46lW7du7NixA09Pc9z4Bx98kJkzZ9K6dWsWLVpEuXLlSEhIYNq0aURHR1O6dOl8OkoRkeKlcuXKdr2P07NYLNnOF0l1fNl2u+lyTWtQMiDNIHyJ9rWWLeqpLHL9DAOmTTMHNIuONnt0jh0LL70E13hyU6TI6tfPrK08cSK89x4sWgRr1sAnn8CQIeq1LCKSU5cvX+bs2bOUKFGCKlWq2HrQxsTEsG/fPttjrFFRUWzZsgWAqlWr4u3tnaF0RWhoKOfOnaNpmoEbwsPDOXfuHB4eHtSoUSNHZQVOnjxpSyCmLXVgGAYnTpwgJiaGqlWrUipd/aPsSkyk1bBhQ1tS99FHH7WbFxQURN++fZk9ezZbtmxh37591K9fH1JKZNx7771cuHCB9u3bs3bt2mvuK7fKly/PRx99lOfbBQgNDeXixYvUqFEDt2vUQ8vuXJ85c4bglNGfmzVrZveZ7tixg6SkJHx9fQkKCrquzyS9tWvXsnfvXkg5P3fddVe223rnnXdsCeHU3nL3338/Y8eO5fDhw3z77beMGDGCv/76y5bA/uqrryhXrhwAbm5uPP3009eMWURERPJWwpU4zqy3H0Cpeo/mdtMqfyGSR44fh0cfNQfeA3NQvu++g5QnTESKNQ8PeOstGDgQhg0zB6a8/3745Rez13LFio6OUESk8IqNjWXYsGHMnz+fChUqUKJECS5dusTgwYN58803CQkJ4YknniAyMhJSagg/8cQTALz88ss0b97crnRFREQEf/75Jz4+PqxevZrNmzfz7LPPsnHjRqpWrUpoaChubm4888wzvPnmm7i4ZP4v9T///MOAAQOIiYmhe/fuLFiwAFJKHrz//vtERUVRuXJljhw5QseOHfnoo49o3ty82EhbYiI7u3fvpmHDhlnOTz1mUpLrqV599VXWr19Py5YtGTVq1HUnlQ8fPmyr3ezl5XVd28iN+Ph4HnvsMWbMmIGbmxtVq1ale/fuWfa2vta53rFjB7fddhuklAJJrYN56NAhmjUzax6+//77vPzyy3nymXz99de2988888w1610vWbIEgJo1a9puklStWhVXV1cSExNZsmQJI0aMYNasWQD4+flRr149Dh06hLOzM9WqVVNNZREREQc4vXo31oQk27STizNVOje2XygpffmLopVUdnJ0ACKGYSaPGzUyE8oeHjBlitlTUwlludk0agQbNsA774CrKyxeDA0awE8/mT8rIiKS0WeffcYvv/xCixYtOHXqFIcPH+bYsWNUq1aNEydOUK9ePbZs2WIb3KxNmzZs2bKFLVu2MGjQILtt/fXXXzzyyCPs3LmT1atXc/jwYbp27crGjRt58cUXOXHiBPv2mb1OJkyYkGU93CVLltC/f39iYmIYNGgQf/zxB6VKlWLChAmMHDmShIQEDhw4wKFDh3jvvfdYtWoVHTt25OjRo5Ay4F2LFi2u+fLw8MjyvGzbto2//voLgDJlytgSnX/88Qcffvghbm5ufP/999eddHRzc2PgwIG0bt0ab29v2rRpw3///Xdd28qpd999l59++gk3Nzd27NjBwYMHKVWqFAkJCRmWzcm57tu3r60u8Y8//mhb94cffrAd40MPPQR58JlcvHjRVu+5ZMmSPPnkk9ke6+XLlwkNDQXAx8fHbl5qAj/1+2XXrl2QcuOgdOnS9O3bl3r16lGmTBk++eSTHJ9fERERyRvHl22zm654a13cvT3t2op6TWUllcWhwsLMQckefRSuXIGOHWH3bnPwMnWqkJuVqyu89prZW7lFC7h0CR54AO66Cy5edHR0IiKFz+nT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zJgxuY5bREREcu/kPzvspt19PKnQqnamy6avqWxRTWURe4mJ8PLL8PHHABZatEhg3jwXqlWzXHtlEclgyBC49VYYPNissXz77WY5jDffBCc9fyIiN6EXX3yRdu3aMXv2bObOnUtCQgK9evVi0KBB9O/f37bcl19+ycSJE9m3bx+jR48GYNasWXh6etp611aoUMFu225ubvz999/89NNP/P7774wfPx4PDw9GjhzJ8OHDqVWrFqQrK5G6jU8++QRnZ2fWrl3L6tWr+emnn7j//vvZt28f33zzDRs2bGDcuHFUqlSJZs2asWrVKru6zbl15MgRu17Czz77rN38Dz74gK5du2ZYz9fX17Ze2trQPj4+tvYyZcrYnce///6b3377jZkzZ2K1Wrnvvvu466676Nu3r225+Pj4TGsZjxs3DoC77rqLMWPG2OoXe3t706lTp2yPsXv37ixfvpxPPvmE//77jwsXLvDZZ5/x3HPPER8fbzdIXuvWrXN8rp2cnHjppZdsAyV269btmgPp5dTKlSttvaZTE8LpZXWuXV1d+euvv/j222/5448/GDNmDJUqVWL+/Pm22smpvvjiC7p27cqcOXN44403qFSpEp9++imPP/44bm4ZH7kVERGRvGUYBifSlb6o2qUpTi6ZDx6WsfxF0UoqW4z0t/RvclFRUfj4+BAZGWk34EV+slqthIaGEhAQkGFk56IuNBQGDYJVq8zpF180eO65ECpVKn7Hml5x/lzT07E6RkICvPQStvrkffua9cl9fW9824XpOPNbVsfqiL8HIiI3o7vvvpv58+fz9ddf8/jjjzs6HBERkQKR1fVGcb4WK+7HdnTTHjaM+sGuvdfnTxPQpEam61yZ057k81dLiJXo+gVujZ/IdNnCeH1avD5BKVS2boWWLc2EspeXWf7igw8MUsoZisgNcnODqVPhxx+hRAlYsgRatYI9exwdmYiISM5FR0czZMgQHnvsMUeHIiIiInLdgtfut5suWc4P/0bVslw+Y0/lolVTWUllyRc//gjt2sHp01C7NmzcCHfc4eioRIqn+++HdeugalU4csQsjZEyRpOIiEih99dffzFjxgwsFpVGExERkaLJsFoJXnvArq1a96ZYsumRXdRrKiupLHnKaoXRo+HBByE+Hvr3h02boF49R0cmUrw1bw5btkC3bnDlill2ZuxYUIEj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pd26dcPixYtx9OhRJCQkYPjw4ahVqxbuv/9+BZMTUU2TVKL1RVirWPiGBymWp8azm6iPPZWJFBUZKU/it2wZEB0NJCUBQ4cCI0cCnDuI3NXmzXKri/fekyfmu/tuuaf4uHFyj3EiImdSq9WYM2cOfvvtN9x+++149dVX0adPH+zevRu1atVSOp5L++mnn3DrrbfioYcewqOPPoq7774b3377rdKx3NInn3yC06dP495778WkSZNgNpuxZ88edOvWTelobqF3797o0qULjh49il27dqFLly4YOnRo0XZvb28kJCTA29sbI0eOxCeffILPPvsMkydPVjS3K0pISECXLl0wcOBA1K1bF6+88gq6dOmCL774omif//3vf1i2bBlGjBiBqVOnonPnzti7d6/dZIhERNXFnGfE2c2HbNbFxLdVLA8Bksm2p3JNGKksSJIkKR3ClWRlZSEgIACZmZnw9/d3yvcURREpKSkICwuDysOvd6/KsebmAm+8AXzyiVyI8/OT+9A+8gjgivOL8OfqmapyrNnZ8ujkr76SlyMigK+/Bm6/vXqyVgV/psr8PSAiIiIiopqhrPcbFXkvlrhqNza/Ob9oWVCrcNfSaTAEuvboWE9+n5mf8CTM+74sWta2mASv+G8c9vVd8f2pZ/0EyaP5+AAffgjs2gV07iwX6J54AujaFdizR+l0ROVbuRJo0aK4oDxpkjw62RULykREREREROS6EtfYtr6I6NjY5QvKnq5kT2VB4/kjlVlUJrfTujWwZYs8wjMgANi5E+jQAZgyBcjJqcAXIHKijAzg3nuBW24BkpOB2FhgzRrg228BXlVOREREREREN6Pgag4u/HvMZl3sgHaK5aFrSk7Up/P8Ij+LyuSW1Gq57cXRo8Do0YAoym0xmjUDfvwRMBqVTkg1XW4u8M03QPPm8nNSEICnnwYOHAD691c6HREREREREbmj5PX7IVnFomW1XouonnGKZiJAMtuOcuRIZSIXFx4OLFwIrFgB1K8PnDsnjwqNjgZeew04f17phFTTHDgAPP44UKcO8NBDwOXL8ocdW7bIH3z4eP7fFSIiIiIiIqomiatt+39G9oiD1tugWB66puRI5RowUZ9G6QBEjjBoEHDwIPDZZ3LP2nPngLffBt57DxgxQu693L27PFqUyNEKCoDFi4HZs+XicaEGDeQR9Y8/Duj1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", "text/plain": [ "
" ] @@ -768,10 +758,10 @@ "execution_count": 16, "metadata": { "execution": { - "iopub.execute_input": "2026-04-14T09:45:04.383252Z", - "iopub.status.busy": "2026-04-14T09:45:04.383139Z", - "iopub.status.idle": "2026-04-14T09:45:04.395150Z", - "shell.execute_reply": "2026-04-14T09:45:04.394607Z" + "iopub.execute_input": "2026-09-18T12:42:17.135030Z", + "iopub.status.busy": "2026-09-18T12:42:17.134943Z", + "iopub.status.idle": "2026-09-18T12:42:17.143476Z", + "shell.execute_reply": "2026-09-18T12:42:17.143156Z" } }, "outputs": [ diff --git a/docs/notebooks/12_three_synthesis_problems.ipynb b/docs/notebooks/12_three_synthesis_problems.ipynb index 8a3e6fd..cd60936 100644 --- a/docs/notebooks/12_three_synthesis_problems.ipynb +++ b/docs/notebooks/12_three_synthesis_problems.ipynb @@ -23,17 +23,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "cell-1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:19.005798Z", + "iopub.status.busy": "2026-09-18T12:42:19.005705Z", + "iopub.status.idle": "2026-09-18T12:42:19.588392Z", + "shell.execute_reply": "2026-09-18T12:42:19.587809Z" + } + }, "outputs": [], - "source": "import math\n\nimport matplotlib.pyplot as plt\nimport numpy as np\n\nfrom pylinkage.geometry.secants import circle_intersect\nfrom pylinkage.synthesis import (\n Pose,\n function_generation,\n motion_generation,\n path_generation,\n solution_to_linkage,\n verify_path_generation,\n)\nfrom pylinkage.synthesis.utils import grashof_check\nfrom pylinkage.visualizer import plot_static_linkage" + "source": [ + "import math\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "from pylinkage.geometry.secants import circle_intersect\n", + "from pylinkage.synthesis import (\n", + " Pose,\n", + " function_generation,\n", + " motion_generation,\n", + " path_generation,\n", + " solution_to_linkage,\n", + " verify_path_generation,\n", + ")\n", + "from pylinkage.synthesis.utils import grashof_check\n", + "from pylinkage.visualizer import plot_static_linkage" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "cell-2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:19.590308Z", + "iopub.status.busy": "2026-09-18T12:42:19.590129Z", + "iopub.status.idle": "2026-09-18T12:42:19.594428Z", + "shell.execute_reply": "2026-09-18T12:42:19.593892Z" + } + }, "outputs": [], "source": [ "# --- Shared plotting helpers ---\n", @@ -98,10 +129,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "cell-4", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:19.595281Z", + "iopub.status.busy": "2026-09-18T12:42:19.595199Z", + "iopub.status.idle": "2026-09-18T12:42:19.749458Z", + "shell.execute_reply": "2026-09-18T12:42:19.748969Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solutions: 1\n", + "Links: a=0.782 b=0.843 c=1.030 d=1.000\n", + "Grashof type: GRASHOF_CRANK_ROCKER\n" + ] + } + ], "source": [ "# Desired transfer function: output leads input at low angles, converges at high\n", "angle_pairs = [\n", @@ -125,9 +173,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "cell-5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:19.795435Z", + "iopub.status.busy": "2026-09-18T12:42:19.795293Z", + "iopub.status.idle": "2026-09-18T12:42:19.798967Z", + "shell.execute_reply": "2026-09-18T12:42:19.798493Z" + } + }, "outputs": [], "source": [ "# Compute actual transfer function across full crank sweep\n", @@ -157,11 +212,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "cell-6", - "metadata": {}, - "outputs": [], - "source": "# Simulate linkage for mechanism drawing\nlinkage_f = solution_to_linkage(sol_f, name=\"func-gen\", iterations=SIM_STEPS)\nloci_f = simulate_linkage(linkage_f)\n\nfig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))\n\n# Left: transfer function\nax1.plot(np.degrees(theta2_valid), np.degrees(theta2_valid),\n \"k--\", lw=1, label=r\"Identity ($\\theta_4=\\theta_2$)\")\nax1.plot(np.degrees(theta2_valid), np.degrees(theta4_actual),\n color=COLORS[\"curve\"], lw=2.5, label=\"Synthesized linkage\")\nfor t2, t4 in angle_pairs:\n ax1.plot(math.degrees(t2), math.degrees(t4), \"o\",\n color=COLORS[\"precision\"], markersize=10, zorder=5)\nax1.plot([], [], \"o\", color=COLORS[\"precision\"], markersize=10,\n label=\"Precision points\")\nax1.set_xlabel(r\"Input crank angle $\\theta_2$ (deg)\")\nax1.set_ylabel(r\"Output rocker angle $\\theta_4$ (deg)\")\nax1.set_title(\"Transfer function\")\nax1.legend()\nax1.grid(True, alpha=0.3)\n\n# Right: mechanism motion with ghosts\nplot_static_linkage(linkage_f, ax2, loci_f, show_legend=False, show_labels=True,\n show_loci=True, n_ghosts=12, title=\"Mechanism motion\")\nax2.grid(True, alpha=0.3)\n\nfig.suptitle(\"1. Function Generation (Freudenstein)\", fontsize=14, fontweight=\"bold\")\nplt.tight_layout()\nplt.show()" + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:19.799904Z", + "iopub.status.busy": "2026-09-18T12:42:19.799815Z", + "iopub.status.idle": "2026-09-18T12:42:20.050915Z", + "shell.execute_reply": "2026-09-18T12:42:20.050169Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Simulate linkage for mechanism drawing\n", + "linkage_f = solution_to_linkage(sol_f, name=\"func-gen\", iterations=SIM_STEPS)\n", + "loci_f = simulate_linkage(linkage_f)\n", + "\n", + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))\n", + "\n", + "# Left: transfer function\n", + "ax1.plot(np.degrees(theta2_valid), np.degrees(theta2_valid),\n", + " \"k--\", lw=1, label=r\"Identity ($\\theta_4=\\theta_2$)\")\n", + "ax1.plot(np.degrees(theta2_valid), np.degrees(theta4_actual),\n", + " color=COLORS[\"curve\"], lw=2.5, label=\"Synthesized linkage\")\n", + "for t2, t4 in angle_pairs:\n", + " ax1.plot(math.degrees(t2), math.degrees(t4), \"o\",\n", + " color=COLORS[\"precision\"], markersize=10, zorder=5)\n", + "ax1.plot([], [], \"o\", color=COLORS[\"precision\"], markersize=10,\n", + " label=\"Precision points\")\n", + "ax1.set_xlabel(r\"Input crank angle $\\theta_2$ (deg)\")\n", + "ax1.set_ylabel(r\"Output rocker angle $\\theta_4$ (deg)\")\n", + "ax1.set_title(\"Transfer function\")\n", + "ax1.legend()\n", + "ax1.grid(True, alpha=0.3)\n", + "\n", + "# Right: mechanism motion with ghosts\n", + "plot_static_linkage(linkage_f, ax2, loci_f, show_legend=False, show_labels=True,\n", + " show_loci=True, n_ghosts=12, title=\"Mechanism motion\")\n", + "ax2.grid(True, alpha=0.3)\n", + "\n", + "fig.suptitle(\"1. Function Generation (Freudenstein)\", fontsize=14, fontweight=\"bold\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] }, { "cell_type": "markdown", @@ -188,10 +292,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "cell-9", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:20.052762Z", + "iopub.status.busy": "2026-09-18T12:42:20.052648Z", + "iopub.status.idle": "2026-09-18T12:42:20.089016Z", + "shell.execute_reply": "2026-09-18T12:42:20.088590Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solutions found: 5\n", + " Warning: 182 candidate(s) rejected: coupler point did not pass through all precision poin...\n" + ] + } + ], "source": [ "# D-shaped locus: flat bottom + arched top (good for walking feet)\n", "precision_points = [\n", @@ -214,19 +334,113 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "cell-10", - "metadata": {}, - "outputs": [], - "source": "# Pick the best solution by verification accuracy and simulate\nlinkage_p, sol_p, loci_p = None, None, []\n\nif path_result.solutions:\n best_max_d = float('inf')\n for lnk, raw in zip(path_result.solutions, path_result.raw_solutions, strict=False):\n ok, dists = verify_path_generation(lnk, precision_points)\n if max(dists) < best_max_d:\n best_max_d = max(dists)\n linkage_p, sol_p = lnk, raw\n\n loci_p = simulate_linkage(linkage_p)\n\n ok, dists = verify_path_generation(linkage_p, precision_points)\n print(f\"Verified: {ok}\")\n for i, (pt, d) in enumerate(zip(precision_points, dists, strict=False)):\n print(f\" Point {i+1} {pt}: distance = {d:.4f}\")\n\n gt_p = grashof_check(sol_p.crank_length, sol_p.coupler_length,\n sol_p.rocker_length, sol_p.ground_length)\n print(f\"Links: a={sol_p.crank_length:.3f} b={sol_p.coupler_length:.3f} \"\n f\"c={sol_p.rocker_length:.3f} d={sol_p.ground_length:.3f}\")\n print(f\"Grashof type: {gt_p.name}\")\nelse:\n print(\"No solutions found — try relaxing constraints.\")" + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:20.090228Z", + "iopub.status.busy": "2026-09-18T12:42:20.090143Z", + "iopub.status.idle": "2026-09-18T12:42:20.111200Z", + "shell.execute_reply": "2026-09-18T12:42:20.110878Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Verified: True\n", + " Point 1 (-1.0, 0.0): distance = 0.0000\n", + " Point 2 (0.0, -0.3): distance = 0.0017\n", + " Point 3 (1.0, 0.0): distance = 0.0042\n", + "Links: a=1.040 b=1.182 c=1.109 d=1.248\n", + "Grashof type: GRASHOF_CRANK_ROCKER\n" + ] + } + ], + "source": [ + "# Pick the best solution by verification accuracy and simulate\n", + "linkage_p, sol_p, loci_p = None, None, []\n", + "\n", + "if path_result.solutions:\n", + " best_max_d = float('inf')\n", + " for lnk, raw in zip(path_result.solutions, path_result.raw_solutions, strict=False):\n", + " ok, dists = verify_path_generation(lnk, precision_points)\n", + " if max(dists) < best_max_d:\n", + " best_max_d = max(dists)\n", + " linkage_p, sol_p = lnk, raw\n", + "\n", + " loci_p = simulate_linkage(linkage_p)\n", + "\n", + " ok, dists = verify_path_generation(linkage_p, precision_points)\n", + " print(f\"Verified: {ok}\")\n", + " for i, (pt, d) in enumerate(zip(precision_points, dists, strict=False)):\n", + " print(f\" Point {i+1} {pt}: distance = {d:.4f}\")\n", + "\n", + " gt_p = grashof_check(sol_p.crank_length, sol_p.coupler_length,\n", + " sol_p.rocker_length, sol_p.ground_length)\n", + " print(f\"Links: a={sol_p.crank_length:.3f} b={sol_p.coupler_length:.3f} \"\n", + " f\"c={sol_p.rocker_length:.3f} d={sol_p.ground_length:.3f}\")\n", + " print(f\"Grashof type: {gt_p.name}\")\n", + "else:\n", + " print(\"No solutions found — try relaxing constraints.\")" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "cell-11", - "metadata": {}, - "outputs": [], - "source": "if path_result.solutions:\n fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))\n\n # Left: coupler curve with precision points\n n_joints = len(loci_p[0])\n cp_idx = n_joints - 1\n cpx = [p[cp_idx][0] for p in loci_p]\n cpy = [p[cp_idx][1] for p in loci_p]\n ax1.plot(cpx, cpy, color=COLORS[\"curve\"], lw=2.5, label=\"Coupler curve\")\n for i, pt in enumerate(precision_points):\n ax1.plot(*pt, \"o\", color=COLORS[\"precision\"], markersize=12, zorder=5)\n ax1.annotate(f\"P{i+1}\", pt, textcoords=\"offset points\",\n xytext=(8, 8), fontsize=11, fontweight=\"bold\",\n color=COLORS[\"precision\"])\n ax1.set_aspect(\"equal\")\n ax1.set_title(\"Coupler curve through precision points\")\n ax1.legend()\n ax1.grid(True, alpha=0.3)\n\n # Right: mechanism motion with ghosts\n plot_static_linkage(linkage_p, ax2, loci_p, show_legend=False, show_labels=True,\n show_loci=True, n_ghosts=12, title=\"Mechanism motion\")\n for pt in precision_points:\n ax2.plot(*pt, \"o\", color=COLORS[\"precision\"], markersize=10, zorder=5)\n ax2.grid(True, alpha=0.3)\n\n fig.suptitle(\"2. Path Generation (Burmester)\", fontsize=14, fontweight=\"bold\")\n plt.tight_layout()\n plt.show()" + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:20.112370Z", + "iopub.status.busy": "2026-09-18T12:42:20.112281Z", + "iopub.status.idle": "2026-09-18T12:42:20.275746Z", + "shell.execute_reply": "2026-09-18T12:42:20.275278Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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JSVV2ixcuLDKNQvUJwBsx44d8rpbbrlFXn7RRRf57fP555+X13Xt2rXW9+zxxx/3axPoubjsssvYggULmCAIVdY999xz9X62Zs6cWe39mzlzZq2el3A931533323vPzJJ58M+RkhhBBCCKFMVEIIIaQZWbZsGfbt2ye/rqmuY32ZzWZ50iAv7+zkEydORHZ2tvy1f/9+rFixAuPGjZO3vfPOO+Xt/vjjD/z0009++1q5cqW8/Zw5c6ocf//+/di4cSNWrFiBFStWoH379kBFzdiXXnoppHMoLi6G1WqVX3uHaHvNnz/fL0PT++Ud+g0As2fPxuLFiwEAqampWLBgAXbu3IlXX30VHMfB4XDg+uuvDzqpUm3Oo77H2rdvHzZv3oxvv/0W+/btQ3Z2Ns4777xGuV+VPfDAA/jll18AADqdDvPmzcO2bdvw8ssvQxAEAMAHH3yAN998s97XrTqbN2+W63N27NgRCQkJNW4zefJkdO7cGWlpafLPgFqtxhtvvFElO9urrrV0g92zym2MRiM2bNjgl1X7yy+/4Prrr8cjjzyCbdu2YcaMGfK6l19+GR6PR35d22fLarXik08+ASrKfCxatAh79+7FP//8g3nz5uGiiy6S9x/q8xKu59urf//+8veUiUoIIYSQWol0FJcQQgghDWPPnj0sOTlZzrK68sor/TL46sM3E1Wr1bJOnTqxjh07MpVK5Zfxddddd9W4r4MHD/ptk5ubK6/bvn2737qjR49W2d4364zjOLZv3z553Ysvviivy8jICOncTp486XfMWbNm+a2fO3duwIy4vLw8xhhjZrPZ7zosWLDAb/urrrpKXnfbbbfV6zwa4lgA2Pbt20O6NqyB75dvJqrJZJKzPwGwp59+2m+7G264IeA1aOj7zxhjX375pbzd0KFDA7apnIka6Eun07HZs2czj8cjb+ebiTp27Fi/fYaaiRrsnvlmovI8z06ePCmva9Wqlbyub9++8vKtW7f67TcnJ4exOj5bZWVljOM4BoDFx8ezLVu2+J07q8gs9arpeWmM5/u3336T22VlZQVtRwghhBBSGU0sRQghhDQDmzZtwqWXXoqSkhKgotbgwoULwzJpit1u96tLyPM8evfujXvuuQc33XSTvFySJHz33Xf49ddfcejQIZhMJrjdbrlGotepU6eQnp5ep760atUK55xzjvw6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37nf79WmQUnUcePGYdy4cfXa12QyIT09HSdOnPAY/+mnn9C5c2efx8iyjF27dmHq1KnamCiKGDVqFP72t7/V+FhGoxFGo9FrXBRFv19cQRAC8jjU/PDaRy5e+8jFax+5QuHaN+fYQp27KCA9PT3YoRARERGRH5SWliI+Pr7Wffy6WtNNN92EDz/8EM899xyMRiNKSkqwevVqPP7449o+O3bswL59+/Dggw9CkiS0a9cOu3fvxv3336/ts3v3bmRmZvozVCIiIiIin1q3bo0zZ84gNjYWgiAEO5wGcc/QOnPmjF9naEUynmP/4vn1P55j/+M59j+eY/8K5/OrqipKS0vRunXrOvf1axL1+eefx5o1azBy5EiMHj0an376KVq0aIHHHntM22ft2rX4v//7Pzz44IMAgPnz52Py5MmwWCzo3bs3tm3bhrVr1+Lzzz/3Z6hERERERD6Jooi2bdsGO4zLEhcXF3YfepobnmP/4vn1P55j/+M59j+eY/8K1/NbVwWqm1+TqC1atMD333+Pd955B6dPn8aUKVMwefJkj56oAwcOxJQpU7TbEydORL9+/bB69Wrk5eXhmmuuwcKFC9GuXbt6P26g+laFc08Iqh2vfeTitY9cvPaRK1SufUP6ORERERERUcP4NYkKAImJiR7T9y91ww034IYbbvAY69q1K7p27drox2TfKiIiIopU9ennREREREREDeP3JGowBKpvVTj3hKDa8dpHLl77yMVrH7lC5do3pJ8TRQ6j0YgXX3zR5yKs1DR4jv2L59f/eI79j+fY/3iO/Yvnt5Kgcs5Xo1ksFsTHx6OkpKRZf6iipsdrH7l47SMXr33k4rUnIiIiIqLm29iLiIiIiIiIiIiIqBlgEpWIiIiIiIiIiIioFkyiXgb2hIhcvPaRi9c+cvHaRy5eeyIiIiIiYk9UIiIiIqIwc/78efz973/HmTNn8PLLLyM5ObnW/V977TX8+OOPHmO9e/fGI4884udIQ9cPP/yAf/7zn5AkCfPmzavXMRs3bsTnn38OQRAwfvx4DB061O9xhipZlvH+++9j165dSEpKwl133YXMzMwa9z99+jTmzp3rNf7000+jQ4cOfo62eSspKcGKFSvw008/ITMzE7/+9a8RHx/f5MdEsmPHjuG9995DUVERrrzySkycOBGiWHPN2ptvvom9e/d6jHXr1g2P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ADBv3jwMHjwYd911F4YMGYK3334bnTp1qjPTT83LggULMHr0aJjNZvTs2RNvvPEGhg8f7rHq4l/+8hcUFxfjuuuug9VqxdChQ3HTTTeha9euyM7Oxuuvv4577rkH1113XVB/F/ImiiIWLlyIu+66C7Iso1WrVliwYAHuuusuXHXVVdp+s2bNQlZWFq6++up6H0PNW0xMDObOnYuZM2eiqKgI0dHRmD9/Pn73u995VBY+8sgjmDhxIvr27YsjR45g2rRpuOWWW9CmTRts27YN77zzDubNm+dRlUzN3/r161FQUIADBw6grKxM67d38803a1OYJk2ahIULF6JLly7IyMjAE088gQcffBDHjh2DzWbD/PnzMW/ePI+pkEREREREFF4EVVXVYAcRSjZt2oTXX3/da/yWW27B7bffDgBYvnw5Dh486NHE/NixY1i2bBlyc3PRs2dPPPzww9rKkhQ6fvjhB6xYsQKFhYUYMGAAHnzwQY/eVwsWLIDVasULL7wAACguLsaKFStw4MABpKSkYOTIkVwNsJnbsmUL3nvvPZSXl2PYsGGYPHkyRPHnov3nnnsOrVu39ljBtK5jKDR8+eWX+OSTT+ByuTBmzBjcdtttHtunTZumfSEGACdPnsS7776LkydPIj09Hbfeeit69uwZpOipsX7/+9/j8OHDXuOLFi3S+kdOnDgR9957r8dUso8++ghffPEFdDodJkyYgDFjxgQ0biIiIiIiCiwmUYmIiIiIiIiIiIhqwVIpIiIiIiIiIiIiolowiUpERERERERERERUCyZRiYiIiIiIiIiIiGrBJCoRERERERERERFRLZhEJSIiIiIiIiIiIqoFk6hEREREREREREREtWASlYiIiIiIiIiIiKgWTKISERERERERERER1YJJVCIiIiIiIiIiIqJaMIlKREREREREREREVAsmUYmIiIiIiIiIiIhqwSQqERERERERERERUS3+H07amlS93ww8AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if path_result.solutions:\n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))\n", + "\n", + " # Left: coupler curve with precision points\n", + " n_joints = len(loci_p[0])\n", + " cp_idx = n_joints - 1\n", + " cpx = [p[cp_idx][0] for p in loci_p]\n", + " cpy = [p[cp_idx][1] for p in loci_p]\n", + " ax1.plot(cpx, cpy, color=COLORS[\"curve\"], lw=2.5, label=\"Coupler curve\")\n", + " for i, pt in enumerate(precision_points):\n", + " ax1.plot(*pt, \"o\", color=COLORS[\"precision\"], markersize=12, zorder=5)\n", + " ax1.annotate(f\"P{i+1}\", pt, textcoords=\"offset points\",\n", + " xytext=(8, 8), fontsize=11, fontweight=\"bold\",\n", + " color=COLORS[\"precision\"])\n", + " ax1.set_aspect(\"equal\")\n", + " ax1.set_title(\"Coupler curve through precision points\")\n", + " ax1.legend()\n", + " ax1.grid(True, alpha=0.3)\n", + "\n", + " # Right: mechanism motion with ghosts\n", + " plot_static_linkage(linkage_p, ax2, loci_p, show_legend=False, show_labels=True,\n", + " show_loci=True, n_ghosts=12, title=\"Mechanism motion\")\n", + " for pt in precision_points:\n", + " ax2.plot(*pt, \"o\", color=COLORS[\"precision\"], markersize=10, zorder=5)\n", + " ax2.grid(True, alpha=0.3)\n", + "\n", + " fig.suptitle(\"2. Path Generation (Burmester)\", fontsize=14, fontweight=\"bold\")\n", + " plt.tight_layout()\n", + " plt.show()" + ] }, { "cell_type": "markdown", @@ -251,10 +465,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "cell-14", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:20.277062Z", + "iopub.status.busy": "2026-09-18T12:42:20.276957Z", + "iopub.status.idle": "2026-09-18T12:42:20.280728Z", + "shell.execute_reply": "2026-09-18T12:42:20.280316Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solutions found: 10\n" + ] + } + ], "source": [ "# Three poses: gentle pick-rotate-place (small orientation changes)\n", "poses = [\n", @@ -277,10 +506,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "cell-15", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:20.281648Z", + "iopub.status.busy": "2026-09-18T12:42:20.281557Z", + "iopub.status.idle": "2026-09-18T12:42:20.383979Z", + "shell.execute_reply": "2026-09-18T12:42:20.383570Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best solution: 1000 frames out of 1000\n", + "Links: a=0.950 b=1.182 c=1.065 d=1.200\n", + "Grashof type: GRASHOF_CRANK_ROCKER\n" + ] + } + ], "source": [ "# Try each solution and pick the one that simulates the longest arc\n", "linkage_m, sol_m, loci_m = None, None, []\n", @@ -308,11 +554,62 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "cell-16", - "metadata": {}, - "outputs": [], - "source": "if loci_m:\n fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))\n\n n_joints = len(loci_m[0])\n cp_idx = n_joints - 1\n cpx = [p[cp_idx][0] for p in loci_m]\n cpy = [p[cp_idx][1] for p in loci_m]\n ax1.plot(cpx, cpy, color=COLORS[\"curve\"], lw=2, label=\"Coupler point path\")\n for i, pose in enumerate(poses):\n draw_pose_arrow(ax1, pose)\n ax1.annotate(f\"Pose {i+1}\\n({pose.x}, {pose.y}, {math.degrees(pose.angle):.0f}\\u00b0)\",\n (pose.x, pose.y), textcoords=\"offset points\",\n xytext=(10, -18), fontsize=9, color=COLORS[\"target\"])\n ax1.plot([], [], \"o\", color=COLORS[\"target\"], markersize=8, label=\"Target poses\")\n ax1.set_aspect(\"equal\")\n ax1.set_title(\"Target poses (position + orientation)\")\n ax1.legend()\n ax1.grid(True, alpha=0.3)\n\n # Right: mechanism motion with ghosts\n plot_static_linkage(linkage_m, ax2, loci_m, show_legend=False, show_labels=True,\n show_loci=True, n_ghosts=12, title=\"Mechanism motion\")\n for pose in poses:\n draw_pose_arrow(ax2, pose, length=0.3, alpha=0.7)\n ax2.grid(True, alpha=0.3)\n\n fig.suptitle(\"3. Motion Generation (Rigid Body Guidance)\",\n fontsize=14, fontweight=\"bold\")\n plt.tight_layout()\n plt.show()\nelse:\n print(\"No frames to plot.\")" + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:20.385296Z", + "iopub.status.busy": "2026-09-18T12:42:20.385200Z", + "iopub.status.idle": "2026-09-18T12:42:20.585417Z", + "shell.execute_reply": "2026-09-18T12:42:20.585079Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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duzA2LFjERsbi27duiEmJgbLly/3u256ejrmzp2rvb7vvvsQExODLl26ICIiAvHx8bjyyivx3XffNbqdzbWvCy64QPt906ZNSEhIQMeOHTFo0CD07t27xvXayvkfN26c9ntNtYFrc/311/tkRD722GMBBV379u2LW265RXv95JNPIjY2FjExMVi1apVP8C/Q7OZ+/frhpptu0l4/++yziImJQUxMDH755RefbTbUzp07tc+X+Ph4n6z+lJQUzJw5E2jgOW5s+6OionDttddWm17fbPfGfCYA8Mnu/frrr5GQkICYmBgcPnwYCQkJ9WoLGtEvDb22G6J379547rnntPfqkiVLkJycjA4dOiAsLAwTJkzQ6h835rNs3759WsZtTEwMTjnllCY9DiIioraCgVsiIqIqBgwYgFdeeQUjR46ELMs4fPiwlpWVnJyMG2+8EZs3b272QFRD3HvvvVi4cCHGjBkDg8GAoqIi5OfnQ6fTYcSIEfjmm2/w2GOP+awzdepU/OMf/9BqLubm5mLXrl3Yt29fs+2zuUyaNAk7duzA/fffj169egEVtRX379+P0tJSREZGYuzYsXjiiSfwxBNP+Kx7xx13YNmyZTjnnHNgNpths9lw8OBBlJSUoF27drj66qu1+saN1Rz7mjJlCl5//XUkJiYCAIqKimA0GvHdd9/VOphTWzn/o0ePRocOHYCKQbIyMjLqtb7RaMScOXO01wcOHMBbb70V0LovvvgiHnnkEa10SmFhIUaNGoVffvnFp3RCfep4vvLKK5gzZw4iIyOBivPp2WZT1AP1DM62a9cun8fwZ86cid9//90ns7Uh57ix7b/99tu1TF9UPJbvHZwPVGM+E+677z7cfvvt2rVRVFSEqVOnYvHixTAajfVuCxrYLw29thvq1ltvxYoVKzBp0iRYLBYIIXDs2DHIsoxrrrkGV1xxhbZsQz/LFixYoP3undVNREREviTheVaIiIiIqhFC4MSJEygrK0NsbGyto9VnZWVpI59bLBaf7L3aHD58WHsUOCoqCu3bt691+aNHj6KkpAQAEBkZieTkZL/L2e12ZGZmQgiBpKSkOgc0cjqdOHbsmPa4tNFoRNeuXYGKWodutxsA0K5duxr7IdB91ra9Q4cOabUf4+LiGpTZ5lFSUoLc3FzodDokJCRoj03Xxe124/jx41AUBe3bt69xvaY4jqbYV1UnTpyAEALt2rWDJEnIyclBTk4OUFEn1Lsuq0dbOP+PPfYYHn74YQDAc889hzvuuMNnvve1Zjabq2U4KoqiZROiYnAmTzA4kD5wuVw4duwYoqOjER0djcOHD/t8DixYsADnnntuQP1Q0zZREVT2nKf4+Hi/g9X543383vR6PaKjowPaTn0/VxrT/vHjx2PFihUAgKeffhr33XdfQMdZm4Z8JqiqimPHjiEmJkYr4bBv3z4tIzspKUnL6kUzn9f6XNtN9fnk2WeHDh1qzRoP9LMMAIYNG6Zlxm/evBn9+vWrcVkiIqKTGQO3RERERNQm5OXloVu3bigoKEDPnj2xY8eOFsnkW7x4MbZu3Yqrr75aC4AdPnwYV199tRZ4TE5Oxt69e+sMdFK5gwcPol+/figuLkZYWBgOHDjQqJs4FDo2bNig1bS94IIL8O233wa7SURERCGLz6QQERERUZsQGxuLBx54AACwe/fuJittUZcTJ07gnnvuQWJiIhISEtCuXTt06tRJC9parVZ89NFHDNoG4JFHHkGPHj3Qq1cvFBcXAwDuueceBm3bkCeffBKoyPR++umng90cIiKikMaMWyIiIiJqM1wul1afNzo6Gu3atWv2fWZlZeGll17CBx98gCNHjmjT4+PjMXnyZDz44IPo0aNHs7ejLbjxxhsxb948oKKcxS233IL//Oc/AQ/sRqFvz549UBTFb7kSIiIi8sXALRERERFREykpKUFmZiYiIyOZJdoAmZmZyM/Ph9lsRkpKCgwGQ7CbRERERBQ0DNwSERERERERERERhRjWuCUiIiIiIiIiIiIKMQzcEhEREREREREREYUYBm6JiIiIiIiIiIiIQgwDt0REREREREREREQhhoFbIiIiIiIiIiIiohDDwC0RERERERERERFRiGHgloiIiIiIiIiIiCjEMHBLREREREREREREFGIYuCUiIiIiIiIiIiIKMQzcEhEREREREREREYUYBm6JiIiIiIiIiIiIQgwDt0REREREREREREQhhoFbIiIiIiIiIiIiohDDwC0RERERERERERFRiGHgloiIiIiIiIiIiCjEMHBLREREREREREREFGIYuCUiIiIiIiIiIiIKMQzcEhEREREREREREYUYBm6JiIiIiIiIiIiIQgwDt0REREREREREREQhhoFbIiIiIiIiIiIiohDDwC0RERERERERERFRiGHgloiIiIiIiIiIiCjEMHBLREREREREREREFGIYuCUiIiIiIiIiIiIKMQzcEhEREREREREREYUYBm6JiIiIiIiIiIiIQgwDt0REREREREREREQhhoFbIiIiIiIiIiIiohDDwC0RERERERERERFRiGHgloiIiIiIiIiIiCjEMHBLREREREREREREFGIYuCUiIiIiIiIiIiIKMQzcEhEREREREREREYUYBm6JiIiIiIiIiIiIQow+2A0gIiIiIiIioprl5eXhueee016PGjUKEydO9Fnm888/x99//629fuSRR6DXN+1X/gMHDuDtt98GAFxyySU49dRTm3T7ob7/YFBVFQ899BAAYPDgwZgyZYo272TsD6KTjSSEEMFuBBERERERERH5t3fvXvTo0UN73bVrV+zZsweyXP4Qrc1mQ0pKCgoKCrRlysrKYDabm7QdK1aswPjx4wEAH374Ia688som3X6o7z8Y3G43DAYDAGDmzJl46623tHknY38QnWyYcUtERERERETUiuzfvx+LFy/GpEmTAAAfffSRT9C2rerSpQsef/xxAED//v2D3ZygY38QtX0M3BIRERERERG1EpGRkSgqKsKrr76qBW5fffVVn3n+HDhwAL/88gtOnDiBpKQkDBkyBAMGDKi23NGjR/Hzzz/j6NGjSE5OxrnnnoukpCS/2/zrr7+wdu1alJSUYPjw4Rg9erQ2LycnBy+88IL2Wq/XIyEhAaNGjfIJMlZ93F8IUeM2VVWF3W4HACiKok3Pzc3Fjz/+iGPHjiEqKgqDBg3CsGHDtPn79u3Du+++q+3Dbrfj119/BQBMmjQJaWlpWL9+PZYuXQqdTocxY8Zg6NChtZ6Hptrm3r178csvvyAzMxMREREYNmwYRo0aBQDYsWMHPvroI23ZDRs24F//+hcA4IorroDZbPbbH3Vtt779TkRBJIiIiIiIiIgoZO3Zs0cAEADE9ddfL8xms5BlWezfv1+sXLlSABBJSUnikksu0ZYrKyvT1r/33nuFLMuiY8eO4t577xVDhgwRAMTUqVNFSUmJttycOXOETqcTOp1OXHnlleK2224TQ4YMEatXrxZCCLF8+XJt+7179xZTpkwR1157rTbtiSee0LaVk5MjHn/8ce3nlltuEXFxcQKAuOOOO7Tl6rNN72U//PBDIYQQa9euFVarVURERIg77rhD3HbbbeK0004Tffv2FZmZmUIIIX7++Wdtvb59+4prrrlGTJw4UQAQOp1OTJo0SYwZM0bcdNNNQpIkAUC89tprtZ6Txm5TVVVx2223CUmSRFJSkrjjjjvEwIEDBQAxevRokZubK3bt2iUeffRRbT+DBg3S+nPXrl1++yOQ7da334koeBi4JSIiIiIiIgph3oHb++67T1x99dUCgLjnnnu0YO2//vUvccUVV1QL3L711lsCgJAkSezevVsIIURxcbGIjo4WAMQ//vEPIYQQ77zzjrbum2++qe3b5XKJgwcPClEl2Dd58mRtmTFjxggAIiUlpdbj+PLLL7X1N2/eXO9t+gtUeo75iiuu8NnXX3/9JfLy8oSoEmS97LLLhKgILHumJSYmCofDIYQQYtiwYVowtjaN3ea8efO0ZVesWFHtvFxyySVa/3uWmzlzpk8b/PVHoNtt7LkkopbBUglERERERERErcgtt9yC999/H2+99RaKi4uh1+sxe/Zs/POf/6y27AcffAAAiIiIwPvvv69N9wxc9t133+Gll17S5plMJlx77bXacnq9Hp06daq23QkTJmi/JycnAwAyMzN9ljlx4gR++eUXHDp0CHa7HUePHtXmbd68Gf369av3NquSJAkA8OmnnyIrKwunnnoq+vXrh0mTJiEmJqba8p4SAHFxcZBlGaqqYujQoTAajQCAhIQEre2Basg2P/74Y6DivIwdOxYAEB4ejnHjxuHbb7/FN998A5vNpm0jUIFu11tD+p2IWgYDt0REREREREStyODBgzF06FD8+eefAICLLroIHTp08LtsRkYGUBGQ9QRrAeDmm28GvAK4nuUSEhKg0+nqbEN0dLT2u2d5IYQ27aeffsIFF1wAh8OBc845ByNGjPAJQhYWFtZ7m/7ceeed+PHHH5Gfn4+ff/4ZP//8MwAgLCwMS5cu9al1i4qApocn6BsVFaVN8+yvrv02dpvHjx8HgGrB5djYWACA2+1GTk6OFkgNVKDb9daQfieilsHALREREREREVErc/PNN2uBW08Q1p+UlBTs3bsXNpsNDzzwAGRZrnG5PXv2ICsrC263G3p948IFTzzxBBwOB7p27YpFixZBkiT88MMPmD9/fqO2W9WAAQNw5MgRLFu2DFu2bMG6devw7bfforS0FPPmzasWuA0VycnJ2LNnD/Ly8iCE0AK+ubm5AACDwaBl6jbHdvfv39+kx0NEzcP/JzYRUSu0ZMkSHD58ONjNQHFxMX744Qcta6Gpl2/L2kpftNRxZGRkYNGiRcyIICIiOglNmzYNTzzxBObOnYvx48fXuJyn7EFpaan2GL3H8ePH8fvvvwMArrvuOgCA0+nE22+/rS1js9mwd+/eerfP5XIBAGRZ1oKHn3/+eb23U5fffvsNiqLgvPPOwwMPPIBvvvkGvXv3BryyiUPRjBkzAAAlJSVYvnw5UPE35IoVKwAAF198MSwWC/R6PSwWCwDAbrc32XaJqHVgxi2d9H777Tfk5eXVuVxiYiKGDh3aIm0KRGFhIVavXo3BgwejXbt2wW5O0P3www+45JJLGvRHZVM7dOgQzjvvPHzyySeYPn06UMf58rd8MB07dgybNm3CpEmTaszIaC4t1RdNcf2Ewjk1m82YPn06XnvtNVxxxRXNth8iIiIKPSaTCQ8++GCdy1199dXYt28fnnrqKcycORM///wzIiMjsXPnTuzfvx9z584FAFx11VU4cOAAnnjiCfzf//0fli1bhri4OPz55594+eWX0b1793q175///Kf29/nUqVMhyzJ27tzZ4OOtyZ49ezBjxgz07dsX3bp1w5EjR7Bjxw60b98et99+e5Pvr6lcd9112L17N+bOnYtp06bh0ksvxerVq1FYWIgzzzwTr7/+urbspEmT8NVXX2HBggW46667YLFY8MADDzR6u0QU+hi4pZPed999h23btmmvjx49is2bN2Pw4MFISkrSpg8aNCikArd79uzBeeedhy+++AIXX3xxsJsTVKqq4u6778YNN9yAlJSUYDcHkZGRmDx5sk9bajtf/pYPpuXLl+Oqq65CWVlZi2cptFRfNMX1EwrnNDY2Frfeeqv2xai+g1cQERFR6xAXF4fHH38cADBq1Kgal7vkkkuQlpYGVDwS7/HYY4/hpptuwtKlS5GRkYGYmBhceumlGDVqlE8924ceegizZ8/GL7/8gmPHjiE5ORmPP/444uLiAABdunTR2tG/f/9q+/W+6T9lyhRs374dP//8M+x2OwYOHIgePXrg3XffBQAMHz683tv0t+zVV1+NadOmYeXKldi1axc6d+6MGTNm4KyzzoLJZAIAdO/e3e8+HnvsMaiqilNOOUWbdtVVV2H48OGwWq21npOm2ObTTz+tBckzMzNx4403YujQoRg8eLDPcp988gl+/PFH7Nu3D2VlZUBFLd2a+i6Q7dan34koeCTB5yuJfLz33nu49tpr8c0332DKlCnBbk6N1q9fjyFDhjBwC+DHH3/Eueeei7///tvnD6RQ0prO10cffRS0wG1LaYrzESrn9MCBA+jWrRs++ugjXH755UFrBxERERERETUtZtwSBeDXX39Ffn4+AECv1yMhIQH9+vXzuYuNipFTk5OTccoppyAzMxNbt25FamoqevbsCVTUGVq/fj1MJhOGDBkCAFi8eDF69+6Nbt26Vdvvrl27cPjwYURFRWHAgAHa/k6cOIE1a9YAADZs2KAF19LS0mp8hCk/Px+//vorhg4disTERGzZsgVZWVno27evT2axN7fbjc2bNyM3NxcpKSlIT0/X6lN527t3Lw4fPoy4uDikpaVpd7YDPZ6GbMvbW2+9hfT09GpB22Adc3FxMVauXImBAwciOTm5zvNVdfn6tKfqMe7YsQPHjh1Denp6vUegbSr1bfPOnTtx4MABjBw5ErIs19gXqOM9FGhf1HU+XC4XfvrpJ215k8mEzp07o0ePHgFvoyXPaZcuXTBkyBC89dZbDNwSERERERG1JYKIfLz77rsCgPjmm2+0aXfddZeYPHmymDx5sjjjjDNE+/btRWJioli4cKHPulFRUWL27Nni3//+t+jVq5fo37+/ePjhh4UQQnzyySciMjJSpKamitNOO030799f/PHHHwKAeOqpp3y2s2nTJnHqqaeK6OhoMWbMGNGlSxeRnJwslixZIoQQYs2aNeK0004TAMSgQYO0tn366ac1Htfq1asFAPHJJ5+IiRMniiFDhoj09HSh1+vFQw89VG35hQsXipSUFJGUlCRGjx4toqKiRN++fcXff/+tLZORkSGGDh0qoqOjxbhx48SgQYNEamqqePfdd+t1PPXZVlWKooioqCgxa9askDnmLVu2aPsN5HxVXb4+7fEc4xdffCEuvvhiMXjwYNG3b1+h0+nEf/7zn1r7riYffvihACDKysrqvW592vzpp5+K888/XwwcOFCkpKSIdevW1dgXgbyHAu2Lus5HYWGhNm3y5Mli5MiRwmq1isGDB4sjR44EtI2WPqd33nmnMBqNorS0tN7njIiIiIiIiEITA7dEVfgL3FblcrnEzTffLGJiYkRubq42PSoqSvTq1Us88sgj2rQdO3aIzZs3C71eL2bOnCkURRFCCHHs2DFx/vnnVwvcHjlyRMTGxopzzjlHFBQUCCGEUFVV3HHHHcJqtYp9+/YJIYRYt26dFtwJhCcY1L9/f7FmzRpt+muvvSYA+AQet23bJkwmk7jooouEw+EQQgiRk5MjBg8eLNq1ayfy8/OFEEJcc801onPnzqKoqEhbNzc3V7z//vv1Pp5AtuXP9u3bBQDxyiuvhMwx+wva1Xa+/C0faHs8xzhkyBDx22+/aevfdtttwmAwiAMHDtTaf0II8eOPP4oFCxZoP3fddZcAIL7++muf6Rs3bqx1O/Vtc//+/cXq1auFEEIUFRWJo0eP+u2LQN9D9emL+l4/OTk5ol+/fmLSpEkBbaOlz+kHH3wgAGj9SURERERERK0fq00TBcjpdGLDhg1YvHgxFi9ejF69eiE/Px/r1q3zWc5ms+Ff//qX9jotLQ2vvvoqjEYjnn32Wa3Ie3JyMqZNm1ZtPy+88ALy8/Px9ttvIyoqCqgoPP/kk0/CYDBg3rx5jTqO4cOH+wxocNNNN2HgwIF47rnntGkvvfQSVFXFyy+/rA12FBcXh+eeew4nTpzABx98AAA4dOgQYmNjER4erq0bGxuLGTNm1Pt4AtmWP8ePH9faFyrH3BQCbY/HiBEjMGLECO31rbfeCpfLhSVLltS5r/PPPx/nnXee9vPf//4XADB16lSf6c8880yTtnnIkCE47bTTAAARERE1DuRV32uiMX3hLT8/H2vWrMHChQuxdu1anHrqqVi6dCkURanXdjya85zGx8cDFSUciIiIiIiIqG1gjVuiAMybNw///Oc/ERYWhp49e8JqtcJmswEAjh496rPsoEGDfEZmBYCNGzeiR48eiI6O9pnuqXPr7ddff9XqsW7ZsgUVmfEQQiA+Ph6bN29u1LEMHTq02rRhw4bhjTfegMPhgMlkwsaNG9G5c2e0b9/eZ7nhw4dDlmVs2LABADB9+nTMnj0bgwcPxiWXXIKxY8di6NChPscf6PEEsi1/nE4nUFGHNFSOuSkE2h6Pqu+ljh07QpIkHD58uM59TZ482ScYeezYMfz111+YOHGiz2iyAwcObNI2Dxs2rM62oQHXRGP6AgAcDgduvPFGfPzxx+jRowc6dOgAg8GAAwcOwOFwICcnp8YaybVpznPqef/b7fZ6t4uIiIiIiIhCEwO3RHXYtGkTbrrpJjzwwAN4/PHHtUGENmzYgMGDB0MI4bN8YmJitW04HA5ERERUmx4WFlZtWmlpKRwOB1555ZVq89LS0tCnT59GHY93pqj3NCEEnE4nTCYT7Ha73+UMBoM2HwBmzZqFXr164eOPP8a7776L+++/H/Hx8Zg7dy6uueaaeh1PINvyx5NpmJeXFzLH3BQCbY9H1ZsCer0esiwHFMj77rvvfF5/9NFHuOqqq/D1119rg241R5v9XSv+1PeaaExfAMDcuXPx0UcfYenSpRgzZow2/dFHH8UjjzxS7ZoPVHOe09zcXABAQkJCg9pGREREREREoYeBW6I6rFq1CkIIzJo1y2fk923btvld3nsZj44dO2LTpk3Vph84cKDatK5du+L48eP44Ycfam2Xv/0EYv/+/dWm7du3D7GxsVpwuVOnTvj111+hqqpPxmVGRgbKysrQuXNnbdrYsWMxduxYAMCRI0dwww03YObMmTjrrLOQkpIS8PEEsi1/evToAVmW/fZlsI7Zn/qer/q0J1TUt82B9kl93kOBqm3fK1euRO/evX2CtvBzzYfSOfW8/3v37t3gbRARNZaqqsjIyEBERESD/04hIiIiauuEECguLkZycrLPd0N/GLglqoPnkeijR4+iY8eOQEUG7WuvvRbwNi666CL8+OOP+OGHH3Duuedq099///1qy1533XX47rvv8M477+C6667zmaeqKnJzc5GQkIDY2FgAQHFxcb2O53//+x/uuOMOrcbmkSNH8OOPP/rUaL3kkkvwww8/4H//+x+uvPJKbfpLL70EALj44ouBinqa7dq10+anpqbioosuwk8//YTMzEykpKQEfDyBbMufqKgo9O/fH3/88UfIHLM/9T1fgbYnlDRXmwN9D9VHbecjKSkJW7ZsgdPp1N4zu3btwqJFiwLehj/NeU5///13dO3aVfuMIiIKhoyMDKSmpga7GUREREStwpEjR9ChQ4dal2HglqgO5557Lrp164YZM2bgn//8JwDgvffew8UXX1xrsNDb1Vdfjc8//xzTp0/HP//5T3Tt2hWLFi3SHvH2zko5//zzMWfOHMyePRurV6/G2LFjYTAYsHPnTnz++ed4/PHHcemll6Jjx47o3r07XnnlFVitVoSFhSEtLQ3du3evtS0XXHABJk2ahMsvvxw2mw3P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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if loci_m:\n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))\n", + "\n", + " n_joints = len(loci_m[0])\n", + " cp_idx = n_joints - 1\n", + " cpx = [p[cp_idx][0] for p in loci_m]\n", + " cpy = [p[cp_idx][1] for p in loci_m]\n", + " ax1.plot(cpx, cpy, color=COLORS[\"curve\"], lw=2, label=\"Coupler point path\")\n", + " for i, pose in enumerate(poses):\n", + " draw_pose_arrow(ax1, pose)\n", + " ax1.annotate(f\"Pose {i+1}\\n({pose.x}, {pose.y}, {math.degrees(pose.angle):.0f}\\u00b0)\",\n", + " (pose.x, pose.y), textcoords=\"offset points\",\n", + " xytext=(10, -18), fontsize=9, color=COLORS[\"target\"])\n", + " ax1.plot([], [], \"o\", color=COLORS[\"target\"], markersize=8, label=\"Target poses\")\n", + " ax1.set_aspect(\"equal\")\n", + " ax1.set_title(\"Target poses (position + orientation)\")\n", + " ax1.legend()\n", + " ax1.grid(True, alpha=0.3)\n", + "\n", + " # Right: mechanism motion with ghosts\n", + " plot_static_linkage(linkage_m, ax2, loci_m, show_legend=False, show_labels=True,\n", + " show_loci=True, n_ghosts=12, title=\"Mechanism motion\")\n", + " for pose in poses:\n", + " draw_pose_arrow(ax2, pose, length=0.3, alpha=0.7)\n", + " ax2.grid(True, alpha=0.3)\n", + "\n", + " fig.suptitle(\"3. Motion Generation (Rigid Body Guidance)\",\n", + " fontsize=14, fontweight=\"bold\")\n", + " plt.tight_layout()\n", + " plt.show()\n", + "else:\n", + " print(\"No frames to plot.\")" + ] }, { "cell_type": "markdown", @@ -332,11 +629,78 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "cell-19", - "metadata": {}, - "outputs": [], - "source": "fig, axes = plt.subplots(1, 3, figsize=(18, 5.5))\ntitles = [\n \"Function generation\\n(angle pairs)\",\n \"Path generation\\n(points)\",\n \"Motion generation\\n(poses)\",\n]\n\n# --- Panel 1: Function generation ---\nax = axes[0]\nplot_static_linkage(linkage_f, ax, loci_f, show_legend=False, show_labels=False,\n show_loci=True, n_ghosts=12)\nfor t2, t4 in angle_pairs:\n ax.annotate(f\"{math.degrees(t2):.0f}\\u00b0\\u2192{math.degrees(t4):.0f}\\u00b0\",\n xy=(0.05, 0.95 - angle_pairs.index((t2, t4)) * 0.08),\n xycoords=\"axes fraction\", fontsize=9,\n color=COLORS[\"precision\"], fontweight=\"bold\")\n\n# --- Panel 2: Path generation ---\nax = axes[1]\nif loci_p:\n plot_static_linkage(linkage_p, ax, loci_p, show_legend=False, show_labels=False,\n show_loci=True, n_ghosts=12)\n for i, pt in enumerate(precision_points):\n ax.plot(*pt, \"o\", color=COLORS[\"precision\"], markersize=10, zorder=5)\n ax.annotate(f\"P{i+1}\", pt, textcoords=\"offset points\",\n xytext=(6, 6), fontsize=10, color=COLORS[\"precision\"],\n fontweight=\"bold\")\n\n# --- Panel 3: Motion generation ---\nax = axes[2]\nif loci_m:\n plot_static_linkage(linkage_m, ax, loci_m, show_legend=False, show_labels=False,\n show_loci=True, n_ghosts=12)\n for pose in poses:\n draw_pose_arrow(ax, pose, length=0.4)\nelse:\n ax.text(0.5, 0.5, \"No simulatable\\nsolution found\",\n transform=ax.transAxes, ha=\"center\", va=\"center\", fontsize=12)\n\nfor ax, title in zip(axes, titles, strict=False):\n ax.set_aspect(\"equal\")\n ax.set_title(title, fontsize=12)\n ax.grid(True, alpha=0.3)\n\nfig.suptitle(\"The Three Classical Synthesis Problems\",\n fontsize=15, fontweight=\"bold\", y=1.02)\nplt.tight_layout()\nplt.show()" + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-18T12:42:20.587143Z", + "iopub.status.busy": "2026-09-18T12:42:20.587032Z", + "iopub.status.idle": "2026-09-18T12:42:20.838986Z", + "shell.execute_reply": "2026-09-18T12:42:20.838530Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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XC6XvCyKIlJTU+V1nuFHs7Oz5TrFzS8nSRKysrLgdrt9ri9rPwtzOp2w2Wzycnp6uqKPheXk5Pg8l+XpU2nazM7Oluump6fL5zUzM9NrXzXlGhARERERERERERFR+TDwR1RHnDhxApGRkfjxxx+91rVv3x4PPPCAvGyxWBAZGYn3338fixcvRpMmTRAWFobIyEjMmzfPa3un04lXX30VTZo0QVBQEEJDQzFkyBDs27cPZ8+eRdu2bQEAn3zyiTz86GOPPSZv72t+uczMTNx///0IDQ1FvXr1EBgYiFGjRuHkyZNl7qcvly5dws0334yAgACEhoaiX79+OH36NDp37oz77rvP6zhnzJiBmJgYhIaGIigoCNdccw22b99ernNXmja///57uc2FCxcCAPr37y+f1+joaAQHB+O2227DhQsXAKDaXwMiIiIiIiIiIiIi8g8G/ohqEYfDIWdzeX5ycnLK3N7mzZuxceNGHDp0CBaLBXfffTcefvhhHDhwQK4jSRJuueUWzJo1C2+//TYsFgtSU1Px/PPPY/ny5bjqqqvkYSSfeOIJuV9fffVVkft1uVwYNmwYVq5ciV9//RW5ubk4fPgwEhMT0adPH69hKUvST1+cTieuu+46HDhwADt27IDVasW8efPwxBNPwOl0etW//fbbMXfuXHz88cewWq1IT09Hly5dMGjQIBw+fLhMfSpNm+vXr8fmzZtx8OBBXLhwAa1btwYAHDx4UD6vVqsV27dvx6lTp3D77bdDkqRqfQ2IiIiIiIiIiIiIyH8Y+COqRX7//Xc5m8vz89prr5W5vYSEBHzwwQcwmUzQ6XR4/fXXYTQa8c0338h1Vq1ahd9++w3vvPMOxo0bB6PRCJ1Oh0GDBmHGjBll2u+yZcuwc+dOvPfee7j22mshCAJiY2Px/fffIyUlBe+//36p++nL0qVLceDAAcyZMwddunSBIAho3749Hn30UTlbzuOvv/7C8uXL8d577+Gmm26CRqNBUFAQ5syZg5iYGLzxxhul7lNp24yPj8dHH30Es9mMyMhI9O3bV7He7XYjPT0d9evXx2OPPYYtW7bg9OnTpT7/qMRrQERERERERERERET+o6nqDhCR/9x888346aef/Nbe4MGDoVL993xAQEAAGjdujDNnzshlf//9NwBg9OjRftvvxo0bAQA33HCDorx169Zo3rw5NmzYUOp++rJp0yYAwNChQxXlAwYMgE6nU5T9+eefAIBrr70WGRkZkCRJnseuc+fO2LJlS6n7VNo2hw4dCrVa7XUcf/75J2bMmIHdu3dDr9fDYDDIGYvx8fFo1qxZsefBl8q6BkRERERERERERETkPwz8EdURgiAUuU4URZ/lUVFRXmWBgYHIysqSl9PS0qDRaBAeHu6nngIZGRnQaDQIDQ31WlevXj1cvny51P0saj9BQUEwGAyKckEQEBYWpihLSUmBIAjo1auXz7aCgoJK3afSthkdHe1VZ8+ePRg5ciQmTpyIFStWoF69egCAP/74A9dffz1cLpfPtq+ksq4BEREREREREREREfkPA39EdYQngJOZmakodzqdXkGc0oiOjobL5cLFixfRoEGDcvcT+YEll8uF5ORkREZGKtYlJiaiYcOGftuPxWKBxWJRBNk8+y6ofv36AIATJ074DIaVRWnb1Gi837KXLl0KURQxe/ZsxTGcOnWqXH2rrGtARERERERERERERP7DOf6I6oh69erBZDJh3759ivJly5bB7XaXud24uDgAwJdffum1zjNspUajgdFohM1mK1Gbw4YNAwAsWrRIUb5jxw6cOXMG1113XZn7W5BniM+lS5cqylesWOF1Tm6++WZIkoTvvvvOZ1ueYy0Nf7Sp1+uBQlmbkiThq6++UtSrrteAiIiIiIiIiIiIiPyHGX9Edcj//vc/zJo1C4MGDUK/fv2wbds2/Pnnn+XK3rrmmmvw6KOP4rXXXoPb7cbo0aOh1Wqxbt067Nu3D5999hmQP2fd6tWrcezYMURERECv1yM4ONhnm8OHD8dNN92EZ599FgaDAYMGDcLRo0fx4IMPonXr1nj00UfL3N+CrrvuOlx33XWYOnUqdDodevbsib1792LRokVo3Lix13E++eSTePrpp5GWloa4uDiEhITg1KlTWLFiBdRqNWbNmlWq/fujzbi4OLz++uuYMmUKZsyYgezsbLz99tvo3LmzV5C3Ol4DIiIiIiIiIiIiIvIfBv6IagFBEBAeHg6TyVRsvVdeeQUul0sO0o0cORKffvopevXqpQgAedoLCAjwaiMkJARms1lRNmfOHPTs2RNfffUVvvjiC4SGhmLAgAF47bXX5Drz58/Hk08+iSFDhsBut+PGG2+Us9IiIiIQGBioaHPx4sX44IMPMH/+fLz00ksIDQ3F7bffjhdeeEE+ztL209d5W7JkCV599VW8/PLLcDgcGDJkCD7//HO0atXKa+6/9957D/369cPnn3+OBQsWAABiY2MRFxeHiRMnlqlP5W2zQ4cO+P333/HGG29g8ODBaNCgAaZOnYrGjRtjxYoV0Ol01foaEBEREREREREREZH/CFJZxqcjIqrF7HY7jEYjnnvuObzxxhtV3R0iIiIiIiIiIiIiohLhHH9EVKf5evbhxx9/hCRJGDRoUJX0iYiIiIiIiIiIiIioLJjxR0R12jvvvANBEDB8+HAEBgZi7dq1eOqpp9C7d2/88ccfEAShqrtIRERERERERERERFQiDPwRUZ2WlZWFt99+G6tXr0ZiYiKioqIQFxeHp59+2muOPyIiIiIiIiIiIiKi6oyBPyIiIiIiIiIiIiIiIqJagHP8EREREREREREREREREdUCDPwRERERERERERERERER1QIM/BGRX7jdbowdOxbLli2r6q7InE4nhgwZgu+//76qu1Kkiuhjamoqhg8fjgMHDvitTSIiIiIiIiIiIiKq/hj4IyK/+Pzzz/H3339j0KBBVd0Vmdvtxpo1a3D69Omq7kqRKqKP4eHhCA8Px+OPP+63NomIiIiIiIiIiIio+tNUdQeIqOZzOp149dVX8cADD8BsNld1d2oUnU6H//u//0NsbKxf233qqafQpUsXrFmzBoMHD/Zr20RERERERERERERUPTHjj4jKbfny5bh48SLuvvvuqu5KjaNSqTBkyBA0bdrUr+127twZbdu2xSeffOLXdomIiIiIiIiIiIio+mLGHxGV288//4zmzZujdevWXuvi4uJgsVgAAFqtFg0bNsRNN92EG2+8Ua6Tnp6O2267DQ899BC6d++OWbNm4cSJE2jWrBmmTZuGJk2aKNqUJAnfffcdVq5cCbfbjeuuuw6TJ0/Grbfeij59+uCJJ564Yp/37duHb7/9FidOnIDRaMSgQYMwadIk6PX6Ircp2M+OHTti9uzZOHPmDFq0aIGpU6d69bMkx+50OjFixAhMnDgRd955p9d+unTpgrlz5+LYsWN4+umnMWDAABw5cgRfffUVTp06hcDAQHTr1g333XcfAgMDFfsfOXIkZs+eDavVioCAgCueEyIiIiIiIiIiIiKq2ZjxR0TltmHDBvTo0cPnuscffxzPPvssnn32WUyZMgXh4eG47bbb8Prrr8t17HY71qxZg23btmHSpElo164d7rjjDqxevRq9e/dGTk6Oos377rsP9957L1q2bInx48fjxIkTeOKJJ7BhwwYcOXLkiv396KOP0L17d6SlpWHChAkYNmwY3nvvPQwaNAg2m63I7Tz93LhxIyZNmoQuXbpgzJgx2Lx5Mzp37ox//vmn1Mfua46/gvuZMGECrr76alx33XVIT0/H9u3b0blzZ1y+fBl33XUXbrrpJpw/fx5Dhgzx6m+vXr3gcDiwdevWK54TIiIiIiIiIiIiIqr5mPFHROWSlpaG5OTkIoeq7N+/v2I5Li4OYWFhePHFF/HEE08oMtF++OEHHD16FCaTCQDQsWNHtGvXDl9//TUefvhhAMD69evx5ZdfYu7cuXjkkUcAADfffDPefvttZGZmXrG/hw4dwmOPPYYnn3wS77zzjlw+fPhwtGrVCrNnz8Zzzz1XbBs//vgjjh07htDQUADA6NGj0aJFCzz00EPYsGFDmY7dlx9++AHHjx+X9+N0OvH4448jMjIS3377rVzvtttuQ0ZGhtf2V111FQDg2LFjPgODRERERERERERERFS7MOOPiMolNTUVAOTgVGFpaWl4//33MXbsWAwfPhxDhgzBjz/+CJfLhX///VdR9+abb5aDfgDQtm1bhIeH4/Dhw3LZsmXLIAgC7r33XsW29957L1wu1xX7+91330EURTz66KOK8saNG+Paa6/FihUrrtjGTTfdpDjegIAA3H333di4cSNSUlLKdOy+jBo1SrEfrVYLk8mEy5cvY8mSJXC73fK6kJAQr+3DwsIAQNEnIiIiIiIiIiIiIqq9mPFHROViNBoBwOcQmRcvXkT37t0REhKCBx54AFdddRX0ej22bt2KAwcOyPPfeRSeIw8AwsPDcfnyZXk5ISEBkZGRXtlyvsp8OXnyJFQqlRw4lCQJkiQBAA4fPgy1Wn3FNjyZdL7KEhISEBERUepjL+l+pk2bhp07d+LWW29FaGgo+vbti2HDhuGee+5BUFCQom5ubi5Q4BoRERERERERERERUe3GwB8RlUtkZCTUarXPrLL58+cjMTERO3fuRIMGDeTyorLdtFqtV5kgCBBFUV42Go1ec/4BgMvlKnZ+Pg+DwQCtVotp06ZBEASv9Xq9/optZGdnF1nmCbKV9th9CQwM9CoLDw/H6tWrcebMGaxbtw7r16/HM888g/fffx979+5VZAgmJycDAKKjo0u8TyIiIiIiIiIiIiKquRj4I6Jy0ev16NixIw4cOOC1Ljk5GUFBQYrAFwD89ddfZd5f165d8eOPP+Lw4cNo166dXL57925FgLAoffv2xQ8//IDQ0FB069atTH3Yvn27V9m2bdtgNpvRokULoIKOvaCmTZti4sSJmDhxIuLi4nDLLbdg9erVuO222+Q6+/fvBwD06tXLL/skIiIiIiIiIiIiouqNc/wRUbkNHToUu3fvht1uV5R3794dFotFMW/eN998gzNnzpR5XxMmTEBYWBgef/xxOfMvMzMTc+bMQXBw8BW3v+eee9C6dWvce++9OHHihGLdhg0bsGjRoiu2kZSUhO+//15e/u2337Bs2TI89thj0GjynqeoiGMHgE8//RQHDx5UlJ09exYAEBMToyjfvHkzmjZtipYtW5Zrn0RERERERERERERUMzDwR0TlNnnyZFitVqxcuVJRfvfdd+Puu+/GLbfcgm7duiE2NharVq3C9OnTy7yviIgIrFy5EsePH0dMTAx69uyJXr16YerUqdBoNHLgrShGoxHr1q1DixYt0K5dO7Rt2xa9evVCZGQkXn31VZ/zDBZ27733YsOGDWjTpg3atWuHuLg4TJ48WXFcFXHsANCgQQNMnDgRDRs2RN++fdG6dWu88cYbmDVrFnr37i3Xy8nJwW+//YbJkyeXa39EREREREREREREVHMIkiRJVd0JIqr54uLikJub63Moy/Pnz+Ps2bNo1KgRGjdujJSUFOzfvx/du3eH2WyGw+HAxo0b0apVKzRq1Eix7bZt2xAYGIgOHTooyl0uFw4cOAC3242OHTtCkiQYjUY899xzePPNNwEAoihi7dq1iI2NRdOmTb36lZGRgWPHjkGlUiE2NhZhYWHFHuOlS5cQHR2N2bNnY+rUqUhISMDZs2cRGxtb5Dx6Vzp2X30s7nx4XLx4EfHx8QgNDUVsbCx0Op1i/ZdffompU6fi1KlTqFevXrHHRURERERERERERES1AwN/ROQXx48fR7t27bB+/Xr06dOn0ve/Zs0aDBkyBIsXL8bo0aMrZB+FA3/VldPpRKtWrXDvvffihRdeqOruEBEREREREREREVElKX5MPCKiEmrVqhW2bdsGs9lc4ftasWIFunbtKs9pd/78eTz55JNo2rQpbrjhhgrff3WXm5uLzz77DH379q3qrhARERERERERERFRJWLgj4j8plu3bpWyn6CgIPTv3x8GgwF6vR5HjhxB69at8dtvv8FgMFRKH6ozk8mEIUOGVHU3iIiIiIiIiIiIiKiScahPIqqRRFFEfHw8Lly4gAYNGiA2NrbC91mSufeIiIiIiIiIiIiIiKoKA39EREREREREREREREREtYCqqjtAREREREREREREREREROXHwB8RERERERERERERERFRLaCp6g5UFVEUceHCBQQHB0MQhKruDhEREVVzkiQhOzsbDRo0gErFZ6eIiIiIiIiIiKj6qbOBvwsXLqBRo0ZV3Q0iIiKqYc6dO4eYmJiq7gYREREREREREZGXOhv4Cw4OBvJv3plMpqruTq0kiiKSk5MRGRnJzIhagNez9uC1rF14PStPVlYWGjVqJP8NQUREREREREREVN3U2cCfZ3hPk8nEwF8FEUURNpsNJpOJN6NrAV7P2oPXsnbh9ax8HCKciIiIiIiIiIiqK94hJCIiIiIiIiIiIiIiIqoFGPgjIiIiIiIiIiIiIiIiqgUY+CMiIiIiIiIiIiIiIiKqBRj4IyIiIiIiIiIiIiIiIqoFGPgjIiIiIiIiIiIiIiIiqgUY+CMiIiIiIiIiIiIiIiKqBRj4IyIiIiIiIiIiIiIiIqoFGPgjIiIiIiIiIiIiIiIiqgUY+CMiIiIiIiIiIiIiIiKqBRj4q4ESMs9ha8I2WByWqu4KUA37Q0REREREREREREREVBdpqroDdYndZceJtJNIy01HmDEUrcJbQqvWKupIkoTjqf8iyZIEk96EtvWuhk6tk9eviV+H+bs/Q4vwFvhwx8f46IY5CA8IL1U/REnE2vh1Ra7v26QPDBoDTqadwpn0M17rm4Q0RovwFn7rDxEREREREREREREREZUfA3+VZOPZzfh2/0JEBUUhPTcd/6aeQIjBjJf6v4gO9dsDANJy0zB9zSs4lR6PztGdcCz5GHRqPV4e+CKujmwDAPj75P/hkZ7/Q78mffH2pnex/fxO3NByRKn6Ikoidl3YrSg7kXoKCZkJAICf6neEQWPAutMbsOjwz2gV3hIx5oZyXZWgkgN//ugPERERERERERERERERlR8Df5UkQGPEh9d/AKPWCAB46u9nse/ifny572vMGTELADB76xwcT/0X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EhERERERVYYKzfjbu3cvnnvuOZw6dQqnTp3CwoULMX588UEjh8OB22+/HZs2bUKnTp2wa9cu3Hbbbfjiiy/kIVhKUqe60al1GBY7FMNihxZbLyooCnd1vLNS+nRf10nFrhcEAb0a9USvRj0rpT9ERFXN6XQiOycHGU4HrAY90pyOK26jFVQI0+kQotEiRKut0UNjqgQBAWoNAtQaREBfZD23JCHb5US604l0lwMWlwui2w2n3Q6LzQ67JRvnIOCs+r9MCo0goJ7egPo6A4I0HHCAiOqWzMxMJCUloUePHgCAHTt2QMrPws7NzcX+/fvx8MMPIy4uDps3b4bZbIbNZvOam67wd534+Hi89957+OyzzxAREYE33ngDkyZNwtVXX42ePYv/G37cuHFYv349vvjiCwwaNAhHjhzBQw89hJycHAQFBSnqPvvss5g9ezbeeustLF68GG63G2+88Qb69euHrVu3omPHjkB+wOzEiRMl6lNp2jx27BjeffddzJ8/H0ajEYcPH/bbefQ1DOhdd92FFStW4OOPP8aoUaMQHx+P++67Dz179sSePXvkeRxLc7xERERERESVpULvvKWmpuLxxx/H8OHDofKRMeDLBx98gC1btuDAgQOIiYnBP//8g27dumHAgAG46667SlyHiIjoSlyiiAs5FiRYspFjt8GZa4PdaoVGp0NowwaKuuE6HSK0eoRpddCW8DOttlILAkK0OoRodWjo0MJms8EpOQGjFk6NHmkqNWwaDRwaDRz5N2RdkoQLtlxcsOUq2orSGxCtN8Ck0RaxNyKimu3MmTN47LHH4Ha78fDDDwOFhpcMDg5Gv379MGfOHAwcOBAHDhxAly5d5KFCCw4bWti2bdtw+vRpOVD33nvv4bvvvsNnn31WbNBp69atWLFiBT788EPceuutAIC+ffvixRdfRO/evREVFSXXPXLkCN599128+OKLeOKJJ+TyTz75BNu2bcP06dPx66+/lqpPpW1z06ZNOH/+PEwmEwCgWbNmfj2PBW3fvh0//fQTXn/9dUycOBEAEB4ejqVLl6JVq1Z44403MG/evHJfAyIiIiIioopSoYG/oUOLz27zZeHChRgzZgxiYmIAAG3btsWIESOwcOFCOahXkjpERESFZTgdOJ9rRVKOBW6nE26nCygw752gViNAp0WkMQBtTaEwMjPNJ1EU4XA4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97twu90455xzcMUVV+AXv/iF0U0rCb/85S9xxhln4Morr4TL5cJXvvIVHH300ROuipzOPpXmF7/4Ba655hqcfPLJ8Hq9uO2222Cz2fC73/3O6KaVtHvvvRff/OY3EQhMLmtTOBzGH//4R9xyyy048MADEQgEcMcdd2DHjh14/PHHi97eUvGPf/wDV199NWV7m4JvfvObuPnmm7Fo0SJYLBacd955uOCCC/DQQw+Nu8+DDz6I3t5e3HHHHfD5fDjssMNw8803484770QqlZrV9hvlv/7rv/ClL31JX/H3ta99DYceemjJruqmUWFiKMHmG0r96WiG0rMecvfr4Mr0Z6UoioJIJIJMJgO73Q6v1zuj7a1GFPgrntbWVgiCgHQ6jb6+vmkdg6sylN63oXS9CmYPQJp/BqX2JIRUNYvFgh/84Ac0GLoXdJ4mh87T5NB5mhw6T5ND52nv6ByRmfL666/jhBNOKLjvpJNOwgcffIBkMjnufqlUCh6PB06nEytWrMCzzz47C62dfevXrx/z/EyUtnI6+1SSrq4utLe3F5wDURRx/PHH7/UcPPbYYzCbzaivr8fFF1+MtraZWSBQqd566y3IslxwrpuamrB06dKq+bzti6uuugomkwmLFi3CLbfcgmw2a3STDNXX1zfhOPrrr7+OQw89tKBW70knnYRUKoX3339/llpZWlRVxcDAwF7jD4qiwOv1wuFw4KijjsKTTz45K+2jwB8xHBNNkJpWQmw6BjzZDbnt71CTvdM6VjweRywWg9lsRk1NDUwm04y3t9pQmtTisVgsaGpqAgB0dnZOOS+2muof+r7EdkFsOBJS83FgorlIrSWEEEIIIYQQUso456PSie35b+Sk3r6+Pvj9/oJjBAIBcM7R398/5nM4HA78+te/xo4dO9DW1obTTjsNp59+OtatW1f01zebUqkU4vH4mOdnvIm709mn0mivc6rnYP/998djjz2GSCSCV155BeFwGKtXr0Y8Hi96m8vVdM81Aa644gqsX78esVgM//3f/43f/va3uO6664xulmEee+wxfeXkeMb7vcCIz2K1ue2229Df34+rrrpq3G1sNhvWrl2LrVu3or29Heeddx7OOeccPPfcc0VvHwX+SMkQ3HMhzTsdzOyC0vESlN63prT6T1EUDAwMQJZlOBwOuN3uora3WtCKv+JqaGiAxWKBoijo7Oyc1D5claH0vQul/UUwyQZp3ukQvIuK3lZCCCGEEEIIIaXroYcegtVqnfDfb3/72wmPoaoqMMEk4FNOOQVf/epX4fP54PP5cMstt+DEE0+smlSWqqpOeYL0dPapNHs7B9/4xjdw6qmnwm63Y+nSpfjLX/6Czs5OPProo7PazkpAn7e9+5//+R/sv//+sNlsWLNmDX7605/id7/7XVUGmtevX48rr7wS3/ve93DqqadOad+9/V5UsgceeADf+973cNddd2HJkiXjbnfCCSfg+uuvRyAQQF1dHb797W9jzZo1+NWvflX0NlLgj5QUZnJAaj0JYsORUOPtkHc9DTXRPal94/E44vE4TCYT/H4/RFEsenurAQX+iksURcyZMwcA0N/fP2E6FYxc5RfdAaH+cIitJ4OZXbPUWkIIIYQQQgghperiiy/e64q/r3zlK/r2jY2No1b2BYNBMMYmXWcMAA488EBs3759Rl+L0ex2O9xu95jnp6GhYcb2qTSNjY3A8PjGSFM9B7W1tWhsbKy4z9VMmqlzTYb+hnHOsXPnTqObMqvefPNNrFmzBtdeey1+8IMfTLjteL8XGF7UUE0efvhhXHXVVfjf//1fXH755VPef7Z+M6WiPwMh0yB4F4E5mqD0vgWlcx1U9zyIgcPApLFrGKiqiv7+fqiqipqaGiroOoMo8Fd8tbW18Hg8iEajaGtrwwEHHDBqG67koQ5shBreBmYPQGw5kQJ+hBCyh7a2Njz11FOYN28ezjzzzAm3HRwcxD333DPq/gsvvBAtLS1FbKXxPvjgA7z00ks46qijsHLlyknts27dOmzevBlNTU047bTTKr6ulCzLeO6557B7924sXrwYJ5988oQzWd96661RtVQsFguuueaaWWht8SWTSTzzzDMIBoNYvnw5jj766KLsU+4GBgbwzDPPIJ1O4/jjj8fSpUsn3P7ee+/VB0w0Bx54ID71qU8VuaXGCofDePTRR8EYw+c///lJ7bN792688MILEEURp5xyCpqbm4veTqN1dnbi8ccfR1NTE84777wJt43FYvjDH/4w6v5zzz0X8+fPL2IrSbk79thj8cQTTxTc9+KLL+LQQw+F3W4HhscCFEWBJI0/hLhx48aK/F4ee+yxeOmll3DTTTfp97344os45phj9Nucc6iqqk8+n8w+layxsRHz58/HSy+9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hNplYKLZ6KYRQkhF+M1vfoNcLocdO3ZAFEWsXbsWNpsNV199NQCgq6sLN9xwAw499FC0tLTg6aefxpVXXonVq1fDYrHg0UcfRTKZ3GttwXKWSCTw+9//HhhOf/nWW29h7dq1aG5uxkUXXQQA2LBhA2644QZceumlsNvt+MIXvoB7770XJ5xwAi666CK88sor6Ovrw49+9CODX03xfPe738WTTz6J1atX45RTTsFf//pXNDc349prr9W3eeaZZ7B27Vpcc801AIBrr70Wbrcby5cvx8DAAP7f//t/OO200/Dv//7vBr6SmfHLX/4Sxx13HM4++2wceuih+NOf/oQzzjijIIh39913o62tDZdccsmk96kkgiDgN7/5DS688EKEQiH4fD787//+L/7jP/4DS5cu1bf7z//8T6xYsQKf+tSnEA6H8elPfxrHHXcc5s6diw0bNuDJJ5/Er371KzQ1NRn6eorp4YcfRmdnJ9avX49YLKav7v785z8Pt9sNDKc8/c///E8cdthhCAQCuPXWW3Hdddfho48+Qj6fx+9//3v89re/1VcAVqLf/e53SCaT2LJlC5LJJNauXQtJkvC1r30NGJ7McsMNN2DRokWYP38+XnrpJVx++eVYvXo1HA4H/va3vyEYDOLJJ580+qUQQgghhBADUOCPVCQmmiH6DoRQswRqaMtQwCWyDULNEgg1yygAOEWCMLQ4mFb8Td1QwG/rcMBPgeBdDKF2f/oMEkLIDNu9ezey2SxOPvlkAEBbW1vBoLDf78f111+PlpYWAMANN9yAU089FX//+98Rj8fx7W9/GxdccAEslsr9+6woil7r7rLLLgOGz5P2Ow8AS5cuxfXXXw+HwwEMp4p76aWXcN9992Hz5s0477zz8JnPfAZ1dXUGvYriCwQCeO+99/DnP/8Z7e3tuPbaa3HFFVfAZvskhfyKFSv0oB8APP/883jmmWfw5ptvorm5GX/7299w4oknGvQKZtaBBx6Ijz76CPfddx8GBwfxs5/9DBdddFHBxLAzzjgDoVBoSvtUmrPPPhvvvfceHnnkEaTTaTz00EM45ZRTCra58sorMW/ePADAsmXL8MYbb+CRRx7Btm3bsHr1atx+++2YP3++Qa9gdvT29qKtrQ2LFy/G4sWL9b9Jsizr21x//fUFaYxvuOEGHH300fj73/8OQRDw+uuvFz3N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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(1, 3, figsize=(18, 5.5))\n", + "titles = [\n", + " \"Function generation\\n(angle pairs)\",\n", + " \"Path generation\\n(points)\",\n", + " \"Motion generation\\n(poses)\",\n", + "]\n", + "\n", + "# --- Panel 1: Function generation ---\n", + "ax = axes[0]\n", + "plot_static_linkage(linkage_f, ax, loci_f, show_legend=False, show_labels=False,\n", + " show_loci=True, n_ghosts=12)\n", + "for t2, t4 in angle_pairs:\n", + " ax.annotate(f\"{math.degrees(t2):.0f}\\u00b0\\u2192{math.degrees(t4):.0f}\\u00b0\",\n", + " xy=(0.05, 0.95 - angle_pairs.index((t2, t4)) * 0.08),\n", + " xycoords=\"axes fraction\", fontsize=9,\n", + " color=COLORS[\"precision\"], fontweight=\"bold\")\n", + "\n", + "# --- Panel 2: Path generation ---\n", + "ax = axes[1]\n", + "if loci_p:\n", + " plot_static_linkage(linkage_p, ax, loci_p, show_legend=False, show_labels=False,\n", + " show_loci=True, n_ghosts=12)\n", + " for i, pt in enumerate(precision_points):\n", + " ax.plot(*pt, \"o\", color=COLORS[\"precision\"], markersize=10, zorder=5)\n", + " ax.annotate(f\"P{i+1}\", pt, textcoords=\"offset points\",\n", + " xytext=(6, 6), fontsize=10, color=COLORS[\"precision\"],\n", + " fontweight=\"bold\")\n", + "\n", + "# --- Panel 3: Motion generation ---\n", + "ax = axes[2]\n", + "if loci_m:\n", + " plot_static_linkage(linkage_m, ax, loci_m, show_legend=False, show_labels=False,\n", + " show_loci=True, n_ghosts=12)\n", + " for pose in poses:\n", + " draw_pose_arrow(ax, pose, length=0.4)\n", + "else:\n", + " ax.text(0.5, 0.5, \"No simulatable\\nsolution found\",\n", + " transform=ax.transAxes, ha=\"center\", va=\"center\", fontsize=12)\n", + "\n", + "for ax, title in zip(axes, titles, strict=False):\n", + " ax.set_aspect(\"equal\")\n", + " ax.set_title(title, fontsize=12)\n", + " ax.grid(True, alpha=0.3)\n", + "\n", + "fig.suptitle(\"The Three Classical Synthesis Problems\",\n", + " fontsize=15, fontweight=\"bold\", y=1.02)\n", + "plt.tight_layout()\n", + "plt.show()" + ] }, { "cell_type": "markdown", diff --git a/src/pylinkage/optimization/mixed_variable.py b/src/pylinkage/optimization/mixed_variable.py index e69d25c..d8401ed 100644 --- a/src/pylinkage/optimization/mixed_variable.py +++ b/src/pylinkage/optimization/mixed_variable.py @@ -240,14 +240,16 @@ def _do( else: raise ValueError(f"Unknown algorithm: {config.algorithm}") - # Run optimization - result = minimize( - problem, - algo, - ("n_gen", config.n_generations), - seed=config.seed, - verbose=config.verbose, - ) + # Run optimization. Infeasible candidates score +inf by design, and + # pymoo's crowding distance then computes inf - inf: expected, not a bug. + with np.errstate(invalid="ignore"): + result = minimize( + problem, + algo, + ("n_gen", config.n_generations), + seed=config.seed, + verbose=config.verbose, + ) # Extract results from .collections.pareto import ParetoFront, ParetoSolution diff --git a/src/pylinkage/optimization/multi_objective.py b/src/pylinkage/optimization/multi_objective.py index d7156f6..da37a7f 100644 --- a/src/pylinkage/optimization/multi_objective.py +++ b/src/pylinkage/optimization/multi_objective.py @@ -387,15 +387,17 @@ def transmission_penalty(loci, linkage, **kwargs): else: raise OptimizationError(f"Unknown algorithm: {algorithm}. Use 'nsga2' or 'nsga3'.") - # Run optimization + # Run optimization. Infeasible candidates score +inf by design, and + # pymoo's crowding distance then computes inf - inf: expected, not a bug. try: - result = minimize( - problem.problem, - algo, - ("n_gen", n_generations), - seed=seed, - verbose=verbose, - ) + with np.errstate(invalid="ignore"): + result = minimize( + problem.problem, + algo, + ("n_gen", n_generations), + seed=seed, + verbose=verbose, + ) finally: problem.close() diff --git a/src/pylinkage/optimization/scipy_optimize.py b/src/pylinkage/optimization/scipy_optimize.py index a3138d7..6c77679 100644 --- a/src/pylinkage/optimization/scipy_optimize.py +++ b/src/pylinkage/optimization/scipy_optimize.py @@ -165,21 +165,23 @@ def objective(x: np.ndarray) -> float: from scipy.optimize import differential_evolution - # Run differential evolution - result = differential_evolution( - objective, - bounds=scipy_bounds, - strategy=strategy, - maxiter=maxiter, - popsize=popsize, - tol=tol, - mutation=mutation, - recombination=recombination, - seed=seed, - workers=workers, - disp=verbose, - **kwargs, - ) + # An unbuildable candidate scores +inf by design; the final polish's + # finite differences then compute inf - inf, which is only noise here. + with np.errstate(invalid="ignore"): + result = differential_evolution( + objective, + bounds=scipy_bounds, + strategy=strategy, + maxiter=maxiter, + popsize=popsize, + tol=tol, + mutation=mutation, + recombination=recombination, + seed=seed, + workers=workers, + disp=verbose, + **kwargs, + ) # Convert result best_score = -result.fun if order_relation is max else result.fun @@ -302,18 +304,21 @@ def callback(x: np.ndarray, f: float, context: int) -> bool: ) return False - result = dual_annealing( - objective, - bounds=scipy_bounds, - maxiter=maxiter, - initial_temp=initial_temp, - restart_temp_ratio=restart_temp_ratio, - visit=visit, - accept=accept, - seed=seed, - callback=callback, - **kwargs, - ) + # An unbuildable candidate scores +inf by design; the local search's + # finite differences then compute inf - inf, which is only noise here. + with np.errstate(invalid="ignore"): + result = dual_annealing( + objective, + bounds=scipy_bounds, + maxiter=maxiter, + initial_temp=initial_temp, + restart_temp_ratio=restart_temp_ratio, + visit=visit, + accept=accept, + seed=seed, + callback=callback, + **kwargs, + ) if verbose: print() @@ -441,16 +446,18 @@ def objective(x: np.ndarray) -> float: from scipy.optimize import minimize - # Run minimize - result = minimize( - objective, - x0=np.array(x0), - method=method, - bounds=scipy_bounds, - tol=tol, - options=options if options else None, - **kwargs, - ) + # An unbuildable candidate scores +inf by design; a gradient method's + # finite differences then compute inf - inf, which is only noise here. + with np.errstate(invalid="ignore"): + result = minimize( + objective, + x0=np.array(x0), + method=method, + bounds=scipy_bounds, + tol=tol, + options=options if options else None, + **kwargs, + ) # Convert result best_score = -result.fun if order_relation is max else result.fun diff --git a/src/pylinkage/symbolic/solver.py b/src/pylinkage/symbolic/solver.py index cecc21e..f4d5d91 100644 --- a/src/pylinkage/symbolic/solver.py +++ b/src/pylinkage/symbolic/solver.py @@ -54,6 +54,15 @@ def solve_linkage_symbolically( return trajectories +def _rationalize(expr: sp.Expr) -> sp.Expr: + """Replace every float by the rational it stands for, to 1e-10. + + The Groebner basis needs exact coefficients, and ``solve_linkage_symbolically`` + leaves rounding noise such as ``85.3312500000001`` on the ones it simplifies. + """ + return sp.nsimplify(expr, rational=True, tolerance=1e-10) + + def eliminate_theta( x_expr: sp.Expr, y_expr: sp.Expr, @@ -67,8 +76,12 @@ def eliminate_theta( algebraic equation of the coupler curve. Uses the substitution cos(theta) = c, sin(theta) = s with the - constraint c^2 + s^2 = 1, then eliminates c and s using - Groebner basis. + constraint c^2 + s^2 = 1. Each square root ``sqrt(R)`` of the + parametrization becomes a symbol ``r`` with the constraint + ``r^2 = R``, so the system is polynomial; a Groebner basis then + eliminates c, s and every r. The curve found is the full algebraic + curve: both signs of every root, hence both assembly branches of the + joint, lie on it. Args: x_expr: X coordinate as a function of theta. @@ -76,7 +89,15 @@ def eliminate_theta( theta: The angle symbol to eliminate. Default uses global theta. Returns: - Polynomial in x and y, or None if elimination fails. + Polynomial in x and y (and in the link lengths kept symbolic), or + None if elimination fails. Floating-point coefficients are read as + the rationals they stand for (to 1e-10), so the polynomial is exact. + + Note: + The joint at the end of the first dyad has a single square root + in its parametrization and its curve comes out in a fraction of a + second. A joint built on that one has a root inside a root, and + the Groebner basis computation may then run for minutes. Example: >>> theta = sp.Symbol('theta') @@ -88,45 +109,61 @@ def eliminate_theta( if theta is None: theta = default_theta - # Create symbols for x, y, c (cos), s (sin) x, y = sp.symbols("x y", real=True) c, s = sp.symbols("c s", real=True) - # Substitute cos(theta) -> c, sin(theta) -> s - x_sub = x_expr.rewrite(sp.cos, sp.sin).subs( - [ - (sp.cos(theta), c), - (sp.sin(theta), s), - ] + # cos(theta) -> c, sin(theta) -> s; expand_trig first so that + # cos(2*theta) and the like are polynomial in c and s too. + trig = {sp.cos(theta): c, sp.sin(theta): s} + x_sub = sp.expand_trig(_rationalize(x_expr)).subs(trig) + y_sub = sp.expand_trig(_rationalize(y_expr)).subs(trig) + if theta in x_sub.free_symbols or theta in y_sub.free_symbols: + return None + + # sqrt(R) -> r with r**2 == R, innermost roots first + radicals: dict[sp.Expr, sp.Symbol] = {} + + def is_root(expr: sp.Basic) -> bool: + return bool(expr.is_Pow) and expr.exp.is_Rational and expr.exp.q == 2 + + def as_symbol(expr: sp.Pow) -> sp.Expr: + if expr.base not in radicals: + radicals[expr.base] = sp.Symbol(f"_r{len(radicals)}", real=True) + return radicals[expr.base] ** int(2 * expr.exp) + + x_sub = x_sub.replace(is_root, as_symbol) + y_sub = y_sub.replace(is_root, as_symbol) + + equations = [ + sp.numer(sp.together(x - x_sub)), + sp.numer(sp.together(y - y_sub)), + c**2 + s**2 - 1, + *(sp.numer(sp.together(r**2 - radicand)) for radicand, r in radicals.items()), + ] + roots = list(radicals.values()) + parameters = sorted( + (x_sub.free_symbols | y_sub.free_symbols) - {c, s, x, y, *roots}, + key=str, ) - y_sub = y_expr.rewrite(sp.cos, sp.sin).subs( - [ - (sp.cos(theta), c), - (sp.sin(theta), s), - ] - ) - - # Create polynomial equations - eq1 = x - x_sub # x = x_expr - eq2 = y - y_sub # y = y_expr - eq3 = c**2 + s**2 - 1 # Pythagorean identity + keep = {x, y, *parameters} try: - # Compute Groebner basis to eliminate c and s - # Using lex order with c, s first means they will be eliminated - basis = sp.groebner([eq1, eq2, eq3], c, s, x, y, order="lex") - - # Find polynomials that only contain x and y - for poly in basis: - free = poly.free_symbols - if c not in free and s not in free and (x in free or y in free): - return poly - + # Lex order eliminates the leading generators: s and c first (the + # parametrization is linear in s, so they go cheaply), then the + # roots. x, y and the symbolic lengths are what remains. + basis = sp.groebner(equations, s, c, *roots, x, y, *parameters, order="lex") except Exception: # Groebner basis computation can fail for complex expressions - pass - - return None + return None + + curves = [ + poly + for poly in basis + if poly.free_symbols <= keep and (x in poly.free_symbols or y in poly.free_symbols) + ] + if not curves: + return None + return min(curves, key=lambda poly: sp.Poly(poly, x, y).total_degree()) def compute_trajectory_numeric( diff --git a/tests/symbolic/test_solver.py b/tests/symbolic/test_solver.py index 0c93bda..288a7a2 100644 --- a/tests/symbolic/test_solver.py +++ b/tests/symbolic/test_solver.py @@ -59,33 +59,71 @@ def test_simplify_option(self): assert "B" in traj2 +def _same_curve(result, expected): + """True when *result* and *expected* are the same polynomial up to a constant factor.""" + x, y = sp.symbols("x y", real=True) + return sp.Poly(result, x, y).monic() == sp.Poly(expected, x, y).monic() + + class TestEliminateTheta: """Tests for eliminate_theta function.""" def test_circle_parametric(self): - """Test eliminating theta from circle parametric equations.""" - # x = cos(theta), y = sin(theta) -> x^2 + y^2 = 1 - x_expr = sp.cos(theta) - y_expr = sp.sin(theta) - - result = eliminate_theta(x_expr, y_expr, theta) - - # Result may be None if Groebner basis fails (acceptable) - # If it succeeds, verify it's correct - if result is not None: - x, y = sp.symbols("x y") - # Substitute to verify: x^2 + y^2 should equal 1 - check = result.subs([(x, sp.Rational(3, 5)), (y, sp.Rational(4, 5))]) - # Try to convert to float, but handle case where result still has symbols - try: - check_val = float(check.evalf()) - assert check_val == pytest.approx(0.0, abs=1e-10) - except (TypeError, AttributeError): - # Result might still contain symbols if Groebner didn't fully eliminate - pytest.skip("Groebner result still contains symbols") - else: - # Groebner basis can fail for some expressions - this is acceptable - pytest.skip("Groebner basis computation did not produce implicit curve") + """x = cos(theta), y = sin(theta) -> x^2 + y^2 - 1.""" + x, y = sp.symbols("x y", real=True) + result = eliminate_theta(sp.cos(theta), sp.sin(theta), theta) + assert result is not None + assert _same_curve(result, x**2 + y**2 - 1) + + def test_ellipse_with_float_coefficients(self): + """Floats are read as the rationals they stand for: the result is exact.""" + x, y = sp.symbols("x y", real=True) + result = eliminate_theta(2.0 * sp.cos(theta) + 1.0, 3.0 * sp.sin(theta), theta) + assert result is not None + assert _same_curve(result, 9 * (x - 1) ** 2 + 4 * y**2 - 36) + + def test_multiple_angle(self): + """cos(2 theta) is polynomial in cos and sin: x = 1 - 2 y^2.""" + x, y = sp.symbols("x y", real=True) + result = eliminate_theta(sp.cos(2 * theta), sp.sin(theta), theta) + assert result is not None + assert _same_curve(result, x + 2 * y**2 - 1) + + @pytest.mark.parametrize( + ("lengths", "expected"), + [ + ((4, 1, 3, 3), "(x - 4)**2 + y**2 - 9"), + ((4.5, 1.25, 3.1, 2.9), "(x - 4.5)**2 + y**2 - 2.9**2"), + ], + ) + def test_fourbar_rocker_tip_is_a_circle(self, lengths, expected): + """The rocker tip's parametrization has a square root; its curve is the rocker circle.""" + from pylinkage.symbolic import fourbar_symbolic + + ground, crank, coupler, rocker = lengths + linkage = fourbar_symbolic( + ground_length=ground, + crank_length=crank, + coupler_length=coupler, + rocker_length=rocker, + ) + x_expr, y_expr = solve_linkage_symbolically(linkage)["C"] + + result = eliminate_theta(x_expr, y_expr) + + assert result is not None + x, y = sp.symbols("x y", real=True) + assert _same_curve(result, sp.nsimplify(sp.sympify(expected, locals={"x": x, "y": y}))) + # and the numeric trajectory lies on it + curve = sp.lambdify((x, y), result) + positions = compute_trajectory_numeric(linkage, {}, np.linspace(0.1, 6.0, 12))["C"] + for px, py in positions: + if not math.isnan(px): + assert curve(px, py) == pytest.approx(0.0, abs=1e-9) + + def test_unknown_function_of_theta_gives_none(self): + """A parametrization that is not polynomial in cos and sin is refused, not mangled.""" + assert eliminate_theta(sp.exp(theta), sp.sin(theta), theta) is None class TestComputeTrajectoryNumeric: diff --git a/tests/test_notebook_outputs.py b/tests/test_notebook_outputs.py new file mode 100644 index 0000000..ac7f6b9 --- /dev/null +++ b/tests/test_notebook_outputs.py @@ -0,0 +1,44 @@ +"""The committed tutorial notebooks must not carry outputs from a private machine. + +A warning printed while a notebook was executed embeds the path of the file +that raised it, and a path under a home directory then ships with the +notebook to GitHub and the rendered docs. +""" + +import json +import re +from pathlib import Path + +import pytest + +NOTEBOOKS = sorted((Path(__file__).resolve().parents[1] / "docs" / "notebooks").glob("*.ipynb")) + +# A home directory on Linux, macOS or Windows. +LOCAL_PATH = re.compile(r"(/home/|/Users/|[A-Za-z]:\\+Users\\)") + + +def _output_texts(cell: dict) -> list[str]: + texts = [] + for output in cell.get("outputs", ()): + if "text" in output: + texts.append("".join(output["text"])) + for mime, payload in output.get("data", {}).items(): + if mime.startswith("text/"): + texts.append("".join(payload)) + if output.get("output_type") == "error": + texts.append("\n".join(output.get("traceback", ()))) + return texts + + +@pytest.mark.parametrize("notebook", NOTEBOOKS, ids=lambda path: path.name) +def test_outputs_do_not_name_a_local_path(notebook: Path) -> None: + cells = json.loads(notebook.read_text(encoding="utf-8"))["cells"] + leaks = [ + f"cell {index}: {line}" + for index, cell in enumerate(cells) + if cell["cell_type"] == "code" + for text in _output_texts(cell) + for line in text.splitlines() + if LOCAL_PATH.search(line) + ] + assert not leaks, "\n".join(leaks)